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", 27);
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", 29);
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", 31);
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", 33);
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", 35);
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", 37);
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", 39);
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", 41);
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", 43);
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", 45);
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", 47);
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", 49);
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", 51);
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", 53);
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", 55);
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#cc_paths for (self: ModelBuilder): Array[String] */
610 val
* abstract_compiler__ModelBuilder__cc_paths(val
* self
) {
611 val
* var
/* : Array[String] */;
612 val
* var1
/* : Array[String] */;
613 var1
= self
->attrs
[COLOR_abstract_compiler__ModelBuilder___64dcc_paths
].val
; /* @cc_paths on <self:ModelBuilder> */
615 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @cc_paths");
616 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 70);
623 /* method abstract_compiler#ModelBuilder#cc_paths for (self: Object): Array[String] */
624 val
* VIRTUAL_abstract_compiler__ModelBuilder__cc_paths(val
* self
) {
625 val
* var
/* : Array[String] */;
626 val
* var1
/* : Array[String] */;
627 var1
= abstract_compiler__ModelBuilder__cc_paths(self
);
632 /* method abstract_compiler#ModelBuilder#cc_paths= for (self: ModelBuilder, Array[String]) */
633 void abstract_compiler__ModelBuilder__cc_paths_61d(val
* self
, val
* p0
) {
634 self
->attrs
[COLOR_abstract_compiler__ModelBuilder___64dcc_paths
].val
= p0
; /* @cc_paths on <self:ModelBuilder> */
637 /* method abstract_compiler#ModelBuilder#cc_paths= for (self: Object, Array[String]) */
638 void VIRTUAL_abstract_compiler__ModelBuilder__cc_paths_61d(val
* self
, val
* p0
) {
639 abstract_compiler__ModelBuilder__cc_paths_61d(self
, p0
);
642 /* method abstract_compiler#ModelBuilder#init for (self: ModelBuilder, Model, ToolContext) */
643 void abstract_compiler__ModelBuilder__init(val
* self
, val
* p0
, val
* p1
) {
644 val
* var_model
/* var model: Model */;
645 val
* var_toolcontext
/* var toolcontext: ToolContext */;
647 val
* var
/* : String */;
648 char* var1
/* : NativeString */;
649 long var2
/* : Int */;
650 val
* var3
/* : String */;
651 val
* var4
/* : String */;
652 val
* var_path_env
/* var path_env: String */;
653 short int var5
/* : Bool */;
654 short int var6
/* : Bool */;
655 val
* var7
/* : Array[Object] */;
656 long var8
/* : Int */;
657 val
* var_
/* var : Array[Object] */;
658 static val
* varonce9
;
659 val
* var10
/* : String */;
660 char* var11
/* : NativeString */;
661 long var12
/* : Int */;
662 val
* var13
/* : String */;
663 static val
* varonce14
;
664 val
* var15
/* : String */;
665 char* var16
/* : NativeString */;
666 long var17
/* : Int */;
667 val
* var18
/* : String */;
668 val
* var19
/* : String */;
669 val
* var_libname
/* var libname: String */;
670 short int var20
/* : Bool */;
671 val
* var21
/* : Array[String] */;
672 val
* var22
/* : Array[Object] */;
673 long var23
/* : Int */;
674 val
* var_24
/* var : Array[Object] */;
675 static val
* varonce25
;
676 val
* var26
/* : String */;
677 char* var27
/* : NativeString */;
678 long var28
/* : Int */;
679 val
* var29
/* : String */;
680 val
* var30
/* : Sys */;
681 val
* var31
/* : String */;
682 val
* var32
/* : String */;
683 static val
* varonce33
;
684 val
* var34
/* : String */;
685 char* var35
/* : NativeString */;
686 long var36
/* : Int */;
687 val
* var37
/* : String */;
688 val
* var38
/* : String */;
689 val
* var_libname39
/* var libname: String */;
690 short int var40
/* : Bool */;
691 val
* var41
/* : Array[String] */;
692 val
* var42
/* : String */;
693 val
* var43
/* : Array[String] */;
694 short int var44
/* : Bool */;
695 val
* var45
/* : null */;
696 static val
* varonce46
;
697 val
* var47
/* : String */;
698 char* var48
/* : NativeString */;
699 long var49
/* : Int */;
700 val
* var50
/* : String */;
701 short int var51
/* : Bool */;
702 val
* var52
/* : OptionBool */;
703 val
* var53
/* : nullable Object */;
704 short int var54
/* : Bool */;
705 short int var_55
/* var : Bool */;
706 val
* var56
/* : OptionBool */;
707 val
* var57
/* : nullable Object */;
708 short int var58
/* : Bool */;
709 static val
* varonce59
;
710 val
* var60
/* : String */;
711 char* var61
/* : NativeString */;
712 long var62
/* : Int */;
713 val
* var63
/* : String */;
714 long var64
/* : Int */;
715 val
* var65
/* : Array[String] */;
716 val
* var66
/* : OptionArray */;
717 val
* var67
/* : nullable Object */;
718 static val
* varonce68
;
719 val
* var69
/* : String */;
720 char* var70
/* : NativeString */;
721 long var71
/* : Int */;
722 val
* var72
/* : String */;
723 val
* var73
/* : String */;
724 short int var74
/* : Bool */;
725 short int var75
/* : Bool */;
726 val
* var76
/* : Array[String] */;
727 char var77
/* : Char */;
728 val
* var78
/* : Array[String] */;
729 val
* var79
/* : Pattern */;
731 var_toolcontext
= p1
;
732 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__ModelBuilder__init
]))(self
, p0
, p1
) /* init on <self:ModelBuilder>*/;
738 var3
= string__NativeString__to_s_with_length(var1
, var2
);
742 var4
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_environ__String__environ
]))(var
) /* environ on <var:String>*/;
744 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>*/;
747 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
749 ((void (*)(val
*, long))(var7
->class->vft
[COLOR_array__Array__with_capacity
]))(var7
, var8
) /* with_capacity on <var7:Array[Object]>*/;
756 var13
= string__NativeString__to_s_with_length(var11
, var12
);
760 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var10
) /* add on <var_:Array[Object]>*/;
761 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var_path_env
) /* add on <var_:Array[Object]>*/;
767 var18
= string__NativeString__to_s_with_length(var16
, var17
);
771 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var15
) /* add on <var_:Array[Object]>*/;
772 var19
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
774 var20
= ((short int (*)(val
*))(var_libname
->class->vft
[COLOR_file__String__file_exists
]))(var_libname
) /* file_exists on <var_libname:String>*/;
776 var21
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ModelBuilder__cc_paths
]))(self
) /* cc_paths on <self:ModelBuilder>*/;
777 ((void (*)(val
*, val
*))(var21
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var21
, var_libname
) /* add on <var21:Array[String]>*/;
782 var22
= NEW_array__Array(&type_array__Arraykernel__Object
);
784 ((void (*)(val
*, long))(var22
->class->vft
[COLOR_array__Array__with_capacity
]))(var22
, var23
) /* with_capacity on <var22:Array[Object]>*/;
791 var29
= string__NativeString__to_s_with_length(var27
, var28
);
795 ((void (*)(val
*, val
*))(var_24
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_24
, var26
) /* add on <var_24:Array[Object]>*/;
796 var30
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__sys
]))(self
) /* sys on <self:ModelBuilder>*/;
797 var31
= ((val
* (*)(val
*))(var30
->class->vft
[COLOR_string__Sys__program_name
]))(var30
) /* program_name on <var30:Sys>*/;
798 var32
= ((val
* (*)(val
*))(var31
->class->vft
[COLOR_file__String__dirname
]))(var31
) /* dirname on <var31:String>*/;
799 ((void (*)(val
*, val
*))(var_24
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_24
, var32
) /* add on <var_24:Array[Object]>*/;
805 var37
= string__NativeString__to_s_with_length(var35
, var36
);
809 ((void (*)(val
*, val
*))(var_24
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_24
, var34
) /* add on <var_24:Array[Object]>*/;
810 var38
= ((val
* (*)(val
*))(var_24
->class->vft
[COLOR_string__Object__to_s
]))(var_24
) /* to_s on <var_24:Array[Object]>*/;
811 var_libname39
= var38
;
812 var40
= ((short int (*)(val
*))(var_libname39
->class->vft
[COLOR_file__String__file_exists
]))(var_libname39
) /* file_exists on <var_libname39:String>*/;
814 var41
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ModelBuilder__cc_paths
]))(self
) /* cc_paths on <self:ModelBuilder>*/;
815 var42
= ((val
* (*)(val
*))(var_libname39
->class->vft
[COLOR_file__String__simplify_path
]))(var_libname39
) /* simplify_path on <var_libname39:String>*/;
816 ((void (*)(val
*, val
*))(var41
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var41
, var42
) /* add on <var41:Array[String]>*/;
819 var43
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ModelBuilder__cc_paths
]))(self
) /* cc_paths on <self:ModelBuilder>*/;
820 var44
= ((short int (*)(val
*))(var43
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var43
) /* is_empty on <var43:Array[String]>*/;
826 var48
= "Cannot determine the nit clib path. define envvar NIT_DIR.";
828 var50
= string__NativeString__to_s_with_length(var48
, var49
);
832 ((void (*)(val
*, val
*, val
*))(var_toolcontext
->class->vft
[COLOR_toolcontext__ToolContext__error
]))(var_toolcontext
, var45
, var47
) /* error on <var_toolcontext:ToolContext>*/;
835 var52
= ((val
* (*)(val
*))(var_toolcontext
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_stacktrace
]))(var_toolcontext
) /* opt_no_stacktrace on <var_toolcontext:ToolContext>*/;
836 var53
= ((val
* (*)(val
*))(var52
->class->vft
[COLOR_opts__Option__value
]))(var52
) /* value on <var52:OptionBool>*/;
837 var54
= ((struct instance_kernel__Bool
*)var53
)->value
; /* autounbox from nullable Object to Bool */;
840 var56
= ((val
* (*)(val
*))(var_toolcontext
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_stacktrace
]))(var_toolcontext
) /* opt_stacktrace on <var_toolcontext:ToolContext>*/;
841 var57
= ((val
* (*)(val
*))(var56
->class->vft
[COLOR_opts__Option__value
]))(var56
) /* value on <var56:OptionBool>*/;
842 var58
= ((struct instance_kernel__Bool
*)var57
)->value
; /* autounbox from nullable Object to Bool */;
851 var61
= "Cannot use --nit-stacktrace when --no-stacktrace is activated";
853 var63
= string__NativeString__to_s_with_length(var61
, var62
);
857 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__print
]))(self
, var60
) /* print on <self:ModelBuilder>*/;
859 ((void (*)(val
*, long))(self
->class->vft
[COLOR_kernel__Object__exit
]))(self
, var64
) /* exit on <self:ModelBuilder>*/;
862 var65
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ModelBuilder__cc_paths
]))(self
) /* cc_paths on <self:ModelBuilder>*/;
863 var66
= ((val
* (*)(val
*))(var_toolcontext
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_cc_path
]))(var_toolcontext
) /* opt_cc_path on <var_toolcontext:ToolContext>*/;
864 var67
= ((val
* (*)(val
*))(var66
->class->vft
[COLOR_opts__Option__value
]))(var66
) /* value on <var66:OptionArray>*/;
865 ((void (*)(val
*, val
*))(var65
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var65
, var67
) /* append on <var65:Array[String]>*/;
869 var70
= "NIT_CC_PATH";
871 var72
= string__NativeString__to_s_with_length(var70
, var71
);
875 var73
= ((val
* (*)(val
*))(var69
->class->vft
[COLOR_environ__String__environ
]))(var69
) /* environ on <var69:String>*/;
876 var_path_env
= var73
;
877 var74
= ((short int (*)(val
*))(var_path_env
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var_path_env
) /* is_empty on <var_path_env:String>*/;
880 var76
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ModelBuilder__cc_paths
]))(self
) /* cc_paths on <self:ModelBuilder>*/;
882 var79
= BOX_kernel__Char(var77
); /* autobox from Char to Pattern */
883 var78
= ((val
* (*)(val
*, val
*))(var_path_env
->class->vft
[COLOR_string_search__String__split_with
]))(var_path_env
, var79
) /* split_with on <var_path_env:String>*/;
884 ((void (*)(val
*, val
*))(var76
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var76
, var78
) /* append on <var76:Array[String]>*/;
889 /* method abstract_compiler#ModelBuilder#init for (self: Object, Model, ToolContext) */
890 void VIRTUAL_abstract_compiler__ModelBuilder__init(val
* self
, val
* p0
, val
* p1
) {
891 abstract_compiler__ModelBuilder__init(self
, p0
, p1
);
894 /* method abstract_compiler#ModelBuilder#write_and_make for (self: ModelBuilder, AbstractCompiler) */
895 void abstract_compiler__ModelBuilder__write_and_make(val
* self
, val
* p0
) {
896 val
* var_compiler
/* var compiler: AbstractCompiler */;
897 val
* var
/* : MModule */;
898 val
* var_mainmodule
/* var mainmodule: MModule */;
899 long var1
/* : Int */;
900 long var_time0
/* var time0: Int */;
901 val
* var2
/* : ToolContext */;
903 val
* var3
/* : String */;
904 char* var4
/* : NativeString */;
905 long var5
/* : Int */;
906 val
* var6
/* : String */;
907 long var7
/* : Int */;
908 val
* var8
/* : ToolContext */;
909 val
* var9
/* : OptionString */;
910 val
* var10
/* : nullable Object */;
911 val
* var_compile_dir
/* var compile_dir: nullable String */;
912 val
* var11
/* : null */;
913 short int var12
/* : Bool */;
914 static val
* varonce13
;
915 val
* var14
/* : String */;
916 char* var15
/* : NativeString */;
917 long var16
/* : Int */;
918 val
* var17
/* : String */;
919 val
* var18
/* : ToolContext */;
920 val
* var19
/* : OptionBool */;
921 val
* var20
/* : nullable Object */;
922 short int var21
/* : Bool */;
923 static val
* varonce22
;
924 val
* var23
/* : String */;
925 char* var24
/* : NativeString */;
926 long var25
/* : Int */;
927 val
* var26
/* : String */;
928 val
* var_orig_dir
/* var orig_dir: String */;
929 val
* var27
/* : ToolContext */;
930 val
* var28
/* : OptionString */;
931 val
* var29
/* : nullable Object */;
932 val
* var_outname
/* var outname: nullable String */;
933 val
* var30
/* : null */;
934 short int var31
/* : Bool */;
935 val
* var32
/* : Array[Object] */;
936 long var33
/* : Int */;
937 val
* var_
/* var : Array[Object] */;
938 static val
* varonce34
;
939 val
* var35
/* : String */;
940 char* var36
/* : NativeString */;
941 long var37
/* : Int */;
942 val
* var38
/* : String */;
943 val
* var39
/* : String */;
944 static val
* varonce40
;
945 val
* var41
/* : String */;
946 char* var42
/* : NativeString */;
947 long var43
/* : Int */;
948 val
* var44
/* : String */;
949 val
* var45
/* : String */;
950 val
* var46
/* : String */;
951 val
* var47
/* : String */;
952 val
* var_outpath
/* var outpath: String */;
953 val
* var48
/* : CodeWriter */;
954 val
* var49
/* : CodeFile */;
955 val
* var50
/* : String */;
956 static val
* varonce51
;
957 val
* var52
/* : String */;
958 char* var53
/* : NativeString */;
959 long var54
/* : Int */;
960 val
* var55
/* : String */;
961 val
* var56
/* : String */;
962 val
* var_hfilename
/* var hfilename: String */;
963 val
* var57
/* : Array[Object] */;
964 long var58
/* : Int */;
965 val
* var_59
/* var : Array[Object] */;
966 static val
* varonce60
;
967 val
* var61
/* : String */;
968 char* var62
/* : NativeString */;
969 long var63
/* : Int */;
970 val
* var64
/* : String */;
971 static val
* varonce65
;
972 val
* var66
/* : String */;
973 char* var67
/* : NativeString */;
974 long var68
/* : Int */;
975 val
* var69
/* : String */;
976 static val
* varonce70
;
977 val
* var71
/* : String */;
978 char* var72
/* : NativeString */;
979 long var73
/* : Int */;
980 val
* var74
/* : String */;
981 val
* var75
/* : String */;
982 val
* var_hfilepath
/* var hfilepath: String */;
983 val
* var76
/* : OFStream */;
984 val
* var_h
/* var h: OFStream */;
985 val
* var77
/* : CodeWriter */;
986 val
* var78
/* : List[String] */;
987 val
* var79
/* : Iterator[nullable Object] */;
988 short int var80
/* : Bool */;
989 val
* var81
/* : nullable Object */;
990 val
* var_l
/* var l: String */;
991 static val
* varonce82
;
992 val
* var83
/* : String */;
993 char* var84
/* : NativeString */;
994 long var85
/* : Int */;
995 val
* var86
/* : String */;
996 val
* var87
/* : CodeWriter */;
997 val
* var88
/* : List[String] */;
998 val
* var89
/* : Iterator[nullable Object] */;
999 short int var90
/* : Bool */;
1000 val
* var91
/* : nullable Object */;
1001 val
* var_l92
/* var l: String */;
1002 static val
* varonce93
;
1003 val
* var94
/* : String */;
1004 char* var95
/* : NativeString */;
1005 long var96
/* : Int */;
1006 val
* var97
/* : String */;
1007 val
* var99
/* : Array[String] */;
1008 val
* var_cfiles
/* var cfiles: Array[String] */;
1009 val
* var100
/* : List[CodeFile] */;
1010 val
* var101
/* : Iterator[nullable Object] */;
1011 short int var102
/* : Bool */;
1012 val
* var103
/* : nullable Object */;
1013 val
* var_f
/* var f: CodeFile */;
1014 long var104
/* : Int */;
1015 long var_i
/* var i: Int */;
1016 val
* var105
/* : null */;
1017 val
* var_hfile
/* var hfile: nullable OFStream */;
1018 long var106
/* : Int */;
1019 long var_count
/* var count: Int */;
1020 val
* var107
/* : Array[Object] */;
1021 long var108
/* : Int */;
1022 val
* var_109
/* var : Array[Object] */;
1023 static val
* varonce110
;
1024 val
* var111
/* : String */;
1025 char* var112
/* : NativeString */;
1026 long var113
/* : Int */;
1027 val
* var114
/* : String */;
1028 val
* var115
/* : String */;
1029 static val
* varonce116
;
1030 val
* var117
/* : String */;
1031 char* var118
/* : NativeString */;
1032 long var119
/* : Int */;
1033 val
* var120
/* : String */;
1034 val
* var121
/* : String */;
1035 val
* var_cfilename
/* var cfilename: String */;
1036 val
* var122
/* : Array[Object] */;
1037 long var123
/* : Int */;
1038 val
* var_124
/* var : Array[Object] */;
1039 static val
* varonce125
;
1040 val
* var126
/* : String */;
1041 char* var127
/* : NativeString */;
1042 long var128
/* : Int */;
1043 val
* var129
/* : String */;
1044 static val
* varonce130
;
1045 val
* var131
/* : String */;
1046 char* var132
/* : NativeString */;
1047 long var133
/* : Int */;
1048 val
* var134
/* : String */;
1049 static val
* varonce135
;
1050 val
* var136
/* : String */;
1051 char* var137
/* : NativeString */;
1052 long var138
/* : Int */;
1053 val
* var139
/* : String */;
1054 val
* var140
/* : String */;
1055 val
* var_cfilepath
/* var cfilepath: String */;
1056 val
* var141
/* : OFStream */;
1057 static val
* varonce142
;
1058 val
* var143
/* : String */;
1059 char* var144
/* : NativeString */;
1060 long var145
/* : Int */;
1061 val
* var146
/* : String */;
1062 static val
* varonce147
;
1063 val
* var148
/* : String */;
1064 char* var149
/* : NativeString */;
1065 long var150
/* : Int */;
1066 val
* var151
/* : String */;
1067 val
* var152
/* : Array[Object] */;
1068 long var153
/* : Int */;
1069 val
* var154
/* : NativeArray[Object] */;
1070 val
* var155
/* : String */;
1071 val
* var156
/* : HashSet[String] */;
1072 val
* var157
/* : Iterator[nullable Object] */;
1073 short int var158
/* : Bool */;
1074 val
* var159
/* : nullable Object */;
1075 val
* var_key
/* var key: String */;
1076 val
* var160
/* : HashMap[String, String] */;
1077 short int var161
/* : Bool */;
1078 short int var162
/* : Bool */;
1079 static val
* varonce163
;
1080 val
* var164
/* : String */;
1081 char* var165
/* : NativeString */;
1082 long var166
/* : Int */;
1083 val
* var167
/* : String */;
1084 val
* var168
/* : Array[Object] */;
1085 long var169
/* : Int */;
1086 val
* var170
/* : NativeArray[Object] */;
1087 val
* var171
/* : String */;
1088 val
* var172
/* : HashMap[String, String] */;
1089 val
* var173
/* : nullable Object */;
1090 static val
* varonce174
;
1091 val
* var175
/* : String */;
1092 char* var176
/* : NativeString */;
1093 long var177
/* : Int */;
1094 val
* var178
/* : String */;
1095 val
* var180
/* : null */;
1096 val
* var_file
/* var file: nullable OFStream */;
1097 val
* var181
/* : Array[CodeWriter] */;
1098 val
* var182
/* : Iterator[nullable Object] */;
1099 short int var183
/* : Bool */;
1100 val
* var184
/* : nullable Object */;
1101 val
* var_vis
/* var vis: CodeWriter */;
1102 val
* var185
/* : CodeWriter */;
1103 short int var186
/* : Bool */;
1104 val
* var188
/* : List[String] */;
1105 long var189
/* : Int */;
1106 val
* var190
/* : List[String] */;
1107 long var191
/* : Int */;
1108 long var192
/* : Int */;
1109 long var194
/* : Int */;
1110 long var_total_lines
/* var total_lines: Int */;
1111 long var195
/* : Int */;
1112 short int var196
/* : Bool */;
1113 short int var198
/* : Bool */;
1114 long var199
/* : Int */;
1115 long var201
/* : Int */;
1116 short int var202
/* : Bool */;
1117 val
* var203
/* : null */;
1118 short int var204
/* : Bool */;
1119 short int var_205
/* var : Bool */;
1120 long var206
/* : Int */;
1121 short int var207
/* : Bool */;
1122 short int var209
/* : Bool */;
1125 const char* var_class_name
;
1126 short int var210
/* : Bool */;
1127 long var211
/* : Int */;
1128 long var212
/* : Int */;
1129 long var214
/* : Int */;
1130 val
* var215
/* : null */;
1131 short int var216
/* : Bool */;
1132 val
* var217
/* : Array[Object] */;
1133 long var218
/* : Int */;
1134 val
* var_219
/* var : Array[Object] */;
1135 static val
* varonce220
;
1136 val
* var221
/* : String */;
1137 char* var222
/* : NativeString */;
1138 long var223
/* : Int */;
1139 val
* var224
/* : String */;
1140 val
* var225
/* : String */;
1141 static val
* varonce226
;
1142 val
* var227
/* : String */;
1143 char* var228
/* : NativeString */;
1144 long var229
/* : Int */;
1145 val
* var230
/* : String */;
1146 val
* var231
/* : nullable Object */;
1147 static val
* varonce232
;
1148 val
* var233
/* : String */;
1149 char* var234
/* : NativeString */;
1150 long var235
/* : Int */;
1151 val
* var236
/* : String */;
1152 val
* var237
/* : String */;
1153 val
* var238
/* : Array[Object] */;
1154 long var239
/* : Int */;
1155 val
* var_240
/* var : Array[Object] */;
1156 static val
* varonce241
;
1157 val
* var242
/* : String */;
1158 char* var243
/* : NativeString */;
1159 long var244
/* : Int */;
1160 val
* var245
/* : String */;
1161 static val
* varonce246
;
1162 val
* var247
/* : String */;
1163 char* var248
/* : NativeString */;
1164 long var249
/* : Int */;
1165 val
* var250
/* : String */;
1166 static val
* varonce251
;
1167 val
* var252
/* : String */;
1168 char* var253
/* : NativeString */;
1169 long var254
/* : Int */;
1170 val
* var255
/* : String */;
1171 val
* var256
/* : String */;
1172 val
* var257
/* : ToolContext */;
1173 static val
* varonce258
;
1174 val
* var259
/* : String */;
1175 char* var260
/* : NativeString */;
1176 long var261
/* : Int */;
1177 val
* var262
/* : String */;
1178 val
* var263
/* : Array[Object] */;
1179 long var264
/* : Int */;
1180 val
* var265
/* : NativeArray[Object] */;
1181 val
* var266
/* : String */;
1182 long var267
/* : Int */;
1183 val
* var268
/* : OFStream */;
1184 static val
* varonce269
;
1185 val
* var270
/* : String */;
1186 char* var271
/* : NativeString */;
1187 long var272
/* : Int */;
1188 val
* var273
/* : String */;
1189 val
* var274
/* : String */;
1190 static val
* varonce275
;
1191 val
* var276
/* : String */;
1192 char* var277
/* : NativeString */;
1193 long var278
/* : Int */;
1194 val
* var279
/* : String */;
1195 val
* var280
/* : Array[Object] */;
1196 long var281
/* : Int */;
1197 val
* var282
/* : NativeArray[Object] */;
1198 val
* var283
/* : String */;
1199 val
* var284
/* : List[String] */;
1200 val
* var285
/* : Iterator[nullable Object] */;
1201 short int var286
/* : Bool */;
1202 val
* var287
/* : nullable Object */;
1203 val
* var_l288
/* var l: String */;
1204 static val
* varonce289
;
1205 val
* var290
/* : String */;
1206 char* var291
/* : NativeString */;
1207 long var292
/* : Int */;
1208 val
* var293
/* : String */;
1209 val
* var295
/* : List[String] */;
1210 val
* var296
/* : Iterator[nullable Object] */;
1211 short int var297
/* : Bool */;
1212 val
* var298
/* : nullable Object */;
1213 val
* var_l299
/* var l: String */;
1214 static val
* varonce300
;
1215 val
* var301
/* : String */;
1216 char* var302
/* : NativeString */;
1217 long var303
/* : Int */;
1218 val
* var304
/* : String */;
1219 val
* var306
/* : null */;
1220 short int var307
/* : Bool */;
1221 val
* var309
/* : ToolContext */;
1222 static val
* varonce310
;
1223 val
* var311
/* : String */;
1224 char* var312
/* : NativeString */;
1225 long var313
/* : Int */;
1226 val
* var314
/* : String */;
1227 long var315
/* : Int */;
1228 val
* var316
/* : Array[Object] */;
1229 long var317
/* : Int */;
1230 val
* var318
/* : NativeArray[Object] */;
1231 val
* var319
/* : Object */;
1232 val
* var320
/* : String */;
1233 long var321
/* : Int */;
1234 val
* var322
/* : Array[Object] */;
1235 long var323
/* : Int */;
1236 val
* var_324
/* var : Array[Object] */;
1237 static val
* varonce325
;
1238 val
* var326
/* : String */;
1239 char* var327
/* : NativeString */;
1240 long var328
/* : Int */;
1241 val
* var329
/* : String */;
1242 val
* var330
/* : String */;
1243 static val
* varonce331
;
1244 val
* var332
/* : String */;
1245 char* var333
/* : NativeString */;
1246 long var334
/* : Int */;
1247 val
* var335
/* : String */;
1248 val
* var336
/* : String */;
1249 val
* var_makename
/* var makename: String */;
1250 val
* var337
/* : Array[Object] */;
1251 long var338
/* : Int */;
1252 val
* var_339
/* var : Array[Object] */;
1253 static val
* varonce340
;
1254 val
* var341
/* : String */;
1255 char* var342
/* : NativeString */;
1256 long var343
/* : Int */;
1257 val
* var344
/* : String */;
1258 static val
* varonce345
;
1259 val
* var346
/* : String */;
1260 char* var347
/* : NativeString */;
1261 long var348
/* : Int */;
1262 val
* var349
/* : String */;
1263 static val
* varonce350
;
1264 val
* var351
/* : String */;
1265 char* var352
/* : NativeString */;
1266 long var353
/* : Int */;
1267 val
* var354
/* : String */;
1268 val
* var355
/* : String */;
1269 val
* var_makepath
/* var makepath: String */;
1270 val
* var356
/* : OFStream */;
1271 val
* var_makefile
/* var makefile: OFStream */;
1272 static val
* varonce357
;
1273 val
* var358
/* : String */;
1274 char* var359
/* : NativeString */;
1275 long var360
/* : Int */;
1276 val
* var361
/* : String */;
1277 val
* var_cc_includes
/* var cc_includes: String */;
1278 val
* var362
/* : Array[String] */;
1279 val
* var363
/* : Iterator[nullable Object] */;
1280 short int var364
/* : Bool */;
1281 val
* var365
/* : nullable Object */;
1282 val
* var_p
/* var p: String */;
1283 val
* var366
/* : String */;
1284 val
* var367
/* : String */;
1285 static val
* varonce368
;
1286 val
* var369
/* : String */;
1287 char* var370
/* : NativeString */;
1288 long var371
/* : Int */;
1289 val
* var372
/* : String */;
1290 val
* var373
/* : String */;
1291 static val
* varonce374
;
1292 val
* var375
/* : String */;
1293 char* var376
/* : NativeString */;
1294 long var377
/* : Int */;
1295 val
* var378
/* : String */;
1296 val
* var379
/* : String */;
1297 val
* var380
/* : String */;
1298 val
* var382
/* : ToolContext */;
1299 val
* var383
/* : OptionBool */;
1300 val
* var384
/* : nullable Object */;
1301 short int var385
/* : Bool */;
1302 static val
* varonce386
;
1303 val
* var387
/* : String */;
1304 char* var388
/* : NativeString */;
1305 long var389
/* : Int */;
1306 val
* var390
/* : String */;
1307 static val
* varonce391
;
1308 val
* var392
/* : String */;
1309 char* var393
/* : NativeString */;
1310 long var394
/* : Int */;
1311 val
* var395
/* : String */;
1312 val
* var396
/* : Array[Object] */;
1313 long var397
/* : Int */;
1314 val
* var398
/* : NativeArray[Object] */;
1315 val
* var399
/* : String */;
1316 static val
* varonce400
;
1317 val
* var401
/* : String */;
1318 char* var402
/* : NativeString */;
1319 long var403
/* : Int */;
1320 val
* var404
/* : String */;
1321 static val
* varonce405
;
1322 val
* var406
/* : String */;
1323 char* var407
/* : NativeString */;
1324 long var408
/* : Int */;
1325 val
* var409
/* : String */;
1326 val
* var410
/* : Array[Object] */;
1327 long var411
/* : Int */;
1328 val
* var412
/* : NativeArray[Object] */;
1329 val
* var413
/* : String */;
1330 static val
* varonce414
;
1331 val
* var415
/* : String */;
1332 char* var416
/* : NativeString */;
1333 long var417
/* : Int */;
1334 val
* var418
/* : String */;
1335 static val
* varonce419
;
1336 val
* var420
/* : String */;
1337 char* var421
/* : NativeString */;
1338 long var422
/* : Int */;
1339 val
* var423
/* : String */;
1340 val
* var424
/* : Array[Object] */;
1341 long var425
/* : Int */;
1342 val
* var426
/* : NativeArray[Object] */;
1343 val
* var427
/* : String */;
1344 val
* var428
/* : Array[String] */;
1345 val
* var_ofiles
/* var ofiles: Array[String] */;
1346 val
* var429
/* : Iterator[nullable Object] */;
1347 short int var430
/* : Bool */;
1348 val
* var431
/* : nullable Object */;
1349 val
* var_f432
/* var f: String */;
1350 static val
* varonce433
;
1351 val
* var434
/* : String */;
1352 char* var435
/* : NativeString */;
1353 long var436
/* : Int */;
1354 val
* var437
/* : String */;
1355 val
* var438
/* : String */;
1356 static val
* varonce439
;
1357 val
* var440
/* : String */;
1358 char* var441
/* : NativeString */;
1359 long var442
/* : Int */;
1360 val
* var443
/* : String */;
1361 val
* var444
/* : String */;
1362 val
* var_o
/* var o: String */;
1363 static val
* varonce445
;
1364 val
* var446
/* : String */;
1365 char* var447
/* : NativeString */;
1366 long var448
/* : Int */;
1367 val
* var449
/* : String */;
1368 static val
* varonce450
;
1369 val
* var451
/* : String */;
1370 char* var452
/* : NativeString */;
1371 long var453
/* : Int */;
1372 val
* var454
/* : String */;
1373 static val
* varonce455
;
1374 val
* var456
/* : String */;
1375 char* var457
/* : NativeString */;
1376 long var458
/* : Int */;
1377 val
* var459
/* : String */;
1378 static val
* varonce460
;
1379 val
* var461
/* : String */;
1380 char* var462
/* : NativeString */;
1381 long var463
/* : Int */;
1382 val
* var464
/* : String */;
1383 val
* var465
/* : Array[Object] */;
1384 long var466
/* : Int */;
1385 val
* var467
/* : NativeArray[Object] */;
1386 val
* var468
/* : String */;
1387 val
* var470
/* : ExternCFile */;
1388 val
* var471
/* : Array[Object] */;
1389 long var472
/* : Int */;
1390 val
* var_473
/* var : Array[Object] */;
1391 static val
* varonce474
;
1392 val
* var475
/* : String */;
1393 char* var476
/* : NativeString */;
1394 long var477
/* : Int */;
1395 val
* var478
/* : String */;
1396 val
* var479
/* : Array[String] */;
1397 val
* var480
/* : nullable Object */;
1398 static val
* varonce481
;
1399 val
* var482
/* : String */;
1400 char* var483
/* : NativeString */;
1401 long var484
/* : Int */;
1402 val
* var485
/* : String */;
1403 val
* var486
/* : String */;
1404 static val
* varonce487
;
1405 val
* var488
/* : String */;
1406 char* var489
/* : NativeString */;
1407 long var490
/* : Int */;
1408 val
* var491
/* : String */;
1409 val
* var_gc_chooser
/* var gc_chooser: ExternCFile */;
1410 val
* var492
/* : Array[ExternCFile] */;
1411 val
* var493
/* : Array[ExternCFile] */;
1412 val
* var494
/* : Iterator[nullable Object] */;
1413 short int var495
/* : Bool */;
1414 val
* var496
/* : nullable Object */;
1415 val
* var_f497
/* var f: ExternCFile */;
1416 val
* var498
/* : String */;
1417 static val
* varonce499
;
1418 val
* var500
/* : String */;
1419 char* var501
/* : NativeString */;
1420 long var502
/* : Int */;
1421 val
* var503
/* : String */;
1422 val
* var504
/* : String */;
1423 val
* var_basename
/* var basename: String */;
1424 val
* var505
/* : Array[Object] */;
1425 long var506
/* : Int */;
1426 val
* var_507
/* var : Array[Object] */;
1427 static val
* varonce508
;
1428 val
* var509
/* : String */;
1429 char* var510
/* : NativeString */;
1430 long var511
/* : Int */;
1431 val
* var512
/* : String */;
1432 static val
* varonce513
;
1433 val
* var514
/* : String */;
1434 char* var515
/* : NativeString */;
1435 long var516
/* : Int */;
1436 val
* var517
/* : String */;
1437 val
* var518
/* : String */;
1438 val
* var_o519
/* var o: String */;
1439 val
* var520
/* : String */;
1440 val
* var521
/* : String */;
1441 val
* var522
/* : String */;
1442 val
* var_ff
/* var ff: String */;
1443 static val
* varonce523
;
1444 val
* var524
/* : String */;
1445 char* var525
/* : NativeString */;
1446 long var526
/* : Int */;
1447 val
* var527
/* : String */;
1448 static val
* varonce528
;
1449 val
* var529
/* : String */;
1450 char* var530
/* : NativeString */;
1451 long var531
/* : Int */;
1452 val
* var532
/* : String */;
1453 val
* var533
/* : String */;
1454 static val
* varonce534
;
1455 val
* var535
/* : String */;
1456 char* var536
/* : NativeString */;
1457 long var537
/* : Int */;
1458 val
* var538
/* : String */;
1459 static val
* varonce539
;
1460 val
* var540
/* : String */;
1461 char* var541
/* : NativeString */;
1462 long var542
/* : Int */;
1463 val
* var543
/* : String */;
1464 static val
* varonce544
;
1465 val
* var545
/* : String */;
1466 char* var546
/* : NativeString */;
1467 long var547
/* : Int */;
1468 val
* var548
/* : String */;
1469 val
* var549
/* : Array[Object] */;
1470 long var550
/* : Int */;
1471 val
* var551
/* : NativeArray[Object] */;
1472 val
* var552
/* : String */;
1473 static val
* varonce554
;
1474 val
* var555
/* : String */;
1475 char* var556
/* : NativeString */;
1476 long var557
/* : Int */;
1477 val
* var558
/* : String */;
1478 static val
* varonce559
;
1479 val
* var560
/* : String */;
1480 char* var561
/* : NativeString */;
1481 long var562
/* : Int */;
1482 val
* var563
/* : String */;
1483 val
* var564
/* : String */;
1484 static val
* varonce565
;
1485 val
* var566
/* : String */;
1486 char* var567
/* : NativeString */;
1487 long var568
/* : Int */;
1488 val
* var569
/* : String */;
1489 static val
* varonce570
;
1490 val
* var571
/* : String */;
1491 char* var572
/* : NativeString */;
1492 long var573
/* : Int */;
1493 val
* var574
/* : String */;
1494 static val
* varonce575
;
1495 val
* var576
/* : String */;
1496 char* var577
/* : NativeString */;
1497 long var578
/* : Int */;
1498 val
* var579
/* : String */;
1499 val
* var580
/* : String */;
1500 static val
* varonce581
;
1501 val
* var582
/* : String */;
1502 char* var583
/* : NativeString */;
1503 long var584
/* : Int */;
1504 val
* var585
/* : String */;
1505 val
* var586
/* : Array[Object] */;
1506 long var587
/* : Int */;
1507 val
* var588
/* : NativeArray[Object] */;
1508 val
* var589
/* : String */;
1509 static val
* varonce590
;
1510 val
* var591
/* : String */;
1511 char* var592
/* : NativeString */;
1512 long var593
/* : Int */;
1513 val
* var594
/* : String */;
1514 static val
* varonce595
;
1515 val
* var596
/* : String */;
1516 char* var597
/* : NativeString */;
1517 long var598
/* : Int */;
1518 val
* var599
/* : String */;
1519 val
* var600
/* : String */;
1520 static val
* varonce601
;
1521 val
* var602
/* : String */;
1522 char* var603
/* : NativeString */;
1523 long var604
/* : Int */;
1524 val
* var605
/* : String */;
1525 val
* var606
/* : Array[Object] */;
1526 long var607
/* : Int */;
1527 val
* var608
/* : NativeArray[Object] */;
1528 val
* var609
/* : String */;
1529 val
* var610
/* : ToolContext */;
1530 static val
* varonce611
;
1531 val
* var612
/* : String */;
1532 char* var613
/* : NativeString */;
1533 long var614
/* : Int */;
1534 val
* var615
/* : String */;
1535 val
* var616
/* : Array[Object] */;
1536 long var617
/* : Int */;
1537 val
* var618
/* : NativeArray[Object] */;
1538 val
* var619
/* : String */;
1539 long var620
/* : Int */;
1540 long var621
/* : Int */;
1541 long var_time1
/* var time1: Int */;
1542 val
* var622
/* : ToolContext */;
1543 static val
* varonce623
;
1544 val
* var624
/* : String */;
1545 char* var625
/* : NativeString */;
1546 long var626
/* : Int */;
1547 val
* var627
/* : String */;
1548 long var628
/* : Int */;
1549 long var630
/* : Int */;
1550 static val
* varonce631
;
1551 val
* var632
/* : String */;
1552 char* var633
/* : NativeString */;
1553 long var634
/* : Int */;
1554 val
* var635
/* : String */;
1555 val
* var636
/* : Array[Object] */;
1556 long var637
/* : Int */;
1557 val
* var638
/* : NativeArray[Object] */;
1558 val
* var639
/* : Object */;
1559 val
* var640
/* : String */;
1560 long var641
/* : Int */;
1561 val
* var642
/* : ToolContext */;
1562 val
* var643
/* : OptionBool */;
1563 val
* var644
/* : nullable Object */;
1564 short int var645
/* : Bool */;
1565 val
* var646
/* : ToolContext */;
1566 static val
* varonce647
;
1567 val
* var648
/* : String */;
1568 char* var649
/* : NativeString */;
1569 long var650
/* : Int */;
1570 val
* var651
/* : String */;
1571 long var652
/* : Int */;
1572 val
* var653
/* : ToolContext */;
1573 val
* var654
/* : OptionString */;
1574 val
* var655
/* : nullable Object */;
1575 val
* var_makeflags
/* var makeflags: nullable String */;
1576 val
* var656
/* : null */;
1577 short int var657
/* : Bool */;
1578 static val
* varonce658
;
1579 val
* var659
/* : String */;
1580 char* var660
/* : NativeString */;
1581 long var661
/* : Int */;
1582 val
* var662
/* : String */;
1583 val
* var663
/* : ToolContext */;
1584 static val
* varonce664
;
1585 val
* var665
/* : String */;
1586 char* var666
/* : NativeString */;
1587 long var667
/* : Int */;
1588 val
* var668
/* : String */;
1589 static val
* varonce669
;
1590 val
* var670
/* : String */;
1591 char* var671
/* : NativeString */;
1592 long var672
/* : Int */;
1593 val
* var673
/* : String */;
1594 static val
* varonce674
;
1595 val
* var675
/* : String */;
1596 char* var676
/* : NativeString */;
1597 long var677
/* : Int */;
1598 val
* var678
/* : String */;
1599 val
* var679
/* : Array[Object] */;
1600 long var680
/* : Int */;
1601 val
* var681
/* : NativeArray[Object] */;
1602 val
* var682
/* : String */;
1603 long var683
/* : Int */;
1604 val
* var684
/* : ToolContext */;
1605 long var685
/* : Int */;
1606 long var686
/* : Int */;
1607 short int var687
/* : Bool */;
1608 short int var689
/* : Bool */;
1611 const char* var_class_name692
;
1612 short int var693
/* : Bool */;
1613 val
* var694
/* : Sys */;
1614 static val
* varonce695
;
1615 val
* var696
/* : String */;
1616 char* var697
/* : NativeString */;
1617 long var698
/* : Int */;
1618 val
* var699
/* : String */;
1619 static val
* varonce700
;
1620 val
* var701
/* : String */;
1621 char* var702
/* : NativeString */;
1622 long var703
/* : Int */;
1623 val
* var704
/* : String */;
1624 static val
* varonce705
;
1625 val
* var706
/* : String */;
1626 char* var707
/* : NativeString */;
1627 long var708
/* : Int */;
1628 val
* var709
/* : String */;
1629 static val
* varonce710
;
1630 val
* var711
/* : String */;
1631 char* var712
/* : NativeString */;
1632 long var713
/* : Int */;
1633 val
* var714
/* : String */;
1634 val
* var715
/* : Array[Object] */;
1635 long var716
/* : Int */;
1636 val
* var717
/* : NativeArray[Object] */;
1637 val
* var718
/* : String */;
1638 long var719
/* : Int */;
1639 val
* var720
/* : nullable Object */;
1640 val
* var_res
/* var res: nullable Object */;
1641 val
* var721
/* : Sys */;
1642 static val
* varonce722
;
1643 val
* var723
/* : String */;
1644 char* var724
/* : NativeString */;
1645 long var725
/* : Int */;
1646 val
* var726
/* : String */;
1647 static val
* varonce727
;
1648 val
* var728
/* : String */;
1649 char* var729
/* : NativeString */;
1650 long var730
/* : Int */;
1651 val
* var731
/* : String */;
1652 static val
* varonce732
;
1653 val
* var733
/* : String */;
1654 char* var734
/* : NativeString */;
1655 long var735
/* : Int */;
1656 val
* var736
/* : String */;
1657 static val
* varonce737
;
1658 val
* var738
/* : String */;
1659 char* var739
/* : NativeString */;
1660 long var740
/* : Int */;
1661 val
* var741
/* : String */;
1662 val
* var742
/* : Array[Object] */;
1663 long var743
/* : Int */;
1664 val
* var744
/* : NativeArray[Object] */;
1665 val
* var745
/* : String */;
1666 long var746
/* : Int */;
1667 val
* var747
/* : nullable Object */;
1668 long var748
/* : Int */;
1669 short int var749
/* : Bool */;
1670 short int var751
/* : Bool */;
1671 long var752
/* : Int */;
1672 short int var753
/* : Bool */;
1673 val
* var754
/* : ToolContext */;
1674 val
* var755
/* : null */;
1675 static val
* varonce756
;
1676 val
* var757
/* : String */;
1677 char* var758
/* : NativeString */;
1678 long var759
/* : Int */;
1679 val
* var760
/* : String */;
1680 static val
* varonce761
;
1681 val
* var762
/* : String */;
1682 char* var763
/* : NativeString */;
1683 long var764
/* : Int */;
1684 val
* var765
/* : String */;
1685 val
* var766
/* : Array[Object] */;
1686 long var767
/* : Int */;
1687 val
* var768
/* : NativeArray[Object] */;
1688 val
* var769
/* : String */;
1689 long var770
/* : Int */;
1690 val
* var771
/* : ToolContext */;
1691 static val
* varonce772
;
1692 val
* var773
/* : String */;
1693 char* var774
/* : NativeString */;
1694 long var775
/* : Int */;
1695 val
* var776
/* : String */;
1696 long var777
/* : Int */;
1697 long var779
/* : Int */;
1698 static val
* varonce780
;
1699 val
* var781
/* : String */;
1700 char* var782
/* : NativeString */;
1701 long var783
/* : Int */;
1702 val
* var784
/* : String */;
1703 val
* var785
/* : Array[Object] */;
1704 long var786
/* : Int */;
1705 val
* var787
/* : NativeArray[Object] */;
1706 val
* var788
/* : Object */;
1707 val
* var789
/* : String */;
1708 long var790
/* : Int */;
1710 var
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var_compiler
) /* mainmodule on <var_compiler:AbstractCompiler>*/;
1711 var_mainmodule
= var
;
1712 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_time__Object__get_time
]))(self
) /* get_time on <self:ModelBuilder>*/;
1714 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
1718 var4
= "*** WRITING C ***";
1720 var6
= string__NativeString__to_s_with_length(var4
, var5
);
1725 ((void (*)(val
*, val
*, long))(var2
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var2
, var3
, var7
) /* info on <var2:ToolContext>*/;
1726 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
1727 var9
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_compile_dir
]))(var8
) /* opt_compile_dir on <var8:ToolContext>*/;
1728 var10
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_opts__Option__value
]))(var9
) /* value on <var9:OptionString>*/;
1729 var_compile_dir
= var10
;
1731 if (var_compile_dir
== NULL
) {
1732 var12
= 1; /* is null */
1734 var12
= 0; /* arg is null but recv is not */
1740 var15
= ".nit_compile";
1742 var17
= string__NativeString__to_s_with_length(var15
, var16
);
1746 var_compile_dir
= var14
;
1749 ((void (*)(val
*))(var_compile_dir
->class->vft
[COLOR_file__String__mkdir
]))(var_compile_dir
) /* mkdir on <var_compile_dir:nullable String(String)>*/;
1750 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
1751 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_stacktrace
]))(var18
) /* opt_stacktrace on <var18:ToolContext>*/;
1752 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_opts__Option__value
]))(var19
) /* value on <var19:OptionBool>*/;
1753 var21
= ((struct instance_kernel__Bool
*)var20
)->value
; /* autounbox from nullable Object to Bool */;
1755 ((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>*/;
1763 var26
= string__NativeString__to_s_with_length(var24
, var25
);
1767 var_orig_dir
= var23
;
1768 var27
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
1769 var28
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_output
]))(var27
) /* opt_output on <var27:ToolContext>*/;
1770 var29
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_opts__Option__value
]))(var28
) /* value on <var28:OptionString>*/;
1771 var_outname
= var29
;
1773 if (var_outname
== NULL
) {
1774 var31
= 1; /* is null */
1776 var31
= 0; /* arg is null but recv is not */
1779 var32
= NEW_array__Array(&type_array__Arraykernel__Object
);
1781 ((void (*)(val
*, long))(var32
->class->vft
[COLOR_array__Array__with_capacity
]))(var32
, var33
) /* with_capacity on <var32:Array[Object]>*/;
1788 var38
= string__NativeString__to_s_with_length(var36
, var37
);
1792 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var35
) /* add on <var_:Array[Object]>*/;
1793 var39
= ((val
* (*)(val
*))(var_mainmodule
->class->vft
[COLOR_mmodule__MModule__name
]))(var_mainmodule
) /* name on <var_mainmodule:MModule>*/;
1794 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var39
) /* add on <var_:Array[Object]>*/;
1800 var44
= string__NativeString__to_s_with_length(var42
, var43
);
1804 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var41
) /* add on <var_:Array[Object]>*/;
1805 var45
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
1806 var_outname
= var45
;
1809 var46
= ((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>*/;
1810 var47
= ((val
* (*)(val
*))(var46
->class->vft
[COLOR_file__String__simplify_path
]))(var46
) /* simplify_path on <var46:String>*/;
1811 var_outpath
= var47
;
1812 var48
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var_compiler
) /* header on <var_compiler:AbstractCompiler>*/;
1813 var49
= ((val
* (*)(val
*))(var48
->class->vft
[COLOR_abstract_compiler__CodeWriter__file
]))(var48
) /* file on <var48:CodeWriter>*/;
1814 var50
= ((val
* (*)(val
*))(var49
->class->vft
[COLOR_abstract_compiler__CodeFile__name
]))(var49
) /* name on <var49:CodeFile>*/;
1820 var55
= string__NativeString__to_s_with_length(var53
, var54
);
1824 var56
= ((val
* (*)(val
*, val
*))(var50
->class->vft
[COLOR_string__String___43d
]))(var50
, var52
) /* + on <var50:String>*/;
1825 var_hfilename
= var56
;
1826 var57
= NEW_array__Array(&type_array__Arraykernel__Object
);
1828 ((void (*)(val
*, long))(var57
->class->vft
[COLOR_array__Array__with_capacity
]))(var57
, var58
) /* with_capacity on <var57:Array[Object]>*/;
1835 var64
= string__NativeString__to_s_with_length(var62
, var63
);
1839 ((void (*)(val
*, val
*))(var_59
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_59
, var61
) /* add on <var_59:Array[Object]>*/;
1840 ((void (*)(val
*, val
*))(var_59
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_59
, var_compile_dir
) /* add on <var_59:Array[Object]>*/;
1846 var69
= string__NativeString__to_s_with_length(var67
, var68
);
1850 ((void (*)(val
*, val
*))(var_59
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_59
, var66
) /* add on <var_59:Array[Object]>*/;
1851 ((void (*)(val
*, val
*))(var_59
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_59
, var_hfilename
) /* add on <var_59:Array[Object]>*/;
1857 var74
= string__NativeString__to_s_with_length(var72
, var73
);
1861 ((void (*)(val
*, val
*))(var_59
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_59
, var71
) /* add on <var_59:Array[Object]>*/;
1862 var75
= ((val
* (*)(val
*))(var_59
->class->vft
[COLOR_string__Object__to_s
]))(var_59
) /* to_s on <var_59:Array[Object]>*/;
1863 var_hfilepath
= var75
;
1864 var76
= NEW_file__OFStream(&type_file__OFStream
);
1865 ((void (*)(val
*, val
*))(var76
->class->vft
[COLOR_file__OFStream__open
]))(var76
, var_hfilepath
) /* open on <var76:OFStream>*/;
1867 var77
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var_compiler
) /* header on <var_compiler:AbstractCompiler>*/;
1868 var78
= ((val
* (*)(val
*))(var77
->class->vft
[COLOR_abstract_compiler__CodeWriter__decl_lines
]))(var77
) /* decl_lines on <var77:CodeWriter>*/;
1869 var79
= ((val
* (*)(val
*))(var78
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var78
) /* iterator on <var78:List[String]>*/;
1871 var80
= ((short int (*)(val
*))(var79
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var79
) /* is_ok on <var79:Iterator[nullable Object]>*/;
1873 var81
= ((val
* (*)(val
*))(var79
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var79
) /* item on <var79:Iterator[nullable Object]>*/;
1875 ((void (*)(val
*, val
*))(var_h
->class->vft
[COLOR_stream__OStream__write
]))(var_h
, var_l
) /* write on <var_h:OFStream>*/;
1881 var86
= string__NativeString__to_s_with_length(var84
, var85
);
1885 ((void (*)(val
*, val
*))(var_h
->class->vft
[COLOR_stream__OStream__write
]))(var_h
, var83
) /* write on <var_h:OFStream>*/;
1886 CONTINUE_label
: (void)0;
1887 ((void (*)(val
*))(var79
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var79
) /* next on <var79:Iterator[nullable Object]>*/;
1889 BREAK_label
: (void)0;
1890 var87
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var_compiler
) /* header on <var_compiler:AbstractCompiler>*/;
1891 var88
= ((val
* (*)(val
*))(var87
->class->vft
[COLOR_abstract_compiler__CodeWriter__lines
]))(var87
) /* lines on <var87:CodeWriter>*/;
1892 var89
= ((val
* (*)(val
*))(var88
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var88
) /* iterator on <var88:List[String]>*/;
1894 var90
= ((short int (*)(val
*))(var89
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var89
) /* is_ok on <var89:Iterator[nullable Object]>*/;
1896 var91
= ((val
* (*)(val
*))(var89
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var89
) /* item on <var89:Iterator[nullable Object]>*/;
1898 ((void (*)(val
*, val
*))(var_h
->class->vft
[COLOR_stream__OStream__write
]))(var_h
, var_l92
) /* write on <var_h:OFStream>*/;
1904 var97
= string__NativeString__to_s_with_length(var95
, var96
);
1908 ((void (*)(val
*, val
*))(var_h
->class->vft
[COLOR_stream__OStream__write
]))(var_h
, var94
) /* write on <var_h:OFStream>*/;
1909 CONTINUE_label98
: (void)0;
1910 ((void (*)(val
*))(var89
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var89
) /* next on <var89:Iterator[nullable Object]>*/;
1912 BREAK_label98
: (void)0;
1913 ((void (*)(val
*))(var_h
->class->vft
[COLOR_stream__IOS__close
]))(var_h
) /* close on <var_h:OFStream>*/;
1914 var99
= NEW_array__Array(&type_array__Arraystring__String
);
1915 ((void (*)(val
*))(var99
->class->vft
[COLOR_array__Array__init
]))(var99
) /* init on <var99:Array[String]>*/;
1917 var100
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__files
]))(var_compiler
) /* files on <var_compiler:AbstractCompiler>*/;
1918 var101
= ((val
* (*)(val
*))(var100
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var100
) /* iterator on <var100:List[CodeFile]>*/;
1920 var102
= ((short int (*)(val
*))(var101
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var101
) /* is_ok on <var101:Iterator[nullable Object]>*/;
1922 var103
= ((val
* (*)(val
*))(var101
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var101
) /* item on <var101:Iterator[nullable Object]>*/;
1930 var107
= NEW_array__Array(&type_array__Arraykernel__Object
);
1932 ((void (*)(val
*, long))(var107
->class->vft
[COLOR_array__Array__with_capacity
]))(var107
, var108
) /* with_capacity on <var107:Array[Object]>*/;
1935 var111
= varonce110
;
1939 var114
= string__NativeString__to_s_with_length(var112
, var113
);
1941 varonce110
= var111
;
1943 ((void (*)(val
*, val
*))(var_109
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_109
, var111
) /* add on <var_109:Array[Object]>*/;
1944 var115
= ((val
* (*)(val
*))(var_f
->class->vft
[COLOR_abstract_compiler__CodeFile__name
]))(var_f
) /* name on <var_f:CodeFile>*/;
1945 ((void (*)(val
*, val
*))(var_109
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_109
, var115
) /* add on <var_109:Array[Object]>*/;
1947 var117
= varonce116
;
1951 var120
= string__NativeString__to_s_with_length(var118
, var119
);
1953 varonce116
= var117
;
1955 ((void (*)(val
*, val
*))(var_109
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_109
, var117
) /* add on <var_109:Array[Object]>*/;
1956 var121
= ((val
* (*)(val
*))(var_109
->class->vft
[COLOR_string__Object__to_s
]))(var_109
) /* to_s on <var_109:Array[Object]>*/;
1957 var_cfilename
= var121
;
1958 var122
= NEW_array__Array(&type_array__Arraykernel__Object
);
1960 ((void (*)(val
*, long))(var122
->class->vft
[COLOR_array__Array__with_capacity
]))(var122
, var123
) /* with_capacity on <var122:Array[Object]>*/;
1963 var126
= varonce125
;
1967 var129
= string__NativeString__to_s_with_length(var127
, var128
);
1969 varonce125
= var126
;
1971 ((void (*)(val
*, val
*))(var_124
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_124
, var126
) /* add on <var_124:Array[Object]>*/;
1972 ((void (*)(val
*, val
*))(var_124
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_124
, var_compile_dir
) /* add on <var_124:Array[Object]>*/;
1974 var131
= varonce130
;
1978 var134
= string__NativeString__to_s_with_length(var132
, var133
);
1980 varonce130
= var131
;
1982 ((void (*)(val
*, val
*))(var_124
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_124
, var131
) /* add on <var_124:Array[Object]>*/;
1983 ((void (*)(val
*, val
*))(var_124
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_124
, var_cfilename
) /* add on <var_124:Array[Object]>*/;
1985 var136
= varonce135
;
1989 var139
= string__NativeString__to_s_with_length(var137
, var138
);
1991 varonce135
= var136
;
1993 ((void (*)(val
*, val
*))(var_124
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_124
, var136
) /* add on <var_124:Array[Object]>*/;
1994 var140
= ((val
* (*)(val
*))(var_124
->class->vft
[COLOR_string__Object__to_s
]))(var_124
) /* to_s on <var_124:Array[Object]>*/;
1995 var_cfilepath
= var140
;
1996 var141
= NEW_file__OFStream(&type_file__OFStream
);
1997 ((void (*)(val
*, val
*))(var141
->class->vft
[COLOR_file__OFStream__open
]))(var141
, var_cfilepath
) /* open on <var141:OFStream>*/;
2000 var143
= varonce142
;
2002 var144
= "#include \"";
2004 var146
= string__NativeString__to_s_with_length(var144
, var145
);
2006 varonce142
= var143
;
2009 var148
= varonce147
;
2013 var151
= string__NativeString__to_s_with_length(var149
, var150
);
2015 varonce147
= var148
;
2017 var152
= NEW_array__Array(&type_array__Arraykernel__Object
);
2018 { /* var152 = array_instance Array[Object] */
2020 var154
= NEW_array__NativeArray(var153
, &type_array__NativeArraykernel__Object
);
2021 ((struct instance_array__NativeArray
*)var154
)->values
[0] = (val
*) var143
;
2022 ((struct instance_array__NativeArray
*)var154
)->values
[1] = (val
*) var_hfilename
;
2023 ((struct instance_array__NativeArray
*)var154
)->values
[2] = (val
*) var148
;
2024 ((void (*)(val
*, val
*, long))(var152
->class->vft
[COLOR_array__Array__with_native
]))(var152
, var154
, var153
) /* with_native on <var152:Array[Object]>*/;
2026 var155
= ((val
* (*)(val
*))(var152
->class->vft
[COLOR_string__Object__to_s
]))(var152
) /* to_s on <var152:Array[Object]>*/;
2027 ((void (*)(val
*, val
*))(var_hfile
->class->vft
[COLOR_stream__OStream__write
]))(var_hfile
, var155
) /* write on <var_hfile:nullable OFStream(OFStream)>*/;
2028 var156
= ((val
* (*)(val
*))(var_f
->class->vft
[COLOR_abstract_compiler__CodeFile__required_declarations
]))(var_f
) /* required_declarations on <var_f:CodeFile>*/;
2029 var157
= ((val
* (*)(val
*))(var156
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var156
) /* iterator on <var156:HashSet[String]>*/;
2031 var158
= ((short int (*)(val
*))(var157
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var157
) /* is_ok on <var157:Iterator[nullable Object]>*/;
2033 var159
= ((val
* (*)(val
*))(var157
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var157
) /* item on <var157:Iterator[nullable Object]>*/;
2035 var160
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__provided_declarations
]))(var_compiler
) /* provided_declarations on <var_compiler:AbstractCompiler>*/;
2036 var161
= ((short int (*)(val
*, val
*))(var160
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var160
, var_key
) /* has_key on <var160:HashMap[String, String]>*/;
2040 var164
= varonce163
;
2042 var165
= "No provided declaration for ";
2044 var167
= string__NativeString__to_s_with_length(var165
, var166
);
2046 varonce163
= var164
;
2048 var168
= NEW_array__Array(&type_array__Arraykernel__Object
);
2049 { /* var168 = array_instance Array[Object] */
2051 var170
= NEW_array__NativeArray(var169
, &type_array__NativeArraykernel__Object
);
2052 ((struct instance_array__NativeArray
*)var170
)->values
[0] = (val
*) var164
;
2053 ((struct instance_array__NativeArray
*)var170
)->values
[1] = (val
*) var_key
;
2054 ((void (*)(val
*, val
*, long))(var168
->class->vft
[COLOR_array__Array__with_native
]))(var168
, var170
, var169
) /* with_native on <var168:Array[Object]>*/;
2056 var171
= ((val
* (*)(val
*))(var168
->class->vft
[COLOR_string__Object__to_s
]))(var168
) /* to_s on <var168:Array[Object]>*/;
2057 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__print
]))(self
, var171
) /* print on <self:ModelBuilder>*/;
2058 fprintf(stderr
, "Runtime error: %s", "Aborted");
2059 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 162);
2063 var172
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__provided_declarations
]))(var_compiler
) /* provided_declarations on <var_compiler:AbstractCompiler>*/;
2064 var173
= ((val
* (*)(val
*, val
*))(var172
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var172
, var_key
) /* [] on <var172:HashMap[String, String]>*/;
2065 ((void (*)(val
*, val
*))(var_hfile
->class->vft
[COLOR_stream__OStream__write
]))(var_hfile
, var173
) /* write on <var_hfile:nullable OFStream(OFStream)>*/;
2067 var175
= varonce174
;
2071 var178
= string__NativeString__to_s_with_length(var176
, var177
);
2073 varonce174
= var175
;
2075 ((void (*)(val
*, val
*))(var_hfile
->class->vft
[COLOR_stream__OStream__write
]))(var_hfile
, var175
) /* write on <var_hfile:nullable OFStream(OFStream)>*/;
2076 CONTINUE_label179
: (void)0;
2077 ((void (*)(val
*))(var157
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var157
) /* next on <var157:Iterator[nullable Object]>*/;
2079 BREAK_label179
: (void)0;
2080 ((void (*)(val
*))(var_hfile
->class->vft
[COLOR_stream__IOS__close
]))(var_hfile
) /* close on <var_hfile:nullable OFStream(OFStream)>*/;
2083 var181
= ((val
* (*)(val
*))(var_f
->class->vft
[COLOR_abstract_compiler__CodeFile__writers
]))(var_f
) /* writers on <var_f:CodeFile>*/;
2084 var182
= ((val
* (*)(val
*))(var181
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var181
) /* iterator on <var181:Array[CodeWriter]>*/;
2086 var183
= ((short int (*)(val
*))(var182
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var182
) /* is_ok on <var182:Iterator[nullable Object]>*/;
2088 var184
= ((val
* (*)(val
*))(var182
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var182
) /* item on <var182:Iterator[nullable Object]>*/;
2090 var185
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var_compiler
) /* header on <var_compiler:AbstractCompiler>*/;
2091 var186
= ((short int (*)(val
*, val
*))(var_vis
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_vis
, var185
) /* == on <var_vis:CodeWriter>*/;
2093 goto CONTINUE_label187
;
2096 var188
= ((val
* (*)(val
*))(var_vis
->class->vft
[COLOR_abstract_compiler__CodeWriter__lines
]))(var_vis
) /* lines on <var_vis:CodeWriter>*/;
2097 var189
= ((long (*)(val
*))(var188
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var188
) /* length on <var188:List[String]>*/;
2098 var190
= ((val
* (*)(val
*))(var_vis
->class->vft
[COLOR_abstract_compiler__CodeWriter__decl_lines
]))(var_vis
) /* decl_lines on <var_vis:CodeWriter>*/;
2099 var191
= ((long (*)(val
*))(var190
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var190
) /* length on <var190:List[String]>*/;
2100 { /* Inline kernel#Int#+ (var189,var191) */
2101 var194
= var189
+ var191
;
2104 RET_LABEL193
:(void)0;
2106 var_total_lines
= var192
;
2108 { /* Inline kernel#Int#== (var_total_lines,var195) */
2109 var198
= var_total_lines
== var195
;
2112 RET_LABEL197
:(void)0;
2115 goto CONTINUE_label187
;
2118 { /* Inline kernel#Int#+ (var_count,var_total_lines) */
2119 var201
= var_count
+ var_total_lines
;
2122 RET_LABEL200
:(void)0;
2126 if (var_file
== NULL
) {
2127 var204
= 1; /* is null */
2129 var204
= 0; /* arg is null but recv is not */
2136 { /* Inline kernel#Int#> (var_count,var206) */
2137 /* Covariant cast for argument 0 (i) <var206:Int> isa OTHER */
2138 /* <var206:Int> isa OTHER */
2139 var209
= 1; /* easy <var206:Int> isa OTHER*/
2141 var_class_name
= type_kernel__Int
.name
;
2142 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2143 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
2146 var210
= var_count
> var206
;
2149 RET_LABEL208
:(void)0;
2155 { /* Inline kernel#Int#+ (var_i,var211) */
2156 var214
= var_i
+ var211
;
2159 RET_LABEL213
:(void)0;
2163 if (var_file
== NULL
) {
2164 var216
= 0; /* is null */
2166 var216
= 1; /* arg is null and recv is not */
2169 ((void (*)(val
*))(var_file
->class->vft
[COLOR_stream__IOS__close
]))(var_file
) /* close on <var_file:nullable OFStream(OFStream)>*/;
2172 var217
= NEW_array__Array(&type_array__Arraykernel__Object
);
2174 ((void (*)(val
*, long))(var217
->class->vft
[COLOR_array__Array__with_capacity
]))(var217
, var218
) /* with_capacity on <var217:Array[Object]>*/;
2177 var221
= varonce220
;
2181 var224
= string__NativeString__to_s_with_length(var222
, var223
);
2183 varonce220
= var221
;
2185 ((void (*)(val
*, val
*))(var_219
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_219
, var221
) /* add on <var_219:Array[Object]>*/;
2186 var225
= ((val
* (*)(val
*))(var_f
->class->vft
[COLOR_abstract_compiler__CodeFile__name
]))(var_f
) /* name on <var_f:CodeFile>*/;
2187 ((void (*)(val
*, val
*))(var_219
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_219
, var225
) /* add on <var_219:Array[Object]>*/;
2189 var227
= varonce226
;
2193 var230
= string__NativeString__to_s_with_length(var228
, var229
);
2195 varonce226
= var227
;
2197 ((void (*)(val
*, val
*))(var_219
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_219
, var227
) /* add on <var_219:Array[Object]>*/;
2198 var231
= BOX_kernel__Int(var_i
); /* autobox from Int to nullable Object */
2199 ((void (*)(val
*, val
*))(var_219
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_219
, var231
) /* add on <var_219:Array[Object]>*/;
2201 var233
= varonce232
;
2205 var236
= string__NativeString__to_s_with_length(var234
, var235
);
2207 varonce232
= var233
;
2209 ((void (*)(val
*, val
*))(var_219
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_219
, var233
) /* add on <var_219:Array[Object]>*/;
2210 var237
= ((val
* (*)(val
*))(var_219
->class->vft
[COLOR_string__Object__to_s
]))(var_219
) /* to_s on <var_219:Array[Object]>*/;
2211 var_cfilename
= var237
;
2212 var238
= NEW_array__Array(&type_array__Arraykernel__Object
);
2214 ((void (*)(val
*, long))(var238
->class->vft
[COLOR_array__Array__with_capacity
]))(var238
, var239
) /* with_capacity on <var238:Array[Object]>*/;
2217 var242
= varonce241
;
2221 var245
= string__NativeString__to_s_with_length(var243
, var244
);
2223 varonce241
= var242
;
2225 ((void (*)(val
*, val
*))(var_240
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_240
, var242
) /* add on <var_240:Array[Object]>*/;
2226 ((void (*)(val
*, val
*))(var_240
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_240
, var_compile_dir
) /* add on <var_240:Array[Object]>*/;
2228 var247
= varonce246
;
2232 var250
= string__NativeString__to_s_with_length(var248
, var249
);
2234 varonce246
= var247
;
2236 ((void (*)(val
*, val
*))(var_240
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_240
, var247
) /* add on <var_240:Array[Object]>*/;
2237 ((void (*)(val
*, val
*))(var_240
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_240
, var_cfilename
) /* add on <var_240:Array[Object]>*/;
2239 var252
= varonce251
;
2243 var255
= string__NativeString__to_s_with_length(var253
, var254
);
2245 varonce251
= var252
;
2247 ((void (*)(val
*, val
*))(var_240
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_240
, var252
) /* add on <var_240:Array[Object]>*/;
2248 var256
= ((val
* (*)(val
*))(var_240
->class->vft
[COLOR_string__Object__to_s
]))(var_240
) /* to_s on <var_240:Array[Object]>*/;
2249 var_cfilepath
= var256
;
2250 var257
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2252 var259
= varonce258
;
2254 var260
= "new C source files to compile: ";
2256 var262
= string__NativeString__to_s_with_length(var260
, var261
);
2258 varonce258
= var259
;
2260 var263
= NEW_array__Array(&type_array__Arraykernel__Object
);
2261 { /* var263 = array_instance Array[Object] */
2263 var265
= NEW_array__NativeArray(var264
, &type_array__NativeArraykernel__Object
);
2264 ((struct instance_array__NativeArray
*)var265
)->values
[0] = (val
*) var259
;
2265 ((struct instance_array__NativeArray
*)var265
)->values
[1] = (val
*) var_cfilepath
;
2266 ((void (*)(val
*, val
*, long))(var263
->class->vft
[COLOR_array__Array__with_native
]))(var263
, var265
, var264
) /* with_native on <var263:Array[Object]>*/;
2268 var266
= ((val
* (*)(val
*))(var263
->class->vft
[COLOR_string__Object__to_s
]))(var263
) /* to_s on <var263:Array[Object]>*/;
2270 ((void (*)(val
*, val
*, long))(var257
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var257
, var266
, var267
) /* info on <var257:ToolContext>*/;
2271 ((void (*)(val
*, val
*))(var_cfiles
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_cfiles
, var_cfilename
) /* add on <var_cfiles:Array[String]>*/;
2272 var268
= NEW_file__OFStream(&type_file__OFStream
);
2273 ((void (*)(val
*, val
*))(var268
->class->vft
[COLOR_file__OFStream__open
]))(var268
, var_cfilepath
) /* open on <var268:OFStream>*/;
2276 var270
= varonce269
;
2278 var271
= "#include \"";
2280 var273
= string__NativeString__to_s_with_length(var271
, var272
);
2282 varonce269
= var270
;
2284 var274
= ((val
* (*)(val
*))(var_f
->class->vft
[COLOR_abstract_compiler__CodeFile__name
]))(var_f
) /* name on <var_f:CodeFile>*/;
2286 var276
= varonce275
;
2288 var277
= ".0.h\"\n";
2290 var279
= string__NativeString__to_s_with_length(var277
, var278
);
2292 varonce275
= var276
;
2294 var280
= NEW_array__Array(&type_array__Arraykernel__Object
);
2295 { /* var280 = array_instance Array[Object] */
2297 var282
= NEW_array__NativeArray(var281
, &type_array__NativeArraykernel__Object
);
2298 ((struct instance_array__NativeArray
*)var282
)->values
[0] = (val
*) var270
;
2299 ((struct instance_array__NativeArray
*)var282
)->values
[1] = (val
*) var274
;
2300 ((struct instance_array__NativeArray
*)var282
)->values
[2] = (val
*) var276
;
2301 ((void (*)(val
*, val
*, long))(var280
->class->vft
[COLOR_array__Array__with_native
]))(var280
, var282
, var281
) /* with_native on <var280:Array[Object]>*/;
2303 var283
= ((val
* (*)(val
*))(var280
->class->vft
[COLOR_string__Object__to_s
]))(var280
) /* to_s on <var280:Array[Object]>*/;
2304 ((void (*)(val
*, val
*))(var_file
->class->vft
[COLOR_stream__OStream__write
]))(var_file
, var283
) /* write on <var_file:nullable OFStream(OFStream)>*/;
2305 var_count
= var_total_lines
;
2308 var284
= ((val
* (*)(val
*))(var_vis
->class->vft
[COLOR_abstract_compiler__CodeWriter__decl_lines
]))(var_vis
) /* decl_lines on <var_vis:CodeWriter>*/;
2309 var285
= ((val
* (*)(val
*))(var284
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var284
) /* iterator on <var284:List[String]>*/;
2311 var286
= ((short int (*)(val
*))(var285
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var285
) /* is_ok on <var285:Iterator[nullable Object]>*/;
2313 var287
= ((val
* (*)(val
*))(var285
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var285
) /* item on <var285:Iterator[nullable Object]>*/;
2315 ((void (*)(val
*, val
*))(var_file
->class->vft
[COLOR_stream__OStream__write
]))(var_file
, var_l288
) /* write on <var_file:nullable OFStream(OFStream)>*/;
2317 var290
= varonce289
;
2321 var293
= string__NativeString__to_s_with_length(var291
, var292
);
2323 varonce289
= var290
;
2325 ((void (*)(val
*, val
*))(var_file
->class->vft
[COLOR_stream__OStream__write
]))(var_file
, var290
) /* write on <var_file:nullable OFStream(OFStream)>*/;
2326 CONTINUE_label294
: (void)0;
2327 ((void (*)(val
*))(var285
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var285
) /* next on <var285:Iterator[nullable Object]>*/;
2329 BREAK_label294
: (void)0;
2330 var295
= ((val
* (*)(val
*))(var_vis
->class->vft
[COLOR_abstract_compiler__CodeWriter__lines
]))(var_vis
) /* lines on <var_vis:CodeWriter>*/;
2331 var296
= ((val
* (*)(val
*))(var295
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var295
) /* iterator on <var295:List[String]>*/;
2333 var297
= ((short int (*)(val
*))(var296
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var296
) /* is_ok on <var296:Iterator[nullable Object]>*/;
2335 var298
= ((val
* (*)(val
*))(var296
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var296
) /* item on <var296:Iterator[nullable Object]>*/;
2337 ((void (*)(val
*, val
*))(var_file
->class->vft
[COLOR_stream__OStream__write
]))(var_file
, var_l299
) /* write on <var_file:nullable OFStream(OFStream)>*/;
2339 var301
= varonce300
;
2343 var304
= string__NativeString__to_s_with_length(var302
, var303
);
2345 varonce300
= var301
;
2347 ((void (*)(val
*, val
*))(var_file
->class->vft
[COLOR_stream__OStream__write
]))(var_file
, var301
) /* write on <var_file:nullable OFStream(OFStream)>*/;
2348 CONTINUE_label305
: (void)0;
2349 ((void (*)(val
*))(var296
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var296
) /* next on <var296:Iterator[nullable Object]>*/;
2351 BREAK_label305
: (void)0;
2352 CONTINUE_label187
: (void)0;
2353 ((void (*)(val
*))(var182
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var182
) /* next on <var182:Iterator[nullable Object]>*/;
2355 BREAK_label187
: (void)0;
2357 if (var_file
== NULL
) {
2358 var307
= 0; /* is null */
2360 var307
= 1; /* arg is null and recv is not */
2363 ((void (*)(val
*))(var_file
->class->vft
[COLOR_stream__IOS__close
]))(var_file
) /* close on <var_file:nullable OFStream(OFStream)>*/;
2366 CONTINUE_label308
: (void)0;
2367 ((void (*)(val
*))(var101
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var101
) /* next on <var101:Iterator[nullable Object]>*/;
2369 BREAK_label308
: (void)0;
2370 var309
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2372 var311
= varonce310
;
2374 var312
= "Total C source files to compile: ";
2376 var314
= string__NativeString__to_s_with_length(var312
, var313
);
2378 varonce310
= var311
;
2380 var315
= ((long (*)(val
*))(var_cfiles
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_cfiles
) /* length on <var_cfiles:Array[String]>*/;
2381 var316
= NEW_array__Array(&type_array__Arraykernel__Object
);
2382 { /* var316 = array_instance Array[Object] */
2384 var318
= NEW_array__NativeArray(var317
, &type_array__NativeArraykernel__Object
);
2385 ((struct instance_array__NativeArray
*)var318
)->values
[0] = (val
*) var311
;
2386 var319
= BOX_kernel__Int(var315
); /* autobox from Int to Object */
2387 ((struct instance_array__NativeArray
*)var318
)->values
[1] = (val
*) var319
;
2388 ((void (*)(val
*, val
*, long))(var316
->class->vft
[COLOR_array__Array__with_native
]))(var316
, var318
, var317
) /* with_native on <var316:Array[Object]>*/;
2390 var320
= ((val
* (*)(val
*))(var316
->class->vft
[COLOR_string__Object__to_s
]))(var316
) /* to_s on <var316:Array[Object]>*/;
2392 ((void (*)(val
*, val
*, long))(var309
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var309
, var320
, var321
) /* info on <var309:ToolContext>*/;
2393 var322
= NEW_array__Array(&type_array__Arraykernel__Object
);
2395 ((void (*)(val
*, long))(var322
->class->vft
[COLOR_array__Array__with_capacity
]))(var322
, var323
) /* with_capacity on <var322:Array[Object]>*/;
2398 var326
= varonce325
;
2402 var329
= string__NativeString__to_s_with_length(var327
, var328
);
2404 varonce325
= var326
;
2406 ((void (*)(val
*, val
*))(var_324
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_324
, var326
) /* add on <var_324:Array[Object]>*/;
2407 var330
= ((val
* (*)(val
*))(var_mainmodule
->class->vft
[COLOR_mmodule__MModule__name
]))(var_mainmodule
) /* name on <var_mainmodule:MModule>*/;
2408 ((void (*)(val
*, val
*))(var_324
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_324
, var330
) /* add on <var_324:Array[Object]>*/;
2410 var332
= varonce331
;
2414 var335
= string__NativeString__to_s_with_length(var333
, var334
);
2416 varonce331
= var332
;
2418 ((void (*)(val
*, val
*))(var_324
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_324
, var332
) /* add on <var_324:Array[Object]>*/;
2419 var336
= ((val
* (*)(val
*))(var_324
->class->vft
[COLOR_string__Object__to_s
]))(var_324
) /* to_s on <var_324:Array[Object]>*/;
2420 var_makename
= var336
;
2421 var337
= NEW_array__Array(&type_array__Arraykernel__Object
);
2423 ((void (*)(val
*, long))(var337
->class->vft
[COLOR_array__Array__with_capacity
]))(var337
, var338
) /* with_capacity on <var337:Array[Object]>*/;
2426 var341
= varonce340
;
2430 var344
= string__NativeString__to_s_with_length(var342
, var343
);
2432 varonce340
= var341
;
2434 ((void (*)(val
*, val
*))(var_339
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_339
, var341
) /* add on <var_339:Array[Object]>*/;
2435 ((void (*)(val
*, val
*))(var_339
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_339
, var_compile_dir
) /* add on <var_339:Array[Object]>*/;
2437 var346
= varonce345
;
2441 var349
= string__NativeString__to_s_with_length(var347
, var348
);
2443 varonce345
= var346
;
2445 ((void (*)(val
*, val
*))(var_339
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_339
, var346
) /* add on <var_339:Array[Object]>*/;
2446 ((void (*)(val
*, val
*))(var_339
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_339
, var_makename
) /* add on <var_339:Array[Object]>*/;
2448 var351
= varonce350
;
2452 var354
= string__NativeString__to_s_with_length(var352
, var353
);
2454 varonce350
= var351
;
2456 ((void (*)(val
*, val
*))(var_339
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_339
, var351
) /* add on <var_339:Array[Object]>*/;
2457 var355
= ((val
* (*)(val
*))(var_339
->class->vft
[COLOR_string__Object__to_s
]))(var_339
) /* to_s on <var_339:Array[Object]>*/;
2458 var_makepath
= var355
;
2459 var356
= NEW_file__OFStream(&type_file__OFStream
);
2460 ((void (*)(val
*, val
*))(var356
->class->vft
[COLOR_file__OFStream__open
]))(var356
, var_makepath
) /* open on <var356:OFStream>*/;
2461 var_makefile
= var356
;
2463 var358
= varonce357
;
2467 var361
= string__NativeString__to_s_with_length(var359
, var360
);
2469 varonce357
= var358
;
2471 var_cc_includes
= var358
;
2472 var362
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ModelBuilder__cc_paths
]))(self
) /* cc_paths on <self:ModelBuilder>*/;
2473 var363
= ((val
* (*)(val
*))(var362
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var362
) /* iterator on <var362:Array[String]>*/;
2475 var364
= ((short int (*)(val
*))(var363
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var363
) /* is_ok on <var363:Iterator[nullable Object]>*/;
2477 var365
= ((val
* (*)(val
*))(var363
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var363
) /* item on <var363:Iterator[nullable Object]>*/;
2479 var366
= ((val
* (*)(val
*, val
*))(var_orig_dir
->class->vft
[COLOR_file__String__join_path
]))(var_orig_dir
, var_p
) /* join_path on <var_orig_dir:String>*/;
2480 var367
= ((val
* (*)(val
*))(var366
->class->vft
[COLOR_file__String__simplify_path
]))(var366
) /* simplify_path on <var366:String>*/;
2483 var369
= varonce368
;
2487 var372
= string__NativeString__to_s_with_length(var370
, var371
);
2489 varonce368
= var369
;
2491 var373
= ((val
* (*)(val
*, val
*))(var369
->class->vft
[COLOR_string__String___43d
]))(var369
, var_p
) /* + on <var369:String>*/;
2493 var375
= varonce374
;
2497 var378
= string__NativeString__to_s_with_length(var376
, var377
);
2499 varonce374
= var375
;
2501 var379
= ((val
* (*)(val
*, val
*))(var373
->class->vft
[COLOR_string__String___43d
]))(var373
, var375
) /* + on <var373:String>*/;
2502 var380
= ((val
* (*)(val
*, val
*))(var_cc_includes
->class->vft
[COLOR_string__String___43d
]))(var_cc_includes
, var379
) /* + on <var_cc_includes:String>*/;
2503 var_cc_includes
= var380
;
2504 CONTINUE_label381
: (void)0;
2505 ((void (*)(val
*))(var363
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var363
) /* next on <var363:Iterator[nullable Object]>*/;
2507 BREAK_label381
: (void)0;
2508 var382
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2509 var383
= ((val
* (*)(val
*))(var382
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_stacktrace
]))(var382
) /* opt_no_stacktrace on <var382:ToolContext>*/;
2510 var384
= ((val
* (*)(val
*))(var383
->class->vft
[COLOR_opts__Option__value
]))(var383
) /* value on <var383:OptionBool>*/;
2511 var385
= ((struct instance_kernel__Bool
*)var384
)->value
; /* autounbox from nullable Object to Bool */;
2514 var387
= varonce386
;
2516 var388
= "CC = ccache cc\nCFLAGS = -g -O2\nCINCL = ";
2518 var390
= string__NativeString__to_s_with_length(var388
, var389
);
2520 varonce386
= var387
;
2523 var392
= varonce391
;
2525 var393
= "\nLDFLAGS ?= \nLDLIBS ?= -lm -lgc\n\n";
2527 var395
= string__NativeString__to_s_with_length(var393
, var394
);
2529 varonce391
= var392
;
2531 var396
= NEW_array__Array(&type_array__Arraykernel__Object
);
2532 { /* var396 = array_instance Array[Object] */
2534 var398
= NEW_array__NativeArray(var397
, &type_array__NativeArraykernel__Object
);
2535 ((struct instance_array__NativeArray
*)var398
)->values
[0] = (val
*) var387
;
2536 ((struct instance_array__NativeArray
*)var398
)->values
[1] = (val
*) var_cc_includes
;
2537 ((struct instance_array__NativeArray
*)var398
)->values
[2] = (val
*) var392
;
2538 ((void (*)(val
*, val
*, long))(var396
->class->vft
[COLOR_array__Array__with_native
]))(var396
, var398
, var397
) /* with_native on <var396:Array[Object]>*/;
2540 var399
= ((val
* (*)(val
*))(var396
->class->vft
[COLOR_string__Object__to_s
]))(var396
) /* to_s on <var396:Array[Object]>*/;
2541 ((void (*)(val
*, val
*))(var_makefile
->class->vft
[COLOR_stream__OStream__write
]))(var_makefile
, var399
) /* write on <var_makefile:OFStream>*/;
2544 var401
= varonce400
;
2546 var402
= "CC = ccache cc\nCFLAGS = -g -O2\nCINCL = ";
2548 var404
= string__NativeString__to_s_with_length(var402
, var403
);
2550 varonce400
= var401
;
2553 var406
= varonce405
;
2555 var407
= "\nLDFLAGS ?= \nLDLIBS ?= -lunwind -lm -lgc\n\n";
2557 var409
= string__NativeString__to_s_with_length(var407
, var408
);
2559 varonce405
= var406
;
2561 var410
= NEW_array__Array(&type_array__Arraykernel__Object
);
2562 { /* var410 = array_instance Array[Object] */
2564 var412
= NEW_array__NativeArray(var411
, &type_array__NativeArraykernel__Object
);
2565 ((struct instance_array__NativeArray
*)var412
)->values
[0] = (val
*) var401
;
2566 ((struct instance_array__NativeArray
*)var412
)->values
[1] = (val
*) var_cc_includes
;
2567 ((struct instance_array__NativeArray
*)var412
)->values
[2] = (val
*) var406
;
2568 ((void (*)(val
*, val
*, long))(var410
->class->vft
[COLOR_array__Array__with_native
]))(var410
, var412
, var411
) /* with_native on <var410:Array[Object]>*/;
2570 var413
= ((val
* (*)(val
*))(var410
->class->vft
[COLOR_string__Object__to_s
]))(var410
) /* to_s on <var410:Array[Object]>*/;
2571 ((void (*)(val
*, val
*))(var_makefile
->class->vft
[COLOR_stream__OStream__write
]))(var_makefile
, var413
) /* write on <var_makefile:OFStream>*/;
2574 var415
= varonce414
;
2578 var418
= string__NativeString__to_s_with_length(var416
, var417
);
2580 varonce414
= var415
;
2583 var420
= varonce419
;
2587 var423
= string__NativeString__to_s_with_length(var421
, var422
);
2589 varonce419
= var420
;
2591 var424
= NEW_array__Array(&type_array__Arraykernel__Object
);
2592 { /* var424 = array_instance Array[Object] */
2594 var426
= NEW_array__NativeArray(var425
, &type_array__NativeArraykernel__Object
);
2595 ((struct instance_array__NativeArray
*)var426
)->values
[0] = (val
*) var415
;
2596 ((struct instance_array__NativeArray
*)var426
)->values
[1] = (val
*) var_outpath
;
2597 ((struct instance_array__NativeArray
*)var426
)->values
[2] = (val
*) var420
;
2598 ((void (*)(val
*, val
*, long))(var424
->class->vft
[COLOR_array__Array__with_native
]))(var424
, var426
, var425
) /* with_native on <var424:Array[Object]>*/;
2600 var427
= ((val
* (*)(val
*))(var424
->class->vft
[COLOR_string__Object__to_s
]))(var424
) /* to_s on <var424:Array[Object]>*/;
2601 ((void (*)(val
*, val
*))(var_makefile
->class->vft
[COLOR_stream__OStream__write
]))(var_makefile
, var427
) /* write on <var_makefile:OFStream>*/;
2602 var428
= NEW_array__Array(&type_array__Arraystring__String
);
2603 ((void (*)(val
*))(var428
->class->vft
[COLOR_array__Array__init
]))(var428
) /* init on <var428:Array[String]>*/;
2604 var_ofiles
= var428
;
2605 var429
= ((val
* (*)(val
*))(var_cfiles
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_cfiles
) /* iterator on <var_cfiles:Array[String]>*/;
2607 var430
= ((short int (*)(val
*))(var429
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var429
) /* is_ok on <var429:Iterator[nullable Object]>*/;
2609 var431
= ((val
* (*)(val
*))(var429
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var429
) /* item on <var429:Iterator[nullable Object]>*/;
2612 var434
= varonce433
;
2616 var437
= string__NativeString__to_s_with_length(var435
, var436
);
2618 varonce433
= var434
;
2620 var438
= ((val
* (*)(val
*, val
*))(var_f432
->class->vft
[COLOR_file__String__strip_extension
]))(var_f432
, var434
) /* strip_extension on <var_f432:String>*/;
2622 var440
= varonce439
;
2626 var443
= string__NativeString__to_s_with_length(var441
, var442
);
2628 varonce439
= var440
;
2630 var444
= ((val
* (*)(val
*, val
*))(var438
->class->vft
[COLOR_string__String___43d
]))(var438
, var440
) /* + on <var438:String>*/;
2633 var446
= varonce445
;
2637 var449
= string__NativeString__to_s_with_length(var447
, var448
);
2639 varonce445
= var446
;
2642 var451
= varonce450
;
2644 var452
= "\n\11$(CC) $(CFLAGS) $(CINCL) -D NONITCNI -c -o ";
2646 var454
= string__NativeString__to_s_with_length(var452
, var453
);
2648 varonce450
= var451
;
2651 var456
= varonce455
;
2655 var459
= string__NativeString__to_s_with_length(var457
, var458
);
2657 varonce455
= var456
;
2660 var461
= varonce460
;
2664 var464
= string__NativeString__to_s_with_length(var462
, var463
);
2666 varonce460
= var461
;
2668 var465
= NEW_array__Array(&type_array__Arraykernel__Object
);
2669 { /* var465 = array_instance Array[Object] */
2671 var467
= NEW_array__NativeArray(var466
, &type_array__NativeArraykernel__Object
);
2672 ((struct instance_array__NativeArray
*)var467
)->values
[0] = (val
*) var_o
;
2673 ((struct instance_array__NativeArray
*)var467
)->values
[1] = (val
*) var446
;
2674 ((struct instance_array__NativeArray
*)var467
)->values
[2] = (val
*) var_f432
;
2675 ((struct instance_array__NativeArray
*)var467
)->values
[3] = (val
*) var451
;
2676 ((struct instance_array__NativeArray
*)var467
)->values
[4] = (val
*) var_o
;
2677 ((struct instance_array__NativeArray
*)var467
)->values
[5] = (val
*) var456
;
2678 ((struct instance_array__NativeArray
*)var467
)->values
[6] = (val
*) var_f432
;
2679 ((struct instance_array__NativeArray
*)var467
)->values
[7] = (val
*) var461
;
2680 ((void (*)(val
*, val
*, long))(var465
->class->vft
[COLOR_array__Array__with_native
]))(var465
, var467
, var466
) /* with_native on <var465:Array[Object]>*/;
2682 var468
= ((val
* (*)(val
*))(var465
->class->vft
[COLOR_string__Object__to_s
]))(var465
) /* to_s on <var465:Array[Object]>*/;
2683 ((void (*)(val
*, val
*))(var_makefile
->class->vft
[COLOR_stream__OStream__write
]))(var_makefile
, var468
) /* write on <var_makefile:OFStream>*/;
2684 ((void (*)(val
*, val
*))(var_ofiles
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_ofiles
, var_o
) /* add on <var_ofiles:Array[String]>*/;
2685 CONTINUE_label469
: (void)0;
2686 ((void (*)(val
*))(var429
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var429
) /* next on <var429:Iterator[nullable Object]>*/;
2688 BREAK_label469
: (void)0;
2689 var470
= NEW_abstract_compiler__ExternCFile(&type_abstract_compiler__ExternCFile
);
2690 var471
= NEW_array__Array(&type_array__Arraykernel__Object
);
2692 ((void (*)(val
*, long))(var471
->class->vft
[COLOR_array__Array__with_capacity
]))(var471
, var472
) /* with_capacity on <var471:Array[Object]>*/;
2695 var475
= varonce474
;
2699 var478
= string__NativeString__to_s_with_length(var476
, var477
);
2701 varonce474
= var475
;
2703 ((void (*)(val
*, val
*))(var_473
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_473
, var475
) /* add on <var_473:Array[Object]>*/;
2704 var479
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ModelBuilder__cc_paths
]))(self
) /* cc_paths on <self:ModelBuilder>*/;
2705 var480
= ((val
* (*)(val
*))(var479
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var479
) /* first on <var479:Array[String]>*/;
2706 ((void (*)(val
*, val
*))(var_473
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_473
, var480
) /* add on <var_473:Array[Object]>*/;
2708 var482
= varonce481
;
2710 var483
= "/gc_chooser.c";
2712 var485
= string__NativeString__to_s_with_length(var483
, var484
);
2714 varonce481
= var482
;
2716 ((void (*)(val
*, val
*))(var_473
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_473
, var482
) /* add on <var_473:Array[Object]>*/;
2717 var486
= ((val
* (*)(val
*))(var_473
->class->vft
[COLOR_string__Object__to_s
]))(var_473
) /* to_s on <var_473:Array[Object]>*/;
2719 var488
= varonce487
;
2721 var489
= "-DWITH_LIBGC";
2723 var491
= string__NativeString__to_s_with_length(var489
, var490
);
2725 varonce487
= var488
;
2727 ((void (*)(val
*, val
*, val
*))(var470
->class->vft
[COLOR_abstract_compiler__ExternCFile__init
]))(var470
, var486
, var488
) /* init on <var470:ExternCFile>*/;
2728 var_gc_chooser
= var470
;
2729 var492
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__extern_bodies
]))(var_compiler
) /* extern_bodies on <var_compiler:AbstractCompiler>*/;
2730 ((void (*)(val
*, val
*))(var492
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var492
, var_gc_chooser
) /* add on <var492:Array[ExternCFile]>*/;
2731 var493
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__extern_bodies
]))(var_compiler
) /* extern_bodies on <var_compiler:AbstractCompiler>*/;
2732 var494
= ((val
* (*)(val
*))(var493
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var493
) /* iterator on <var493:Array[ExternCFile]>*/;
2734 var495
= ((short int (*)(val
*))(var494
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var494
) /* is_ok on <var494:Iterator[nullable Object]>*/;
2736 var496
= ((val
* (*)(val
*))(var494
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var494
) /* item on <var494:Iterator[nullable Object]>*/;
2738 var498
= ((val
* (*)(val
*))(var_f497
->class->vft
[COLOR_abstract_compiler__ExternCFile__filename
]))(var_f497
) /* filename on <var_f497:ExternCFile>*/;
2740 var500
= varonce499
;
2744 var503
= string__NativeString__to_s_with_length(var501
, var502
);
2746 varonce499
= var500
;
2748 var504
= ((val
* (*)(val
*, val
*))(var498
->class->vft
[COLOR_file__String__basename
]))(var498
, var500
) /* basename on <var498:String>*/;
2749 var_basename
= var504
;
2750 var505
= NEW_array__Array(&type_array__Arraykernel__Object
);
2752 ((void (*)(val
*, long))(var505
->class->vft
[COLOR_array__Array__with_capacity
]))(var505
, var506
) /* with_capacity on <var505:Array[Object]>*/;
2755 var509
= varonce508
;
2759 var512
= string__NativeString__to_s_with_length(var510
, var511
);
2761 varonce508
= var509
;
2763 ((void (*)(val
*, val
*))(var_507
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_507
, var509
) /* add on <var_507:Array[Object]>*/;
2764 ((void (*)(val
*, val
*))(var_507
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_507
, var_basename
) /* add on <var_507:Array[Object]>*/;
2766 var514
= varonce513
;
2768 var515
= ".extern.o";
2770 var517
= string__NativeString__to_s_with_length(var515
, var516
);
2772 varonce513
= var514
;
2774 ((void (*)(val
*, val
*))(var_507
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_507
, var514
) /* add on <var_507:Array[Object]>*/;
2775 var518
= ((val
* (*)(val
*))(var_507
->class->vft
[COLOR_string__Object__to_s
]))(var_507
) /* to_s on <var_507:Array[Object]>*/;
2777 var520
= ((val
* (*)(val
*))(var_f497
->class->vft
[COLOR_abstract_compiler__ExternCFile__filename
]))(var_f497
) /* filename on <var_f497:ExternCFile>*/;
2778 var521
= ((val
* (*)(val
*, val
*))(var_orig_dir
->class->vft
[COLOR_file__String__join_path
]))(var_orig_dir
, var520
) /* join_path on <var_orig_dir:String>*/;
2779 var522
= ((val
* (*)(val
*))(var521
->class->vft
[COLOR_file__String__simplify_path
]))(var521
) /* simplify_path on <var521:String>*/;
2782 var524
= varonce523
;
2786 var527
= string__NativeString__to_s_with_length(var525
, var526
);
2788 varonce523
= var524
;
2791 var529
= varonce528
;
2793 var530
= "\n\11$(CC) $(CFLAGS) -D NONITCNI ";
2795 var532
= string__NativeString__to_s_with_length(var530
, var531
);
2797 varonce528
= var529
;
2799 var533
= ((val
* (*)(val
*))(var_f497
->class->vft
[COLOR_abstract_compiler__ExternCFile__cflags
]))(var_f497
) /* cflags on <var_f497:ExternCFile>*/;
2801 var535
= varonce534
;
2805 var538
= string__NativeString__to_s_with_length(var536
, var537
);
2807 varonce534
= var535
;
2810 var540
= varonce539
;
2814 var543
= string__NativeString__to_s_with_length(var541
, var542
);
2816 varonce539
= var540
;
2819 var545
= varonce544
;
2823 var548
= string__NativeString__to_s_with_length(var546
, var547
);
2825 varonce544
= var545
;
2827 var549
= NEW_array__Array(&type_array__Arraykernel__Object
);
2828 { /* var549 = array_instance Array[Object] */
2830 var551
= NEW_array__NativeArray(var550
, &type_array__NativeArraykernel__Object
);
2831 ((struct instance_array__NativeArray
*)var551
)->values
[0] = (val
*) var_o519
;
2832 ((struct instance_array__NativeArray
*)var551
)->values
[1] = (val
*) var524
;
2833 ((struct instance_array__NativeArray
*)var551
)->values
[2] = (val
*) var_ff
;
2834 ((struct instance_array__NativeArray
*)var551
)->values
[3] = (val
*) var529
;
2835 ((struct instance_array__NativeArray
*)var551
)->values
[4] = (val
*) var533
;
2836 ((struct instance_array__NativeArray
*)var551
)->values
[5] = (val
*) var535
;
2837 ((struct instance_array__NativeArray
*)var551
)->values
[6] = (val
*) var_o519
;
2838 ((struct instance_array__NativeArray
*)var551
)->values
[7] = (val
*) var540
;
2839 ((struct instance_array__NativeArray
*)var551
)->values
[8] = (val
*) var_ff
;
2840 ((struct instance_array__NativeArray
*)var551
)->values
[9] = (val
*) var545
;
2841 ((void (*)(val
*, val
*, long))(var549
->class->vft
[COLOR_array__Array__with_native
]))(var549
, var551
, var550
) /* with_native on <var549:Array[Object]>*/;
2843 var552
= ((val
* (*)(val
*))(var549
->class->vft
[COLOR_string__Object__to_s
]))(var549
) /* to_s on <var549:Array[Object]>*/;
2844 ((void (*)(val
*, val
*))(var_makefile
->class->vft
[COLOR_stream__OStream__write
]))(var_makefile
, var552
) /* write on <var_makefile:OFStream>*/;
2845 ((void (*)(val
*, val
*))(var_ofiles
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_ofiles
, var_o519
) /* add on <var_ofiles:Array[String]>*/;
2846 CONTINUE_label553
: (void)0;
2847 ((void (*)(val
*))(var494
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var494
) /* next on <var494:Iterator[nullable Object]>*/;
2849 BREAK_label553
: (void)0;
2851 var555
= varonce554
;
2855 var558
= string__NativeString__to_s_with_length(var556
, var557
);
2857 varonce554
= var555
;
2860 var560
= varonce559
;
2864 var563
= string__NativeString__to_s_with_length(var561
, var562
);
2866 varonce559
= var560
;
2868 var564
= ((val
* (*)(val
*, val
*))(var_ofiles
->class->vft
[COLOR_string__Collection__join
]))(var_ofiles
, var560
) /* join on <var_ofiles:Array[String]>*/;
2870 var566
= varonce565
;
2872 var567
= "\n\11$(CC) $(LDFLAGS) -o ";
2874 var569
= string__NativeString__to_s_with_length(var567
, var568
);
2876 varonce565
= var566
;
2879 var571
= varonce570
;
2883 var574
= string__NativeString__to_s_with_length(var572
, var573
);
2885 varonce570
= var571
;
2888 var576
= varonce575
;
2892 var579
= string__NativeString__to_s_with_length(var577
, var578
);
2894 varonce575
= var576
;
2896 var580
= ((val
* (*)(val
*, val
*))(var_ofiles
->class->vft
[COLOR_string__Collection__join
]))(var_ofiles
, var576
) /* join on <var_ofiles:Array[String]>*/;
2898 var582
= varonce581
;
2900 var583
= " $(LDLIBS)\n\n";
2902 var585
= string__NativeString__to_s_with_length(var583
, var584
);
2904 varonce581
= var582
;
2906 var586
= NEW_array__Array(&type_array__Arraykernel__Object
);
2907 { /* var586 = array_instance Array[Object] */
2909 var588
= NEW_array__NativeArray(var587
, &type_array__NativeArraykernel__Object
);
2910 ((struct instance_array__NativeArray
*)var588
)->values
[0] = (val
*) var_outpath
;
2911 ((struct instance_array__NativeArray
*)var588
)->values
[1] = (val
*) var555
;
2912 ((struct instance_array__NativeArray
*)var588
)->values
[2] = (val
*) var564
;
2913 ((struct instance_array__NativeArray
*)var588
)->values
[3] = (val
*) var566
;
2914 ((struct instance_array__NativeArray
*)var588
)->values
[4] = (val
*) var_outpath
;
2915 ((struct instance_array__NativeArray
*)var588
)->values
[5] = (val
*) var571
;
2916 ((struct instance_array__NativeArray
*)var588
)->values
[6] = (val
*) var580
;
2917 ((struct instance_array__NativeArray
*)var588
)->values
[7] = (val
*) var582
;
2918 ((void (*)(val
*, val
*, long))(var586
->class->vft
[COLOR_array__Array__with_native
]))(var586
, var588
, var587
) /* with_native on <var586:Array[Object]>*/;
2920 var589
= ((val
* (*)(val
*))(var586
->class->vft
[COLOR_string__Object__to_s
]))(var586
) /* to_s on <var586:Array[Object]>*/;
2921 ((void (*)(val
*, val
*))(var_makefile
->class->vft
[COLOR_stream__OStream__write
]))(var_makefile
, var589
) /* write on <var_makefile:OFStream>*/;
2923 var591
= varonce590
;
2925 var592
= "clean:\n\11rm ";
2927 var594
= string__NativeString__to_s_with_length(var592
, var593
);
2929 varonce590
= var591
;
2932 var596
= varonce595
;
2936 var599
= string__NativeString__to_s_with_length(var597
, var598
);
2938 varonce595
= var596
;
2940 var600
= ((val
* (*)(val
*, val
*))(var_ofiles
->class->vft
[COLOR_string__Collection__join
]))(var_ofiles
, var596
) /* join on <var_ofiles:Array[String]>*/;
2942 var602
= varonce601
;
2944 var603
= " 2>/dev/null\n\n";
2946 var605
= string__NativeString__to_s_with_length(var603
, var604
);
2948 varonce601
= var602
;
2950 var606
= NEW_array__Array(&type_array__Arraykernel__Object
);
2951 { /* var606 = array_instance Array[Object] */
2953 var608
= NEW_array__NativeArray(var607
, &type_array__NativeArraykernel__Object
);
2954 ((struct instance_array__NativeArray
*)var608
)->values
[0] = (val
*) var591
;
2955 ((struct instance_array__NativeArray
*)var608
)->values
[1] = (val
*) var600
;
2956 ((struct instance_array__NativeArray
*)var608
)->values
[2] = (val
*) var602
;
2957 ((void (*)(val
*, val
*, long))(var606
->class->vft
[COLOR_array__Array__with_native
]))(var606
, var608
, var607
) /* with_native on <var606:Array[Object]>*/;
2959 var609
= ((val
* (*)(val
*))(var606
->class->vft
[COLOR_string__Object__to_s
]))(var606
) /* to_s on <var606:Array[Object]>*/;
2960 ((void (*)(val
*, val
*))(var_makefile
->class->vft
[COLOR_stream__OStream__write
]))(var_makefile
, var609
) /* write on <var_makefile:OFStream>*/;
2961 ((void (*)(val
*))(var_makefile
->class->vft
[COLOR_stream__IOS__close
]))(var_makefile
) /* close on <var_makefile:OFStream>*/;
2962 var610
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2964 var612
= varonce611
;
2966 var613
= "Generated makefile: ";
2968 var615
= string__NativeString__to_s_with_length(var613
, var614
);
2970 varonce611
= var612
;
2972 var616
= NEW_array__Array(&type_array__Arraykernel__Object
);
2973 { /* var616 = array_instance Array[Object] */
2975 var618
= NEW_array__NativeArray(var617
, &type_array__NativeArraykernel__Object
);
2976 ((struct instance_array__NativeArray
*)var618
)->values
[0] = (val
*) var612
;
2977 ((struct instance_array__NativeArray
*)var618
)->values
[1] = (val
*) var_makepath
;
2978 ((void (*)(val
*, val
*, long))(var616
->class->vft
[COLOR_array__Array__with_native
]))(var616
, var618
, var617
) /* with_native on <var616:Array[Object]>*/;
2980 var619
= ((val
* (*)(val
*))(var616
->class->vft
[COLOR_string__Object__to_s
]))(var616
) /* to_s on <var616:Array[Object]>*/;
2982 ((void (*)(val
*, val
*, long))(var610
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var610
, var619
, var620
) /* info on <var610:ToolContext>*/;
2983 var621
= ((long (*)(val
*))(self
->class->vft
[COLOR_time__Object__get_time
]))(self
) /* get_time on <self:ModelBuilder>*/;
2985 var622
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2987 var624
= varonce623
;
2989 var625
= "*** END WRITING C: ";
2991 var627
= string__NativeString__to_s_with_length(var625
, var626
);
2993 varonce623
= var624
;
2995 { /* Inline kernel#Int#- (var_time1,var_time0) */
2996 var630
= var_time1
- var_time0
;
2999 RET_LABEL629
:(void)0;
3002 var632
= varonce631
;
3006 var635
= string__NativeString__to_s_with_length(var633
, var634
);
3008 varonce631
= var632
;
3010 var636
= NEW_array__Array(&type_array__Arraykernel__Object
);
3011 { /* var636 = array_instance Array[Object] */
3013 var638
= NEW_array__NativeArray(var637
, &type_array__NativeArraykernel__Object
);
3014 ((struct instance_array__NativeArray
*)var638
)->values
[0] = (val
*) var624
;
3015 var639
= BOX_kernel__Int(var628
); /* autobox from Int to Object */
3016 ((struct instance_array__NativeArray
*)var638
)->values
[1] = (val
*) var639
;
3017 ((struct instance_array__NativeArray
*)var638
)->values
[2] = (val
*) var632
;
3018 ((void (*)(val
*, val
*, long))(var636
->class->vft
[COLOR_array__Array__with_native
]))(var636
, var638
, var637
) /* with_native on <var636:Array[Object]>*/;
3020 var640
= ((val
* (*)(val
*))(var636
->class->vft
[COLOR_string__Object__to_s
]))(var636
) /* to_s on <var636:Array[Object]>*/;
3022 ((void (*)(val
*, val
*, long))(var622
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var622
, var640
, var641
) /* info on <var622:ToolContext>*/;
3023 var642
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
3024 var643
= ((val
* (*)(val
*))(var642
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_cc
]))(var642
) /* opt_no_cc on <var642:ToolContext>*/;
3025 var644
= ((val
* (*)(val
*))(var643
->class->vft
[COLOR_opts__Option__value
]))(var643
) /* value on <var643:OptionBool>*/;
3026 var645
= ((struct instance_kernel__Bool
*)var644
)->value
; /* autounbox from nullable Object to Bool */;
3031 var_time0
= var_time1
;
3032 var646
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
3034 var648
= varonce647
;
3036 var649
= "*** COMPILING C ***";
3038 var651
= string__NativeString__to_s_with_length(var649
, var650
);
3040 varonce647
= var648
;
3043 ((void (*)(val
*, val
*, long))(var646
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var646
, var648
, var652
) /* info on <var646:ToolContext>*/;
3044 var653
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
3045 var654
= ((val
* (*)(val
*))(var653
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_make_flags
]))(var653
) /* opt_make_flags on <var653:ToolContext>*/;
3046 var655
= ((val
* (*)(val
*))(var654
->class->vft
[COLOR_opts__Option__value
]))(var654
) /* value on <var654:OptionString>*/;
3047 var_makeflags
= var655
;
3049 if (var_makeflags
== NULL
) {
3050 var657
= 1; /* is null */
3052 var657
= 0; /* arg is null but recv is not */
3056 var659
= varonce658
;
3060 var662
= string__NativeString__to_s_with_length(var660
, var661
);
3062 varonce658
= var659
;
3064 var_makeflags
= var659
;
3067 var663
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
3069 var665
= varonce664
;
3071 var666
= "make -B -C ";
3073 var668
= string__NativeString__to_s_with_length(var666
, var667
);
3075 varonce664
= var665
;
3078 var670
= varonce669
;
3082 var673
= string__NativeString__to_s_with_length(var671
, var672
);
3084 varonce669
= var670
;
3087 var675
= varonce674
;
3091 var678
= string__NativeString__to_s_with_length(var676
, var677
);
3093 varonce674
= var675
;
3095 var679
= NEW_array__Array(&type_array__Arraykernel__Object
);
3096 { /* var679 = array_instance Array[Object] */
3098 var681
= NEW_array__NativeArray(var680
, &type_array__NativeArraykernel__Object
);
3099 ((struct instance_array__NativeArray
*)var681
)->values
[0] = (val
*) var665
;
3100 ((struct instance_array__NativeArray
*)var681
)->values
[1] = (val
*) var_compile_dir
;
3101 ((struct instance_array__NativeArray
*)var681
)->values
[2] = (val
*) var670
;
3102 ((struct instance_array__NativeArray
*)var681
)->values
[3] = (val
*) var_makename
;
3103 ((struct instance_array__NativeArray
*)var681
)->values
[4] = (val
*) var675
;
3104 ((struct instance_array__NativeArray
*)var681
)->values
[5] = (val
*) var_makeflags
;
3105 ((void (*)(val
*, val
*, long))(var679
->class->vft
[COLOR_array__Array__with_native
]))(var679
, var681
, var680
) /* with_native on <var679:Array[Object]>*/;
3107 var682
= ((val
* (*)(val
*))(var679
->class->vft
[COLOR_string__Object__to_s
]))(var679
) /* to_s on <var679:Array[Object]>*/;
3109 ((void (*)(val
*, val
*, long))(var663
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var663
, var682
, var683
) /* info on <var663:ToolContext>*/;
3110 var684
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
3111 var685
= ((long (*)(val
*))(var684
->class->vft
[COLOR_toolcontext__ToolContext__verbose_level
]))(var684
) /* verbose_level on <var684:ToolContext>*/;
3113 { /* Inline kernel#Int#>= (var685,var686) */
3114 /* Covariant cast for argument 0 (i) <var686:Int> isa OTHER */
3115 /* <var686:Int> isa OTHER */
3116 var689
= 1; /* easy <var686:Int> isa OTHER*/
3118 var_class_name692
= type_kernel__Int
.name
;
3119 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name692
);
3120 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
3123 var693
= var685
>= var686
;
3126 RET_LABEL688
:(void)0;
3129 var694
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__sys
]))(self
) /* sys on <self:ModelBuilder>*/;
3131 var696
= varonce695
;
3133 var697
= "make -B -C ";
3135 var699
= string__NativeString__to_s_with_length(var697
, var698
);
3137 varonce695
= var696
;
3140 var701
= varonce700
;
3144 var704
= string__NativeString__to_s_with_length(var702
, var703
);
3146 varonce700
= var701
;
3149 var706
= varonce705
;
3153 var709
= string__NativeString__to_s_with_length(var707
, var708
);
3155 varonce705
= var706
;
3158 var711
= varonce710
;
3162 var714
= string__NativeString__to_s_with_length(var712
, var713
);
3164 varonce710
= var711
;
3166 var715
= NEW_array__Array(&type_array__Arraykernel__Object
);
3167 { /* var715 = array_instance Array[Object] */
3169 var717
= NEW_array__NativeArray(var716
, &type_array__NativeArraykernel__Object
);
3170 ((struct instance_array__NativeArray
*)var717
)->values
[0] = (val
*) var696
;
3171 ((struct instance_array__NativeArray
*)var717
)->values
[1] = (val
*) var_compile_dir
;
3172 ((struct instance_array__NativeArray
*)var717
)->values
[2] = (val
*) var701
;
3173 ((struct instance_array__NativeArray
*)var717
)->values
[3] = (val
*) var_makename
;
3174 ((struct instance_array__NativeArray
*)var717
)->values
[4] = (val
*) var706
;
3175 ((struct instance_array__NativeArray
*)var717
)->values
[5] = (val
*) var_makeflags
;
3176 ((struct instance_array__NativeArray
*)var717
)->values
[6] = (val
*) var711
;
3177 ((void (*)(val
*, val
*, long))(var715
->class->vft
[COLOR_array__Array__with_native
]))(var715
, var717
, var716
) /* with_native on <var715:Array[Object]>*/;
3179 var718
= ((val
* (*)(val
*))(var715
->class->vft
[COLOR_string__Object__to_s
]))(var715
) /* to_s on <var715:Array[Object]>*/;
3180 var719
= ((long (*)(val
*, val
*))(var694
->class->vft
[COLOR_exec__Sys__system
]))(var694
, var718
) /* system on <var694:Sys>*/;
3181 var720
= BOX_kernel__Int(var719
); /* autobox from Int to nullable Object */
3184 var721
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__sys
]))(self
) /* sys on <self:ModelBuilder>*/;
3186 var723
= varonce722
;
3188 var724
= "make -B -C ";
3190 var726
= string__NativeString__to_s_with_length(var724
, var725
);
3192 varonce722
= var723
;
3195 var728
= varonce727
;
3199 var731
= string__NativeString__to_s_with_length(var729
, var730
);
3201 varonce727
= var728
;
3204 var733
= varonce732
;
3208 var736
= string__NativeString__to_s_with_length(var734
, var735
);
3210 varonce732
= var733
;
3213 var738
= varonce737
;
3215 var739
= " 2>&1 >/dev/null";
3217 var741
= string__NativeString__to_s_with_length(var739
, var740
);
3219 varonce737
= var738
;
3221 var742
= NEW_array__Array(&type_array__Arraykernel__Object
);
3222 { /* var742 = array_instance Array[Object] */
3224 var744
= NEW_array__NativeArray(var743
, &type_array__NativeArraykernel__Object
);
3225 ((struct instance_array__NativeArray
*)var744
)->values
[0] = (val
*) var723
;
3226 ((struct instance_array__NativeArray
*)var744
)->values
[1] = (val
*) var_compile_dir
;
3227 ((struct instance_array__NativeArray
*)var744
)->values
[2] = (val
*) var728
;
3228 ((struct instance_array__NativeArray
*)var744
)->values
[3] = (val
*) var_makename
;
3229 ((struct instance_array__NativeArray
*)var744
)->values
[4] = (val
*) var733
;
3230 ((struct instance_array__NativeArray
*)var744
)->values
[5] = (val
*) var_makeflags
;
3231 ((struct instance_array__NativeArray
*)var744
)->values
[6] = (val
*) var738
;
3232 ((void (*)(val
*, val
*, long))(var742
->class->vft
[COLOR_array__Array__with_native
]))(var742
, var744
, var743
) /* with_native on <var742:Array[Object]>*/;
3234 var745
= ((val
* (*)(val
*))(var742
->class->vft
[COLOR_string__Object__to_s
]))(var742
) /* to_s on <var742:Array[Object]>*/;
3235 var746
= ((long (*)(val
*, val
*))(var721
->class->vft
[COLOR_exec__Sys__system
]))(var721
, var745
) /* system on <var721:Sys>*/;
3236 var747
= BOX_kernel__Int(var746
); /* autobox from Int to nullable Object */
3240 { /* Inline kernel#Int#!= (var_res,var748) */
3241 var751
= (var_res
!= NULL
) && (var_res
->class == &class_kernel__Int
);
3243 var752
= ((struct instance_kernel__Int
*)var_res
)->value
; /* autounbox from nullable Object to Int */;
3244 var751
= (var752
== var748
);
3249 RET_LABEL750
:(void)0;
3252 var754
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
3255 var757
= varonce756
;
3257 var758
= "make failed! Error code: ";
3259 var760
= string__NativeString__to_s_with_length(var758
, var759
);
3261 varonce756
= var757
;
3264 var762
= varonce761
;
3268 var765
= string__NativeString__to_s_with_length(var763
, var764
);
3270 varonce761
= var762
;
3272 var766
= NEW_array__Array(&type_array__Arraykernel__Object
);
3273 { /* var766 = array_instance Array[Object] */
3275 var768
= NEW_array__NativeArray(var767
, &type_array__NativeArraykernel__Object
);
3276 ((struct instance_array__NativeArray
*)var768
)->values
[0] = (val
*) var757
;
3277 ((struct instance_array__NativeArray
*)var768
)->values
[1] = (val
*) var_res
;
3278 ((struct instance_array__NativeArray
*)var768
)->values
[2] = (val
*) var762
;
3279 ((void (*)(val
*, val
*, long))(var766
->class->vft
[COLOR_array__Array__with_native
]))(var766
, var768
, var767
) /* with_native on <var766:Array[Object]>*/;
3281 var769
= ((val
* (*)(val
*))(var766
->class->vft
[COLOR_string__Object__to_s
]))(var766
) /* to_s on <var766:Array[Object]>*/;
3282 ((void (*)(val
*, val
*, val
*))(var754
->class->vft
[COLOR_toolcontext__ToolContext__error
]))(var754
, var755
, var769
) /* error on <var754:ToolContext>*/;
3285 var770
= ((long (*)(val
*))(self
->class->vft
[COLOR_time__Object__get_time
]))(self
) /* get_time on <self:ModelBuilder>*/;
3287 var771
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
3289 var773
= varonce772
;
3291 var774
= "*** END COMPILING C: ";
3293 var776
= string__NativeString__to_s_with_length(var774
, var775
);
3295 varonce772
= var773
;
3297 { /* Inline kernel#Int#- (var_time1,var_time0) */
3298 var779
= var_time1
- var_time0
;
3301 RET_LABEL778
:(void)0;
3304 var781
= varonce780
;
3308 var784
= string__NativeString__to_s_with_length(var782
, var783
);
3310 varonce780
= var781
;
3312 var785
= NEW_array__Array(&type_array__Arraykernel__Object
);
3313 { /* var785 = array_instance Array[Object] */
3315 var787
= NEW_array__NativeArray(var786
, &type_array__NativeArraykernel__Object
);
3316 ((struct instance_array__NativeArray
*)var787
)->values
[0] = (val
*) var773
;
3317 var788
= BOX_kernel__Int(var777
); /* autobox from Int to Object */
3318 ((struct instance_array__NativeArray
*)var787
)->values
[1] = (val
*) var788
;
3319 ((struct instance_array__NativeArray
*)var787
)->values
[2] = (val
*) var781
;
3320 ((void (*)(val
*, val
*, long))(var785
->class->vft
[COLOR_array__Array__with_native
]))(var785
, var787
, var786
) /* with_native on <var785:Array[Object]>*/;
3322 var789
= ((val
* (*)(val
*))(var785
->class->vft
[COLOR_string__Object__to_s
]))(var785
) /* to_s on <var785:Array[Object]>*/;
3324 ((void (*)(val
*, val
*, long))(var771
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var771
, var789
, var790
) /* info on <var771:ToolContext>*/;
3327 /* method abstract_compiler#ModelBuilder#write_and_make for (self: Object, AbstractCompiler) */
3328 void VIRTUAL_abstract_compiler__ModelBuilder__write_and_make(val
* self
, val
* p0
) {
3329 abstract_compiler__ModelBuilder__write_and_make(self
, p0
);
3332 /* method abstract_compiler#AbstractCompiler#names for (self: AbstractCompiler): HashMap[String, String] */
3333 val
* abstract_compiler__AbstractCompiler__names(val
* self
) {
3334 val
* var
/* : HashMap[String, String] */;
3335 val
* var1
/* : HashMap[String, String] */;
3336 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dnames
].val
; /* @names on <self:AbstractCompiler> */
3338 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @names");
3339 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 277);
3346 /* method abstract_compiler#AbstractCompiler#names for (self: Object): HashMap[String, String] */
3347 val
* VIRTUAL_abstract_compiler__AbstractCompiler__names(val
* self
) {
3348 val
* var
/* : HashMap[String, String] */;
3349 val
* var1
/* : HashMap[String, String] */;
3350 var1
= abstract_compiler__AbstractCompiler__names(self
);
3355 /* method abstract_compiler#AbstractCompiler#names= for (self: AbstractCompiler, HashMap[String, String]) */
3356 void abstract_compiler__AbstractCompiler__names_61d(val
* self
, val
* p0
) {
3357 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dnames
].val
= p0
; /* @names on <self:AbstractCompiler> */
3360 /* method abstract_compiler#AbstractCompiler#names= for (self: Object, HashMap[String, String]) */
3361 void VIRTUAL_abstract_compiler__AbstractCompiler__names_61d(val
* self
, val
* p0
) {
3362 abstract_compiler__AbstractCompiler__names_61d(self
, p0
);
3365 /* method abstract_compiler#AbstractCompiler#mainmodule for (self: AbstractCompiler): MModule */
3366 val
* abstract_compiler__AbstractCompiler__mainmodule(val
* self
) {
3367 val
* var
/* : MModule */;
3368 val
* var1
/* : MModule */;
3369 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dmainmodule
].val
; /* @mainmodule on <self:AbstractCompiler> */
3371 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @mainmodule");
3372 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 280);
3379 /* method abstract_compiler#AbstractCompiler#mainmodule for (self: Object): MModule */
3380 val
* VIRTUAL_abstract_compiler__AbstractCompiler__mainmodule(val
* self
) {
3381 val
* var
/* : MModule */;
3382 val
* var1
/* : MModule */;
3383 var1
= abstract_compiler__AbstractCompiler__mainmodule(self
);
3388 /* method abstract_compiler#AbstractCompiler#mainmodule= for (self: AbstractCompiler, MModule) */
3389 void abstract_compiler__AbstractCompiler__mainmodule_61d(val
* self
, val
* p0
) {
3390 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dmainmodule
].val
= p0
; /* @mainmodule on <self:AbstractCompiler> */
3393 /* method abstract_compiler#AbstractCompiler#mainmodule= for (self: Object, MModule) */
3394 void VIRTUAL_abstract_compiler__AbstractCompiler__mainmodule_61d(val
* self
, val
* p0
) {
3395 abstract_compiler__AbstractCompiler__mainmodule_61d(self
, p0
);
3398 /* method abstract_compiler#AbstractCompiler#realmainmodule for (self: AbstractCompiler): MModule */
3399 val
* abstract_compiler__AbstractCompiler__realmainmodule(val
* self
) {
3400 val
* var
/* : MModule */;
3401 val
* var1
/* : MModule */;
3402 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64drealmainmodule
].val
; /* @realmainmodule on <self:AbstractCompiler> */
3404 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @realmainmodule");
3405 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 284);
3412 /* method abstract_compiler#AbstractCompiler#realmainmodule for (self: Object): MModule */
3413 val
* VIRTUAL_abstract_compiler__AbstractCompiler__realmainmodule(val
* self
) {
3414 val
* var
/* : MModule */;
3415 val
* var1
/* : MModule */;
3416 var1
= abstract_compiler__AbstractCompiler__realmainmodule(self
);
3421 /* method abstract_compiler#AbstractCompiler#realmainmodule= for (self: AbstractCompiler, MModule) */
3422 void abstract_compiler__AbstractCompiler__realmainmodule_61d(val
* self
, val
* p0
) {
3423 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64drealmainmodule
].val
= p0
; /* @realmainmodule on <self:AbstractCompiler> */
3426 /* method abstract_compiler#AbstractCompiler#realmainmodule= for (self: Object, MModule) */
3427 void VIRTUAL_abstract_compiler__AbstractCompiler__realmainmodule_61d(val
* self
, val
* p0
) {
3428 abstract_compiler__AbstractCompiler__realmainmodule_61d(self
, p0
);
3431 /* method abstract_compiler#AbstractCompiler#modelbuilder for (self: AbstractCompiler): ModelBuilder */
3432 val
* abstract_compiler__AbstractCompiler__modelbuilder(val
* self
) {
3433 val
* var
/* : ModelBuilder */;
3434 val
* var1
/* : ModelBuilder */;
3435 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dmodelbuilder
].val
; /* @modelbuilder on <self:AbstractCompiler> */
3437 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @modelbuilder");
3438 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 287);
3445 /* method abstract_compiler#AbstractCompiler#modelbuilder for (self: Object): ModelBuilder */
3446 val
* VIRTUAL_abstract_compiler__AbstractCompiler__modelbuilder(val
* self
) {
3447 val
* var
/* : ModelBuilder */;
3448 val
* var1
/* : ModelBuilder */;
3449 var1
= abstract_compiler__AbstractCompiler__modelbuilder(self
);
3454 /* method abstract_compiler#AbstractCompiler#modelbuilder= for (self: AbstractCompiler, ModelBuilder) */
3455 void abstract_compiler__AbstractCompiler__modelbuilder_61d(val
* self
, val
* p0
) {
3456 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dmodelbuilder
].val
= p0
; /* @modelbuilder on <self:AbstractCompiler> */
3459 /* method abstract_compiler#AbstractCompiler#modelbuilder= for (self: Object, ModelBuilder) */
3460 void VIRTUAL_abstract_compiler__AbstractCompiler__modelbuilder_61d(val
* self
, val
* p0
) {
3461 abstract_compiler__AbstractCompiler__modelbuilder_61d(self
, p0
);
3464 /* method abstract_compiler#AbstractCompiler#hardening for (self: AbstractCompiler): Bool */
3465 short int abstract_compiler__AbstractCompiler__hardening(val
* self
) {
3466 short int var
/* : Bool */;
3467 val
* var1
/* : ModelBuilder */;
3468 val
* var2
/* : ToolContext */;
3469 val
* var3
/* : OptionBool */;
3470 val
* var4
/* : nullable Object */;
3471 short int var5
/* : Bool */;
3472 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
3473 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var1
) /* toolcontext on <var1:ModelBuilder>*/;
3474 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_hardening
]))(var2
) /* opt_hardening on <var2:ToolContext>*/;
3475 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_opts__Option__value
]))(var3
) /* value on <var3:OptionBool>*/;
3476 var5
= ((struct instance_kernel__Bool
*)var4
)->value
; /* autounbox from nullable Object to Bool */;
3482 /* method abstract_compiler#AbstractCompiler#hardening for (self: Object): Bool */
3483 short int VIRTUAL_abstract_compiler__AbstractCompiler__hardening(val
* self
) {
3484 short int var
/* : Bool */;
3485 short int var1
/* : Bool */;
3486 var1
= abstract_compiler__AbstractCompiler__hardening(self
);
3491 /* method abstract_compiler#AbstractCompiler#init for (self: AbstractCompiler, MModule, ModelBuilder) */
3492 void abstract_compiler__AbstractCompiler__init(val
* self
, val
* p0
, val
* p1
) {
3493 val
* var_mainmodule
/* var mainmodule: MModule */;
3494 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
3495 var_mainmodule
= p0
;
3496 var_modelbuilder
= p1
;
3497 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule_61d
]))(self
, var_mainmodule
) /* mainmodule= on <self:AbstractCompiler>*/;
3498 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__realmainmodule_61d
]))(self
, var_mainmodule
) /* realmainmodule= on <self:AbstractCompiler>*/;
3499 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder_61d
]))(self
, var_modelbuilder
) /* modelbuilder= on <self:AbstractCompiler>*/;
3502 /* method abstract_compiler#AbstractCompiler#init for (self: Object, MModule, ModelBuilder) */
3503 void VIRTUAL_abstract_compiler__AbstractCompiler__init(val
* self
, val
* p0
, val
* p1
) {
3504 abstract_compiler__AbstractCompiler__init(self
, p0
, p1
);
3507 /* method abstract_compiler#AbstractCompiler#new_file for (self: AbstractCompiler, String): CodeFile */
3508 val
* abstract_compiler__AbstractCompiler__new_file(val
* self
, val
* p0
) {
3509 val
* var
/* : CodeFile */;
3510 val
* var_name
/* var name: String */;
3511 val
* var1
/* : CodeFile */;
3512 val
* var_f
/* var f: CodeFile */;
3513 val
* var2
/* : List[CodeFile] */;
3515 var1
= NEW_abstract_compiler__CodeFile(&type_abstract_compiler__CodeFile
);
3516 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_compiler__CodeFile__init
]))(var1
, var_name
) /* init on <var1:CodeFile>*/;
3518 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__files
]))(self
) /* files on <self:AbstractCompiler>*/;
3519 ((void (*)(val
*, val
*))(var2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var2
, var_f
) /* add on <var2:List[CodeFile]>*/;
3525 /* method abstract_compiler#AbstractCompiler#new_file for (self: Object, String): CodeFile */
3526 val
* VIRTUAL_abstract_compiler__AbstractCompiler__new_file(val
* self
, val
* p0
) {
3527 val
* var
/* : CodeFile */;
3528 val
* var1
/* : CodeFile */;
3529 var1
= abstract_compiler__AbstractCompiler__new_file(self
, p0
);
3534 /* method abstract_compiler#AbstractCompiler#files for (self: AbstractCompiler): List[CodeFile] */
3535 val
* abstract_compiler__AbstractCompiler__files(val
* self
) {
3536 val
* var
/* : List[CodeFile] */;
3537 val
* var1
/* : List[CodeFile] */;
3538 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dfiles
].val
; /* @files on <self:AbstractCompiler> */
3540 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @files");
3541 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 309);
3548 /* method abstract_compiler#AbstractCompiler#files for (self: Object): List[CodeFile] */
3549 val
* VIRTUAL_abstract_compiler__AbstractCompiler__files(val
* self
) {
3550 val
* var
/* : List[CodeFile] */;
3551 val
* var1
/* : List[CodeFile] */;
3552 var1
= abstract_compiler__AbstractCompiler__files(self
);
3557 /* method abstract_compiler#AbstractCompiler#files= for (self: AbstractCompiler, List[CodeFile]) */
3558 void abstract_compiler__AbstractCompiler__files_61d(val
* self
, val
* p0
) {
3559 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dfiles
].val
= p0
; /* @files on <self:AbstractCompiler> */
3562 /* method abstract_compiler#AbstractCompiler#files= for (self: Object, List[CodeFile]) */
3563 void VIRTUAL_abstract_compiler__AbstractCompiler__files_61d(val
* self
, val
* p0
) {
3564 abstract_compiler__AbstractCompiler__files_61d(self
, p0
);
3567 /* method abstract_compiler#AbstractCompiler#new_visitor for (self: AbstractCompiler): AbstractCompilerVisitor */
3568 val
* abstract_compiler__AbstractCompiler__new_visitor(val
* self
) {
3569 val
* var
/* : AbstractCompilerVisitor */;
3570 const char* var_class_name
;
3571 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
3572 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "new_visitor", var_class_name
);
3573 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 313);
3578 /* method abstract_compiler#AbstractCompiler#new_visitor for (self: Object): AbstractCompilerVisitor */
3579 val
* VIRTUAL_abstract_compiler__AbstractCompiler__new_visitor(val
* self
) {
3580 val
* var
/* : AbstractCompilerVisitor */;
3581 val
* var1
/* : AbstractCompilerVisitor */;
3582 var1
= abstract_compiler__AbstractCompiler__new_visitor(self
);
3587 /* method abstract_compiler#AbstractCompiler#header for (self: AbstractCompiler): CodeWriter */
3588 val
* abstract_compiler__AbstractCompiler__header(val
* self
) {
3589 val
* var
/* : CodeWriter */;
3590 val
* var1
/* : CodeWriter */;
3591 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dheader
].val
; /* @header on <self:AbstractCompiler> */
3593 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @header");
3594 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 316);
3601 /* method abstract_compiler#AbstractCompiler#header for (self: Object): CodeWriter */
3602 val
* VIRTUAL_abstract_compiler__AbstractCompiler__header(val
* self
) {
3603 val
* var
/* : CodeWriter */;
3604 val
* var1
/* : CodeWriter */;
3605 var1
= abstract_compiler__AbstractCompiler__header(self
);
3610 /* method abstract_compiler#AbstractCompiler#header= for (self: AbstractCompiler, CodeWriter) */
3611 void abstract_compiler__AbstractCompiler__header_61d(val
* self
, val
* p0
) {
3612 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dheader
].val
= p0
; /* @header on <self:AbstractCompiler> */
3615 /* method abstract_compiler#AbstractCompiler#header= for (self: Object, CodeWriter) */
3616 void VIRTUAL_abstract_compiler__AbstractCompiler__header_61d(val
* self
, val
* p0
) {
3617 abstract_compiler__AbstractCompiler__header_61d(self
, p0
);
3620 /* method abstract_compiler#AbstractCompiler#provide_declaration for (self: AbstractCompiler, String, String) */
3621 void abstract_compiler__AbstractCompiler__provide_declaration(val
* self
, val
* p0
, val
* p1
) {
3622 val
* var_key
/* var key: String */;
3623 val
* var_s
/* var s: String */;
3624 val
* var
/* : HashMap[String, String] */;
3625 short int var1
/* : Bool */;
3626 val
* var2
/* : HashMap[String, String] */;
3627 val
* var3
/* : nullable Object */;
3628 short int var4
/* : Bool */;
3629 val
* var5
/* : HashMap[String, String] */;
3632 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__provided_declarations
]))(self
) /* provided_declarations on <self:AbstractCompiler>*/;
3633 var1
= ((short int (*)(val
*, val
*))(var
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var
, var_key
) /* has_key on <var:HashMap[String, String]>*/;
3635 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__provided_declarations
]))(self
) /* provided_declarations on <self:AbstractCompiler>*/;
3636 var3
= ((val
* (*)(val
*, val
*))(var2
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var2
, var_key
) /* [] on <var2:HashMap[String, String]>*/;
3637 var4
= ((short int (*)(val
*, val
*))(var3
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var3
, var_s
) /* == on <var3:nullable Object(String)>*/;
3639 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3640 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 323);
3645 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__provided_declarations
]))(self
) /* provided_declarations on <self:AbstractCompiler>*/;
3646 ((void (*)(val
*, val
*, val
*))(var5
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var5
, var_key
, var_s
) /* []= on <var5:HashMap[String, String]>*/;
3649 /* method abstract_compiler#AbstractCompiler#provide_declaration for (self: Object, String, String) */
3650 void VIRTUAL_abstract_compiler__AbstractCompiler__provide_declaration(val
* self
, val
* p0
, val
* p1
) {
3651 abstract_compiler__AbstractCompiler__provide_declaration(self
, p0
, p1
);
3654 /* method abstract_compiler#AbstractCompiler#provided_declarations for (self: AbstractCompiler): HashMap[String, String] */
3655 val
* abstract_compiler__AbstractCompiler__provided_declarations(val
* self
) {
3656 val
* var
/* : HashMap[String, String] */;
3657 val
* var1
/* : HashMap[String, String] */;
3658 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dprovided_declarations
].val
; /* @provided_declarations on <self:AbstractCompiler> */
3660 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @provided_declarations");
3661 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 328);
3668 /* method abstract_compiler#AbstractCompiler#provided_declarations for (self: Object): HashMap[String, String] */
3669 val
* VIRTUAL_abstract_compiler__AbstractCompiler__provided_declarations(val
* self
) {
3670 val
* var
/* : HashMap[String, String] */;
3671 val
* var1
/* : HashMap[String, String] */;
3672 var1
= abstract_compiler__AbstractCompiler__provided_declarations(self
);
3677 /* method abstract_compiler#AbstractCompiler#provided_declarations= for (self: AbstractCompiler, HashMap[String, String]) */
3678 void abstract_compiler__AbstractCompiler__provided_declarations_61d(val
* self
, val
* p0
) {
3679 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dprovided_declarations
].val
= p0
; /* @provided_declarations on <self:AbstractCompiler> */
3682 /* method abstract_compiler#AbstractCompiler#provided_declarations= for (self: Object, HashMap[String, String]) */
3683 void VIRTUAL_abstract_compiler__AbstractCompiler__provided_declarations_61d(val
* self
, val
* p0
) {
3684 abstract_compiler__AbstractCompiler__provided_declarations_61d(self
, p0
);
3687 /* method abstract_compiler#AbstractCompiler#build_c_to_nit_bindings for (self: AbstractCompiler) */
3688 void abstract_compiler__AbstractCompiler__build_c_to_nit_bindings(val
* self
) {
3689 val
* var
/* : ModelBuilder */;
3690 val
* var1
/* : ToolContext */;
3691 val
* var2
/* : OptionString */;
3692 val
* var3
/* : nullable Object */;
3693 val
* var_compile_dir
/* var compile_dir: nullable String */;
3694 val
* var4
/* : null */;
3695 short int var5
/* : Bool */;
3696 static val
* varonce
;
3697 val
* var6
/* : String */;
3698 char* var7
/* : NativeString */;
3699 long var8
/* : Int */;
3700 val
* var9
/* : String */;
3701 val
* var10
/* : OFStream */;
3702 val
* var11
/* : Array[Object] */;
3703 long var12
/* : Int */;
3704 val
* var_
/* var : Array[Object] */;
3705 static val
* varonce13
;
3706 val
* var14
/* : String */;
3707 char* var15
/* : NativeString */;
3708 long var16
/* : Int */;
3709 val
* var17
/* : String */;
3710 static val
* varonce18
;
3711 val
* var19
/* : String */;
3712 char* var20
/* : NativeString */;
3713 long var21
/* : Int */;
3714 val
* var22
/* : String */;
3715 val
* var23
/* : String */;
3716 val
* var_stream
/* var stream: OFStream */;
3717 static val
* varonce24
;
3718 val
* var25
/* : String */;
3719 char* var26
/* : NativeString */;
3720 long var27
/* : Int */;
3721 val
* var28
/* : String */;
3722 static val
* varonce29
;
3723 val
* var30
/* : String */;
3724 char* var31
/* : NativeString */;
3725 long var32
/* : Int */;
3726 val
* var33
/* : String */;
3727 static val
* varonce34
;
3728 val
* var35
/* : String */;
3729 char* var36
/* : NativeString */;
3730 long var37
/* : Int */;
3731 val
* var38
/* : String */;
3732 static val
* varonce39
;
3733 val
* var40
/* : String */;
3734 char* var41
/* : NativeString */;
3735 long var42
/* : Int */;
3736 val
* var43
/* : String */;
3737 static val
* varonce44
;
3738 val
* var45
/* : String */;
3739 char* var46
/* : NativeString */;
3740 long var47
/* : Int */;
3741 val
* var48
/* : String */;
3742 val
* var49
/* : HashMap[String, String] */;
3743 val
* var50
/* : Collection[Object] */;
3744 val
* var51
/* : Iterator[nullable Object] */;
3745 short int var52
/* : Bool */;
3746 val
* var53
/* : nullable Object */;
3747 val
* var_i
/* var i: String */;
3748 static val
* varonce54
;
3749 val
* var55
/* : String */;
3750 char* var56
/* : NativeString */;
3751 long var57
/* : Int */;
3752 val
* var58
/* : String */;
3753 val
* var59
/* : HashMap[String, String] */;
3754 val
* var60
/* : nullable Object */;
3755 static val
* varonce61
;
3756 val
* var62
/* : String */;
3757 char* var63
/* : NativeString */;
3758 long var64
/* : Int */;
3759 val
* var65
/* : String */;
3760 static val
* varonce66
;
3761 val
* var67
/* : String */;
3762 char* var68
/* : NativeString */;
3763 long var69
/* : Int */;
3764 val
* var70
/* : String */;
3765 static val
* varonce71
;
3766 val
* var72
/* : String */;
3767 char* var73
/* : NativeString */;
3768 long var74
/* : Int */;
3769 val
* var75
/* : String */;
3770 val
* var76
/* : OFStream */;
3771 val
* var77
/* : Array[Object] */;
3772 long var78
/* : Int */;
3773 val
* var_79
/* var : Array[Object] */;
3774 static val
* varonce80
;
3775 val
* var81
/* : String */;
3776 char* var82
/* : NativeString */;
3777 long var83
/* : Int */;
3778 val
* var84
/* : String */;
3779 static val
* varonce85
;
3780 val
* var86
/* : String */;
3781 char* var87
/* : NativeString */;
3782 long var88
/* : Int */;
3783 val
* var89
/* : String */;
3784 val
* var90
/* : String */;
3785 static val
* varonce91
;
3786 val
* var92
/* : String */;
3787 char* var93
/* : NativeString */;
3788 long var94
/* : Int */;
3789 val
* var95
/* : String */;
3790 static val
* varonce96
;
3791 val
* var97
/* : String */;
3792 char* var98
/* : NativeString */;
3793 long var99
/* : Int */;
3794 val
* var100
/* : String */;
3795 val
* var101
/* : Process */;
3796 static val
* varonce102
;
3797 val
* var103
/* : String */;
3798 char* var104
/* : NativeString */;
3799 long var105
/* : Int */;
3800 val
* var106
/* : String */;
3801 val
* var107
/* : Array[Object] */;
3802 long var108
/* : Int */;
3803 val
* var_109
/* var : Array[Object] */;
3804 static val
* varonce110
;
3805 val
* var111
/* : String */;
3806 char* var112
/* : NativeString */;
3807 long var113
/* : Int */;
3808 val
* var114
/* : String */;
3809 static val
* varonce115
;
3810 val
* var116
/* : String */;
3811 char* var117
/* : NativeString */;
3812 long var118
/* : Int */;
3813 val
* var119
/* : String */;
3814 val
* var120
/* : String */;
3815 static val
* varonce121
;
3816 val
* var122
/* : String */;
3817 char* var123
/* : NativeString */;
3818 long var124
/* : Int */;
3819 val
* var125
/* : String */;
3820 static val
* varonce126
;
3821 val
* var127
/* : String */;
3822 char* var128
/* : NativeString */;
3823 long var129
/* : Int */;
3824 val
* var130
/* : String */;
3825 val
* var131
/* : Array[Object] */;
3826 long var132
/* : Int */;
3827 val
* var_133
/* var : Array[Object] */;
3828 static val
* varonce134
;
3829 val
* var135
/* : String */;
3830 char* var136
/* : NativeString */;
3831 long var137
/* : Int */;
3832 val
* var138
/* : String */;
3833 static val
* varonce139
;
3834 val
* var140
/* : String */;
3835 char* var141
/* : NativeString */;
3836 long var142
/* : Int */;
3837 val
* var143
/* : String */;
3838 val
* var144
/* : String */;
3839 static val
* varonce145
;
3840 val
* var146
/* : String */;
3841 char* var147
/* : NativeString */;
3842 long var148
/* : Int */;
3843 val
* var149
/* : String */;
3844 val
* var150
/* : Array[String] */;
3845 long var151
/* : Int */;
3846 val
* var152
/* : NativeArray[String] */;
3847 val
* var_x
/* var x: Process */;
3848 val
* var153
/* : Array[ExternCFile] */;
3849 val
* var154
/* : ExternCFile */;
3850 val
* var155
/* : Array[Object] */;
3851 long var156
/* : Int */;
3852 val
* var_157
/* var : Array[Object] */;
3853 static val
* varonce158
;
3854 val
* var159
/* : String */;
3855 char* var160
/* : NativeString */;
3856 long var161
/* : Int */;
3857 val
* var162
/* : String */;
3858 static val
* varonce163
;
3859 val
* var164
/* : String */;
3860 char* var165
/* : NativeString */;
3861 long var166
/* : Int */;
3862 val
* var167
/* : String */;
3863 val
* var168
/* : String */;
3864 static val
* varonce169
;
3865 val
* var170
/* : String */;
3866 char* var171
/* : NativeString */;
3867 long var172
/* : Int */;
3868 val
* var173
/* : String */;
3869 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
3870 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var
) /* toolcontext on <var:ModelBuilder>*/;
3871 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_compile_dir
]))(var1
) /* opt_compile_dir on <var1:ToolContext>*/;
3872 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_opts__Option__value
]))(var2
) /* value on <var2:OptionString>*/;
3873 var_compile_dir
= var3
;
3875 if (var_compile_dir
== NULL
) {
3876 var5
= 1; /* is null */
3878 var5
= 0; /* arg is null but recv is not */
3884 var7
= ".nit_compile";
3886 var9
= string__NativeString__to_s_with_length(var7
, var8
);
3890 var_compile_dir
= var6
;
3893 var10
= NEW_file__OFStream(&type_file__OFStream
);
3894 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
3896 ((void (*)(val
*, long))(var11
->class->vft
[COLOR_array__Array__with_capacity
]))(var11
, var12
) /* with_capacity on <var11:Array[Object]>*/;
3903 var17
= string__NativeString__to_s_with_length(var15
, var16
);
3907 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var14
) /* add on <var_:Array[Object]>*/;
3908 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var_compile_dir
) /* add on <var_:Array[Object]>*/;
3912 var20
= "/C_fun_names";
3914 var22
= string__NativeString__to_s_with_length(var20
, var21
);
3918 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var19
) /* add on <var_:Array[Object]>*/;
3919 var23
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
3920 ((void (*)(val
*, val
*))(var10
->class->vft
[COLOR_file__OFStream__open
]))(var10
, var23
) /* open on <var10:OFStream>*/;
3925 var26
= "%{\n#include \"c_functions_hash.h\"\n%}\n";
3927 var28
= string__NativeString__to_s_with_length(var26
, var27
);
3931 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var25
) /* write on <var_stream:OFStream>*/;
3935 var31
= "%define lookup-function-name get_nit_name\n";
3937 var33
= string__NativeString__to_s_with_length(var31
, var32
);
3941 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var30
) /* write on <var_stream:OFStream>*/;
3945 var36
= "struct C_Nit_Names;\n";
3947 var38
= string__NativeString__to_s_with_length(var36
, var37
);
3951 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var35
) /* write on <var_stream:OFStream>*/;
3957 var43
= string__NativeString__to_s_with_length(var41
, var42
);
3961 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var40
) /* write on <var_stream:OFStream>*/;
3967 var48
= string__NativeString__to_s_with_length(var46
, var47
);
3971 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var45
) /* write on <var_stream:OFStream>*/;
3972 var49
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__names
]))(self
) /* names on <self:AbstractCompiler>*/;
3973 var50
= ((val
* (*)(val
*))(var49
->class->vft
[COLOR_abstract_collection__MapRead__keys
]))(var49
) /* keys on <var49:HashMap[String, String]>*/;
3974 var51
= ((val
* (*)(val
*))(var50
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var50
) /* iterator on <var50:Collection[Object](HashMapKeys[String, String])>*/;
3976 var52
= ((short int (*)(val
*))(var51
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var51
) /* is_ok on <var51:Iterator[nullable Object]>*/;
3978 var53
= ((val
* (*)(val
*))(var51
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var51
) /* item on <var51:Iterator[nullable Object]>*/;
3980 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var_i
) /* write on <var_stream:OFStream>*/;
3986 var58
= string__NativeString__to_s_with_length(var56
, var57
);
3990 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var55
) /* write on <var_stream:OFStream>*/;
3991 var59
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__names
]))(self
) /* names on <self:AbstractCompiler>*/;
3992 var60
= ((val
* (*)(val
*, val
*))(var59
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var59
, var_i
) /* [] on <var59:HashMap[String, String]>*/;
3993 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var60
) /* write on <var_stream:OFStream>*/;
3999 var65
= string__NativeString__to_s_with_length(var63
, var64
);
4003 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var62
) /* write on <var_stream:OFStream>*/;
4004 CONTINUE_label
: (void)0;
4005 ((void (*)(val
*))(var51
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var51
) /* next on <var51:Iterator[nullable Object]>*/;
4007 BREAK_label
: (void)0;
4013 var70
= string__NativeString__to_s_with_length(var68
, var69
);
4017 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var67
) /* write on <var_stream:OFStream>*/;
4023 var75
= string__NativeString__to_s_with_length(var73
, var74
);
4027 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var72
) /* write on <var_stream:OFStream>*/;
4028 ((void (*)(val
*))(var_stream
->class->vft
[COLOR_stream__IOS__close
]))(var_stream
) /* close on <var_stream:OFStream>*/;
4029 var76
= NEW_file__OFStream(&type_file__OFStream
);
4030 var77
= NEW_array__Array(&type_array__Arraykernel__Object
);
4032 ((void (*)(val
*, long))(var77
->class->vft
[COLOR_array__Array__with_capacity
]))(var77
, var78
) /* with_capacity on <var77:Array[Object]>*/;
4039 var84
= string__NativeString__to_s_with_length(var82
, var83
);
4043 ((void (*)(val
*, val
*))(var_79
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_79
, var81
) /* add on <var_79:Array[Object]>*/;
4044 ((void (*)(val
*, val
*))(var_79
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_79
, var_compile_dir
) /* add on <var_79:Array[Object]>*/;
4048 var87
= "/c_functions_hash.h";
4050 var89
= string__NativeString__to_s_with_length(var87
, var88
);
4054 ((void (*)(val
*, val
*))(var_79
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_79
, var86
) /* add on <var_79:Array[Object]>*/;
4055 var90
= ((val
* (*)(val
*))(var_79
->class->vft
[COLOR_string__Object__to_s
]))(var_79
) /* to_s on <var_79:Array[Object]>*/;
4056 ((void (*)(val
*, val
*))(var76
->class->vft
[COLOR_file__OFStream__open
]))(var76
, var90
) /* open on <var76:OFStream>*/;
4061 var93
= "typedef struct C_Nit_Names{char* name; char* nit_name;}C_Nit_Names;\n";
4063 var95
= string__NativeString__to_s_with_length(var93
, var94
);
4067 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var92
) /* write on <var_stream:OFStream>*/;
4071 var98
= "const struct C_Nit_Names* get_nit_name(register const char *str, register unsigned int len);\n";
4073 var100
= string__NativeString__to_s_with_length(var98
, var99
);
4077 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var97
) /* write on <var_stream:OFStream>*/;
4078 ((void (*)(val
*))(var_stream
->class->vft
[COLOR_stream__IOS__close
]))(var_stream
) /* close on <var_stream:OFStream>*/;
4079 var101
= NEW_exec__Process(&type_exec__Process
);
4081 var103
= varonce102
;
4085 var106
= string__NativeString__to_s_with_length(var104
, var105
);
4087 varonce102
= var103
;
4089 var107
= NEW_array__Array(&type_array__Arraykernel__Object
);
4091 ((void (*)(val
*, long))(var107
->class->vft
[COLOR_array__Array__with_capacity
]))(var107
, var108
) /* with_capacity on <var107:Array[Object]>*/;
4094 var111
= varonce110
;
4098 var114
= string__NativeString__to_s_with_length(var112
, var113
);
4100 varonce110
= var111
;
4102 ((void (*)(val
*, val
*))(var_109
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_109
, var111
) /* add on <var_109:Array[Object]>*/;
4103 ((void (*)(val
*, val
*))(var_109
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_109
, var_compile_dir
) /* add on <var_109:Array[Object]>*/;
4105 var116
= varonce115
;
4107 var117
= "/C_fun_names";
4109 var119
= string__NativeString__to_s_with_length(var117
, var118
);
4111 varonce115
= var116
;
4113 ((void (*)(val
*, val
*))(var_109
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_109
, var116
) /* add on <var_109:Array[Object]>*/;
4114 var120
= ((val
* (*)(val
*))(var_109
->class->vft
[COLOR_string__Object__to_s
]))(var_109
) /* to_s on <var_109:Array[Object]>*/;
4116 var122
= varonce121
;
4120 var125
= string__NativeString__to_s_with_length(var123
, var124
);
4122 varonce121
= var122
;
4125 var127
= varonce126
;
4129 var130
= string__NativeString__to_s_with_length(var128
, var129
);
4131 varonce126
= var127
;
4133 var131
= NEW_array__Array(&type_array__Arraykernel__Object
);
4135 ((void (*)(val
*, long))(var131
->class->vft
[COLOR_array__Array__with_capacity
]))(var131
, var132
) /* with_capacity on <var131:Array[Object]>*/;
4138 var135
= varonce134
;
4140 var136
= "--output-file=";
4142 var138
= string__NativeString__to_s_with_length(var136
, var137
);
4144 varonce134
= var135
;
4146 ((void (*)(val
*, val
*))(var_133
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_133
, var135
) /* add on <var_133:Array[Object]>*/;
4147 ((void (*)(val
*, val
*))(var_133
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_133
, var_compile_dir
) /* add on <var_133:Array[Object]>*/;
4149 var140
= varonce139
;
4151 var141
= "/c_functions_hash.c";
4153 var143
= string__NativeString__to_s_with_length(var141
, var142
);
4155 varonce139
= var140
;
4157 ((void (*)(val
*, val
*))(var_133
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_133
, var140
) /* add on <var_133:Array[Object]>*/;
4158 var144
= ((val
* (*)(val
*))(var_133
->class->vft
[COLOR_string__Object__to_s
]))(var_133
) /* to_s on <var_133:Array[Object]>*/;
4160 var146
= varonce145
;
4164 var149
= string__NativeString__to_s_with_length(var147
, var148
);
4166 varonce145
= var146
;
4168 var150
= NEW_array__Array(&type_array__Arraystring__String
);
4169 { /* var150 = array_instance Array[String] */
4171 var152
= NEW_array__NativeArray(var151
, &type_array__NativeArraystring__String
);
4172 ((struct instance_array__NativeArray
*)var152
)->values
[0] = (val
*) var120
;
4173 ((struct instance_array__NativeArray
*)var152
)->values
[1] = (val
*) var122
;
4174 ((struct instance_array__NativeArray
*)var152
)->values
[2] = (val
*) var127
;
4175 ((struct instance_array__NativeArray
*)var152
)->values
[3] = (val
*) var144
;
4176 ((struct instance_array__NativeArray
*)var152
)->values
[4] = (val
*) var146
;
4177 ((void (*)(val
*, val
*, long))(var150
->class->vft
[COLOR_array__Array__with_native
]))(var150
, var152
, var151
) /* with_native on <var150:Array[String]>*/;
4179 ((void (*)(val
*, val
*, val
*))(var101
->class->vft
[COLOR_exec__Process__init
]))(var101
, var103
, var150
) /* init on <var101:Process>*/;
4181 ((void (*)(val
*))(var_x
->class->vft
[COLOR_exec__Process__wait
]))(var_x
) /* wait on <var_x:Process>*/;
4182 var153
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__extern_bodies
]))(self
) /* extern_bodies on <self:AbstractCompiler>*/;
4183 var154
= NEW_abstract_compiler__ExternCFile(&type_abstract_compiler__ExternCFile
);
4184 var155
= NEW_array__Array(&type_array__Arraykernel__Object
);
4186 ((void (*)(val
*, long))(var155
->class->vft
[COLOR_array__Array__with_capacity
]))(var155
, var156
) /* with_capacity on <var155:Array[Object]>*/;
4189 var159
= varonce158
;
4193 var162
= string__NativeString__to_s_with_length(var160
, var161
);
4195 varonce158
= var159
;
4197 ((void (*)(val
*, val
*))(var_157
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_157
, var159
) /* add on <var_157:Array[Object]>*/;
4198 ((void (*)(val
*, val
*))(var_157
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_157
, var_compile_dir
) /* add on <var_157:Array[Object]>*/;
4200 var164
= varonce163
;
4202 var165
= "/c_functions_hash.c";
4204 var167
= string__NativeString__to_s_with_length(var165
, var166
);
4206 varonce163
= var164
;
4208 ((void (*)(val
*, val
*))(var_157
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_157
, var164
) /* add on <var_157:Array[Object]>*/;
4209 var168
= ((val
* (*)(val
*))(var_157
->class->vft
[COLOR_string__Object__to_s
]))(var_157
) /* to_s on <var_157:Array[Object]>*/;
4211 var170
= varonce169
;
4215 var173
= string__NativeString__to_s_with_length(var171
, var172
);
4217 varonce169
= var170
;
4219 ((void (*)(val
*, val
*, val
*))(var154
->class->vft
[COLOR_abstract_compiler__ExternCFile__init
]))(var154
, var168
, var170
) /* init on <var154:ExternCFile>*/;
4220 ((void (*)(val
*, val
*))(var153
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var153
, var154
) /* add on <var153:Array[ExternCFile]>*/;
4223 /* method abstract_compiler#AbstractCompiler#build_c_to_nit_bindings for (self: Object) */
4224 void VIRTUAL_abstract_compiler__AbstractCompiler__build_c_to_nit_bindings(val
* self
) {
4225 abstract_compiler__AbstractCompiler__build_c_to_nit_bindings(self
);
4228 /* method abstract_compiler#AbstractCompiler#compile_header for (self: AbstractCompiler) */
4229 void abstract_compiler__AbstractCompiler__compile_header(val
* self
) {
4230 val
* var
/* : CodeWriter */;
4231 val
* var_v
/* var v: CodeWriter */;
4232 val
* var1
/* : ModelBuilder */;
4233 val
* var2
/* : ToolContext */;
4234 val
* var_toolctx
/* var toolctx: ToolContext */;
4235 val
* var3
/* : CodeWriter */;
4236 static val
* varonce
;
4237 val
* var4
/* : String */;
4238 char* var5
/* : NativeString */;
4239 long var6
/* : Int */;
4240 val
* var7
/* : String */;
4241 val
* var8
/* : CodeWriter */;
4242 static val
* varonce9
;
4243 val
* var10
/* : String */;
4244 char* var11
/* : NativeString */;
4245 long var12
/* : Int */;
4246 val
* var13
/* : String */;
4247 val
* var14
/* : CodeWriter */;
4248 static val
* varonce15
;
4249 val
* var16
/* : String */;
4250 char* var17
/* : NativeString */;
4251 long var18
/* : Int */;
4252 val
* var19
/* : String */;
4253 val
* var20
/* : CodeWriter */;
4254 static val
* varonce21
;
4255 val
* var22
/* : String */;
4256 char* var23
/* : NativeString */;
4257 long var24
/* : Int */;
4258 val
* var25
/* : String */;
4259 val
* var26
/* : CodeWriter */;
4260 static val
* varonce27
;
4261 val
* var28
/* : String */;
4262 char* var29
/* : NativeString */;
4263 long var30
/* : Int */;
4264 val
* var31
/* : String */;
4265 val
* var32
/* : CodeWriter */;
4266 static val
* varonce33
;
4267 val
* var34
/* : String */;
4268 char* var35
/* : NativeString */;
4269 long var36
/* : Int */;
4270 val
* var37
/* : String */;
4271 val
* var38
/* : CodeWriter */;
4272 static val
* varonce39
;
4273 val
* var40
/* : String */;
4274 char* var41
/* : NativeString */;
4275 long var42
/* : Int */;
4276 val
* var43
/* : String */;
4277 val
* var44
/* : CodeWriter */;
4278 static val
* varonce45
;
4279 val
* var46
/* : String */;
4280 char* var47
/* : NativeString */;
4281 long var48
/* : Int */;
4282 val
* var49
/* : String */;
4283 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
4285 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
4286 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var1
) /* toolcontext on <var1:ModelBuilder>*/;
4288 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
4292 var5
= "#include <stdlib.h>";
4294 var7
= string__NativeString__to_s_with_length(var5
, var6
);
4298 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var3
, var4
) /* add_decl on <var3:CodeWriter>*/;
4299 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
4303 var11
= "#include <stdio.h>";
4305 var13
= string__NativeString__to_s_with_length(var11
, var12
);
4309 ((void (*)(val
*, val
*))(var8
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var8
, var10
) /* add_decl on <var8:CodeWriter>*/;
4310 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
4314 var17
= "#include <string.h>";
4316 var19
= string__NativeString__to_s_with_length(var17
, var18
);
4320 ((void (*)(val
*, val
*))(var14
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var14
, var16
) /* add_decl on <var14:CodeWriter>*/;
4321 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
4325 var23
= "#include <gc_chooser.h>";
4327 var25
= string__NativeString__to_s_with_length(var23
, var24
);
4331 ((void (*)(val
*, val
*))(var20
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var20
, var22
) /* add_decl on <var20:CodeWriter>*/;
4332 ((void (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__compile_header_structs
]))(self
) /* compile_header_structs on <self:AbstractCompiler>*/;
4333 var26
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
4337 var29
= "void show_backtrace(int);";
4339 var31
= string__NativeString__to_s_with_length(var29
, var30
);
4343 ((void (*)(val
*, val
*))(var26
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var26
, var28
) /* add_decl on <var26:CodeWriter>*/;
4344 var32
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
4348 var35
= "extern int glob_argc;";
4350 var37
= string__NativeString__to_s_with_length(var35
, var36
);
4354 ((void (*)(val
*, val
*))(var32
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var32
, var34
) /* add_decl on <var32:CodeWriter>*/;
4355 var38
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
4359 var41
= "extern char **glob_argv;";
4361 var43
= string__NativeString__to_s_with_length(var41
, var42
);
4365 ((void (*)(val
*, val
*))(var38
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var38
, var40
) /* add_decl on <var38:CodeWriter>*/;
4366 var44
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
4370 var47
= "extern val *glob_sys;";
4372 var49
= string__NativeString__to_s_with_length(var47
, var48
);
4376 ((void (*)(val
*, val
*))(var44
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var44
, var46
) /* add_decl on <var44:CodeWriter>*/;
4379 /* method abstract_compiler#AbstractCompiler#compile_header for (self: Object) */
4380 void VIRTUAL_abstract_compiler__AbstractCompiler__compile_header(val
* self
) {
4381 abstract_compiler__AbstractCompiler__compile_header(self
);
4384 /* method abstract_compiler#AbstractCompiler#compile_header_structs for (self: AbstractCompiler) */
4385 void abstract_compiler__AbstractCompiler__compile_header_structs(val
* self
) {
4386 const char* var_class_name
;
4387 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
4388 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "compile_header_structs", var_class_name
);
4389 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 385);
4393 /* method abstract_compiler#AbstractCompiler#compile_header_structs for (self: Object) */
4394 void VIRTUAL_abstract_compiler__AbstractCompiler__compile_header_structs(val
* self
) {
4395 abstract_compiler__AbstractCompiler__compile_header_structs(self
);
4398 /* method abstract_compiler#AbstractCompiler#compile_main_function for (self: AbstractCompiler) */
4399 void abstract_compiler__AbstractCompiler__compile_main_function(val
* self
) {
4400 val
* var
/* : AbstractCompilerVisitor */;
4401 val
* var_v
/* var v: AbstractCompilerVisitor */;
4402 val
* var1
/* : ModelBuilder */;
4403 val
* var2
/* : ToolContext */;
4404 val
* var3
/* : OptionBool */;
4405 val
* var4
/* : nullable Object */;
4406 short int var5
/* : Bool */;
4407 static val
* varonce
;
4408 val
* var6
/* : String */;
4409 char* var7
/* : NativeString */;
4410 long var8
/* : Int */;
4411 val
* var9
/* : String */;
4412 static val
* varonce10
;
4413 val
* var11
/* : String */;
4414 char* var12
/* : NativeString */;
4415 long var13
/* : Int */;
4416 val
* var14
/* : String */;
4417 val
* var15
/* : ModelBuilder */;
4418 val
* var16
/* : ToolContext */;
4419 val
* var17
/* : OptionBool */;
4420 val
* var18
/* : nullable Object */;
4421 short int var19
/* : Bool */;
4422 short int var20
/* : Bool */;
4423 static val
* varonce21
;
4424 val
* var22
/* : String */;
4425 char* var23
/* : NativeString */;
4426 long var24
/* : Int */;
4427 val
* var25
/* : String */;
4428 static val
* varonce26
;
4429 val
* var27
/* : String */;
4430 char* var28
/* : NativeString */;
4431 long var29
/* : Int */;
4432 val
* var30
/* : String */;
4433 static val
* varonce31
;
4434 val
* var32
/* : String */;
4435 char* var33
/* : NativeString */;
4436 long var34
/* : Int */;
4437 val
* var35
/* : String */;
4438 static val
* varonce36
;
4439 val
* var37
/* : String */;
4440 char* var38
/* : NativeString */;
4441 long var39
/* : Int */;
4442 val
* var40
/* : String */;
4443 static val
* varonce41
;
4444 val
* var42
/* : String */;
4445 char* var43
/* : NativeString */;
4446 long var44
/* : Int */;
4447 val
* var45
/* : String */;
4448 val
* var46
/* : ModelBuilder */;
4449 val
* var47
/* : ToolContext */;
4450 val
* var48
/* : OptionBool */;
4451 val
* var49
/* : nullable Object */;
4452 short int var50
/* : Bool */;
4453 val
* var51
/* : Array[String] */;
4454 val
* var52
/* : Iterator[nullable Object] */;
4455 short int var53
/* : Bool */;
4456 val
* var54
/* : nullable Object */;
4457 val
* var_tag
/* var tag: String */;
4458 static val
* varonce55
;
4459 val
* var56
/* : String */;
4460 char* var57
/* : NativeString */;
4461 long var58
/* : Int */;
4462 val
* var59
/* : String */;
4463 static val
* varonce60
;
4464 val
* var61
/* : String */;
4465 char* var62
/* : NativeString */;
4466 long var63
/* : Int */;
4467 val
* var64
/* : String */;
4468 val
* var65
/* : Array[Object] */;
4469 long var66
/* : Int */;
4470 val
* var67
/* : NativeArray[Object] */;
4471 val
* var68
/* : String */;
4472 static val
* varonce69
;
4473 val
* var70
/* : String */;
4474 char* var71
/* : NativeString */;
4475 long var72
/* : Int */;
4476 val
* var73
/* : String */;
4477 static val
* varonce74
;
4478 val
* var75
/* : String */;
4479 char* var76
/* : NativeString */;
4480 long var77
/* : Int */;
4481 val
* var78
/* : String */;
4482 val
* var79
/* : Array[Object] */;
4483 long var80
/* : Int */;
4484 val
* var81
/* : NativeArray[Object] */;
4485 val
* var82
/* : String */;
4486 static val
* varonce83
;
4487 val
* var84
/* : String */;
4488 char* var85
/* : NativeString */;
4489 long var86
/* : Int */;
4490 val
* var87
/* : String */;
4491 static val
* varonce88
;
4492 val
* var89
/* : String */;
4493 char* var90
/* : NativeString */;
4494 long var91
/* : Int */;
4495 val
* var92
/* : String */;
4496 val
* var93
/* : Array[Object] */;
4497 long var94
/* : Int */;
4498 val
* var95
/* : NativeArray[Object] */;
4499 val
* var96
/* : String */;
4500 val
* var97
/* : AbstractCompiler */;
4501 val
* var98
/* : CodeWriter */;
4502 static val
* varonce99
;
4503 val
* var100
/* : String */;
4504 char* var101
/* : NativeString */;
4505 long var102
/* : Int */;
4506 val
* var103
/* : String */;
4507 static val
* varonce104
;
4508 val
* var105
/* : String */;
4509 char* var106
/* : NativeString */;
4510 long var107
/* : Int */;
4511 val
* var108
/* : String */;
4512 val
* var109
/* : Array[Object] */;
4513 long var110
/* : Int */;
4514 val
* var111
/* : NativeArray[Object] */;
4515 val
* var112
/* : String */;
4516 val
* var113
/* : AbstractCompiler */;
4517 val
* var114
/* : CodeWriter */;
4518 static val
* varonce115
;
4519 val
* var116
/* : String */;
4520 char* var117
/* : NativeString */;
4521 long var118
/* : Int */;
4522 val
* var119
/* : String */;
4523 static val
* varonce120
;
4524 val
* var121
/* : String */;
4525 char* var122
/* : NativeString */;
4526 long var123
/* : Int */;
4527 val
* var124
/* : String */;
4528 val
* var125
/* : Array[Object] */;
4529 long var126
/* : Int */;
4530 val
* var127
/* : NativeArray[Object] */;
4531 val
* var128
/* : String */;
4532 val
* var129
/* : AbstractCompiler */;
4533 val
* var130
/* : CodeWriter */;
4534 static val
* varonce131
;
4535 val
* var132
/* : String */;
4536 char* var133
/* : NativeString */;
4537 long var134
/* : Int */;
4538 val
* var135
/* : String */;
4539 static val
* varonce136
;
4540 val
* var137
/* : String */;
4541 char* var138
/* : NativeString */;
4542 long var139
/* : Int */;
4543 val
* var140
/* : String */;
4544 val
* var141
/* : Array[Object] */;
4545 long var142
/* : Int */;
4546 val
* var143
/* : NativeArray[Object] */;
4547 val
* var144
/* : String */;
4548 static val
* varonce145
;
4549 val
* var146
/* : String */;
4550 char* var147
/* : NativeString */;
4551 long var148
/* : Int */;
4552 val
* var149
/* : String */;
4553 val
* var150
/* : ModelBuilder */;
4554 val
* var151
/* : ToolContext */;
4555 val
* var152
/* : OptionBool */;
4556 val
* var153
/* : nullable Object */;
4557 short int var154
/* : Bool */;
4558 short int var155
/* : Bool */;
4559 static val
* varonce156
;
4560 val
* var157
/* : String */;
4561 char* var158
/* : NativeString */;
4562 long var159
/* : Int */;
4563 val
* var160
/* : String */;
4564 static val
* varonce161
;
4565 val
* var162
/* : String */;
4566 char* var163
/* : NativeString */;
4567 long var164
/* : Int */;
4568 val
* var165
/* : String */;
4569 static val
* varonce166
;
4570 val
* var167
/* : String */;
4571 char* var168
/* : NativeString */;
4572 long var169
/* : Int */;
4573 val
* var170
/* : String */;
4574 static val
* varonce171
;
4575 val
* var172
/* : String */;
4576 char* var173
/* : NativeString */;
4577 long var174
/* : Int */;
4578 val
* var175
/* : String */;
4579 static val
* varonce176
;
4580 val
* var177
/* : String */;
4581 char* var178
/* : NativeString */;
4582 long var179
/* : Int */;
4583 val
* var180
/* : String */;
4584 static val
* varonce181
;
4585 val
* var182
/* : String */;
4586 char* var183
/* : NativeString */;
4587 long var184
/* : Int */;
4588 val
* var185
/* : String */;
4589 static val
* varonce186
;
4590 val
* var187
/* : String */;
4591 char* var188
/* : NativeString */;
4592 long var189
/* : Int */;
4593 val
* var190
/* : String */;
4594 static val
* varonce191
;
4595 val
* var192
/* : String */;
4596 char* var193
/* : NativeString */;
4597 long var194
/* : Int */;
4598 val
* var195
/* : String */;
4599 static val
* varonce196
;
4600 val
* var197
/* : String */;
4601 char* var198
/* : NativeString */;
4602 long var199
/* : Int */;
4603 val
* var200
/* : String */;
4604 static val
* varonce201
;
4605 val
* var202
/* : String */;
4606 char* var203
/* : NativeString */;
4607 long var204
/* : Int */;
4608 val
* var205
/* : String */;
4609 static val
* varonce206
;
4610 val
* var207
/* : String */;
4611 char* var208
/* : NativeString */;
4612 long var209
/* : Int */;
4613 val
* var210
/* : String */;
4614 static val
* varonce211
;
4615 val
* var212
/* : String */;
4616 char* var213
/* : NativeString */;
4617 long var214
/* : Int */;
4618 val
* var215
/* : String */;
4619 static val
* varonce216
;
4620 val
* var217
/* : String */;
4621 char* var218
/* : NativeString */;
4622 long var219
/* : Int */;
4623 val
* var220
/* : String */;
4624 val
* var221
/* : ModelBuilder */;
4625 val
* var222
/* : ToolContext */;
4626 val
* var223
/* : OptionBool */;
4627 val
* var224
/* : nullable Object */;
4628 short int var225
/* : Bool */;
4629 static val
* varonce226
;
4630 val
* var227
/* : String */;
4631 char* var228
/* : NativeString */;
4632 long var229
/* : Int */;
4633 val
* var230
/* : String */;
4634 static val
* varonce231
;
4635 val
* var232
/* : String */;
4636 char* var233
/* : NativeString */;
4637 long var234
/* : Int */;
4638 val
* var235
/* : String */;
4639 static val
* varonce236
;
4640 val
* var237
/* : String */;
4641 char* var238
/* : NativeString */;
4642 long var239
/* : Int */;
4643 val
* var240
/* : String */;
4644 static val
* varonce241
;
4645 val
* var242
/* : String */;
4646 char* var243
/* : NativeString */;
4647 long var244
/* : Int */;
4648 val
* var245
/* : String */;
4649 static val
* varonce246
;
4650 val
* var247
/* : String */;
4651 char* var248
/* : NativeString */;
4652 long var249
/* : Int */;
4653 val
* var250
/* : String */;
4654 static val
* varonce251
;
4655 val
* var252
/* : String */;
4656 char* var253
/* : NativeString */;
4657 long var254
/* : Int */;
4658 val
* var255
/* : String */;
4659 static val
* varonce256
;
4660 val
* var257
/* : String */;
4661 char* var258
/* : NativeString */;
4662 long var259
/* : Int */;
4663 val
* var260
/* : String */;
4664 static val
* varonce261
;
4665 val
* var262
/* : String */;
4666 char* var263
/* : NativeString */;
4667 long var264
/* : Int */;
4668 val
* var265
/* : String */;
4669 static val
* varonce266
;
4670 val
* var267
/* : String */;
4671 char* var268
/* : NativeString */;
4672 long var269
/* : Int */;
4673 val
* var270
/* : String */;
4674 static val
* varonce271
;
4675 val
* var272
/* : String */;
4676 char* var273
/* : NativeString */;
4677 long var274
/* : Int */;
4678 val
* var275
/* : String */;
4679 static val
* varonce276
;
4680 val
* var277
/* : String */;
4681 char* var278
/* : NativeString */;
4682 long var279
/* : Int */;
4683 val
* var280
/* : String */;
4684 static val
* varonce281
;
4685 val
* var282
/* : String */;
4686 char* var283
/* : NativeString */;
4687 long var284
/* : Int */;
4688 val
* var285
/* : String */;
4689 static val
* varonce286
;
4690 val
* var287
/* : String */;
4691 char* var288
/* : NativeString */;
4692 long var289
/* : Int */;
4693 val
* var290
/* : String */;
4694 static val
* varonce291
;
4695 val
* var292
/* : String */;
4696 char* var293
/* : NativeString */;
4697 long var294
/* : Int */;
4698 val
* var295
/* : String */;
4699 static val
* varonce296
;
4700 val
* var297
/* : String */;
4701 char* var298
/* : NativeString */;
4702 long var299
/* : Int */;
4703 val
* var300
/* : String */;
4704 static val
* varonce301
;
4705 val
* var302
/* : String */;
4706 char* var303
/* : NativeString */;
4707 long var304
/* : Int */;
4708 val
* var305
/* : String */;
4709 static val
* varonce306
;
4710 val
* var307
/* : String */;
4711 char* var308
/* : NativeString */;
4712 long var309
/* : Int */;
4713 val
* var310
/* : String */;
4714 static val
* varonce311
;
4715 val
* var312
/* : String */;
4716 char* var313
/* : NativeString */;
4717 long var314
/* : Int */;
4718 val
* var315
/* : String */;
4719 static val
* varonce316
;
4720 val
* var317
/* : String */;
4721 char* var318
/* : NativeString */;
4722 long var319
/* : Int */;
4723 val
* var320
/* : String */;
4724 static val
* varonce321
;
4725 val
* var322
/* : String */;
4726 char* var323
/* : NativeString */;
4727 long var324
/* : Int */;
4728 val
* var325
/* : String */;
4729 static val
* varonce326
;
4730 val
* var327
/* : String */;
4731 char* var328
/* : NativeString */;
4732 long var329
/* : Int */;
4733 val
* var330
/* : String */;
4734 static val
* varonce331
;
4735 val
* var332
/* : String */;
4736 char* var333
/* : NativeString */;
4737 long var334
/* : Int */;
4738 val
* var335
/* : String */;
4739 val
* var336
/* : MModule */;
4740 val
* var337
/* : nullable MClassType */;
4741 val
* var_main_type
/* var main_type: nullable MClassType */;
4742 val
* var338
/* : null */;
4743 short int var339
/* : Bool */;
4744 val
* var340
/* : AbstractCompiler */;
4745 val
* var341
/* : MModule */;
4746 val
* var_mainmodule
/* var mainmodule: MModule */;
4747 val
* var342
/* : RuntimeVariable */;
4748 val
* var_glob_sys
/* var glob_sys: RuntimeVariable */;
4749 static val
* varonce343
;
4750 val
* var344
/* : String */;
4751 char* var345
/* : NativeString */;
4752 long var346
/* : Int */;
4753 val
* var347
/* : String */;
4754 static val
* varonce348
;
4755 val
* var349
/* : String */;
4756 char* var350
/* : NativeString */;
4757 long var351
/* : Int */;
4758 val
* var352
/* : String */;
4759 val
* var353
/* : Array[Object] */;
4760 long var354
/* : Int */;
4761 val
* var355
/* : NativeArray[Object] */;
4762 val
* var356
/* : String */;
4763 static val
* varonce357
;
4764 val
* var358
/* : String */;
4765 char* var359
/* : NativeString */;
4766 long var360
/* : Int */;
4767 val
* var361
/* : String */;
4768 val
* var362
/* : MClass */;
4769 val
* var363
/* : nullable MMethod */;
4770 val
* var_main_init
/* var main_init: nullable MMethod */;
4771 val
* var364
/* : null */;
4772 short int var365
/* : Bool */;
4773 val
* var366
/* : Array[RuntimeVariable] */;
4774 long var367
/* : Int */;
4775 val
* var368
/* : NativeArray[RuntimeVariable] */;
4776 val
* var369
/* : nullable RuntimeVariable */;
4777 static val
* varonce370
;
4778 val
* var371
/* : String */;
4779 char* var372
/* : NativeString */;
4780 long var373
/* : Int */;
4781 val
* var374
/* : String */;
4782 val
* var375
/* : MClass */;
4783 val
* var376
/* : nullable MMethod */;
4784 val
* var_main_method
/* var main_method: nullable MMethod */;
4785 val
* var377
/* : null */;
4786 short int var378
/* : Bool */;
4787 val
* var379
/* : Array[RuntimeVariable] */;
4788 long var380
/* : Int */;
4789 val
* var381
/* : NativeArray[RuntimeVariable] */;
4790 val
* var382
/* : nullable RuntimeVariable */;
4791 val
* var383
/* : ModelBuilder */;
4792 val
* var384
/* : ToolContext */;
4793 val
* var385
/* : OptionBool */;
4794 val
* var386
/* : nullable Object */;
4795 short int var387
/* : Bool */;
4796 static val
* varonce388
;
4797 val
* var389
/* : String */;
4798 char* var390
/* : NativeString */;
4799 long var391
/* : Int */;
4800 val
* var392
/* : String */;
4801 static val
* varonce393
;
4802 val
* var394
/* : String */;
4803 char* var395
/* : NativeString */;
4804 long var396
/* : Int */;
4805 val
* var397
/* : String */;
4806 static val
* varonce398
;
4807 val
* var399
/* : String */;
4808 char* var400
/* : NativeString */;
4809 long var401
/* : Int */;
4810 val
* var402
/* : String */;
4811 static val
* varonce403
;
4812 val
* var404
/* : String */;
4813 char* var405
/* : NativeString */;
4814 long var406
/* : Int */;
4815 val
* var407
/* : String */;
4816 val
* var408
/* : Array[String] */;
4817 val
* var409
/* : Iterator[nullable Object] */;
4818 short int var410
/* : Bool */;
4819 val
* var411
/* : nullable Object */;
4820 val
* var_tag412
/* var tag: String */;
4821 static val
* varonce413
;
4822 val
* var414
/* : String */;
4823 char* var415
/* : NativeString */;
4824 long var416
/* : Int */;
4825 val
* var417
/* : String */;
4826 static val
* varonce418
;
4827 val
* var419
/* : String */;
4828 char* var420
/* : NativeString */;
4829 long var421
/* : Int */;
4830 val
* var422
/* : String */;
4831 val
* var423
/* : Array[Object] */;
4832 long var424
/* : Int */;
4833 val
* var425
/* : NativeArray[Object] */;
4834 val
* var426
/* : String */;
4835 static val
* varonce427
;
4836 val
* var428
/* : String */;
4837 char* var429
/* : NativeString */;
4838 long var430
/* : Int */;
4839 val
* var431
/* : String */;
4840 static val
* varonce432
;
4841 val
* var433
/* : String */;
4842 char* var434
/* : NativeString */;
4843 long var435
/* : Int */;
4844 val
* var436
/* : String */;
4845 static val
* varonce437
;
4846 val
* var438
/* : String */;
4847 char* var439
/* : NativeString */;
4848 long var440
/* : Int */;
4849 val
* var441
/* : String */;
4850 static val
* varonce442
;
4851 val
* var443
/* : String */;
4852 char* var444
/* : NativeString */;
4853 long var445
/* : Int */;
4854 val
* var446
/* : String */;
4855 static val
* varonce447
;
4856 val
* var448
/* : String */;
4857 char* var449
/* : NativeString */;
4858 long var450
/* : Int */;
4859 val
* var451
/* : String */;
4860 val
* var452
/* : Array[Object] */;
4861 long var453
/* : Int */;
4862 val
* var454
/* : NativeArray[Object] */;
4863 val
* var455
/* : String */;
4864 static val
* varonce456
;
4865 val
* var457
/* : String */;
4866 char* var458
/* : NativeString */;
4867 long var459
/* : Int */;
4868 val
* var460
/* : String */;
4869 static val
* varonce461
;
4870 val
* var462
/* : String */;
4871 char* var463
/* : NativeString */;
4872 long var464
/* : Int */;
4873 val
* var465
/* : String */;
4874 val
* var466
/* : Array[Object] */;
4875 long var467
/* : Int */;
4876 val
* var468
/* : NativeArray[Object] */;
4877 val
* var469
/* : String */;
4878 static val
* varonce470
;
4879 val
* var471
/* : String */;
4880 char* var472
/* : NativeString */;
4881 long var473
/* : Int */;
4882 val
* var474
/* : String */;
4883 static val
* varonce475
;
4884 val
* var476
/* : String */;
4885 char* var477
/* : NativeString */;
4886 long var478
/* : Int */;
4887 val
* var479
/* : String */;
4888 val
* var480
/* : Array[Object] */;
4889 long var481
/* : Int */;
4890 val
* var482
/* : NativeArray[Object] */;
4891 val
* var483
/* : String */;
4892 static val
* varonce484
;
4893 val
* var485
/* : String */;
4894 char* var486
/* : NativeString */;
4895 long var487
/* : Int */;
4896 val
* var488
/* : String */;
4897 static val
* varonce489
;
4898 val
* var490
/* : String */;
4899 char* var491
/* : NativeString */;
4900 long var492
/* : Int */;
4901 val
* var493
/* : String */;
4902 val
* var494
/* : Array[Object] */;
4903 long var495
/* : Int */;
4904 val
* var496
/* : NativeArray[Object] */;
4905 val
* var497
/* : String */;
4906 static val
* varonce498
;
4907 val
* var499
/* : String */;
4908 char* var500
/* : NativeString */;
4909 long var501
/* : Int */;
4910 val
* var502
/* : String */;
4911 static val
* varonce503
;
4912 val
* var504
/* : String */;
4913 char* var505
/* : NativeString */;
4914 long var506
/* : Int */;
4915 val
* var507
/* : String */;
4916 val
* var508
/* : Array[Object] */;
4917 long var509
/* : Int */;
4918 val
* var510
/* : NativeArray[Object] */;
4919 val
* var511
/* : String */;
4920 static val
* varonce513
;
4921 val
* var514
/* : String */;
4922 char* var515
/* : NativeString */;
4923 long var516
/* : Int */;
4924 val
* var517
/* : String */;
4925 static val
* varonce518
;
4926 val
* var519
/* : String */;
4927 char* var520
/* : NativeString */;
4928 long var521
/* : Int */;
4929 val
* var522
/* : String */;
4930 val
* var523
/* : Array[String] */;
4931 val
* var524
/* : Array[nullable Object] */;
4932 val
* var_tags
/* var tags: Array[String] */;
4933 static val
* varonce525
;
4934 val
* var526
/* : String */;
4935 char* var527
/* : NativeString */;
4936 long var528
/* : Int */;
4937 val
* var529
/* : String */;
4938 val
* var530
/* : Iterator[nullable Object] */;
4939 short int var531
/* : Bool */;
4940 val
* var532
/* : nullable Object */;
4941 val
* var_tag533
/* var tag: String */;
4942 static val
* varonce534
;
4943 val
* var535
/* : String */;
4944 char* var536
/* : NativeString */;
4945 long var537
/* : Int */;
4946 val
* var538
/* : String */;
4947 static val
* varonce539
;
4948 val
* var540
/* : String */;
4949 char* var541
/* : NativeString */;
4950 long var542
/* : Int */;
4951 val
* var543
/* : String */;
4952 val
* var544
/* : Array[Object] */;
4953 long var545
/* : Int */;
4954 val
* var546
/* : NativeArray[Object] */;
4955 val
* var547
/* : String */;
4956 static val
* varonce548
;
4957 val
* var549
/* : String */;
4958 char* var550
/* : NativeString */;
4959 long var551
/* : Int */;
4960 val
* var552
/* : String */;
4961 static val
* varonce553
;
4962 val
* var554
/* : String */;
4963 char* var555
/* : NativeString */;
4964 long var556
/* : Int */;
4965 val
* var557
/* : String */;
4966 static val
* varonce558
;
4967 val
* var559
/* : String */;
4968 char* var560
/* : NativeString */;
4969 long var561
/* : Int */;
4970 val
* var562
/* : String */;
4971 val
* var563
/* : Array[Object] */;
4972 long var564
/* : Int */;
4973 val
* var565
/* : NativeArray[Object] */;
4974 val
* var566
/* : String */;
4975 static val
* varonce567
;
4976 val
* var568
/* : String */;
4977 char* var569
/* : NativeString */;
4978 long var570
/* : Int */;
4979 val
* var571
/* : String */;
4980 static val
* varonce572
;
4981 val
* var573
/* : String */;
4982 char* var574
/* : NativeString */;
4983 long var575
/* : Int */;
4984 val
* var576
/* : String */;
4985 static val
* varonce577
;
4986 val
* var578
/* : String */;
4987 char* var579
/* : NativeString */;
4988 long var580
/* : Int */;
4989 val
* var581
/* : String */;
4990 val
* var582
/* : Array[Object] */;
4991 long var583
/* : Int */;
4992 val
* var584
/* : NativeArray[Object] */;
4993 val
* var585
/* : String */;
4994 static val
* varonce586
;
4995 val
* var587
/* : String */;
4996 char* var588
/* : NativeString */;
4997 long var589
/* : Int */;
4998 val
* var590
/* : String */;
4999 static val
* varonce591
;
5000 val
* var592
/* : String */;
5001 char* var593
/* : NativeString */;
5002 long var594
/* : Int */;
5003 val
* var595
/* : String */;
5004 static val
* varonce596
;
5005 val
* var597
/* : String */;
5006 char* var598
/* : NativeString */;
5007 long var599
/* : Int */;
5008 val
* var600
/* : String */;
5009 val
* var601
/* : Array[Object] */;
5010 long var602
/* : Int */;
5011 val
* var603
/* : NativeArray[Object] */;
5012 val
* var604
/* : String */;
5013 static val
* varonce605
;
5014 val
* var606
/* : String */;
5015 char* var607
/* : NativeString */;
5016 long var608
/* : Int */;
5017 val
* var609
/* : String */;
5018 static val
* varonce610
;
5019 val
* var611
/* : String */;
5020 char* var612
/* : NativeString */;
5021 long var613
/* : Int */;
5022 val
* var614
/* : String */;
5023 static val
* varonce615
;
5024 val
* var616
/* : String */;
5025 char* var617
/* : NativeString */;
5026 long var618
/* : Int */;
5027 val
* var619
/* : String */;
5028 val
* var620
/* : Array[Object] */;
5029 long var621
/* : Int */;
5030 val
* var622
/* : NativeArray[Object] */;
5031 val
* var623
/* : String */;
5032 static val
* varonce625
;
5033 val
* var626
/* : String */;
5034 char* var627
/* : NativeString */;
5035 long var628
/* : Int */;
5036 val
* var629
/* : String */;
5037 static val
* varonce630
;
5038 val
* var631
/* : String */;
5039 char* var632
/* : NativeString */;
5040 long var633
/* : Int */;
5041 val
* var634
/* : String */;
5042 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__new_visitor
]))(self
) /* new_visitor on <self:AbstractCompiler>*/;
5044 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
5045 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var1
) /* toolcontext on <var1:ModelBuilder>*/;
5046 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_stacktrace
]))(var2
) /* opt_stacktrace on <var2:ToolContext>*/;
5047 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_opts__Option__value
]))(var3
) /* value on <var3:OptionBool>*/;
5048 var5
= ((struct instance_kernel__Bool
*)var4
)->value
; /* autounbox from nullable Object to Bool */;
5053 var7
= "#include \"c_functions_hash.h\"";
5055 var9
= string__NativeString__to_s_with_length(var7
, var8
);
5059 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var6
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5065 var12
= "#include <signal.h>";
5067 var14
= string__NativeString__to_s_with_length(var12
, var13
);
5071 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var11
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5072 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
5073 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var15
) /* toolcontext on <var15:ModelBuilder>*/;
5074 var17
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_stacktrace
]))(var16
) /* opt_no_stacktrace on <var16:ToolContext>*/;
5075 var18
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_opts__Option__value
]))(var17
) /* value on <var17:OptionBool>*/;
5076 var19
= ((struct instance_kernel__Bool
*)var18
)->value
; /* autounbox from nullable Object to Bool */;
5082 var23
= "#define UNW_LOCAL_ONLY";
5084 var25
= string__NativeString__to_s_with_length(var23
, var24
);
5088 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var22
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5092 var28
= "#include <libunwind.h>";
5094 var30
= string__NativeString__to_s_with_length(var28
, var29
);
5098 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var27
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5104 var33
= "int glob_argc;";
5106 var35
= string__NativeString__to_s_with_length(var33
, var34
);
5110 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var32
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5114 var38
= "char **glob_argv;";
5116 var40
= string__NativeString__to_s_with_length(var38
, var39
);
5120 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var37
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5124 var43
= "val *glob_sys;";
5126 var45
= string__NativeString__to_s_with_length(var43
, var44
);
5130 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var42
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5131 var46
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
5132 var47
= ((val
* (*)(val
*))(var46
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var46
) /* toolcontext on <var46:ModelBuilder>*/;
5133 var48
= ((val
* (*)(val
*))(var47
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_typing_test_metrics
]))(var47
) /* opt_typing_test_metrics on <var47:ToolContext>*/;
5134 var49
= ((val
* (*)(val
*))(var48
->class->vft
[COLOR_opts__Option__value
]))(var48
) /* value on <var48:OptionBool>*/;
5135 var50
= ((struct instance_kernel__Bool
*)var49
)->value
; /* autounbox from nullable Object to Bool */;
5137 var51
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_tags
]))(self
) /* count_type_test_tags on <self:AbstractCompiler>*/;
5138 var52
= ((val
* (*)(val
*))(var51
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var51
) /* iterator on <var51:Array[String]>*/;
5140 var53
= ((short int (*)(val
*))(var52
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var52
) /* is_ok on <var52:Iterator[nullable Object]>*/;
5142 var54
= ((val
* (*)(val
*))(var52
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var52
) /* item on <var52:Iterator[nullable Object]>*/;
5147 var57
= "long count_type_test_resolved_";
5149 var59
= string__NativeString__to_s_with_length(var57
, var58
);
5158 var64
= string__NativeString__to_s_with_length(var62
, var63
);
5162 var65
= NEW_array__Array(&type_array__Arraykernel__Object
);
5163 { /* var65 = array_instance Array[Object] */
5165 var67
= NEW_array__NativeArray(var66
, &type_array__NativeArraykernel__Object
);
5166 ((struct instance_array__NativeArray
*)var67
)->values
[0] = (val
*) var56
;
5167 ((struct instance_array__NativeArray
*)var67
)->values
[1] = (val
*) var_tag
;
5168 ((struct instance_array__NativeArray
*)var67
)->values
[2] = (val
*) var61
;
5169 ((void (*)(val
*, val
*, long))(var65
->class->vft
[COLOR_array__Array__with_native
]))(var65
, var67
, var66
) /* with_native on <var65:Array[Object]>*/;
5171 var68
= ((val
* (*)(val
*))(var65
->class->vft
[COLOR_string__Object__to_s
]))(var65
) /* to_s on <var65:Array[Object]>*/;
5172 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var68
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5176 var71
= "long count_type_test_unresolved_";
5178 var73
= string__NativeString__to_s_with_length(var71
, var72
);
5187 var78
= string__NativeString__to_s_with_length(var76
, var77
);
5191 var79
= NEW_array__Array(&type_array__Arraykernel__Object
);
5192 { /* var79 = array_instance Array[Object] */
5194 var81
= NEW_array__NativeArray(var80
, &type_array__NativeArraykernel__Object
);
5195 ((struct instance_array__NativeArray
*)var81
)->values
[0] = (val
*) var70
;
5196 ((struct instance_array__NativeArray
*)var81
)->values
[1] = (val
*) var_tag
;
5197 ((struct instance_array__NativeArray
*)var81
)->values
[2] = (val
*) var75
;
5198 ((void (*)(val
*, val
*, long))(var79
->class->vft
[COLOR_array__Array__with_native
]))(var79
, var81
, var80
) /* with_native on <var79:Array[Object]>*/;
5200 var82
= ((val
* (*)(val
*))(var79
->class->vft
[COLOR_string__Object__to_s
]))(var79
) /* to_s on <var79:Array[Object]>*/;
5201 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var82
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5205 var85
= "long count_type_test_skipped_";
5207 var87
= string__NativeString__to_s_with_length(var85
, var86
);
5216 var92
= string__NativeString__to_s_with_length(var90
, var91
);
5220 var93
= NEW_array__Array(&type_array__Arraykernel__Object
);
5221 { /* var93 = array_instance Array[Object] */
5223 var95
= NEW_array__NativeArray(var94
, &type_array__NativeArraykernel__Object
);
5224 ((struct instance_array__NativeArray
*)var95
)->values
[0] = (val
*) var84
;
5225 ((struct instance_array__NativeArray
*)var95
)->values
[1] = (val
*) var_tag
;
5226 ((struct instance_array__NativeArray
*)var95
)->values
[2] = (val
*) var89
;
5227 ((void (*)(val
*, val
*, long))(var93
->class->vft
[COLOR_array__Array__with_native
]))(var93
, var95
, var94
) /* with_native on <var93:Array[Object]>*/;
5229 var96
= ((val
* (*)(val
*))(var93
->class->vft
[COLOR_string__Object__to_s
]))(var93
) /* to_s on <var93:Array[Object]>*/;
5230 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var96
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5231 var97
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
5232 var98
= ((val
* (*)(val
*))(var97
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var97
) /* header on <var97:AbstractCompiler>*/;
5236 var101
= "extern long count_type_test_resolved_";
5238 var103
= string__NativeString__to_s_with_length(var101
, var102
);
5243 var105
= varonce104
;
5247 var108
= string__NativeString__to_s_with_length(var106
, var107
);
5249 varonce104
= var105
;
5251 var109
= NEW_array__Array(&type_array__Arraykernel__Object
);
5252 { /* var109 = array_instance Array[Object] */
5254 var111
= NEW_array__NativeArray(var110
, &type_array__NativeArraykernel__Object
);
5255 ((struct instance_array__NativeArray
*)var111
)->values
[0] = (val
*) var100
;
5256 ((struct instance_array__NativeArray
*)var111
)->values
[1] = (val
*) var_tag
;
5257 ((struct instance_array__NativeArray
*)var111
)->values
[2] = (val
*) var105
;
5258 ((void (*)(val
*, val
*, long))(var109
->class->vft
[COLOR_array__Array__with_native
]))(var109
, var111
, var110
) /* with_native on <var109:Array[Object]>*/;
5260 var112
= ((val
* (*)(val
*))(var109
->class->vft
[COLOR_string__Object__to_s
]))(var109
) /* to_s on <var109:Array[Object]>*/;
5261 ((void (*)(val
*, val
*))(var98
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var98
, var112
) /* add_decl on <var98:CodeWriter>*/;
5262 var113
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
5263 var114
= ((val
* (*)(val
*))(var113
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var113
) /* header on <var113:AbstractCompiler>*/;
5265 var116
= varonce115
;
5267 var117
= "extern long count_type_test_unresolved_";
5269 var119
= string__NativeString__to_s_with_length(var117
, var118
);
5271 varonce115
= var116
;
5274 var121
= varonce120
;
5278 var124
= string__NativeString__to_s_with_length(var122
, var123
);
5280 varonce120
= var121
;
5282 var125
= NEW_array__Array(&type_array__Arraykernel__Object
);
5283 { /* var125 = array_instance Array[Object] */
5285 var127
= NEW_array__NativeArray(var126
, &type_array__NativeArraykernel__Object
);
5286 ((struct instance_array__NativeArray
*)var127
)->values
[0] = (val
*) var116
;
5287 ((struct instance_array__NativeArray
*)var127
)->values
[1] = (val
*) var_tag
;
5288 ((struct instance_array__NativeArray
*)var127
)->values
[2] = (val
*) var121
;
5289 ((void (*)(val
*, val
*, long))(var125
->class->vft
[COLOR_array__Array__with_native
]))(var125
, var127
, var126
) /* with_native on <var125:Array[Object]>*/;
5291 var128
= ((val
* (*)(val
*))(var125
->class->vft
[COLOR_string__Object__to_s
]))(var125
) /* to_s on <var125:Array[Object]>*/;
5292 ((void (*)(val
*, val
*))(var114
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var114
, var128
) /* add_decl on <var114:CodeWriter>*/;
5293 var129
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
5294 var130
= ((val
* (*)(val
*))(var129
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var129
) /* header on <var129:AbstractCompiler>*/;
5296 var132
= varonce131
;
5298 var133
= "extern long count_type_test_skipped_";
5300 var135
= string__NativeString__to_s_with_length(var133
, var134
);
5302 varonce131
= var132
;
5305 var137
= varonce136
;
5309 var140
= string__NativeString__to_s_with_length(var138
, var139
);
5311 varonce136
= var137
;
5313 var141
= NEW_array__Array(&type_array__Arraykernel__Object
);
5314 { /* var141 = array_instance Array[Object] */
5316 var143
= NEW_array__NativeArray(var142
, &type_array__NativeArraykernel__Object
);
5317 ((struct instance_array__NativeArray
*)var143
)->values
[0] = (val
*) var132
;
5318 ((struct instance_array__NativeArray
*)var143
)->values
[1] = (val
*) var_tag
;
5319 ((struct instance_array__NativeArray
*)var143
)->values
[2] = (val
*) var137
;
5320 ((void (*)(val
*, val
*, long))(var141
->class->vft
[COLOR_array__Array__with_native
]))(var141
, var143
, var142
) /* with_native on <var141:Array[Object]>*/;
5322 var144
= ((val
* (*)(val
*))(var141
->class->vft
[COLOR_string__Object__to_s
]))(var141
) /* to_s on <var141:Array[Object]>*/;
5323 ((void (*)(val
*, val
*))(var130
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var130
, var144
) /* add_decl on <var130:CodeWriter>*/;
5324 CONTINUE_label
: (void)0;
5325 ((void (*)(val
*))(var52
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var52
) /* next on <var52:Iterator[nullable Object]>*/;
5327 BREAK_label
: (void)0;
5331 var146
= varonce145
;
5333 var147
= "void show_backtrace (int signo) {";
5335 var149
= string__NativeString__to_s_with_length(var147
, var148
);
5337 varonce145
= var146
;
5339 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var146
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5340 var150
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
5341 var151
= ((val
* (*)(val
*))(var150
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var150
) /* toolcontext on <var150:ModelBuilder>*/;
5342 var152
= ((val
* (*)(val
*))(var151
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_stacktrace
]))(var151
) /* opt_no_stacktrace on <var151:ToolContext>*/;
5343 var153
= ((val
* (*)(val
*))(var152
->class->vft
[COLOR_opts__Option__value
]))(var152
) /* value on <var152:OptionBool>*/;
5344 var154
= ((struct instance_kernel__Bool
*)var153
)->value
; /* autounbox from nullable Object to Bool */;
5348 var157
= varonce156
;
5350 var158
= "char* opt = getenv(\"NIT_NO_STACK\");";
5352 var160
= string__NativeString__to_s_with_length(var158
, var159
);
5354 varonce156
= var157
;
5356 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var157
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5358 var162
= varonce161
;
5360 var163
= "unw_cursor_t cursor;";
5362 var165
= string__NativeString__to_s_with_length(var163
, var164
);
5364 varonce161
= var162
;
5366 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var162
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5368 var167
= varonce166
;
5370 var168
= "if(opt==NULL){";
5372 var170
= string__NativeString__to_s_with_length(var168
, var169
);
5374 varonce166
= var167
;
5376 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var167
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5378 var172
= varonce171
;
5380 var173
= "unw_context_t uc;";
5382 var175
= string__NativeString__to_s_with_length(var173
, var174
);
5384 varonce171
= var172
;
5386 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var172
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5388 var177
= varonce176
;
5390 var178
= "unw_word_t ip;";
5392 var180
= string__NativeString__to_s_with_length(var178
, var179
);
5394 varonce176
= var177
;
5396 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var177
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5398 var182
= varonce181
;
5400 var183
= "char* procname = malloc(sizeof(char) * 100);";
5402 var185
= string__NativeString__to_s_with_length(var183
, var184
);
5404 varonce181
= var182
;
5406 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var182
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5408 var187
= varonce186
;
5410 var188
= "unw_getcontext(&uc);";
5412 var190
= string__NativeString__to_s_with_length(var188
, var189
);
5414 varonce186
= var187
;
5416 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var187
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5418 var192
= varonce191
;
5420 var193
= "unw_init_local(&cursor, &uc);";
5422 var195
= string__NativeString__to_s_with_length(var193
, var194
);
5424 varonce191
= var192
;
5426 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var192
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5428 var197
= varonce196
;
5430 var198
= "printf(\"-------------------------------------------------\\n\");";
5432 var200
= string__NativeString__to_s_with_length(var198
, var199
);
5434 varonce196
= var197
;
5436 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var197
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5438 var202
= varonce201
;
5440 var203
= "printf(\"-- Stack Trace ------------------------------\\n\");";
5442 var205
= string__NativeString__to_s_with_length(var203
, var204
);
5444 varonce201
= var202
;
5446 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var202
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5448 var207
= varonce206
;
5450 var208
= "printf(\"-------------------------------------------------\\n\");";
5452 var210
= string__NativeString__to_s_with_length(var208
, var209
);
5454 varonce206
= var207
;
5456 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var207
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5458 var212
= varonce211
;
5460 var213
= "while (unw_step(&cursor) > 0) {";
5462 var215
= string__NativeString__to_s_with_length(var213
, var214
);
5464 varonce211
= var212
;
5466 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var212
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5468 var217
= varonce216
;
5470 var218
= "\11unw_get_proc_name(&cursor, procname, 100, &ip);";
5472 var220
= string__NativeString__to_s_with_length(var218
, var219
);
5474 varonce216
= var217
;
5476 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var217
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5477 var221
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
5478 var222
= ((val
* (*)(val
*))(var221
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var221
) /* toolcontext on <var221:ModelBuilder>*/;
5479 var223
= ((val
* (*)(val
*))(var222
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_stacktrace
]))(var222
) /* opt_stacktrace on <var222:ToolContext>*/;
5480 var224
= ((val
* (*)(val
*))(var223
->class->vft
[COLOR_opts__Option__value
]))(var223
) /* value on <var223:OptionBool>*/;
5481 var225
= ((struct instance_kernel__Bool
*)var224
)->value
; /* autounbox from nullable Object to Bool */;
5484 var227
= varonce226
;
5486 var228
= "\11const C_Nit_Names* recv = get_nit_name(procname, strlen(procname));";
5488 var230
= string__NativeString__to_s_with_length(var228
, var229
);
5490 varonce226
= var227
;
5492 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var227
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5494 var232
= varonce231
;
5496 var233
= "\11if (recv != 0){";
5498 var235
= string__NativeString__to_s_with_length(var233
, var234
);
5500 varonce231
= var232
;
5502 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var232
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5504 var237
= varonce236
;
5506 var238
= "\11\11printf(\"` %s\\n\", recv->nit_name);";
5508 var240
= string__NativeString__to_s_with_length(var238
, var239
);
5510 varonce236
= var237
;
5512 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var237
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5514 var242
= varonce241
;
5516 var243
= "\11}else{";
5518 var245
= string__NativeString__to_s_with_length(var243
, var244
);
5520 varonce241
= var242
;
5522 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var242
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5524 var247
= varonce246
;
5526 var248
= "\11\11printf(\"` %s\\n\", procname);";
5528 var250
= string__NativeString__to_s_with_length(var248
, var249
);
5530 varonce246
= var247
;
5532 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var247
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5534 var252
= varonce251
;
5538 var255
= string__NativeString__to_s_with_length(var253
, var254
);
5540 varonce251
= var252
;
5542 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var252
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5545 var257
= varonce256
;
5547 var258
= "\11printf(\"` %s \\n\",procname);";
5549 var260
= string__NativeString__to_s_with_length(var258
, var259
);
5551 varonce256
= var257
;
5553 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var257
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5556 var262
= varonce261
;
5560 var265
= string__NativeString__to_s_with_length(var263
, var264
);
5562 varonce261
= var262
;
5564 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var262
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5566 var267
= varonce266
;
5568 var268
= "printf(\"-------------------------------------------------\\n\");";
5570 var270
= string__NativeString__to_s_with_length(var268
, var269
);
5572 varonce266
= var267
;
5574 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var267
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5576 var272
= varonce271
;
5578 var273
= "free(procname);";
5580 var275
= string__NativeString__to_s_with_length(var273
, var274
);
5582 varonce271
= var272
;
5584 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var272
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5586 var277
= varonce276
;
5590 var280
= string__NativeString__to_s_with_length(var278
, var279
);
5592 varonce276
= var277
;
5594 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var277
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5598 var282
= varonce281
;
5600 var283
= "exit(signo);";
5602 var285
= string__NativeString__to_s_with_length(var283
, var284
);
5604 varonce281
= var282
;
5606 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var282
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5608 var287
= varonce286
;
5612 var290
= string__NativeString__to_s_with_length(var288
, var289
);
5614 varonce286
= var287
;
5616 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var287
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5618 var292
= varonce291
;
5620 var293
= "int main(int argc, char** argv) {";
5622 var295
= string__NativeString__to_s_with_length(var293
, var294
);
5624 varonce291
= var292
;
5626 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var292
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5628 var297
= varonce296
;
5630 var298
= "signal(SIGABRT, show_backtrace);";
5632 var300
= string__NativeString__to_s_with_length(var298
, var299
);
5634 varonce296
= var297
;
5636 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var297
) /* add on <var_v:AbstractCompilerVisitor>*/;
5638 var302
= varonce301
;
5640 var303
= "signal(SIGFPE, show_backtrace);";
5642 var305
= string__NativeString__to_s_with_length(var303
, var304
);
5644 varonce301
= var302
;
5646 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var302
) /* add on <var_v:AbstractCompilerVisitor>*/;
5648 var307
= varonce306
;
5650 var308
= "signal(SIGILL, show_backtrace);";
5652 var310
= string__NativeString__to_s_with_length(var308
, var309
);
5654 varonce306
= var307
;
5656 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var307
) /* add on <var_v:AbstractCompilerVisitor>*/;
5658 var312
= varonce311
;
5660 var313
= "signal(SIGINT, show_backtrace);";
5662 var315
= string__NativeString__to_s_with_length(var313
, var314
);
5664 varonce311
= var312
;
5666 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var312
) /* add on <var_v:AbstractCompilerVisitor>*/;
5668 var317
= varonce316
;
5670 var318
= "signal(SIGTERM, show_backtrace);";
5672 var320
= string__NativeString__to_s_with_length(var318
, var319
);
5674 varonce316
= var317
;
5676 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var317
) /* add on <var_v:AbstractCompilerVisitor>*/;
5678 var322
= varonce321
;
5680 var323
= "signal(SIGSEGV, show_backtrace);";
5682 var325
= string__NativeString__to_s_with_length(var323
, var324
);
5684 varonce321
= var322
;
5686 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var322
) /* add on <var_v:AbstractCompilerVisitor>*/;
5688 var327
= varonce326
;
5690 var328
= "glob_argc = argc; glob_argv = argv;";
5692 var330
= string__NativeString__to_s_with_length(var328
, var329
);
5694 varonce326
= var327
;
5696 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var327
) /* add on <var_v:AbstractCompilerVisitor>*/;
5698 var332
= varonce331
;
5700 var333
= "initialize_gc_option();";
5702 var335
= string__NativeString__to_s_with_length(var333
, var334
);
5704 varonce331
= var332
;
5706 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var332
) /* add on <var_v:AbstractCompilerVisitor>*/;
5707 var336
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(self
) /* mainmodule on <self:AbstractCompiler>*/;
5708 var337
= ((val
* (*)(val
*))(var336
->class->vft
[COLOR_model__MModule__sys_type
]))(var336
) /* sys_type on <var336:MModule>*/;
5709 var_main_type
= var337
;
5711 if (var_main_type
== NULL
) {
5712 var339
= 0; /* is null */
5714 var339
= 1; /* arg is null and recv is not */
5717 var340
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
5718 var341
= ((val
* (*)(val
*))(var340
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var340
) /* mainmodule on <var340:AbstractCompiler>*/;
5719 var_mainmodule
= var341
;
5720 var342
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__init_instance
]))(var_v
, var_main_type
) /* init_instance on <var_v:AbstractCompilerVisitor>*/;
5721 var_glob_sys
= var342
;
5723 var344
= varonce343
;
5725 var345
= "glob_sys = ";
5727 var347
= string__NativeString__to_s_with_length(var345
, var346
);
5729 varonce343
= var344
;
5732 var349
= varonce348
;
5736 var352
= string__NativeString__to_s_with_length(var350
, var351
);
5738 varonce348
= var349
;
5740 var353
= NEW_array__Array(&type_array__Arraykernel__Object
);
5741 { /* var353 = array_instance Array[Object] */
5743 var355
= NEW_array__NativeArray(var354
, &type_array__NativeArraykernel__Object
);
5744 ((struct instance_array__NativeArray
*)var355
)->values
[0] = (val
*) var344
;
5745 ((struct instance_array__NativeArray
*)var355
)->values
[1] = (val
*) var_glob_sys
;
5746 ((struct instance_array__NativeArray
*)var355
)->values
[2] = (val
*) var349
;
5747 ((void (*)(val
*, val
*, long))(var353
->class->vft
[COLOR_array__Array__with_native
]))(var353
, var355
, var354
) /* with_native on <var353:Array[Object]>*/;
5749 var356
= ((val
* (*)(val
*))(var353
->class->vft
[COLOR_string__Object__to_s
]))(var353
) /* to_s on <var353:Array[Object]>*/;
5750 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var356
) /* add on <var_v:AbstractCompilerVisitor>*/;
5752 var358
= varonce357
;
5756 var361
= string__NativeString__to_s_with_length(var359
, var360
);
5758 varonce357
= var358
;
5760 var362
= ((val
* (*)(val
*))(var_main_type
->class->vft
[COLOR_model__MClassType__mclass
]))(var_main_type
) /* mclass on <var_main_type:nullable MClassType(MClassType)>*/;
5761 var363
= ((val
* (*)(val
*, val
*, val
*))(var_mainmodule
->class->vft
[COLOR_model__MModule__try_get_primitive_method
]))(var_mainmodule
, var358
, var362
) /* try_get_primitive_method on <var_mainmodule:MModule>*/;
5762 var_main_init
= var363
;
5764 if (var_main_init
== NULL
) {
5765 var365
= 0; /* is null */
5767 var365
= 1; /* arg is null and recv is not */
5770 var366
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
5771 { /* var366 = array_instance Array[RuntimeVariable] */
5773 var368
= NEW_array__NativeArray(var367
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
5774 ((struct instance_array__NativeArray
*)var368
)->values
[0] = (val
*) var_glob_sys
;
5775 ((void (*)(val
*, val
*, long))(var366
->class->vft
[COLOR_array__Array__with_native
]))(var366
, var368
, var367
) /* with_native on <var366:Array[RuntimeVariable]>*/;
5777 var369
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(var_v
, var_main_init
, var366
) /* send on <var_v:AbstractCompilerVisitor>*/;
5782 var371
= varonce370
;
5786 var374
= string__NativeString__to_s_with_length(var372
, var373
);
5788 varonce370
= var371
;
5790 var375
= ((val
* (*)(val
*))(var_main_type
->class->vft
[COLOR_model__MClassType__mclass
]))(var_main_type
) /* mclass on <var_main_type:nullable MClassType(MClassType)>*/;
5791 var376
= ((val
* (*)(val
*, val
*, val
*))(var_mainmodule
->class->vft
[COLOR_model__MModule__try_get_primitive_method
]))(var_mainmodule
, var371
, var375
) /* try_get_primitive_method on <var_mainmodule:MModule>*/;
5792 var_main_method
= var376
;
5794 if (var_main_method
== NULL
) {
5795 var378
= 0; /* is null */
5797 var378
= 1; /* arg is null and recv is not */
5800 var379
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
5801 { /* var379 = array_instance Array[RuntimeVariable] */
5803 var381
= NEW_array__NativeArray(var380
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
5804 ((struct instance_array__NativeArray
*)var381
)->values
[0] = (val
*) var_glob_sys
;
5805 ((void (*)(val
*, val
*, long))(var379
->class->vft
[COLOR_array__Array__with_native
]))(var379
, var381
, var380
) /* with_native on <var379:Array[RuntimeVariable]>*/;
5807 var382
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(var_v
, var_main_method
, var379
) /* send on <var_v:AbstractCompilerVisitor>*/;
5813 var383
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
5814 var384
= ((val
* (*)(val
*))(var383
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var383
) /* toolcontext on <var383:ModelBuilder>*/;
5815 var385
= ((val
* (*)(val
*))(var384
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_typing_test_metrics
]))(var384
) /* opt_typing_test_metrics on <var384:ToolContext>*/;
5816 var386
= ((val
* (*)(val
*))(var385
->class->vft
[COLOR_opts__Option__value
]))(var385
) /* value on <var385:OptionBool>*/;
5817 var387
= ((struct instance_kernel__Bool
*)var386
)->value
; /* autounbox from nullable Object to Bool */;
5820 var389
= varonce388
;
5822 var390
= "long count_type_test_resolved_total = 0;";
5824 var392
= string__NativeString__to_s_with_length(var390
, var391
);
5826 varonce388
= var389
;
5828 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var389
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5830 var394
= varonce393
;
5832 var395
= "long count_type_test_unresolved_total = 0;";
5834 var397
= string__NativeString__to_s_with_length(var395
, var396
);
5836 varonce393
= var394
;
5838 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var394
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5840 var399
= varonce398
;
5842 var400
= "long count_type_test_skipped_total = 0;";
5844 var402
= string__NativeString__to_s_with_length(var400
, var401
);
5846 varonce398
= var399
;
5848 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var399
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5850 var404
= varonce403
;
5852 var405
= "long count_type_test_total_total = 0;";
5854 var407
= string__NativeString__to_s_with_length(var405
, var406
);
5856 varonce403
= var404
;
5858 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var404
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5859 var408
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_tags
]))(self
) /* count_type_test_tags on <self:AbstractCompiler>*/;
5860 var409
= ((val
* (*)(val
*))(var408
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var408
) /* iterator on <var408:Array[String]>*/;
5862 var410
= ((short int (*)(val
*))(var409
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var409
) /* is_ok on <var409:Iterator[nullable Object]>*/;
5864 var411
= ((val
* (*)(val
*))(var409
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var409
) /* item on <var409:Iterator[nullable Object]>*/;
5865 var_tag412
= var411
;
5867 var414
= varonce413
;
5869 var415
= "long count_type_test_total_";
5871 var417
= string__NativeString__to_s_with_length(var415
, var416
);
5873 varonce413
= var414
;
5876 var419
= varonce418
;
5880 var422
= string__NativeString__to_s_with_length(var420
, var421
);
5882 varonce418
= var419
;
5884 var423
= NEW_array__Array(&type_array__Arraykernel__Object
);
5885 { /* var423 = array_instance Array[Object] */
5887 var425
= NEW_array__NativeArray(var424
, &type_array__NativeArraykernel__Object
);
5888 ((struct instance_array__NativeArray
*)var425
)->values
[0] = (val
*) var414
;
5889 ((struct instance_array__NativeArray
*)var425
)->values
[1] = (val
*) var_tag412
;
5890 ((struct instance_array__NativeArray
*)var425
)->values
[2] = (val
*) var419
;
5891 ((void (*)(val
*, val
*, long))(var423
->class->vft
[COLOR_array__Array__with_native
]))(var423
, var425
, var424
) /* with_native on <var423:Array[Object]>*/;
5893 var426
= ((val
* (*)(val
*))(var423
->class->vft
[COLOR_string__Object__to_s
]))(var423
) /* to_s on <var423:Array[Object]>*/;
5894 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var426
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5896 var428
= varonce427
;
5898 var429
= "count_type_test_total_";
5900 var431
= string__NativeString__to_s_with_length(var429
, var430
);
5902 varonce427
= var428
;
5905 var433
= varonce432
;
5907 var434
= " = count_type_test_resolved_";
5909 var436
= string__NativeString__to_s_with_length(var434
, var435
);
5911 varonce432
= var433
;
5914 var438
= varonce437
;
5916 var439
= " + count_type_test_unresolved_";
5918 var441
= string__NativeString__to_s_with_length(var439
, var440
);
5920 varonce437
= var438
;
5923 var443
= varonce442
;
5925 var444
= " + count_type_test_skipped_";
5927 var446
= string__NativeString__to_s_with_length(var444
, var445
);
5929 varonce442
= var443
;
5932 var448
= varonce447
;
5936 var451
= string__NativeString__to_s_with_length(var449
, var450
);
5938 varonce447
= var448
;
5940 var452
= NEW_array__Array(&type_array__Arraykernel__Object
);
5941 { /* var452 = array_instance Array[Object] */
5943 var454
= NEW_array__NativeArray(var453
, &type_array__NativeArraykernel__Object
);
5944 ((struct instance_array__NativeArray
*)var454
)->values
[0] = (val
*) var428
;
5945 ((struct instance_array__NativeArray
*)var454
)->values
[1] = (val
*) var_tag412
;
5946 ((struct instance_array__NativeArray
*)var454
)->values
[2] = (val
*) var433
;
5947 ((struct instance_array__NativeArray
*)var454
)->values
[3] = (val
*) var_tag412
;
5948 ((struct instance_array__NativeArray
*)var454
)->values
[4] = (val
*) var438
;
5949 ((struct instance_array__NativeArray
*)var454
)->values
[5] = (val
*) var_tag412
;
5950 ((struct instance_array__NativeArray
*)var454
)->values
[6] = (val
*) var443
;
5951 ((struct instance_array__NativeArray
*)var454
)->values
[7] = (val
*) var_tag412
;
5952 ((struct instance_array__NativeArray
*)var454
)->values
[8] = (val
*) var448
;
5953 ((void (*)(val
*, val
*, long))(var452
->class->vft
[COLOR_array__Array__with_native
]))(var452
, var454
, var453
) /* with_native on <var452:Array[Object]>*/;
5955 var455
= ((val
* (*)(val
*))(var452
->class->vft
[COLOR_string__Object__to_s
]))(var452
) /* to_s on <var452:Array[Object]>*/;
5956 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var455
) /* add on <var_v:AbstractCompilerVisitor>*/;
5958 var457
= varonce456
;
5960 var458
= "count_type_test_resolved_total += count_type_test_resolved_";
5962 var460
= string__NativeString__to_s_with_length(var458
, var459
);
5964 varonce456
= var457
;
5967 var462
= varonce461
;
5971 var465
= string__NativeString__to_s_with_length(var463
, var464
);
5973 varonce461
= var462
;
5975 var466
= NEW_array__Array(&type_array__Arraykernel__Object
);
5976 { /* var466 = array_instance Array[Object] */
5978 var468
= NEW_array__NativeArray(var467
, &type_array__NativeArraykernel__Object
);
5979 ((struct instance_array__NativeArray
*)var468
)->values
[0] = (val
*) var457
;
5980 ((struct instance_array__NativeArray
*)var468
)->values
[1] = (val
*) var_tag412
;
5981 ((struct instance_array__NativeArray
*)var468
)->values
[2] = (val
*) var462
;
5982 ((void (*)(val
*, val
*, long))(var466
->class->vft
[COLOR_array__Array__with_native
]))(var466
, var468
, var467
) /* with_native on <var466:Array[Object]>*/;
5984 var469
= ((val
* (*)(val
*))(var466
->class->vft
[COLOR_string__Object__to_s
]))(var466
) /* to_s on <var466:Array[Object]>*/;
5985 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var469
) /* add on <var_v:AbstractCompilerVisitor>*/;
5987 var471
= varonce470
;
5989 var472
= "count_type_test_unresolved_total += count_type_test_unresolved_";
5991 var474
= string__NativeString__to_s_with_length(var472
, var473
);
5993 varonce470
= var471
;
5996 var476
= varonce475
;
6000 var479
= string__NativeString__to_s_with_length(var477
, var478
);
6002 varonce475
= var476
;
6004 var480
= NEW_array__Array(&type_array__Arraykernel__Object
);
6005 { /* var480 = array_instance Array[Object] */
6007 var482
= NEW_array__NativeArray(var481
, &type_array__NativeArraykernel__Object
);
6008 ((struct instance_array__NativeArray
*)var482
)->values
[0] = (val
*) var471
;
6009 ((struct instance_array__NativeArray
*)var482
)->values
[1] = (val
*) var_tag412
;
6010 ((struct instance_array__NativeArray
*)var482
)->values
[2] = (val
*) var476
;
6011 ((void (*)(val
*, val
*, long))(var480
->class->vft
[COLOR_array__Array__with_native
]))(var480
, var482
, var481
) /* with_native on <var480:Array[Object]>*/;
6013 var483
= ((val
* (*)(val
*))(var480
->class->vft
[COLOR_string__Object__to_s
]))(var480
) /* to_s on <var480:Array[Object]>*/;
6014 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var483
) /* add on <var_v:AbstractCompilerVisitor>*/;
6016 var485
= varonce484
;
6018 var486
= "count_type_test_skipped_total += count_type_test_skipped_";
6020 var488
= string__NativeString__to_s_with_length(var486
, var487
);
6022 varonce484
= var485
;
6025 var490
= varonce489
;
6029 var493
= string__NativeString__to_s_with_length(var491
, var492
);
6031 varonce489
= var490
;
6033 var494
= NEW_array__Array(&type_array__Arraykernel__Object
);
6034 { /* var494 = array_instance Array[Object] */
6036 var496
= NEW_array__NativeArray(var495
, &type_array__NativeArraykernel__Object
);
6037 ((struct instance_array__NativeArray
*)var496
)->values
[0] = (val
*) var485
;
6038 ((struct instance_array__NativeArray
*)var496
)->values
[1] = (val
*) var_tag412
;
6039 ((struct instance_array__NativeArray
*)var496
)->values
[2] = (val
*) var490
;
6040 ((void (*)(val
*, val
*, long))(var494
->class->vft
[COLOR_array__Array__with_native
]))(var494
, var496
, var495
) /* with_native on <var494:Array[Object]>*/;
6042 var497
= ((val
* (*)(val
*))(var494
->class->vft
[COLOR_string__Object__to_s
]))(var494
) /* to_s on <var494:Array[Object]>*/;
6043 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var497
) /* add on <var_v:AbstractCompilerVisitor>*/;
6045 var499
= varonce498
;
6047 var500
= "count_type_test_total_total += count_type_test_total_";
6049 var502
= string__NativeString__to_s_with_length(var500
, var501
);
6051 varonce498
= var499
;
6054 var504
= varonce503
;
6058 var507
= string__NativeString__to_s_with_length(var505
, var506
);
6060 varonce503
= var504
;
6062 var508
= NEW_array__Array(&type_array__Arraykernel__Object
);
6063 { /* var508 = array_instance Array[Object] */
6065 var510
= NEW_array__NativeArray(var509
, &type_array__NativeArraykernel__Object
);
6066 ((struct instance_array__NativeArray
*)var510
)->values
[0] = (val
*) var499
;
6067 ((struct instance_array__NativeArray
*)var510
)->values
[1] = (val
*) var_tag412
;
6068 ((struct instance_array__NativeArray
*)var510
)->values
[2] = (val
*) var504
;
6069 ((void (*)(val
*, val
*, long))(var508
->class->vft
[COLOR_array__Array__with_native
]))(var508
, var510
, var509
) /* with_native on <var508:Array[Object]>*/;
6071 var511
= ((val
* (*)(val
*))(var508
->class->vft
[COLOR_string__Object__to_s
]))(var508
) /* to_s on <var508:Array[Object]>*/;
6072 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var511
) /* add on <var_v:AbstractCompilerVisitor>*/;
6073 CONTINUE_label512
: (void)0;
6074 ((void (*)(val
*))(var409
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var409
) /* next on <var409:Iterator[nullable Object]>*/;
6076 BREAK_label512
: (void)0;
6078 var514
= varonce513
;
6080 var515
= "printf(\"# dynamic count_type_test: total %l\\n\");";
6082 var517
= string__NativeString__to_s_with_length(var515
, var516
);
6084 varonce513
= var514
;
6086 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var514
) /* add on <var_v:AbstractCompilerVisitor>*/;
6088 var519
= varonce518
;
6090 var520
= "printf(\"\\tresolved\\tunresolved\\tskipped\\ttotal\\n\");";
6092 var522
= string__NativeString__to_s_with_length(var520
, var521
);
6094 varonce518
= var519
;
6096 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var519
) /* add on <var_v:AbstractCompilerVisitor>*/;
6097 var523
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_tags
]))(self
) /* count_type_test_tags on <self:AbstractCompiler>*/;
6098 var524
= ((val
* (*)(val
*))(var523
->class->vft
[COLOR_array__Collection__to_a
]))(var523
) /* to_a on <var523:Array[String]>*/;
6101 var526
= varonce525
;
6105 var529
= string__NativeString__to_s_with_length(var527
, var528
);
6107 varonce525
= var526
;
6109 ((void (*)(val
*, val
*))(var_tags
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_tags
, var526
) /* add on <var_tags:Array[String]>*/;
6110 var530
= ((val
* (*)(val
*))(var_tags
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_tags
) /* iterator on <var_tags:Array[String]>*/;
6112 var531
= ((short int (*)(val
*))(var530
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var530
) /* is_ok on <var530:Iterator[nullable Object]>*/;
6114 var532
= ((val
* (*)(val
*))(var530
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var530
) /* item on <var530:Iterator[nullable Object]>*/;
6115 var_tag533
= var532
;
6117 var535
= varonce534
;
6119 var536
= "printf(\"";
6121 var538
= string__NativeString__to_s_with_length(var536
, var537
);
6123 varonce534
= var535
;
6126 var540
= varonce539
;
6130 var543
= string__NativeString__to_s_with_length(var541
, var542
);
6132 varonce539
= var540
;
6134 var544
= NEW_array__Array(&type_array__Arraykernel__Object
);
6135 { /* var544 = array_instance Array[Object] */
6137 var546
= NEW_array__NativeArray(var545
, &type_array__NativeArraykernel__Object
);
6138 ((struct instance_array__NativeArray
*)var546
)->values
[0] = (val
*) var535
;
6139 ((struct instance_array__NativeArray
*)var546
)->values
[1] = (val
*) var_tag533
;
6140 ((struct instance_array__NativeArray
*)var546
)->values
[2] = (val
*) var540
;
6141 ((void (*)(val
*, val
*, long))(var544
->class->vft
[COLOR_array__Array__with_native
]))(var544
, var546
, var545
) /* with_native on <var544:Array[Object]>*/;
6143 var547
= ((val
* (*)(val
*))(var544
->class->vft
[COLOR_string__Object__to_s
]))(var544
) /* to_s on <var544:Array[Object]>*/;
6144 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var547
) /* add on <var_v:AbstractCompilerVisitor>*/;
6146 var549
= varonce548
;
6148 var550
= "printf(\"\\t%ld (%.2f%%)\", count_type_test_resolved_";
6150 var552
= string__NativeString__to_s_with_length(var550
, var551
);
6152 varonce548
= var549
;
6155 var554
= varonce553
;
6157 var555
= ", 100.0*count_type_test_resolved_";
6159 var557
= string__NativeString__to_s_with_length(var555
, var556
);
6161 varonce553
= var554
;
6164 var559
= varonce558
;
6166 var560
= "/count_type_test_total_total);";
6168 var562
= string__NativeString__to_s_with_length(var560
, var561
);
6170 varonce558
= var559
;
6172 var563
= NEW_array__Array(&type_array__Arraykernel__Object
);
6173 { /* var563 = array_instance Array[Object] */
6175 var565
= NEW_array__NativeArray(var564
, &type_array__NativeArraykernel__Object
);
6176 ((struct instance_array__NativeArray
*)var565
)->values
[0] = (val
*) var549
;
6177 ((struct instance_array__NativeArray
*)var565
)->values
[1] = (val
*) var_tag533
;
6178 ((struct instance_array__NativeArray
*)var565
)->values
[2] = (val
*) var554
;
6179 ((struct instance_array__NativeArray
*)var565
)->values
[3] = (val
*) var_tag533
;
6180 ((struct instance_array__NativeArray
*)var565
)->values
[4] = (val
*) var559
;
6181 ((void (*)(val
*, val
*, long))(var563
->class->vft
[COLOR_array__Array__with_native
]))(var563
, var565
, var564
) /* with_native on <var563:Array[Object]>*/;
6183 var566
= ((val
* (*)(val
*))(var563
->class->vft
[COLOR_string__Object__to_s
]))(var563
) /* to_s on <var563:Array[Object]>*/;
6184 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var566
) /* add on <var_v:AbstractCompilerVisitor>*/;
6186 var568
= varonce567
;
6188 var569
= "printf(\"\\t%ld (%.2f%%)\", count_type_test_unresolved_";
6190 var571
= string__NativeString__to_s_with_length(var569
, var570
);
6192 varonce567
= var568
;
6195 var573
= varonce572
;
6197 var574
= ", 100.0*count_type_test_unresolved_";
6199 var576
= string__NativeString__to_s_with_length(var574
, var575
);
6201 varonce572
= var573
;
6204 var578
= varonce577
;
6206 var579
= "/count_type_test_total_total);";
6208 var581
= string__NativeString__to_s_with_length(var579
, var580
);
6210 varonce577
= var578
;
6212 var582
= NEW_array__Array(&type_array__Arraykernel__Object
);
6213 { /* var582 = array_instance Array[Object] */
6215 var584
= NEW_array__NativeArray(var583
, &type_array__NativeArraykernel__Object
);
6216 ((struct instance_array__NativeArray
*)var584
)->values
[0] = (val
*) var568
;
6217 ((struct instance_array__NativeArray
*)var584
)->values
[1] = (val
*) var_tag533
;
6218 ((struct instance_array__NativeArray
*)var584
)->values
[2] = (val
*) var573
;
6219 ((struct instance_array__NativeArray
*)var584
)->values
[3] = (val
*) var_tag533
;
6220 ((struct instance_array__NativeArray
*)var584
)->values
[4] = (val
*) var578
;
6221 ((void (*)(val
*, val
*, long))(var582
->class->vft
[COLOR_array__Array__with_native
]))(var582
, var584
, var583
) /* with_native on <var582:Array[Object]>*/;
6223 var585
= ((val
* (*)(val
*))(var582
->class->vft
[COLOR_string__Object__to_s
]))(var582
) /* to_s on <var582:Array[Object]>*/;
6224 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var585
) /* add on <var_v:AbstractCompilerVisitor>*/;
6226 var587
= varonce586
;
6228 var588
= "printf(\"\\t%ld (%.2f%%)\", count_type_test_skipped_";
6230 var590
= string__NativeString__to_s_with_length(var588
, var589
);
6232 varonce586
= var587
;
6235 var592
= varonce591
;
6237 var593
= ", 100.0*count_type_test_skipped_";
6239 var595
= string__NativeString__to_s_with_length(var593
, var594
);
6241 varonce591
= var592
;
6244 var597
= varonce596
;
6246 var598
= "/count_type_test_total_total);";
6248 var600
= string__NativeString__to_s_with_length(var598
, var599
);
6250 varonce596
= var597
;
6252 var601
= NEW_array__Array(&type_array__Arraykernel__Object
);
6253 { /* var601 = array_instance Array[Object] */
6255 var603
= NEW_array__NativeArray(var602
, &type_array__NativeArraykernel__Object
);
6256 ((struct instance_array__NativeArray
*)var603
)->values
[0] = (val
*) var587
;
6257 ((struct instance_array__NativeArray
*)var603
)->values
[1] = (val
*) var_tag533
;
6258 ((struct instance_array__NativeArray
*)var603
)->values
[2] = (val
*) var592
;
6259 ((struct instance_array__NativeArray
*)var603
)->values
[3] = (val
*) var_tag533
;
6260 ((struct instance_array__NativeArray
*)var603
)->values
[4] = (val
*) var597
;
6261 ((void (*)(val
*, val
*, long))(var601
->class->vft
[COLOR_array__Array__with_native
]))(var601
, var603
, var602
) /* with_native on <var601:Array[Object]>*/;
6263 var604
= ((val
* (*)(val
*))(var601
->class->vft
[COLOR_string__Object__to_s
]))(var601
) /* to_s on <var601:Array[Object]>*/;
6264 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var604
) /* add on <var_v:AbstractCompilerVisitor>*/;
6266 var606
= varonce605
;
6268 var607
= "printf(\"\\t%ld (%.2f%%)\\n\", count_type_test_total_";
6270 var609
= string__NativeString__to_s_with_length(var607
, var608
);
6272 varonce605
= var606
;
6275 var611
= varonce610
;
6277 var612
= ", 100.0*count_type_test_total_";
6279 var614
= string__NativeString__to_s_with_length(var612
, var613
);
6281 varonce610
= var611
;
6284 var616
= varonce615
;
6286 var617
= "/count_type_test_total_total);";
6288 var619
= string__NativeString__to_s_with_length(var617
, var618
);
6290 varonce615
= var616
;
6292 var620
= NEW_array__Array(&type_array__Arraykernel__Object
);
6293 { /* var620 = array_instance Array[Object] */
6295 var622
= NEW_array__NativeArray(var621
, &type_array__NativeArraykernel__Object
);
6296 ((struct instance_array__NativeArray
*)var622
)->values
[0] = (val
*) var606
;
6297 ((struct instance_array__NativeArray
*)var622
)->values
[1] = (val
*) var_tag533
;
6298 ((struct instance_array__NativeArray
*)var622
)->values
[2] = (val
*) var611
;
6299 ((struct instance_array__NativeArray
*)var622
)->values
[3] = (val
*) var_tag533
;
6300 ((struct instance_array__NativeArray
*)var622
)->values
[4] = (val
*) var616
;
6301 ((void (*)(val
*, val
*, long))(var620
->class->vft
[COLOR_array__Array__with_native
]))(var620
, var622
, var621
) /* with_native on <var620:Array[Object]>*/;
6303 var623
= ((val
* (*)(val
*))(var620
->class->vft
[COLOR_string__Object__to_s
]))(var620
) /* to_s on <var620:Array[Object]>*/;
6304 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var623
) /* add on <var_v:AbstractCompilerVisitor>*/;
6305 CONTINUE_label624
: (void)0;
6306 ((void (*)(val
*))(var530
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var530
) /* next on <var530:Iterator[nullable Object]>*/;
6308 BREAK_label624
: (void)0;
6312 var626
= varonce625
;
6314 var627
= "return 0;";
6316 var629
= string__NativeString__to_s_with_length(var627
, var628
);
6318 varonce625
= var626
;
6320 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var626
) /* add on <var_v:AbstractCompilerVisitor>*/;
6322 var631
= varonce630
;
6326 var634
= string__NativeString__to_s_with_length(var632
, var633
);
6328 varonce630
= var631
;
6330 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var631
) /* add on <var_v:AbstractCompilerVisitor>*/;
6333 /* method abstract_compiler#AbstractCompiler#compile_main_function for (self: Object) */
6334 void VIRTUAL_abstract_compiler__AbstractCompiler__compile_main_function(val
* self
) {
6335 abstract_compiler__AbstractCompiler__compile_main_function(self
);
6338 /* method abstract_compiler#AbstractCompiler#extern_bodies for (self: AbstractCompiler): Array[ExternCFile] */
6339 val
* abstract_compiler__AbstractCompiler__extern_bodies(val
* self
) {
6340 val
* var
/* : Array[ExternCFile] */;
6341 val
* var1
/* : Array[ExternCFile] */;
6342 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dextern_bodies
].val
; /* @extern_bodies on <self:AbstractCompiler> */
6344 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @extern_bodies");
6345 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 508);
6352 /* method abstract_compiler#AbstractCompiler#extern_bodies for (self: Object): Array[ExternCFile] */
6353 val
* VIRTUAL_abstract_compiler__AbstractCompiler__extern_bodies(val
* self
) {
6354 val
* var
/* : Array[ExternCFile] */;
6355 val
* var1
/* : Array[ExternCFile] */;
6356 var1
= abstract_compiler__AbstractCompiler__extern_bodies(self
);
6361 /* method abstract_compiler#AbstractCompiler#extern_bodies= for (self: AbstractCompiler, Array[ExternCFile]) */
6362 void abstract_compiler__AbstractCompiler__extern_bodies_61d(val
* self
, val
* p0
) {
6363 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dextern_bodies
].val
= p0
; /* @extern_bodies on <self:AbstractCompiler> */
6366 /* method abstract_compiler#AbstractCompiler#extern_bodies= for (self: Object, Array[ExternCFile]) */
6367 void VIRTUAL_abstract_compiler__AbstractCompiler__extern_bodies_61d(val
* self
, val
* p0
) {
6368 abstract_compiler__AbstractCompiler__extern_bodies_61d(self
, p0
);
6371 /* method abstract_compiler#AbstractCompiler#seen_extern for (self: AbstractCompiler): ArraySet[String] */
6372 val
* abstract_compiler__AbstractCompiler__seen_extern(val
* self
) {
6373 val
* var
/* : ArraySet[String] */;
6374 val
* var1
/* : ArraySet[String] */;
6375 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dseen_extern
].val
; /* @seen_extern on <self:AbstractCompiler> */
6377 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @seen_extern");
6378 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 511);
6385 /* method abstract_compiler#AbstractCompiler#seen_extern for (self: Object): ArraySet[String] */
6386 val
* VIRTUAL_abstract_compiler__AbstractCompiler__seen_extern(val
* self
) {
6387 val
* var
/* : ArraySet[String] */;
6388 val
* var1
/* : ArraySet[String] */;
6389 var1
= abstract_compiler__AbstractCompiler__seen_extern(self
);
6394 /* method abstract_compiler#AbstractCompiler#seen_extern= for (self: AbstractCompiler, ArraySet[String]) */
6395 void abstract_compiler__AbstractCompiler__seen_extern_61d(val
* self
, val
* p0
) {
6396 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dseen_extern
].val
= p0
; /* @seen_extern on <self:AbstractCompiler> */
6399 /* method abstract_compiler#AbstractCompiler#seen_extern= for (self: Object, ArraySet[String]) */
6400 void VIRTUAL_abstract_compiler__AbstractCompiler__seen_extern_61d(val
* self
, val
* p0
) {
6401 abstract_compiler__AbstractCompiler__seen_extern_61d(self
, p0
);
6404 /* method abstract_compiler#AbstractCompiler#generate_init_attr for (self: AbstractCompiler, AbstractCompilerVisitor, RuntimeVariable, MClassType) */
6405 void abstract_compiler__AbstractCompiler__generate_init_attr(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6406 short int var
/* : Bool */;
6409 const struct type
* type_struct
;
6410 const char* var_class_name
;
6411 val
* var_v
/* var v: AbstractCompilerVisitor */;
6412 val
* var_recv
/* var recv: RuntimeVariable */;
6413 val
* var_mtype
/* var mtype: MClassType */;
6414 val
* var1
/* : MModule */;
6415 val
* var2
/* : Set[MClassDef] */;
6416 val
* var3
/* : Array[nullable Object] */;
6417 val
* var_cds
/* var cds: Array[MClassDef] */;
6418 val
* var4
/* : MModule */;
6419 val
* var5
/* : Iterator[nullable Object] */;
6420 short int var6
/* : Bool */;
6421 val
* var7
/* : nullable Object */;
6422 val
* var_cd
/* var cd: MClassDef */;
6423 val
* var8
/* : ModelBuilder */;
6424 val
* var9
/* : HashMap[MClassDef, AClassdef] */;
6425 val
* var10
/* : nullable Object */;
6426 val
* var_n
/* var n: AClassdef */;
6427 val
* var11
/* : ANodes[APropdef] */;
6428 val
* var12
/* : Iterator[nullable Object] */;
6429 short int var13
/* : Bool */;
6430 val
* var14
/* : nullable Object */;
6431 val
* var_npropdef
/* var npropdef: APropdef */;
6432 short int var15
/* : Bool */;
6435 /* Covariant cast for argument 0 (v) <p0:AbstractCompilerVisitor> isa VISITOR */
6436 /* <p0:AbstractCompilerVisitor> isa VISITOR */
6437 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractCompiler_VTVISITOR
];
6438 cltype
= type_struct
->color
;
6439 idtype
= type_struct
->id
;
6440 if(cltype
>= p0
->type
->table_size
) {
6443 var
= p0
->type
->type_table
[cltype
] == idtype
;
6446 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
6447 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
6448 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 514);
6454 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(self
) /* mainmodule on <self:AbstractCompiler>*/;
6455 var2
= ((val
* (*)(val
*, val
*))(var_mtype
->class->vft
[COLOR_model__MType__collect_mclassdefs
]))(var_mtype
, var1
) /* collect_mclassdefs on <var_mtype:MClassType>*/;
6456 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_array__Collection__to_a
]))(var2
) /* to_a on <var2:Set[MClassDef]>*/;
6458 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(self
) /* mainmodule on <self:AbstractCompiler>*/;
6459 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_model__MModule__linearize_mclassdefs
]))(var4
, var_cds
) /* linearize_mclassdefs on <var4:MModule>*/;
6460 var5
= ((val
* (*)(val
*))(var_cds
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_cds
) /* iterator on <var_cds:Array[MClassDef]>*/;
6462 var6
= ((short int (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var5
) /* is_ok on <var5:Iterator[nullable Object]>*/;
6464 var7
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var5
) /* item on <var5:Iterator[nullable Object]>*/;
6466 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
6467 var9
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_modelize_class__ModelBuilder__mclassdef2nclassdef
]))(var8
) /* mclassdef2nclassdef on <var8:ModelBuilder>*/;
6468 var10
= ((val
* (*)(val
*, val
*))(var9
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var9
, var_cd
) /* [] on <var9:HashMap[MClassDef, AClassdef]>*/;
6470 var11
= ((val
* (*)(val
*))(var_n
->class->vft
[COLOR_parser_nodes__AClassdef__n_propdefs
]))(var_n
) /* n_propdefs on <var_n:AClassdef>*/;
6471 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var11
) /* iterator on <var11:ANodes[APropdef]>*/;
6473 var13
= ((short int (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var12
) /* is_ok on <var12:Iterator[nullable Object]>*/;
6475 var14
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var12
) /* item on <var12:Iterator[nullable Object]>*/;
6476 var_npropdef
= var14
;
6477 /* <var_npropdef:APropdef> isa AAttrPropdef */
6478 cltype16
= type_parser_nodes__AAttrPropdef
.color
;
6479 idtype17
= type_parser_nodes__AAttrPropdef
.id
;
6480 if(cltype16
>= var_npropdef
->type
->table_size
) {
6483 var15
= var_npropdef
->type
->type_table
[cltype16
] == idtype17
;
6486 ((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)>*/;
6489 CONTINUE_label
: (void)0;
6490 ((void (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var12
) /* next on <var12:Iterator[nullable Object]>*/;
6492 BREAK_label
: (void)0;
6493 CONTINUE_label18
: (void)0;
6494 ((void (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var5
) /* next on <var5:Iterator[nullable Object]>*/;
6496 BREAK_label18
: (void)0;
6499 /* method abstract_compiler#AbstractCompiler#generate_init_attr for (self: Object, AbstractCompilerVisitor, RuntimeVariable, MClassType) */
6500 void VIRTUAL_abstract_compiler__AbstractCompiler__generate_init_attr(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6501 abstract_compiler__AbstractCompiler__generate_init_attr(self
, p0
, p1
, p2
);
6504 /* method abstract_compiler#AbstractCompiler#generate_check_attr for (self: AbstractCompiler, AbstractCompilerVisitor, RuntimeVariable, MClassType) */
6505 void abstract_compiler__AbstractCompiler__generate_check_attr(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6506 short int var
/* : Bool */;
6509 const struct type
* type_struct
;
6510 const char* var_class_name
;
6511 val
* var_v
/* var v: AbstractCompilerVisitor */;
6512 val
* var_recv
/* var recv: RuntimeVariable */;
6513 val
* var_mtype
/* var mtype: MClassType */;
6514 val
* var1
/* : MModule */;
6515 val
* var2
/* : Set[MClassDef] */;
6516 val
* var3
/* : Array[nullable Object] */;
6517 val
* var_cds
/* var cds: Array[MClassDef] */;
6518 val
* var4
/* : MModule */;
6519 val
* var5
/* : Iterator[nullable Object] */;
6520 short int var6
/* : Bool */;
6521 val
* var7
/* : nullable Object */;
6522 val
* var_cd
/* var cd: MClassDef */;
6523 val
* var8
/* : ModelBuilder */;
6524 val
* var9
/* : HashMap[MClassDef, AClassdef] */;
6525 val
* var10
/* : nullable Object */;
6526 val
* var_n
/* var n: AClassdef */;
6527 val
* var11
/* : ANodes[APropdef] */;
6528 val
* var12
/* : Iterator[nullable Object] */;
6529 short int var13
/* : Bool */;
6530 val
* var14
/* : nullable Object */;
6531 val
* var_npropdef
/* var npropdef: APropdef */;
6532 short int var15
/* : Bool */;
6535 /* Covariant cast for argument 0 (v) <p0:AbstractCompilerVisitor> isa VISITOR */
6536 /* <p0:AbstractCompilerVisitor> isa VISITOR */
6537 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractCompiler_VTVISITOR
];
6538 cltype
= type_struct
->color
;
6539 idtype
= type_struct
->id
;
6540 if(cltype
>= p0
->type
->table_size
) {
6543 var
= p0
->type
->type_table
[cltype
] == idtype
;
6546 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
6547 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
6548 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 529);
6554 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(self
) /* mainmodule on <self:AbstractCompiler>*/;
6555 var2
= ((val
* (*)(val
*, val
*))(var_mtype
->class->vft
[COLOR_model__MType__collect_mclassdefs
]))(var_mtype
, var1
) /* collect_mclassdefs on <var_mtype:MClassType>*/;
6556 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_array__Collection__to_a
]))(var2
) /* to_a on <var2:Set[MClassDef]>*/;
6558 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(self
) /* mainmodule on <self:AbstractCompiler>*/;
6559 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_model__MModule__linearize_mclassdefs
]))(var4
, var_cds
) /* linearize_mclassdefs on <var4:MModule>*/;
6560 var5
= ((val
* (*)(val
*))(var_cds
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_cds
) /* iterator on <var_cds:Array[MClassDef]>*/;
6562 var6
= ((short int (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var5
) /* is_ok on <var5:Iterator[nullable Object]>*/;
6564 var7
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var5
) /* item on <var5:Iterator[nullable Object]>*/;
6566 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
6567 var9
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_modelize_class__ModelBuilder__mclassdef2nclassdef
]))(var8
) /* mclassdef2nclassdef on <var8:ModelBuilder>*/;
6568 var10
= ((val
* (*)(val
*, val
*))(var9
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var9
, var_cd
) /* [] on <var9:HashMap[MClassDef, AClassdef]>*/;
6570 var11
= ((val
* (*)(val
*))(var_n
->class->vft
[COLOR_parser_nodes__AClassdef__n_propdefs
]))(var_n
) /* n_propdefs on <var_n:AClassdef>*/;
6571 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var11
) /* iterator on <var11:ANodes[APropdef]>*/;
6573 var13
= ((short int (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var12
) /* is_ok on <var12:Iterator[nullable Object]>*/;
6575 var14
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var12
) /* item on <var12:Iterator[nullable Object]>*/;
6576 var_npropdef
= var14
;
6577 /* <var_npropdef:APropdef> isa AAttrPropdef */
6578 cltype16
= type_parser_nodes__AAttrPropdef
.color
;
6579 idtype17
= type_parser_nodes__AAttrPropdef
.id
;
6580 if(cltype16
>= var_npropdef
->type
->table_size
) {
6583 var15
= var_npropdef
->type
->type_table
[cltype16
] == idtype17
;
6586 ((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)>*/;
6589 CONTINUE_label
: (void)0;
6590 ((void (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var12
) /* next on <var12:Iterator[nullable Object]>*/;
6592 BREAK_label
: (void)0;
6593 CONTINUE_label18
: (void)0;
6594 ((void (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var5
) /* next on <var5:Iterator[nullable Object]>*/;
6596 BREAK_label18
: (void)0;
6599 /* method abstract_compiler#AbstractCompiler#generate_check_attr for (self: Object, AbstractCompilerVisitor, RuntimeVariable, MClassType) */
6600 void VIRTUAL_abstract_compiler__AbstractCompiler__generate_check_attr(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6601 abstract_compiler__AbstractCompiler__generate_check_attr(self
, p0
, p1
, p2
);
6604 /* method abstract_compiler#AbstractCompiler#count_type_test_tags for (self: AbstractCompiler): Array[String] */
6605 val
* abstract_compiler__AbstractCompiler__count_type_test_tags(val
* self
) {
6606 val
* var
/* : Array[String] */;
6607 val
* var1
/* : Array[String] */;
6608 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_tags
].val
; /* @count_type_test_tags on <self:AbstractCompiler> */
6610 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @count_type_test_tags");
6611 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 546);
6618 /* method abstract_compiler#AbstractCompiler#count_type_test_tags for (self: Object): Array[String] */
6619 val
* VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_tags(val
* self
) {
6620 val
* var
/* : Array[String] */;
6621 val
* var1
/* : Array[String] */;
6622 var1
= abstract_compiler__AbstractCompiler__count_type_test_tags(self
);
6627 /* method abstract_compiler#AbstractCompiler#count_type_test_tags= for (self: AbstractCompiler, Array[String]) */
6628 void abstract_compiler__AbstractCompiler__count_type_test_tags_61d(val
* self
, val
* p0
) {
6629 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_tags
].val
= p0
; /* @count_type_test_tags on <self:AbstractCompiler> */
6632 /* method abstract_compiler#AbstractCompiler#count_type_test_tags= for (self: Object, Array[String]) */
6633 void VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_tags_61d(val
* self
, val
* p0
) {
6634 abstract_compiler__AbstractCompiler__count_type_test_tags_61d(self
, p0
);
6637 /* method abstract_compiler#AbstractCompiler#count_type_test_resolved for (self: AbstractCompiler): HashMap[String, Int] */
6638 val
* abstract_compiler__AbstractCompiler__count_type_test_resolved(val
* self
) {
6639 val
* var
/* : HashMap[String, Int] */;
6640 val
* var1
/* : HashMap[String, Int] */;
6641 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_resolved
].val
; /* @count_type_test_resolved on <self:AbstractCompiler> */
6643 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @count_type_test_resolved");
6644 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 547);
6651 /* method abstract_compiler#AbstractCompiler#count_type_test_resolved for (self: Object): HashMap[String, Int] */
6652 val
* VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_resolved(val
* self
) {
6653 val
* var
/* : HashMap[String, Int] */;
6654 val
* var1
/* : HashMap[String, Int] */;
6655 var1
= abstract_compiler__AbstractCompiler__count_type_test_resolved(self
);
6660 /* method abstract_compiler#AbstractCompiler#count_type_test_resolved= for (self: AbstractCompiler, HashMap[String, Int]) */
6661 void abstract_compiler__AbstractCompiler__count_type_test_resolved_61d(val
* self
, val
* p0
) {
6662 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_resolved
].val
= p0
; /* @count_type_test_resolved on <self:AbstractCompiler> */
6665 /* method abstract_compiler#AbstractCompiler#count_type_test_resolved= for (self: Object, HashMap[String, Int]) */
6666 void VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_resolved_61d(val
* self
, val
* p0
) {
6667 abstract_compiler__AbstractCompiler__count_type_test_resolved_61d(self
, p0
);
6670 /* method abstract_compiler#AbstractCompiler#count_type_test_unresolved for (self: AbstractCompiler): HashMap[String, Int] */
6671 val
* abstract_compiler__AbstractCompiler__count_type_test_unresolved(val
* self
) {
6672 val
* var
/* : HashMap[String, Int] */;
6673 val
* var1
/* : HashMap[String, Int] */;
6674 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_unresolved
].val
; /* @count_type_test_unresolved on <self:AbstractCompiler> */
6676 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @count_type_test_unresolved");
6677 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 548);
6684 /* method abstract_compiler#AbstractCompiler#count_type_test_unresolved for (self: Object): HashMap[String, Int] */
6685 val
* VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_unresolved(val
* self
) {
6686 val
* var
/* : HashMap[String, Int] */;
6687 val
* var1
/* : HashMap[String, Int] */;
6688 var1
= abstract_compiler__AbstractCompiler__count_type_test_unresolved(self
);
6693 /* method abstract_compiler#AbstractCompiler#count_type_test_unresolved= for (self: AbstractCompiler, HashMap[String, Int]) */
6694 void abstract_compiler__AbstractCompiler__count_type_test_unresolved_61d(val
* self
, val
* p0
) {
6695 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_unresolved
].val
= p0
; /* @count_type_test_unresolved on <self:AbstractCompiler> */
6698 /* method abstract_compiler#AbstractCompiler#count_type_test_unresolved= for (self: Object, HashMap[String, Int]) */
6699 void VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_unresolved_61d(val
* self
, val
* p0
) {
6700 abstract_compiler__AbstractCompiler__count_type_test_unresolved_61d(self
, p0
);
6703 /* method abstract_compiler#AbstractCompiler#count_type_test_skipped for (self: AbstractCompiler): HashMap[String, Int] */
6704 val
* abstract_compiler__AbstractCompiler__count_type_test_skipped(val
* self
) {
6705 val
* var
/* : HashMap[String, Int] */;
6706 val
* var1
/* : HashMap[String, Int] */;
6707 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_skipped
].val
; /* @count_type_test_skipped on <self:AbstractCompiler> */
6709 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @count_type_test_skipped");
6710 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 549);
6717 /* method abstract_compiler#AbstractCompiler#count_type_test_skipped for (self: Object): HashMap[String, Int] */
6718 val
* VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_skipped(val
* self
) {
6719 val
* var
/* : HashMap[String, Int] */;
6720 val
* var1
/* : HashMap[String, Int] */;
6721 var1
= abstract_compiler__AbstractCompiler__count_type_test_skipped(self
);
6726 /* method abstract_compiler#AbstractCompiler#count_type_test_skipped= for (self: AbstractCompiler, HashMap[String, Int]) */
6727 void abstract_compiler__AbstractCompiler__count_type_test_skipped_61d(val
* self
, val
* p0
) {
6728 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_skipped
].val
= p0
; /* @count_type_test_skipped on <self:AbstractCompiler> */
6731 /* method abstract_compiler#AbstractCompiler#count_type_test_skipped= for (self: Object, HashMap[String, Int]) */
6732 void VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_skipped_61d(val
* self
, val
* p0
) {
6733 abstract_compiler__AbstractCompiler__count_type_test_skipped_61d(self
, p0
);
6736 /* method abstract_compiler#AbstractCompiler#init_count_type_test_tags for (self: AbstractCompiler): HashMap[String, Int] */
6737 val
* abstract_compiler__AbstractCompiler__init_count_type_test_tags(val
* self
) {
6738 val
* var
/* : HashMap[String, Int] */;
6739 val
* var1
/* : HashMap[String, Int] */;
6740 val
* var_res
/* var res: HashMap[String, Int] */;
6741 val
* var2
/* : Array[String] */;
6742 val
* var3
/* : Iterator[nullable Object] */;
6743 short int var4
/* : Bool */;
6744 val
* var5
/* : nullable Object */;
6745 val
* var_tag
/* var tag: String */;
6746 long var6
/* : Int */;
6747 val
* var7
/* : nullable Object */;
6748 var1
= NEW_hash_collection__HashMap(&type_hash_collection__HashMapstring__Stringkernel__Int
);
6749 ((void (*)(val
*))(var1
->class->vft
[COLOR_hash_collection__HashMap__init
]))(var1
) /* init on <var1:HashMap[String, Int]>*/;
6751 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_tags
]))(self
) /* count_type_test_tags on <self:AbstractCompiler>*/;
6752 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var2
) /* iterator on <var2:Array[String]>*/;
6754 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
6756 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
6759 var7
= BOX_kernel__Int(var6
); /* autobox from Int to nullable Object */
6760 ((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]>*/;
6761 CONTINUE_label
: (void)0;
6762 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
6764 BREAK_label
: (void)0;
6770 /* method abstract_compiler#AbstractCompiler#init_count_type_test_tags for (self: Object): HashMap[String, Int] */
6771 val
* VIRTUAL_abstract_compiler__AbstractCompiler__init_count_type_test_tags(val
* self
) {
6772 val
* var
/* : HashMap[String, Int] */;
6773 val
* var1
/* : HashMap[String, Int] */;
6774 var1
= abstract_compiler__AbstractCompiler__init_count_type_test_tags(self
);
6779 /* method abstract_compiler#AbstractCompiler#display_stats for (self: AbstractCompiler) */
6780 void abstract_compiler__AbstractCompiler__display_stats(val
* self
) {
6781 val
* var
/* : ModelBuilder */;
6782 val
* var1
/* : ToolContext */;
6783 val
* var2
/* : OptionBool */;
6784 val
* var3
/* : nullable Object */;
6785 short int var4
/* : Bool */;
6786 static val
* varonce
;
6787 val
* var5
/* : String */;
6788 char* var6
/* : NativeString */;
6789 long var7
/* : Int */;
6790 val
* var8
/* : String */;
6791 static val
* varonce9
;
6792 val
* var10
/* : String */;
6793 char* var11
/* : NativeString */;
6794 long var12
/* : Int */;
6795 val
* var13
/* : String */;
6796 val
* var14
/* : HashMap[String, Int] */;
6797 val
* var_count_type_test_total
/* var count_type_test_total: HashMap[String, Int] */;
6798 val
* var15
/* : HashMap[String, Int] */;
6799 static val
* varonce16
;
6800 val
* var17
/* : String */;
6801 char* var18
/* : NativeString */;
6802 long var19
/* : Int */;
6803 val
* var20
/* : String */;
6804 long var21
/* : Int */;
6805 val
* var22
/* : nullable Object */;
6806 val
* var23
/* : HashMap[String, Int] */;
6807 static val
* varonce24
;
6808 val
* var25
/* : String */;
6809 char* var26
/* : NativeString */;
6810 long var27
/* : Int */;
6811 val
* var28
/* : String */;
6812 long var29
/* : Int */;
6813 val
* var30
/* : nullable Object */;
6814 val
* var31
/* : HashMap[String, Int] */;
6815 static val
* varonce32
;
6816 val
* var33
/* : String */;
6817 char* var34
/* : NativeString */;
6818 long var35
/* : Int */;
6819 val
* var36
/* : String */;
6820 long var37
/* : Int */;
6821 val
* var38
/* : nullable Object */;
6822 static val
* varonce39
;
6823 val
* var40
/* : String */;
6824 char* var41
/* : NativeString */;
6825 long var42
/* : Int */;
6826 val
* var43
/* : String */;
6827 long var44
/* : Int */;
6828 val
* var45
/* : nullable Object */;
6829 val
* var46
/* : Array[String] */;
6830 val
* var47
/* : Iterator[nullable Object] */;
6831 short int var48
/* : Bool */;
6832 val
* var49
/* : nullable Object */;
6833 val
* var_tag
/* var tag: String */;
6834 val
* var50
/* : HashMap[String, Int] */;
6835 val
* var51
/* : nullable Object */;
6836 val
* var52
/* : HashMap[String, Int] */;
6837 val
* var53
/* : nullable Object */;
6838 long var54
/* : Int */;
6839 long var56
/* : Int */;
6840 long var57
/* : Int */;
6841 long var58
/* : Int */;
6842 val
* var59
/* : HashMap[String, Int] */;
6843 val
* var60
/* : nullable Object */;
6844 long var61
/* : Int */;
6845 long var63
/* : Int */;
6846 long var64
/* : Int */;
6847 val
* var65
/* : nullable Object */;
6848 val
* var66
/* : HashMap[String, Int] */;
6849 val
* var_
/* var : HashMap[String, Int] */;
6850 static val
* varonce67
;
6851 val
* var68
/* : String */;
6852 char* var69
/* : NativeString */;
6853 long var70
/* : Int */;
6854 val
* var71
/* : String */;
6855 val
* var_72
/* var : String */;
6856 val
* var73
/* : nullable Object */;
6857 val
* var74
/* : HashMap[String, Int] */;
6858 val
* var75
/* : nullable Object */;
6859 long var76
/* : Int */;
6860 long var78
/* : Int */;
6861 long var79
/* : Int */;
6862 long var80
/* : Int */;
6863 val
* var81
/* : nullable Object */;
6864 val
* var82
/* : HashMap[String, Int] */;
6865 val
* var_83
/* var : HashMap[String, Int] */;
6866 static val
* varonce84
;
6867 val
* var85
/* : String */;
6868 char* var86
/* : NativeString */;
6869 long var87
/* : Int */;
6870 val
* var88
/* : String */;
6871 val
* var_89
/* var : String */;
6872 val
* var90
/* : nullable Object */;
6873 val
* var91
/* : HashMap[String, Int] */;
6874 val
* var92
/* : nullable Object */;
6875 long var93
/* : Int */;
6876 long var95
/* : Int */;
6877 long var96
/* : Int */;
6878 long var97
/* : Int */;
6879 val
* var98
/* : nullable Object */;
6880 val
* var99
/* : HashMap[String, Int] */;
6881 val
* var_100
/* var : HashMap[String, Int] */;
6882 static val
* varonce101
;
6883 val
* var102
/* : String */;
6884 char* var103
/* : NativeString */;
6885 long var104
/* : Int */;
6886 val
* var105
/* : String */;
6887 val
* var_106
/* var : String */;
6888 val
* var107
/* : nullable Object */;
6889 val
* var108
/* : HashMap[String, Int] */;
6890 val
* var109
/* : nullable Object */;
6891 long var110
/* : Int */;
6892 long var112
/* : Int */;
6893 long var113
/* : Int */;
6894 long var114
/* : Int */;
6895 val
* var115
/* : nullable Object */;
6896 val
* var_116
/* var : HashMap[String, Int] */;
6897 static val
* varonce117
;
6898 val
* var118
/* : String */;
6899 char* var119
/* : NativeString */;
6900 long var120
/* : Int */;
6901 val
* var121
/* : String */;
6902 val
* var_122
/* var : String */;
6903 val
* var123
/* : nullable Object */;
6904 val
* var124
/* : nullable Object */;
6905 long var125
/* : Int */;
6906 long var127
/* : Int */;
6907 long var128
/* : Int */;
6908 long var129
/* : Int */;
6909 val
* var130
/* : nullable Object */;
6910 static val
* varonce131
;
6911 val
* var132
/* : String */;
6912 char* var133
/* : NativeString */;
6913 long var134
/* : Int */;
6914 val
* var135
/* : String */;
6915 val
* var136
/* : nullable Object */;
6916 long var137
/* : Int */;
6917 long var_count_type_test
/* var count_type_test: Int */;
6918 val
* var138
/* : Array[String] */;
6919 val
* var139
/* : Array[nullable Object] */;
6920 val
* var_tags
/* var tags: Array[String] */;
6921 static val
* varonce140
;
6922 val
* var141
/* : String */;
6923 char* var142
/* : NativeString */;
6924 long var143
/* : Int */;
6925 val
* var144
/* : String */;
6926 val
* var145
/* : Iterator[nullable Object] */;
6927 short int var146
/* : Bool */;
6928 val
* var147
/* : nullable Object */;
6929 val
* var_tag148
/* var tag: String */;
6930 val
* var149
/* : Array[Object] */;
6931 long var150
/* : Int */;
6932 val
* var151
/* : NativeArray[Object] */;
6933 static val
* varonce152
;
6934 val
* var153
/* : String */;
6935 char* var154
/* : NativeString */;
6936 long var155
/* : Int */;
6937 val
* var156
/* : String */;
6938 val
* var157
/* : HashMap[String, Int] */;
6939 val
* var158
/* : nullable Object */;
6940 static val
* varonce159
;
6941 val
* var160
/* : String */;
6942 char* var161
/* : NativeString */;
6943 long var162
/* : Int */;
6944 val
* var163
/* : String */;
6945 val
* var164
/* : HashMap[String, Int] */;
6946 val
* var165
/* : nullable Object */;
6947 val
* var166
/* : String */;
6948 long var167
/* : Int */;
6949 static val
* varonce168
;
6950 val
* var169
/* : String */;
6951 char* var170
/* : NativeString */;
6952 long var171
/* : Int */;
6953 val
* var172
/* : String */;
6954 val
* var173
/* : Array[Object] */;
6955 long var174
/* : Int */;
6956 val
* var175
/* : NativeArray[Object] */;
6957 val
* var176
/* : String */;
6958 val
* var177
/* : Array[Object] */;
6959 long var178
/* : Int */;
6960 val
* var179
/* : NativeArray[Object] */;
6961 static val
* varonce180
;
6962 val
* var181
/* : String */;
6963 char* var182
/* : NativeString */;
6964 long var183
/* : Int */;
6965 val
* var184
/* : String */;
6966 val
* var185
/* : HashMap[String, Int] */;
6967 val
* var186
/* : nullable Object */;
6968 static val
* varonce187
;
6969 val
* var188
/* : String */;
6970 char* var189
/* : NativeString */;
6971 long var190
/* : Int */;
6972 val
* var191
/* : String */;
6973 val
* var192
/* : HashMap[String, Int] */;
6974 val
* var193
/* : nullable Object */;
6975 val
* var194
/* : String */;
6976 long var195
/* : Int */;
6977 static val
* varonce196
;
6978 val
* var197
/* : String */;
6979 char* var198
/* : NativeString */;
6980 long var199
/* : Int */;
6981 val
* var200
/* : String */;
6982 val
* var201
/* : Array[Object] */;
6983 long var202
/* : Int */;
6984 val
* var203
/* : NativeArray[Object] */;
6985 val
* var204
/* : String */;
6986 val
* var205
/* : Array[Object] */;
6987 long var206
/* : Int */;
6988 val
* var207
/* : NativeArray[Object] */;
6989 static val
* varonce208
;
6990 val
* var209
/* : String */;
6991 char* var210
/* : NativeString */;
6992 long var211
/* : Int */;
6993 val
* var212
/* : String */;
6994 val
* var213
/* : HashMap[String, Int] */;
6995 val
* var214
/* : nullable Object */;
6996 static val
* varonce215
;
6997 val
* var216
/* : String */;
6998 char* var217
/* : NativeString */;
6999 long var218
/* : Int */;
7000 val
* var219
/* : String */;
7001 val
* var220
/* : HashMap[String, Int] */;
7002 val
* var221
/* : nullable Object */;
7003 val
* var222
/* : String */;
7004 long var223
/* : Int */;
7005 static val
* varonce224
;
7006 val
* var225
/* : String */;
7007 char* var226
/* : NativeString */;
7008 long var227
/* : Int */;
7009 val
* var228
/* : String */;
7010 val
* var229
/* : Array[Object] */;
7011 long var230
/* : Int */;
7012 val
* var231
/* : NativeArray[Object] */;
7013 val
* var232
/* : String */;
7014 val
* var233
/* : Array[Object] */;
7015 long var234
/* : Int */;
7016 val
* var235
/* : NativeArray[Object] */;
7017 static val
* varonce236
;
7018 val
* var237
/* : String */;
7019 char* var238
/* : NativeString */;
7020 long var239
/* : Int */;
7021 val
* var240
/* : String */;
7022 val
* var241
/* : nullable Object */;
7023 static val
* varonce242
;
7024 val
* var243
/* : String */;
7025 char* var244
/* : NativeString */;
7026 long var245
/* : Int */;
7027 val
* var246
/* : String */;
7028 val
* var247
/* : nullable Object */;
7029 val
* var248
/* : String */;
7030 long var249
/* : Int */;
7031 static val
* varonce250
;
7032 val
* var251
/* : String */;
7033 char* var252
/* : NativeString */;
7034 long var253
/* : Int */;
7035 val
* var254
/* : String */;
7036 val
* var255
/* : Array[Object] */;
7037 long var256
/* : Int */;
7038 val
* var257
/* : NativeArray[Object] */;
7039 val
* var258
/* : String */;
7040 val
* var259
/* : Array[Object] */;
7041 long var260
/* : Int */;
7042 val
* var261
/* : NativeArray[Object] */;
7043 static val
* varonce262
;
7044 val
* var263
/* : String */;
7045 char* var264
/* : NativeString */;
7046 long var265
/* : Int */;
7047 val
* var266
/* : String */;
7048 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
7049 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var
) /* toolcontext on <var:ModelBuilder>*/;
7050 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_typing_test_metrics
]))(var1
) /* opt_typing_test_metrics on <var1:ToolContext>*/;
7051 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_opts__Option__value
]))(var2
) /* value on <var2:OptionBool>*/;
7052 var4
= ((struct instance_kernel__Bool
*)var3
)->value
; /* autounbox from nullable Object to Bool */;
7057 var6
= "# static count_type_test";
7059 var8
= string__NativeString__to_s_with_length(var6
, var7
);
7063 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__print
]))(self
, var5
) /* print on <self:AbstractCompiler>*/;
7067 var11
= "\11resolved:\11unresolved\11skipped\11total";
7069 var13
= string__NativeString__to_s_with_length(var11
, var12
);
7073 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__print
]))(self
, var10
) /* print on <self:AbstractCompiler>*/;
7074 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__init_count_type_test_tags
]))(self
) /* init_count_type_test_tags on <self:AbstractCompiler>*/;
7075 var_count_type_test_total
= var14
;
7076 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_resolved
]))(self
) /* count_type_test_resolved on <self:AbstractCompiler>*/;
7082 var20
= string__NativeString__to_s_with_length(var18
, var19
);
7087 var22
= BOX_kernel__Int(var21
); /* autobox from Int to nullable Object */
7088 ((void (*)(val
*, val
*, val
*))(var15
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var15
, var17
, var22
) /* []= on <var15:HashMap[String, Int]>*/;
7089 var23
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_unresolved
]))(self
) /* count_type_test_unresolved on <self:AbstractCompiler>*/;
7095 var28
= string__NativeString__to_s_with_length(var26
, var27
);
7100 var30
= BOX_kernel__Int(var29
); /* autobox from Int to nullable Object */
7101 ((void (*)(val
*, val
*, val
*))(var23
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var23
, var25
, var30
) /* []= on <var23:HashMap[String, Int]>*/;
7102 var31
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_skipped
]))(self
) /* count_type_test_skipped on <self:AbstractCompiler>*/;
7108 var36
= string__NativeString__to_s_with_length(var34
, var35
);
7113 var38
= BOX_kernel__Int(var37
); /* autobox from Int to nullable Object */
7114 ((void (*)(val
*, val
*, val
*))(var31
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var31
, var33
, var38
) /* []= on <var31:HashMap[String, Int]>*/;
7120 var43
= string__NativeString__to_s_with_length(var41
, var42
);
7125 var45
= BOX_kernel__Int(var44
); /* autobox from Int to nullable Object */
7126 ((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]>*/;
7127 var46
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_tags
]))(self
) /* count_type_test_tags on <self:AbstractCompiler>*/;
7128 var47
= ((val
* (*)(val
*))(var46
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var46
) /* iterator on <var46:Array[String]>*/;
7130 var48
= ((short int (*)(val
*))(var47
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var47
) /* is_ok on <var47:Iterator[nullable Object]>*/;
7132 var49
= ((val
* (*)(val
*))(var47
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var47
) /* item on <var47:Iterator[nullable Object]>*/;
7134 var50
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_resolved
]))(self
) /* count_type_test_resolved on <self:AbstractCompiler>*/;
7135 var51
= ((val
* (*)(val
*, val
*))(var50
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var50
, var_tag
) /* [] on <var50:HashMap[String, Int]>*/;
7136 var52
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_unresolved
]))(self
) /* count_type_test_unresolved on <self:AbstractCompiler>*/;
7137 var53
= ((val
* (*)(val
*, val
*))(var52
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var52
, var_tag
) /* [] on <var52:HashMap[String, Int]>*/;
7138 { /* Inline kernel#Int#+ (var51,var53) */
7139 var56
= ((struct instance_kernel__Int
*)var51
)->value
; /* autounbox from nullable Object to Int */;
7140 var57
= ((struct instance_kernel__Int
*)var53
)->value
; /* autounbox from nullable Object to Int */;
7141 var58
= var56
+ var57
;
7144 RET_LABEL55
:(void)0;
7146 var59
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_skipped
]))(self
) /* count_type_test_skipped on <self:AbstractCompiler>*/;
7147 var60
= ((val
* (*)(val
*, val
*))(var59
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var59
, var_tag
) /* [] on <var59:HashMap[String, Int]>*/;
7148 { /* Inline kernel#Int#+ (var54,var60) */
7149 var63
= ((struct instance_kernel__Int
*)var60
)->value
; /* autounbox from nullable Object to Int */;
7150 var64
= var54
+ var63
;
7153 RET_LABEL62
:(void)0;
7155 var65
= BOX_kernel__Int(var61
); /* autobox from Int to nullable Object */
7156 ((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]>*/;
7157 var66
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_resolved
]))(self
) /* count_type_test_resolved on <self:AbstractCompiler>*/;
7164 var71
= string__NativeString__to_s_with_length(var69
, var70
);
7169 var73
= ((val
* (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_
, var_72
) /* [] on <var_:HashMap[String, Int]>*/;
7170 var74
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_resolved
]))(self
) /* count_type_test_resolved on <self:AbstractCompiler>*/;
7171 var75
= ((val
* (*)(val
*, val
*))(var74
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var74
, var_tag
) /* [] on <var74:HashMap[String, Int]>*/;
7172 { /* Inline kernel#Int#+ (var73,var75) */
7173 var78
= ((struct instance_kernel__Int
*)var73
)->value
; /* autounbox from nullable Object to Int */;
7174 var79
= ((struct instance_kernel__Int
*)var75
)->value
; /* autounbox from nullable Object to Int */;
7175 var80
= var78
+ var79
;
7178 RET_LABEL77
:(void)0;
7180 var81
= BOX_kernel__Int(var76
); /* autobox from Int to nullable Object */
7181 ((void (*)(val
*, val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var_
, var_72
, var81
) /* []= on <var_:HashMap[String, Int]>*/;
7182 var82
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_unresolved
]))(self
) /* count_type_test_unresolved on <self:AbstractCompiler>*/;
7189 var88
= string__NativeString__to_s_with_length(var86
, var87
);
7194 var90
= ((val
* (*)(val
*, val
*))(var_83
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_83
, var_89
) /* [] on <var_83:HashMap[String, Int]>*/;
7195 var91
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_unresolved
]))(self
) /* count_type_test_unresolved on <self:AbstractCompiler>*/;
7196 var92
= ((val
* (*)(val
*, val
*))(var91
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var91
, var_tag
) /* [] on <var91:HashMap[String, Int]>*/;
7197 { /* Inline kernel#Int#+ (var90,var92) */
7198 var95
= ((struct instance_kernel__Int
*)var90
)->value
; /* autounbox from nullable Object to Int */;
7199 var96
= ((struct instance_kernel__Int
*)var92
)->value
; /* autounbox from nullable Object to Int */;
7200 var97
= var95
+ var96
;
7203 RET_LABEL94
:(void)0;
7205 var98
= BOX_kernel__Int(var93
); /* autobox from Int to nullable Object */
7206 ((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]>*/;
7207 var99
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_skipped
]))(self
) /* count_type_test_skipped on <self:AbstractCompiler>*/;
7210 var102
= varonce101
;
7214 var105
= string__NativeString__to_s_with_length(var103
, var104
);
7216 varonce101
= var102
;
7219 var107
= ((val
* (*)(val
*, val
*))(var_100
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_100
, var_106
) /* [] on <var_100:HashMap[String, Int]>*/;
7220 var108
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_skipped
]))(self
) /* count_type_test_skipped on <self:AbstractCompiler>*/;
7221 var109
= ((val
* (*)(val
*, val
*))(var108
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var108
, var_tag
) /* [] on <var108:HashMap[String, Int]>*/;
7222 { /* Inline kernel#Int#+ (var107,var109) */
7223 var112
= ((struct instance_kernel__Int
*)var107
)->value
; /* autounbox from nullable Object to Int */;
7224 var113
= ((struct instance_kernel__Int
*)var109
)->value
; /* autounbox from nullable Object to Int */;
7225 var114
= var112
+ var113
;
7228 RET_LABEL111
:(void)0;
7230 var115
= BOX_kernel__Int(var110
); /* autobox from Int to nullable Object */
7231 ((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]>*/;
7232 var_116
= var_count_type_test_total
;
7234 var118
= varonce117
;
7238 var121
= string__NativeString__to_s_with_length(var119
, var120
);
7240 varonce117
= var118
;
7243 var123
= ((val
* (*)(val
*, val
*))(var_116
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_116
, var_122
) /* [] on <var_116:HashMap[String, Int]>*/;
7244 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]>*/;
7245 { /* Inline kernel#Int#+ (var123,var124) */
7246 var127
= ((struct instance_kernel__Int
*)var123
)->value
; /* autounbox from nullable Object to Int */;
7247 var128
= ((struct instance_kernel__Int
*)var124
)->value
; /* autounbox from nullable Object to Int */;
7248 var129
= var127
+ var128
;
7251 RET_LABEL126
:(void)0;
7253 var130
= BOX_kernel__Int(var125
); /* autobox from Int to nullable Object */
7254 ((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]>*/;
7255 CONTINUE_label
: (void)0;
7256 ((void (*)(val
*))(var47
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var47
) /* next on <var47:Iterator[nullable Object]>*/;
7258 BREAK_label
: (void)0;
7260 var132
= varonce131
;
7264 var135
= string__NativeString__to_s_with_length(var133
, var134
);
7266 varonce131
= var132
;
7268 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]>*/;
7269 var137
= ((struct instance_kernel__Int
*)var136
)->value
; /* autounbox from nullable Object to Int */;
7270 var_count_type_test
= var137
;
7271 var138
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_tags
]))(self
) /* count_type_test_tags on <self:AbstractCompiler>*/;
7272 var139
= ((val
* (*)(val
*))(var138
->class->vft
[COLOR_array__Collection__to_a
]))(var138
) /* to_a on <var138:Array[String]>*/;
7275 var141
= varonce140
;
7279 var144
= string__NativeString__to_s_with_length(var142
, var143
);
7281 varonce140
= var141
;
7283 ((void (*)(val
*, val
*))(var_tags
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_tags
, var141
) /* add on <var_tags:Array[String]>*/;
7284 var145
= ((val
* (*)(val
*))(var_tags
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_tags
) /* iterator on <var_tags:Array[String]>*/;
7286 var146
= ((short int (*)(val
*))(var145
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var145
) /* is_ok on <var145:Iterator[nullable Object]>*/;
7288 var147
= ((val
* (*)(val
*))(var145
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var145
) /* item on <var145:Iterator[nullable Object]>*/;
7289 var_tag148
= var147
;
7290 var149
= NEW_array__Array(&type_array__Arraykernel__Object
);
7291 { /* var149 = array_instance Array[Object] */
7293 var151
= NEW_array__NativeArray(var150
, &type_array__NativeArraykernel__Object
);
7294 ((struct instance_array__NativeArray
*)var151
)->values
[0] = (val
*) var_tag148
;
7295 ((void (*)(val
*, val
*, long))(var149
->class->vft
[COLOR_array__Array__with_native
]))(var149
, var151
, var150
) /* with_native on <var149:Array[Object]>*/;
7297 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__printn
]))(self
, var149
) /* printn on <self:AbstractCompiler>*/;
7299 var153
= varonce152
;
7303 var156
= string__NativeString__to_s_with_length(var154
, var155
);
7305 varonce152
= var153
;
7307 var157
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_resolved
]))(self
) /* count_type_test_resolved on <self:AbstractCompiler>*/;
7308 var158
= ((val
* (*)(val
*, val
*))(var157
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var157
, var_tag148
) /* [] on <var157:HashMap[String, Int]>*/;
7310 var160
= varonce159
;
7314 var163
= string__NativeString__to_s_with_length(var161
, var162
);
7316 varonce159
= var160
;
7318 var164
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_resolved
]))(self
) /* count_type_test_resolved on <self:AbstractCompiler>*/;
7319 var165
= ((val
* (*)(val
*, val
*))(var164
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var164
, var_tag148
) /* [] on <var164:HashMap[String, Int]>*/;
7320 var167
= ((struct instance_kernel__Int
*)var165
)->value
; /* autounbox from nullable Object to Int */;
7321 var166
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__div
]))(self
, var167
, var_count_type_test
) /* div on <self:AbstractCompiler>*/;
7323 var169
= varonce168
;
7327 var172
= string__NativeString__to_s_with_length(var170
, var171
);
7329 varonce168
= var169
;
7331 var173
= NEW_array__Array(&type_array__Arraykernel__Object
);
7332 { /* var173 = array_instance Array[Object] */
7334 var175
= NEW_array__NativeArray(var174
, &type_array__NativeArraykernel__Object
);
7335 ((struct instance_array__NativeArray
*)var175
)->values
[0] = (val
*) var153
;
7336 ((struct instance_array__NativeArray
*)var175
)->values
[1] = (val
*) var158
;
7337 ((struct instance_array__NativeArray
*)var175
)->values
[2] = (val
*) var160
;
7338 ((struct instance_array__NativeArray
*)var175
)->values
[3] = (val
*) var166
;
7339 ((struct instance_array__NativeArray
*)var175
)->values
[4] = (val
*) var169
;
7340 ((void (*)(val
*, val
*, long))(var173
->class->vft
[COLOR_array__Array__with_native
]))(var173
, var175
, var174
) /* with_native on <var173:Array[Object]>*/;
7342 var176
= ((val
* (*)(val
*))(var173
->class->vft
[COLOR_string__Object__to_s
]))(var173
) /* to_s on <var173:Array[Object]>*/;
7343 var177
= NEW_array__Array(&type_array__Arraykernel__Object
);
7344 { /* var177 = array_instance Array[Object] */
7346 var179
= NEW_array__NativeArray(var178
, &type_array__NativeArraykernel__Object
);
7347 ((struct instance_array__NativeArray
*)var179
)->values
[0] = (val
*) var176
;
7348 ((void (*)(val
*, val
*, long))(var177
->class->vft
[COLOR_array__Array__with_native
]))(var177
, var179
, var178
) /* with_native on <var177:Array[Object]>*/;
7350 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__printn
]))(self
, var177
) /* printn on <self:AbstractCompiler>*/;
7352 var181
= varonce180
;
7356 var184
= string__NativeString__to_s_with_length(var182
, var183
);
7358 varonce180
= var181
;
7360 var185
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_unresolved
]))(self
) /* count_type_test_unresolved on <self:AbstractCompiler>*/;
7361 var186
= ((val
* (*)(val
*, val
*))(var185
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var185
, var_tag148
) /* [] on <var185:HashMap[String, Int]>*/;
7363 var188
= varonce187
;
7367 var191
= string__NativeString__to_s_with_length(var189
, var190
);
7369 varonce187
= var188
;
7371 var192
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_unresolved
]))(self
) /* count_type_test_unresolved on <self:AbstractCompiler>*/;
7372 var193
= ((val
* (*)(val
*, val
*))(var192
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var192
, var_tag148
) /* [] on <var192:HashMap[String, Int]>*/;
7373 var195
= ((struct instance_kernel__Int
*)var193
)->value
; /* autounbox from nullable Object to Int */;
7374 var194
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__div
]))(self
, var195
, var_count_type_test
) /* div on <self:AbstractCompiler>*/;
7376 var197
= varonce196
;
7380 var200
= string__NativeString__to_s_with_length(var198
, var199
);
7382 varonce196
= var197
;
7384 var201
= NEW_array__Array(&type_array__Arraykernel__Object
);
7385 { /* var201 = array_instance Array[Object] */
7387 var203
= NEW_array__NativeArray(var202
, &type_array__NativeArraykernel__Object
);
7388 ((struct instance_array__NativeArray
*)var203
)->values
[0] = (val
*) var181
;
7389 ((struct instance_array__NativeArray
*)var203
)->values
[1] = (val
*) var186
;
7390 ((struct instance_array__NativeArray
*)var203
)->values
[2] = (val
*) var188
;
7391 ((struct instance_array__NativeArray
*)var203
)->values
[3] = (val
*) var194
;
7392 ((struct instance_array__NativeArray
*)var203
)->values
[4] = (val
*) var197
;
7393 ((void (*)(val
*, val
*, long))(var201
->class->vft
[COLOR_array__Array__with_native
]))(var201
, var203
, var202
) /* with_native on <var201:Array[Object]>*/;
7395 var204
= ((val
* (*)(val
*))(var201
->class->vft
[COLOR_string__Object__to_s
]))(var201
) /* to_s on <var201:Array[Object]>*/;
7396 var205
= NEW_array__Array(&type_array__Arraykernel__Object
);
7397 { /* var205 = array_instance Array[Object] */
7399 var207
= NEW_array__NativeArray(var206
, &type_array__NativeArraykernel__Object
);
7400 ((struct instance_array__NativeArray
*)var207
)->values
[0] = (val
*) var204
;
7401 ((void (*)(val
*, val
*, long))(var205
->class->vft
[COLOR_array__Array__with_native
]))(var205
, var207
, var206
) /* with_native on <var205:Array[Object]>*/;
7403 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__printn
]))(self
, var205
) /* printn on <self:AbstractCompiler>*/;
7405 var209
= varonce208
;
7409 var212
= string__NativeString__to_s_with_length(var210
, var211
);
7411 varonce208
= var209
;
7413 var213
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_skipped
]))(self
) /* count_type_test_skipped on <self:AbstractCompiler>*/;
7414 var214
= ((val
* (*)(val
*, val
*))(var213
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var213
, var_tag148
) /* [] on <var213:HashMap[String, Int]>*/;
7416 var216
= varonce215
;
7420 var219
= string__NativeString__to_s_with_length(var217
, var218
);
7422 varonce215
= var216
;
7424 var220
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_skipped
]))(self
) /* count_type_test_skipped on <self:AbstractCompiler>*/;
7425 var221
= ((val
* (*)(val
*, val
*))(var220
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var220
, var_tag148
) /* [] on <var220:HashMap[String, Int]>*/;
7426 var223
= ((struct instance_kernel__Int
*)var221
)->value
; /* autounbox from nullable Object to Int */;
7427 var222
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__div
]))(self
, var223
, var_count_type_test
) /* div on <self:AbstractCompiler>*/;
7429 var225
= varonce224
;
7433 var228
= string__NativeString__to_s_with_length(var226
, var227
);
7435 varonce224
= var225
;
7437 var229
= NEW_array__Array(&type_array__Arraykernel__Object
);
7438 { /* var229 = array_instance Array[Object] */
7440 var231
= NEW_array__NativeArray(var230
, &type_array__NativeArraykernel__Object
);
7441 ((struct instance_array__NativeArray
*)var231
)->values
[0] = (val
*) var209
;
7442 ((struct instance_array__NativeArray
*)var231
)->values
[1] = (val
*) var214
;
7443 ((struct instance_array__NativeArray
*)var231
)->values
[2] = (val
*) var216
;
7444 ((struct instance_array__NativeArray
*)var231
)->values
[3] = (val
*) var222
;
7445 ((struct instance_array__NativeArray
*)var231
)->values
[4] = (val
*) var225
;
7446 ((void (*)(val
*, val
*, long))(var229
->class->vft
[COLOR_array__Array__with_native
]))(var229
, var231
, var230
) /* with_native on <var229:Array[Object]>*/;
7448 var232
= ((val
* (*)(val
*))(var229
->class->vft
[COLOR_string__Object__to_s
]))(var229
) /* to_s on <var229:Array[Object]>*/;
7449 var233
= NEW_array__Array(&type_array__Arraykernel__Object
);
7450 { /* var233 = array_instance Array[Object] */
7452 var235
= NEW_array__NativeArray(var234
, &type_array__NativeArraykernel__Object
);
7453 ((struct instance_array__NativeArray
*)var235
)->values
[0] = (val
*) var232
;
7454 ((void (*)(val
*, val
*, long))(var233
->class->vft
[COLOR_array__Array__with_native
]))(var233
, var235
, var234
) /* with_native on <var233:Array[Object]>*/;
7456 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__printn
]))(self
, var233
) /* printn on <self:AbstractCompiler>*/;
7458 var237
= varonce236
;
7462 var240
= string__NativeString__to_s_with_length(var238
, var239
);
7464 varonce236
= var237
;
7466 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]>*/;
7468 var243
= varonce242
;
7472 var246
= string__NativeString__to_s_with_length(var244
, var245
);
7474 varonce242
= var243
;
7476 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]>*/;
7477 var249
= ((struct instance_kernel__Int
*)var247
)->value
; /* autounbox from nullable Object to Int */;
7478 var248
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__div
]))(self
, var249
, var_count_type_test
) /* div on <self:AbstractCompiler>*/;
7480 var251
= varonce250
;
7484 var254
= string__NativeString__to_s_with_length(var252
, var253
);
7486 varonce250
= var251
;
7488 var255
= NEW_array__Array(&type_array__Arraykernel__Object
);
7489 { /* var255 = array_instance Array[Object] */
7491 var257
= NEW_array__NativeArray(var256
, &type_array__NativeArraykernel__Object
);
7492 ((struct instance_array__NativeArray
*)var257
)->values
[0] = (val
*) var237
;
7493 ((struct instance_array__NativeArray
*)var257
)->values
[1] = (val
*) var241
;
7494 ((struct instance_array__NativeArray
*)var257
)->values
[2] = (val
*) var243
;
7495 ((struct instance_array__NativeArray
*)var257
)->values
[3] = (val
*) var248
;
7496 ((struct instance_array__NativeArray
*)var257
)->values
[4] = (val
*) var251
;
7497 ((void (*)(val
*, val
*, long))(var255
->class->vft
[COLOR_array__Array__with_native
]))(var255
, var257
, var256
) /* with_native on <var255:Array[Object]>*/;
7499 var258
= ((val
* (*)(val
*))(var255
->class->vft
[COLOR_string__Object__to_s
]))(var255
) /* to_s on <var255:Array[Object]>*/;
7500 var259
= NEW_array__Array(&type_array__Arraykernel__Object
);
7501 { /* var259 = array_instance Array[Object] */
7503 var261
= NEW_array__NativeArray(var260
, &type_array__NativeArraykernel__Object
);
7504 ((struct instance_array__NativeArray
*)var261
)->values
[0] = (val
*) var258
;
7505 ((void (*)(val
*, val
*, long))(var259
->class->vft
[COLOR_array__Array__with_native
]))(var259
, var261
, var260
) /* with_native on <var259:Array[Object]>*/;
7507 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__printn
]))(self
, var259
) /* printn on <self:AbstractCompiler>*/;
7509 var263
= varonce262
;
7513 var266
= string__NativeString__to_s_with_length(var264
, var265
);
7515 varonce262
= var263
;
7517 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__print
]))(self
, var263
) /* print on <self:AbstractCompiler>*/;
7518 CONTINUE_label267
: (void)0;
7519 ((void (*)(val
*))(var145
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var145
) /* next on <var145:Iterator[nullable Object]>*/;
7521 BREAK_label267
: (void)0;
7526 /* method abstract_compiler#AbstractCompiler#display_stats for (self: Object) */
7527 void VIRTUAL_abstract_compiler__AbstractCompiler__display_stats(val
* self
) {
7528 abstract_compiler__AbstractCompiler__display_stats(self
);
7531 /* method abstract_compiler#AbstractCompiler#div for (self: AbstractCompiler, Int, Int): String */
7532 val
* abstract_compiler__AbstractCompiler__div(val
* self
, long p0
, long p1
) {
7533 val
* var
/* : String */;
7534 long var_a
/* var a: Int */;
7535 long var_b
/* var b: Int */;
7536 long var1
/* : Int */;
7537 short int var2
/* : Bool */;
7538 short int var4
/* : Bool */;
7539 static val
* varonce
;
7540 val
* var5
/* : String */;
7541 char* var6
/* : NativeString */;
7542 long var7
/* : Int */;
7543 val
* var8
/* : String */;
7544 long var9
/* : Int */;
7545 long var10
/* : Int */;
7546 long var12
/* : Int */;
7547 long var13
/* : Int */;
7548 long var15
/* : Int */;
7549 double var16
/* : Float */;
7550 double var18
/* : Float */;
7551 double var19
/* : Float */;
7552 double var20
/* : Float */;
7553 double var22
/* : Float */;
7554 long var23
/* : Int */;
7555 val
* var24
/* : String */;
7559 { /* Inline kernel#Int#== (var_b,var1) */
7560 var4
= var_b
== var1
;
7571 var8
= string__NativeString__to_s_with_length(var6
, var7
);
7580 { /* Inline kernel#Int#* (var_a,var9) */
7581 var12
= var_a
* var9
;
7584 RET_LABEL11
:(void)0;
7586 { /* Inline kernel#Int#/ (var10,var_b) */
7587 var15
= var10
/ var_b
;
7590 RET_LABEL14
:(void)0;
7592 { /* Inline kernel#Int#to_f (var13) */
7593 var18
= (double)var13
;
7596 RET_LABEL17
:(void)0;
7599 { /* Inline kernel#Float#/ (var16,var19) */
7600 var22
= var16
/ var19
;
7603 RET_LABEL21
:(void)0;
7606 var24
= string__Float__to_precision(var20
, var23
);
7612 /* method abstract_compiler#AbstractCompiler#div for (self: Object, Int, Int): String */
7613 val
* VIRTUAL_abstract_compiler__AbstractCompiler__div(val
* self
, long p0
, long p1
) {
7614 val
* var
/* : String */;
7615 val
* var1
/* : String */;
7616 var1
= abstract_compiler__AbstractCompiler__div(self
, p0
, p1
);
7621 /* method abstract_compiler#CodeFile#name for (self: CodeFile): String */
7622 val
* abstract_compiler__CodeFile__name(val
* self
) {
7623 val
* var
/* : String */;
7624 val
* var1
/* : String */;
7625 var1
= self
->attrs
[COLOR_abstract_compiler__CodeFile___64dname
].val
; /* @name on <self:CodeFile> */
7627 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @name");
7628 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 610);
7635 /* method abstract_compiler#CodeFile#name for (self: Object): String */
7636 val
* VIRTUAL_abstract_compiler__CodeFile__name(val
* self
) {
7637 val
* var
/* : String */;
7638 val
* var1
/* : String */;
7639 var1
= abstract_compiler__CodeFile__name(self
);
7644 /* method abstract_compiler#CodeFile#name= for (self: CodeFile, String) */
7645 void abstract_compiler__CodeFile__name_61d(val
* self
, val
* p0
) {
7646 self
->attrs
[COLOR_abstract_compiler__CodeFile___64dname
].val
= p0
; /* @name on <self:CodeFile> */
7649 /* method abstract_compiler#CodeFile#name= for (self: Object, String) */
7650 void VIRTUAL_abstract_compiler__CodeFile__name_61d(val
* self
, val
* p0
) {
7651 abstract_compiler__CodeFile__name_61d(self
, p0
);
7654 /* method abstract_compiler#CodeFile#writers for (self: CodeFile): Array[CodeWriter] */
7655 val
* abstract_compiler__CodeFile__writers(val
* self
) {
7656 val
* var
/* : Array[CodeWriter] */;
7657 val
* var1
/* : Array[CodeWriter] */;
7658 var1
= self
->attrs
[COLOR_abstract_compiler__CodeFile___64dwriters
].val
; /* @writers on <self:CodeFile> */
7660 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @writers");
7661 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 611);
7668 /* method abstract_compiler#CodeFile#writers for (self: Object): Array[CodeWriter] */
7669 val
* VIRTUAL_abstract_compiler__CodeFile__writers(val
* self
) {
7670 val
* var
/* : Array[CodeWriter] */;
7671 val
* var1
/* : Array[CodeWriter] */;
7672 var1
= abstract_compiler__CodeFile__writers(self
);
7677 /* method abstract_compiler#CodeFile#writers= for (self: CodeFile, Array[CodeWriter]) */
7678 void abstract_compiler__CodeFile__writers_61d(val
* self
, val
* p0
) {
7679 self
->attrs
[COLOR_abstract_compiler__CodeFile___64dwriters
].val
= p0
; /* @writers on <self:CodeFile> */
7682 /* method abstract_compiler#CodeFile#writers= for (self: Object, Array[CodeWriter]) */
7683 void VIRTUAL_abstract_compiler__CodeFile__writers_61d(val
* self
, val
* p0
) {
7684 abstract_compiler__CodeFile__writers_61d(self
, p0
);
7687 /* method abstract_compiler#CodeFile#required_declarations for (self: CodeFile): HashSet[String] */
7688 val
* abstract_compiler__CodeFile__required_declarations(val
* self
) {
7689 val
* var
/* : HashSet[String] */;
7690 val
* var1
/* : HashSet[String] */;
7691 var1
= self
->attrs
[COLOR_abstract_compiler__CodeFile___64drequired_declarations
].val
; /* @required_declarations on <self:CodeFile> */
7693 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @required_declarations");
7694 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 612);
7701 /* method abstract_compiler#CodeFile#required_declarations for (self: Object): HashSet[String] */
7702 val
* VIRTUAL_abstract_compiler__CodeFile__required_declarations(val
* self
) {
7703 val
* var
/* : HashSet[String] */;
7704 val
* var1
/* : HashSet[String] */;
7705 var1
= abstract_compiler__CodeFile__required_declarations(self
);
7710 /* method abstract_compiler#CodeFile#required_declarations= for (self: CodeFile, HashSet[String]) */
7711 void abstract_compiler__CodeFile__required_declarations_61d(val
* self
, val
* p0
) {
7712 self
->attrs
[COLOR_abstract_compiler__CodeFile___64drequired_declarations
].val
= p0
; /* @required_declarations on <self:CodeFile> */
7715 /* method abstract_compiler#CodeFile#required_declarations= for (self: Object, HashSet[String]) */
7716 void VIRTUAL_abstract_compiler__CodeFile__required_declarations_61d(val
* self
, val
* p0
) {
7717 abstract_compiler__CodeFile__required_declarations_61d(self
, p0
);
7720 /* method abstract_compiler#CodeFile#init for (self: CodeFile, String) */
7721 void abstract_compiler__CodeFile__init(val
* self
, val
* p0
) {
7722 self
->attrs
[COLOR_abstract_compiler__CodeFile___64dname
].val
= p0
; /* @name on <self:CodeFile> */
7725 /* method abstract_compiler#CodeFile#init for (self: Object, String) */
7726 void VIRTUAL_abstract_compiler__CodeFile__init(val
* self
, val
* p0
) {
7727 abstract_compiler__CodeFile__init(self
, p0
);
7730 /* method abstract_compiler#CodeWriter#file for (self: CodeWriter): CodeFile */
7731 val
* abstract_compiler__CodeWriter__file(val
* self
) {
7732 val
* var
/* : CodeFile */;
7733 val
* var1
/* : CodeFile */;
7734 var1
= self
->attrs
[COLOR_abstract_compiler__CodeWriter___64dfile
].val
; /* @file on <self:CodeWriter> */
7736 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @file");
7737 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 617);
7744 /* method abstract_compiler#CodeWriter#file for (self: Object): CodeFile */
7745 val
* VIRTUAL_abstract_compiler__CodeWriter__file(val
* self
) {
7746 val
* var
/* : CodeFile */;
7747 val
* var1
/* : CodeFile */;
7748 var1
= abstract_compiler__CodeWriter__file(self
);
7753 /* method abstract_compiler#CodeWriter#file= for (self: CodeWriter, CodeFile) */
7754 void abstract_compiler__CodeWriter__file_61d(val
* self
, val
* p0
) {
7755 self
->attrs
[COLOR_abstract_compiler__CodeWriter___64dfile
].val
= p0
; /* @file on <self:CodeWriter> */
7758 /* method abstract_compiler#CodeWriter#file= for (self: Object, CodeFile) */
7759 void VIRTUAL_abstract_compiler__CodeWriter__file_61d(val
* self
, val
* p0
) {
7760 abstract_compiler__CodeWriter__file_61d(self
, p0
);
7763 /* method abstract_compiler#CodeWriter#lines for (self: CodeWriter): List[String] */
7764 val
* abstract_compiler__CodeWriter__lines(val
* self
) {
7765 val
* var
/* : List[String] */;
7766 val
* var1
/* : List[String] */;
7767 var1
= self
->attrs
[COLOR_abstract_compiler__CodeWriter___64dlines
].val
; /* @lines on <self:CodeWriter> */
7769 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @lines");
7770 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 618);
7777 /* method abstract_compiler#CodeWriter#lines for (self: Object): List[String] */
7778 val
* VIRTUAL_abstract_compiler__CodeWriter__lines(val
* self
) {
7779 val
* var
/* : List[String] */;
7780 val
* var1
/* : List[String] */;
7781 var1
= abstract_compiler__CodeWriter__lines(self
);
7786 /* method abstract_compiler#CodeWriter#lines= for (self: CodeWriter, List[String]) */
7787 void abstract_compiler__CodeWriter__lines_61d(val
* self
, val
* p0
) {
7788 self
->attrs
[COLOR_abstract_compiler__CodeWriter___64dlines
].val
= p0
; /* @lines on <self:CodeWriter> */
7791 /* method abstract_compiler#CodeWriter#lines= for (self: Object, List[String]) */
7792 void VIRTUAL_abstract_compiler__CodeWriter__lines_61d(val
* self
, val
* p0
) {
7793 abstract_compiler__CodeWriter__lines_61d(self
, p0
);
7796 /* method abstract_compiler#CodeWriter#decl_lines for (self: CodeWriter): List[String] */
7797 val
* abstract_compiler__CodeWriter__decl_lines(val
* self
) {
7798 val
* var
/* : List[String] */;
7799 val
* var1
/* : List[String] */;
7800 var1
= self
->attrs
[COLOR_abstract_compiler__CodeWriter___64ddecl_lines
].val
; /* @decl_lines on <self:CodeWriter> */
7802 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @decl_lines");
7803 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 619);
7810 /* method abstract_compiler#CodeWriter#decl_lines for (self: Object): List[String] */
7811 val
* VIRTUAL_abstract_compiler__CodeWriter__decl_lines(val
* self
) {
7812 val
* var
/* : List[String] */;
7813 val
* var1
/* : List[String] */;
7814 var1
= abstract_compiler__CodeWriter__decl_lines(self
);
7819 /* method abstract_compiler#CodeWriter#decl_lines= for (self: CodeWriter, List[String]) */
7820 void abstract_compiler__CodeWriter__decl_lines_61d(val
* self
, val
* p0
) {
7821 self
->attrs
[COLOR_abstract_compiler__CodeWriter___64ddecl_lines
].val
= p0
; /* @decl_lines on <self:CodeWriter> */
7824 /* method abstract_compiler#CodeWriter#decl_lines= for (self: Object, List[String]) */
7825 void VIRTUAL_abstract_compiler__CodeWriter__decl_lines_61d(val
* self
, val
* p0
) {
7826 abstract_compiler__CodeWriter__decl_lines_61d(self
, p0
);
7829 /* method abstract_compiler#CodeWriter#add for (self: CodeWriter, String) */
7830 void abstract_compiler__CodeWriter__add(val
* self
, val
* p0
) {
7831 val
* var_s
/* var s: String */;
7832 val
* var
/* : List[String] */;
7834 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__CodeWriter__lines
]))(self
) /* lines on <self:CodeWriter>*/;
7835 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var
, var_s
) /* add on <var:List[String]>*/;
7838 /* method abstract_compiler#CodeWriter#add for (self: Object, String) */
7839 void VIRTUAL_abstract_compiler__CodeWriter__add(val
* self
, val
* p0
) {
7840 abstract_compiler__CodeWriter__add(self
, p0
);
7843 /* method abstract_compiler#CodeWriter#add_decl for (self: CodeWriter, String) */
7844 void abstract_compiler__CodeWriter__add_decl(val
* self
, val
* p0
) {
7845 val
* var_s
/* var s: String */;
7846 val
* var
/* : List[String] */;
7848 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__CodeWriter__decl_lines
]))(self
) /* decl_lines on <self:CodeWriter>*/;
7849 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var
, var_s
) /* add on <var:List[String]>*/;
7852 /* method abstract_compiler#CodeWriter#add_decl for (self: Object, String) */
7853 void VIRTUAL_abstract_compiler__CodeWriter__add_decl(val
* self
, val
* p0
) {
7854 abstract_compiler__CodeWriter__add_decl(self
, p0
);
7857 /* method abstract_compiler#CodeWriter#init for (self: CodeWriter, CodeFile) */
7858 void abstract_compiler__CodeWriter__init(val
* self
, val
* p0
) {
7859 val
* var_file
/* var file: CodeFile */;
7860 val
* var
/* : Array[CodeWriter] */;
7862 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__CodeWriter__file_61d
]))(self
, var_file
) /* file= on <self:CodeWriter>*/;
7863 var
= ((val
* (*)(val
*))(var_file
->class->vft
[COLOR_abstract_compiler__CodeFile__writers
]))(var_file
) /* writers on <var_file:CodeFile>*/;
7864 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var
, self
) /* add on <var:Array[CodeWriter]>*/;
7867 /* method abstract_compiler#CodeWriter#init for (self: Object, CodeFile) */
7868 void VIRTUAL_abstract_compiler__CodeWriter__init(val
* self
, val
* p0
) {
7869 abstract_compiler__CodeWriter__init(self
, p0
);
7872 /* method abstract_compiler#AbstractCompilerVisitor#compiler for (self: AbstractCompilerVisitor): AbstractCompiler */
7873 val
* abstract_compiler__AbstractCompilerVisitor__compiler(val
* self
) {
7874 val
* var
/* : AbstractCompiler */;
7875 val
* var1
/* : AbstractCompiler */;
7876 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dcompiler
].val
; /* @compiler on <self:AbstractCompilerVisitor> */
7878 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @compiler");
7879 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 640);
7886 /* method abstract_compiler#AbstractCompilerVisitor#compiler for (self: Object): AbstractCompiler */
7887 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__compiler(val
* self
) {
7888 val
* var
/* : AbstractCompiler */;
7889 val
* var1
/* : AbstractCompiler */;
7890 var1
= abstract_compiler__AbstractCompilerVisitor__compiler(self
);
7895 /* method abstract_compiler#AbstractCompilerVisitor#compiler= for (self: AbstractCompilerVisitor, AbstractCompiler) */
7896 void abstract_compiler__AbstractCompilerVisitor__compiler_61d(val
* self
, val
* p0
) {
7897 short int var
/* : Bool */;
7900 const struct type
* type_struct
;
7901 const char* var_class_name
;
7902 /* Covariant cast for argument 0 (compiler) <p0:AbstractCompiler> isa COMPILER */
7903 /* <p0:AbstractCompiler> isa COMPILER */
7904 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractCompilerVisitor_VTCOMPILER
];
7905 cltype
= type_struct
->color
;
7906 idtype
= type_struct
->id
;
7907 if(cltype
>= p0
->type
->table_size
) {
7910 var
= p0
->type
->type_table
[cltype
] == idtype
;
7913 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
7914 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name
);
7915 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 640);
7918 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dcompiler
].val
= p0
; /* @compiler on <self:AbstractCompilerVisitor> */
7921 /* method abstract_compiler#AbstractCompilerVisitor#compiler= for (self: Object, AbstractCompiler) */
7922 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__compiler_61d(val
* self
, val
* p0
) {
7923 abstract_compiler__AbstractCompilerVisitor__compiler_61d(self
, p0
);
7926 /* method abstract_compiler#AbstractCompilerVisitor#current_node for (self: AbstractCompilerVisitor): nullable ANode */
7927 val
* abstract_compiler__AbstractCompilerVisitor__current_node(val
* self
) {
7928 val
* var
/* : nullable ANode */;
7929 val
* var1
/* : nullable ANode */;
7930 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dcurrent_node
].val
; /* @current_node on <self:AbstractCompilerVisitor> */
7935 /* method abstract_compiler#AbstractCompilerVisitor#current_node for (self: Object): nullable ANode */
7936 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__current_node(val
* self
) {
7937 val
* var
/* : nullable ANode */;
7938 val
* var1
/* : nullable ANode */;
7939 var1
= abstract_compiler__AbstractCompilerVisitor__current_node(self
);
7944 /* method abstract_compiler#AbstractCompilerVisitor#current_node= for (self: AbstractCompilerVisitor, nullable ANode) */
7945 void abstract_compiler__AbstractCompilerVisitor__current_node_61d(val
* self
, val
* p0
) {
7946 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dcurrent_node
].val
= p0
; /* @current_node on <self:AbstractCompilerVisitor> */
7949 /* method abstract_compiler#AbstractCompilerVisitor#current_node= for (self: Object, nullable ANode) */
7950 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__current_node_61d(val
* self
, val
* p0
) {
7951 abstract_compiler__AbstractCompilerVisitor__current_node_61d(self
, p0
);
7954 /* method abstract_compiler#AbstractCompilerVisitor#frame for (self: AbstractCompilerVisitor): nullable Frame */
7955 val
* abstract_compiler__AbstractCompilerVisitor__frame(val
* self
) {
7956 val
* var
/* : nullable Frame */;
7957 val
* var1
/* : nullable Frame */;
7958 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dframe
].val
; /* @frame on <self:AbstractCompilerVisitor> */
7963 /* method abstract_compiler#AbstractCompilerVisitor#frame for (self: Object): nullable Frame */
7964 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__frame(val
* self
) {
7965 val
* var
/* : nullable Frame */;
7966 val
* var1
/* : nullable Frame */;
7967 var1
= abstract_compiler__AbstractCompilerVisitor__frame(self
);
7972 /* method abstract_compiler#AbstractCompilerVisitor#frame= for (self: AbstractCompilerVisitor, nullable Frame) */
7973 void abstract_compiler__AbstractCompilerVisitor__frame_61d(val
* self
, val
* p0
) {
7974 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dframe
].val
= p0
; /* @frame on <self:AbstractCompilerVisitor> */
7977 /* method abstract_compiler#AbstractCompilerVisitor#frame= for (self: Object, nullable Frame) */
7978 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__frame_61d(val
* self
, val
* p0
) {
7979 abstract_compiler__AbstractCompilerVisitor__frame_61d(self
, p0
);
7982 /* method abstract_compiler#AbstractCompilerVisitor#object_type for (self: AbstractCompilerVisitor): MClassType */
7983 val
* abstract_compiler__AbstractCompilerVisitor__object_type(val
* self
) {
7984 val
* var
/* : MClassType */;
7985 val
* var1
/* : AbstractCompiler */;
7986 val
* var2
/* : MModule */;
7987 val
* var3
/* : MClassType */;
7988 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
7989 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var1
) /* mainmodule on <var1:AbstractCompiler>*/;
7990 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_model__MModule__object_type
]))(var2
) /* object_type on <var2:MModule>*/;
7996 /* method abstract_compiler#AbstractCompilerVisitor#object_type for (self: Object): MClassType */
7997 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__object_type(val
* self
) {
7998 val
* var
/* : MClassType */;
7999 val
* var1
/* : MClassType */;
8000 var1
= abstract_compiler__AbstractCompilerVisitor__object_type(self
);
8005 /* method abstract_compiler#AbstractCompilerVisitor#bool_type for (self: AbstractCompilerVisitor): MClassType */
8006 val
* abstract_compiler__AbstractCompilerVisitor__bool_type(val
* self
) {
8007 val
* var
/* : MClassType */;
8008 val
* var1
/* : AbstractCompiler */;
8009 val
* var2
/* : MModule */;
8010 val
* var3
/* : MClassType */;
8011 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
8012 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var1
) /* mainmodule on <var1:AbstractCompiler>*/;
8013 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_model__MModule__bool_type
]))(var2
) /* bool_type on <var2:MModule>*/;
8019 /* method abstract_compiler#AbstractCompilerVisitor#bool_type for (self: Object): MClassType */
8020 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__bool_type(val
* self
) {
8021 val
* var
/* : MClassType */;
8022 val
* var1
/* : MClassType */;
8023 var1
= abstract_compiler__AbstractCompilerVisitor__bool_type(self
);
8028 /* method abstract_compiler#AbstractCompilerVisitor#writer for (self: AbstractCompilerVisitor): CodeWriter */
8029 val
* abstract_compiler__AbstractCompilerVisitor__writer(val
* self
) {
8030 val
* var
/* : CodeWriter */;
8031 val
* var1
/* : CodeWriter */;
8032 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dwriter
].val
; /* @writer on <self:AbstractCompilerVisitor> */
8034 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @writer");
8035 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 655);
8042 /* method abstract_compiler#AbstractCompilerVisitor#writer for (self: Object): CodeWriter */
8043 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__writer(val
* self
) {
8044 val
* var
/* : CodeWriter */;
8045 val
* var1
/* : CodeWriter */;
8046 var1
= abstract_compiler__AbstractCompilerVisitor__writer(self
);
8051 /* method abstract_compiler#AbstractCompilerVisitor#writer= for (self: AbstractCompilerVisitor, CodeWriter) */
8052 void abstract_compiler__AbstractCompilerVisitor__writer_61d(val
* self
, val
* p0
) {
8053 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dwriter
].val
= p0
; /* @writer on <self:AbstractCompilerVisitor> */
8056 /* method abstract_compiler#AbstractCompilerVisitor#writer= for (self: Object, CodeWriter) */
8057 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__writer_61d(val
* self
, val
* p0
) {
8058 abstract_compiler__AbstractCompilerVisitor__writer_61d(self
, p0
);
8061 /* method abstract_compiler#AbstractCompilerVisitor#init for (self: AbstractCompilerVisitor, AbstractCompiler) */
8062 void abstract_compiler__AbstractCompilerVisitor__init(val
* self
, val
* p0
) {
8063 short int var
/* : Bool */;
8066 const struct type
* type_struct
;
8067 const char* var_class_name
;
8068 val
* var_compiler
/* var compiler: AbstractCompiler */;
8069 val
* var1
/* : CodeWriter */;
8070 val
* var2
/* : List[CodeFile] */;
8071 val
* var3
/* : nullable Object */;
8072 /* Covariant cast for argument 0 (compiler) <p0:AbstractCompiler> isa COMPILER */
8073 /* <p0:AbstractCompiler> isa COMPILER */
8074 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractCompilerVisitor_VTCOMPILER
];
8075 cltype
= type_struct
->color
;
8076 idtype
= type_struct
->id
;
8077 if(cltype
>= p0
->type
->table_size
) {
8080 var
= p0
->type
->type_table
[cltype
] == idtype
;
8083 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
8084 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name
);
8085 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 657);
8089 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler_61d
]))(self
, var_compiler
) /* compiler= on <self:AbstractCompilerVisitor>*/;
8090 var1
= NEW_abstract_compiler__CodeWriter(&type_abstract_compiler__CodeWriter
);
8091 var2
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__files
]))(var_compiler
) /* files on <var_compiler:AbstractCompiler>*/;
8092 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__SequenceRead__last
]))(var2
) /* last on <var2:List[CodeFile]>*/;
8093 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_compiler__CodeWriter__init
]))(var1
, var3
) /* init on <var1:CodeWriter>*/;
8094 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__writer_61d
]))(self
, var1
) /* writer= on <self:AbstractCompilerVisitor>*/;
8097 /* method abstract_compiler#AbstractCompilerVisitor#init for (self: Object, AbstractCompiler) */
8098 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__init(val
* self
, val
* p0
) {
8099 abstract_compiler__AbstractCompilerVisitor__init(self
, p0
);
8102 /* method abstract_compiler#AbstractCompilerVisitor#get_class for (self: AbstractCompilerVisitor, String): MClass */
8103 val
* abstract_compiler__AbstractCompilerVisitor__get_class(val
* self
, val
* p0
) {
8104 val
* var
/* : MClass */;
8105 val
* var_name
/* var name: String */;
8106 val
* var1
/* : AbstractCompiler */;
8107 val
* var2
/* : MModule */;
8108 val
* var3
/* : MClass */;
8110 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
8111 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var1
) /* mainmodule on <var1:AbstractCompiler>*/;
8112 var3
= ((val
* (*)(val
*, val
*))(var2
->class->vft
[COLOR_model__MModule__get_primitive_class
]))(var2
, var_name
) /* get_primitive_class on <var2:MModule>*/;
8118 /* method abstract_compiler#AbstractCompilerVisitor#get_class for (self: Object, String): MClass */
8119 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__get_class(val
* self
, val
* p0
) {
8120 val
* var
/* : MClass */;
8121 val
* var1
/* : MClass */;
8122 var1
= abstract_compiler__AbstractCompilerVisitor__get_class(self
, p0
);
8127 /* method abstract_compiler#AbstractCompilerVisitor#get_property for (self: AbstractCompilerVisitor, String, MType): MMethod */
8128 val
* abstract_compiler__AbstractCompilerVisitor__get_property(val
* self
, val
* p0
, val
* p1
) {
8129 val
* var
/* : MMethod */;
8130 val
* var_name
/* var name: String */;
8131 val
* var_recv
/* var recv: MType */;
8132 short int var1
/* : Bool */;
8135 val
* var2
/* : AbstractCompiler */;
8136 val
* var3
/* : ModelBuilder */;
8137 val
* var4
/* : nullable ANode */;
8138 val
* var5
/* : MClass */;
8139 val
* var6
/* : AbstractCompiler */;
8140 val
* var7
/* : MModule */;
8141 val
* var8
/* : MMethod */;
8144 /* <var_recv:MType> isa MClassType */
8145 cltype
= type_model__MClassType
.color
;
8146 idtype
= type_model__MClassType
.id
;
8147 if(cltype
>= var_recv
->type
->table_size
) {
8150 var1
= var_recv
->type
->type_table
[cltype
] == idtype
;
8153 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8154 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 669);
8157 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
8158 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var2
) /* modelbuilder on <var2:AbstractCompiler>*/;
8159 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node
]))(self
) /* current_node on <self:AbstractCompilerVisitor>*/;
8161 fprintf(stderr
, "Runtime error: %s", "Cast failed");
8162 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 670);
8165 var5
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_model__MClassType__mclass
]))(var_recv
) /* mclass on <var_recv:MType(MClassType)>*/;
8166 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
8167 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var6
) /* mainmodule on <var6:AbstractCompiler>*/;
8168 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>*/;
8174 /* method abstract_compiler#AbstractCompilerVisitor#get_property for (self: Object, String, MType): MMethod */
8175 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__get_property(val
* self
, val
* p0
, val
* p1
) {
8176 val
* var
/* : MMethod */;
8177 val
* var1
/* : MMethod */;
8178 var1
= abstract_compiler__AbstractCompilerVisitor__get_property(self
, p0
, p1
);
8183 /* method abstract_compiler#AbstractCompilerVisitor#compile_callsite for (self: AbstractCompilerVisitor, CallSite, Array[RuntimeVariable]): nullable RuntimeVariable */
8184 val
* abstract_compiler__AbstractCompilerVisitor__compile_callsite(val
* self
, val
* p0
, val
* p1
) {
8185 val
* var
/* : nullable RuntimeVariable */;
8186 val
* var_callsite
/* var callsite: CallSite */;
8187 val
* var_args
/* var args: Array[RuntimeVariable] */;
8188 val
* var1
/* : MMethod */;
8189 val
* var2
/* : nullable RuntimeVariable */;
8192 var1
= ((val
* (*)(val
*))(var_callsite
->class->vft
[COLOR_typing__CallSite__mproperty
]))(var_callsite
) /* mproperty on <var_callsite:CallSite>*/;
8193 var2
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(self
, var1
, var_args
) /* send on <self:AbstractCompilerVisitor>*/;
8199 /* method abstract_compiler#AbstractCompilerVisitor#compile_callsite for (self: Object, CallSite, Array[RuntimeVariable]): nullable RuntimeVariable */
8200 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__compile_callsite(val
* self
, val
* p0
, val
* p1
) {
8201 val
* var
/* : nullable RuntimeVariable */;
8202 val
* var1
/* : nullable RuntimeVariable */;
8203 var1
= abstract_compiler__AbstractCompilerVisitor__compile_callsite(self
, p0
, p1
);
8208 /* method abstract_compiler#AbstractCompilerVisitor#calloc_array for (self: AbstractCompilerVisitor, MType, Array[RuntimeVariable]) */
8209 void abstract_compiler__AbstractCompilerVisitor__calloc_array(val
* self
, val
* p0
, val
* p1
) {
8210 const char* var_class_name
;
8211 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
8212 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "calloc_array", var_class_name
);
8213 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 678);
8217 /* method abstract_compiler#AbstractCompilerVisitor#calloc_array for (self: Object, MType, Array[RuntimeVariable]) */
8218 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__calloc_array(val
* self
, val
* p0
, val
* p1
) {
8219 abstract_compiler__AbstractCompilerVisitor__calloc_array(self
, p0
, p1
);
8222 /* method abstract_compiler#AbstractCompilerVisitor#native_array_def for (self: AbstractCompilerVisitor, String, nullable MType, Array[RuntimeVariable]) */
8223 void abstract_compiler__AbstractCompilerVisitor__native_array_def(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
8224 const char* var_class_name
;
8225 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
8226 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "native_array_def", var_class_name
);
8227 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 680);
8231 /* method abstract_compiler#AbstractCompilerVisitor#native_array_def for (self: Object, String, nullable MType, Array[RuntimeVariable]) */
8232 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__native_array_def(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
8233 abstract_compiler__AbstractCompilerVisitor__native_array_def(self
, p0
, p1
, p2
);
8236 /* method abstract_compiler#AbstractCompilerVisitor#varargize for (self: AbstractCompilerVisitor, MPropDef, MSignature, Array[RuntimeVariable]) */
8237 void abstract_compiler__AbstractCompilerVisitor__varargize(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
8238 val
* var_mpropdef
/* var mpropdef: MPropDef */;
8239 val
* var_msignature
/* var msignature: MSignature */;
8240 val
* var_args
/* var args: Array[RuntimeVariable] */;
8241 val
* var
/* : nullable Object */;
8242 val
* var_recv
/* var recv: RuntimeVariable */;
8243 long var1
/* : Int */;
8244 long var_vararg_rank
/* var vararg_rank: Int */;
8245 long var2
/* : Int */;
8246 short int var3
/* : Bool */;
8247 short int var5
/* : Bool */;
8250 const char* var_class_name
;
8251 short int var6
/* : Bool */;
8252 long var7
/* : Int */;
8253 long var8
/* : Int */;
8254 long var9
/* : Int */;
8255 long var10
/* : Int */;
8256 long var12
/* : Int */;
8257 short int var13
/* : Bool */;
8258 short int var15
/* : Bool */;
8261 const char* var_class_name18
;
8262 short int var19
/* : Bool */;
8263 val
* var_rawargs
/* var rawargs: Array[RuntimeVariable] */;
8264 val
* var20
/* : Array[RuntimeVariable] */;
8265 val
* var21
/* : nullable Object */;
8266 val
* var22
/* : Range[Int] */;
8267 long var23
/* : Int */;
8268 val
* var24
/* : Discrete */;
8269 val
* var25
/* : Discrete */;
8270 val
* var26
/* : Iterator[nullable Object] */;
8271 short int var27
/* : Bool */;
8272 val
* var28
/* : nullable Object */;
8273 long var_i
/* var i: Int */;
8274 long var29
/* : Int */;
8275 long var30
/* : Int */;
8276 long var31
/* : Int */;
8277 long var33
/* : Int */;
8278 val
* var34
/* : nullable Object */;
8279 long var35
/* : Int */;
8280 long var36
/* : Int */;
8281 long var38
/* : Int */;
8282 long var39
/* : Int */;
8283 long var40
/* : Int */;
8284 long var42
/* : Int */;
8285 long var43
/* : Int */;
8286 long var44
/* : Int */;
8287 long var46
/* : Int */;
8288 long var_vararg_lastrank
/* var vararg_lastrank: Int */;
8289 val
* var47
/* : Array[RuntimeVariable] */;
8290 val
* var_vararg
/* var vararg: Array[RuntimeVariable] */;
8291 val
* var48
/* : Range[Int] */;
8292 val
* var49
/* : Discrete */;
8293 val
* var50
/* : Discrete */;
8294 val
* var51
/* : Iterator[nullable Object] */;
8295 short int var52
/* : Bool */;
8296 val
* var53
/* : nullable Object */;
8297 long var_i54
/* var i: Int */;
8298 long var55
/* : Int */;
8299 long var56
/* : Int */;
8300 long var57
/* : Int */;
8301 long var59
/* : Int */;
8302 val
* var60
/* : nullable Object */;
8303 val
* var62
/* : Array[MParameter] */;
8304 val
* var63
/* : nullable Object */;
8305 val
* var64
/* : MType */;
8306 val
* var_elttype
/* var elttype: MType */;
8307 val
* var65
/* : RuntimeVariable */;
8308 val
* var66
/* : Range[Int] */;
8309 long var67
/* : Int */;
8310 long var68
/* : Int */;
8311 long var70
/* : Int */;
8312 long var71
/* : Int */;
8313 long var72
/* : Int */;
8314 long var73
/* : Int */;
8315 long var75
/* : Int */;
8316 val
* var76
/* : Discrete */;
8317 val
* var77
/* : Discrete */;
8318 val
* var78
/* : Iterator[nullable Object] */;
8319 short int var79
/* : Bool */;
8320 val
* var80
/* : nullable Object */;
8321 long var_i81
/* var i: Int */;
8322 long var82
/* : Int */;
8323 long var83
/* : Int */;
8324 long var84
/* : Int */;
8325 long var86
/* : Int */;
8326 val
* var87
/* : nullable Object */;
8328 var_msignature
= p1
;
8330 var
= ((val
* (*)(val
*))(var_args
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_args
) /* first on <var_args:Array[RuntimeVariable]>*/;
8332 var1
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__vararg_rank
]))(var_msignature
) /* vararg_rank on <var_msignature:MSignature>*/;
8333 var_vararg_rank
= var1
;
8335 { /* Inline kernel#Int#>= (var_vararg_rank,var2) */
8336 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
8337 /* <var2:Int> isa OTHER */
8338 var5
= 1; /* easy <var2:Int> isa OTHER*/
8340 var_class_name
= type_kernel__Int
.name
;
8341 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
8342 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
8345 var6
= var_vararg_rank
>= var2
;
8351 var7
= ((long (*)(val
*))(var_args
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_args
) /* length on <var_args:Array[RuntimeVariable]>*/;
8352 var8
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:MSignature>*/;
8354 { /* Inline kernel#Int#+ (var8,var9) */
8355 var12
= var8
+ var9
;
8358 RET_LABEL11
:(void)0;
8360 { /* Inline kernel#Int#>= (var7,var10) */
8361 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
8362 /* <var10:Int> isa OTHER */
8363 var15
= 1; /* easy <var10:Int> isa OTHER*/
8365 var_class_name18
= type_kernel__Int
.name
;
8366 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18
);
8367 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
8370 var19
= var7
>= var10
;
8373 RET_LABEL14
:(void)0;
8376 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8377 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 690);
8380 var_rawargs
= var_args
;
8381 var20
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
8382 ((void (*)(val
*))(var20
->class->vft
[COLOR_array__Array__init
]))(var20
) /* init on <var20:Array[RuntimeVariable]>*/;
8384 var21
= ((val
* (*)(val
*))(var_rawargs
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_rawargs
) /* first on <var_rawargs:Array[RuntimeVariable]>*/;
8385 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var21
) /* add on <var_args:Array[RuntimeVariable]>*/;
8386 var22
= NEW_range__Range(&type_range__Rangekernel__Int
);
8388 var24
= BOX_kernel__Int(var23
); /* autobox from Int to Discrete */
8389 var25
= BOX_kernel__Int(var_vararg_rank
); /* autobox from Int to Discrete */
8390 ((void (*)(val
*, val
*, val
*))(var22
->class->vft
[COLOR_range__Range__without_last
]))(var22
, var24
, var25
) /* without_last on <var22:Range[Int]>*/;
8391 var26
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var22
) /* iterator on <var22:Range[Int]>*/;
8393 var27
= ((short int (*)(val
*))(var26
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var26
) /* is_ok on <var26:Iterator[nullable Object]>*/;
8395 var28
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var26
) /* item on <var26:Iterator[nullable Object]>*/;
8396 var29
= ((struct instance_kernel__Int
*)var28
)->value
; /* autounbox from nullable Object to Int */;
8399 { /* Inline kernel#Int#+ (var_i,var30) */
8400 var33
= var_i
+ var30
;
8403 RET_LABEL32
:(void)0;
8405 var34
= ((val
* (*)(val
*, long))(var_rawargs
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_rawargs
, var31
) /* [] on <var_rawargs:Array[RuntimeVariable]>*/;
8406 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var34
) /* add on <var_args:Array[RuntimeVariable]>*/;
8407 CONTINUE_label
: (void)0;
8408 ((void (*)(val
*))(var26
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var26
) /* next on <var26:Iterator[nullable Object]>*/;
8410 BREAK_label
: (void)0;
8411 var35
= ((long (*)(val
*))(var_rawargs
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_rawargs
) /* length on <var_rawargs:Array[RuntimeVariable]>*/;
8412 { /* Inline kernel#Int#+ (var_vararg_rank,var35) */
8413 var38
= var_vararg_rank
+ var35
;
8416 RET_LABEL37
:(void)0;
8419 { /* Inline kernel#Int#- (var36,var39) */
8420 var42
= var36
- var39
;
8423 RET_LABEL41
:(void)0;
8425 var43
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:MSignature>*/;
8426 { /* Inline kernel#Int#- (var40,var43) */
8427 var46
= var40
- var43
;
8430 RET_LABEL45
:(void)0;
8432 var_vararg_lastrank
= var44
;
8433 var47
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
8434 ((void (*)(val
*))(var47
->class->vft
[COLOR_array__Array__init
]))(var47
) /* init on <var47:Array[RuntimeVariable]>*/;
8436 var48
= NEW_range__Range(&type_range__Rangekernel__Int
);
8437 var49
= BOX_kernel__Int(var_vararg_rank
); /* autobox from Int to Discrete */
8438 var50
= BOX_kernel__Int(var_vararg_lastrank
); /* autobox from Int to Discrete */
8439 ((void (*)(val
*, val
*, val
*))(var48
->class->vft
[COLOR_range__Range__init
]))(var48
, var49
, var50
) /* init on <var48:Range[Int]>*/;
8440 var51
= ((val
* (*)(val
*))(var48
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var48
) /* iterator on <var48:Range[Int]>*/;
8442 var52
= ((short int (*)(val
*))(var51
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var51
) /* is_ok on <var51:Iterator[nullable Object]>*/;
8444 var53
= ((val
* (*)(val
*))(var51
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var51
) /* item on <var51:Iterator[nullable Object]>*/;
8445 var55
= ((struct instance_kernel__Int
*)var53
)->value
; /* autounbox from nullable Object to Int */;
8448 { /* Inline kernel#Int#+ (var_i54,var56) */
8449 var59
= var_i54
+ var56
;
8452 RET_LABEL58
:(void)0;
8454 var60
= ((val
* (*)(val
*, long))(var_rawargs
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_rawargs
, var57
) /* [] on <var_rawargs:Array[RuntimeVariable]>*/;
8455 ((void (*)(val
*, val
*))(var_vararg
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_vararg
, var60
) /* add on <var_vararg:Array[RuntimeVariable]>*/;
8456 CONTINUE_label61
: (void)0;
8457 ((void (*)(val
*))(var51
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var51
) /* next on <var51:Iterator[nullable Object]>*/;
8459 BREAK_label61
: (void)0;
8460 var62
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_msignature
) /* mparameters on <var_msignature:MSignature>*/;
8461 var63
= ((val
* (*)(val
*, long))(var62
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var62
, var_vararg_rank
) /* [] on <var62:Array[MParameter]>*/;
8462 var64
= ((val
* (*)(val
*))(var63
->class->vft
[COLOR_model__MParameter__mtype
]))(var63
) /* mtype on <var63:nullable Object(MParameter)>*/;
8463 var_elttype
= var64
;
8464 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>*/;
8465 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var65
) /* add on <var_args:Array[RuntimeVariable]>*/;
8466 var66
= NEW_range__Range(&type_range__Rangekernel__Int
);
8468 { /* Inline kernel#Int#+ (var_vararg_lastrank,var67) */
8469 var70
= var_vararg_lastrank
+ var67
;
8472 RET_LABEL69
:(void)0;
8474 var71
= ((long (*)(val
*))(var_rawargs
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_rawargs
) /* length on <var_rawargs:Array[RuntimeVariable]>*/;
8476 { /* Inline kernel#Int#- (var71,var72) */
8477 var75
= var71
- var72
;
8480 RET_LABEL74
:(void)0;
8482 var76
= BOX_kernel__Int(var68
); /* autobox from Int to Discrete */
8483 var77
= BOX_kernel__Int(var73
); /* autobox from Int to Discrete */
8484 ((void (*)(val
*, val
*, val
*))(var66
->class->vft
[COLOR_range__Range__without_last
]))(var66
, var76
, var77
) /* without_last on <var66:Range[Int]>*/;
8485 var78
= ((val
* (*)(val
*))(var66
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var66
) /* iterator on <var66:Range[Int]>*/;
8487 var79
= ((short int (*)(val
*))(var78
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var78
) /* is_ok on <var78:Iterator[nullable Object]>*/;
8489 var80
= ((val
* (*)(val
*))(var78
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var78
) /* item on <var78:Iterator[nullable Object]>*/;
8490 var82
= ((struct instance_kernel__Int
*)var80
)->value
; /* autounbox from nullable Object to Int */;
8493 { /* Inline kernel#Int#+ (var_i81,var83) */
8494 var86
= var_i81
+ var83
;
8497 RET_LABEL85
:(void)0;
8499 var87
= ((val
* (*)(val
*, long))(var_rawargs
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_rawargs
, var84
) /* [] on <var_rawargs:Array[RuntimeVariable]>*/;
8500 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var87
) /* add on <var_args:Array[RuntimeVariable]>*/;
8501 CONTINUE_label88
: (void)0;
8502 ((void (*)(val
*))(var78
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var78
) /* next on <var78:Iterator[nullable Object]>*/;
8504 BREAK_label88
: (void)0;
8505 ((void (*)(val
*))(var_rawargs
->class->vft
[COLOR_abstract_collection__RemovableCollection__clear
]))(var_rawargs
) /* clear on <var_rawargs:Array[RuntimeVariable]>*/;
8506 ((void (*)(val
*, val
*))(var_rawargs
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(var_rawargs
, var_args
) /* add_all on <var_rawargs:Array[RuntimeVariable]>*/;
8511 /* method abstract_compiler#AbstractCompilerVisitor#varargize for (self: Object, MPropDef, MSignature, Array[RuntimeVariable]) */
8512 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__varargize(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
8513 abstract_compiler__AbstractCompilerVisitor__varargize(self
, p0
, p1
, p2
);
8516 /* method abstract_compiler#AbstractCompilerVisitor#anchor for (self: AbstractCompilerVisitor, MType): MType */
8517 val
* abstract_compiler__AbstractCompilerVisitor__anchor(val
* self
, val
* p0
) {
8518 val
* var
/* : MType */;
8519 val
* var_mtype
/* var mtype: MType */;
8520 short int var1
/* : Bool */;
8521 short int var2
/* : Bool */;
8522 val
* var3
/* : AbstractCompiler */;
8523 val
* var4
/* : MModule */;
8524 val
* var5
/* : nullable Frame */;
8525 val
* var6
/* : MClassType */;
8526 val
* var7
/* : MType */;
8528 var1
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
8535 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
8536 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var3
) /* mainmodule on <var3:AbstractCompiler>*/;
8537 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:AbstractCompilerVisitor>*/;
8539 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
8540 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 723);
8543 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_compiler__Frame__receiver
]))(var5
) /* receiver on <var5:nullable Frame>*/;
8545 var7
= ((val
* (*)(val
*, val
*, val
*))(var_mtype
->class->vft
[COLOR_model__MType__anchor_to
]))(var_mtype
, var4
, var6
) /* anchor_to on <var_mtype:MType>*/;
8551 /* method abstract_compiler#AbstractCompilerVisitor#anchor for (self: Object, MType): MType */
8552 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__anchor(val
* self
, val
* p0
) {
8553 val
* var
/* : MType */;
8554 val
* var1
/* : MType */;
8555 var1
= abstract_compiler__AbstractCompilerVisitor__anchor(self
, p0
);
8560 /* method abstract_compiler#AbstractCompilerVisitor#resolve_for for (self: AbstractCompilerVisitor, MType, RuntimeVariable): MType */
8561 val
* abstract_compiler__AbstractCompilerVisitor__resolve_for(val
* self
, val
* p0
, val
* p1
) {
8562 val
* var
/* : MType */;
8563 val
* var_mtype
/* var mtype: MType */;
8564 val
* var_recv
/* var recv: RuntimeVariable */;
8565 short int var1
/* : Bool */;
8566 short int var2
/* : Bool */;
8567 val
* var3
/* : MType */;
8568 val
* var4
/* : nullable Frame */;
8569 val
* var5
/* : MClassType */;
8570 val
* var6
/* : AbstractCompiler */;
8571 val
* var7
/* : MModule */;
8572 short int var8
/* : Bool */;
8573 val
* var9
/* : MType */;
8576 var1
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
8583 var3
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_recv
) /* mcasttype on <var_recv:RuntimeVariable>*/;
8584 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:AbstractCompilerVisitor>*/;
8586 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
8587 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 729);
8590 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_compiler__Frame__receiver
]))(var4
) /* receiver on <var4:nullable Frame>*/;
8592 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
8593 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var6
) /* mainmodule on <var6:AbstractCompiler>*/;
8595 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>*/;
8601 /* method abstract_compiler#AbstractCompilerVisitor#resolve_for for (self: Object, MType, RuntimeVariable): MType */
8602 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__resolve_for(val
* self
, val
* p0
, val
* p1
) {
8603 val
* var
/* : MType */;
8604 val
* var1
/* : MType */;
8605 var1
= abstract_compiler__AbstractCompilerVisitor__resolve_for(self
, p0
, p1
);
8610 /* method abstract_compiler#AbstractCompilerVisitor#autoadapt for (self: AbstractCompilerVisitor, RuntimeVariable, MType): RuntimeVariable */
8611 val
* abstract_compiler__AbstractCompilerVisitor__autoadapt(val
* self
, val
* p0
, val
* p1
) {
8612 val
* var
/* : RuntimeVariable */;
8613 val
* var_value
/* var value: RuntimeVariable */;
8614 val
* var_mtype
/* var mtype: MType */;
8615 val
* var1
/* : MType */;
8616 val
* var2
/* : MType */;
8617 val
* var_valmtype
/* var valmtype: MType */;
8618 val
* var3
/* : AbstractCompiler */;
8619 val
* var4
/* : MModule */;
8620 val
* var5
/* : null */;
8621 short int var6
/* : Bool */;
8622 short int var7
/* : Bool */;
8623 short int var8
/* : Bool */;
8626 short int var_
/* var : Bool */;
8627 val
* var9
/* : MType */;
8628 val
* var10
/* : AbstractCompiler */;
8629 val
* var11
/* : MModule */;
8630 val
* var12
/* : null */;
8631 short int var13
/* : Bool */;
8632 val
* var14
/* : RuntimeVariable */;
8633 val
* var15
/* : String */;
8634 val
* var16
/* : MType */;
8635 val
* var_res
/* var res: RuntimeVariable */;
8636 val
* var17
/* : RuntimeVariable */;
8637 val
* var18
/* : String */;
8638 val
* var_res19
/* var res: RuntimeVariable */;
8641 var1
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__anchor
]))(self
, var_mtype
) /* anchor on <self:AbstractCompilerVisitor>*/;
8643 var2
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_value
) /* mcasttype on <var_value:RuntimeVariable>*/;
8644 var_valmtype
= var2
;
8645 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
8646 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var3
) /* mainmodule on <var3:AbstractCompiler>*/;
8648 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>*/;
8654 /* <var_valmtype:MType> isa MNullableType */
8655 cltype
= type_model__MNullableType
.color
;
8656 idtype
= type_model__MNullableType
.id
;
8657 if(cltype
>= var_valmtype
->type
->table_size
) {
8660 var8
= var_valmtype
->type
->type_table
[cltype
] == idtype
;
8664 var9
= ((val
* (*)(val
*))(var_valmtype
->class->vft
[COLOR_model__MNullableType__mtype
]))(var_valmtype
) /* mtype on <var_valmtype:MType(MNullableType)>*/;
8665 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
8666 var11
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var10
) /* mainmodule on <var10:AbstractCompiler>*/;
8668 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>*/;
8674 var14
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
8675 var15
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__name
]))(var_value
) /* name on <var_value:RuntimeVariable>*/;
8676 var16
= ((val
* (*)(val
*))(var_valmtype
->class->vft
[COLOR_model__MNullableType__mtype
]))(var_valmtype
) /* mtype on <var_valmtype:MType(MNullableType)>*/;
8677 ((void (*)(val
*, val
*, val
*, val
*))(var14
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var14
, var15
, var_valmtype
, var16
) /* init on <var14:RuntimeVariable>*/;
8682 var17
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
8683 var18
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__name
]))(var_value
) /* name on <var_value:RuntimeVariable>*/;
8684 ((void (*)(val
*, val
*, val
*, val
*))(var17
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var17
, var18
, var_valmtype
, var_mtype
) /* init on <var17:RuntimeVariable>*/;
8692 /* method abstract_compiler#AbstractCompilerVisitor#autoadapt for (self: Object, RuntimeVariable, MType): RuntimeVariable */
8693 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__autoadapt(val
* self
, val
* p0
, val
* p1
) {
8694 val
* var
/* : RuntimeVariable */;
8695 val
* var1
/* : RuntimeVariable */;
8696 var1
= abstract_compiler__AbstractCompilerVisitor__autoadapt(self
, p0
, p1
);
8701 /* method abstract_compiler#AbstractCompilerVisitor#supercall for (self: AbstractCompilerVisitor, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
8702 val
* abstract_compiler__AbstractCompilerVisitor__supercall(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
8703 val
* var
/* : nullable RuntimeVariable */;
8704 const char* var_class_name
;
8705 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
8706 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "supercall", var_class_name
);
8707 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 753);
8712 /* method abstract_compiler#AbstractCompilerVisitor#supercall for (self: Object, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
8713 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__supercall(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
8714 val
* var
/* : nullable RuntimeVariable */;
8715 val
* var1
/* : nullable RuntimeVariable */;
8716 var1
= abstract_compiler__AbstractCompilerVisitor__supercall(self
, p0
, p1
, p2
);
8721 /* method abstract_compiler#AbstractCompilerVisitor#adapt_signature for (self: AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
8722 void abstract_compiler__AbstractCompilerVisitor__adapt_signature(val
* self
, val
* p0
, val
* p1
) {
8723 const char* var_class_name
;
8724 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
8725 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "adapt_signature", var_class_name
);
8726 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 756);
8730 /* method abstract_compiler#AbstractCompilerVisitor#adapt_signature for (self: Object, MMethodDef, Array[RuntimeVariable]) */
8731 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__adapt_signature(val
* self
, val
* p0
, val
* p1
) {
8732 abstract_compiler__AbstractCompilerVisitor__adapt_signature(self
, p0
, p1
);
8735 /* method abstract_compiler#AbstractCompilerVisitor#autobox for (self: AbstractCompilerVisitor, RuntimeVariable, MType): RuntimeVariable */
8736 val
* abstract_compiler__AbstractCompilerVisitor__autobox(val
* self
, val
* p0
, val
* p1
) {
8737 val
* var
/* : RuntimeVariable */;
8738 const char* var_class_name
;
8739 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
8740 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "autobox", var_class_name
);
8741 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 758);
8746 /* method abstract_compiler#AbstractCompilerVisitor#autobox for (self: Object, RuntimeVariable, MType): RuntimeVariable */
8747 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__autobox(val
* self
, val
* p0
, val
* p1
) {
8748 val
* var
/* : RuntimeVariable */;
8749 val
* var1
/* : RuntimeVariable */;
8750 var1
= abstract_compiler__AbstractCompilerVisitor__autobox(self
, p0
, p1
);
8755 /* method abstract_compiler#AbstractCompilerVisitor#type_test for (self: AbstractCompilerVisitor, RuntimeVariable, MType, String): RuntimeVariable */
8756 val
* abstract_compiler__AbstractCompilerVisitor__type_test(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
8757 val
* var
/* : RuntimeVariable */;
8758 const char* var_class_name
;
8759 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
8760 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "type_test", var_class_name
);
8761 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 762);
8766 /* method abstract_compiler#AbstractCompilerVisitor#type_test for (self: Object, RuntimeVariable, MType, String): RuntimeVariable */
8767 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__type_test(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
8768 val
* var
/* : RuntimeVariable */;
8769 val
* var1
/* : RuntimeVariable */;
8770 var1
= abstract_compiler__AbstractCompilerVisitor__type_test(self
, p0
, p1
, p2
);
8775 /* method abstract_compiler#AbstractCompilerVisitor#is_same_type_test for (self: AbstractCompilerVisitor, RuntimeVariable, RuntimeVariable): RuntimeVariable */
8776 val
* abstract_compiler__AbstractCompilerVisitor__is_same_type_test(val
* self
, val
* p0
, val
* p1
) {
8777 val
* var
/* : RuntimeVariable */;
8778 const char* var_class_name
;
8779 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
8780 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "is_same_type_test", var_class_name
);
8781 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 765);
8786 /* method abstract_compiler#AbstractCompilerVisitor#is_same_type_test for (self: Object, RuntimeVariable, RuntimeVariable): RuntimeVariable */
8787 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__is_same_type_test(val
* self
, val
* p0
, val
* p1
) {
8788 val
* var
/* : RuntimeVariable */;
8789 val
* var1
/* : RuntimeVariable */;
8790 var1
= abstract_compiler__AbstractCompilerVisitor__is_same_type_test(self
, p0
, p1
);
8795 /* method abstract_compiler#AbstractCompilerVisitor#equal_test for (self: AbstractCompilerVisitor, RuntimeVariable, RuntimeVariable): RuntimeVariable */
8796 val
* abstract_compiler__AbstractCompilerVisitor__equal_test(val
* self
, val
* p0
, val
* p1
) {
8797 val
* var
/* : RuntimeVariable */;
8798 const char* var_class_name
;
8799 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
8800 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "equal_test", var_class_name
);
8801 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 768);
8806 /* method abstract_compiler#AbstractCompilerVisitor#equal_test for (self: Object, RuntimeVariable, RuntimeVariable): RuntimeVariable */
8807 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__equal_test(val
* self
, val
* p0
, val
* p1
) {
8808 val
* var
/* : RuntimeVariable */;
8809 val
* var1
/* : RuntimeVariable */;
8810 var1
= abstract_compiler__AbstractCompilerVisitor__equal_test(self
, p0
, p1
);
8815 /* method abstract_compiler#AbstractCompilerVisitor#call for (self: AbstractCompilerVisitor, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
8816 val
* abstract_compiler__AbstractCompilerVisitor__call(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
8817 val
* var
/* : nullable RuntimeVariable */;
8818 const char* var_class_name
;
8819 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
8820 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "call", var_class_name
);
8821 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 773);
8826 /* method abstract_compiler#AbstractCompilerVisitor#call for (self: Object, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
8827 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__call(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
8828 val
* var
/* : nullable RuntimeVariable */;
8829 val
* var1
/* : nullable RuntimeVariable */;
8830 var1
= abstract_compiler__AbstractCompilerVisitor__call(self
, p0
, p1
, p2
);
8835 /* method abstract_compiler#AbstractCompilerVisitor#send for (self: AbstractCompilerVisitor, MMethod, Array[RuntimeVariable]): nullable RuntimeVariable */
8836 val
* abstract_compiler__AbstractCompilerVisitor__send(val
* self
, val
* p0
, val
* p1
) {
8837 val
* var
/* : nullable RuntimeVariable */;
8838 const char* var_class_name
;
8839 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
8840 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "send", var_class_name
);
8841 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 776);
8846 /* method abstract_compiler#AbstractCompilerVisitor#send for (self: Object, MMethod, Array[RuntimeVariable]): nullable RuntimeVariable */
8847 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__send(val
* self
, val
* p0
, val
* p1
) {
8848 val
* var
/* : nullable RuntimeVariable */;
8849 val
* var1
/* : nullable RuntimeVariable */;
8850 var1
= abstract_compiler__AbstractCompilerVisitor__send(self
, p0
, p1
);
8855 /* method abstract_compiler#AbstractCompilerVisitor#monomorphic_send for (self: AbstractCompilerVisitor, MMethod, MType, Array[RuntimeVariable]): nullable RuntimeVariable */
8856 val
* abstract_compiler__AbstractCompilerVisitor__monomorphic_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
8857 val
* var
/* : nullable RuntimeVariable */;
8858 val
* var_m
/* var m: MMethod */;
8859 val
* var_t
/* var t: MType */;
8860 val
* var_args
/* var args: Array[RuntimeVariable] */;
8861 short int var1
/* : Bool */;
8864 val
* var2
/* : AbstractCompiler */;
8865 val
* var3
/* : MModule */;
8866 val
* var4
/* : MPropDef */;
8867 val
* var_propdef
/* var propdef: MMethodDef */;
8868 val
* var5
/* : nullable RuntimeVariable */;
8872 /* <var_t:MType> isa MClassType */
8873 cltype
= type_model__MClassType
.color
;
8874 idtype
= type_model__MClassType
.id
;
8875 if(cltype
>= var_t
->type
->table_size
) {
8878 var1
= var_t
->type
->type_table
[cltype
] == idtype
;
8881 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8882 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 782);
8885 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
8886 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var2
) /* mainmodule on <var2:AbstractCompiler>*/;
8887 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>*/;
8889 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>*/;
8895 /* method abstract_compiler#AbstractCompilerVisitor#monomorphic_send for (self: Object, MMethod, MType, Array[RuntimeVariable]): nullable RuntimeVariable */
8896 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__monomorphic_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
8897 val
* var
/* : nullable RuntimeVariable */;
8898 val
* var1
/* : nullable RuntimeVariable */;
8899 var1
= abstract_compiler__AbstractCompilerVisitor__monomorphic_send(self
, p0
, p1
, p2
);
8904 /* method abstract_compiler#AbstractCompilerVisitor#monomorphic_super_send for (self: AbstractCompilerVisitor, MMethodDef, MType, Array[RuntimeVariable]): nullable RuntimeVariable */
8905 val
* abstract_compiler__AbstractCompilerVisitor__monomorphic_super_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
8906 val
* var
/* : nullable RuntimeVariable */;
8907 val
* var_m
/* var m: MMethodDef */;
8908 val
* var_t
/* var t: MType */;
8909 val
* var_args
/* var args: Array[RuntimeVariable] */;
8910 short int var1
/* : Bool */;
8913 val
* var2
/* : AbstractCompiler */;
8914 val
* var3
/* : MModule */;
8915 val
* var4
/* : MPropDef */;
8916 val
* var5
/* : nullable RuntimeVariable */;
8920 /* <var_t:MType> isa MClassType */
8921 cltype
= type_model__MClassType
.color
;
8922 idtype
= type_model__MClassType
.id
;
8923 if(cltype
>= var_t
->type
->table_size
) {
8926 var1
= var_t
->type
->type_table
[cltype
] == idtype
;
8929 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8930 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 790);
8933 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
8934 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var2
) /* mainmodule on <var2:AbstractCompiler>*/;
8935 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>*/;
8937 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>*/;
8943 /* method abstract_compiler#AbstractCompilerVisitor#monomorphic_super_send for (self: Object, MMethodDef, MType, Array[RuntimeVariable]): nullable RuntimeVariable */
8944 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__monomorphic_super_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
8945 val
* var
/* : nullable RuntimeVariable */;
8946 val
* var1
/* : nullable RuntimeVariable */;
8947 var1
= abstract_compiler__AbstractCompilerVisitor__monomorphic_super_send(self
, p0
, p1
, p2
);
8952 /* method abstract_compiler#AbstractCompilerVisitor#isset_attribute for (self: AbstractCompilerVisitor, MAttribute, RuntimeVariable): RuntimeVariable */
8953 val
* abstract_compiler__AbstractCompilerVisitor__isset_attribute(val
* self
, val
* p0
, val
* p1
) {
8954 val
* var
/* : RuntimeVariable */;
8955 const char* var_class_name
;
8956 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
8957 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "isset_attribute", var_class_name
);
8958 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 797);
8963 /* method abstract_compiler#AbstractCompilerVisitor#isset_attribute for (self: Object, MAttribute, RuntimeVariable): RuntimeVariable */
8964 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__isset_attribute(val
* self
, val
* p0
, val
* p1
) {
8965 val
* var
/* : RuntimeVariable */;
8966 val
* var1
/* : RuntimeVariable */;
8967 var1
= abstract_compiler__AbstractCompilerVisitor__isset_attribute(self
, p0
, p1
);
8972 /* method abstract_compiler#AbstractCompilerVisitor#read_attribute for (self: AbstractCompilerVisitor, MAttribute, RuntimeVariable): RuntimeVariable */
8973 val
* abstract_compiler__AbstractCompilerVisitor__read_attribute(val
* self
, val
* p0
, val
* p1
) {
8974 val
* var
/* : RuntimeVariable */;
8975 const char* var_class_name
;
8976 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
8977 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "read_attribute", var_class_name
);
8978 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 800);
8983 /* method abstract_compiler#AbstractCompilerVisitor#read_attribute for (self: Object, MAttribute, RuntimeVariable): RuntimeVariable */
8984 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__read_attribute(val
* self
, val
* p0
, val
* p1
) {
8985 val
* var
/* : RuntimeVariable */;
8986 val
* var1
/* : RuntimeVariable */;
8987 var1
= abstract_compiler__AbstractCompilerVisitor__read_attribute(self
, p0
, p1
);
8992 /* method abstract_compiler#AbstractCompilerVisitor#write_attribute for (self: AbstractCompilerVisitor, MAttribute, RuntimeVariable, RuntimeVariable) */
8993 void abstract_compiler__AbstractCompilerVisitor__write_attribute(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
8994 const char* var_class_name
;
8995 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
8996 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "write_attribute", var_class_name
);
8997 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 803);
9001 /* method abstract_compiler#AbstractCompilerVisitor#write_attribute for (self: Object, MAttribute, RuntimeVariable, RuntimeVariable) */
9002 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__write_attribute(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
9003 abstract_compiler__AbstractCompilerVisitor__write_attribute(self
, p0
, p1
, p2
);
9006 /* method abstract_compiler#AbstractCompilerVisitor#check_recv_notnull for (self: AbstractCompilerVisitor, RuntimeVariable) */
9007 void abstract_compiler__AbstractCompilerVisitor__check_recv_notnull(val
* self
, val
* p0
) {
9008 val
* var_recv
/* var recv: RuntimeVariable */;
9009 val
* var
/* : AbstractCompiler */;
9010 val
* var1
/* : ModelBuilder */;
9011 val
* var2
/* : ToolContext */;
9012 val
* var3
/* : OptionBool */;
9013 val
* var4
/* : nullable Object */;
9014 short int var5
/* : Bool */;
9015 short int var6
/* : Bool */;
9016 val
* var7
/* : MType */;
9017 short int var8
/* : Bool */;
9020 short int var_
/* var : Bool */;
9021 val
* var9
/* : MType */;
9022 short int var10
/* : Bool */;
9025 short int var_maybenull
/* var maybenull: Bool */;
9026 static val
* varonce
;
9027 val
* var13
/* : String */;
9028 char* var14
/* : NativeString */;
9029 long var15
/* : Int */;
9030 val
* var16
/* : String */;
9031 static val
* varonce17
;
9032 val
* var18
/* : String */;
9033 char* var19
/* : NativeString */;
9034 long var20
/* : Int */;
9035 val
* var21
/* : String */;
9036 val
* var22
/* : Array[Object] */;
9037 long var23
/* : Int */;
9038 val
* var24
/* : NativeArray[Object] */;
9039 val
* var25
/* : String */;
9040 static val
* varonce26
;
9041 val
* var27
/* : String */;
9042 char* var28
/* : NativeString */;
9043 long var29
/* : Int */;
9044 val
* var30
/* : String */;
9045 static val
* varonce31
;
9046 val
* var32
/* : String */;
9047 char* var33
/* : NativeString */;
9048 long var34
/* : Int */;
9049 val
* var35
/* : String */;
9051 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
9052 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var
) /* modelbuilder on <var:AbstractCompiler>*/;
9053 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var1
) /* toolcontext on <var1:ModelBuilder>*/;
9054 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_other
]))(var2
) /* opt_no_check_other on <var2:ToolContext>*/;
9055 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_opts__Option__value
]))(var3
) /* value on <var3:OptionBool>*/;
9056 var5
= ((struct instance_kernel__Bool
*)var4
)->value
; /* autounbox from nullable Object to Bool */;
9061 var7
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_recv
) /* mcasttype on <var_recv:RuntimeVariable>*/;
9062 /* <var7:MType> isa MNullableType */
9063 cltype
= type_model__MNullableType
.color
;
9064 idtype
= type_model__MNullableType
.id
;
9065 if(cltype
>= var7
->type
->table_size
) {
9068 var8
= var7
->type
->type_table
[cltype
] == idtype
;
9074 var9
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_recv
) /* mcasttype on <var_recv:RuntimeVariable>*/;
9075 /* <var9:MType> isa MNullType */
9076 cltype11
= type_model__MNullType
.color
;
9077 idtype12
= type_model__MNullType
.id
;
9078 if(cltype11
>= var9
->type
->table_size
) {
9081 var10
= var9
->type
->type_table
[cltype11
] == idtype12
;
9085 var_maybenull
= var6
;
9092 var16
= string__NativeString__to_s_with_length(var14
, var15
);
9099 var19
= " == NULL) {";
9101 var21
= string__NativeString__to_s_with_length(var19
, var20
);
9105 var22
= NEW_array__Array(&type_array__Arraykernel__Object
);
9106 { /* var22 = array_instance Array[Object] */
9108 var24
= NEW_array__NativeArray(var23
, &type_array__NativeArraykernel__Object
);
9109 ((struct instance_array__NativeArray
*)var24
)->values
[0] = (val
*) var13
;
9110 ((struct instance_array__NativeArray
*)var24
)->values
[1] = (val
*) var_recv
;
9111 ((struct instance_array__NativeArray
*)var24
)->values
[2] = (val
*) var18
;
9112 ((void (*)(val
*, val
*, long))(var22
->class->vft
[COLOR_array__Array__with_native
]))(var22
, var24
, var23
) /* with_native on <var22:Array[Object]>*/;
9114 var25
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_string__Object__to_s
]))(var22
) /* to_s on <var22:Array[Object]>*/;
9115 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var25
) /* add on <self:AbstractCompilerVisitor>*/;
9119 var28
= "Reciever is null";
9121 var30
= string__NativeString__to_s_with_length(var28
, var29
);
9125 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort
]))(self
, var27
) /* add_abort on <self:AbstractCompilerVisitor>*/;
9131 var35
= string__NativeString__to_s_with_length(var33
, var34
);
9135 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var32
) /* add on <self:AbstractCompilerVisitor>*/;
9140 /* method abstract_compiler#AbstractCompilerVisitor#check_recv_notnull for (self: Object, RuntimeVariable) */
9141 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__check_recv_notnull(val
* self
, val
* p0
) {
9142 abstract_compiler__AbstractCompilerVisitor__check_recv_notnull(self
, p0
);
9145 /* method abstract_compiler#AbstractCompilerVisitor#names for (self: AbstractCompilerVisitor): HashSet[String] */
9146 val
* abstract_compiler__AbstractCompilerVisitor__names(val
* self
) {
9147 val
* var
/* : HashSet[String] */;
9148 val
* var1
/* : HashSet[String] */;
9149 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dnames
].val
; /* @names on <self:AbstractCompilerVisitor> */
9151 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @names");
9152 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 823);
9159 /* method abstract_compiler#AbstractCompilerVisitor#names for (self: Object): HashSet[String] */
9160 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__names(val
* self
) {
9161 val
* var
/* : HashSet[String] */;
9162 val
* var1
/* : HashSet[String] */;
9163 var1
= abstract_compiler__AbstractCompilerVisitor__names(self
);
9168 /* method abstract_compiler#AbstractCompilerVisitor#names= for (self: AbstractCompilerVisitor, HashSet[String]) */
9169 void abstract_compiler__AbstractCompilerVisitor__names_61d(val
* self
, val
* p0
) {
9170 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dnames
].val
= p0
; /* @names on <self:AbstractCompilerVisitor> */
9173 /* method abstract_compiler#AbstractCompilerVisitor#names= for (self: Object, HashSet[String]) */
9174 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__names_61d(val
* self
, val
* p0
) {
9175 abstract_compiler__AbstractCompilerVisitor__names_61d(self
, p0
);
9178 /* method abstract_compiler#AbstractCompilerVisitor#last for (self: AbstractCompilerVisitor): Int */
9179 long abstract_compiler__AbstractCompilerVisitor__last(val
* self
) {
9180 long var
/* : Int */;
9181 long var1
/* : Int */;
9182 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dlast
].l
; /* @last on <self:AbstractCompilerVisitor> */
9187 /* method abstract_compiler#AbstractCompilerVisitor#last for (self: Object): Int */
9188 long VIRTUAL_abstract_compiler__AbstractCompilerVisitor__last(val
* self
) {
9189 long var
/* : Int */;
9190 long var1
/* : Int */;
9191 var1
= abstract_compiler__AbstractCompilerVisitor__last(self
);
9196 /* method abstract_compiler#AbstractCompilerVisitor#last= for (self: AbstractCompilerVisitor, Int) */
9197 void abstract_compiler__AbstractCompilerVisitor__last_61d(val
* self
, long p0
) {
9198 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dlast
].l
= p0
; /* @last on <self:AbstractCompilerVisitor> */
9201 /* method abstract_compiler#AbstractCompilerVisitor#last= for (self: Object, Int) */
9202 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__last_61d(val
* self
, long p0
) {
9203 abstract_compiler__AbstractCompilerVisitor__last_61d(self
, p0
);
9206 /* method abstract_compiler#AbstractCompilerVisitor#get_name for (self: AbstractCompilerVisitor, String): String */
9207 val
* abstract_compiler__AbstractCompilerVisitor__get_name(val
* self
, val
* p0
) {
9208 val
* var
/* : String */;
9209 val
* var_s
/* var s: String */;
9210 val
* var1
/* : HashSet[String] */;
9211 short int var2
/* : Bool */;
9212 short int var3
/* : Bool */;
9213 val
* var4
/* : HashSet[String] */;
9214 long var5
/* : Int */;
9215 long var6
/* : Int */;
9216 long var7
/* : Int */;
9217 long var9
/* : Int */;
9218 long var_i
/* var i: Int */;
9219 val
* var10
/* : String */;
9220 val
* var11
/* : String */;
9221 val
* var_s2
/* var s2: String */;
9222 val
* var12
/* : HashSet[String] */;
9223 short int var13
/* : Bool */;
9224 short int var14
/* : Bool */;
9225 val
* var15
/* : HashSet[String] */;
9226 long var16
/* : Int */;
9227 long var17
/* : Int */;
9228 long var19
/* : Int */;
9230 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__names
]))(self
) /* names on <self:AbstractCompilerVisitor>*/;
9231 var2
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var1
, var_s
) /* has on <var1:HashSet[String]>*/;
9234 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__names
]))(self
) /* names on <self:AbstractCompilerVisitor>*/;
9235 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var4
, var_s
) /* add on <var4:HashSet[String]>*/;
9240 var5
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__last
]))(self
) /* last on <self:AbstractCompilerVisitor>*/;
9242 { /* Inline kernel#Int#+ (var5,var6) */
9250 var10
= string__Int__to_s(var_i
);
9251 var11
= ((val
* (*)(val
*, val
*))(var_s
->class->vft
[COLOR_string__String___43d
]))(var_s
, var10
) /* + on <var_s:String>*/;
9253 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__names
]))(self
) /* names on <self:AbstractCompilerVisitor>*/;
9254 var13
= ((short int (*)(val
*, val
*))(var12
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var12
, var_s2
) /* has on <var12:HashSet[String]>*/;
9257 ((void (*)(val
*, long))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__last_61d
]))(self
, var_i
) /* last= on <self:AbstractCompilerVisitor>*/;
9258 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__names
]))(self
) /* names on <self:AbstractCompilerVisitor>*/;
9259 ((void (*)(val
*, val
*))(var15
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var15
, var_s2
) /* add on <var15:HashSet[String]>*/;
9265 { /* Inline kernel#Int#+ (var_i,var16) */
9266 var19
= var_i
+ var16
;
9269 RET_LABEL18
:(void)0;
9272 CONTINUE_label
: (void)0;
9274 BREAK_label
: (void)0;
9278 /* method abstract_compiler#AbstractCompilerVisitor#get_name for (self: Object, String): String */
9279 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__get_name(val
* self
, val
* p0
) {
9280 val
* var
/* : String */;
9281 val
* var1
/* : String */;
9282 var1
= abstract_compiler__AbstractCompilerVisitor__get_name(self
, p0
);
9287 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_name for (self: AbstractCompilerVisitor, nullable EscapeMark): String */
9288 val
* abstract_compiler__AbstractCompilerVisitor__escapemark_name(val
* self
, val
* p0
) {
9289 val
* var
/* : String */;
9290 val
* var_e
/* var e: nullable EscapeMark */;
9291 val
* var1
/* : null */;
9292 short int var2
/* : Bool */;
9293 val
* var3
/* : HashMap[EscapeMark, String] */;
9294 short int var4
/* : Bool */;
9295 val
* var5
/* : HashMap[EscapeMark, String] */;
9296 val
* var6
/* : nullable Object */;
9297 val
* var7
/* : nullable String */;
9298 val
* var_name
/* var name: nullable String */;
9299 val
* var8
/* : null */;
9300 short int var9
/* : Bool */;
9301 static val
* varonce
;
9302 val
* var10
/* : String */;
9303 char* var11
/* : NativeString */;
9304 long var12
/* : Int */;
9305 val
* var13
/* : String */;
9306 val
* var14
/* : String */;
9307 val
* var15
/* : HashMap[EscapeMark, String] */;
9310 if (var_e
== NULL
) {
9311 var2
= 0; /* is null */
9313 var2
= 1; /* arg is null and recv is not */
9316 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9317 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 848);
9320 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_names
]))(self
) /* escapemark_names on <self:AbstractCompilerVisitor>*/;
9321 var4
= ((short int (*)(val
*, val
*))(var3
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var3
, var_e
) /* has_key on <var3:HashMap[EscapeMark, String]>*/;
9323 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_names
]))(self
) /* escapemark_names on <self:AbstractCompilerVisitor>*/;
9324 var6
= ((val
* (*)(val
*, val
*))(var5
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var5
, var_e
) /* [] on <var5:HashMap[EscapeMark, String]>*/;
9329 var7
= ((val
* (*)(val
*))(var_e
->class->vft
[COLOR_scope__EscapeMark__name
]))(var_e
) /* name on <var_e:nullable EscapeMark(EscapeMark)>*/;
9332 if (var_name
== NULL
) {
9333 var9
= 1; /* is null */
9335 var9
= 0; /* arg is null but recv is not */
9343 var13
= string__NativeString__to_s_with_length(var11
, var12
);
9350 var14
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var_name
) /* get_name on <self:AbstractCompilerVisitor>*/;
9352 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_names
]))(self
) /* escapemark_names on <self:AbstractCompilerVisitor>*/;
9353 ((void (*)(val
*, val
*, val
*))(var15
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var15
, var_e
, var_name
) /* []= on <var15:HashMap[EscapeMark, String]>*/;
9359 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_name for (self: Object, nullable EscapeMark): String */
9360 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__escapemark_name(val
* self
, val
* p0
) {
9361 val
* var
/* : String */;
9362 val
* var1
/* : String */;
9363 var1
= abstract_compiler__AbstractCompilerVisitor__escapemark_name(self
, p0
);
9368 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_names for (self: AbstractCompilerVisitor): HashMap[EscapeMark, String] */
9369 val
* abstract_compiler__AbstractCompilerVisitor__escapemark_names(val
* self
) {
9370 val
* var
/* : HashMap[EscapeMark, String] */;
9371 val
* var1
/* : HashMap[EscapeMark, String] */;
9372 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64descapemark_names
].val
; /* @escapemark_names on <self:AbstractCompilerVisitor> */
9374 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @escapemark_names");
9375 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 857);
9382 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_names for (self: Object): HashMap[EscapeMark, String] */
9383 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__escapemark_names(val
* self
) {
9384 val
* var
/* : HashMap[EscapeMark, String] */;
9385 val
* var1
/* : HashMap[EscapeMark, String] */;
9386 var1
= abstract_compiler__AbstractCompilerVisitor__escapemark_names(self
);
9391 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_names= for (self: AbstractCompilerVisitor, HashMap[EscapeMark, String]) */
9392 void abstract_compiler__AbstractCompilerVisitor__escapemark_names_61d(val
* self
, val
* p0
) {
9393 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64descapemark_names
].val
= p0
; /* @escapemark_names on <self:AbstractCompilerVisitor> */
9396 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_names= for (self: Object, HashMap[EscapeMark, String]) */
9397 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__escapemark_names_61d(val
* self
, val
* p0
) {
9398 abstract_compiler__AbstractCompilerVisitor__escapemark_names_61d(self
, p0
);
9401 /* method abstract_compiler#AbstractCompilerVisitor#class_name_string for (self: AbstractCompilerVisitor, RuntimeVariable): String */
9402 val
* abstract_compiler__AbstractCompilerVisitor__class_name_string(val
* self
, val
* p0
) {
9403 val
* var
/* : String */;
9404 const char* var_class_name
;
9405 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
9406 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "class_name_string", var_class_name
);
9407 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 859);
9412 /* method abstract_compiler#AbstractCompilerVisitor#class_name_string for (self: Object, RuntimeVariable): String */
9413 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__class_name_string(val
* self
, val
* p0
) {
9414 val
* var
/* : String */;
9415 val
* var1
/* : String */;
9416 var1
= abstract_compiler__AbstractCompilerVisitor__class_name_string(self
, p0
);
9421 /* method abstract_compiler#AbstractCompilerVisitor#variables for (self: AbstractCompilerVisitor): HashMap[Variable, RuntimeVariable] */
9422 val
* abstract_compiler__AbstractCompilerVisitor__variables(val
* self
) {
9423 val
* var
/* : HashMap[Variable, RuntimeVariable] */;
9424 val
* var1
/* : HashMap[Variable, RuntimeVariable] */;
9425 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dvariables
].val
; /* @variables on <self:AbstractCompilerVisitor> */
9427 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @variables");
9428 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 865);
9435 /* method abstract_compiler#AbstractCompilerVisitor#variables for (self: Object): HashMap[Variable, RuntimeVariable] */
9436 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__variables(val
* self
) {
9437 val
* var
/* : HashMap[Variable, RuntimeVariable] */;
9438 val
* var1
/* : HashMap[Variable, RuntimeVariable] */;
9439 var1
= abstract_compiler__AbstractCompilerVisitor__variables(self
);
9444 /* method abstract_compiler#AbstractCompilerVisitor#variables= for (self: AbstractCompilerVisitor, HashMap[Variable, RuntimeVariable]) */
9445 void abstract_compiler__AbstractCompilerVisitor__variables_61d(val
* self
, val
* p0
) {
9446 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dvariables
].val
= p0
; /* @variables on <self:AbstractCompilerVisitor> */
9449 /* method abstract_compiler#AbstractCompilerVisitor#variables= for (self: Object, HashMap[Variable, RuntimeVariable]) */
9450 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__variables_61d(val
* self
, val
* p0
) {
9451 abstract_compiler__AbstractCompilerVisitor__variables_61d(self
, p0
);
9454 /* method abstract_compiler#AbstractCompilerVisitor#variable for (self: AbstractCompilerVisitor, Variable): RuntimeVariable */
9455 val
* abstract_compiler__AbstractCompilerVisitor__variable(val
* self
, val
* p0
) {
9456 val
* var
/* : RuntimeVariable */;
9457 val
* var_variable
/* var variable: Variable */;
9458 val
* var1
/* : HashMap[Variable, RuntimeVariable] */;
9459 short int var2
/* : Bool */;
9460 val
* var3
/* : HashMap[Variable, RuntimeVariable] */;
9461 val
* var4
/* : nullable Object */;
9462 static val
* varonce
;
9463 val
* var5
/* : String */;
9464 char* var6
/* : NativeString */;
9465 long var7
/* : Int */;
9466 val
* var8
/* : String */;
9467 val
* var9
/* : String */;
9468 val
* var10
/* : Array[Object] */;
9469 long var11
/* : Int */;
9470 val
* var12
/* : NativeArray[Object] */;
9471 val
* var13
/* : String */;
9472 val
* var14
/* : String */;
9473 val
* var_name
/* var name: String */;
9474 val
* var15
/* : nullable MType */;
9475 val
* var_mtype
/* var mtype: MType */;
9476 val
* var16
/* : MType */;
9477 val
* var17
/* : RuntimeVariable */;
9478 val
* var_res
/* var res: RuntimeVariable */;
9479 val
* var18
/* : String */;
9480 static val
* varonce19
;
9481 val
* var20
/* : String */;
9482 char* var21
/* : NativeString */;
9483 long var22
/* : Int */;
9484 val
* var23
/* : String */;
9485 static val
* varonce24
;
9486 val
* var25
/* : String */;
9487 char* var26
/* : NativeString */;
9488 long var27
/* : Int */;
9489 val
* var28
/* : String */;
9490 static val
* varonce29
;
9491 val
* var30
/* : String */;
9492 char* var31
/* : NativeString */;
9493 long var32
/* : Int */;
9494 val
* var33
/* : String */;
9495 static val
* varonce34
;
9496 val
* var35
/* : String */;
9497 char* var36
/* : NativeString */;
9498 long var37
/* : Int */;
9499 val
* var38
/* : String */;
9500 val
* var39
/* : Array[Object] */;
9501 long var40
/* : Int */;
9502 val
* var41
/* : NativeArray[Object] */;
9503 val
* var42
/* : String */;
9504 val
* var43
/* : HashMap[Variable, RuntimeVariable] */;
9506 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variables
]))(self
) /* variables on <self:AbstractCompilerVisitor>*/;
9507 var2
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var1
, var_variable
) /* has_key on <var1:HashMap[Variable, RuntimeVariable]>*/;
9509 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variables
]))(self
) /* variables on <self:AbstractCompilerVisitor>*/;
9510 var4
= ((val
* (*)(val
*, val
*))(var3
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var3
, var_variable
) /* [] on <var3:HashMap[Variable, RuntimeVariable]>*/;
9519 var8
= string__NativeString__to_s_with_length(var6
, var7
);
9523 var9
= ((val
* (*)(val
*))(var_variable
->class->vft
[COLOR_scope__Variable__name
]))(var_variable
) /* name on <var_variable:Variable>*/;
9524 var10
= NEW_array__Array(&type_array__Arraykernel__Object
);
9525 { /* var10 = array_instance Array[Object] */
9527 var12
= NEW_array__NativeArray(var11
, &type_array__NativeArraykernel__Object
);
9528 ((struct instance_array__NativeArray
*)var12
)->values
[0] = (val
*) var5
;
9529 ((struct instance_array__NativeArray
*)var12
)->values
[1] = (val
*) var9
;
9530 ((void (*)(val
*, val
*, long))(var10
->class->vft
[COLOR_array__Array__with_native
]))(var10
, var12
, var11
) /* with_native on <var10:Array[Object]>*/;
9532 var13
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_string__Object__to_s
]))(var10
) /* to_s on <var10:Array[Object]>*/;
9533 var14
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var13
) /* get_name on <self:AbstractCompilerVisitor>*/;
9535 var15
= ((val
* (*)(val
*))(var_variable
->class->vft
[COLOR_typing__Variable__declared_type
]))(var_variable
) /* declared_type on <var_variable:Variable>*/;
9536 if (var15
== NULL
) {
9537 fprintf(stderr
, "Runtime error: %s", "Cast failed");
9538 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 874);
9542 var16
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__anchor
]))(self
, var_mtype
) /* anchor on <self:AbstractCompilerVisitor>*/;
9544 var17
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
9545 ((void (*)(val
*, val
*, val
*, val
*))(var17
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var17
, var_name
, var_mtype
, var_mtype
) /* init on <var17:RuntimeVariable>*/;
9547 var18
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
9553 var23
= string__NativeString__to_s_with_length(var21
, var22
);
9562 var28
= string__NativeString__to_s_with_length(var26
, var27
);
9571 var33
= string__NativeString__to_s_with_length(var31
, var32
);
9580 var38
= string__NativeString__to_s_with_length(var36
, var37
);
9584 var39
= NEW_array__Array(&type_array__Arraykernel__Object
);
9585 { /* var39 = array_instance Array[Object] */
9587 var41
= NEW_array__NativeArray(var40
, &type_array__NativeArraykernel__Object
);
9588 ((struct instance_array__NativeArray
*)var41
)->values
[0] = (val
*) var18
;
9589 ((struct instance_array__NativeArray
*)var41
)->values
[1] = (val
*) var20
;
9590 ((struct instance_array__NativeArray
*)var41
)->values
[2] = (val
*) var_name
;
9591 ((struct instance_array__NativeArray
*)var41
)->values
[3] = (val
*) var25
;
9592 ((struct instance_array__NativeArray
*)var41
)->values
[4] = (val
*) var_variable
;
9593 ((struct instance_array__NativeArray
*)var41
)->values
[5] = (val
*) var30
;
9594 ((struct instance_array__NativeArray
*)var41
)->values
[6] = (val
*) var_mtype
;
9595 ((struct instance_array__NativeArray
*)var41
)->values
[7] = (val
*) var35
;
9596 ((void (*)(val
*, val
*, long))(var39
->class->vft
[COLOR_array__Array__with_native
]))(var39
, var41
, var40
) /* with_native on <var39:Array[Object]>*/;
9598 var42
= ((val
* (*)(val
*))(var39
->class->vft
[COLOR_string__Object__to_s
]))(var39
) /* to_s on <var39:Array[Object]>*/;
9599 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var42
) /* add_decl on <self:AbstractCompilerVisitor>*/;
9600 var43
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variables
]))(self
) /* variables on <self:AbstractCompilerVisitor>*/;
9601 ((void (*)(val
*, val
*, val
*))(var43
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var43
, var_variable
, var_res
) /* []= on <var43:HashMap[Variable, RuntimeVariable]>*/;
9608 /* method abstract_compiler#AbstractCompilerVisitor#variable for (self: Object, Variable): RuntimeVariable */
9609 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__variable(val
* self
, val
* p0
) {
9610 val
* var
/* : RuntimeVariable */;
9611 val
* var1
/* : RuntimeVariable */;
9612 var1
= abstract_compiler__AbstractCompilerVisitor__variable(self
, p0
);
9617 /* method abstract_compiler#AbstractCompilerVisitor#new_var for (self: AbstractCompilerVisitor, MType): RuntimeVariable */
9618 val
* abstract_compiler__AbstractCompilerVisitor__new_var(val
* self
, val
* p0
) {
9619 val
* var
/* : RuntimeVariable */;
9620 val
* var_mtype
/* var mtype: MType */;
9621 val
* var1
/* : MType */;
9622 static val
* varonce
;
9623 val
* var2
/* : String */;
9624 char* var3
/* : NativeString */;
9625 long var4
/* : Int */;
9626 val
* var5
/* : String */;
9627 val
* var6
/* : String */;
9628 val
* var_name
/* var name: String */;
9629 val
* var7
/* : RuntimeVariable */;
9630 val
* var_res
/* var res: RuntimeVariable */;
9631 val
* var8
/* : String */;
9632 static val
* varonce9
;
9633 val
* var10
/* : String */;
9634 char* var11
/* : NativeString */;
9635 long var12
/* : Int */;
9636 val
* var13
/* : String */;
9637 static val
* varonce14
;
9638 val
* var15
/* : String */;
9639 char* var16
/* : NativeString */;
9640 long var17
/* : Int */;
9641 val
* var18
/* : String */;
9642 static val
* varonce19
;
9643 val
* var20
/* : String */;
9644 char* var21
/* : NativeString */;
9645 long var22
/* : Int */;
9646 val
* var23
/* : String */;
9647 val
* var24
/* : Array[Object] */;
9648 long var25
/* : Int */;
9649 val
* var26
/* : NativeArray[Object] */;
9650 val
* var27
/* : String */;
9652 var1
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__anchor
]))(self
, var_mtype
) /* anchor on <self:AbstractCompilerVisitor>*/;
9659 var5
= string__NativeString__to_s_with_length(var3
, var4
);
9663 var6
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var2
) /* get_name on <self:AbstractCompilerVisitor>*/;
9665 var7
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
9666 ((void (*)(val
*, val
*, val
*, val
*))(var7
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var7
, var_name
, var_mtype
, var_mtype
) /* init on <var7:RuntimeVariable>*/;
9668 var8
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
9674 var13
= string__NativeString__to_s_with_length(var11
, var12
);
9683 var18
= string__NativeString__to_s_with_length(var16
, var17
);
9692 var23
= string__NativeString__to_s_with_length(var21
, var22
);
9696 var24
= NEW_array__Array(&type_array__Arraykernel__Object
);
9697 { /* var24 = array_instance Array[Object] */
9699 var26
= NEW_array__NativeArray(var25
, &type_array__NativeArraykernel__Object
);
9700 ((struct instance_array__NativeArray
*)var26
)->values
[0] = (val
*) var8
;
9701 ((struct instance_array__NativeArray
*)var26
)->values
[1] = (val
*) var10
;
9702 ((struct instance_array__NativeArray
*)var26
)->values
[2] = (val
*) var_name
;
9703 ((struct instance_array__NativeArray
*)var26
)->values
[3] = (val
*) var15
;
9704 ((struct instance_array__NativeArray
*)var26
)->values
[4] = (val
*) var_mtype
;
9705 ((struct instance_array__NativeArray
*)var26
)->values
[5] = (val
*) var20
;
9706 ((void (*)(val
*, val
*, long))(var24
->class->vft
[COLOR_array__Array__with_native
]))(var24
, var26
, var25
) /* with_native on <var24:Array[Object]>*/;
9708 var27
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_string__Object__to_s
]))(var24
) /* to_s on <var24:Array[Object]>*/;
9709 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var27
) /* add_decl on <self:AbstractCompilerVisitor>*/;
9715 /* method abstract_compiler#AbstractCompilerVisitor#new_var for (self: Object, MType): RuntimeVariable */
9716 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__new_var(val
* self
, val
* p0
) {
9717 val
* var
/* : RuntimeVariable */;
9718 val
* var1
/* : RuntimeVariable */;
9719 var1
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, p0
);
9724 /* method abstract_compiler#AbstractCompilerVisitor#new_named_var for (self: AbstractCompilerVisitor, MType, String): RuntimeVariable */
9725 val
* abstract_compiler__AbstractCompilerVisitor__new_named_var(val
* self
, val
* p0
, val
* p1
) {
9726 val
* var
/* : RuntimeVariable */;
9727 val
* var_mtype
/* var mtype: MType */;
9728 val
* var_name
/* var name: String */;
9729 val
* var1
/* : MType */;
9730 val
* var2
/* : RuntimeVariable */;
9731 val
* var_res
/* var res: RuntimeVariable */;
9732 val
* var3
/* : String */;
9733 static val
* varonce
;
9734 val
* var4
/* : String */;
9735 char* var5
/* : NativeString */;
9736 long var6
/* : Int */;
9737 val
* var7
/* : String */;
9738 static val
* varonce8
;
9739 val
* var9
/* : String */;
9740 char* var10
/* : NativeString */;
9741 long var11
/* : Int */;
9742 val
* var12
/* : String */;
9743 static val
* varonce13
;
9744 val
* var14
/* : String */;
9745 char* var15
/* : NativeString */;
9746 long var16
/* : Int */;
9747 val
* var17
/* : String */;
9748 val
* var18
/* : Array[Object] */;
9749 long var19
/* : Int */;
9750 val
* var20
/* : NativeArray[Object] */;
9751 val
* var21
/* : String */;
9754 var1
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__anchor
]))(self
, var_mtype
) /* anchor on <self:AbstractCompilerVisitor>*/;
9756 var2
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
9757 ((void (*)(val
*, val
*, val
*, val
*))(var2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var2
, var_name
, var_mtype
, var_mtype
) /* init on <var2:RuntimeVariable>*/;
9759 var3
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
9765 var7
= string__NativeString__to_s_with_length(var5
, var6
);
9774 var12
= string__NativeString__to_s_with_length(var10
, var11
);
9783 var17
= string__NativeString__to_s_with_length(var15
, var16
);
9787 var18
= NEW_array__Array(&type_array__Arraykernel__Object
);
9788 { /* var18 = array_instance Array[Object] */
9790 var20
= NEW_array__NativeArray(var19
, &type_array__NativeArraykernel__Object
);
9791 ((struct instance_array__NativeArray
*)var20
)->values
[0] = (val
*) var3
;
9792 ((struct instance_array__NativeArray
*)var20
)->values
[1] = (val
*) var4
;
9793 ((struct instance_array__NativeArray
*)var20
)->values
[2] = (val
*) var_name
;
9794 ((struct instance_array__NativeArray
*)var20
)->values
[3] = (val
*) var9
;
9795 ((struct instance_array__NativeArray
*)var20
)->values
[4] = (val
*) var_mtype
;
9796 ((struct instance_array__NativeArray
*)var20
)->values
[5] = (val
*) var14
;
9797 ((void (*)(val
*, val
*, long))(var18
->class->vft
[COLOR_array__Array__with_native
]))(var18
, var20
, var19
) /* with_native on <var18:Array[Object]>*/;
9799 var21
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_string__Object__to_s
]))(var18
) /* to_s on <var18:Array[Object]>*/;
9800 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var21
) /* add_decl on <self:AbstractCompilerVisitor>*/;
9806 /* method abstract_compiler#AbstractCompilerVisitor#new_named_var for (self: Object, MType, String): RuntimeVariable */
9807 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__new_named_var(val
* self
, val
* p0
, val
* p1
) {
9808 val
* var
/* : RuntimeVariable */;
9809 val
* var1
/* : RuntimeVariable */;
9810 var1
= abstract_compiler__AbstractCompilerVisitor__new_named_var(self
, p0
, p1
);
9815 /* method abstract_compiler#AbstractCompilerVisitor#assign for (self: AbstractCompilerVisitor, RuntimeVariable, RuntimeVariable) */
9816 void abstract_compiler__AbstractCompilerVisitor__assign(val
* self
, val
* p0
, val
* p1
) {
9817 val
* var_left
/* var left: RuntimeVariable */;
9818 val
* var_right
/* var right: RuntimeVariable */;
9819 val
* var
/* : MType */;
9820 val
* var1
/* : RuntimeVariable */;
9821 static val
* varonce
;
9822 val
* var2
/* : String */;
9823 char* var3
/* : NativeString */;
9824 long var4
/* : Int */;
9825 val
* var5
/* : String */;
9826 static val
* varonce6
;
9827 val
* var7
/* : String */;
9828 char* var8
/* : NativeString */;
9829 long var9
/* : Int */;
9830 val
* var10
/* : String */;
9831 val
* var11
/* : Array[Object] */;
9832 long var12
/* : Int */;
9833 val
* var13
/* : NativeArray[Object] */;
9834 val
* var14
/* : String */;
9837 var
= ((val
* (*)(val
*))(var_left
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_left
) /* mtype on <var_left:RuntimeVariable>*/;
9838 var1
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var_right
, var
) /* autobox on <self:AbstractCompilerVisitor>*/;
9845 var5
= string__NativeString__to_s_with_length(var3
, var4
);
9854 var10
= string__NativeString__to_s_with_length(var8
, var9
);
9858 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
9859 { /* var11 = array_instance Array[Object] */
9861 var13
= NEW_array__NativeArray(var12
, &type_array__NativeArraykernel__Object
);
9862 ((struct instance_array__NativeArray
*)var13
)->values
[0] = (val
*) var_left
;
9863 ((struct instance_array__NativeArray
*)var13
)->values
[1] = (val
*) var2
;
9864 ((struct instance_array__NativeArray
*)var13
)->values
[2] = (val
*) var_right
;
9865 ((struct instance_array__NativeArray
*)var13
)->values
[3] = (val
*) var7
;
9866 ((void (*)(val
*, val
*, long))(var11
->class->vft
[COLOR_array__Array__with_native
]))(var11
, var13
, var12
) /* with_native on <var11:Array[Object]>*/;
9868 var14
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_string__Object__to_s
]))(var11
) /* to_s on <var11:Array[Object]>*/;
9869 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var14
) /* add on <self:AbstractCompilerVisitor>*/;
9872 /* method abstract_compiler#AbstractCompilerVisitor#assign for (self: Object, RuntimeVariable, RuntimeVariable) */
9873 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__assign(val
* self
, val
* p0
, val
* p1
) {
9874 abstract_compiler__AbstractCompilerVisitor__assign(self
, p0
, p1
);
9877 /* method abstract_compiler#AbstractCompilerVisitor#init_instance for (self: AbstractCompilerVisitor, MClassType): RuntimeVariable */
9878 val
* abstract_compiler__AbstractCompilerVisitor__init_instance(val
* self
, val
* p0
) {
9879 val
* var
/* : RuntimeVariable */;
9880 const char* var_class_name
;
9881 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
9882 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "init_instance", var_class_name
);
9883 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 912);
9888 /* method abstract_compiler#AbstractCompilerVisitor#init_instance for (self: Object, MClassType): RuntimeVariable */
9889 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__init_instance(val
* self
, val
* p0
) {
9890 val
* var
/* : RuntimeVariable */;
9891 val
* var1
/* : RuntimeVariable */;
9892 var1
= abstract_compiler__AbstractCompilerVisitor__init_instance(self
, p0
);
9897 /* method abstract_compiler#AbstractCompilerVisitor#int_instance for (self: AbstractCompilerVisitor, Int): RuntimeVariable */
9898 val
* abstract_compiler__AbstractCompilerVisitor__int_instance(val
* self
, long p0
) {
9899 val
* var
/* : RuntimeVariable */;
9900 long var_value
/* var value: Int */;
9901 static val
* varonce
;
9902 val
* var1
/* : String */;
9903 char* var2
/* : NativeString */;
9904 long var3
/* : Int */;
9905 val
* var4
/* : String */;
9906 val
* var5
/* : MClass */;
9907 val
* var6
/* : MClassType */;
9908 val
* var7
/* : RuntimeVariable */;
9909 val
* var_res
/* var res: RuntimeVariable */;
9910 static val
* varonce8
;
9911 val
* var9
/* : String */;
9912 char* var10
/* : NativeString */;
9913 long var11
/* : Int */;
9914 val
* var12
/* : String */;
9915 static val
* varonce13
;
9916 val
* var14
/* : String */;
9917 char* var15
/* : NativeString */;
9918 long var16
/* : Int */;
9919 val
* var17
/* : String */;
9920 val
* var18
/* : Array[Object] */;
9921 long var19
/* : Int */;
9922 val
* var20
/* : NativeArray[Object] */;
9923 val
* var21
/* : Object */;
9924 val
* var22
/* : String */;
9931 var4
= string__NativeString__to_s_with_length(var2
, var3
);
9935 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(self
, var1
) /* get_class on <self:AbstractCompilerVisitor>*/;
9936 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_model__MClass__mclass_type
]))(var5
) /* mclass_type on <var5:MClass>*/;
9937 var7
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var6
) /* new_var on <self:AbstractCompilerVisitor>*/;
9944 var12
= string__NativeString__to_s_with_length(var10
, var11
);
9953 var17
= string__NativeString__to_s_with_length(var15
, var16
);
9957 var18
= NEW_array__Array(&type_array__Arraykernel__Object
);
9958 { /* var18 = array_instance Array[Object] */
9960 var20
= NEW_array__NativeArray(var19
, &type_array__NativeArraykernel__Object
);
9961 ((struct instance_array__NativeArray
*)var20
)->values
[0] = (val
*) var_res
;
9962 ((struct instance_array__NativeArray
*)var20
)->values
[1] = (val
*) var9
;
9963 var21
= BOX_kernel__Int(var_value
); /* autobox from Int to Object */
9964 ((struct instance_array__NativeArray
*)var20
)->values
[2] = (val
*) var21
;
9965 ((struct instance_array__NativeArray
*)var20
)->values
[3] = (val
*) var14
;
9966 ((void (*)(val
*, val
*, long))(var18
->class->vft
[COLOR_array__Array__with_native
]))(var18
, var20
, var19
) /* with_native on <var18:Array[Object]>*/;
9968 var22
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_string__Object__to_s
]))(var18
) /* to_s on <var18:Array[Object]>*/;
9969 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var22
) /* add on <self:AbstractCompilerVisitor>*/;
9975 /* method abstract_compiler#AbstractCompilerVisitor#int_instance for (self: Object, Int): RuntimeVariable */
9976 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__int_instance(val
* self
, long p0
) {
9977 val
* var
/* : RuntimeVariable */;
9978 val
* var1
/* : RuntimeVariable */;
9979 var1
= abstract_compiler__AbstractCompilerVisitor__int_instance(self
, p0
);