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#init for (self: ToolContext) */
432 void abstract_compiler__ToolContext__init(val
* self
) {
433 val
* var
/* : OptionContext */;
434 val
* var1
/* : OptionString */;
435 val
* var2
/* : OptionBool */;
436 val
* var3
/* : OptionString */;
437 val
* var4
/* : OptionString */;
438 val
* var5
/* : OptionBool */;
439 val
* var6
/* : OptionBool */;
440 val
* var7
/* : Array[Option] */;
441 long var8
/* : Int */;
442 val
* var9
/* : NativeArray[Option] */;
443 val
* var10
/* : OptionContext */;
444 val
* var11
/* : OptionBool */;
445 val
* var12
/* : OptionBool */;
446 val
* var13
/* : OptionBool */;
447 val
* var14
/* : OptionBool */;
448 val
* var15
/* : OptionBool */;
449 val
* var16
/* : Array[Option] */;
450 long var17
/* : Int */;
451 val
* var18
/* : NativeArray[Option] */;
452 val
* var19
/* : OptionContext */;
453 val
* var20
/* : OptionBool */;
454 val
* var21
/* : Array[Option] */;
455 long var22
/* : Int */;
456 val
* var23
/* : NativeArray[Option] */;
457 ((void (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__init
]))(self
) /* init on <self:ToolContext>*/;
458 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_toolcontext__ToolContext__option_context
]))(self
) /* option_context on <self:ToolContext>*/;
459 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_output
]))(self
) /* opt_output on <self:ToolContext>*/;
460 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_cc
]))(self
) /* opt_no_cc on <self:ToolContext>*/;
461 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_make_flags
]))(self
) /* opt_make_flags on <self:ToolContext>*/;
462 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_compile_dir
]))(self
) /* opt_compile_dir on <self:ToolContext>*/;
463 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_hardening
]))(self
) /* opt_hardening on <self:ToolContext>*/;
464 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_shortcut_range
]))(self
) /* opt_no_shortcut_range on <self:ToolContext>*/;
465 var7
= NEW_array__Array(&type_array__Arrayopts__Option
);
466 { /* var7 = array_instance Array[Option] */
468 var9
= NEW_array__NativeArray(var8
, &type_array__NativeArrayopts__Option
);
469 ((struct instance_array__NativeArray
*)var9
)->values
[0] = (val
*) var1
;
470 ((struct instance_array__NativeArray
*)var9
)->values
[1] = (val
*) var2
;
471 ((struct instance_array__NativeArray
*)var9
)->values
[2] = (val
*) var3
;
472 ((struct instance_array__NativeArray
*)var9
)->values
[3] = (val
*) var4
;
473 ((struct instance_array__NativeArray
*)var9
)->values
[4] = (val
*) var5
;
474 ((struct instance_array__NativeArray
*)var9
)->values
[5] = (val
*) var6
;
475 ((void (*)(val
*, val
*, long))(var7
->class->vft
[COLOR_array__Array__with_native
]))(var7
, var9
, var8
) /* with_native on <var7:Array[Option]>*/;
476 CHECK_NEW_array__Array(var7
);
478 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_opts__OptionContext__add_option
]))(var
, var7
) /* add_option on <var:OptionContext>*/;
479 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_toolcontext__ToolContext__option_context
]))(self
) /* option_context on <self:ToolContext>*/;
480 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_covariance
]))(self
) /* opt_no_check_covariance on <self:ToolContext>*/;
481 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_initialization
]))(self
) /* opt_no_check_initialization on <self:ToolContext>*/;
482 var13
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_assert
]))(self
) /* opt_no_check_assert on <self:ToolContext>*/;
483 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_autocast
]))(self
) /* opt_no_check_autocast on <self:ToolContext>*/;
484 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_other
]))(self
) /* opt_no_check_other on <self:ToolContext>*/;
485 var16
= NEW_array__Array(&type_array__Arrayopts__Option
);
486 { /* var16 = array_instance Array[Option] */
488 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArrayopts__Option
);
489 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var11
;
490 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var12
;
491 ((struct instance_array__NativeArray
*)var18
)->values
[2] = (val
*) var13
;
492 ((struct instance_array__NativeArray
*)var18
)->values
[3] = (val
*) var14
;
493 ((struct instance_array__NativeArray
*)var18
)->values
[4] = (val
*) var15
;
494 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Option]>*/;
495 CHECK_NEW_array__Array(var16
);
497 ((void (*)(val
*, val
*))(var10
->class->vft
[COLOR_opts__OptionContext__add_option
]))(var10
, var16
) /* add_option on <var10:OptionContext>*/;
498 var19
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_toolcontext__ToolContext__option_context
]))(self
) /* option_context on <self:ToolContext>*/;
499 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_typing_test_metrics
]))(self
) /* opt_typing_test_metrics on <self:ToolContext>*/;
500 var21
= NEW_array__Array(&type_array__Arrayopts__Option
);
501 { /* var21 = array_instance Array[Option] */
503 var23
= NEW_array__NativeArray(var22
, &type_array__NativeArrayopts__Option
);
504 ((struct instance_array__NativeArray
*)var23
)->values
[0] = (val
*) var20
;
505 ((void (*)(val
*, val
*, long))(var21
->class->vft
[COLOR_array__Array__with_native
]))(var21
, var23
, var22
) /* with_native on <var21:Array[Option]>*/;
506 CHECK_NEW_array__Array(var21
);
508 ((void (*)(val
*, val
*))(var19
->class->vft
[COLOR_opts__OptionContext__add_option
]))(var19
, var21
) /* add_option on <var19:OptionContext>*/;
511 /* method abstract_compiler#ToolContext#init for (self: Object) */
512 void VIRTUAL_abstract_compiler__ToolContext__init(val
* self
) {
513 abstract_compiler__ToolContext__init(self
);
516 /* method abstract_compiler#ModelBuilder#cc_paths for (self: ModelBuilder): Array[String] */
517 val
* abstract_compiler__ModelBuilder__cc_paths(val
* self
) {
518 val
* var
/* : Array[String] */;
519 val
* var1
/* : Array[String] */;
520 var1
= self
->attrs
[COLOR_abstract_compiler__ModelBuilder___64dcc_paths
].val
; /* @cc_paths on <self:ModelBuilder> */
522 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @cc_paths");
523 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 64);
530 /* method abstract_compiler#ModelBuilder#cc_paths for (self: Object): Array[String] */
531 val
* VIRTUAL_abstract_compiler__ModelBuilder__cc_paths(val
* self
) {
532 val
* var
/* : Array[String] */;
533 val
* var1
/* : Array[String] */;
534 var1
= abstract_compiler__ModelBuilder__cc_paths(self
);
539 /* method abstract_compiler#ModelBuilder#cc_paths= for (self: ModelBuilder, Array[String]) */
540 void abstract_compiler__ModelBuilder__cc_paths_61d(val
* self
, val
* p0
) {
541 self
->attrs
[COLOR_abstract_compiler__ModelBuilder___64dcc_paths
].val
= p0
; /* @cc_paths on <self:ModelBuilder> */
544 /* method abstract_compiler#ModelBuilder#cc_paths= for (self: Object, Array[String]) */
545 void VIRTUAL_abstract_compiler__ModelBuilder__cc_paths_61d(val
* self
, val
* p0
) {
546 abstract_compiler__ModelBuilder__cc_paths_61d(self
, p0
);
549 /* method abstract_compiler#ModelBuilder#init for (self: ModelBuilder, Model, ToolContext) */
550 void abstract_compiler__ModelBuilder__init(val
* self
, val
* p0
, val
* p1
) {
551 val
* var_model
/* var model: Model */;
552 val
* var_toolcontext
/* var toolcontext: ToolContext */;
554 val
* var
/* : String */;
555 char* var1
/* : NativeString */;
556 long var2
/* : Int */;
557 val
* var3
/* : String */;
558 val
* var4
/* : String */;
559 val
* var_path_env
/* var path_env: String */;
560 short int var5
/* : Bool */;
561 short int var6
/* : Bool */;
562 val
* var7
/* : Array[Object] */;
563 long var8
/* : Int */;
564 val
* var_
/* var : Array[Object] */;
565 static val
* varonce9
;
566 val
* var10
/* : String */;
567 char* var11
/* : NativeString */;
568 long var12
/* : Int */;
569 val
* var13
/* : String */;
570 static val
* varonce14
;
571 val
* var15
/* : String */;
572 char* var16
/* : NativeString */;
573 long var17
/* : Int */;
574 val
* var18
/* : String */;
575 val
* var19
/* : String */;
576 val
* var_libname
/* var libname: String */;
577 short int var20
/* : Bool */;
578 val
* var21
/* : Array[String] */;
579 val
* var22
/* : Array[Object] */;
580 long var23
/* : Int */;
581 val
* var_24
/* var : Array[Object] */;
582 static val
* varonce25
;
583 val
* var26
/* : String */;
584 char* var27
/* : NativeString */;
585 long var28
/* : Int */;
586 val
* var29
/* : String */;
587 val
* var30
/* : Sys */;
588 val
* var31
/* : String */;
589 val
* var32
/* : String */;
590 static val
* varonce33
;
591 val
* var34
/* : String */;
592 char* var35
/* : NativeString */;
593 long var36
/* : Int */;
594 val
* var37
/* : String */;
595 val
* var38
/* : String */;
596 val
* var_libname39
/* var libname: String */;
597 short int var40
/* : Bool */;
598 val
* var41
/* : Array[String] */;
599 val
* var42
/* : String */;
600 val
* var43
/* : Array[String] */;
601 short int var44
/* : Bool */;
602 val
* var45
/* : null */;
603 static val
* varonce46
;
604 val
* var47
/* : String */;
605 char* var48
/* : NativeString */;
606 long var49
/* : Int */;
607 val
* var50
/* : String */;
608 val
* var51
/* : Array[String] */;
609 val
* var52
/* : OptionArray */;
610 val
* var53
/* : nullable Object */;
611 static val
* varonce54
;
612 val
* var55
/* : String */;
613 char* var56
/* : NativeString */;
614 long var57
/* : Int */;
615 val
* var58
/* : String */;
616 val
* var59
/* : String */;
617 short int var60
/* : Bool */;
618 short int var61
/* : Bool */;
619 val
* var62
/* : Array[String] */;
620 char var63
/* : Char */;
621 val
* var64
/* : Array[String] */;
622 val
* var65
/* : Pattern */;
624 var_toolcontext
= p1
;
625 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__ModelBuilder__init
]))(self
, p0
, p1
) /* init on <self:ModelBuilder>*/;
631 var3
= string__NativeString__to_s_with_length(var1
, var2
);
635 var4
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_environ__String__environ
]))(var
) /* environ on <var:String>*/;
637 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>*/;
640 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
642 ((void (*)(val
*, long))(var7
->class->vft
[COLOR_array__Array__with_capacity
]))(var7
, var8
) /* with_capacity on <var7:Array[Object]>*/;
643 CHECK_NEW_array__Array(var7
);
650 var13
= string__NativeString__to_s_with_length(var11
, var12
);
654 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var10
) /* add on <var_:Array[Object]>*/;
655 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var_path_env
) /* add on <var_:Array[Object]>*/;
661 var18
= string__NativeString__to_s_with_length(var16
, var17
);
665 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var15
) /* add on <var_:Array[Object]>*/;
666 var19
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
668 var20
= ((short int (*)(val
*))(var_libname
->class->vft
[COLOR_file__String__file_exists
]))(var_libname
) /* file_exists on <var_libname:String>*/;
670 var21
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ModelBuilder__cc_paths
]))(self
) /* cc_paths on <self:ModelBuilder>*/;
671 ((void (*)(val
*, val
*))(var21
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var21
, var_libname
) /* add on <var21:Array[String]>*/;
676 var22
= NEW_array__Array(&type_array__Arraykernel__Object
);
678 ((void (*)(val
*, long))(var22
->class->vft
[COLOR_array__Array__with_capacity
]))(var22
, var23
) /* with_capacity on <var22:Array[Object]>*/;
679 CHECK_NEW_array__Array(var22
);
686 var29
= string__NativeString__to_s_with_length(var27
, var28
);
690 ((void (*)(val
*, val
*))(var_24
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_24
, var26
) /* add on <var_24:Array[Object]>*/;
691 var30
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__sys
]))(self
) /* sys on <self:ModelBuilder>*/;
692 var31
= ((val
* (*)(val
*))(var30
->class->vft
[COLOR_string__Sys__program_name
]))(var30
) /* program_name on <var30:Sys>*/;
693 var32
= ((val
* (*)(val
*))(var31
->class->vft
[COLOR_file__String__dirname
]))(var31
) /* dirname on <var31:String>*/;
694 ((void (*)(val
*, val
*))(var_24
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_24
, var32
) /* add on <var_24:Array[Object]>*/;
700 var37
= string__NativeString__to_s_with_length(var35
, var36
);
704 ((void (*)(val
*, val
*))(var_24
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_24
, var34
) /* add on <var_24:Array[Object]>*/;
705 var38
= ((val
* (*)(val
*))(var_24
->class->vft
[COLOR_string__Object__to_s
]))(var_24
) /* to_s on <var_24:Array[Object]>*/;
706 var_libname39
= var38
;
707 var40
= ((short int (*)(val
*))(var_libname39
->class->vft
[COLOR_file__String__file_exists
]))(var_libname39
) /* file_exists on <var_libname39:String>*/;
709 var41
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ModelBuilder__cc_paths
]))(self
) /* cc_paths on <self:ModelBuilder>*/;
710 var42
= ((val
* (*)(val
*))(var_libname39
->class->vft
[COLOR_file__String__simplify_path
]))(var_libname39
) /* simplify_path on <var_libname39:String>*/;
711 ((void (*)(val
*, val
*))(var41
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var41
, var42
) /* add on <var41:Array[String]>*/;
714 var43
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ModelBuilder__cc_paths
]))(self
) /* cc_paths on <self:ModelBuilder>*/;
715 var44
= ((short int (*)(val
*))(var43
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var43
) /* is_empty on <var43:Array[String]>*/;
721 var48
= "Cannot determine the nit clib path. define envvar NIT_DIR.";
723 var50
= string__NativeString__to_s_with_length(var48
, var49
);
727 ((void (*)(val
*, val
*, val
*))(var_toolcontext
->class->vft
[COLOR_toolcontext__ToolContext__error
]))(var_toolcontext
, var45
, var47
) /* error on <var_toolcontext:ToolContext>*/;
730 var51
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ModelBuilder__cc_paths
]))(self
) /* cc_paths on <self:ModelBuilder>*/;
731 var52
= ((val
* (*)(val
*))(var_toolcontext
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_cc_path
]))(var_toolcontext
) /* opt_cc_path on <var_toolcontext:ToolContext>*/;
732 var53
= ((val
* (*)(val
*))(var52
->class->vft
[COLOR_opts__Option__value
]))(var52
) /* value on <var52:OptionArray>*/;
733 ((void (*)(val
*, val
*))(var51
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var51
, var53
) /* append on <var51:Array[String]>*/;
737 var56
= "NIT_CC_PATH";
739 var58
= string__NativeString__to_s_with_length(var56
, var57
);
743 var59
= ((val
* (*)(val
*))(var55
->class->vft
[COLOR_environ__String__environ
]))(var55
) /* environ on <var55:String>*/;
744 var_path_env
= var59
;
745 var60
= ((short int (*)(val
*))(var_path_env
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var_path_env
) /* is_empty on <var_path_env:String>*/;
748 var62
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ModelBuilder__cc_paths
]))(self
) /* cc_paths on <self:ModelBuilder>*/;
750 var65
= BOX_kernel__Char(var63
); /* autobox from Char to Pattern */
751 var64
= ((val
* (*)(val
*, val
*))(var_path_env
->class->vft
[COLOR_string_search__String__split_with
]))(var_path_env
, var65
) /* split_with on <var_path_env:String>*/;
752 ((void (*)(val
*, val
*))(var62
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var62
, var64
) /* append on <var62:Array[String]>*/;
757 /* method abstract_compiler#ModelBuilder#init for (self: Object, Model, ToolContext) */
758 void VIRTUAL_abstract_compiler__ModelBuilder__init(val
* self
, val
* p0
, val
* p1
) {
759 abstract_compiler__ModelBuilder__init(self
, p0
, p1
);
762 /* method abstract_compiler#ModelBuilder#write_and_make for (self: ModelBuilder, AbstractCompiler) */
763 void abstract_compiler__ModelBuilder__write_and_make(val
* self
, val
* p0
) {
764 val
* var_compiler
/* var compiler: AbstractCompiler */;
765 val
* var
/* : MModule */;
766 val
* var_mainmodule
/* var mainmodule: MModule */;
767 long var1
/* : Int */;
768 long var_time0
/* var time0: Int */;
769 val
* var2
/* : ToolContext */;
771 val
* var3
/* : String */;
772 char* var4
/* : NativeString */;
773 long var5
/* : Int */;
774 val
* var6
/* : String */;
775 long var7
/* : Int */;
776 val
* var8
/* : ToolContext */;
777 val
* var9
/* : OptionString */;
778 val
* var10
/* : nullable Object */;
779 val
* var_compile_dir
/* var compile_dir: nullable String */;
780 val
* var11
/* : null */;
781 short int var12
/* : Bool */;
782 static val
* varonce13
;
783 val
* var14
/* : String */;
784 char* var15
/* : NativeString */;
785 long var16
/* : Int */;
786 val
* var17
/* : String */;
787 static val
* varonce18
;
788 val
* var19
/* : String */;
789 char* var20
/* : NativeString */;
790 long var21
/* : Int */;
791 val
* var22
/* : String */;
792 val
* var_orig_dir
/* var orig_dir: String */;
793 val
* var23
/* : ToolContext */;
794 val
* var24
/* : OptionString */;
795 val
* var25
/* : nullable Object */;
796 val
* var_outname
/* var outname: nullable String */;
797 val
* var26
/* : null */;
798 short int var27
/* : Bool */;
799 val
* var28
/* : Array[Object] */;
800 long var29
/* : Int */;
801 val
* var_
/* var : Array[Object] */;
802 static val
* varonce30
;
803 val
* var31
/* : String */;
804 char* var32
/* : NativeString */;
805 long var33
/* : Int */;
806 val
* var34
/* : String */;
807 val
* var35
/* : String */;
808 static val
* varonce36
;
809 val
* var37
/* : String */;
810 char* var38
/* : NativeString */;
811 long var39
/* : Int */;
812 val
* var40
/* : String */;
813 val
* var41
/* : String */;
814 val
* var42
/* : String */;
815 val
* var43
/* : String */;
816 val
* var_outpath
/* var outpath: String */;
817 val
* var44
/* : CodeWriter */;
818 val
* var45
/* : CodeFile */;
819 val
* var46
/* : String */;
820 static val
* varonce47
;
821 val
* var48
/* : String */;
822 char* var49
/* : NativeString */;
823 long var50
/* : Int */;
824 val
* var51
/* : String */;
825 val
* var52
/* : String */;
826 val
* var_hfilename
/* var hfilename: String */;
827 val
* var53
/* : Array[Object] */;
828 long var54
/* : Int */;
829 val
* var_55
/* var : Array[Object] */;
830 static val
* varonce56
;
831 val
* var57
/* : String */;
832 char* var58
/* : NativeString */;
833 long var59
/* : Int */;
834 val
* var60
/* : String */;
835 static val
* varonce61
;
836 val
* var62
/* : String */;
837 char* var63
/* : NativeString */;
838 long var64
/* : Int */;
839 val
* var65
/* : String */;
840 static val
* varonce66
;
841 val
* var67
/* : String */;
842 char* var68
/* : NativeString */;
843 long var69
/* : Int */;
844 val
* var70
/* : String */;
845 val
* var71
/* : String */;
846 val
* var_hfilepath
/* var hfilepath: String */;
847 val
* var72
/* : OFStream */;
848 val
* var_h
/* var h: OFStream */;
849 val
* var73
/* : CodeWriter */;
850 val
* var74
/* : List[String] */;
851 val
* var75
/* : Iterator[nullable Object] */;
852 short int var76
/* : Bool */;
853 val
* var77
/* : nullable Object */;
854 val
* var_l
/* var l: String */;
855 static val
* varonce78
;
856 val
* var79
/* : String */;
857 char* var80
/* : NativeString */;
858 long var81
/* : Int */;
859 val
* var82
/* : String */;
860 val
* var83
/* : CodeWriter */;
861 val
* var84
/* : List[String] */;
862 val
* var85
/* : Iterator[nullable Object] */;
863 short int var86
/* : Bool */;
864 val
* var87
/* : nullable Object */;
865 val
* var_l88
/* var l: String */;
866 static val
* varonce89
;
867 val
* var90
/* : String */;
868 char* var91
/* : NativeString */;
869 long var92
/* : Int */;
870 val
* var93
/* : String */;
871 val
* var95
/* : Array[String] */;
872 val
* var_cfiles
/* var cfiles: Array[String] */;
873 val
* var96
/* : List[CodeFile] */;
874 val
* var97
/* : Iterator[nullable Object] */;
875 short int var98
/* : Bool */;
876 val
* var99
/* : nullable Object */;
877 val
* var_f
/* var f: CodeFile */;
878 long var100
/* : Int */;
879 long var_i
/* var i: Int */;
880 val
* var101
/* : null */;
881 val
* var_hfile
/* var hfile: nullable OFStream */;
882 long var102
/* : Int */;
883 long var_count
/* var count: Int */;
884 val
* var103
/* : Array[Object] */;
885 long var104
/* : Int */;
886 val
* var_105
/* var : Array[Object] */;
887 static val
* varonce106
;
888 val
* var107
/* : String */;
889 char* var108
/* : NativeString */;
890 long var109
/* : Int */;
891 val
* var110
/* : String */;
892 val
* var111
/* : String */;
893 static val
* varonce112
;
894 val
* var113
/* : String */;
895 char* var114
/* : NativeString */;
896 long var115
/* : Int */;
897 val
* var116
/* : String */;
898 val
* var117
/* : String */;
899 val
* var_cfilename
/* var cfilename: String */;
900 val
* var118
/* : Array[Object] */;
901 long var119
/* : Int */;
902 val
* var_120
/* var : Array[Object] */;
903 static val
* varonce121
;
904 val
* var122
/* : String */;
905 char* var123
/* : NativeString */;
906 long var124
/* : Int */;
907 val
* var125
/* : String */;
908 static val
* varonce126
;
909 val
* var127
/* : String */;
910 char* var128
/* : NativeString */;
911 long var129
/* : Int */;
912 val
* var130
/* : String */;
913 static val
* varonce131
;
914 val
* var132
/* : String */;
915 char* var133
/* : NativeString */;
916 long var134
/* : Int */;
917 val
* var135
/* : String */;
918 val
* var136
/* : String */;
919 val
* var_cfilepath
/* var cfilepath: String */;
920 val
* var137
/* : OFStream */;
921 static val
* varonce138
;
922 val
* var139
/* : String */;
923 char* var140
/* : NativeString */;
924 long var141
/* : Int */;
925 val
* var142
/* : String */;
926 static val
* varonce143
;
927 val
* var144
/* : String */;
928 char* var145
/* : NativeString */;
929 long var146
/* : Int */;
930 val
* var147
/* : String */;
931 val
* var148
/* : Array[Object] */;
932 long var149
/* : Int */;
933 val
* var150
/* : NativeArray[Object] */;
934 val
* var151
/* : String */;
935 val
* var152
/* : HashSet[String] */;
936 val
* var153
/* : Iterator[nullable Object] */;
937 short int var154
/* : Bool */;
938 val
* var155
/* : nullable Object */;
939 val
* var_key
/* var key: String */;
940 val
* var156
/* : HashMap[String, String] */;
941 short int var157
/* : Bool */;
942 short int var158
/* : Bool */;
943 static val
* varonce159
;
944 val
* var160
/* : String */;
945 char* var161
/* : NativeString */;
946 long var162
/* : Int */;
947 val
* var163
/* : String */;
948 val
* var164
/* : Array[Object] */;
949 long var165
/* : Int */;
950 val
* var166
/* : NativeArray[Object] */;
951 val
* var167
/* : String */;
952 val
* var168
/* : HashMap[String, String] */;
953 val
* var169
/* : nullable Object */;
954 static val
* varonce170
;
955 val
* var171
/* : String */;
956 char* var172
/* : NativeString */;
957 long var173
/* : Int */;
958 val
* var174
/* : String */;
959 val
* var176
/* : null */;
960 val
* var_file
/* var file: nullable OFStream */;
961 val
* var177
/* : Array[CodeWriter] */;
962 val
* var178
/* : Iterator[nullable Object] */;
963 short int var179
/* : Bool */;
964 val
* var180
/* : nullable Object */;
965 val
* var_vis
/* var vis: CodeWriter */;
966 val
* var181
/* : CodeWriter */;
967 short int var182
/* : Bool */;
968 val
* var184
/* : List[String] */;
969 long var185
/* : Int */;
970 val
* var186
/* : List[String] */;
971 long var187
/* : Int */;
972 long var188
/* : Int */;
973 long var190
/* : Int */;
974 long var_total_lines
/* var total_lines: Int */;
975 long var191
/* : Int */;
976 short int var192
/* : Bool */;
977 short int var194
/* : Bool */;
978 long var195
/* : Int */;
979 long var197
/* : Int */;
980 short int var198
/* : Bool */;
981 val
* var199
/* : null */;
982 short int var200
/* : Bool */;
983 short int var_201
/* var : Bool */;
984 long var202
/* : Int */;
985 short int var203
/* : Bool */;
986 short int var205
/* : Bool */;
989 const char* var_class_name
;
990 short int var206
/* : Bool */;
991 long var207
/* : Int */;
992 long var208
/* : Int */;
993 long var210
/* : Int */;
994 val
* var211
/* : null */;
995 short int var212
/* : Bool */;
996 val
* var213
/* : Array[Object] */;
997 long var214
/* : Int */;
998 val
* var_215
/* var : Array[Object] */;
999 static val
* varonce216
;
1000 val
* var217
/* : String */;
1001 char* var218
/* : NativeString */;
1002 long var219
/* : Int */;
1003 val
* var220
/* : String */;
1004 val
* var221
/* : String */;
1005 static val
* varonce222
;
1006 val
* var223
/* : String */;
1007 char* var224
/* : NativeString */;
1008 long var225
/* : Int */;
1009 val
* var226
/* : String */;
1010 val
* var227
/* : nullable Object */;
1011 static val
* varonce228
;
1012 val
* var229
/* : String */;
1013 char* var230
/* : NativeString */;
1014 long var231
/* : Int */;
1015 val
* var232
/* : String */;
1016 val
* var233
/* : String */;
1017 val
* var234
/* : Array[Object] */;
1018 long var235
/* : Int */;
1019 val
* var_236
/* var : Array[Object] */;
1020 static val
* varonce237
;
1021 val
* var238
/* : String */;
1022 char* var239
/* : NativeString */;
1023 long var240
/* : Int */;
1024 val
* var241
/* : String */;
1025 static val
* varonce242
;
1026 val
* var243
/* : String */;
1027 char* var244
/* : NativeString */;
1028 long var245
/* : Int */;
1029 val
* var246
/* : String */;
1030 static val
* varonce247
;
1031 val
* var248
/* : String */;
1032 char* var249
/* : NativeString */;
1033 long var250
/* : Int */;
1034 val
* var251
/* : String */;
1035 val
* var252
/* : String */;
1036 val
* var253
/* : ToolContext */;
1037 static val
* varonce254
;
1038 val
* var255
/* : String */;
1039 char* var256
/* : NativeString */;
1040 long var257
/* : Int */;
1041 val
* var258
/* : String */;
1042 val
* var259
/* : Array[Object] */;
1043 long var260
/* : Int */;
1044 val
* var261
/* : NativeArray[Object] */;
1045 val
* var262
/* : String */;
1046 long var263
/* : Int */;
1047 val
* var264
/* : OFStream */;
1048 static val
* varonce265
;
1049 val
* var266
/* : String */;
1050 char* var267
/* : NativeString */;
1051 long var268
/* : Int */;
1052 val
* var269
/* : String */;
1053 val
* var270
/* : String */;
1054 static val
* varonce271
;
1055 val
* var272
/* : String */;
1056 char* var273
/* : NativeString */;
1057 long var274
/* : Int */;
1058 val
* var275
/* : String */;
1059 val
* var276
/* : Array[Object] */;
1060 long var277
/* : Int */;
1061 val
* var278
/* : NativeArray[Object] */;
1062 val
* var279
/* : String */;
1063 val
* var280
/* : List[String] */;
1064 val
* var281
/* : Iterator[nullable Object] */;
1065 short int var282
/* : Bool */;
1066 val
* var283
/* : nullable Object */;
1067 val
* var_l284
/* var l: String */;
1068 static val
* varonce285
;
1069 val
* var286
/* : String */;
1070 char* var287
/* : NativeString */;
1071 long var288
/* : Int */;
1072 val
* var289
/* : String */;
1073 val
* var291
/* : List[String] */;
1074 val
* var292
/* : Iterator[nullable Object] */;
1075 short int var293
/* : Bool */;
1076 val
* var294
/* : nullable Object */;
1077 val
* var_l295
/* var l: String */;
1078 static val
* varonce296
;
1079 val
* var297
/* : String */;
1080 char* var298
/* : NativeString */;
1081 long var299
/* : Int */;
1082 val
* var300
/* : String */;
1083 val
* var302
/* : null */;
1084 short int var303
/* : Bool */;
1085 val
* var305
/* : ToolContext */;
1086 static val
* varonce306
;
1087 val
* var307
/* : String */;
1088 char* var308
/* : NativeString */;
1089 long var309
/* : Int */;
1090 val
* var310
/* : String */;
1091 long var311
/* : Int */;
1092 val
* var312
/* : Array[Object] */;
1093 long var313
/* : Int */;
1094 val
* var314
/* : NativeArray[Object] */;
1095 val
* var315
/* : Object */;
1096 val
* var316
/* : String */;
1097 long var317
/* : Int */;
1098 val
* var318
/* : Array[Object] */;
1099 long var319
/* : Int */;
1100 val
* var_320
/* var : Array[Object] */;
1101 static val
* varonce321
;
1102 val
* var322
/* : String */;
1103 char* var323
/* : NativeString */;
1104 long var324
/* : Int */;
1105 val
* var325
/* : String */;
1106 val
* var326
/* : String */;
1107 static val
* varonce327
;
1108 val
* var328
/* : String */;
1109 char* var329
/* : NativeString */;
1110 long var330
/* : Int */;
1111 val
* var331
/* : String */;
1112 val
* var332
/* : String */;
1113 val
* var_makename
/* var makename: String */;
1114 val
* var333
/* : Array[Object] */;
1115 long var334
/* : Int */;
1116 val
* var_335
/* var : Array[Object] */;
1117 static val
* varonce336
;
1118 val
* var337
/* : String */;
1119 char* var338
/* : NativeString */;
1120 long var339
/* : Int */;
1121 val
* var340
/* : String */;
1122 static val
* varonce341
;
1123 val
* var342
/* : String */;
1124 char* var343
/* : NativeString */;
1125 long var344
/* : Int */;
1126 val
* var345
/* : String */;
1127 static val
* varonce346
;
1128 val
* var347
/* : String */;
1129 char* var348
/* : NativeString */;
1130 long var349
/* : Int */;
1131 val
* var350
/* : String */;
1132 val
* var351
/* : String */;
1133 val
* var_makepath
/* var makepath: String */;
1134 val
* var352
/* : OFStream */;
1135 val
* var_makefile
/* var makefile: OFStream */;
1136 static val
* varonce353
;
1137 val
* var354
/* : String */;
1138 char* var355
/* : NativeString */;
1139 long var356
/* : Int */;
1140 val
* var357
/* : String */;
1141 val
* var_cc_includes
/* var cc_includes: String */;
1142 val
* var358
/* : Array[String] */;
1143 val
* var359
/* : Iterator[nullable Object] */;
1144 short int var360
/* : Bool */;
1145 val
* var361
/* : nullable Object */;
1146 val
* var_p
/* var p: String */;
1147 val
* var362
/* : String */;
1148 val
* var363
/* : String */;
1149 static val
* varonce364
;
1150 val
* var365
/* : String */;
1151 char* var366
/* : NativeString */;
1152 long var367
/* : Int */;
1153 val
* var368
/* : String */;
1154 val
* var369
/* : String */;
1155 static val
* varonce370
;
1156 val
* var371
/* : String */;
1157 char* var372
/* : NativeString */;
1158 long var373
/* : Int */;
1159 val
* var374
/* : String */;
1160 val
* var375
/* : String */;
1161 val
* var376
/* : String */;
1162 static val
* varonce378
;
1163 val
* var379
/* : String */;
1164 char* var380
/* : NativeString */;
1165 long var381
/* : Int */;
1166 val
* var382
/* : String */;
1167 static val
* varonce383
;
1168 val
* var384
/* : String */;
1169 char* var385
/* : NativeString */;
1170 long var386
/* : Int */;
1171 val
* var387
/* : String */;
1172 val
* var388
/* : Array[Object] */;
1173 long var389
/* : Int */;
1174 val
* var390
/* : NativeArray[Object] */;
1175 val
* var391
/* : String */;
1176 static val
* varonce392
;
1177 val
* var393
/* : String */;
1178 char* var394
/* : NativeString */;
1179 long var395
/* : Int */;
1180 val
* var396
/* : String */;
1181 static val
* varonce397
;
1182 val
* var398
/* : String */;
1183 char* var399
/* : NativeString */;
1184 long var400
/* : Int */;
1185 val
* var401
/* : String */;
1186 val
* var402
/* : Array[Object] */;
1187 long var403
/* : Int */;
1188 val
* var404
/* : NativeArray[Object] */;
1189 val
* var405
/* : String */;
1190 val
* var406
/* : Array[String] */;
1191 val
* var_ofiles
/* var ofiles: Array[String] */;
1192 val
* var407
/* : Iterator[nullable Object] */;
1193 short int var408
/* : Bool */;
1194 val
* var409
/* : nullable Object */;
1195 val
* var_f410
/* var f: String */;
1196 static val
* varonce411
;
1197 val
* var412
/* : String */;
1198 char* var413
/* : NativeString */;
1199 long var414
/* : Int */;
1200 val
* var415
/* : String */;
1201 val
* var416
/* : String */;
1202 static val
* varonce417
;
1203 val
* var418
/* : String */;
1204 char* var419
/* : NativeString */;
1205 long var420
/* : Int */;
1206 val
* var421
/* : String */;
1207 val
* var422
/* : String */;
1208 val
* var_o
/* var o: String */;
1209 static val
* varonce423
;
1210 val
* var424
/* : String */;
1211 char* var425
/* : NativeString */;
1212 long var426
/* : Int */;
1213 val
* var427
/* : String */;
1214 static val
* varonce428
;
1215 val
* var429
/* : String */;
1216 char* var430
/* : NativeString */;
1217 long var431
/* : Int */;
1218 val
* var432
/* : String */;
1219 static val
* varonce433
;
1220 val
* var434
/* : String */;
1221 char* var435
/* : NativeString */;
1222 long var436
/* : Int */;
1223 val
* var437
/* : String */;
1224 static val
* varonce438
;
1225 val
* var439
/* : String */;
1226 char* var440
/* : NativeString */;
1227 long var441
/* : Int */;
1228 val
* var442
/* : String */;
1229 val
* var443
/* : Array[Object] */;
1230 long var444
/* : Int */;
1231 val
* var445
/* : NativeArray[Object] */;
1232 val
* var446
/* : String */;
1233 val
* var448
/* : ExternCFile */;
1234 val
* var449
/* : Array[Object] */;
1235 long var450
/* : Int */;
1236 val
* var_451
/* var : Array[Object] */;
1237 static val
* varonce452
;
1238 val
* var453
/* : String */;
1239 char* var454
/* : NativeString */;
1240 long var455
/* : Int */;
1241 val
* var456
/* : String */;
1242 val
* var457
/* : Array[String] */;
1243 val
* var458
/* : nullable Object */;
1244 static val
* varonce459
;
1245 val
* var460
/* : String */;
1246 char* var461
/* : NativeString */;
1247 long var462
/* : Int */;
1248 val
* var463
/* : String */;
1249 val
* var464
/* : String */;
1250 static val
* varonce465
;
1251 val
* var466
/* : String */;
1252 char* var467
/* : NativeString */;
1253 long var468
/* : Int */;
1254 val
* var469
/* : String */;
1255 val
* var_gc_chooser
/* var gc_chooser: ExternCFile */;
1256 val
* var470
/* : Array[ExternCFile] */;
1257 val
* var471
/* : Array[ExternCFile] */;
1258 val
* var472
/* : Iterator[nullable Object] */;
1259 short int var473
/* : Bool */;
1260 val
* var474
/* : nullable Object */;
1261 val
* var_f475
/* var f: ExternCFile */;
1262 val
* var476
/* : String */;
1263 static val
* varonce477
;
1264 val
* var478
/* : String */;
1265 char* var479
/* : NativeString */;
1266 long var480
/* : Int */;
1267 val
* var481
/* : String */;
1268 val
* var482
/* : String */;
1269 val
* var_basename
/* var basename: String */;
1270 val
* var483
/* : Array[Object] */;
1271 long var484
/* : Int */;
1272 val
* var_485
/* var : Array[Object] */;
1273 static val
* varonce486
;
1274 val
* var487
/* : String */;
1275 char* var488
/* : NativeString */;
1276 long var489
/* : Int */;
1277 val
* var490
/* : String */;
1278 static val
* varonce491
;
1279 val
* var492
/* : String */;
1280 char* var493
/* : NativeString */;
1281 long var494
/* : Int */;
1282 val
* var495
/* : String */;
1283 val
* var496
/* : String */;
1284 val
* var_o497
/* var o: String */;
1285 val
* var498
/* : String */;
1286 val
* var499
/* : String */;
1287 val
* var500
/* : String */;
1288 val
* var_ff
/* var ff: String */;
1289 static val
* varonce501
;
1290 val
* var502
/* : String */;
1291 char* var503
/* : NativeString */;
1292 long var504
/* : Int */;
1293 val
* var505
/* : String */;
1294 static val
* varonce506
;
1295 val
* var507
/* : String */;
1296 char* var508
/* : NativeString */;
1297 long var509
/* : Int */;
1298 val
* var510
/* : String */;
1299 val
* var511
/* : String */;
1300 static val
* varonce512
;
1301 val
* var513
/* : String */;
1302 char* var514
/* : NativeString */;
1303 long var515
/* : Int */;
1304 val
* var516
/* : String */;
1305 static val
* varonce517
;
1306 val
* var518
/* : String */;
1307 char* var519
/* : NativeString */;
1308 long var520
/* : Int */;
1309 val
* var521
/* : String */;
1310 static val
* varonce522
;
1311 val
* var523
/* : String */;
1312 char* var524
/* : NativeString */;
1313 long var525
/* : Int */;
1314 val
* var526
/* : String */;
1315 val
* var527
/* : Array[Object] */;
1316 long var528
/* : Int */;
1317 val
* var529
/* : NativeArray[Object] */;
1318 val
* var530
/* : String */;
1319 static val
* varonce532
;
1320 val
* var533
/* : String */;
1321 char* var534
/* : NativeString */;
1322 long var535
/* : Int */;
1323 val
* var536
/* : String */;
1324 static val
* varonce537
;
1325 val
* var538
/* : String */;
1326 char* var539
/* : NativeString */;
1327 long var540
/* : Int */;
1328 val
* var541
/* : String */;
1329 val
* var542
/* : String */;
1330 static val
* varonce543
;
1331 val
* var544
/* : String */;
1332 char* var545
/* : NativeString */;
1333 long var546
/* : Int */;
1334 val
* var547
/* : String */;
1335 static val
* varonce548
;
1336 val
* var549
/* : String */;
1337 char* var550
/* : NativeString */;
1338 long var551
/* : Int */;
1339 val
* var552
/* : String */;
1340 static val
* varonce553
;
1341 val
* var554
/* : String */;
1342 char* var555
/* : NativeString */;
1343 long var556
/* : Int */;
1344 val
* var557
/* : String */;
1345 val
* var558
/* : String */;
1346 static val
* varonce559
;
1347 val
* var560
/* : String */;
1348 char* var561
/* : NativeString */;
1349 long var562
/* : Int */;
1350 val
* var563
/* : String */;
1351 val
* var564
/* : Array[Object] */;
1352 long var565
/* : Int */;
1353 val
* var566
/* : NativeArray[Object] */;
1354 val
* var567
/* : String */;
1355 static val
* varonce568
;
1356 val
* var569
/* : String */;
1357 char* var570
/* : NativeString */;
1358 long var571
/* : Int */;
1359 val
* var572
/* : String */;
1360 static val
* varonce573
;
1361 val
* var574
/* : String */;
1362 char* var575
/* : NativeString */;
1363 long var576
/* : Int */;
1364 val
* var577
/* : String */;
1365 val
* var578
/* : String */;
1366 static val
* varonce579
;
1367 val
* var580
/* : String */;
1368 char* var581
/* : NativeString */;
1369 long var582
/* : Int */;
1370 val
* var583
/* : String */;
1371 val
* var584
/* : Array[Object] */;
1372 long var585
/* : Int */;
1373 val
* var586
/* : NativeArray[Object] */;
1374 val
* var587
/* : String */;
1375 val
* var588
/* : ToolContext */;
1376 static val
* varonce589
;
1377 val
* var590
/* : String */;
1378 char* var591
/* : NativeString */;
1379 long var592
/* : Int */;
1380 val
* var593
/* : String */;
1381 val
* var594
/* : Array[Object] */;
1382 long var595
/* : Int */;
1383 val
* var596
/* : NativeArray[Object] */;
1384 val
* var597
/* : String */;
1385 long var598
/* : Int */;
1386 long var599
/* : Int */;
1387 long var_time1
/* var time1: Int */;
1388 val
* var600
/* : ToolContext */;
1389 static val
* varonce601
;
1390 val
* var602
/* : String */;
1391 char* var603
/* : NativeString */;
1392 long var604
/* : Int */;
1393 val
* var605
/* : String */;
1394 long var606
/* : Int */;
1395 long var608
/* : Int */;
1396 static val
* varonce609
;
1397 val
* var610
/* : String */;
1398 char* var611
/* : NativeString */;
1399 long var612
/* : Int */;
1400 val
* var613
/* : String */;
1401 val
* var614
/* : Array[Object] */;
1402 long var615
/* : Int */;
1403 val
* var616
/* : NativeArray[Object] */;
1404 val
* var617
/* : Object */;
1405 val
* var618
/* : String */;
1406 long var619
/* : Int */;
1407 val
* var620
/* : ToolContext */;
1408 val
* var621
/* : OptionBool */;
1409 val
* var622
/* : nullable Object */;
1410 short int var623
/* : Bool */;
1411 val
* var624
/* : ToolContext */;
1412 static val
* varonce625
;
1413 val
* var626
/* : String */;
1414 char* var627
/* : NativeString */;
1415 long var628
/* : Int */;
1416 val
* var629
/* : String */;
1417 long var630
/* : Int */;
1418 val
* var631
/* : ToolContext */;
1419 val
* var632
/* : OptionString */;
1420 val
* var633
/* : nullable Object */;
1421 val
* var_makeflags
/* var makeflags: nullable String */;
1422 val
* var634
/* : null */;
1423 short int var635
/* : Bool */;
1424 static val
* varonce636
;
1425 val
* var637
/* : String */;
1426 char* var638
/* : NativeString */;
1427 long var639
/* : Int */;
1428 val
* var640
/* : String */;
1429 val
* var641
/* : ToolContext */;
1430 static val
* varonce642
;
1431 val
* var643
/* : String */;
1432 char* var644
/* : NativeString */;
1433 long var645
/* : Int */;
1434 val
* var646
/* : String */;
1435 static val
* varonce647
;
1436 val
* var648
/* : String */;
1437 char* var649
/* : NativeString */;
1438 long var650
/* : Int */;
1439 val
* var651
/* : String */;
1440 static val
* varonce652
;
1441 val
* var653
/* : String */;
1442 char* var654
/* : NativeString */;
1443 long var655
/* : Int */;
1444 val
* var656
/* : String */;
1445 val
* var657
/* : Array[Object] */;
1446 long var658
/* : Int */;
1447 val
* var659
/* : NativeArray[Object] */;
1448 val
* var660
/* : String */;
1449 long var661
/* : Int */;
1450 val
* var662
/* : ToolContext */;
1451 long var663
/* : Int */;
1452 long var664
/* : Int */;
1453 short int var665
/* : Bool */;
1454 short int var667
/* : Bool */;
1457 const char* var_class_name670
;
1458 short int var671
/* : Bool */;
1459 val
* var672
/* : Sys */;
1460 static val
* varonce673
;
1461 val
* var674
/* : String */;
1462 char* var675
/* : NativeString */;
1463 long var676
/* : Int */;
1464 val
* var677
/* : String */;
1465 static val
* varonce678
;
1466 val
* var679
/* : String */;
1467 char* var680
/* : NativeString */;
1468 long var681
/* : Int */;
1469 val
* var682
/* : String */;
1470 static val
* varonce683
;
1471 val
* var684
/* : String */;
1472 char* var685
/* : NativeString */;
1473 long var686
/* : Int */;
1474 val
* var687
/* : String */;
1475 static val
* varonce688
;
1476 val
* var689
/* : String */;
1477 char* var690
/* : NativeString */;
1478 long var691
/* : Int */;
1479 val
* var692
/* : String */;
1480 val
* var693
/* : Array[Object] */;
1481 long var694
/* : Int */;
1482 val
* var695
/* : NativeArray[Object] */;
1483 val
* var696
/* : String */;
1484 long var697
/* : Int */;
1485 val
* var698
/* : nullable Object */;
1486 val
* var_res
/* var res: nullable Object */;
1487 val
* var699
/* : Sys */;
1488 static val
* varonce700
;
1489 val
* var701
/* : String */;
1490 char* var702
/* : NativeString */;
1491 long var703
/* : Int */;
1492 val
* var704
/* : String */;
1493 static val
* varonce705
;
1494 val
* var706
/* : String */;
1495 char* var707
/* : NativeString */;
1496 long var708
/* : Int */;
1497 val
* var709
/* : String */;
1498 static val
* varonce710
;
1499 val
* var711
/* : String */;
1500 char* var712
/* : NativeString */;
1501 long var713
/* : Int */;
1502 val
* var714
/* : String */;
1503 static val
* varonce715
;
1504 val
* var716
/* : String */;
1505 char* var717
/* : NativeString */;
1506 long var718
/* : Int */;
1507 val
* var719
/* : String */;
1508 val
* var720
/* : Array[Object] */;
1509 long var721
/* : Int */;
1510 val
* var722
/* : NativeArray[Object] */;
1511 val
* var723
/* : String */;
1512 long var724
/* : Int */;
1513 val
* var725
/* : nullable Object */;
1514 long var726
/* : Int */;
1515 short int var727
/* : Bool */;
1516 short int var729
/* : Bool */;
1517 long var730
/* : Int */;
1518 short int var731
/* : Bool */;
1519 val
* var732
/* : ToolContext */;
1520 val
* var733
/* : null */;
1521 static val
* varonce734
;
1522 val
* var735
/* : String */;
1523 char* var736
/* : NativeString */;
1524 long var737
/* : Int */;
1525 val
* var738
/* : String */;
1526 static val
* varonce739
;
1527 val
* var740
/* : String */;
1528 char* var741
/* : NativeString */;
1529 long var742
/* : Int */;
1530 val
* var743
/* : String */;
1531 val
* var744
/* : Array[Object] */;
1532 long var745
/* : Int */;
1533 val
* var746
/* : NativeArray[Object] */;
1534 val
* var747
/* : String */;
1535 long var748
/* : Int */;
1536 val
* var749
/* : ToolContext */;
1537 static val
* varonce750
;
1538 val
* var751
/* : String */;
1539 char* var752
/* : NativeString */;
1540 long var753
/* : Int */;
1541 val
* var754
/* : String */;
1542 long var755
/* : Int */;
1543 long var757
/* : Int */;
1544 static val
* varonce758
;
1545 val
* var759
/* : String */;
1546 char* var760
/* : NativeString */;
1547 long var761
/* : Int */;
1548 val
* var762
/* : String */;
1549 val
* var763
/* : Array[Object] */;
1550 long var764
/* : Int */;
1551 val
* var765
/* : NativeArray[Object] */;
1552 val
* var766
/* : Object */;
1553 val
* var767
/* : String */;
1554 long var768
/* : Int */;
1556 var
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var_compiler
) /* mainmodule on <var_compiler:AbstractCompiler>*/;
1557 var_mainmodule
= var
;
1558 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_time__Object__get_time
]))(self
) /* get_time on <self:ModelBuilder>*/;
1560 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
1564 var4
= "*** WRITING C ***";
1566 var6
= string__NativeString__to_s_with_length(var4
, var5
);
1571 ((void (*)(val
*, val
*, long))(var2
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var2
, var3
, var7
) /* info on <var2:ToolContext>*/;
1572 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
1573 var9
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_compile_dir
]))(var8
) /* opt_compile_dir on <var8:ToolContext>*/;
1574 var10
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_opts__Option__value
]))(var9
) /* value on <var9:OptionString>*/;
1575 var_compile_dir
= var10
;
1577 if (var_compile_dir
== NULL
) {
1578 var12
= 1; /* is null */
1580 var12
= 0; /* arg is null but recv is not */
1586 var15
= ".nit_compile";
1588 var17
= string__NativeString__to_s_with_length(var15
, var16
);
1592 var_compile_dir
= var14
;
1595 ((void (*)(val
*))(var_compile_dir
->class->vft
[COLOR_file__String__mkdir
]))(var_compile_dir
) /* mkdir on <var_compile_dir:nullable String(String)>*/;
1601 var22
= string__NativeString__to_s_with_length(var20
, var21
);
1605 var_orig_dir
= var19
;
1606 var23
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
1607 var24
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_output
]))(var23
) /* opt_output on <var23:ToolContext>*/;
1608 var25
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_opts__Option__value
]))(var24
) /* value on <var24:OptionString>*/;
1609 var_outname
= var25
;
1611 if (var_outname
== NULL
) {
1612 var27
= 1; /* is null */
1614 var27
= 0; /* arg is null but recv is not */
1617 var28
= NEW_array__Array(&type_array__Arraykernel__Object
);
1619 ((void (*)(val
*, long))(var28
->class->vft
[COLOR_array__Array__with_capacity
]))(var28
, var29
) /* with_capacity on <var28:Array[Object]>*/;
1620 CHECK_NEW_array__Array(var28
);
1627 var34
= string__NativeString__to_s_with_length(var32
, var33
);
1631 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var31
) /* add on <var_:Array[Object]>*/;
1632 var35
= ((val
* (*)(val
*))(var_mainmodule
->class->vft
[COLOR_model_base__MModule__name
]))(var_mainmodule
) /* name on <var_mainmodule:MModule>*/;
1633 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var35
) /* add on <var_:Array[Object]>*/;
1639 var40
= string__NativeString__to_s_with_length(var38
, var39
);
1643 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var37
) /* add on <var_:Array[Object]>*/;
1644 var41
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
1645 var_outname
= var41
;
1648 var42
= ((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>*/;
1649 var43
= ((val
* (*)(val
*))(var42
->class->vft
[COLOR_file__String__simplify_path
]))(var42
) /* simplify_path on <var42:String>*/;
1650 var_outpath
= var43
;
1651 var44
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var_compiler
) /* header on <var_compiler:AbstractCompiler>*/;
1652 var45
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_abstract_compiler__CodeWriter__file
]))(var44
) /* file on <var44:CodeWriter>*/;
1653 var46
= ((val
* (*)(val
*))(var45
->class->vft
[COLOR_abstract_compiler__CodeFile__name
]))(var45
) /* name on <var45:CodeFile>*/;
1659 var51
= string__NativeString__to_s_with_length(var49
, var50
);
1663 var52
= ((val
* (*)(val
*, val
*))(var46
->class->vft
[COLOR_string__String___43d
]))(var46
, var48
) /* + on <var46:String>*/;
1664 var_hfilename
= var52
;
1665 var53
= NEW_array__Array(&type_array__Arraykernel__Object
);
1667 ((void (*)(val
*, long))(var53
->class->vft
[COLOR_array__Array__with_capacity
]))(var53
, var54
) /* with_capacity on <var53:Array[Object]>*/;
1668 CHECK_NEW_array__Array(var53
);
1675 var60
= string__NativeString__to_s_with_length(var58
, var59
);
1679 ((void (*)(val
*, val
*))(var_55
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_55
, var57
) /* add on <var_55:Array[Object]>*/;
1680 ((void (*)(val
*, val
*))(var_55
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_55
, var_compile_dir
) /* add on <var_55:Array[Object]>*/;
1686 var65
= string__NativeString__to_s_with_length(var63
, var64
);
1690 ((void (*)(val
*, val
*))(var_55
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_55
, var62
) /* add on <var_55:Array[Object]>*/;
1691 ((void (*)(val
*, val
*))(var_55
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_55
, var_hfilename
) /* add on <var_55:Array[Object]>*/;
1697 var70
= string__NativeString__to_s_with_length(var68
, var69
);
1701 ((void (*)(val
*, val
*))(var_55
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_55
, var67
) /* add on <var_55:Array[Object]>*/;
1702 var71
= ((val
* (*)(val
*))(var_55
->class->vft
[COLOR_string__Object__to_s
]))(var_55
) /* to_s on <var_55:Array[Object]>*/;
1703 var_hfilepath
= var71
;
1704 var72
= NEW_file__OFStream(&type_file__OFStream
);
1705 ((void (*)(val
*, val
*))(var72
->class->vft
[COLOR_file__OFStream__open
]))(var72
, var_hfilepath
) /* open on <var72:OFStream>*/;
1706 CHECK_NEW_file__OFStream(var72
);
1708 var73
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var_compiler
) /* header on <var_compiler:AbstractCompiler>*/;
1709 var74
= ((val
* (*)(val
*))(var73
->class->vft
[COLOR_abstract_compiler__CodeWriter__decl_lines
]))(var73
) /* decl_lines on <var73:CodeWriter>*/;
1710 var75
= ((val
* (*)(val
*))(var74
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var74
) /* iterator on <var74:List[String]>*/;
1712 var76
= ((short int (*)(val
*))(var75
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var75
) /* is_ok on <var75:Iterator[nullable Object]>*/;
1714 var77
= ((val
* (*)(val
*))(var75
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var75
) /* item on <var75:Iterator[nullable Object]>*/;
1716 ((void (*)(val
*, val
*))(var_h
->class->vft
[COLOR_stream__OStream__write
]))(var_h
, var_l
) /* write on <var_h:OFStream>*/;
1722 var82
= string__NativeString__to_s_with_length(var80
, var81
);
1726 ((void (*)(val
*, val
*))(var_h
->class->vft
[COLOR_stream__OStream__write
]))(var_h
, var79
) /* write on <var_h:OFStream>*/;
1727 CONTINUE_label
: (void)0;
1728 ((void (*)(val
*))(var75
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var75
) /* next on <var75:Iterator[nullable Object]>*/;
1730 BREAK_label
: (void)0;
1731 var83
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var_compiler
) /* header on <var_compiler:AbstractCompiler>*/;
1732 var84
= ((val
* (*)(val
*))(var83
->class->vft
[COLOR_abstract_compiler__CodeWriter__lines
]))(var83
) /* lines on <var83:CodeWriter>*/;
1733 var85
= ((val
* (*)(val
*))(var84
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var84
) /* iterator on <var84:List[String]>*/;
1735 var86
= ((short int (*)(val
*))(var85
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var85
) /* is_ok on <var85:Iterator[nullable Object]>*/;
1737 var87
= ((val
* (*)(val
*))(var85
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var85
) /* item on <var85:Iterator[nullable Object]>*/;
1739 ((void (*)(val
*, val
*))(var_h
->class->vft
[COLOR_stream__OStream__write
]))(var_h
, var_l88
) /* write on <var_h:OFStream>*/;
1745 var93
= string__NativeString__to_s_with_length(var91
, var92
);
1749 ((void (*)(val
*, val
*))(var_h
->class->vft
[COLOR_stream__OStream__write
]))(var_h
, var90
) /* write on <var_h:OFStream>*/;
1750 CONTINUE_label94
: (void)0;
1751 ((void (*)(val
*))(var85
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var85
) /* next on <var85:Iterator[nullable Object]>*/;
1753 BREAK_label94
: (void)0;
1754 ((void (*)(val
*))(var_h
->class->vft
[COLOR_stream__IOS__close
]))(var_h
) /* close on <var_h:OFStream>*/;
1755 var95
= NEW_array__Array(&type_array__Arraystring__String
);
1756 ((void (*)(val
*))(var95
->class->vft
[COLOR_array__Array__init
]))(var95
) /* init on <var95:Array[String]>*/;
1757 CHECK_NEW_array__Array(var95
);
1759 var96
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__files
]))(var_compiler
) /* files on <var_compiler:AbstractCompiler>*/;
1760 var97
= ((val
* (*)(val
*))(var96
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var96
) /* iterator on <var96:List[CodeFile]>*/;
1762 var98
= ((short int (*)(val
*))(var97
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var97
) /* is_ok on <var97:Iterator[nullable Object]>*/;
1764 var99
= ((val
* (*)(val
*))(var97
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var97
) /* item on <var97:Iterator[nullable Object]>*/;
1772 var103
= NEW_array__Array(&type_array__Arraykernel__Object
);
1774 ((void (*)(val
*, long))(var103
->class->vft
[COLOR_array__Array__with_capacity
]))(var103
, var104
) /* with_capacity on <var103:Array[Object]>*/;
1775 CHECK_NEW_array__Array(var103
);
1778 var107
= varonce106
;
1782 var110
= string__NativeString__to_s_with_length(var108
, var109
);
1784 varonce106
= var107
;
1786 ((void (*)(val
*, val
*))(var_105
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_105
, var107
) /* add on <var_105:Array[Object]>*/;
1787 var111
= ((val
* (*)(val
*))(var_f
->class->vft
[COLOR_abstract_compiler__CodeFile__name
]))(var_f
) /* name on <var_f:CodeFile>*/;
1788 ((void (*)(val
*, val
*))(var_105
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_105
, var111
) /* add on <var_105:Array[Object]>*/;
1790 var113
= varonce112
;
1794 var116
= string__NativeString__to_s_with_length(var114
, var115
);
1796 varonce112
= var113
;
1798 ((void (*)(val
*, val
*))(var_105
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_105
, var113
) /* add on <var_105:Array[Object]>*/;
1799 var117
= ((val
* (*)(val
*))(var_105
->class->vft
[COLOR_string__Object__to_s
]))(var_105
) /* to_s on <var_105:Array[Object]>*/;
1800 var_cfilename
= var117
;
1801 var118
= NEW_array__Array(&type_array__Arraykernel__Object
);
1803 ((void (*)(val
*, long))(var118
->class->vft
[COLOR_array__Array__with_capacity
]))(var118
, var119
) /* with_capacity on <var118:Array[Object]>*/;
1804 CHECK_NEW_array__Array(var118
);
1807 var122
= varonce121
;
1811 var125
= string__NativeString__to_s_with_length(var123
, var124
);
1813 varonce121
= var122
;
1815 ((void (*)(val
*, val
*))(var_120
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_120
, var122
) /* add on <var_120:Array[Object]>*/;
1816 ((void (*)(val
*, val
*))(var_120
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_120
, var_compile_dir
) /* add on <var_120:Array[Object]>*/;
1818 var127
= varonce126
;
1822 var130
= string__NativeString__to_s_with_length(var128
, var129
);
1824 varonce126
= var127
;
1826 ((void (*)(val
*, val
*))(var_120
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_120
, var127
) /* add on <var_120:Array[Object]>*/;
1827 ((void (*)(val
*, val
*))(var_120
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_120
, var_cfilename
) /* add on <var_120:Array[Object]>*/;
1829 var132
= varonce131
;
1833 var135
= string__NativeString__to_s_with_length(var133
, var134
);
1835 varonce131
= var132
;
1837 ((void (*)(val
*, val
*))(var_120
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_120
, var132
) /* add on <var_120:Array[Object]>*/;
1838 var136
= ((val
* (*)(val
*))(var_120
->class->vft
[COLOR_string__Object__to_s
]))(var_120
) /* to_s on <var_120:Array[Object]>*/;
1839 var_cfilepath
= var136
;
1840 var137
= NEW_file__OFStream(&type_file__OFStream
);
1841 ((void (*)(val
*, val
*))(var137
->class->vft
[COLOR_file__OFStream__open
]))(var137
, var_cfilepath
) /* open on <var137:OFStream>*/;
1842 CHECK_NEW_file__OFStream(var137
);
1845 var139
= varonce138
;
1847 var140
= "#include \"";
1849 var142
= string__NativeString__to_s_with_length(var140
, var141
);
1851 varonce138
= var139
;
1854 var144
= varonce143
;
1858 var147
= string__NativeString__to_s_with_length(var145
, var146
);
1860 varonce143
= var144
;
1862 var148
= NEW_array__Array(&type_array__Arraykernel__Object
);
1863 { /* var148 = array_instance Array[Object] */
1865 var150
= NEW_array__NativeArray(var149
, &type_array__NativeArraykernel__Object
);
1866 ((struct instance_array__NativeArray
*)var150
)->values
[0] = (val
*) var139
;
1867 ((struct instance_array__NativeArray
*)var150
)->values
[1] = (val
*) var_hfilename
;
1868 ((struct instance_array__NativeArray
*)var150
)->values
[2] = (val
*) var144
;
1869 ((void (*)(val
*, val
*, long))(var148
->class->vft
[COLOR_array__Array__with_native
]))(var148
, var150
, var149
) /* with_native on <var148:Array[Object]>*/;
1870 CHECK_NEW_array__Array(var148
);
1872 var151
= ((val
* (*)(val
*))(var148
->class->vft
[COLOR_string__Object__to_s
]))(var148
) /* to_s on <var148:Array[Object]>*/;
1873 ((void (*)(val
*, val
*))(var_hfile
->class->vft
[COLOR_stream__OStream__write
]))(var_hfile
, var151
) /* write on <var_hfile:nullable OFStream(OFStream)>*/;
1874 var152
= ((val
* (*)(val
*))(var_f
->class->vft
[COLOR_abstract_compiler__CodeFile__required_declarations
]))(var_f
) /* required_declarations on <var_f:CodeFile>*/;
1875 var153
= ((val
* (*)(val
*))(var152
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var152
) /* iterator on <var152:HashSet[String]>*/;
1877 var154
= ((short int (*)(val
*))(var153
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var153
) /* is_ok on <var153:Iterator[nullable Object]>*/;
1879 var155
= ((val
* (*)(val
*))(var153
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var153
) /* item on <var153:Iterator[nullable Object]>*/;
1881 var156
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__provided_declarations
]))(var_compiler
) /* provided_declarations on <var_compiler:AbstractCompiler>*/;
1882 var157
= ((short int (*)(val
*, val
*))(var156
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var156
, var_key
) /* has_key on <var156:HashMap[String, String]>*/;
1886 var160
= varonce159
;
1888 var161
= "No provided declaration for ";
1890 var163
= string__NativeString__to_s_with_length(var161
, var162
);
1892 varonce159
= var160
;
1894 var164
= NEW_array__Array(&type_array__Arraykernel__Object
);
1895 { /* var164 = array_instance Array[Object] */
1897 var166
= NEW_array__NativeArray(var165
, &type_array__NativeArraykernel__Object
);
1898 ((struct instance_array__NativeArray
*)var166
)->values
[0] = (val
*) var160
;
1899 ((struct instance_array__NativeArray
*)var166
)->values
[1] = (val
*) var_key
;
1900 ((void (*)(val
*, val
*, long))(var164
->class->vft
[COLOR_array__Array__with_native
]))(var164
, var166
, var165
) /* with_native on <var164:Array[Object]>*/;
1901 CHECK_NEW_array__Array(var164
);
1903 var167
= ((val
* (*)(val
*))(var164
->class->vft
[COLOR_string__Object__to_s
]))(var164
) /* to_s on <var164:Array[Object]>*/;
1904 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__print
]))(self
, var167
) /* print on <self:ModelBuilder>*/;
1905 fprintf(stderr
, "Runtime error: %s", "Aborted");
1906 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 148);
1910 var168
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__provided_declarations
]))(var_compiler
) /* provided_declarations on <var_compiler:AbstractCompiler>*/;
1911 var169
= ((val
* (*)(val
*, val
*))(var168
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var168
, var_key
) /* [] on <var168:HashMap[String, String]>*/;
1912 ((void (*)(val
*, val
*))(var_hfile
->class->vft
[COLOR_stream__OStream__write
]))(var_hfile
, var169
) /* write on <var_hfile:nullable OFStream(OFStream)>*/;
1914 var171
= varonce170
;
1918 var174
= string__NativeString__to_s_with_length(var172
, var173
);
1920 varonce170
= var171
;
1922 ((void (*)(val
*, val
*))(var_hfile
->class->vft
[COLOR_stream__OStream__write
]))(var_hfile
, var171
) /* write on <var_hfile:nullable OFStream(OFStream)>*/;
1923 CONTINUE_label175
: (void)0;
1924 ((void (*)(val
*))(var153
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var153
) /* next on <var153:Iterator[nullable Object]>*/;
1926 BREAK_label175
: (void)0;
1927 ((void (*)(val
*))(var_hfile
->class->vft
[COLOR_stream__IOS__close
]))(var_hfile
) /* close on <var_hfile:nullable OFStream(OFStream)>*/;
1930 var177
= ((val
* (*)(val
*))(var_f
->class->vft
[COLOR_abstract_compiler__CodeFile__writers
]))(var_f
) /* writers on <var_f:CodeFile>*/;
1931 var178
= ((val
* (*)(val
*))(var177
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var177
) /* iterator on <var177:Array[CodeWriter]>*/;
1933 var179
= ((short int (*)(val
*))(var178
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var178
) /* is_ok on <var178:Iterator[nullable Object]>*/;
1935 var180
= ((val
* (*)(val
*))(var178
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var178
) /* item on <var178:Iterator[nullable Object]>*/;
1937 var181
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var_compiler
) /* header on <var_compiler:AbstractCompiler>*/;
1938 var182
= ((short int (*)(val
*, val
*))(var_vis
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_vis
, var181
) /* == on <var_vis:CodeWriter>*/;
1940 goto CONTINUE_label183
;
1943 var184
= ((val
* (*)(val
*))(var_vis
->class->vft
[COLOR_abstract_compiler__CodeWriter__lines
]))(var_vis
) /* lines on <var_vis:CodeWriter>*/;
1944 var185
= ((long (*)(val
*))(var184
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var184
) /* length on <var184:List[String]>*/;
1945 var186
= ((val
* (*)(val
*))(var_vis
->class->vft
[COLOR_abstract_compiler__CodeWriter__decl_lines
]))(var_vis
) /* decl_lines on <var_vis:CodeWriter>*/;
1946 var187
= ((long (*)(val
*))(var186
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var186
) /* length on <var186:List[String]>*/;
1947 { /* Inline kernel#Int#+ (var185,var187) */
1948 var190
= var185
+ var187
;
1951 RET_LABEL189
:(void)0;
1953 var_total_lines
= var188
;
1955 { /* Inline kernel#Int#== (var_total_lines,var191) */
1956 var194
= var_total_lines
== var191
;
1959 RET_LABEL193
:(void)0;
1962 goto CONTINUE_label183
;
1965 { /* Inline kernel#Int#+ (var_count,var_total_lines) */
1966 var197
= var_count
+ var_total_lines
;
1969 RET_LABEL196
:(void)0;
1973 if (var_file
== NULL
) {
1974 var200
= 1; /* is null */
1976 var200
= 0; /* arg is null but recv is not */
1983 { /* Inline kernel#Int#> (var_count,var202) */
1984 /* Covariant cast for argument 0 (i) <var202:Int> isa OTHER */
1985 /* <var202:Int> isa OTHER */
1986 var205
= 1; /* easy <var202:Int> isa OTHER*/
1988 var_class_name
= type_kernel__Int
.name
;
1989 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1990 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
1993 var206
= var_count
> var202
;
1996 RET_LABEL204
:(void)0;
2002 { /* Inline kernel#Int#+ (var_i,var207) */
2003 var210
= var_i
+ var207
;
2006 RET_LABEL209
:(void)0;
2010 if (var_file
== NULL
) {
2011 var212
= 0; /* is null */
2013 var212
= 1; /* arg is null and recv is not */
2016 ((void (*)(val
*))(var_file
->class->vft
[COLOR_stream__IOS__close
]))(var_file
) /* close on <var_file:nullable OFStream(OFStream)>*/;
2019 var213
= NEW_array__Array(&type_array__Arraykernel__Object
);
2021 ((void (*)(val
*, long))(var213
->class->vft
[COLOR_array__Array__with_capacity
]))(var213
, var214
) /* with_capacity on <var213:Array[Object]>*/;
2022 CHECK_NEW_array__Array(var213
);
2025 var217
= varonce216
;
2029 var220
= string__NativeString__to_s_with_length(var218
, var219
);
2031 varonce216
= var217
;
2033 ((void (*)(val
*, val
*))(var_215
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_215
, var217
) /* add on <var_215:Array[Object]>*/;
2034 var221
= ((val
* (*)(val
*))(var_f
->class->vft
[COLOR_abstract_compiler__CodeFile__name
]))(var_f
) /* name on <var_f:CodeFile>*/;
2035 ((void (*)(val
*, val
*))(var_215
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_215
, var221
) /* add on <var_215:Array[Object]>*/;
2037 var223
= varonce222
;
2041 var226
= string__NativeString__to_s_with_length(var224
, var225
);
2043 varonce222
= var223
;
2045 ((void (*)(val
*, val
*))(var_215
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_215
, var223
) /* add on <var_215:Array[Object]>*/;
2046 var227
= BOX_kernel__Int(var_i
); /* autobox from Int to nullable Object */
2047 ((void (*)(val
*, val
*))(var_215
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_215
, var227
) /* add on <var_215:Array[Object]>*/;
2049 var229
= varonce228
;
2053 var232
= string__NativeString__to_s_with_length(var230
, var231
);
2055 varonce228
= var229
;
2057 ((void (*)(val
*, val
*))(var_215
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_215
, var229
) /* add on <var_215:Array[Object]>*/;
2058 var233
= ((val
* (*)(val
*))(var_215
->class->vft
[COLOR_string__Object__to_s
]))(var_215
) /* to_s on <var_215:Array[Object]>*/;
2059 var_cfilename
= var233
;
2060 var234
= NEW_array__Array(&type_array__Arraykernel__Object
);
2062 ((void (*)(val
*, long))(var234
->class->vft
[COLOR_array__Array__with_capacity
]))(var234
, var235
) /* with_capacity on <var234:Array[Object]>*/;
2063 CHECK_NEW_array__Array(var234
);
2066 var238
= varonce237
;
2070 var241
= string__NativeString__to_s_with_length(var239
, var240
);
2072 varonce237
= var238
;
2074 ((void (*)(val
*, val
*))(var_236
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_236
, var238
) /* add on <var_236:Array[Object]>*/;
2075 ((void (*)(val
*, val
*))(var_236
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_236
, var_compile_dir
) /* add on <var_236:Array[Object]>*/;
2077 var243
= varonce242
;
2081 var246
= string__NativeString__to_s_with_length(var244
, var245
);
2083 varonce242
= var243
;
2085 ((void (*)(val
*, val
*))(var_236
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_236
, var243
) /* add on <var_236:Array[Object]>*/;
2086 ((void (*)(val
*, val
*))(var_236
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_236
, var_cfilename
) /* add on <var_236:Array[Object]>*/;
2088 var248
= varonce247
;
2092 var251
= string__NativeString__to_s_with_length(var249
, var250
);
2094 varonce247
= var248
;
2096 ((void (*)(val
*, val
*))(var_236
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_236
, var248
) /* add on <var_236:Array[Object]>*/;
2097 var252
= ((val
* (*)(val
*))(var_236
->class->vft
[COLOR_string__Object__to_s
]))(var_236
) /* to_s on <var_236:Array[Object]>*/;
2098 var_cfilepath
= var252
;
2099 var253
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2101 var255
= varonce254
;
2103 var256
= "new C source files to compile: ";
2105 var258
= string__NativeString__to_s_with_length(var256
, var257
);
2107 varonce254
= var255
;
2109 var259
= NEW_array__Array(&type_array__Arraykernel__Object
);
2110 { /* var259 = array_instance Array[Object] */
2112 var261
= NEW_array__NativeArray(var260
, &type_array__NativeArraykernel__Object
);
2113 ((struct instance_array__NativeArray
*)var261
)->values
[0] = (val
*) var255
;
2114 ((struct instance_array__NativeArray
*)var261
)->values
[1] = (val
*) var_cfilepath
;
2115 ((void (*)(val
*, val
*, long))(var259
->class->vft
[COLOR_array__Array__with_native
]))(var259
, var261
, var260
) /* with_native on <var259:Array[Object]>*/;
2116 CHECK_NEW_array__Array(var259
);
2118 var262
= ((val
* (*)(val
*))(var259
->class->vft
[COLOR_string__Object__to_s
]))(var259
) /* to_s on <var259:Array[Object]>*/;
2120 ((void (*)(val
*, val
*, long))(var253
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var253
, var262
, var263
) /* info on <var253:ToolContext>*/;
2121 ((void (*)(val
*, val
*))(var_cfiles
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_cfiles
, var_cfilename
) /* add on <var_cfiles:Array[String]>*/;
2122 var264
= NEW_file__OFStream(&type_file__OFStream
);
2123 ((void (*)(val
*, val
*))(var264
->class->vft
[COLOR_file__OFStream__open
]))(var264
, var_cfilepath
) /* open on <var264:OFStream>*/;
2124 CHECK_NEW_file__OFStream(var264
);
2127 var266
= varonce265
;
2129 var267
= "#include \"";
2131 var269
= string__NativeString__to_s_with_length(var267
, var268
);
2133 varonce265
= var266
;
2135 var270
= ((val
* (*)(val
*))(var_f
->class->vft
[COLOR_abstract_compiler__CodeFile__name
]))(var_f
) /* name on <var_f:CodeFile>*/;
2137 var272
= varonce271
;
2139 var273
= ".0.h\"\n";
2141 var275
= string__NativeString__to_s_with_length(var273
, var274
);
2143 varonce271
= var272
;
2145 var276
= NEW_array__Array(&type_array__Arraykernel__Object
);
2146 { /* var276 = array_instance Array[Object] */
2148 var278
= NEW_array__NativeArray(var277
, &type_array__NativeArraykernel__Object
);
2149 ((struct instance_array__NativeArray
*)var278
)->values
[0] = (val
*) var266
;
2150 ((struct instance_array__NativeArray
*)var278
)->values
[1] = (val
*) var270
;
2151 ((struct instance_array__NativeArray
*)var278
)->values
[2] = (val
*) var272
;
2152 ((void (*)(val
*, val
*, long))(var276
->class->vft
[COLOR_array__Array__with_native
]))(var276
, var278
, var277
) /* with_native on <var276:Array[Object]>*/;
2153 CHECK_NEW_array__Array(var276
);
2155 var279
= ((val
* (*)(val
*))(var276
->class->vft
[COLOR_string__Object__to_s
]))(var276
) /* to_s on <var276:Array[Object]>*/;
2156 ((void (*)(val
*, val
*))(var_file
->class->vft
[COLOR_stream__OStream__write
]))(var_file
, var279
) /* write on <var_file:nullable OFStream(OFStream)>*/;
2157 var_count
= var_total_lines
;
2160 var280
= ((val
* (*)(val
*))(var_vis
->class->vft
[COLOR_abstract_compiler__CodeWriter__decl_lines
]))(var_vis
) /* decl_lines on <var_vis:CodeWriter>*/;
2161 var281
= ((val
* (*)(val
*))(var280
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var280
) /* iterator on <var280:List[String]>*/;
2163 var282
= ((short int (*)(val
*))(var281
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var281
) /* is_ok on <var281:Iterator[nullable Object]>*/;
2165 var283
= ((val
* (*)(val
*))(var281
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var281
) /* item on <var281:Iterator[nullable Object]>*/;
2167 ((void (*)(val
*, val
*))(var_file
->class->vft
[COLOR_stream__OStream__write
]))(var_file
, var_l284
) /* write on <var_file:nullable OFStream(OFStream)>*/;
2169 var286
= varonce285
;
2173 var289
= string__NativeString__to_s_with_length(var287
, var288
);
2175 varonce285
= var286
;
2177 ((void (*)(val
*, val
*))(var_file
->class->vft
[COLOR_stream__OStream__write
]))(var_file
, var286
) /* write on <var_file:nullable OFStream(OFStream)>*/;
2178 CONTINUE_label290
: (void)0;
2179 ((void (*)(val
*))(var281
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var281
) /* next on <var281:Iterator[nullable Object]>*/;
2181 BREAK_label290
: (void)0;
2182 var291
= ((val
* (*)(val
*))(var_vis
->class->vft
[COLOR_abstract_compiler__CodeWriter__lines
]))(var_vis
) /* lines on <var_vis:CodeWriter>*/;
2183 var292
= ((val
* (*)(val
*))(var291
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var291
) /* iterator on <var291:List[String]>*/;
2185 var293
= ((short int (*)(val
*))(var292
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var292
) /* is_ok on <var292:Iterator[nullable Object]>*/;
2187 var294
= ((val
* (*)(val
*))(var292
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var292
) /* item on <var292:Iterator[nullable Object]>*/;
2189 ((void (*)(val
*, val
*))(var_file
->class->vft
[COLOR_stream__OStream__write
]))(var_file
, var_l295
) /* write on <var_file:nullable OFStream(OFStream)>*/;
2191 var297
= varonce296
;
2195 var300
= string__NativeString__to_s_with_length(var298
, var299
);
2197 varonce296
= var297
;
2199 ((void (*)(val
*, val
*))(var_file
->class->vft
[COLOR_stream__OStream__write
]))(var_file
, var297
) /* write on <var_file:nullable OFStream(OFStream)>*/;
2200 CONTINUE_label301
: (void)0;
2201 ((void (*)(val
*))(var292
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var292
) /* next on <var292:Iterator[nullable Object]>*/;
2203 BREAK_label301
: (void)0;
2204 CONTINUE_label183
: (void)0;
2205 ((void (*)(val
*))(var178
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var178
) /* next on <var178:Iterator[nullable Object]>*/;
2207 BREAK_label183
: (void)0;
2209 if (var_file
== NULL
) {
2210 var303
= 0; /* is null */
2212 var303
= 1; /* arg is null and recv is not */
2215 ((void (*)(val
*))(var_file
->class->vft
[COLOR_stream__IOS__close
]))(var_file
) /* close on <var_file:nullable OFStream(OFStream)>*/;
2218 CONTINUE_label304
: (void)0;
2219 ((void (*)(val
*))(var97
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var97
) /* next on <var97:Iterator[nullable Object]>*/;
2221 BREAK_label304
: (void)0;
2222 var305
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2224 var307
= varonce306
;
2226 var308
= "Total C source files to compile: ";
2228 var310
= string__NativeString__to_s_with_length(var308
, var309
);
2230 varonce306
= var307
;
2232 var311
= ((long (*)(val
*))(var_cfiles
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_cfiles
) /* length on <var_cfiles:Array[String]>*/;
2233 var312
= NEW_array__Array(&type_array__Arraykernel__Object
);
2234 { /* var312 = array_instance Array[Object] */
2236 var314
= NEW_array__NativeArray(var313
, &type_array__NativeArraykernel__Object
);
2237 ((struct instance_array__NativeArray
*)var314
)->values
[0] = (val
*) var307
;
2238 var315
= BOX_kernel__Int(var311
); /* autobox from Int to Object */
2239 ((struct instance_array__NativeArray
*)var314
)->values
[1] = (val
*) var315
;
2240 ((void (*)(val
*, val
*, long))(var312
->class->vft
[COLOR_array__Array__with_native
]))(var312
, var314
, var313
) /* with_native on <var312:Array[Object]>*/;
2241 CHECK_NEW_array__Array(var312
);
2243 var316
= ((val
* (*)(val
*))(var312
->class->vft
[COLOR_string__Object__to_s
]))(var312
) /* to_s on <var312:Array[Object]>*/;
2245 ((void (*)(val
*, val
*, long))(var305
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var305
, var316
, var317
) /* info on <var305:ToolContext>*/;
2246 var318
= NEW_array__Array(&type_array__Arraykernel__Object
);
2248 ((void (*)(val
*, long))(var318
->class->vft
[COLOR_array__Array__with_capacity
]))(var318
, var319
) /* with_capacity on <var318:Array[Object]>*/;
2249 CHECK_NEW_array__Array(var318
);
2252 var322
= varonce321
;
2256 var325
= string__NativeString__to_s_with_length(var323
, var324
);
2258 varonce321
= var322
;
2260 ((void (*)(val
*, val
*))(var_320
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_320
, var322
) /* add on <var_320:Array[Object]>*/;
2261 var326
= ((val
* (*)(val
*))(var_mainmodule
->class->vft
[COLOR_model_base__MModule__name
]))(var_mainmodule
) /* name on <var_mainmodule:MModule>*/;
2262 ((void (*)(val
*, val
*))(var_320
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_320
, var326
) /* add on <var_320:Array[Object]>*/;
2264 var328
= varonce327
;
2268 var331
= string__NativeString__to_s_with_length(var329
, var330
);
2270 varonce327
= var328
;
2272 ((void (*)(val
*, val
*))(var_320
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_320
, var328
) /* add on <var_320:Array[Object]>*/;
2273 var332
= ((val
* (*)(val
*))(var_320
->class->vft
[COLOR_string__Object__to_s
]))(var_320
) /* to_s on <var_320:Array[Object]>*/;
2274 var_makename
= var332
;
2275 var333
= NEW_array__Array(&type_array__Arraykernel__Object
);
2277 ((void (*)(val
*, long))(var333
->class->vft
[COLOR_array__Array__with_capacity
]))(var333
, var334
) /* with_capacity on <var333:Array[Object]>*/;
2278 CHECK_NEW_array__Array(var333
);
2281 var337
= varonce336
;
2285 var340
= string__NativeString__to_s_with_length(var338
, var339
);
2287 varonce336
= var337
;
2289 ((void (*)(val
*, val
*))(var_335
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_335
, var337
) /* add on <var_335:Array[Object]>*/;
2290 ((void (*)(val
*, val
*))(var_335
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_335
, var_compile_dir
) /* add on <var_335:Array[Object]>*/;
2292 var342
= varonce341
;
2296 var345
= string__NativeString__to_s_with_length(var343
, var344
);
2298 varonce341
= var342
;
2300 ((void (*)(val
*, val
*))(var_335
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_335
, var342
) /* add on <var_335:Array[Object]>*/;
2301 ((void (*)(val
*, val
*))(var_335
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_335
, var_makename
) /* add on <var_335:Array[Object]>*/;
2303 var347
= varonce346
;
2307 var350
= string__NativeString__to_s_with_length(var348
, var349
);
2309 varonce346
= var347
;
2311 ((void (*)(val
*, val
*))(var_335
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_335
, var347
) /* add on <var_335:Array[Object]>*/;
2312 var351
= ((val
* (*)(val
*))(var_335
->class->vft
[COLOR_string__Object__to_s
]))(var_335
) /* to_s on <var_335:Array[Object]>*/;
2313 var_makepath
= var351
;
2314 var352
= NEW_file__OFStream(&type_file__OFStream
);
2315 ((void (*)(val
*, val
*))(var352
->class->vft
[COLOR_file__OFStream__open
]))(var352
, var_makepath
) /* open on <var352:OFStream>*/;
2316 CHECK_NEW_file__OFStream(var352
);
2317 var_makefile
= var352
;
2319 var354
= varonce353
;
2323 var357
= string__NativeString__to_s_with_length(var355
, var356
);
2325 varonce353
= var354
;
2327 var_cc_includes
= var354
;
2328 var358
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ModelBuilder__cc_paths
]))(self
) /* cc_paths on <self:ModelBuilder>*/;
2329 var359
= ((val
* (*)(val
*))(var358
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var358
) /* iterator on <var358:Array[String]>*/;
2331 var360
= ((short int (*)(val
*))(var359
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var359
) /* is_ok on <var359:Iterator[nullable Object]>*/;
2333 var361
= ((val
* (*)(val
*))(var359
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var359
) /* item on <var359:Iterator[nullable Object]>*/;
2335 var362
= ((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>*/;
2336 var363
= ((val
* (*)(val
*))(var362
->class->vft
[COLOR_file__String__simplify_path
]))(var362
) /* simplify_path on <var362:String>*/;
2339 var365
= varonce364
;
2343 var368
= string__NativeString__to_s_with_length(var366
, var367
);
2345 varonce364
= var365
;
2347 var369
= ((val
* (*)(val
*, val
*))(var365
->class->vft
[COLOR_string__String___43d
]))(var365
, var_p
) /* + on <var365:String>*/;
2349 var371
= varonce370
;
2353 var374
= string__NativeString__to_s_with_length(var372
, var373
);
2355 varonce370
= var371
;
2357 var375
= ((val
* (*)(val
*, val
*))(var369
->class->vft
[COLOR_string__String___43d
]))(var369
, var371
) /* + on <var369:String>*/;
2358 var376
= ((val
* (*)(val
*, val
*))(var_cc_includes
->class->vft
[COLOR_string__String___43d
]))(var_cc_includes
, var375
) /* + on <var_cc_includes:String>*/;
2359 var_cc_includes
= var376
;
2360 CONTINUE_label377
: (void)0;
2361 ((void (*)(val
*))(var359
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var359
) /* next on <var359:Iterator[nullable Object]>*/;
2363 BREAK_label377
: (void)0;
2365 var379
= varonce378
;
2367 var380
= "CC = ccache cc\nCFLAGS = -g -O2\nCINCL = ";
2369 var382
= string__NativeString__to_s_with_length(var380
, var381
);
2371 varonce378
= var379
;
2374 var384
= varonce383
;
2376 var385
= "\nLDFLAGS ?= \nLDLIBS ?= -lm -lgc\n\n";
2378 var387
= string__NativeString__to_s_with_length(var385
, var386
);
2380 varonce383
= var384
;
2382 var388
= NEW_array__Array(&type_array__Arraykernel__Object
);
2383 { /* var388 = array_instance Array[Object] */
2385 var390
= NEW_array__NativeArray(var389
, &type_array__NativeArraykernel__Object
);
2386 ((struct instance_array__NativeArray
*)var390
)->values
[0] = (val
*) var379
;
2387 ((struct instance_array__NativeArray
*)var390
)->values
[1] = (val
*) var_cc_includes
;
2388 ((struct instance_array__NativeArray
*)var390
)->values
[2] = (val
*) var384
;
2389 ((void (*)(val
*, val
*, long))(var388
->class->vft
[COLOR_array__Array__with_native
]))(var388
, var390
, var389
) /* with_native on <var388:Array[Object]>*/;
2390 CHECK_NEW_array__Array(var388
);
2392 var391
= ((val
* (*)(val
*))(var388
->class->vft
[COLOR_string__Object__to_s
]))(var388
) /* to_s on <var388:Array[Object]>*/;
2393 ((void (*)(val
*, val
*))(var_makefile
->class->vft
[COLOR_stream__OStream__write
]))(var_makefile
, var391
) /* write on <var_makefile:OFStream>*/;
2395 var393
= varonce392
;
2399 var396
= string__NativeString__to_s_with_length(var394
, var395
);
2401 varonce392
= var393
;
2404 var398
= varonce397
;
2408 var401
= string__NativeString__to_s_with_length(var399
, var400
);
2410 varonce397
= var398
;
2412 var402
= NEW_array__Array(&type_array__Arraykernel__Object
);
2413 { /* var402 = array_instance Array[Object] */
2415 var404
= NEW_array__NativeArray(var403
, &type_array__NativeArraykernel__Object
);
2416 ((struct instance_array__NativeArray
*)var404
)->values
[0] = (val
*) var393
;
2417 ((struct instance_array__NativeArray
*)var404
)->values
[1] = (val
*) var_outpath
;
2418 ((struct instance_array__NativeArray
*)var404
)->values
[2] = (val
*) var398
;
2419 ((void (*)(val
*, val
*, long))(var402
->class->vft
[COLOR_array__Array__with_native
]))(var402
, var404
, var403
) /* with_native on <var402:Array[Object]>*/;
2420 CHECK_NEW_array__Array(var402
);
2422 var405
= ((val
* (*)(val
*))(var402
->class->vft
[COLOR_string__Object__to_s
]))(var402
) /* to_s on <var402:Array[Object]>*/;
2423 ((void (*)(val
*, val
*))(var_makefile
->class->vft
[COLOR_stream__OStream__write
]))(var_makefile
, var405
) /* write on <var_makefile:OFStream>*/;
2424 var406
= NEW_array__Array(&type_array__Arraystring__String
);
2425 ((void (*)(val
*))(var406
->class->vft
[COLOR_array__Array__init
]))(var406
) /* init on <var406:Array[String]>*/;
2426 CHECK_NEW_array__Array(var406
);
2427 var_ofiles
= var406
;
2428 var407
= ((val
* (*)(val
*))(var_cfiles
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_cfiles
) /* iterator on <var_cfiles:Array[String]>*/;
2430 var408
= ((short int (*)(val
*))(var407
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var407
) /* is_ok on <var407:Iterator[nullable Object]>*/;
2432 var409
= ((val
* (*)(val
*))(var407
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var407
) /* item on <var407:Iterator[nullable Object]>*/;
2435 var412
= varonce411
;
2439 var415
= string__NativeString__to_s_with_length(var413
, var414
);
2441 varonce411
= var412
;
2443 var416
= ((val
* (*)(val
*, val
*))(var_f410
->class->vft
[COLOR_file__String__strip_extension
]))(var_f410
, var412
) /* strip_extension on <var_f410:String>*/;
2445 var418
= varonce417
;
2449 var421
= string__NativeString__to_s_with_length(var419
, var420
);
2451 varonce417
= var418
;
2453 var422
= ((val
* (*)(val
*, val
*))(var416
->class->vft
[COLOR_string__String___43d
]))(var416
, var418
) /* + on <var416:String>*/;
2456 var424
= varonce423
;
2460 var427
= string__NativeString__to_s_with_length(var425
, var426
);
2462 varonce423
= var424
;
2465 var429
= varonce428
;
2467 var430
= "\n\11$(CC) $(CFLAGS) $(CINCL) -D NONITCNI -c -o ";
2469 var432
= string__NativeString__to_s_with_length(var430
, var431
);
2471 varonce428
= var429
;
2474 var434
= varonce433
;
2478 var437
= string__NativeString__to_s_with_length(var435
, var436
);
2480 varonce433
= var434
;
2483 var439
= varonce438
;
2487 var442
= string__NativeString__to_s_with_length(var440
, var441
);
2489 varonce438
= var439
;
2491 var443
= NEW_array__Array(&type_array__Arraykernel__Object
);
2492 { /* var443 = array_instance Array[Object] */
2494 var445
= NEW_array__NativeArray(var444
, &type_array__NativeArraykernel__Object
);
2495 ((struct instance_array__NativeArray
*)var445
)->values
[0] = (val
*) var_o
;
2496 ((struct instance_array__NativeArray
*)var445
)->values
[1] = (val
*) var424
;
2497 ((struct instance_array__NativeArray
*)var445
)->values
[2] = (val
*) var_f410
;
2498 ((struct instance_array__NativeArray
*)var445
)->values
[3] = (val
*) var429
;
2499 ((struct instance_array__NativeArray
*)var445
)->values
[4] = (val
*) var_o
;
2500 ((struct instance_array__NativeArray
*)var445
)->values
[5] = (val
*) var434
;
2501 ((struct instance_array__NativeArray
*)var445
)->values
[6] = (val
*) var_f410
;
2502 ((struct instance_array__NativeArray
*)var445
)->values
[7] = (val
*) var439
;
2503 ((void (*)(val
*, val
*, long))(var443
->class->vft
[COLOR_array__Array__with_native
]))(var443
, var445
, var444
) /* with_native on <var443:Array[Object]>*/;
2504 CHECK_NEW_array__Array(var443
);
2506 var446
= ((val
* (*)(val
*))(var443
->class->vft
[COLOR_string__Object__to_s
]))(var443
) /* to_s on <var443:Array[Object]>*/;
2507 ((void (*)(val
*, val
*))(var_makefile
->class->vft
[COLOR_stream__OStream__write
]))(var_makefile
, var446
) /* write on <var_makefile:OFStream>*/;
2508 ((void (*)(val
*, val
*))(var_ofiles
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_ofiles
, var_o
) /* add on <var_ofiles:Array[String]>*/;
2509 CONTINUE_label447
: (void)0;
2510 ((void (*)(val
*))(var407
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var407
) /* next on <var407:Iterator[nullable Object]>*/;
2512 BREAK_label447
: (void)0;
2513 var448
= NEW_abstract_compiler__ExternCFile(&type_abstract_compiler__ExternCFile
);
2514 var449
= NEW_array__Array(&type_array__Arraykernel__Object
);
2516 ((void (*)(val
*, long))(var449
->class->vft
[COLOR_array__Array__with_capacity
]))(var449
, var450
) /* with_capacity on <var449:Array[Object]>*/;
2517 CHECK_NEW_array__Array(var449
);
2520 var453
= varonce452
;
2524 var456
= string__NativeString__to_s_with_length(var454
, var455
);
2526 varonce452
= var453
;
2528 ((void (*)(val
*, val
*))(var_451
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_451
, var453
) /* add on <var_451:Array[Object]>*/;
2529 var457
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ModelBuilder__cc_paths
]))(self
) /* cc_paths on <self:ModelBuilder>*/;
2530 var458
= ((val
* (*)(val
*))(var457
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var457
) /* first on <var457:Array[String]>*/;
2531 ((void (*)(val
*, val
*))(var_451
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_451
, var458
) /* add on <var_451:Array[Object]>*/;
2533 var460
= varonce459
;
2535 var461
= "/gc_chooser.c";
2537 var463
= string__NativeString__to_s_with_length(var461
, var462
);
2539 varonce459
= var460
;
2541 ((void (*)(val
*, val
*))(var_451
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_451
, var460
) /* add on <var_451:Array[Object]>*/;
2542 var464
= ((val
* (*)(val
*))(var_451
->class->vft
[COLOR_string__Object__to_s
]))(var_451
) /* to_s on <var_451:Array[Object]>*/;
2544 var466
= varonce465
;
2546 var467
= "-DWITH_LIBGC";
2548 var469
= string__NativeString__to_s_with_length(var467
, var468
);
2550 varonce465
= var466
;
2552 ((void (*)(val
*, val
*, val
*))(var448
->class->vft
[COLOR_abstract_compiler__ExternCFile__init
]))(var448
, var464
, var466
) /* init on <var448:ExternCFile>*/;
2553 CHECK_NEW_abstract_compiler__ExternCFile(var448
);
2554 var_gc_chooser
= var448
;
2555 var470
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__extern_bodies
]))(var_compiler
) /* extern_bodies on <var_compiler:AbstractCompiler>*/;
2556 ((void (*)(val
*, val
*))(var470
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var470
, var_gc_chooser
) /* add on <var470:Array[ExternCFile]>*/;
2557 var471
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__extern_bodies
]))(var_compiler
) /* extern_bodies on <var_compiler:AbstractCompiler>*/;
2558 var472
= ((val
* (*)(val
*))(var471
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var471
) /* iterator on <var471:Array[ExternCFile]>*/;
2560 var473
= ((short int (*)(val
*))(var472
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var472
) /* is_ok on <var472:Iterator[nullable Object]>*/;
2562 var474
= ((val
* (*)(val
*))(var472
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var472
) /* item on <var472:Iterator[nullable Object]>*/;
2564 var476
= ((val
* (*)(val
*))(var_f475
->class->vft
[COLOR_abstract_compiler__ExternCFile__filename
]))(var_f475
) /* filename on <var_f475:ExternCFile>*/;
2566 var478
= varonce477
;
2570 var481
= string__NativeString__to_s_with_length(var479
, var480
);
2572 varonce477
= var478
;
2574 var482
= ((val
* (*)(val
*, val
*))(var476
->class->vft
[COLOR_file__String__basename
]))(var476
, var478
) /* basename on <var476:String>*/;
2575 var_basename
= var482
;
2576 var483
= NEW_array__Array(&type_array__Arraykernel__Object
);
2578 ((void (*)(val
*, long))(var483
->class->vft
[COLOR_array__Array__with_capacity
]))(var483
, var484
) /* with_capacity on <var483:Array[Object]>*/;
2579 CHECK_NEW_array__Array(var483
);
2582 var487
= varonce486
;
2586 var490
= string__NativeString__to_s_with_length(var488
, var489
);
2588 varonce486
= var487
;
2590 ((void (*)(val
*, val
*))(var_485
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_485
, var487
) /* add on <var_485:Array[Object]>*/;
2591 ((void (*)(val
*, val
*))(var_485
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_485
, var_basename
) /* add on <var_485:Array[Object]>*/;
2593 var492
= varonce491
;
2595 var493
= ".extern.o";
2597 var495
= string__NativeString__to_s_with_length(var493
, var494
);
2599 varonce491
= var492
;
2601 ((void (*)(val
*, val
*))(var_485
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_485
, var492
) /* add on <var_485:Array[Object]>*/;
2602 var496
= ((val
* (*)(val
*))(var_485
->class->vft
[COLOR_string__Object__to_s
]))(var_485
) /* to_s on <var_485:Array[Object]>*/;
2604 var498
= ((val
* (*)(val
*))(var_f475
->class->vft
[COLOR_abstract_compiler__ExternCFile__filename
]))(var_f475
) /* filename on <var_f475:ExternCFile>*/;
2605 var499
= ((val
* (*)(val
*, val
*))(var_orig_dir
->class->vft
[COLOR_file__String__join_path
]))(var_orig_dir
, var498
) /* join_path on <var_orig_dir:String>*/;
2606 var500
= ((val
* (*)(val
*))(var499
->class->vft
[COLOR_file__String__simplify_path
]))(var499
) /* simplify_path on <var499:String>*/;
2609 var502
= varonce501
;
2613 var505
= string__NativeString__to_s_with_length(var503
, var504
);
2615 varonce501
= var502
;
2618 var507
= varonce506
;
2620 var508
= "\n\11$(CC) $(CFLAGS) -D NONITCNI ";
2622 var510
= string__NativeString__to_s_with_length(var508
, var509
);
2624 varonce506
= var507
;
2626 var511
= ((val
* (*)(val
*))(var_f475
->class->vft
[COLOR_abstract_compiler__ExternCFile__cflags
]))(var_f475
) /* cflags on <var_f475:ExternCFile>*/;
2628 var513
= varonce512
;
2632 var516
= string__NativeString__to_s_with_length(var514
, var515
);
2634 varonce512
= var513
;
2637 var518
= varonce517
;
2641 var521
= string__NativeString__to_s_with_length(var519
, var520
);
2643 varonce517
= var518
;
2646 var523
= varonce522
;
2650 var526
= string__NativeString__to_s_with_length(var524
, var525
);
2652 varonce522
= var523
;
2654 var527
= NEW_array__Array(&type_array__Arraykernel__Object
);
2655 { /* var527 = array_instance Array[Object] */
2657 var529
= NEW_array__NativeArray(var528
, &type_array__NativeArraykernel__Object
);
2658 ((struct instance_array__NativeArray
*)var529
)->values
[0] = (val
*) var_o497
;
2659 ((struct instance_array__NativeArray
*)var529
)->values
[1] = (val
*) var502
;
2660 ((struct instance_array__NativeArray
*)var529
)->values
[2] = (val
*) var_ff
;
2661 ((struct instance_array__NativeArray
*)var529
)->values
[3] = (val
*) var507
;
2662 ((struct instance_array__NativeArray
*)var529
)->values
[4] = (val
*) var511
;
2663 ((struct instance_array__NativeArray
*)var529
)->values
[5] = (val
*) var513
;
2664 ((struct instance_array__NativeArray
*)var529
)->values
[6] = (val
*) var_o497
;
2665 ((struct instance_array__NativeArray
*)var529
)->values
[7] = (val
*) var518
;
2666 ((struct instance_array__NativeArray
*)var529
)->values
[8] = (val
*) var_ff
;
2667 ((struct instance_array__NativeArray
*)var529
)->values
[9] = (val
*) var523
;
2668 ((void (*)(val
*, val
*, long))(var527
->class->vft
[COLOR_array__Array__with_native
]))(var527
, var529
, var528
) /* with_native on <var527:Array[Object]>*/;
2669 CHECK_NEW_array__Array(var527
);
2671 var530
= ((val
* (*)(val
*))(var527
->class->vft
[COLOR_string__Object__to_s
]))(var527
) /* to_s on <var527:Array[Object]>*/;
2672 ((void (*)(val
*, val
*))(var_makefile
->class->vft
[COLOR_stream__OStream__write
]))(var_makefile
, var530
) /* write on <var_makefile:OFStream>*/;
2673 ((void (*)(val
*, val
*))(var_ofiles
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_ofiles
, var_o497
) /* add on <var_ofiles:Array[String]>*/;
2674 CONTINUE_label531
: (void)0;
2675 ((void (*)(val
*))(var472
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var472
) /* next on <var472:Iterator[nullable Object]>*/;
2677 BREAK_label531
: (void)0;
2679 var533
= varonce532
;
2683 var536
= string__NativeString__to_s_with_length(var534
, var535
);
2685 varonce532
= var533
;
2688 var538
= varonce537
;
2692 var541
= string__NativeString__to_s_with_length(var539
, var540
);
2694 varonce537
= var538
;
2696 var542
= ((val
* (*)(val
*, val
*))(var_ofiles
->class->vft
[COLOR_string__Collection__join
]))(var_ofiles
, var538
) /* join on <var_ofiles:Array[String]>*/;
2698 var544
= varonce543
;
2700 var545
= "\n\11$(CC) $(LDFLAGS) -o ";
2702 var547
= string__NativeString__to_s_with_length(var545
, var546
);
2704 varonce543
= var544
;
2707 var549
= varonce548
;
2711 var552
= string__NativeString__to_s_with_length(var550
, var551
);
2713 varonce548
= var549
;
2716 var554
= varonce553
;
2720 var557
= string__NativeString__to_s_with_length(var555
, var556
);
2722 varonce553
= var554
;
2724 var558
= ((val
* (*)(val
*, val
*))(var_ofiles
->class->vft
[COLOR_string__Collection__join
]))(var_ofiles
, var554
) /* join on <var_ofiles:Array[String]>*/;
2726 var560
= varonce559
;
2728 var561
= " $(LDLIBS)\n\n";
2730 var563
= string__NativeString__to_s_with_length(var561
, var562
);
2732 varonce559
= var560
;
2734 var564
= NEW_array__Array(&type_array__Arraykernel__Object
);
2735 { /* var564 = array_instance Array[Object] */
2737 var566
= NEW_array__NativeArray(var565
, &type_array__NativeArraykernel__Object
);
2738 ((struct instance_array__NativeArray
*)var566
)->values
[0] = (val
*) var_outpath
;
2739 ((struct instance_array__NativeArray
*)var566
)->values
[1] = (val
*) var533
;
2740 ((struct instance_array__NativeArray
*)var566
)->values
[2] = (val
*) var542
;
2741 ((struct instance_array__NativeArray
*)var566
)->values
[3] = (val
*) var544
;
2742 ((struct instance_array__NativeArray
*)var566
)->values
[4] = (val
*) var_outpath
;
2743 ((struct instance_array__NativeArray
*)var566
)->values
[5] = (val
*) var549
;
2744 ((struct instance_array__NativeArray
*)var566
)->values
[6] = (val
*) var558
;
2745 ((struct instance_array__NativeArray
*)var566
)->values
[7] = (val
*) var560
;
2746 ((void (*)(val
*, val
*, long))(var564
->class->vft
[COLOR_array__Array__with_native
]))(var564
, var566
, var565
) /* with_native on <var564:Array[Object]>*/;
2747 CHECK_NEW_array__Array(var564
);
2749 var567
= ((val
* (*)(val
*))(var564
->class->vft
[COLOR_string__Object__to_s
]))(var564
) /* to_s on <var564:Array[Object]>*/;
2750 ((void (*)(val
*, val
*))(var_makefile
->class->vft
[COLOR_stream__OStream__write
]))(var_makefile
, var567
) /* write on <var_makefile:OFStream>*/;
2752 var569
= varonce568
;
2754 var570
= "clean:\n\11rm ";
2756 var572
= string__NativeString__to_s_with_length(var570
, var571
);
2758 varonce568
= var569
;
2761 var574
= varonce573
;
2765 var577
= string__NativeString__to_s_with_length(var575
, var576
);
2767 varonce573
= var574
;
2769 var578
= ((val
* (*)(val
*, val
*))(var_ofiles
->class->vft
[COLOR_string__Collection__join
]))(var_ofiles
, var574
) /* join on <var_ofiles:Array[String]>*/;
2771 var580
= varonce579
;
2773 var581
= " 2>/dev/null\n\n";
2775 var583
= string__NativeString__to_s_with_length(var581
, var582
);
2777 varonce579
= var580
;
2779 var584
= NEW_array__Array(&type_array__Arraykernel__Object
);
2780 { /* var584 = array_instance Array[Object] */
2782 var586
= NEW_array__NativeArray(var585
, &type_array__NativeArraykernel__Object
);
2783 ((struct instance_array__NativeArray
*)var586
)->values
[0] = (val
*) var569
;
2784 ((struct instance_array__NativeArray
*)var586
)->values
[1] = (val
*) var578
;
2785 ((struct instance_array__NativeArray
*)var586
)->values
[2] = (val
*) var580
;
2786 ((void (*)(val
*, val
*, long))(var584
->class->vft
[COLOR_array__Array__with_native
]))(var584
, var586
, var585
) /* with_native on <var584:Array[Object]>*/;
2787 CHECK_NEW_array__Array(var584
);
2789 var587
= ((val
* (*)(val
*))(var584
->class->vft
[COLOR_string__Object__to_s
]))(var584
) /* to_s on <var584:Array[Object]>*/;
2790 ((void (*)(val
*, val
*))(var_makefile
->class->vft
[COLOR_stream__OStream__write
]))(var_makefile
, var587
) /* write on <var_makefile:OFStream>*/;
2791 ((void (*)(val
*))(var_makefile
->class->vft
[COLOR_stream__IOS__close
]))(var_makefile
) /* close on <var_makefile:OFStream>*/;
2792 var588
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2794 var590
= varonce589
;
2796 var591
= "Generated makefile: ";
2798 var593
= string__NativeString__to_s_with_length(var591
, var592
);
2800 varonce589
= var590
;
2802 var594
= NEW_array__Array(&type_array__Arraykernel__Object
);
2803 { /* var594 = array_instance Array[Object] */
2805 var596
= NEW_array__NativeArray(var595
, &type_array__NativeArraykernel__Object
);
2806 ((struct instance_array__NativeArray
*)var596
)->values
[0] = (val
*) var590
;
2807 ((struct instance_array__NativeArray
*)var596
)->values
[1] = (val
*) var_makepath
;
2808 ((void (*)(val
*, val
*, long))(var594
->class->vft
[COLOR_array__Array__with_native
]))(var594
, var596
, var595
) /* with_native on <var594:Array[Object]>*/;
2809 CHECK_NEW_array__Array(var594
);
2811 var597
= ((val
* (*)(val
*))(var594
->class->vft
[COLOR_string__Object__to_s
]))(var594
) /* to_s on <var594:Array[Object]>*/;
2813 ((void (*)(val
*, val
*, long))(var588
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var588
, var597
, var598
) /* info on <var588:ToolContext>*/;
2814 var599
= ((long (*)(val
*))(self
->class->vft
[COLOR_time__Object__get_time
]))(self
) /* get_time on <self:ModelBuilder>*/;
2816 var600
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2818 var602
= varonce601
;
2820 var603
= "*** END WRITING C: ";
2822 var605
= string__NativeString__to_s_with_length(var603
, var604
);
2824 varonce601
= var602
;
2826 { /* Inline kernel#Int#- (var_time1,var_time0) */
2827 var608
= var_time1
- var_time0
;
2830 RET_LABEL607
:(void)0;
2833 var610
= varonce609
;
2837 var613
= string__NativeString__to_s_with_length(var611
, var612
);
2839 varonce609
= var610
;
2841 var614
= NEW_array__Array(&type_array__Arraykernel__Object
);
2842 { /* var614 = array_instance Array[Object] */
2844 var616
= NEW_array__NativeArray(var615
, &type_array__NativeArraykernel__Object
);
2845 ((struct instance_array__NativeArray
*)var616
)->values
[0] = (val
*) var602
;
2846 var617
= BOX_kernel__Int(var606
); /* autobox from Int to Object */
2847 ((struct instance_array__NativeArray
*)var616
)->values
[1] = (val
*) var617
;
2848 ((struct instance_array__NativeArray
*)var616
)->values
[2] = (val
*) var610
;
2849 ((void (*)(val
*, val
*, long))(var614
->class->vft
[COLOR_array__Array__with_native
]))(var614
, var616
, var615
) /* with_native on <var614:Array[Object]>*/;
2850 CHECK_NEW_array__Array(var614
);
2852 var618
= ((val
* (*)(val
*))(var614
->class->vft
[COLOR_string__Object__to_s
]))(var614
) /* to_s on <var614:Array[Object]>*/;
2854 ((void (*)(val
*, val
*, long))(var600
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var600
, var618
, var619
) /* info on <var600:ToolContext>*/;
2855 var620
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2856 var621
= ((val
* (*)(val
*))(var620
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_cc
]))(var620
) /* opt_no_cc on <var620:ToolContext>*/;
2857 var622
= ((val
* (*)(val
*))(var621
->class->vft
[COLOR_opts__Option__value
]))(var621
) /* value on <var621:OptionBool>*/;
2858 var623
= ((struct instance_kernel__Bool
*)var622
)->value
; /* autounbox from nullable Object to Bool */;
2863 var_time0
= var_time1
;
2864 var624
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2866 var626
= varonce625
;
2868 var627
= "*** COMPILING C ***";
2870 var629
= string__NativeString__to_s_with_length(var627
, var628
);
2872 varonce625
= var626
;
2875 ((void (*)(val
*, val
*, long))(var624
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var624
, var626
, var630
) /* info on <var624:ToolContext>*/;
2876 var631
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2877 var632
= ((val
* (*)(val
*))(var631
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_make_flags
]))(var631
) /* opt_make_flags on <var631:ToolContext>*/;
2878 var633
= ((val
* (*)(val
*))(var632
->class->vft
[COLOR_opts__Option__value
]))(var632
) /* value on <var632:OptionString>*/;
2879 var_makeflags
= var633
;
2881 if (var_makeflags
== NULL
) {
2882 var635
= 1; /* is null */
2884 var635
= 0; /* arg is null but recv is not */
2888 var637
= varonce636
;
2892 var640
= string__NativeString__to_s_with_length(var638
, var639
);
2894 varonce636
= var637
;
2896 var_makeflags
= var637
;
2899 var641
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2901 var643
= varonce642
;
2903 var644
= "make -B -C ";
2905 var646
= string__NativeString__to_s_with_length(var644
, var645
);
2907 varonce642
= var643
;
2910 var648
= varonce647
;
2914 var651
= string__NativeString__to_s_with_length(var649
, var650
);
2916 varonce647
= var648
;
2919 var653
= varonce652
;
2923 var656
= string__NativeString__to_s_with_length(var654
, var655
);
2925 varonce652
= var653
;
2927 var657
= NEW_array__Array(&type_array__Arraykernel__Object
);
2928 { /* var657 = array_instance Array[Object] */
2930 var659
= NEW_array__NativeArray(var658
, &type_array__NativeArraykernel__Object
);
2931 ((struct instance_array__NativeArray
*)var659
)->values
[0] = (val
*) var643
;
2932 ((struct instance_array__NativeArray
*)var659
)->values
[1] = (val
*) var_compile_dir
;
2933 ((struct instance_array__NativeArray
*)var659
)->values
[2] = (val
*) var648
;
2934 ((struct instance_array__NativeArray
*)var659
)->values
[3] = (val
*) var_makename
;
2935 ((struct instance_array__NativeArray
*)var659
)->values
[4] = (val
*) var653
;
2936 ((struct instance_array__NativeArray
*)var659
)->values
[5] = (val
*) var_makeflags
;
2937 ((void (*)(val
*, val
*, long))(var657
->class->vft
[COLOR_array__Array__with_native
]))(var657
, var659
, var658
) /* with_native on <var657:Array[Object]>*/;
2938 CHECK_NEW_array__Array(var657
);
2940 var660
= ((val
* (*)(val
*))(var657
->class->vft
[COLOR_string__Object__to_s
]))(var657
) /* to_s on <var657:Array[Object]>*/;
2942 ((void (*)(val
*, val
*, long))(var641
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var641
, var660
, var661
) /* info on <var641:ToolContext>*/;
2943 var662
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2944 var663
= ((long (*)(val
*))(var662
->class->vft
[COLOR_toolcontext__ToolContext__verbose_level
]))(var662
) /* verbose_level on <var662:ToolContext>*/;
2946 { /* Inline kernel#Int#>= (var663,var664) */
2947 /* Covariant cast for argument 0 (i) <var664:Int> isa OTHER */
2948 /* <var664:Int> isa OTHER */
2949 var667
= 1; /* easy <var664:Int> isa OTHER*/
2951 var_class_name670
= type_kernel__Int
.name
;
2952 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name670
);
2953 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
2956 var671
= var663
>= var664
;
2959 RET_LABEL666
:(void)0;
2962 var672
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__sys
]))(self
) /* sys on <self:ModelBuilder>*/;
2964 var674
= varonce673
;
2966 var675
= "make -B -C ";
2968 var677
= string__NativeString__to_s_with_length(var675
, var676
);
2970 varonce673
= var674
;
2973 var679
= varonce678
;
2977 var682
= string__NativeString__to_s_with_length(var680
, var681
);
2979 varonce678
= var679
;
2982 var684
= varonce683
;
2986 var687
= string__NativeString__to_s_with_length(var685
, var686
);
2988 varonce683
= var684
;
2991 var689
= varonce688
;
2995 var692
= string__NativeString__to_s_with_length(var690
, var691
);
2997 varonce688
= var689
;
2999 var693
= NEW_array__Array(&type_array__Arraykernel__Object
);
3000 { /* var693 = array_instance Array[Object] */
3002 var695
= NEW_array__NativeArray(var694
, &type_array__NativeArraykernel__Object
);
3003 ((struct instance_array__NativeArray
*)var695
)->values
[0] = (val
*) var674
;
3004 ((struct instance_array__NativeArray
*)var695
)->values
[1] = (val
*) var_compile_dir
;
3005 ((struct instance_array__NativeArray
*)var695
)->values
[2] = (val
*) var679
;
3006 ((struct instance_array__NativeArray
*)var695
)->values
[3] = (val
*) var_makename
;
3007 ((struct instance_array__NativeArray
*)var695
)->values
[4] = (val
*) var684
;
3008 ((struct instance_array__NativeArray
*)var695
)->values
[5] = (val
*) var_makeflags
;
3009 ((struct instance_array__NativeArray
*)var695
)->values
[6] = (val
*) var689
;
3010 ((void (*)(val
*, val
*, long))(var693
->class->vft
[COLOR_array__Array__with_native
]))(var693
, var695
, var694
) /* with_native on <var693:Array[Object]>*/;
3011 CHECK_NEW_array__Array(var693
);
3013 var696
= ((val
* (*)(val
*))(var693
->class->vft
[COLOR_string__Object__to_s
]))(var693
) /* to_s on <var693:Array[Object]>*/;
3014 var697
= ((long (*)(val
*, val
*))(var672
->class->vft
[COLOR_exec__Sys__system
]))(var672
, var696
) /* system on <var672:Sys>*/;
3015 var698
= BOX_kernel__Int(var697
); /* autobox from Int to nullable Object */
3018 var699
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__sys
]))(self
) /* sys on <self:ModelBuilder>*/;
3020 var701
= varonce700
;
3022 var702
= "make -B -C ";
3024 var704
= string__NativeString__to_s_with_length(var702
, var703
);
3026 varonce700
= var701
;
3029 var706
= varonce705
;
3033 var709
= string__NativeString__to_s_with_length(var707
, var708
);
3035 varonce705
= var706
;
3038 var711
= varonce710
;
3042 var714
= string__NativeString__to_s_with_length(var712
, var713
);
3044 varonce710
= var711
;
3047 var716
= varonce715
;
3049 var717
= " 2>&1 >/dev/null";
3051 var719
= string__NativeString__to_s_with_length(var717
, var718
);
3053 varonce715
= var716
;
3055 var720
= NEW_array__Array(&type_array__Arraykernel__Object
);
3056 { /* var720 = array_instance Array[Object] */
3058 var722
= NEW_array__NativeArray(var721
, &type_array__NativeArraykernel__Object
);
3059 ((struct instance_array__NativeArray
*)var722
)->values
[0] = (val
*) var701
;
3060 ((struct instance_array__NativeArray
*)var722
)->values
[1] = (val
*) var_compile_dir
;
3061 ((struct instance_array__NativeArray
*)var722
)->values
[2] = (val
*) var706
;
3062 ((struct instance_array__NativeArray
*)var722
)->values
[3] = (val
*) var_makename
;
3063 ((struct instance_array__NativeArray
*)var722
)->values
[4] = (val
*) var711
;
3064 ((struct instance_array__NativeArray
*)var722
)->values
[5] = (val
*) var_makeflags
;
3065 ((struct instance_array__NativeArray
*)var722
)->values
[6] = (val
*) var716
;
3066 ((void (*)(val
*, val
*, long))(var720
->class->vft
[COLOR_array__Array__with_native
]))(var720
, var722
, var721
) /* with_native on <var720:Array[Object]>*/;
3067 CHECK_NEW_array__Array(var720
);
3069 var723
= ((val
* (*)(val
*))(var720
->class->vft
[COLOR_string__Object__to_s
]))(var720
) /* to_s on <var720:Array[Object]>*/;
3070 var724
= ((long (*)(val
*, val
*))(var699
->class->vft
[COLOR_exec__Sys__system
]))(var699
, var723
) /* system on <var699:Sys>*/;
3071 var725
= BOX_kernel__Int(var724
); /* autobox from Int to nullable Object */
3075 { /* Inline kernel#Int#!= (var_res,var726) */
3076 var729
= (var_res
!= NULL
) && (var_res
->class == &class_kernel__Int
);
3078 var730
= ((struct instance_kernel__Int
*)var_res
)->value
; /* autounbox from nullable Object to Int */;
3079 var729
= (var730
== var726
);
3084 RET_LABEL728
:(void)0;
3087 var732
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
3090 var735
= varonce734
;
3092 var736
= "make failed! Error code: ";
3094 var738
= string__NativeString__to_s_with_length(var736
, var737
);
3096 varonce734
= var735
;
3099 var740
= varonce739
;
3103 var743
= string__NativeString__to_s_with_length(var741
, var742
);
3105 varonce739
= var740
;
3107 var744
= NEW_array__Array(&type_array__Arraykernel__Object
);
3108 { /* var744 = array_instance Array[Object] */
3110 var746
= NEW_array__NativeArray(var745
, &type_array__NativeArraykernel__Object
);
3111 ((struct instance_array__NativeArray
*)var746
)->values
[0] = (val
*) var735
;
3112 ((struct instance_array__NativeArray
*)var746
)->values
[1] = (val
*) var_res
;
3113 ((struct instance_array__NativeArray
*)var746
)->values
[2] = (val
*) var740
;
3114 ((void (*)(val
*, val
*, long))(var744
->class->vft
[COLOR_array__Array__with_native
]))(var744
, var746
, var745
) /* with_native on <var744:Array[Object]>*/;
3115 CHECK_NEW_array__Array(var744
);
3117 var747
= ((val
* (*)(val
*))(var744
->class->vft
[COLOR_string__Object__to_s
]))(var744
) /* to_s on <var744:Array[Object]>*/;
3118 ((void (*)(val
*, val
*, val
*))(var732
->class->vft
[COLOR_toolcontext__ToolContext__error
]))(var732
, var733
, var747
) /* error on <var732:ToolContext>*/;
3121 var748
= ((long (*)(val
*))(self
->class->vft
[COLOR_time__Object__get_time
]))(self
) /* get_time on <self:ModelBuilder>*/;
3123 var749
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
3125 var751
= varonce750
;
3127 var752
= "*** END COMPILING C: ";
3129 var754
= string__NativeString__to_s_with_length(var752
, var753
);
3131 varonce750
= var751
;
3133 { /* Inline kernel#Int#- (var_time1,var_time0) */
3134 var757
= var_time1
- var_time0
;
3137 RET_LABEL756
:(void)0;
3140 var759
= varonce758
;
3144 var762
= string__NativeString__to_s_with_length(var760
, var761
);
3146 varonce758
= var759
;
3148 var763
= NEW_array__Array(&type_array__Arraykernel__Object
);
3149 { /* var763 = array_instance Array[Object] */
3151 var765
= NEW_array__NativeArray(var764
, &type_array__NativeArraykernel__Object
);
3152 ((struct instance_array__NativeArray
*)var765
)->values
[0] = (val
*) var751
;
3153 var766
= BOX_kernel__Int(var755
); /* autobox from Int to Object */
3154 ((struct instance_array__NativeArray
*)var765
)->values
[1] = (val
*) var766
;
3155 ((struct instance_array__NativeArray
*)var765
)->values
[2] = (val
*) var759
;
3156 ((void (*)(val
*, val
*, long))(var763
->class->vft
[COLOR_array__Array__with_native
]))(var763
, var765
, var764
) /* with_native on <var763:Array[Object]>*/;
3157 CHECK_NEW_array__Array(var763
);
3159 var767
= ((val
* (*)(val
*))(var763
->class->vft
[COLOR_string__Object__to_s
]))(var763
) /* to_s on <var763:Array[Object]>*/;
3161 ((void (*)(val
*, val
*, long))(var749
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var749
, var767
, var768
) /* info on <var749:ToolContext>*/;
3164 /* method abstract_compiler#ModelBuilder#write_and_make for (self: Object, AbstractCompiler) */
3165 void VIRTUAL_abstract_compiler__ModelBuilder__write_and_make(val
* self
, val
* p0
) {
3166 abstract_compiler__ModelBuilder__write_and_make(self
, p0
);
3169 /* method abstract_compiler#AbstractCompiler#mainmodule for (self: AbstractCompiler): MModule */
3170 val
* abstract_compiler__AbstractCompiler__mainmodule(val
* self
) {
3171 val
* var
/* : MModule */;
3172 val
* var1
/* : MModule */;
3173 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dmainmodule
].val
; /* @mainmodule on <self:AbstractCompiler> */
3175 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @mainmodule");
3176 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 259);
3183 /* method abstract_compiler#AbstractCompiler#mainmodule for (self: Object): MModule */
3184 val
* VIRTUAL_abstract_compiler__AbstractCompiler__mainmodule(val
* self
) {
3185 val
* var
/* : MModule */;
3186 val
* var1
/* : MModule */;
3187 var1
= abstract_compiler__AbstractCompiler__mainmodule(self
);
3192 /* method abstract_compiler#AbstractCompiler#mainmodule= for (self: AbstractCompiler, MModule) */
3193 void abstract_compiler__AbstractCompiler__mainmodule_61d(val
* self
, val
* p0
) {
3194 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dmainmodule
].val
= p0
; /* @mainmodule on <self:AbstractCompiler> */
3197 /* method abstract_compiler#AbstractCompiler#mainmodule= for (self: Object, MModule) */
3198 void VIRTUAL_abstract_compiler__AbstractCompiler__mainmodule_61d(val
* self
, val
* p0
) {
3199 abstract_compiler__AbstractCompiler__mainmodule_61d(self
, p0
);
3202 /* method abstract_compiler#AbstractCompiler#realmainmodule for (self: AbstractCompiler): MModule */
3203 val
* abstract_compiler__AbstractCompiler__realmainmodule(val
* self
) {
3204 val
* var
/* : MModule */;
3205 val
* var1
/* : MModule */;
3206 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64drealmainmodule
].val
; /* @realmainmodule on <self:AbstractCompiler> */
3208 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @realmainmodule");
3209 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 263);
3216 /* method abstract_compiler#AbstractCompiler#realmainmodule for (self: Object): MModule */
3217 val
* VIRTUAL_abstract_compiler__AbstractCompiler__realmainmodule(val
* self
) {
3218 val
* var
/* : MModule */;
3219 val
* var1
/* : MModule */;
3220 var1
= abstract_compiler__AbstractCompiler__realmainmodule(self
);
3225 /* method abstract_compiler#AbstractCompiler#realmainmodule= for (self: AbstractCompiler, MModule) */
3226 void abstract_compiler__AbstractCompiler__realmainmodule_61d(val
* self
, val
* p0
) {
3227 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64drealmainmodule
].val
= p0
; /* @realmainmodule on <self:AbstractCompiler> */
3230 /* method abstract_compiler#AbstractCompiler#realmainmodule= for (self: Object, MModule) */
3231 void VIRTUAL_abstract_compiler__AbstractCompiler__realmainmodule_61d(val
* self
, val
* p0
) {
3232 abstract_compiler__AbstractCompiler__realmainmodule_61d(self
, p0
);
3235 /* method abstract_compiler#AbstractCompiler#modelbuilder for (self: AbstractCompiler): ModelBuilder */
3236 val
* abstract_compiler__AbstractCompiler__modelbuilder(val
* self
) {
3237 val
* var
/* : ModelBuilder */;
3238 val
* var1
/* : ModelBuilder */;
3239 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dmodelbuilder
].val
; /* @modelbuilder on <self:AbstractCompiler> */
3241 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @modelbuilder");
3242 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 266);
3249 /* method abstract_compiler#AbstractCompiler#modelbuilder for (self: Object): ModelBuilder */
3250 val
* VIRTUAL_abstract_compiler__AbstractCompiler__modelbuilder(val
* self
) {
3251 val
* var
/* : ModelBuilder */;
3252 val
* var1
/* : ModelBuilder */;
3253 var1
= abstract_compiler__AbstractCompiler__modelbuilder(self
);
3258 /* method abstract_compiler#AbstractCompiler#modelbuilder= for (self: AbstractCompiler, ModelBuilder) */
3259 void abstract_compiler__AbstractCompiler__modelbuilder_61d(val
* self
, val
* p0
) {
3260 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dmodelbuilder
].val
= p0
; /* @modelbuilder on <self:AbstractCompiler> */
3263 /* method abstract_compiler#AbstractCompiler#modelbuilder= for (self: Object, ModelBuilder) */
3264 void VIRTUAL_abstract_compiler__AbstractCompiler__modelbuilder_61d(val
* self
, val
* p0
) {
3265 abstract_compiler__AbstractCompiler__modelbuilder_61d(self
, p0
);
3268 /* method abstract_compiler#AbstractCompiler#hardening for (self: AbstractCompiler): Bool */
3269 short int abstract_compiler__AbstractCompiler__hardening(val
* self
) {
3270 short int var
/* : Bool */;
3271 val
* var1
/* : ModelBuilder */;
3272 val
* var2
/* : ToolContext */;
3273 val
* var3
/* : OptionBool */;
3274 val
* var4
/* : nullable Object */;
3275 short int var5
/* : Bool */;
3276 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
3277 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var1
) /* toolcontext on <var1:ModelBuilder>*/;
3278 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_hardening
]))(var2
) /* opt_hardening on <var2:ToolContext>*/;
3279 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_opts__Option__value
]))(var3
) /* value on <var3:OptionBool>*/;
3280 var5
= ((struct instance_kernel__Bool
*)var4
)->value
; /* autounbox from nullable Object to Bool */;
3286 /* method abstract_compiler#AbstractCompiler#hardening for (self: Object): Bool */
3287 short int VIRTUAL_abstract_compiler__AbstractCompiler__hardening(val
* self
) {
3288 short int var
/* : Bool */;
3289 short int var1
/* : Bool */;
3290 var1
= abstract_compiler__AbstractCompiler__hardening(self
);
3295 /* method abstract_compiler#AbstractCompiler#init for (self: AbstractCompiler, MModule, ModelBuilder) */
3296 void abstract_compiler__AbstractCompiler__init(val
* self
, val
* p0
, val
* p1
) {
3297 val
* var_mainmodule
/* var mainmodule: MModule */;
3298 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
3299 var_mainmodule
= p0
;
3300 var_modelbuilder
= p1
;
3301 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule_61d
]))(self
, var_mainmodule
) /* mainmodule= on <self:AbstractCompiler>*/;
3302 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__realmainmodule_61d
]))(self
, var_mainmodule
) /* realmainmodule= on <self:AbstractCompiler>*/;
3303 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder_61d
]))(self
, var_modelbuilder
) /* modelbuilder= on <self:AbstractCompiler>*/;
3306 /* method abstract_compiler#AbstractCompiler#init for (self: Object, MModule, ModelBuilder) */
3307 void VIRTUAL_abstract_compiler__AbstractCompiler__init(val
* self
, val
* p0
, val
* p1
) {
3308 abstract_compiler__AbstractCompiler__init(self
, p0
, p1
);
3311 /* method abstract_compiler#AbstractCompiler#new_file for (self: AbstractCompiler, String): CodeFile */
3312 val
* abstract_compiler__AbstractCompiler__new_file(val
* self
, val
* p0
) {
3313 val
* var
/* : CodeFile */;
3314 val
* var_name
/* var name: String */;
3315 val
* var1
/* : CodeFile */;
3316 val
* var_f
/* var f: CodeFile */;
3317 val
* var2
/* : List[CodeFile] */;
3319 var1
= NEW_abstract_compiler__CodeFile(&type_abstract_compiler__CodeFile
);
3320 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_compiler__CodeFile__init
]))(var1
, var_name
) /* init on <var1:CodeFile>*/;
3321 CHECK_NEW_abstract_compiler__CodeFile(var1
);
3323 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__files
]))(self
) /* files on <self:AbstractCompiler>*/;
3324 ((void (*)(val
*, val
*))(var2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var2
, var_f
) /* add on <var2:List[CodeFile]>*/;
3330 /* method abstract_compiler#AbstractCompiler#new_file for (self: Object, String): CodeFile */
3331 val
* VIRTUAL_abstract_compiler__AbstractCompiler__new_file(val
* self
, val
* p0
) {
3332 val
* var
/* : CodeFile */;
3333 val
* var1
/* : CodeFile */;
3334 var1
= abstract_compiler__AbstractCompiler__new_file(self
, p0
);
3339 /* method abstract_compiler#AbstractCompiler#files for (self: AbstractCompiler): List[CodeFile] */
3340 val
* abstract_compiler__AbstractCompiler__files(val
* self
) {
3341 val
* var
/* : List[CodeFile] */;
3342 val
* var1
/* : List[CodeFile] */;
3343 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dfiles
].val
; /* @files on <self:AbstractCompiler> */
3345 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @files");
3346 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 288);
3353 /* method abstract_compiler#AbstractCompiler#files for (self: Object): List[CodeFile] */
3354 val
* VIRTUAL_abstract_compiler__AbstractCompiler__files(val
* self
) {
3355 val
* var
/* : List[CodeFile] */;
3356 val
* var1
/* : List[CodeFile] */;
3357 var1
= abstract_compiler__AbstractCompiler__files(self
);
3362 /* method abstract_compiler#AbstractCompiler#files= for (self: AbstractCompiler, List[CodeFile]) */
3363 void abstract_compiler__AbstractCompiler__files_61d(val
* self
, val
* p0
) {
3364 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dfiles
].val
= p0
; /* @files on <self:AbstractCompiler> */
3367 /* method abstract_compiler#AbstractCompiler#files= for (self: Object, List[CodeFile]) */
3368 void VIRTUAL_abstract_compiler__AbstractCompiler__files_61d(val
* self
, val
* p0
) {
3369 abstract_compiler__AbstractCompiler__files_61d(self
, p0
);
3372 /* method abstract_compiler#AbstractCompiler#new_visitor for (self: AbstractCompiler): AbstractCompilerVisitor */
3373 val
* abstract_compiler__AbstractCompiler__new_visitor(val
* self
) {
3374 val
* var
/* : AbstractCompilerVisitor */;
3375 const char* var_class_name
;
3376 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
3377 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "new_visitor", var_class_name
);
3378 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 292);
3383 /* method abstract_compiler#AbstractCompiler#new_visitor for (self: Object): AbstractCompilerVisitor */
3384 val
* VIRTUAL_abstract_compiler__AbstractCompiler__new_visitor(val
* self
) {
3385 val
* var
/* : AbstractCompilerVisitor */;
3386 val
* var1
/* : AbstractCompilerVisitor */;
3387 var1
= abstract_compiler__AbstractCompiler__new_visitor(self
);
3392 /* method abstract_compiler#AbstractCompiler#header for (self: AbstractCompiler): CodeWriter */
3393 val
* abstract_compiler__AbstractCompiler__header(val
* self
) {
3394 val
* var
/* : CodeWriter */;
3395 val
* var1
/* : CodeWriter */;
3396 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dheader
].val
; /* @header on <self:AbstractCompiler> */
3398 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @header");
3399 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 295);
3406 /* method abstract_compiler#AbstractCompiler#header for (self: Object): CodeWriter */
3407 val
* VIRTUAL_abstract_compiler__AbstractCompiler__header(val
* self
) {
3408 val
* var
/* : CodeWriter */;
3409 val
* var1
/* : CodeWriter */;
3410 var1
= abstract_compiler__AbstractCompiler__header(self
);
3415 /* method abstract_compiler#AbstractCompiler#header= for (self: AbstractCompiler, CodeWriter) */
3416 void abstract_compiler__AbstractCompiler__header_61d(val
* self
, val
* p0
) {
3417 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dheader
].val
= p0
; /* @header on <self:AbstractCompiler> */
3420 /* method abstract_compiler#AbstractCompiler#header= for (self: Object, CodeWriter) */
3421 void VIRTUAL_abstract_compiler__AbstractCompiler__header_61d(val
* self
, val
* p0
) {
3422 abstract_compiler__AbstractCompiler__header_61d(self
, p0
);
3425 /* method abstract_compiler#AbstractCompiler#provide_declaration for (self: AbstractCompiler, String, String) */
3426 void abstract_compiler__AbstractCompiler__provide_declaration(val
* self
, val
* p0
, val
* p1
) {
3427 val
* var_key
/* var key: String */;
3428 val
* var_s
/* var s: String */;
3429 val
* var
/* : HashMap[String, String] */;
3430 short int var1
/* : Bool */;
3431 val
* var2
/* : HashMap[String, String] */;
3432 val
* var3
/* : nullable Object */;
3433 short int var4
/* : Bool */;
3434 val
* var5
/* : HashMap[String, String] */;
3437 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__provided_declarations
]))(self
) /* provided_declarations on <self:AbstractCompiler>*/;
3438 var1
= ((short int (*)(val
*, val
*))(var
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var
, var_key
) /* has_key on <var:HashMap[String, String]>*/;
3440 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__provided_declarations
]))(self
) /* provided_declarations on <self:AbstractCompiler>*/;
3441 var3
= ((val
* (*)(val
*, val
*))(var2
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var2
, var_key
) /* [] on <var2:HashMap[String, String]>*/;
3442 var4
= ((short int (*)(val
*, val
*))(var3
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var3
, var_s
) /* == on <var3:nullable Object(String)>*/;
3444 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3445 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 302);
3450 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__provided_declarations
]))(self
) /* provided_declarations on <self:AbstractCompiler>*/;
3451 ((void (*)(val
*, val
*, val
*))(var5
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var5
, var_key
, var_s
) /* []= on <var5:HashMap[String, String]>*/;
3454 /* method abstract_compiler#AbstractCompiler#provide_declaration for (self: Object, String, String) */
3455 void VIRTUAL_abstract_compiler__AbstractCompiler__provide_declaration(val
* self
, val
* p0
, val
* p1
) {
3456 abstract_compiler__AbstractCompiler__provide_declaration(self
, p0
, p1
);
3459 /* method abstract_compiler#AbstractCompiler#provided_declarations for (self: AbstractCompiler): HashMap[String, String] */
3460 val
* abstract_compiler__AbstractCompiler__provided_declarations(val
* self
) {
3461 val
* var
/* : HashMap[String, String] */;
3462 val
* var1
/* : HashMap[String, String] */;
3463 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dprovided_declarations
].val
; /* @provided_declarations on <self:AbstractCompiler> */
3465 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @provided_declarations");
3466 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 307);
3473 /* method abstract_compiler#AbstractCompiler#provided_declarations for (self: Object): HashMap[String, String] */
3474 val
* VIRTUAL_abstract_compiler__AbstractCompiler__provided_declarations(val
* self
) {
3475 val
* var
/* : HashMap[String, String] */;
3476 val
* var1
/* : HashMap[String, String] */;
3477 var1
= abstract_compiler__AbstractCompiler__provided_declarations(self
);
3482 /* method abstract_compiler#AbstractCompiler#provided_declarations= for (self: AbstractCompiler, HashMap[String, String]) */
3483 void abstract_compiler__AbstractCompiler__provided_declarations_61d(val
* self
, val
* p0
) {
3484 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dprovided_declarations
].val
= p0
; /* @provided_declarations on <self:AbstractCompiler> */
3487 /* method abstract_compiler#AbstractCompiler#provided_declarations= for (self: Object, HashMap[String, String]) */
3488 void VIRTUAL_abstract_compiler__AbstractCompiler__provided_declarations_61d(val
* self
, val
* p0
) {
3489 abstract_compiler__AbstractCompiler__provided_declarations_61d(self
, p0
);
3492 /* method abstract_compiler#AbstractCompiler#compile_header for (self: AbstractCompiler) */
3493 void abstract_compiler__AbstractCompiler__compile_header(val
* self
) {
3494 val
* var
/* : CodeWriter */;
3495 val
* var_v
/* var v: CodeWriter */;
3496 val
* var1
/* : CodeWriter */;
3497 static val
* varonce
;
3498 val
* var2
/* : String */;
3499 char* var3
/* : NativeString */;
3500 long var4
/* : Int */;
3501 val
* var5
/* : String */;
3502 val
* var6
/* : CodeWriter */;
3503 static val
* varonce7
;
3504 val
* var8
/* : String */;
3505 char* var9
/* : NativeString */;
3506 long var10
/* : Int */;
3507 val
* var11
/* : String */;
3508 val
* var12
/* : CodeWriter */;
3509 static val
* varonce13
;
3510 val
* var14
/* : String */;
3511 char* var15
/* : NativeString */;
3512 long var16
/* : Int */;
3513 val
* var17
/* : String */;
3514 val
* var18
/* : CodeWriter */;
3515 static val
* varonce19
;
3516 val
* var20
/* : String */;
3517 char* var21
/* : NativeString */;
3518 long var22
/* : Int */;
3519 val
* var23
/* : String */;
3520 val
* var24
/* : CodeWriter */;
3521 static val
* varonce25
;
3522 val
* var26
/* : String */;
3523 char* var27
/* : NativeString */;
3524 long var28
/* : Int */;
3525 val
* var29
/* : String */;
3526 val
* var30
/* : CodeWriter */;
3527 static val
* varonce31
;
3528 val
* var32
/* : String */;
3529 char* var33
/* : NativeString */;
3530 long var34
/* : Int */;
3531 val
* var35
/* : String */;
3532 val
* var36
/* : CodeWriter */;
3533 static val
* varonce37
;
3534 val
* var38
/* : String */;
3535 char* var39
/* : NativeString */;
3536 long var40
/* : Int */;
3537 val
* var41
/* : String */;
3538 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
3540 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
3544 var3
= "#include <stdlib.h>";
3546 var5
= string__NativeString__to_s_with_length(var3
, var4
);
3550 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var1
, var2
) /* add_decl on <var1:CodeWriter>*/;
3551 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
3555 var9
= "#include <stdio.h>";
3557 var11
= string__NativeString__to_s_with_length(var9
, var10
);
3561 ((void (*)(val
*, val
*))(var6
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var6
, var8
) /* add_decl on <var6:CodeWriter>*/;
3562 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
3566 var15
= "#include <string.h>";
3568 var17
= string__NativeString__to_s_with_length(var15
, var16
);
3572 ((void (*)(val
*, val
*))(var12
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var12
, var14
) /* add_decl on <var12:CodeWriter>*/;
3573 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
3577 var21
= "#include <gc_chooser.h>";
3579 var23
= string__NativeString__to_s_with_length(var21
, var22
);
3583 ((void (*)(val
*, val
*))(var18
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var18
, var20
) /* add_decl on <var18:CodeWriter>*/;
3584 ((void (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__compile_header_structs
]))(self
) /* compile_header_structs on <self:AbstractCompiler>*/;
3585 var24
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
3589 var27
= "extern int glob_argc;";
3591 var29
= string__NativeString__to_s_with_length(var27
, var28
);
3595 ((void (*)(val
*, val
*))(var24
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var24
, var26
) /* add_decl on <var24:CodeWriter>*/;
3596 var30
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
3600 var33
= "extern char **glob_argv;";
3602 var35
= string__NativeString__to_s_with_length(var33
, var34
);
3606 ((void (*)(val
*, val
*))(var30
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var30
, var32
) /* add_decl on <var30:CodeWriter>*/;
3607 var36
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
3611 var39
= "extern val *glob_sys;";
3613 var41
= string__NativeString__to_s_with_length(var39
, var40
);
3617 ((void (*)(val
*, val
*))(var36
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var36
, var38
) /* add_decl on <var36:CodeWriter>*/;
3620 /* method abstract_compiler#AbstractCompiler#compile_header for (self: Object) */
3621 void VIRTUAL_abstract_compiler__AbstractCompiler__compile_header(val
* self
) {
3622 abstract_compiler__AbstractCompiler__compile_header(self
);
3625 /* method abstract_compiler#AbstractCompiler#compile_header_structs for (self: AbstractCompiler) */
3626 void abstract_compiler__AbstractCompiler__compile_header_structs(val
* self
) {
3627 const char* var_class_name
;
3628 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
3629 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "compile_header_structs", var_class_name
);
3630 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 326);
3634 /* method abstract_compiler#AbstractCompiler#compile_header_structs for (self: Object) */
3635 void VIRTUAL_abstract_compiler__AbstractCompiler__compile_header_structs(val
* self
) {
3636 abstract_compiler__AbstractCompiler__compile_header_structs(self
);
3639 /* method abstract_compiler#AbstractCompiler#compile_main_function for (self: AbstractCompiler) */
3640 void abstract_compiler__AbstractCompiler__compile_main_function(val
* self
) {
3641 val
* var
/* : AbstractCompilerVisitor */;
3642 val
* var_v
/* var v: AbstractCompilerVisitor */;
3643 static val
* varonce
;
3644 val
* var1
/* : String */;
3645 char* var2
/* : NativeString */;
3646 long var3
/* : Int */;
3647 val
* var4
/* : String */;
3648 static val
* varonce5
;
3649 val
* var6
/* : String */;
3650 char* var7
/* : NativeString */;
3651 long var8
/* : Int */;
3652 val
* var9
/* : String */;
3653 static val
* varonce10
;
3654 val
* var11
/* : String */;
3655 char* var12
/* : NativeString */;
3656 long var13
/* : Int */;
3657 val
* var14
/* : String */;
3658 val
* var15
/* : ModelBuilder */;
3659 val
* var16
/* : ToolContext */;
3660 val
* var17
/* : OptionBool */;
3661 val
* var18
/* : nullable Object */;
3662 short int var19
/* : Bool */;
3663 val
* var20
/* : Array[String] */;
3664 val
* var21
/* : Iterator[nullable Object] */;
3665 short int var22
/* : Bool */;
3666 val
* var23
/* : nullable Object */;
3667 val
* var_tag
/* var tag: String */;
3668 static val
* varonce24
;
3669 val
* var25
/* : String */;
3670 char* var26
/* : NativeString */;
3671 long var27
/* : Int */;
3672 val
* var28
/* : String */;
3673 static val
* varonce29
;
3674 val
* var30
/* : String */;
3675 char* var31
/* : NativeString */;
3676 long var32
/* : Int */;
3677 val
* var33
/* : String */;
3678 val
* var34
/* : Array[Object] */;
3679 long var35
/* : Int */;
3680 val
* var36
/* : NativeArray[Object] */;
3681 val
* var37
/* : String */;
3682 static val
* varonce38
;
3683 val
* var39
/* : String */;
3684 char* var40
/* : NativeString */;
3685 long var41
/* : Int */;
3686 val
* var42
/* : String */;
3687 static val
* varonce43
;
3688 val
* var44
/* : String */;
3689 char* var45
/* : NativeString */;
3690 long var46
/* : Int */;
3691 val
* var47
/* : String */;
3692 val
* var48
/* : Array[Object] */;
3693 long var49
/* : Int */;
3694 val
* var50
/* : NativeArray[Object] */;
3695 val
* var51
/* : String */;
3696 static val
* varonce52
;
3697 val
* var53
/* : String */;
3698 char* var54
/* : NativeString */;
3699 long var55
/* : Int */;
3700 val
* var56
/* : String */;
3701 static val
* varonce57
;
3702 val
* var58
/* : String */;
3703 char* var59
/* : NativeString */;
3704 long var60
/* : Int */;
3705 val
* var61
/* : String */;
3706 val
* var62
/* : Array[Object] */;
3707 long var63
/* : Int */;
3708 val
* var64
/* : NativeArray[Object] */;
3709 val
* var65
/* : String */;
3710 val
* var66
/* : AbstractCompiler */;
3711 val
* var67
/* : CodeWriter */;
3712 static val
* varonce68
;
3713 val
* var69
/* : String */;
3714 char* var70
/* : NativeString */;
3715 long var71
/* : Int */;
3716 val
* var72
/* : String */;
3717 static val
* varonce73
;
3718 val
* var74
/* : String */;
3719 char* var75
/* : NativeString */;
3720 long var76
/* : Int */;
3721 val
* var77
/* : String */;
3722 val
* var78
/* : Array[Object] */;
3723 long var79
/* : Int */;
3724 val
* var80
/* : NativeArray[Object] */;
3725 val
* var81
/* : String */;
3726 val
* var82
/* : AbstractCompiler */;
3727 val
* var83
/* : CodeWriter */;
3728 static val
* varonce84
;
3729 val
* var85
/* : String */;
3730 char* var86
/* : NativeString */;
3731 long var87
/* : Int */;
3732 val
* var88
/* : String */;
3733 static val
* varonce89
;
3734 val
* var90
/* : String */;
3735 char* var91
/* : NativeString */;
3736 long var92
/* : Int */;
3737 val
* var93
/* : String */;
3738 val
* var94
/* : Array[Object] */;
3739 long var95
/* : Int */;
3740 val
* var96
/* : NativeArray[Object] */;
3741 val
* var97
/* : String */;
3742 val
* var98
/* : AbstractCompiler */;
3743 val
* var99
/* : CodeWriter */;
3744 static val
* varonce100
;
3745 val
* var101
/* : String */;
3746 char* var102
/* : NativeString */;
3747 long var103
/* : Int */;
3748 val
* var104
/* : String */;
3749 static val
* varonce105
;
3750 val
* var106
/* : String */;
3751 char* var107
/* : NativeString */;
3752 long var108
/* : Int */;
3753 val
* var109
/* : String */;
3754 val
* var110
/* : Array[Object] */;
3755 long var111
/* : Int */;
3756 val
* var112
/* : NativeArray[Object] */;
3757 val
* var113
/* : String */;
3758 static val
* varonce114
;
3759 val
* var115
/* : String */;
3760 char* var116
/* : NativeString */;
3761 long var117
/* : Int */;
3762 val
* var118
/* : String */;
3763 static val
* varonce119
;
3764 val
* var120
/* : String */;
3765 char* var121
/* : NativeString */;
3766 long var122
/* : Int */;
3767 val
* var123
/* : String */;
3768 static val
* varonce124
;
3769 val
* var125
/* : String */;
3770 char* var126
/* : NativeString */;
3771 long var127
/* : Int */;
3772 val
* var128
/* : String */;
3773 val
* var129
/* : MModule */;
3774 val
* var130
/* : nullable MClassType */;
3775 val
* var_main_type
/* var main_type: nullable MClassType */;
3776 val
* var131
/* : null */;
3777 short int var132
/* : Bool */;
3778 val
* var133
/* : AbstractCompiler */;
3779 val
* var134
/* : MModule */;
3780 val
* var_mainmodule
/* var mainmodule: MModule */;
3781 val
* var135
/* : RuntimeVariable */;
3782 val
* var_glob_sys
/* var glob_sys: RuntimeVariable */;
3783 static val
* varonce136
;
3784 val
* var137
/* : String */;
3785 char* var138
/* : NativeString */;
3786 long var139
/* : Int */;
3787 val
* var140
/* : String */;
3788 static val
* varonce141
;
3789 val
* var142
/* : String */;
3790 char* var143
/* : NativeString */;
3791 long var144
/* : Int */;
3792 val
* var145
/* : String */;
3793 val
* var146
/* : Array[Object] */;
3794 long var147
/* : Int */;
3795 val
* var148
/* : NativeArray[Object] */;
3796 val
* var149
/* : String */;
3797 static val
* varonce150
;
3798 val
* var151
/* : String */;
3799 char* var152
/* : NativeString */;
3800 long var153
/* : Int */;
3801 val
* var154
/* : String */;
3802 val
* var155
/* : MClass */;
3803 val
* var156
/* : nullable MMethod */;
3804 val
* var_main_init
/* var main_init: nullable MMethod */;
3805 val
* var157
/* : null */;
3806 short int var158
/* : Bool */;
3807 val
* var159
/* : Array[RuntimeVariable] */;
3808 long var160
/* : Int */;
3809 val
* var161
/* : NativeArray[RuntimeVariable] */;
3810 val
* var162
/* : nullable RuntimeVariable */;
3811 static val
* varonce163
;
3812 val
* var164
/* : String */;
3813 char* var165
/* : NativeString */;
3814 long var166
/* : Int */;
3815 val
* var167
/* : String */;
3816 val
* var168
/* : MClass */;
3817 val
* var169
/* : nullable MMethod */;
3818 val
* var_main_method
/* var main_method: nullable MMethod */;
3819 val
* var170
/* : null */;
3820 short int var171
/* : Bool */;
3821 val
* var172
/* : Array[RuntimeVariable] */;
3822 long var173
/* : Int */;
3823 val
* var174
/* : NativeArray[RuntimeVariable] */;
3824 val
* var175
/* : nullable RuntimeVariable */;
3825 val
* var176
/* : ModelBuilder */;
3826 val
* var177
/* : ToolContext */;
3827 val
* var178
/* : OptionBool */;
3828 val
* var179
/* : nullable Object */;
3829 short int var180
/* : Bool */;
3830 static val
* varonce181
;
3831 val
* var182
/* : String */;
3832 char* var183
/* : NativeString */;
3833 long var184
/* : Int */;
3834 val
* var185
/* : String */;
3835 static val
* varonce186
;
3836 val
* var187
/* : String */;
3837 char* var188
/* : NativeString */;
3838 long var189
/* : Int */;
3839 val
* var190
/* : String */;
3840 static val
* varonce191
;
3841 val
* var192
/* : String */;
3842 char* var193
/* : NativeString */;
3843 long var194
/* : Int */;
3844 val
* var195
/* : String */;
3845 static val
* varonce196
;
3846 val
* var197
/* : String */;
3847 char* var198
/* : NativeString */;
3848 long var199
/* : Int */;
3849 val
* var200
/* : String */;
3850 val
* var201
/* : Array[String] */;
3851 val
* var202
/* : Iterator[nullable Object] */;
3852 short int var203
/* : Bool */;
3853 val
* var204
/* : nullable Object */;
3854 val
* var_tag205
/* var tag: String */;
3855 static val
* varonce206
;
3856 val
* var207
/* : String */;
3857 char* var208
/* : NativeString */;
3858 long var209
/* : Int */;
3859 val
* var210
/* : String */;
3860 static val
* varonce211
;
3861 val
* var212
/* : String */;
3862 char* var213
/* : NativeString */;
3863 long var214
/* : Int */;
3864 val
* var215
/* : String */;
3865 val
* var216
/* : Array[Object] */;
3866 long var217
/* : Int */;
3867 val
* var218
/* : NativeArray[Object] */;
3868 val
* var219
/* : String */;
3869 static val
* varonce220
;
3870 val
* var221
/* : String */;
3871 char* var222
/* : NativeString */;
3872 long var223
/* : Int */;
3873 val
* var224
/* : String */;
3874 static val
* varonce225
;
3875 val
* var226
/* : String */;
3876 char* var227
/* : NativeString */;
3877 long var228
/* : Int */;
3878 val
* var229
/* : String */;
3879 static val
* varonce230
;
3880 val
* var231
/* : String */;
3881 char* var232
/* : NativeString */;
3882 long var233
/* : Int */;
3883 val
* var234
/* : String */;
3884 static val
* varonce235
;
3885 val
* var236
/* : String */;
3886 char* var237
/* : NativeString */;
3887 long var238
/* : Int */;
3888 val
* var239
/* : String */;
3889 static val
* varonce240
;
3890 val
* var241
/* : String */;
3891 char* var242
/* : NativeString */;
3892 long var243
/* : Int */;
3893 val
* var244
/* : String */;
3894 val
* var245
/* : Array[Object] */;
3895 long var246
/* : Int */;
3896 val
* var247
/* : NativeArray[Object] */;
3897 val
* var248
/* : String */;
3898 static val
* varonce249
;
3899 val
* var250
/* : String */;
3900 char* var251
/* : NativeString */;
3901 long var252
/* : Int */;
3902 val
* var253
/* : String */;
3903 static val
* varonce254
;
3904 val
* var255
/* : String */;
3905 char* var256
/* : NativeString */;
3906 long var257
/* : Int */;
3907 val
* var258
/* : String */;
3908 val
* var259
/* : Array[Object] */;
3909 long var260
/* : Int */;
3910 val
* var261
/* : NativeArray[Object] */;
3911 val
* var262
/* : String */;
3912 static val
* varonce263
;
3913 val
* var264
/* : String */;
3914 char* var265
/* : NativeString */;
3915 long var266
/* : Int */;
3916 val
* var267
/* : String */;
3917 static val
* varonce268
;
3918 val
* var269
/* : String */;
3919 char* var270
/* : NativeString */;
3920 long var271
/* : Int */;
3921 val
* var272
/* : String */;
3922 val
* var273
/* : Array[Object] */;
3923 long var274
/* : Int */;
3924 val
* var275
/* : NativeArray[Object] */;
3925 val
* var276
/* : String */;
3926 static val
* varonce277
;
3927 val
* var278
/* : String */;
3928 char* var279
/* : NativeString */;
3929 long var280
/* : Int */;
3930 val
* var281
/* : String */;
3931 static val
* varonce282
;
3932 val
* var283
/* : String */;
3933 char* var284
/* : NativeString */;
3934 long var285
/* : Int */;
3935 val
* var286
/* : String */;
3936 val
* var287
/* : Array[Object] */;
3937 long var288
/* : Int */;
3938 val
* var289
/* : NativeArray[Object] */;
3939 val
* var290
/* : String */;
3940 static val
* varonce291
;
3941 val
* var292
/* : String */;
3942 char* var293
/* : NativeString */;
3943 long var294
/* : Int */;
3944 val
* var295
/* : String */;
3945 static val
* varonce296
;
3946 val
* var297
/* : String */;
3947 char* var298
/* : NativeString */;
3948 long var299
/* : Int */;
3949 val
* var300
/* : String */;
3950 val
* var301
/* : Array[Object] */;
3951 long var302
/* : Int */;
3952 val
* var303
/* : NativeArray[Object] */;
3953 val
* var304
/* : String */;
3954 static val
* varonce306
;
3955 val
* var307
/* : String */;
3956 char* var308
/* : NativeString */;
3957 long var309
/* : Int */;
3958 val
* var310
/* : String */;
3959 static val
* varonce311
;
3960 val
* var312
/* : String */;
3961 char* var313
/* : NativeString */;
3962 long var314
/* : Int */;
3963 val
* var315
/* : String */;
3964 val
* var316
/* : Array[String] */;
3965 val
* var317
/* : Array[nullable Object] */;
3966 val
* var_tags
/* var tags: Array[String] */;
3967 static val
* varonce318
;
3968 val
* var319
/* : String */;
3969 char* var320
/* : NativeString */;
3970 long var321
/* : Int */;
3971 val
* var322
/* : String */;
3972 val
* var323
/* : Iterator[nullable Object] */;
3973 short int var324
/* : Bool */;
3974 val
* var325
/* : nullable Object */;
3975 val
* var_tag326
/* var tag: String */;
3976 static val
* varonce327
;
3977 val
* var328
/* : String */;
3978 char* var329
/* : NativeString */;
3979 long var330
/* : Int */;
3980 val
* var331
/* : String */;
3981 static val
* varonce332
;
3982 val
* var333
/* : String */;
3983 char* var334
/* : NativeString */;
3984 long var335
/* : Int */;
3985 val
* var336
/* : String */;
3986 val
* var337
/* : Array[Object] */;
3987 long var338
/* : Int */;
3988 val
* var339
/* : NativeArray[Object] */;
3989 val
* var340
/* : String */;
3990 static val
* varonce341
;
3991 val
* var342
/* : String */;
3992 char* var343
/* : NativeString */;
3993 long var344
/* : Int */;
3994 val
* var345
/* : String */;
3995 static val
* varonce346
;
3996 val
* var347
/* : String */;
3997 char* var348
/* : NativeString */;
3998 long var349
/* : Int */;
3999 val
* var350
/* : String */;
4000 static val
* varonce351
;
4001 val
* var352
/* : String */;
4002 char* var353
/* : NativeString */;
4003 long var354
/* : Int */;
4004 val
* var355
/* : String */;
4005 val
* var356
/* : Array[Object] */;
4006 long var357
/* : Int */;
4007 val
* var358
/* : NativeArray[Object] */;
4008 val
* var359
/* : String */;
4009 static val
* varonce360
;
4010 val
* var361
/* : String */;
4011 char* var362
/* : NativeString */;
4012 long var363
/* : Int */;
4013 val
* var364
/* : String */;
4014 static val
* varonce365
;
4015 val
* var366
/* : String */;
4016 char* var367
/* : NativeString */;
4017 long var368
/* : Int */;
4018 val
* var369
/* : String */;
4019 static val
* varonce370
;
4020 val
* var371
/* : String */;
4021 char* var372
/* : NativeString */;
4022 long var373
/* : Int */;
4023 val
* var374
/* : String */;
4024 val
* var375
/* : Array[Object] */;
4025 long var376
/* : Int */;
4026 val
* var377
/* : NativeArray[Object] */;
4027 val
* var378
/* : String */;
4028 static val
* varonce379
;
4029 val
* var380
/* : String */;
4030 char* var381
/* : NativeString */;
4031 long var382
/* : Int */;
4032 val
* var383
/* : String */;
4033 static val
* varonce384
;
4034 val
* var385
/* : String */;
4035 char* var386
/* : NativeString */;
4036 long var387
/* : Int */;
4037 val
* var388
/* : String */;
4038 static val
* varonce389
;
4039 val
* var390
/* : String */;
4040 char* var391
/* : NativeString */;
4041 long var392
/* : Int */;
4042 val
* var393
/* : String */;
4043 val
* var394
/* : Array[Object] */;
4044 long var395
/* : Int */;
4045 val
* var396
/* : NativeArray[Object] */;
4046 val
* var397
/* : String */;
4047 static val
* varonce398
;
4048 val
* var399
/* : String */;
4049 char* var400
/* : NativeString */;
4050 long var401
/* : Int */;
4051 val
* var402
/* : String */;
4052 static val
* varonce403
;
4053 val
* var404
/* : String */;
4054 char* var405
/* : NativeString */;
4055 long var406
/* : Int */;
4056 val
* var407
/* : String */;
4057 static val
* varonce408
;
4058 val
* var409
/* : String */;
4059 char* var410
/* : NativeString */;
4060 long var411
/* : Int */;
4061 val
* var412
/* : String */;
4062 val
* var413
/* : Array[Object] */;
4063 long var414
/* : Int */;
4064 val
* var415
/* : NativeArray[Object] */;
4065 val
* var416
/* : String */;
4066 static val
* varonce418
;
4067 val
* var419
/* : String */;
4068 char* var420
/* : NativeString */;
4069 long var421
/* : Int */;
4070 val
* var422
/* : String */;
4071 static val
* varonce423
;
4072 val
* var424
/* : String */;
4073 char* var425
/* : NativeString */;
4074 long var426
/* : Int */;
4075 val
* var427
/* : String */;
4076 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__new_visitor
]))(self
) /* new_visitor on <self:AbstractCompiler>*/;
4081 var2
= "int glob_argc;";
4083 var4
= string__NativeString__to_s_with_length(var2
, var3
);
4087 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var1
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
4091 var7
= "char **glob_argv;";
4093 var9
= string__NativeString__to_s_with_length(var7
, var8
);
4097 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var6
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
4101 var12
= "val *glob_sys;";
4103 var14
= string__NativeString__to_s_with_length(var12
, var13
);
4107 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var11
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
4108 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
4109 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var15
) /* toolcontext on <var15:ModelBuilder>*/;
4110 var17
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_typing_test_metrics
]))(var16
) /* opt_typing_test_metrics on <var16:ToolContext>*/;
4111 var18
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_opts__Option__value
]))(var17
) /* value on <var17:OptionBool>*/;
4112 var19
= ((struct instance_kernel__Bool
*)var18
)->value
; /* autounbox from nullable Object to Bool */;
4114 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_tags
]))(self
) /* count_type_test_tags on <self:AbstractCompiler>*/;
4115 var21
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var20
) /* iterator on <var20:Array[String]>*/;
4117 var22
= ((short int (*)(val
*))(var21
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var21
) /* is_ok on <var21:Iterator[nullable Object]>*/;
4119 var23
= ((val
* (*)(val
*))(var21
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var21
) /* item on <var21:Iterator[nullable Object]>*/;
4124 var26
= "long count_type_test_resolved_";
4126 var28
= string__NativeString__to_s_with_length(var26
, var27
);
4135 var33
= string__NativeString__to_s_with_length(var31
, var32
);
4139 var34
= NEW_array__Array(&type_array__Arraykernel__Object
);
4140 { /* var34 = array_instance Array[Object] */
4142 var36
= NEW_array__NativeArray(var35
, &type_array__NativeArraykernel__Object
);
4143 ((struct instance_array__NativeArray
*)var36
)->values
[0] = (val
*) var25
;
4144 ((struct instance_array__NativeArray
*)var36
)->values
[1] = (val
*) var_tag
;
4145 ((struct instance_array__NativeArray
*)var36
)->values
[2] = (val
*) var30
;
4146 ((void (*)(val
*, val
*, long))(var34
->class->vft
[COLOR_array__Array__with_native
]))(var34
, var36
, var35
) /* with_native on <var34:Array[Object]>*/;
4147 CHECK_NEW_array__Array(var34
);
4149 var37
= ((val
* (*)(val
*))(var34
->class->vft
[COLOR_string__Object__to_s
]))(var34
) /* to_s on <var34:Array[Object]>*/;
4150 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var37
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
4154 var40
= "long count_type_test_unresolved_";
4156 var42
= string__NativeString__to_s_with_length(var40
, var41
);
4165 var47
= string__NativeString__to_s_with_length(var45
, var46
);
4169 var48
= NEW_array__Array(&type_array__Arraykernel__Object
);
4170 { /* var48 = array_instance Array[Object] */
4172 var50
= NEW_array__NativeArray(var49
, &type_array__NativeArraykernel__Object
);
4173 ((struct instance_array__NativeArray
*)var50
)->values
[0] = (val
*) var39
;
4174 ((struct instance_array__NativeArray
*)var50
)->values
[1] = (val
*) var_tag
;
4175 ((struct instance_array__NativeArray
*)var50
)->values
[2] = (val
*) var44
;
4176 ((void (*)(val
*, val
*, long))(var48
->class->vft
[COLOR_array__Array__with_native
]))(var48
, var50
, var49
) /* with_native on <var48:Array[Object]>*/;
4177 CHECK_NEW_array__Array(var48
);
4179 var51
= ((val
* (*)(val
*))(var48
->class->vft
[COLOR_string__Object__to_s
]))(var48
) /* to_s on <var48:Array[Object]>*/;
4180 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var51
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
4184 var54
= "long count_type_test_skipped_";
4186 var56
= string__NativeString__to_s_with_length(var54
, var55
);
4195 var61
= string__NativeString__to_s_with_length(var59
, var60
);
4199 var62
= NEW_array__Array(&type_array__Arraykernel__Object
);
4200 { /* var62 = array_instance Array[Object] */
4202 var64
= NEW_array__NativeArray(var63
, &type_array__NativeArraykernel__Object
);
4203 ((struct instance_array__NativeArray
*)var64
)->values
[0] = (val
*) var53
;
4204 ((struct instance_array__NativeArray
*)var64
)->values
[1] = (val
*) var_tag
;
4205 ((struct instance_array__NativeArray
*)var64
)->values
[2] = (val
*) var58
;
4206 ((void (*)(val
*, val
*, long))(var62
->class->vft
[COLOR_array__Array__with_native
]))(var62
, var64
, var63
) /* with_native on <var62:Array[Object]>*/;
4207 CHECK_NEW_array__Array(var62
);
4209 var65
= ((val
* (*)(val
*))(var62
->class->vft
[COLOR_string__Object__to_s
]))(var62
) /* to_s on <var62:Array[Object]>*/;
4210 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var65
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
4211 var66
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
4212 var67
= ((val
* (*)(val
*))(var66
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var66
) /* header on <var66:AbstractCompiler>*/;
4216 var70
= "extern long count_type_test_resolved_";
4218 var72
= string__NativeString__to_s_with_length(var70
, var71
);
4227 var77
= string__NativeString__to_s_with_length(var75
, var76
);
4231 var78
= NEW_array__Array(&type_array__Arraykernel__Object
);
4232 { /* var78 = array_instance Array[Object] */
4234 var80
= NEW_array__NativeArray(var79
, &type_array__NativeArraykernel__Object
);
4235 ((struct instance_array__NativeArray
*)var80
)->values
[0] = (val
*) var69
;
4236 ((struct instance_array__NativeArray
*)var80
)->values
[1] = (val
*) var_tag
;
4237 ((struct instance_array__NativeArray
*)var80
)->values
[2] = (val
*) var74
;
4238 ((void (*)(val
*, val
*, long))(var78
->class->vft
[COLOR_array__Array__with_native
]))(var78
, var80
, var79
) /* with_native on <var78:Array[Object]>*/;
4239 CHECK_NEW_array__Array(var78
);
4241 var81
= ((val
* (*)(val
*))(var78
->class->vft
[COLOR_string__Object__to_s
]))(var78
) /* to_s on <var78:Array[Object]>*/;
4242 ((void (*)(val
*, val
*))(var67
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var67
, var81
) /* add_decl on <var67:CodeWriter>*/;
4243 var82
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
4244 var83
= ((val
* (*)(val
*))(var82
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var82
) /* header on <var82:AbstractCompiler>*/;
4248 var86
= "extern long count_type_test_unresolved_";
4250 var88
= string__NativeString__to_s_with_length(var86
, var87
);
4259 var93
= string__NativeString__to_s_with_length(var91
, var92
);
4263 var94
= NEW_array__Array(&type_array__Arraykernel__Object
);
4264 { /* var94 = array_instance Array[Object] */
4266 var96
= NEW_array__NativeArray(var95
, &type_array__NativeArraykernel__Object
);
4267 ((struct instance_array__NativeArray
*)var96
)->values
[0] = (val
*) var85
;
4268 ((struct instance_array__NativeArray
*)var96
)->values
[1] = (val
*) var_tag
;
4269 ((struct instance_array__NativeArray
*)var96
)->values
[2] = (val
*) var90
;
4270 ((void (*)(val
*, val
*, long))(var94
->class->vft
[COLOR_array__Array__with_native
]))(var94
, var96
, var95
) /* with_native on <var94:Array[Object]>*/;
4271 CHECK_NEW_array__Array(var94
);
4273 var97
= ((val
* (*)(val
*))(var94
->class->vft
[COLOR_string__Object__to_s
]))(var94
) /* to_s on <var94:Array[Object]>*/;
4274 ((void (*)(val
*, val
*))(var83
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var83
, var97
) /* add_decl on <var83:CodeWriter>*/;
4275 var98
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
4276 var99
= ((val
* (*)(val
*))(var98
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var98
) /* header on <var98:AbstractCompiler>*/;
4278 var101
= varonce100
;
4280 var102
= "extern long count_type_test_skipped_";
4282 var104
= string__NativeString__to_s_with_length(var102
, var103
);
4284 varonce100
= var101
;
4287 var106
= varonce105
;
4291 var109
= string__NativeString__to_s_with_length(var107
, var108
);
4293 varonce105
= var106
;
4295 var110
= NEW_array__Array(&type_array__Arraykernel__Object
);
4296 { /* var110 = array_instance Array[Object] */
4298 var112
= NEW_array__NativeArray(var111
, &type_array__NativeArraykernel__Object
);
4299 ((struct instance_array__NativeArray
*)var112
)->values
[0] = (val
*) var101
;
4300 ((struct instance_array__NativeArray
*)var112
)->values
[1] = (val
*) var_tag
;
4301 ((struct instance_array__NativeArray
*)var112
)->values
[2] = (val
*) var106
;
4302 ((void (*)(val
*, val
*, long))(var110
->class->vft
[COLOR_array__Array__with_native
]))(var110
, var112
, var111
) /* with_native on <var110:Array[Object]>*/;
4303 CHECK_NEW_array__Array(var110
);
4305 var113
= ((val
* (*)(val
*))(var110
->class->vft
[COLOR_string__Object__to_s
]))(var110
) /* to_s on <var110:Array[Object]>*/;
4306 ((void (*)(val
*, val
*))(var99
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var99
, var113
) /* add_decl on <var99:CodeWriter>*/;
4307 CONTINUE_label
: (void)0;
4308 ((void (*)(val
*))(var21
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var21
) /* next on <var21:Iterator[nullable Object]>*/;
4310 BREAK_label
: (void)0;
4314 var115
= varonce114
;
4316 var116
= "int main(int argc, char** argv) {";
4318 var118
= string__NativeString__to_s_with_length(var116
, var117
);
4320 varonce114
= var115
;
4322 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var115
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
4324 var120
= varonce119
;
4326 var121
= "glob_argc = argc; glob_argv = argv;";
4328 var123
= string__NativeString__to_s_with_length(var121
, var122
);
4330 varonce119
= var120
;
4332 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var120
) /* add on <var_v:AbstractCompilerVisitor>*/;
4334 var125
= varonce124
;
4336 var126
= "initialize_gc_option();";
4338 var128
= string__NativeString__to_s_with_length(var126
, var127
);
4340 varonce124
= var125
;
4342 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var125
) /* add on <var_v:AbstractCompilerVisitor>*/;
4343 var129
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(self
) /* mainmodule on <self:AbstractCompiler>*/;
4344 var130
= ((val
* (*)(val
*))(var129
->class->vft
[COLOR_model__MModule__sys_type
]))(var129
) /* sys_type on <var129:MModule>*/;
4345 var_main_type
= var130
;
4347 if (var_main_type
== NULL
) {
4348 var132
= 0; /* is null */
4350 var132
= 1; /* arg is null and recv is not */
4353 var133
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
4354 var134
= ((val
* (*)(val
*))(var133
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var133
) /* mainmodule on <var133:AbstractCompiler>*/;
4355 var_mainmodule
= var134
;
4356 var135
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__init_instance
]))(var_v
, var_main_type
) /* init_instance on <var_v:AbstractCompilerVisitor>*/;
4357 var_glob_sys
= var135
;
4359 var137
= varonce136
;
4361 var138
= "glob_sys = ";
4363 var140
= string__NativeString__to_s_with_length(var138
, var139
);
4365 varonce136
= var137
;
4368 var142
= varonce141
;
4372 var145
= string__NativeString__to_s_with_length(var143
, var144
);
4374 varonce141
= var142
;
4376 var146
= NEW_array__Array(&type_array__Arraykernel__Object
);
4377 { /* var146 = array_instance Array[Object] */
4379 var148
= NEW_array__NativeArray(var147
, &type_array__NativeArraykernel__Object
);
4380 ((struct instance_array__NativeArray
*)var148
)->values
[0] = (val
*) var137
;
4381 ((struct instance_array__NativeArray
*)var148
)->values
[1] = (val
*) var_glob_sys
;
4382 ((struct instance_array__NativeArray
*)var148
)->values
[2] = (val
*) var142
;
4383 ((void (*)(val
*, val
*, long))(var146
->class->vft
[COLOR_array__Array__with_native
]))(var146
, var148
, var147
) /* with_native on <var146:Array[Object]>*/;
4384 CHECK_NEW_array__Array(var146
);
4386 var149
= ((val
* (*)(val
*))(var146
->class->vft
[COLOR_string__Object__to_s
]))(var146
) /* to_s on <var146:Array[Object]>*/;
4387 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var149
) /* add on <var_v:AbstractCompilerVisitor>*/;
4389 var151
= varonce150
;
4393 var154
= string__NativeString__to_s_with_length(var152
, var153
);
4395 varonce150
= var151
;
4397 var155
= ((val
* (*)(val
*))(var_main_type
->class->vft
[COLOR_model__MClassType__mclass
]))(var_main_type
) /* mclass on <var_main_type:nullable MClassType(MClassType)>*/;
4398 var156
= ((val
* (*)(val
*, val
*, val
*))(var_mainmodule
->class->vft
[COLOR_model__MModule__try_get_primitive_method
]))(var_mainmodule
, var151
, var155
) /* try_get_primitive_method on <var_mainmodule:MModule>*/;
4399 var_main_init
= var156
;
4401 if (var_main_init
== NULL
) {
4402 var158
= 0; /* is null */
4404 var158
= 1; /* arg is null and recv is not */
4407 var159
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
4408 { /* var159 = array_instance Array[RuntimeVariable] */
4410 var161
= NEW_array__NativeArray(var160
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
4411 ((struct instance_array__NativeArray
*)var161
)->values
[0] = (val
*) var_glob_sys
;
4412 ((void (*)(val
*, val
*, long))(var159
->class->vft
[COLOR_array__Array__with_native
]))(var159
, var161
, var160
) /* with_native on <var159:Array[RuntimeVariable]>*/;
4413 CHECK_NEW_array__Array(var159
);
4415 var162
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(var_v
, var_main_init
, var159
) /* send on <var_v:AbstractCompilerVisitor>*/;
4420 var164
= varonce163
;
4424 var167
= string__NativeString__to_s_with_length(var165
, var166
);
4426 varonce163
= var164
;
4428 var168
= ((val
* (*)(val
*))(var_main_type
->class->vft
[COLOR_model__MClassType__mclass
]))(var_main_type
) /* mclass on <var_main_type:nullable MClassType(MClassType)>*/;
4429 var169
= ((val
* (*)(val
*, val
*, val
*))(var_mainmodule
->class->vft
[COLOR_model__MModule__try_get_primitive_method
]))(var_mainmodule
, var164
, var168
) /* try_get_primitive_method on <var_mainmodule:MModule>*/;
4430 var_main_method
= var169
;
4432 if (var_main_method
== NULL
) {
4433 var171
= 0; /* is null */
4435 var171
= 1; /* arg is null and recv is not */
4438 var172
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
4439 { /* var172 = array_instance Array[RuntimeVariable] */
4441 var174
= NEW_array__NativeArray(var173
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
4442 ((struct instance_array__NativeArray
*)var174
)->values
[0] = (val
*) var_glob_sys
;
4443 ((void (*)(val
*, val
*, long))(var172
->class->vft
[COLOR_array__Array__with_native
]))(var172
, var174
, var173
) /* with_native on <var172:Array[RuntimeVariable]>*/;
4444 CHECK_NEW_array__Array(var172
);
4446 var175
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(var_v
, var_main_method
, var172
) /* send on <var_v:AbstractCompilerVisitor>*/;
4452 var176
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
4453 var177
= ((val
* (*)(val
*))(var176
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var176
) /* toolcontext on <var176:ModelBuilder>*/;
4454 var178
= ((val
* (*)(val
*))(var177
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_typing_test_metrics
]))(var177
) /* opt_typing_test_metrics on <var177:ToolContext>*/;
4455 var179
= ((val
* (*)(val
*))(var178
->class->vft
[COLOR_opts__Option__value
]))(var178
) /* value on <var178:OptionBool>*/;
4456 var180
= ((struct instance_kernel__Bool
*)var179
)->value
; /* autounbox from nullable Object to Bool */;
4459 var182
= varonce181
;
4461 var183
= "long count_type_test_resolved_total = 0;";
4463 var185
= string__NativeString__to_s_with_length(var183
, var184
);
4465 varonce181
= var182
;
4467 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var182
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
4469 var187
= varonce186
;
4471 var188
= "long count_type_test_unresolved_total = 0;";
4473 var190
= string__NativeString__to_s_with_length(var188
, var189
);
4475 varonce186
= var187
;
4477 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var187
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
4479 var192
= varonce191
;
4481 var193
= "long count_type_test_skipped_total = 0;";
4483 var195
= string__NativeString__to_s_with_length(var193
, var194
);
4485 varonce191
= var192
;
4487 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var192
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
4489 var197
= varonce196
;
4491 var198
= "long count_type_test_total_total = 0;";
4493 var200
= string__NativeString__to_s_with_length(var198
, var199
);
4495 varonce196
= var197
;
4497 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var197
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
4498 var201
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_tags
]))(self
) /* count_type_test_tags on <self:AbstractCompiler>*/;
4499 var202
= ((val
* (*)(val
*))(var201
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var201
) /* iterator on <var201:Array[String]>*/;
4501 var203
= ((short int (*)(val
*))(var202
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var202
) /* is_ok on <var202:Iterator[nullable Object]>*/;
4503 var204
= ((val
* (*)(val
*))(var202
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var202
) /* item on <var202:Iterator[nullable Object]>*/;
4504 var_tag205
= var204
;
4506 var207
= varonce206
;
4508 var208
= "long count_type_test_total_";
4510 var210
= string__NativeString__to_s_with_length(var208
, var209
);
4512 varonce206
= var207
;
4515 var212
= varonce211
;
4519 var215
= string__NativeString__to_s_with_length(var213
, var214
);
4521 varonce211
= var212
;
4523 var216
= NEW_array__Array(&type_array__Arraykernel__Object
);
4524 { /* var216 = array_instance Array[Object] */
4526 var218
= NEW_array__NativeArray(var217
, &type_array__NativeArraykernel__Object
);
4527 ((struct instance_array__NativeArray
*)var218
)->values
[0] = (val
*) var207
;
4528 ((struct instance_array__NativeArray
*)var218
)->values
[1] = (val
*) var_tag205
;
4529 ((struct instance_array__NativeArray
*)var218
)->values
[2] = (val
*) var212
;
4530 ((void (*)(val
*, val
*, long))(var216
->class->vft
[COLOR_array__Array__with_native
]))(var216
, var218
, var217
) /* with_native on <var216:Array[Object]>*/;
4531 CHECK_NEW_array__Array(var216
);
4533 var219
= ((val
* (*)(val
*))(var216
->class->vft
[COLOR_string__Object__to_s
]))(var216
) /* to_s on <var216:Array[Object]>*/;
4534 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var219
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
4536 var221
= varonce220
;
4538 var222
= "count_type_test_total_";
4540 var224
= string__NativeString__to_s_with_length(var222
, var223
);
4542 varonce220
= var221
;
4545 var226
= varonce225
;
4547 var227
= " = count_type_test_resolved_";
4549 var229
= string__NativeString__to_s_with_length(var227
, var228
);
4551 varonce225
= var226
;
4554 var231
= varonce230
;
4556 var232
= " + count_type_test_unresolved_";
4558 var234
= string__NativeString__to_s_with_length(var232
, var233
);
4560 varonce230
= var231
;
4563 var236
= varonce235
;
4565 var237
= " + count_type_test_skipped_";
4567 var239
= string__NativeString__to_s_with_length(var237
, var238
);
4569 varonce235
= var236
;
4572 var241
= varonce240
;
4576 var244
= string__NativeString__to_s_with_length(var242
, var243
);
4578 varonce240
= var241
;
4580 var245
= NEW_array__Array(&type_array__Arraykernel__Object
);
4581 { /* var245 = array_instance Array[Object] */
4583 var247
= NEW_array__NativeArray(var246
, &type_array__NativeArraykernel__Object
);
4584 ((struct instance_array__NativeArray
*)var247
)->values
[0] = (val
*) var221
;
4585 ((struct instance_array__NativeArray
*)var247
)->values
[1] = (val
*) var_tag205
;
4586 ((struct instance_array__NativeArray
*)var247
)->values
[2] = (val
*) var226
;
4587 ((struct instance_array__NativeArray
*)var247
)->values
[3] = (val
*) var_tag205
;
4588 ((struct instance_array__NativeArray
*)var247
)->values
[4] = (val
*) var231
;
4589 ((struct instance_array__NativeArray
*)var247
)->values
[5] = (val
*) var_tag205
;
4590 ((struct instance_array__NativeArray
*)var247
)->values
[6] = (val
*) var236
;
4591 ((struct instance_array__NativeArray
*)var247
)->values
[7] = (val
*) var_tag205
;
4592 ((struct instance_array__NativeArray
*)var247
)->values
[8] = (val
*) var241
;
4593 ((void (*)(val
*, val
*, long))(var245
->class->vft
[COLOR_array__Array__with_native
]))(var245
, var247
, var246
) /* with_native on <var245:Array[Object]>*/;
4594 CHECK_NEW_array__Array(var245
);
4596 var248
= ((val
* (*)(val
*))(var245
->class->vft
[COLOR_string__Object__to_s
]))(var245
) /* to_s on <var245:Array[Object]>*/;
4597 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var248
) /* add on <var_v:AbstractCompilerVisitor>*/;
4599 var250
= varonce249
;
4601 var251
= "count_type_test_resolved_total += count_type_test_resolved_";
4603 var253
= string__NativeString__to_s_with_length(var251
, var252
);
4605 varonce249
= var250
;
4608 var255
= varonce254
;
4612 var258
= string__NativeString__to_s_with_length(var256
, var257
);
4614 varonce254
= var255
;
4616 var259
= NEW_array__Array(&type_array__Arraykernel__Object
);
4617 { /* var259 = array_instance Array[Object] */
4619 var261
= NEW_array__NativeArray(var260
, &type_array__NativeArraykernel__Object
);
4620 ((struct instance_array__NativeArray
*)var261
)->values
[0] = (val
*) var250
;
4621 ((struct instance_array__NativeArray
*)var261
)->values
[1] = (val
*) var_tag205
;
4622 ((struct instance_array__NativeArray
*)var261
)->values
[2] = (val
*) var255
;
4623 ((void (*)(val
*, val
*, long))(var259
->class->vft
[COLOR_array__Array__with_native
]))(var259
, var261
, var260
) /* with_native on <var259:Array[Object]>*/;
4624 CHECK_NEW_array__Array(var259
);
4626 var262
= ((val
* (*)(val
*))(var259
->class->vft
[COLOR_string__Object__to_s
]))(var259
) /* to_s on <var259:Array[Object]>*/;
4627 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var262
) /* add on <var_v:AbstractCompilerVisitor>*/;
4629 var264
= varonce263
;
4631 var265
= "count_type_test_unresolved_total += count_type_test_unresolved_";
4633 var267
= string__NativeString__to_s_with_length(var265
, var266
);
4635 varonce263
= var264
;
4638 var269
= varonce268
;
4642 var272
= string__NativeString__to_s_with_length(var270
, var271
);
4644 varonce268
= var269
;
4646 var273
= NEW_array__Array(&type_array__Arraykernel__Object
);
4647 { /* var273 = array_instance Array[Object] */
4649 var275
= NEW_array__NativeArray(var274
, &type_array__NativeArraykernel__Object
);
4650 ((struct instance_array__NativeArray
*)var275
)->values
[0] = (val
*) var264
;
4651 ((struct instance_array__NativeArray
*)var275
)->values
[1] = (val
*) var_tag205
;
4652 ((struct instance_array__NativeArray
*)var275
)->values
[2] = (val
*) var269
;
4653 ((void (*)(val
*, val
*, long))(var273
->class->vft
[COLOR_array__Array__with_native
]))(var273
, var275
, var274
) /* with_native on <var273:Array[Object]>*/;
4654 CHECK_NEW_array__Array(var273
);
4656 var276
= ((val
* (*)(val
*))(var273
->class->vft
[COLOR_string__Object__to_s
]))(var273
) /* to_s on <var273:Array[Object]>*/;
4657 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var276
) /* add on <var_v:AbstractCompilerVisitor>*/;
4659 var278
= varonce277
;
4661 var279
= "count_type_test_skipped_total += count_type_test_skipped_";
4663 var281
= string__NativeString__to_s_with_length(var279
, var280
);
4665 varonce277
= var278
;
4668 var283
= varonce282
;
4672 var286
= string__NativeString__to_s_with_length(var284
, var285
);
4674 varonce282
= var283
;
4676 var287
= NEW_array__Array(&type_array__Arraykernel__Object
);
4677 { /* var287 = array_instance Array[Object] */
4679 var289
= NEW_array__NativeArray(var288
, &type_array__NativeArraykernel__Object
);
4680 ((struct instance_array__NativeArray
*)var289
)->values
[0] = (val
*) var278
;
4681 ((struct instance_array__NativeArray
*)var289
)->values
[1] = (val
*) var_tag205
;
4682 ((struct instance_array__NativeArray
*)var289
)->values
[2] = (val
*) var283
;
4683 ((void (*)(val
*, val
*, long))(var287
->class->vft
[COLOR_array__Array__with_native
]))(var287
, var289
, var288
) /* with_native on <var287:Array[Object]>*/;
4684 CHECK_NEW_array__Array(var287
);
4686 var290
= ((val
* (*)(val
*))(var287
->class->vft
[COLOR_string__Object__to_s
]))(var287
) /* to_s on <var287:Array[Object]>*/;
4687 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var290
) /* add on <var_v:AbstractCompilerVisitor>*/;
4689 var292
= varonce291
;
4691 var293
= "count_type_test_total_total += count_type_test_total_";
4693 var295
= string__NativeString__to_s_with_length(var293
, var294
);
4695 varonce291
= var292
;
4698 var297
= varonce296
;
4702 var300
= string__NativeString__to_s_with_length(var298
, var299
);
4704 varonce296
= var297
;
4706 var301
= NEW_array__Array(&type_array__Arraykernel__Object
);
4707 { /* var301 = array_instance Array[Object] */
4709 var303
= NEW_array__NativeArray(var302
, &type_array__NativeArraykernel__Object
);
4710 ((struct instance_array__NativeArray
*)var303
)->values
[0] = (val
*) var292
;
4711 ((struct instance_array__NativeArray
*)var303
)->values
[1] = (val
*) var_tag205
;
4712 ((struct instance_array__NativeArray
*)var303
)->values
[2] = (val
*) var297
;
4713 ((void (*)(val
*, val
*, long))(var301
->class->vft
[COLOR_array__Array__with_native
]))(var301
, var303
, var302
) /* with_native on <var301:Array[Object]>*/;
4714 CHECK_NEW_array__Array(var301
);
4716 var304
= ((val
* (*)(val
*))(var301
->class->vft
[COLOR_string__Object__to_s
]))(var301
) /* to_s on <var301:Array[Object]>*/;
4717 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var304
) /* add on <var_v:AbstractCompilerVisitor>*/;
4718 CONTINUE_label305
: (void)0;
4719 ((void (*)(val
*))(var202
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var202
) /* next on <var202:Iterator[nullable Object]>*/;
4721 BREAK_label305
: (void)0;
4723 var307
= varonce306
;
4725 var308
= "printf(\"# dynamic count_type_test: total %l\\n\");";
4727 var310
= string__NativeString__to_s_with_length(var308
, var309
);
4729 varonce306
= var307
;
4731 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var307
) /* add on <var_v:AbstractCompilerVisitor>*/;
4733 var312
= varonce311
;
4735 var313
= "printf(\"\\tresolved\\tunresolved\\tskipped\\ttotal\\n\");";
4737 var315
= string__NativeString__to_s_with_length(var313
, var314
);
4739 varonce311
= var312
;
4741 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var312
) /* add on <var_v:AbstractCompilerVisitor>*/;
4742 var316
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_tags
]))(self
) /* count_type_test_tags on <self:AbstractCompiler>*/;
4743 var317
= ((val
* (*)(val
*))(var316
->class->vft
[COLOR_array__Collection__to_a
]))(var316
) /* to_a on <var316:Array[String]>*/;
4746 var319
= varonce318
;
4750 var322
= string__NativeString__to_s_with_length(var320
, var321
);
4752 varonce318
= var319
;
4754 ((void (*)(val
*, val
*))(var_tags
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_tags
, var319
) /* add on <var_tags:Array[String]>*/;
4755 var323
= ((val
* (*)(val
*))(var_tags
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_tags
) /* iterator on <var_tags:Array[String]>*/;
4757 var324
= ((short int (*)(val
*))(var323
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var323
) /* is_ok on <var323:Iterator[nullable Object]>*/;
4759 var325
= ((val
* (*)(val
*))(var323
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var323
) /* item on <var323:Iterator[nullable Object]>*/;
4760 var_tag326
= var325
;
4762 var328
= varonce327
;
4764 var329
= "printf(\"";
4766 var331
= string__NativeString__to_s_with_length(var329
, var330
);
4768 varonce327
= var328
;
4771 var333
= varonce332
;
4775 var336
= string__NativeString__to_s_with_length(var334
, var335
);
4777 varonce332
= var333
;
4779 var337
= NEW_array__Array(&type_array__Arraykernel__Object
);
4780 { /* var337 = array_instance Array[Object] */
4782 var339
= NEW_array__NativeArray(var338
, &type_array__NativeArraykernel__Object
);
4783 ((struct instance_array__NativeArray
*)var339
)->values
[0] = (val
*) var328
;
4784 ((struct instance_array__NativeArray
*)var339
)->values
[1] = (val
*) var_tag326
;
4785 ((struct instance_array__NativeArray
*)var339
)->values
[2] = (val
*) var333
;
4786 ((void (*)(val
*, val
*, long))(var337
->class->vft
[COLOR_array__Array__with_native
]))(var337
, var339
, var338
) /* with_native on <var337:Array[Object]>*/;
4787 CHECK_NEW_array__Array(var337
);
4789 var340
= ((val
* (*)(val
*))(var337
->class->vft
[COLOR_string__Object__to_s
]))(var337
) /* to_s on <var337:Array[Object]>*/;
4790 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var340
) /* add on <var_v:AbstractCompilerVisitor>*/;
4792 var342
= varonce341
;
4794 var343
= "printf(\"\\t%ld (%.2f%%)\", count_type_test_resolved_";
4796 var345
= string__NativeString__to_s_with_length(var343
, var344
);
4798 varonce341
= var342
;
4801 var347
= varonce346
;
4803 var348
= ", 100.0*count_type_test_resolved_";
4805 var350
= string__NativeString__to_s_with_length(var348
, var349
);
4807 varonce346
= var347
;
4810 var352
= varonce351
;
4812 var353
= "/count_type_test_total_total);";
4814 var355
= string__NativeString__to_s_with_length(var353
, var354
);
4816 varonce351
= var352
;
4818 var356
= NEW_array__Array(&type_array__Arraykernel__Object
);
4819 { /* var356 = array_instance Array[Object] */
4821 var358
= NEW_array__NativeArray(var357
, &type_array__NativeArraykernel__Object
);
4822 ((struct instance_array__NativeArray
*)var358
)->values
[0] = (val
*) var342
;
4823 ((struct instance_array__NativeArray
*)var358
)->values
[1] = (val
*) var_tag326
;
4824 ((struct instance_array__NativeArray
*)var358
)->values
[2] = (val
*) var347
;
4825 ((struct instance_array__NativeArray
*)var358
)->values
[3] = (val
*) var_tag326
;
4826 ((struct instance_array__NativeArray
*)var358
)->values
[4] = (val
*) var352
;
4827 ((void (*)(val
*, val
*, long))(var356
->class->vft
[COLOR_array__Array__with_native
]))(var356
, var358
, var357
) /* with_native on <var356:Array[Object]>*/;
4828 CHECK_NEW_array__Array(var356
);
4830 var359
= ((val
* (*)(val
*))(var356
->class->vft
[COLOR_string__Object__to_s
]))(var356
) /* to_s on <var356:Array[Object]>*/;
4831 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var359
) /* add on <var_v:AbstractCompilerVisitor>*/;
4833 var361
= varonce360
;
4835 var362
= "printf(\"\\t%ld (%.2f%%)\", count_type_test_unresolved_";
4837 var364
= string__NativeString__to_s_with_length(var362
, var363
);
4839 varonce360
= var361
;
4842 var366
= varonce365
;
4844 var367
= ", 100.0*count_type_test_unresolved_";
4846 var369
= string__NativeString__to_s_with_length(var367
, var368
);
4848 varonce365
= var366
;
4851 var371
= varonce370
;
4853 var372
= "/count_type_test_total_total);";
4855 var374
= string__NativeString__to_s_with_length(var372
, var373
);
4857 varonce370
= var371
;
4859 var375
= NEW_array__Array(&type_array__Arraykernel__Object
);
4860 { /* var375 = array_instance Array[Object] */
4862 var377
= NEW_array__NativeArray(var376
, &type_array__NativeArraykernel__Object
);
4863 ((struct instance_array__NativeArray
*)var377
)->values
[0] = (val
*) var361
;
4864 ((struct instance_array__NativeArray
*)var377
)->values
[1] = (val
*) var_tag326
;
4865 ((struct instance_array__NativeArray
*)var377
)->values
[2] = (val
*) var366
;
4866 ((struct instance_array__NativeArray
*)var377
)->values
[3] = (val
*) var_tag326
;
4867 ((struct instance_array__NativeArray
*)var377
)->values
[4] = (val
*) var371
;
4868 ((void (*)(val
*, val
*, long))(var375
->class->vft
[COLOR_array__Array__with_native
]))(var375
, var377
, var376
) /* with_native on <var375:Array[Object]>*/;
4869 CHECK_NEW_array__Array(var375
);
4871 var378
= ((val
* (*)(val
*))(var375
->class->vft
[COLOR_string__Object__to_s
]))(var375
) /* to_s on <var375:Array[Object]>*/;
4872 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var378
) /* add on <var_v:AbstractCompilerVisitor>*/;
4874 var380
= varonce379
;
4876 var381
= "printf(\"\\t%ld (%.2f%%)\", count_type_test_skipped_";
4878 var383
= string__NativeString__to_s_with_length(var381
, var382
);
4880 varonce379
= var380
;
4883 var385
= varonce384
;
4885 var386
= ", 100.0*count_type_test_skipped_";
4887 var388
= string__NativeString__to_s_with_length(var386
, var387
);
4889 varonce384
= var385
;
4892 var390
= varonce389
;
4894 var391
= "/count_type_test_total_total);";
4896 var393
= string__NativeString__to_s_with_length(var391
, var392
);
4898 varonce389
= var390
;
4900 var394
= NEW_array__Array(&type_array__Arraykernel__Object
);
4901 { /* var394 = array_instance Array[Object] */
4903 var396
= NEW_array__NativeArray(var395
, &type_array__NativeArraykernel__Object
);
4904 ((struct instance_array__NativeArray
*)var396
)->values
[0] = (val
*) var380
;
4905 ((struct instance_array__NativeArray
*)var396
)->values
[1] = (val
*) var_tag326
;
4906 ((struct instance_array__NativeArray
*)var396
)->values
[2] = (val
*) var385
;
4907 ((struct instance_array__NativeArray
*)var396
)->values
[3] = (val
*) var_tag326
;
4908 ((struct instance_array__NativeArray
*)var396
)->values
[4] = (val
*) var390
;
4909 ((void (*)(val
*, val
*, long))(var394
->class->vft
[COLOR_array__Array__with_native
]))(var394
, var396
, var395
) /* with_native on <var394:Array[Object]>*/;
4910 CHECK_NEW_array__Array(var394
);
4912 var397
= ((val
* (*)(val
*))(var394
->class->vft
[COLOR_string__Object__to_s
]))(var394
) /* to_s on <var394:Array[Object]>*/;
4913 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var397
) /* add on <var_v:AbstractCompilerVisitor>*/;
4915 var399
= varonce398
;
4917 var400
= "printf(\"\\t%ld (%.2f%%)\\n\", count_type_test_total_";
4919 var402
= string__NativeString__to_s_with_length(var400
, var401
);
4921 varonce398
= var399
;
4924 var404
= varonce403
;
4926 var405
= ", 100.0*count_type_test_total_";
4928 var407
= string__NativeString__to_s_with_length(var405
, var406
);
4930 varonce403
= var404
;
4933 var409
= varonce408
;
4935 var410
= "/count_type_test_total_total);";
4937 var412
= string__NativeString__to_s_with_length(var410
, var411
);
4939 varonce408
= var409
;
4941 var413
= NEW_array__Array(&type_array__Arraykernel__Object
);
4942 { /* var413 = array_instance Array[Object] */
4944 var415
= NEW_array__NativeArray(var414
, &type_array__NativeArraykernel__Object
);
4945 ((struct instance_array__NativeArray
*)var415
)->values
[0] = (val
*) var399
;
4946 ((struct instance_array__NativeArray
*)var415
)->values
[1] = (val
*) var_tag326
;
4947 ((struct instance_array__NativeArray
*)var415
)->values
[2] = (val
*) var404
;
4948 ((struct instance_array__NativeArray
*)var415
)->values
[3] = (val
*) var_tag326
;
4949 ((struct instance_array__NativeArray
*)var415
)->values
[4] = (val
*) var409
;
4950 ((void (*)(val
*, val
*, long))(var413
->class->vft
[COLOR_array__Array__with_native
]))(var413
, var415
, var414
) /* with_native on <var413:Array[Object]>*/;
4951 CHECK_NEW_array__Array(var413
);
4953 var416
= ((val
* (*)(val
*))(var413
->class->vft
[COLOR_string__Object__to_s
]))(var413
) /* to_s on <var413:Array[Object]>*/;
4954 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var416
) /* add on <var_v:AbstractCompilerVisitor>*/;
4955 CONTINUE_label417
: (void)0;
4956 ((void (*)(val
*))(var323
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var323
) /* next on <var323:Iterator[nullable Object]>*/;
4958 BREAK_label417
: (void)0;
4962 var419
= varonce418
;
4964 var420
= "return 0;";
4966 var422
= string__NativeString__to_s_with_length(var420
, var421
);
4968 varonce418
= var419
;
4970 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var419
) /* add on <var_v:AbstractCompilerVisitor>*/;
4972 var424
= varonce423
;
4976 var427
= string__NativeString__to_s_with_length(var425
, var426
);
4978 varonce423
= var424
;
4980 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var424
) /* add on <var_v:AbstractCompilerVisitor>*/;
4983 /* method abstract_compiler#AbstractCompiler#compile_main_function for (self: Object) */
4984 void VIRTUAL_abstract_compiler__AbstractCompiler__compile_main_function(val
* self
) {
4985 abstract_compiler__AbstractCompiler__compile_main_function(self
);
4988 /* method abstract_compiler#AbstractCompiler#extern_bodies for (self: AbstractCompiler): Array[ExternCFile] */
4989 val
* abstract_compiler__AbstractCompiler__extern_bodies(val
* self
) {
4990 val
* var
/* : Array[ExternCFile] */;
4991 val
* var1
/* : Array[ExternCFile] */;
4992 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dextern_bodies
].val
; /* @extern_bodies on <self:AbstractCompiler> */
4994 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @extern_bodies");
4995 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 398);
5002 /* method abstract_compiler#AbstractCompiler#extern_bodies for (self: Object): Array[ExternCFile] */
5003 val
* VIRTUAL_abstract_compiler__AbstractCompiler__extern_bodies(val
* self
) {
5004 val
* var
/* : Array[ExternCFile] */;
5005 val
* var1
/* : Array[ExternCFile] */;
5006 var1
= abstract_compiler__AbstractCompiler__extern_bodies(self
);
5011 /* method abstract_compiler#AbstractCompiler#extern_bodies= for (self: AbstractCompiler, Array[ExternCFile]) */
5012 void abstract_compiler__AbstractCompiler__extern_bodies_61d(val
* self
, val
* p0
) {
5013 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dextern_bodies
].val
= p0
; /* @extern_bodies on <self:AbstractCompiler> */
5016 /* method abstract_compiler#AbstractCompiler#extern_bodies= for (self: Object, Array[ExternCFile]) */
5017 void VIRTUAL_abstract_compiler__AbstractCompiler__extern_bodies_61d(val
* self
, val
* p0
) {
5018 abstract_compiler__AbstractCompiler__extern_bodies_61d(self
, p0
);
5021 /* method abstract_compiler#AbstractCompiler#seen_extern for (self: AbstractCompiler): ArraySet[String] */
5022 val
* abstract_compiler__AbstractCompiler__seen_extern(val
* self
) {
5023 val
* var
/* : ArraySet[String] */;
5024 val
* var1
/* : ArraySet[String] */;
5025 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dseen_extern
].val
; /* @seen_extern on <self:AbstractCompiler> */
5027 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @seen_extern");
5028 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 401);
5035 /* method abstract_compiler#AbstractCompiler#seen_extern for (self: Object): ArraySet[String] */
5036 val
* VIRTUAL_abstract_compiler__AbstractCompiler__seen_extern(val
* self
) {
5037 val
* var
/* : ArraySet[String] */;
5038 val
* var1
/* : ArraySet[String] */;
5039 var1
= abstract_compiler__AbstractCompiler__seen_extern(self
);
5044 /* method abstract_compiler#AbstractCompiler#seen_extern= for (self: AbstractCompiler, ArraySet[String]) */
5045 void abstract_compiler__AbstractCompiler__seen_extern_61d(val
* self
, val
* p0
) {
5046 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dseen_extern
].val
= p0
; /* @seen_extern on <self:AbstractCompiler> */
5049 /* method abstract_compiler#AbstractCompiler#seen_extern= for (self: Object, ArraySet[String]) */
5050 void VIRTUAL_abstract_compiler__AbstractCompiler__seen_extern_61d(val
* self
, val
* p0
) {
5051 abstract_compiler__AbstractCompiler__seen_extern_61d(self
, p0
);
5054 /* method abstract_compiler#AbstractCompiler#generate_check_init_instance for (self: AbstractCompiler, MClassType) */
5055 void abstract_compiler__AbstractCompiler__generate_check_init_instance(val
* self
, val
* p0
) {
5056 const char* var_class_name
;
5057 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
5058 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "generate_check_init_instance", var_class_name
);
5059 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 404);
5063 /* method abstract_compiler#AbstractCompiler#generate_check_init_instance for (self: Object, MClassType) */
5064 void VIRTUAL_abstract_compiler__AbstractCompiler__generate_check_init_instance(val
* self
, val
* p0
) {
5065 abstract_compiler__AbstractCompiler__generate_check_init_instance(self
, p0
);
5068 /* method abstract_compiler#AbstractCompiler#generate_init_attr for (self: AbstractCompiler, AbstractCompilerVisitor, RuntimeVariable, MClassType) */
5069 void abstract_compiler__AbstractCompiler__generate_init_attr(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5070 short int var
/* : Bool */;
5073 const struct type
* type_struct
;
5074 const char* var_class_name
;
5075 val
* var_v
/* var v: AbstractCompilerVisitor */;
5076 val
* var_recv
/* var recv: RuntimeVariable */;
5077 val
* var_mtype
/* var mtype: MClassType */;
5078 val
* var1
/* : MModule */;
5079 val
* var2
/* : Set[MClassDef] */;
5080 val
* var3
/* : Array[nullable Object] */;
5081 val
* var_cds
/* var cds: Array[MClassDef] */;
5082 val
* var4
/* : MModule */;
5083 val
* var5
/* : Iterator[nullable Object] */;
5084 short int var6
/* : Bool */;
5085 val
* var7
/* : nullable Object */;
5086 val
* var_cd
/* var cd: MClassDef */;
5087 val
* var8
/* : ModelBuilder */;
5088 val
* var9
/* : HashMap[MClassDef, AClassdef] */;
5089 val
* var10
/* : nullable Object */;
5090 val
* var_n
/* var n: AClassdef */;
5091 val
* var11
/* : ANodes[APropdef] */;
5092 val
* var12
/* : Iterator[nullable Object] */;
5093 short int var13
/* : Bool */;
5094 val
* var14
/* : nullable Object */;
5095 val
* var_npropdef
/* var npropdef: APropdef */;
5096 short int var15
/* : Bool */;
5099 /* Covariant cast for argument 0 (v) <p0:AbstractCompilerVisitor> isa VISITOR */
5100 /* <p0:AbstractCompilerVisitor> isa VISITOR */
5101 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractCompiler_VTVISITOR
];
5102 cltype
= type_struct
->color
;
5103 idtype
= type_struct
->id
;
5104 if(cltype
>= p0
->type
->table_size
) {
5107 var
= p0
->type
->type_table
[cltype
] == idtype
;
5110 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5111 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
5112 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 407);
5118 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(self
) /* mainmodule on <self:AbstractCompiler>*/;
5119 var2
= ((val
* (*)(val
*, val
*))(var_mtype
->class->vft
[COLOR_model__MType__collect_mclassdefs
]))(var_mtype
, var1
) /* collect_mclassdefs on <var_mtype:MClassType>*/;
5120 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_array__Collection__to_a
]))(var2
) /* to_a on <var2:Set[MClassDef]>*/;
5122 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(self
) /* mainmodule on <self:AbstractCompiler>*/;
5123 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_model__MModule__linearize_mclassdefs
]))(var4
, var_cds
) /* linearize_mclassdefs on <var4:MModule>*/;
5124 var5
= ((val
* (*)(val
*))(var_cds
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_cds
) /* iterator on <var_cds:Array[MClassDef]>*/;
5126 var6
= ((short int (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var5
) /* is_ok on <var5:Iterator[nullable Object]>*/;
5128 var7
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var5
) /* item on <var5:Iterator[nullable Object]>*/;
5130 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
5131 var9
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_modelize_class__ModelBuilder__mclassdef2nclassdef
]))(var8
) /* mclassdef2nclassdef on <var8:ModelBuilder>*/;
5132 var10
= ((val
* (*)(val
*, val
*))(var9
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var9
, var_cd
) /* [] on <var9:HashMap[MClassDef, AClassdef]>*/;
5134 var11
= ((val
* (*)(val
*))(var_n
->class->vft
[COLOR_parser_nodes__AClassdef__n_propdefs
]))(var_n
) /* n_propdefs on <var_n:AClassdef>*/;
5135 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var11
) /* iterator on <var11:ANodes[APropdef]>*/;
5137 var13
= ((short int (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var12
) /* is_ok on <var12:Iterator[nullable Object]>*/;
5139 var14
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var12
) /* item on <var12:Iterator[nullable Object]>*/;
5140 var_npropdef
= var14
;
5141 /* <var_npropdef:APropdef> isa AAttrPropdef */
5142 cltype16
= type_parser_nodes__AAttrPropdef
.color
;
5143 idtype17
= type_parser_nodes__AAttrPropdef
.id
;
5144 if(cltype16
>= var_npropdef
->type
->table_size
) {
5147 var15
= var_npropdef
->type
->type_table
[cltype16
] == idtype17
;
5150 ((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)>*/;
5153 CONTINUE_label
: (void)0;
5154 ((void (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var12
) /* next on <var12:Iterator[nullable Object]>*/;
5156 BREAK_label
: (void)0;
5157 CONTINUE_label18
: (void)0;
5158 ((void (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var5
) /* next on <var5:Iterator[nullable Object]>*/;
5160 BREAK_label18
: (void)0;
5163 /* method abstract_compiler#AbstractCompiler#generate_init_attr for (self: Object, AbstractCompilerVisitor, RuntimeVariable, MClassType) */
5164 void VIRTUAL_abstract_compiler__AbstractCompiler__generate_init_attr(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5165 abstract_compiler__AbstractCompiler__generate_init_attr(self
, p0
, p1
, p2
);
5168 /* method abstract_compiler#AbstractCompiler#generate_check_attr for (self: AbstractCompiler, AbstractCompilerVisitor, RuntimeVariable, MClassType) */
5169 void abstract_compiler__AbstractCompiler__generate_check_attr(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5170 short int var
/* : Bool */;
5173 const struct type
* type_struct
;
5174 const char* var_class_name
;
5175 val
* var_v
/* var v: AbstractCompilerVisitor */;
5176 val
* var_recv
/* var recv: RuntimeVariable */;
5177 val
* var_mtype
/* var mtype: MClassType */;
5178 val
* var1
/* : MModule */;
5179 val
* var2
/* : Set[MClassDef] */;
5180 val
* var3
/* : Array[nullable Object] */;
5181 val
* var_cds
/* var cds: Array[MClassDef] */;
5182 val
* var4
/* : MModule */;
5183 val
* var5
/* : Iterator[nullable Object] */;
5184 short int var6
/* : Bool */;
5185 val
* var7
/* : nullable Object */;
5186 val
* var_cd
/* var cd: MClassDef */;
5187 val
* var8
/* : ModelBuilder */;
5188 val
* var9
/* : HashMap[MClassDef, AClassdef] */;
5189 val
* var10
/* : nullable Object */;
5190 val
* var_n
/* var n: AClassdef */;
5191 val
* var11
/* : ANodes[APropdef] */;
5192 val
* var12
/* : Iterator[nullable Object] */;
5193 short int var13
/* : Bool */;
5194 val
* var14
/* : nullable Object */;
5195 val
* var_npropdef
/* var npropdef: APropdef */;
5196 short int var15
/* : Bool */;
5199 /* Covariant cast for argument 0 (v) <p0:AbstractCompilerVisitor> isa VISITOR */
5200 /* <p0:AbstractCompilerVisitor> isa VISITOR */
5201 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractCompiler_VTVISITOR
];
5202 cltype
= type_struct
->color
;
5203 idtype
= type_struct
->id
;
5204 if(cltype
>= p0
->type
->table_size
) {
5207 var
= p0
->type
->type_table
[cltype
] == idtype
;
5210 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
5211 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
5212 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 422);
5218 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(self
) /* mainmodule on <self:AbstractCompiler>*/;
5219 var2
= ((val
* (*)(val
*, val
*))(var_mtype
->class->vft
[COLOR_model__MType__collect_mclassdefs
]))(var_mtype
, var1
) /* collect_mclassdefs on <var_mtype:MClassType>*/;
5220 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_array__Collection__to_a
]))(var2
) /* to_a on <var2:Set[MClassDef]>*/;
5222 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(self
) /* mainmodule on <self:AbstractCompiler>*/;
5223 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_model__MModule__linearize_mclassdefs
]))(var4
, var_cds
) /* linearize_mclassdefs on <var4:MModule>*/;
5224 var5
= ((val
* (*)(val
*))(var_cds
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_cds
) /* iterator on <var_cds:Array[MClassDef]>*/;
5226 var6
= ((short int (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var5
) /* is_ok on <var5:Iterator[nullable Object]>*/;
5228 var7
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var5
) /* item on <var5:Iterator[nullable Object]>*/;
5230 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
5231 var9
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_modelize_class__ModelBuilder__mclassdef2nclassdef
]))(var8
) /* mclassdef2nclassdef on <var8:ModelBuilder>*/;
5232 var10
= ((val
* (*)(val
*, val
*))(var9
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var9
, var_cd
) /* [] on <var9:HashMap[MClassDef, AClassdef]>*/;
5234 var11
= ((val
* (*)(val
*))(var_n
->class->vft
[COLOR_parser_nodes__AClassdef__n_propdefs
]))(var_n
) /* n_propdefs on <var_n:AClassdef>*/;
5235 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var11
) /* iterator on <var11:ANodes[APropdef]>*/;
5237 var13
= ((short int (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var12
) /* is_ok on <var12:Iterator[nullable Object]>*/;
5239 var14
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var12
) /* item on <var12:Iterator[nullable Object]>*/;
5240 var_npropdef
= var14
;
5241 /* <var_npropdef:APropdef> isa AAttrPropdef */
5242 cltype16
= type_parser_nodes__AAttrPropdef
.color
;
5243 idtype17
= type_parser_nodes__AAttrPropdef
.id
;
5244 if(cltype16
>= var_npropdef
->type
->table_size
) {
5247 var15
= var_npropdef
->type
->type_table
[cltype16
] == idtype17
;
5250 ((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)>*/;
5253 CONTINUE_label
: (void)0;
5254 ((void (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var12
) /* next on <var12:Iterator[nullable Object]>*/;
5256 BREAK_label
: (void)0;
5257 CONTINUE_label18
: (void)0;
5258 ((void (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var5
) /* next on <var5:Iterator[nullable Object]>*/;
5260 BREAK_label18
: (void)0;
5263 /* method abstract_compiler#AbstractCompiler#generate_check_attr for (self: Object, AbstractCompilerVisitor, RuntimeVariable, MClassType) */
5264 void VIRTUAL_abstract_compiler__AbstractCompiler__generate_check_attr(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5265 abstract_compiler__AbstractCompiler__generate_check_attr(self
, p0
, p1
, p2
);
5268 /* method abstract_compiler#AbstractCompiler#count_type_test_tags for (self: AbstractCompiler): Array[String] */
5269 val
* abstract_compiler__AbstractCompiler__count_type_test_tags(val
* self
) {
5270 val
* var
/* : Array[String] */;
5271 val
* var1
/* : Array[String] */;
5272 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_tags
].val
; /* @count_type_test_tags on <self:AbstractCompiler> */
5274 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @count_type_test_tags");
5275 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 439);
5282 /* method abstract_compiler#AbstractCompiler#count_type_test_tags for (self: Object): Array[String] */
5283 val
* VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_tags(val
* self
) {
5284 val
* var
/* : Array[String] */;
5285 val
* var1
/* : Array[String] */;
5286 var1
= abstract_compiler__AbstractCompiler__count_type_test_tags(self
);
5291 /* method abstract_compiler#AbstractCompiler#count_type_test_tags= for (self: AbstractCompiler, Array[String]) */
5292 void abstract_compiler__AbstractCompiler__count_type_test_tags_61d(val
* self
, val
* p0
) {
5293 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_tags
].val
= p0
; /* @count_type_test_tags on <self:AbstractCompiler> */
5296 /* method abstract_compiler#AbstractCompiler#count_type_test_tags= for (self: Object, Array[String]) */
5297 void VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_tags_61d(val
* self
, val
* p0
) {
5298 abstract_compiler__AbstractCompiler__count_type_test_tags_61d(self
, p0
);
5301 /* method abstract_compiler#AbstractCompiler#count_type_test_resolved for (self: AbstractCompiler): HashMap[String, Int] */
5302 val
* abstract_compiler__AbstractCompiler__count_type_test_resolved(val
* self
) {
5303 val
* var
/* : HashMap[String, Int] */;
5304 val
* var1
/* : HashMap[String, Int] */;
5305 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_resolved
].val
; /* @count_type_test_resolved on <self:AbstractCompiler> */
5307 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @count_type_test_resolved");
5308 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 440);
5315 /* method abstract_compiler#AbstractCompiler#count_type_test_resolved for (self: Object): HashMap[String, Int] */
5316 val
* VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_resolved(val
* self
) {
5317 val
* var
/* : HashMap[String, Int] */;
5318 val
* var1
/* : HashMap[String, Int] */;
5319 var1
= abstract_compiler__AbstractCompiler__count_type_test_resolved(self
);
5324 /* method abstract_compiler#AbstractCompiler#count_type_test_resolved= for (self: AbstractCompiler, HashMap[String, Int]) */
5325 void abstract_compiler__AbstractCompiler__count_type_test_resolved_61d(val
* self
, val
* p0
) {
5326 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_resolved
].val
= p0
; /* @count_type_test_resolved on <self:AbstractCompiler> */
5329 /* method abstract_compiler#AbstractCompiler#count_type_test_resolved= for (self: Object, HashMap[String, Int]) */
5330 void VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_resolved_61d(val
* self
, val
* p0
) {
5331 abstract_compiler__AbstractCompiler__count_type_test_resolved_61d(self
, p0
);
5334 /* method abstract_compiler#AbstractCompiler#count_type_test_unresolved for (self: AbstractCompiler): HashMap[String, Int] */
5335 val
* abstract_compiler__AbstractCompiler__count_type_test_unresolved(val
* self
) {
5336 val
* var
/* : HashMap[String, Int] */;
5337 val
* var1
/* : HashMap[String, Int] */;
5338 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_unresolved
].val
; /* @count_type_test_unresolved on <self:AbstractCompiler> */
5340 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @count_type_test_unresolved");
5341 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 441);
5348 /* method abstract_compiler#AbstractCompiler#count_type_test_unresolved for (self: Object): HashMap[String, Int] */
5349 val
* VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_unresolved(val
* self
) {
5350 val
* var
/* : HashMap[String, Int] */;
5351 val
* var1
/* : HashMap[String, Int] */;
5352 var1
= abstract_compiler__AbstractCompiler__count_type_test_unresolved(self
);
5357 /* method abstract_compiler#AbstractCompiler#count_type_test_unresolved= for (self: AbstractCompiler, HashMap[String, Int]) */
5358 void abstract_compiler__AbstractCompiler__count_type_test_unresolved_61d(val
* self
, val
* p0
) {
5359 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_unresolved
].val
= p0
; /* @count_type_test_unresolved on <self:AbstractCompiler> */
5362 /* method abstract_compiler#AbstractCompiler#count_type_test_unresolved= for (self: Object, HashMap[String, Int]) */
5363 void VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_unresolved_61d(val
* self
, val
* p0
) {
5364 abstract_compiler__AbstractCompiler__count_type_test_unresolved_61d(self
, p0
);
5367 /* method abstract_compiler#AbstractCompiler#count_type_test_skipped for (self: AbstractCompiler): HashMap[String, Int] */
5368 val
* abstract_compiler__AbstractCompiler__count_type_test_skipped(val
* self
) {
5369 val
* var
/* : HashMap[String, Int] */;
5370 val
* var1
/* : HashMap[String, Int] */;
5371 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_skipped
].val
; /* @count_type_test_skipped on <self:AbstractCompiler> */
5373 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @count_type_test_skipped");
5374 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 442);
5381 /* method abstract_compiler#AbstractCompiler#count_type_test_skipped for (self: Object): HashMap[String, Int] */
5382 val
* VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_skipped(val
* self
) {
5383 val
* var
/* : HashMap[String, Int] */;
5384 val
* var1
/* : HashMap[String, Int] */;
5385 var1
= abstract_compiler__AbstractCompiler__count_type_test_skipped(self
);
5390 /* method abstract_compiler#AbstractCompiler#count_type_test_skipped= for (self: AbstractCompiler, HashMap[String, Int]) */
5391 void abstract_compiler__AbstractCompiler__count_type_test_skipped_61d(val
* self
, val
* p0
) {
5392 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_skipped
].val
= p0
; /* @count_type_test_skipped on <self:AbstractCompiler> */
5395 /* method abstract_compiler#AbstractCompiler#count_type_test_skipped= for (self: Object, HashMap[String, Int]) */
5396 void VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_skipped_61d(val
* self
, val
* p0
) {
5397 abstract_compiler__AbstractCompiler__count_type_test_skipped_61d(self
, p0
);
5400 /* method abstract_compiler#AbstractCompiler#init_count_type_test_tags for (self: AbstractCompiler): HashMap[String, Int] */
5401 val
* abstract_compiler__AbstractCompiler__init_count_type_test_tags(val
* self
) {
5402 val
* var
/* : HashMap[String, Int] */;
5403 val
* var1
/* : HashMap[String, Int] */;
5404 val
* var_res
/* var res: HashMap[String, Int] */;
5405 val
* var2
/* : Array[String] */;
5406 val
* var3
/* : Iterator[nullable Object] */;
5407 short int var4
/* : Bool */;
5408 val
* var5
/* : nullable Object */;
5409 val
* var_tag
/* var tag: String */;
5410 long var6
/* : Int */;
5411 val
* var7
/* : nullable Object */;
5412 var1
= NEW_hash_collection__HashMap(&type_hash_collection__HashMapstring__Stringkernel__Int
);
5413 ((void (*)(val
*))(var1
->class->vft
[COLOR_hash_collection__HashMap__init
]))(var1
) /* init on <var1:HashMap[String, Int]>*/;
5414 CHECK_NEW_hash_collection__HashMap(var1
);
5416 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_tags
]))(self
) /* count_type_test_tags on <self:AbstractCompiler>*/;
5417 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var2
) /* iterator on <var2:Array[String]>*/;
5419 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
5421 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
5424 var7
= BOX_kernel__Int(var6
); /* autobox from Int to nullable Object */
5425 ((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]>*/;
5426 CONTINUE_label
: (void)0;
5427 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
5429 BREAK_label
: (void)0;
5435 /* method abstract_compiler#AbstractCompiler#init_count_type_test_tags for (self: Object): HashMap[String, Int] */
5436 val
* VIRTUAL_abstract_compiler__AbstractCompiler__init_count_type_test_tags(val
* self
) {
5437 val
* var
/* : HashMap[String, Int] */;
5438 val
* var1
/* : HashMap[String, Int] */;
5439 var1
= abstract_compiler__AbstractCompiler__init_count_type_test_tags(self
);
5444 /* method abstract_compiler#AbstractCompiler#display_stats for (self: AbstractCompiler) */
5445 void abstract_compiler__AbstractCompiler__display_stats(val
* self
) {
5446 val
* var
/* : ModelBuilder */;
5447 val
* var1
/* : ToolContext */;
5448 val
* var2
/* : OptionBool */;
5449 val
* var3
/* : nullable Object */;
5450 short int var4
/* : Bool */;
5451 static val
* varonce
;
5452 val
* var5
/* : String */;
5453 char* var6
/* : NativeString */;
5454 long var7
/* : Int */;
5455 val
* var8
/* : String */;
5456 static val
* varonce9
;
5457 val
* var10
/* : String */;
5458 char* var11
/* : NativeString */;
5459 long var12
/* : Int */;
5460 val
* var13
/* : String */;
5461 val
* var14
/* : HashMap[String, Int] */;
5462 val
* var_count_type_test_total
/* var count_type_test_total: HashMap[String, Int] */;
5463 val
* var15
/* : HashMap[String, Int] */;
5464 static val
* varonce16
;
5465 val
* var17
/* : String */;
5466 char* var18
/* : NativeString */;
5467 long var19
/* : Int */;
5468 val
* var20
/* : String */;
5469 long var21
/* : Int */;
5470 val
* var22
/* : nullable Object */;
5471 val
* var23
/* : HashMap[String, Int] */;
5472 static val
* varonce24
;
5473 val
* var25
/* : String */;
5474 char* var26
/* : NativeString */;
5475 long var27
/* : Int */;
5476 val
* var28
/* : String */;
5477 long var29
/* : Int */;
5478 val
* var30
/* : nullable Object */;
5479 val
* var31
/* : HashMap[String, Int] */;
5480 static val
* varonce32
;
5481 val
* var33
/* : String */;
5482 char* var34
/* : NativeString */;
5483 long var35
/* : Int */;
5484 val
* var36
/* : String */;
5485 long var37
/* : Int */;
5486 val
* var38
/* : nullable Object */;
5487 static val
* varonce39
;
5488 val
* var40
/* : String */;
5489 char* var41
/* : NativeString */;
5490 long var42
/* : Int */;
5491 val
* var43
/* : String */;
5492 long var44
/* : Int */;
5493 val
* var45
/* : nullable Object */;
5494 val
* var46
/* : Array[String] */;
5495 val
* var47
/* : Iterator[nullable Object] */;
5496 short int var48
/* : Bool */;
5497 val
* var49
/* : nullable Object */;
5498 val
* var_tag
/* var tag: String */;
5499 val
* var50
/* : HashMap[String, Int] */;
5500 val
* var51
/* : nullable Object */;
5501 val
* var52
/* : HashMap[String, Int] */;
5502 val
* var53
/* : nullable Object */;
5503 long var54
/* : Int */;
5504 long var56
/* : Int */;
5505 long var57
/* : Int */;
5506 long var58
/* : Int */;
5507 val
* var59
/* : HashMap[String, Int] */;
5508 val
* var60
/* : nullable Object */;
5509 long var61
/* : Int */;
5510 long var63
/* : Int */;
5511 long var64
/* : Int */;
5512 val
* var65
/* : nullable Object */;
5513 val
* var66
/* : HashMap[String, Int] */;
5514 val
* var_
/* var : HashMap[String, Int] */;
5515 static val
* varonce67
;
5516 val
* var68
/* : String */;
5517 char* var69
/* : NativeString */;
5518 long var70
/* : Int */;
5519 val
* var71
/* : String */;
5520 val
* var_72
/* var : String */;
5521 val
* var73
/* : nullable Object */;
5522 val
* var74
/* : HashMap[String, Int] */;
5523 val
* var75
/* : nullable Object */;
5524 long var76
/* : Int */;
5525 long var78
/* : Int */;
5526 long var79
/* : Int */;
5527 long var80
/* : Int */;
5528 val
* var81
/* : nullable Object */;
5529 val
* var82
/* : HashMap[String, Int] */;
5530 val
* var_83
/* var : HashMap[String, Int] */;
5531 static val
* varonce84
;
5532 val
* var85
/* : String */;
5533 char* var86
/* : NativeString */;
5534 long var87
/* : Int */;
5535 val
* var88
/* : String */;
5536 val
* var_89
/* var : String */;
5537 val
* var90
/* : nullable Object */;
5538 val
* var91
/* : HashMap[String, Int] */;
5539 val
* var92
/* : nullable Object */;
5540 long var93
/* : Int */;
5541 long var95
/* : Int */;
5542 long var96
/* : Int */;
5543 long var97
/* : Int */;
5544 val
* var98
/* : nullable Object */;
5545 val
* var99
/* : HashMap[String, Int] */;
5546 val
* var_100
/* var : HashMap[String, Int] */;
5547 static val
* varonce101
;
5548 val
* var102
/* : String */;
5549 char* var103
/* : NativeString */;
5550 long var104
/* : Int */;
5551 val
* var105
/* : String */;
5552 val
* var_106
/* var : String */;
5553 val
* var107
/* : nullable Object */;
5554 val
* var108
/* : HashMap[String, Int] */;
5555 val
* var109
/* : nullable Object */;
5556 long var110
/* : Int */;
5557 long var112
/* : Int */;
5558 long var113
/* : Int */;
5559 long var114
/* : Int */;
5560 val
* var115
/* : nullable Object */;
5561 val
* var_116
/* var : HashMap[String, Int] */;
5562 static val
* varonce117
;
5563 val
* var118
/* : String */;
5564 char* var119
/* : NativeString */;
5565 long var120
/* : Int */;
5566 val
* var121
/* : String */;
5567 val
* var_122
/* var : String */;
5568 val
* var123
/* : nullable Object */;
5569 val
* var124
/* : nullable Object */;
5570 long var125
/* : Int */;
5571 long var127
/* : Int */;
5572 long var128
/* : Int */;
5573 long var129
/* : Int */;
5574 val
* var130
/* : nullable Object */;
5575 static val
* varonce131
;
5576 val
* var132
/* : String */;
5577 char* var133
/* : NativeString */;
5578 long var134
/* : Int */;
5579 val
* var135
/* : String */;
5580 val
* var136
/* : nullable Object */;
5581 long var137
/* : Int */;
5582 long var_count_type_test
/* var count_type_test: Int */;
5583 val
* var138
/* : Array[String] */;
5584 val
* var139
/* : Array[nullable Object] */;
5585 val
* var_tags
/* var tags: Array[String] */;
5586 static val
* varonce140
;
5587 val
* var141
/* : String */;
5588 char* var142
/* : NativeString */;
5589 long var143
/* : Int */;
5590 val
* var144
/* : String */;
5591 val
* var145
/* : Iterator[nullable Object] */;
5592 short int var146
/* : Bool */;
5593 val
* var147
/* : nullable Object */;
5594 val
* var_tag148
/* var tag: String */;
5595 val
* var149
/* : Array[Object] */;
5596 long var150
/* : Int */;
5597 val
* var151
/* : NativeArray[Object] */;
5598 static val
* varonce152
;
5599 val
* var153
/* : String */;
5600 char* var154
/* : NativeString */;
5601 long var155
/* : Int */;
5602 val
* var156
/* : String */;
5603 val
* var157
/* : HashMap[String, Int] */;
5604 val
* var158
/* : nullable Object */;
5605 static val
* varonce159
;
5606 val
* var160
/* : String */;
5607 char* var161
/* : NativeString */;
5608 long var162
/* : Int */;
5609 val
* var163
/* : String */;
5610 val
* var164
/* : HashMap[String, Int] */;
5611 val
* var165
/* : nullable Object */;
5612 val
* var166
/* : String */;
5613 long var167
/* : Int */;
5614 static val
* varonce168
;
5615 val
* var169
/* : String */;
5616 char* var170
/* : NativeString */;
5617 long var171
/* : Int */;
5618 val
* var172
/* : String */;
5619 val
* var173
/* : Array[Object] */;
5620 long var174
/* : Int */;
5621 val
* var175
/* : NativeArray[Object] */;
5622 val
* var176
/* : String */;
5623 val
* var177
/* : Array[Object] */;
5624 long var178
/* : Int */;
5625 val
* var179
/* : NativeArray[Object] */;
5626 static val
* varonce180
;
5627 val
* var181
/* : String */;
5628 char* var182
/* : NativeString */;
5629 long var183
/* : Int */;
5630 val
* var184
/* : String */;
5631 val
* var185
/* : HashMap[String, Int] */;
5632 val
* var186
/* : nullable Object */;
5633 static val
* varonce187
;
5634 val
* var188
/* : String */;
5635 char* var189
/* : NativeString */;
5636 long var190
/* : Int */;
5637 val
* var191
/* : String */;
5638 val
* var192
/* : HashMap[String, Int] */;
5639 val
* var193
/* : nullable Object */;
5640 val
* var194
/* : String */;
5641 long var195
/* : Int */;
5642 static val
* varonce196
;
5643 val
* var197
/* : String */;
5644 char* var198
/* : NativeString */;
5645 long var199
/* : Int */;
5646 val
* var200
/* : String */;
5647 val
* var201
/* : Array[Object] */;
5648 long var202
/* : Int */;
5649 val
* var203
/* : NativeArray[Object] */;
5650 val
* var204
/* : String */;
5651 val
* var205
/* : Array[Object] */;
5652 long var206
/* : Int */;
5653 val
* var207
/* : NativeArray[Object] */;
5654 static val
* varonce208
;
5655 val
* var209
/* : String */;
5656 char* var210
/* : NativeString */;
5657 long var211
/* : Int */;
5658 val
* var212
/* : String */;
5659 val
* var213
/* : HashMap[String, Int] */;
5660 val
* var214
/* : nullable Object */;
5661 static val
* varonce215
;
5662 val
* var216
/* : String */;
5663 char* var217
/* : NativeString */;
5664 long var218
/* : Int */;
5665 val
* var219
/* : String */;
5666 val
* var220
/* : HashMap[String, Int] */;
5667 val
* var221
/* : nullable Object */;
5668 val
* var222
/* : String */;
5669 long var223
/* : Int */;
5670 static val
* varonce224
;
5671 val
* var225
/* : String */;
5672 char* var226
/* : NativeString */;
5673 long var227
/* : Int */;
5674 val
* var228
/* : String */;
5675 val
* var229
/* : Array[Object] */;
5676 long var230
/* : Int */;
5677 val
* var231
/* : NativeArray[Object] */;
5678 val
* var232
/* : String */;
5679 val
* var233
/* : Array[Object] */;
5680 long var234
/* : Int */;
5681 val
* var235
/* : NativeArray[Object] */;
5682 static val
* varonce236
;
5683 val
* var237
/* : String */;
5684 char* var238
/* : NativeString */;
5685 long var239
/* : Int */;
5686 val
* var240
/* : String */;
5687 val
* var241
/* : nullable Object */;
5688 static val
* varonce242
;
5689 val
* var243
/* : String */;
5690 char* var244
/* : NativeString */;
5691 long var245
/* : Int */;
5692 val
* var246
/* : String */;
5693 val
* var247
/* : nullable Object */;
5694 val
* var248
/* : String */;
5695 long var249
/* : Int */;
5696 static val
* varonce250
;
5697 val
* var251
/* : String */;
5698 char* var252
/* : NativeString */;
5699 long var253
/* : Int */;
5700 val
* var254
/* : String */;
5701 val
* var255
/* : Array[Object] */;
5702 long var256
/* : Int */;
5703 val
* var257
/* : NativeArray[Object] */;
5704 val
* var258
/* : String */;
5705 val
* var259
/* : Array[Object] */;
5706 long var260
/* : Int */;
5707 val
* var261
/* : NativeArray[Object] */;
5708 static val
* varonce262
;
5709 val
* var263
/* : String */;
5710 char* var264
/* : NativeString */;
5711 long var265
/* : Int */;
5712 val
* var266
/* : String */;
5713 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
5714 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var
) /* toolcontext on <var:ModelBuilder>*/;
5715 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_typing_test_metrics
]))(var1
) /* opt_typing_test_metrics on <var1:ToolContext>*/;
5716 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_opts__Option__value
]))(var2
) /* value on <var2:OptionBool>*/;
5717 var4
= ((struct instance_kernel__Bool
*)var3
)->value
; /* autounbox from nullable Object to Bool */;
5722 var6
= "# static count_type_test";
5724 var8
= string__NativeString__to_s_with_length(var6
, var7
);
5728 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__print
]))(self
, var5
) /* print on <self:AbstractCompiler>*/;
5732 var11
= "\11resolved:\11unresolved\11skipped\11total";
5734 var13
= string__NativeString__to_s_with_length(var11
, var12
);
5738 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__print
]))(self
, var10
) /* print on <self:AbstractCompiler>*/;
5739 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__init_count_type_test_tags
]))(self
) /* init_count_type_test_tags on <self:AbstractCompiler>*/;
5740 var_count_type_test_total
= var14
;
5741 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_resolved
]))(self
) /* count_type_test_resolved on <self:AbstractCompiler>*/;
5747 var20
= string__NativeString__to_s_with_length(var18
, var19
);
5752 var22
= BOX_kernel__Int(var21
); /* autobox from Int to nullable Object */
5753 ((void (*)(val
*, val
*, val
*))(var15
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var15
, var17
, var22
) /* []= on <var15:HashMap[String, Int]>*/;
5754 var23
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_unresolved
]))(self
) /* count_type_test_unresolved on <self:AbstractCompiler>*/;
5760 var28
= string__NativeString__to_s_with_length(var26
, var27
);
5765 var30
= BOX_kernel__Int(var29
); /* autobox from Int to nullable Object */
5766 ((void (*)(val
*, val
*, val
*))(var23
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var23
, var25
, var30
) /* []= on <var23:HashMap[String, Int]>*/;
5767 var31
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_skipped
]))(self
) /* count_type_test_skipped on <self:AbstractCompiler>*/;
5773 var36
= string__NativeString__to_s_with_length(var34
, var35
);
5778 var38
= BOX_kernel__Int(var37
); /* autobox from Int to nullable Object */
5779 ((void (*)(val
*, val
*, val
*))(var31
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var31
, var33
, var38
) /* []= on <var31:HashMap[String, Int]>*/;
5785 var43
= string__NativeString__to_s_with_length(var41
, var42
);
5790 var45
= BOX_kernel__Int(var44
); /* autobox from Int to nullable Object */
5791 ((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]>*/;
5792 var46
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_tags
]))(self
) /* count_type_test_tags on <self:AbstractCompiler>*/;
5793 var47
= ((val
* (*)(val
*))(var46
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var46
) /* iterator on <var46:Array[String]>*/;
5795 var48
= ((short int (*)(val
*))(var47
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var47
) /* is_ok on <var47:Iterator[nullable Object]>*/;
5797 var49
= ((val
* (*)(val
*))(var47
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var47
) /* item on <var47:Iterator[nullable Object]>*/;
5799 var50
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_resolved
]))(self
) /* count_type_test_resolved on <self:AbstractCompiler>*/;
5800 var51
= ((val
* (*)(val
*, val
*))(var50
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var50
, var_tag
) /* [] on <var50:HashMap[String, Int]>*/;
5801 var52
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_unresolved
]))(self
) /* count_type_test_unresolved on <self:AbstractCompiler>*/;
5802 var53
= ((val
* (*)(val
*, val
*))(var52
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var52
, var_tag
) /* [] on <var52:HashMap[String, Int]>*/;
5803 { /* Inline kernel#Int#+ (var51,var53) */
5804 var56
= ((struct instance_kernel__Int
*)var51
)->value
; /* autounbox from nullable Object to Int */;
5805 var57
= ((struct instance_kernel__Int
*)var53
)->value
; /* autounbox from nullable Object to Int */;
5806 var58
= var56
+ var57
;
5809 RET_LABEL55
:(void)0;
5811 var59
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_skipped
]))(self
) /* count_type_test_skipped on <self:AbstractCompiler>*/;
5812 var60
= ((val
* (*)(val
*, val
*))(var59
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var59
, var_tag
) /* [] on <var59:HashMap[String, Int]>*/;
5813 { /* Inline kernel#Int#+ (var54,var60) */
5814 var63
= ((struct instance_kernel__Int
*)var60
)->value
; /* autounbox from nullable Object to Int */;
5815 var64
= var54
+ var63
;
5818 RET_LABEL62
:(void)0;
5820 var65
= BOX_kernel__Int(var61
); /* autobox from Int to nullable Object */
5821 ((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]>*/;
5822 var66
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_resolved
]))(self
) /* count_type_test_resolved on <self:AbstractCompiler>*/;
5829 var71
= string__NativeString__to_s_with_length(var69
, var70
);
5834 var73
= ((val
* (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_
, var_72
) /* [] on <var_:HashMap[String, Int]>*/;
5835 var74
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_resolved
]))(self
) /* count_type_test_resolved on <self:AbstractCompiler>*/;
5836 var75
= ((val
* (*)(val
*, val
*))(var74
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var74
, var_tag
) /* [] on <var74:HashMap[String, Int]>*/;
5837 { /* Inline kernel#Int#+ (var73,var75) */
5838 var78
= ((struct instance_kernel__Int
*)var73
)->value
; /* autounbox from nullable Object to Int */;
5839 var79
= ((struct instance_kernel__Int
*)var75
)->value
; /* autounbox from nullable Object to Int */;
5840 var80
= var78
+ var79
;
5843 RET_LABEL77
:(void)0;
5845 var81
= BOX_kernel__Int(var76
); /* autobox from Int to nullable Object */
5846 ((void (*)(val
*, val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var_
, var_72
, var81
) /* []= on <var_:HashMap[String, Int]>*/;
5847 var82
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_unresolved
]))(self
) /* count_type_test_unresolved on <self:AbstractCompiler>*/;
5854 var88
= string__NativeString__to_s_with_length(var86
, var87
);
5859 var90
= ((val
* (*)(val
*, val
*))(var_83
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_83
, var_89
) /* [] on <var_83:HashMap[String, Int]>*/;
5860 var91
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_unresolved
]))(self
) /* count_type_test_unresolved on <self:AbstractCompiler>*/;
5861 var92
= ((val
* (*)(val
*, val
*))(var91
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var91
, var_tag
) /* [] on <var91:HashMap[String, Int]>*/;
5862 { /* Inline kernel#Int#+ (var90,var92) */
5863 var95
= ((struct instance_kernel__Int
*)var90
)->value
; /* autounbox from nullable Object to Int */;
5864 var96
= ((struct instance_kernel__Int
*)var92
)->value
; /* autounbox from nullable Object to Int */;
5865 var97
= var95
+ var96
;
5868 RET_LABEL94
:(void)0;
5870 var98
= BOX_kernel__Int(var93
); /* autobox from Int to nullable Object */
5871 ((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]>*/;
5872 var99
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_skipped
]))(self
) /* count_type_test_skipped on <self:AbstractCompiler>*/;
5875 var102
= varonce101
;
5879 var105
= string__NativeString__to_s_with_length(var103
, var104
);
5881 varonce101
= var102
;
5884 var107
= ((val
* (*)(val
*, val
*))(var_100
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_100
, var_106
) /* [] on <var_100:HashMap[String, Int]>*/;
5885 var108
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_skipped
]))(self
) /* count_type_test_skipped on <self:AbstractCompiler>*/;
5886 var109
= ((val
* (*)(val
*, val
*))(var108
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var108
, var_tag
) /* [] on <var108:HashMap[String, Int]>*/;
5887 { /* Inline kernel#Int#+ (var107,var109) */
5888 var112
= ((struct instance_kernel__Int
*)var107
)->value
; /* autounbox from nullable Object to Int */;
5889 var113
= ((struct instance_kernel__Int
*)var109
)->value
; /* autounbox from nullable Object to Int */;
5890 var114
= var112
+ var113
;
5893 RET_LABEL111
:(void)0;
5895 var115
= BOX_kernel__Int(var110
); /* autobox from Int to nullable Object */
5896 ((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]>*/;
5897 var_116
= var_count_type_test_total
;
5899 var118
= varonce117
;
5903 var121
= string__NativeString__to_s_with_length(var119
, var120
);
5905 varonce117
= var118
;
5908 var123
= ((val
* (*)(val
*, val
*))(var_116
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_116
, var_122
) /* [] on <var_116:HashMap[String, Int]>*/;
5909 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]>*/;
5910 { /* Inline kernel#Int#+ (var123,var124) */
5911 var127
= ((struct instance_kernel__Int
*)var123
)->value
; /* autounbox from nullable Object to Int */;
5912 var128
= ((struct instance_kernel__Int
*)var124
)->value
; /* autounbox from nullable Object to Int */;
5913 var129
= var127
+ var128
;
5916 RET_LABEL126
:(void)0;
5918 var130
= BOX_kernel__Int(var125
); /* autobox from Int to nullable Object */
5919 ((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]>*/;
5920 CONTINUE_label
: (void)0;
5921 ((void (*)(val
*))(var47
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var47
) /* next on <var47:Iterator[nullable Object]>*/;
5923 BREAK_label
: (void)0;
5925 var132
= varonce131
;
5929 var135
= string__NativeString__to_s_with_length(var133
, var134
);
5931 varonce131
= var132
;
5933 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]>*/;
5934 var137
= ((struct instance_kernel__Int
*)var136
)->value
; /* autounbox from nullable Object to Int */;
5935 var_count_type_test
= var137
;
5936 var138
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_tags
]))(self
) /* count_type_test_tags on <self:AbstractCompiler>*/;
5937 var139
= ((val
* (*)(val
*))(var138
->class->vft
[COLOR_array__Collection__to_a
]))(var138
) /* to_a on <var138:Array[String]>*/;
5940 var141
= varonce140
;
5944 var144
= string__NativeString__to_s_with_length(var142
, var143
);
5946 varonce140
= var141
;
5948 ((void (*)(val
*, val
*))(var_tags
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_tags
, var141
) /* add on <var_tags:Array[String]>*/;
5949 var145
= ((val
* (*)(val
*))(var_tags
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_tags
) /* iterator on <var_tags:Array[String]>*/;
5951 var146
= ((short int (*)(val
*))(var145
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var145
) /* is_ok on <var145:Iterator[nullable Object]>*/;
5953 var147
= ((val
* (*)(val
*))(var145
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var145
) /* item on <var145:Iterator[nullable Object]>*/;
5954 var_tag148
= var147
;
5955 var149
= NEW_array__Array(&type_array__Arraykernel__Object
);
5956 { /* var149 = array_instance Array[Object] */
5958 var151
= NEW_array__NativeArray(var150
, &type_array__NativeArraykernel__Object
);
5959 ((struct instance_array__NativeArray
*)var151
)->values
[0] = (val
*) var_tag148
;
5960 ((void (*)(val
*, val
*, long))(var149
->class->vft
[COLOR_array__Array__with_native
]))(var149
, var151
, var150
) /* with_native on <var149:Array[Object]>*/;
5961 CHECK_NEW_array__Array(var149
);
5963 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__printn
]))(self
, var149
) /* printn on <self:AbstractCompiler>*/;
5965 var153
= varonce152
;
5969 var156
= string__NativeString__to_s_with_length(var154
, var155
);
5971 varonce152
= var153
;
5973 var157
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_resolved
]))(self
) /* count_type_test_resolved on <self:AbstractCompiler>*/;
5974 var158
= ((val
* (*)(val
*, val
*))(var157
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var157
, var_tag148
) /* [] on <var157:HashMap[String, Int]>*/;
5976 var160
= varonce159
;
5980 var163
= string__NativeString__to_s_with_length(var161
, var162
);
5982 varonce159
= var160
;
5984 var164
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_resolved
]))(self
) /* count_type_test_resolved on <self:AbstractCompiler>*/;
5985 var165
= ((val
* (*)(val
*, val
*))(var164
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var164
, var_tag148
) /* [] on <var164:HashMap[String, Int]>*/;
5986 var167
= ((struct instance_kernel__Int
*)var165
)->value
; /* autounbox from nullable Object to Int */;
5987 var166
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__div
]))(self
, var167
, var_count_type_test
) /* div on <self:AbstractCompiler>*/;
5989 var169
= varonce168
;
5993 var172
= string__NativeString__to_s_with_length(var170
, var171
);
5995 varonce168
= var169
;
5997 var173
= NEW_array__Array(&type_array__Arraykernel__Object
);
5998 { /* var173 = array_instance Array[Object] */
6000 var175
= NEW_array__NativeArray(var174
, &type_array__NativeArraykernel__Object
);
6001 ((struct instance_array__NativeArray
*)var175
)->values
[0] = (val
*) var153
;
6002 ((struct instance_array__NativeArray
*)var175
)->values
[1] = (val
*) var158
;
6003 ((struct instance_array__NativeArray
*)var175
)->values
[2] = (val
*) var160
;
6004 ((struct instance_array__NativeArray
*)var175
)->values
[3] = (val
*) var166
;
6005 ((struct instance_array__NativeArray
*)var175
)->values
[4] = (val
*) var169
;
6006 ((void (*)(val
*, val
*, long))(var173
->class->vft
[COLOR_array__Array__with_native
]))(var173
, var175
, var174
) /* with_native on <var173:Array[Object]>*/;
6007 CHECK_NEW_array__Array(var173
);
6009 var176
= ((val
* (*)(val
*))(var173
->class->vft
[COLOR_string__Object__to_s
]))(var173
) /* to_s on <var173:Array[Object]>*/;
6010 var177
= NEW_array__Array(&type_array__Arraykernel__Object
);
6011 { /* var177 = array_instance Array[Object] */
6013 var179
= NEW_array__NativeArray(var178
, &type_array__NativeArraykernel__Object
);
6014 ((struct instance_array__NativeArray
*)var179
)->values
[0] = (val
*) var176
;
6015 ((void (*)(val
*, val
*, long))(var177
->class->vft
[COLOR_array__Array__with_native
]))(var177
, var179
, var178
) /* with_native on <var177:Array[Object]>*/;
6016 CHECK_NEW_array__Array(var177
);
6018 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__printn
]))(self
, var177
) /* printn on <self:AbstractCompiler>*/;
6020 var181
= varonce180
;
6024 var184
= string__NativeString__to_s_with_length(var182
, var183
);
6026 varonce180
= var181
;
6028 var185
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_unresolved
]))(self
) /* count_type_test_unresolved on <self:AbstractCompiler>*/;
6029 var186
= ((val
* (*)(val
*, val
*))(var185
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var185
, var_tag148
) /* [] on <var185:HashMap[String, Int]>*/;
6031 var188
= varonce187
;
6035 var191
= string__NativeString__to_s_with_length(var189
, var190
);
6037 varonce187
= var188
;
6039 var192
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_unresolved
]))(self
) /* count_type_test_unresolved on <self:AbstractCompiler>*/;
6040 var193
= ((val
* (*)(val
*, val
*))(var192
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var192
, var_tag148
) /* [] on <var192:HashMap[String, Int]>*/;
6041 var195
= ((struct instance_kernel__Int
*)var193
)->value
; /* autounbox from nullable Object to Int */;
6042 var194
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__div
]))(self
, var195
, var_count_type_test
) /* div on <self:AbstractCompiler>*/;
6044 var197
= varonce196
;
6048 var200
= string__NativeString__to_s_with_length(var198
, var199
);
6050 varonce196
= var197
;
6052 var201
= NEW_array__Array(&type_array__Arraykernel__Object
);
6053 { /* var201 = array_instance Array[Object] */
6055 var203
= NEW_array__NativeArray(var202
, &type_array__NativeArraykernel__Object
);
6056 ((struct instance_array__NativeArray
*)var203
)->values
[0] = (val
*) var181
;
6057 ((struct instance_array__NativeArray
*)var203
)->values
[1] = (val
*) var186
;
6058 ((struct instance_array__NativeArray
*)var203
)->values
[2] = (val
*) var188
;
6059 ((struct instance_array__NativeArray
*)var203
)->values
[3] = (val
*) var194
;
6060 ((struct instance_array__NativeArray
*)var203
)->values
[4] = (val
*) var197
;
6061 ((void (*)(val
*, val
*, long))(var201
->class->vft
[COLOR_array__Array__with_native
]))(var201
, var203
, var202
) /* with_native on <var201:Array[Object]>*/;
6062 CHECK_NEW_array__Array(var201
);
6064 var204
= ((val
* (*)(val
*))(var201
->class->vft
[COLOR_string__Object__to_s
]))(var201
) /* to_s on <var201:Array[Object]>*/;
6065 var205
= NEW_array__Array(&type_array__Arraykernel__Object
);
6066 { /* var205 = array_instance Array[Object] */
6068 var207
= NEW_array__NativeArray(var206
, &type_array__NativeArraykernel__Object
);
6069 ((struct instance_array__NativeArray
*)var207
)->values
[0] = (val
*) var204
;
6070 ((void (*)(val
*, val
*, long))(var205
->class->vft
[COLOR_array__Array__with_native
]))(var205
, var207
, var206
) /* with_native on <var205:Array[Object]>*/;
6071 CHECK_NEW_array__Array(var205
);
6073 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__printn
]))(self
, var205
) /* printn on <self:AbstractCompiler>*/;
6075 var209
= varonce208
;
6079 var212
= string__NativeString__to_s_with_length(var210
, var211
);
6081 varonce208
= var209
;
6083 var213
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_skipped
]))(self
) /* count_type_test_skipped on <self:AbstractCompiler>*/;
6084 var214
= ((val
* (*)(val
*, val
*))(var213
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var213
, var_tag148
) /* [] on <var213:HashMap[String, Int]>*/;
6086 var216
= varonce215
;
6090 var219
= string__NativeString__to_s_with_length(var217
, var218
);
6092 varonce215
= var216
;
6094 var220
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_skipped
]))(self
) /* count_type_test_skipped on <self:AbstractCompiler>*/;
6095 var221
= ((val
* (*)(val
*, val
*))(var220
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var220
, var_tag148
) /* [] on <var220:HashMap[String, Int]>*/;
6096 var223
= ((struct instance_kernel__Int
*)var221
)->value
; /* autounbox from nullable Object to Int */;
6097 var222
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__div
]))(self
, var223
, var_count_type_test
) /* div on <self:AbstractCompiler>*/;
6099 var225
= varonce224
;
6103 var228
= string__NativeString__to_s_with_length(var226
, var227
);
6105 varonce224
= var225
;
6107 var229
= NEW_array__Array(&type_array__Arraykernel__Object
);
6108 { /* var229 = array_instance Array[Object] */
6110 var231
= NEW_array__NativeArray(var230
, &type_array__NativeArraykernel__Object
);
6111 ((struct instance_array__NativeArray
*)var231
)->values
[0] = (val
*) var209
;
6112 ((struct instance_array__NativeArray
*)var231
)->values
[1] = (val
*) var214
;
6113 ((struct instance_array__NativeArray
*)var231
)->values
[2] = (val
*) var216
;
6114 ((struct instance_array__NativeArray
*)var231
)->values
[3] = (val
*) var222
;
6115 ((struct instance_array__NativeArray
*)var231
)->values
[4] = (val
*) var225
;
6116 ((void (*)(val
*, val
*, long))(var229
->class->vft
[COLOR_array__Array__with_native
]))(var229
, var231
, var230
) /* with_native on <var229:Array[Object]>*/;
6117 CHECK_NEW_array__Array(var229
);
6119 var232
= ((val
* (*)(val
*))(var229
->class->vft
[COLOR_string__Object__to_s
]))(var229
) /* to_s on <var229:Array[Object]>*/;
6120 var233
= NEW_array__Array(&type_array__Arraykernel__Object
);
6121 { /* var233 = array_instance Array[Object] */
6123 var235
= NEW_array__NativeArray(var234
, &type_array__NativeArraykernel__Object
);
6124 ((struct instance_array__NativeArray
*)var235
)->values
[0] = (val
*) var232
;
6125 ((void (*)(val
*, val
*, long))(var233
->class->vft
[COLOR_array__Array__with_native
]))(var233
, var235
, var234
) /* with_native on <var233:Array[Object]>*/;
6126 CHECK_NEW_array__Array(var233
);
6128 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__printn
]))(self
, var233
) /* printn on <self:AbstractCompiler>*/;
6130 var237
= varonce236
;
6134 var240
= string__NativeString__to_s_with_length(var238
, var239
);
6136 varonce236
= var237
;
6138 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]>*/;
6140 var243
= varonce242
;
6144 var246
= string__NativeString__to_s_with_length(var244
, var245
);
6146 varonce242
= var243
;
6148 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]>*/;
6149 var249
= ((struct instance_kernel__Int
*)var247
)->value
; /* autounbox from nullable Object to Int */;
6150 var248
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__div
]))(self
, var249
, var_count_type_test
) /* div on <self:AbstractCompiler>*/;
6152 var251
= varonce250
;
6156 var254
= string__NativeString__to_s_with_length(var252
, var253
);
6158 varonce250
= var251
;
6160 var255
= NEW_array__Array(&type_array__Arraykernel__Object
);
6161 { /* var255 = array_instance Array[Object] */
6163 var257
= NEW_array__NativeArray(var256
, &type_array__NativeArraykernel__Object
);
6164 ((struct instance_array__NativeArray
*)var257
)->values
[0] = (val
*) var237
;
6165 ((struct instance_array__NativeArray
*)var257
)->values
[1] = (val
*) var241
;
6166 ((struct instance_array__NativeArray
*)var257
)->values
[2] = (val
*) var243
;
6167 ((struct instance_array__NativeArray
*)var257
)->values
[3] = (val
*) var248
;
6168 ((struct instance_array__NativeArray
*)var257
)->values
[4] = (val
*) var251
;
6169 ((void (*)(val
*, val
*, long))(var255
->class->vft
[COLOR_array__Array__with_native
]))(var255
, var257
, var256
) /* with_native on <var255:Array[Object]>*/;
6170 CHECK_NEW_array__Array(var255
);
6172 var258
= ((val
* (*)(val
*))(var255
->class->vft
[COLOR_string__Object__to_s
]))(var255
) /* to_s on <var255:Array[Object]>*/;
6173 var259
= NEW_array__Array(&type_array__Arraykernel__Object
);
6174 { /* var259 = array_instance Array[Object] */
6176 var261
= NEW_array__NativeArray(var260
, &type_array__NativeArraykernel__Object
);
6177 ((struct instance_array__NativeArray
*)var261
)->values
[0] = (val
*) var258
;
6178 ((void (*)(val
*, val
*, long))(var259
->class->vft
[COLOR_array__Array__with_native
]))(var259
, var261
, var260
) /* with_native on <var259:Array[Object]>*/;
6179 CHECK_NEW_array__Array(var259
);
6181 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__printn
]))(self
, var259
) /* printn on <self:AbstractCompiler>*/;
6183 var263
= varonce262
;
6187 var266
= string__NativeString__to_s_with_length(var264
, var265
);
6189 varonce262
= var263
;
6191 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__print
]))(self
, var263
) /* print on <self:AbstractCompiler>*/;
6192 CONTINUE_label267
: (void)0;
6193 ((void (*)(val
*))(var145
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var145
) /* next on <var145:Iterator[nullable Object]>*/;
6195 BREAK_label267
: (void)0;
6200 /* method abstract_compiler#AbstractCompiler#display_stats for (self: Object) */
6201 void VIRTUAL_abstract_compiler__AbstractCompiler__display_stats(val
* self
) {
6202 abstract_compiler__AbstractCompiler__display_stats(self
);
6205 /* method abstract_compiler#AbstractCompiler#div for (self: AbstractCompiler, Int, Int): String */
6206 val
* abstract_compiler__AbstractCompiler__div(val
* self
, long p0
, long p1
) {
6207 val
* var
/* : String */;
6208 long var_a
/* var a: Int */;
6209 long var_b
/* var b: Int */;
6210 long var1
/* : Int */;
6211 short int var2
/* : Bool */;
6212 short int var4
/* : Bool */;
6213 static val
* varonce
;
6214 val
* var5
/* : String */;
6215 char* var6
/* : NativeString */;
6216 long var7
/* : Int */;
6217 val
* var8
/* : String */;
6218 long var9
/* : Int */;
6219 long var10
/* : Int */;
6220 long var12
/* : Int */;
6221 long var13
/* : Int */;
6222 long var15
/* : Int */;
6223 double var16
/* : Float */;
6224 double var18
/* : Float */;
6225 double var19
/* : Float */;
6226 double var20
/* : Float */;
6227 double var22
/* : Float */;
6228 long var23
/* : Int */;
6229 val
* var24
/* : String */;
6233 { /* Inline kernel#Int#== (var_b,var1) */
6234 var4
= var_b
== var1
;
6245 var8
= string__NativeString__to_s_with_length(var6
, var7
);
6254 { /* Inline kernel#Int#* (var_a,var9) */
6255 var12
= var_a
* var9
;
6258 RET_LABEL11
:(void)0;
6260 { /* Inline kernel#Int#/ (var10,var_b) */
6261 var15
= var10
/ var_b
;
6264 RET_LABEL14
:(void)0;
6266 { /* Inline kernel#Int#to_f (var13) */
6267 var18
= (double)var13
;
6270 RET_LABEL17
:(void)0;
6273 { /* Inline kernel#Float#/ (var16,var19) */
6274 var22
= var16
/ var19
;
6277 RET_LABEL21
:(void)0;
6280 var24
= string__Float__to_precision(var20
, var23
);
6286 /* method abstract_compiler#AbstractCompiler#div for (self: Object, Int, Int): String */
6287 val
* VIRTUAL_abstract_compiler__AbstractCompiler__div(val
* self
, long p0
, long p1
) {
6288 val
* var
/* : String */;
6289 val
* var1
/* : String */;
6290 var1
= abstract_compiler__AbstractCompiler__div(self
, p0
, p1
);
6295 /* method abstract_compiler#CodeFile#name for (self: CodeFile): String */
6296 val
* abstract_compiler__CodeFile__name(val
* self
) {
6297 val
* var
/* : String */;
6298 val
* var1
/* : String */;
6299 var1
= self
->attrs
[COLOR_abstract_compiler__CodeFile___64dname
].val
; /* @name on <self:CodeFile> */
6301 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @name");
6302 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 503);
6309 /* method abstract_compiler#CodeFile#name for (self: Object): String */
6310 val
* VIRTUAL_abstract_compiler__CodeFile__name(val
* self
) {
6311 val
* var
/* : String */;
6312 val
* var1
/* : String */;
6313 var1
= abstract_compiler__CodeFile__name(self
);
6318 /* method abstract_compiler#CodeFile#name= for (self: CodeFile, String) */
6319 void abstract_compiler__CodeFile__name_61d(val
* self
, val
* p0
) {
6320 self
->attrs
[COLOR_abstract_compiler__CodeFile___64dname
].val
= p0
; /* @name on <self:CodeFile> */
6323 /* method abstract_compiler#CodeFile#name= for (self: Object, String) */
6324 void VIRTUAL_abstract_compiler__CodeFile__name_61d(val
* self
, val
* p0
) {
6325 abstract_compiler__CodeFile__name_61d(self
, p0
);
6328 /* method abstract_compiler#CodeFile#writers for (self: CodeFile): Array[CodeWriter] */
6329 val
* abstract_compiler__CodeFile__writers(val
* self
) {
6330 val
* var
/* : Array[CodeWriter] */;
6331 val
* var1
/* : Array[CodeWriter] */;
6332 var1
= self
->attrs
[COLOR_abstract_compiler__CodeFile___64dwriters
].val
; /* @writers on <self:CodeFile> */
6334 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @writers");
6335 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 504);
6342 /* method abstract_compiler#CodeFile#writers for (self: Object): Array[CodeWriter] */
6343 val
* VIRTUAL_abstract_compiler__CodeFile__writers(val
* self
) {
6344 val
* var
/* : Array[CodeWriter] */;
6345 val
* var1
/* : Array[CodeWriter] */;
6346 var1
= abstract_compiler__CodeFile__writers(self
);
6351 /* method abstract_compiler#CodeFile#writers= for (self: CodeFile, Array[CodeWriter]) */
6352 void abstract_compiler__CodeFile__writers_61d(val
* self
, val
* p0
) {
6353 self
->attrs
[COLOR_abstract_compiler__CodeFile___64dwriters
].val
= p0
; /* @writers on <self:CodeFile> */
6356 /* method abstract_compiler#CodeFile#writers= for (self: Object, Array[CodeWriter]) */
6357 void VIRTUAL_abstract_compiler__CodeFile__writers_61d(val
* self
, val
* p0
) {
6358 abstract_compiler__CodeFile__writers_61d(self
, p0
);
6361 /* method abstract_compiler#CodeFile#required_declarations for (self: CodeFile): HashSet[String] */
6362 val
* abstract_compiler__CodeFile__required_declarations(val
* self
) {
6363 val
* var
/* : HashSet[String] */;
6364 val
* var1
/* : HashSet[String] */;
6365 var1
= self
->attrs
[COLOR_abstract_compiler__CodeFile___64drequired_declarations
].val
; /* @required_declarations on <self:CodeFile> */
6367 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @required_declarations");
6368 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 505);
6375 /* method abstract_compiler#CodeFile#required_declarations for (self: Object): HashSet[String] */
6376 val
* VIRTUAL_abstract_compiler__CodeFile__required_declarations(val
* self
) {
6377 val
* var
/* : HashSet[String] */;
6378 val
* var1
/* : HashSet[String] */;
6379 var1
= abstract_compiler__CodeFile__required_declarations(self
);
6384 /* method abstract_compiler#CodeFile#required_declarations= for (self: CodeFile, HashSet[String]) */
6385 void abstract_compiler__CodeFile__required_declarations_61d(val
* self
, val
* p0
) {
6386 self
->attrs
[COLOR_abstract_compiler__CodeFile___64drequired_declarations
].val
= p0
; /* @required_declarations on <self:CodeFile> */
6389 /* method abstract_compiler#CodeFile#required_declarations= for (self: Object, HashSet[String]) */
6390 void VIRTUAL_abstract_compiler__CodeFile__required_declarations_61d(val
* self
, val
* p0
) {
6391 abstract_compiler__CodeFile__required_declarations_61d(self
, p0
);
6394 /* method abstract_compiler#CodeFile#init for (self: CodeFile, String) */
6395 void abstract_compiler__CodeFile__init(val
* self
, val
* p0
) {
6396 self
->attrs
[COLOR_abstract_compiler__CodeFile___64dname
].val
= p0
; /* @name on <self:CodeFile> */
6399 /* method abstract_compiler#CodeFile#init for (self: Object, String) */
6400 void VIRTUAL_abstract_compiler__CodeFile__init(val
* self
, val
* p0
) {
6401 abstract_compiler__CodeFile__init(self
, p0
);
6404 /* method abstract_compiler#CodeWriter#file for (self: CodeWriter): CodeFile */
6405 val
* abstract_compiler__CodeWriter__file(val
* self
) {
6406 val
* var
/* : CodeFile */;
6407 val
* var1
/* : CodeFile */;
6408 var1
= self
->attrs
[COLOR_abstract_compiler__CodeWriter___64dfile
].val
; /* @file on <self:CodeWriter> */
6410 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @file");
6411 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 510);
6418 /* method abstract_compiler#CodeWriter#file for (self: Object): CodeFile */
6419 val
* VIRTUAL_abstract_compiler__CodeWriter__file(val
* self
) {
6420 val
* var
/* : CodeFile */;
6421 val
* var1
/* : CodeFile */;
6422 var1
= abstract_compiler__CodeWriter__file(self
);
6427 /* method abstract_compiler#CodeWriter#file= for (self: CodeWriter, CodeFile) */
6428 void abstract_compiler__CodeWriter__file_61d(val
* self
, val
* p0
) {
6429 self
->attrs
[COLOR_abstract_compiler__CodeWriter___64dfile
].val
= p0
; /* @file on <self:CodeWriter> */
6432 /* method abstract_compiler#CodeWriter#file= for (self: Object, CodeFile) */
6433 void VIRTUAL_abstract_compiler__CodeWriter__file_61d(val
* self
, val
* p0
) {
6434 abstract_compiler__CodeWriter__file_61d(self
, p0
);
6437 /* method abstract_compiler#CodeWriter#lines for (self: CodeWriter): List[String] */
6438 val
* abstract_compiler__CodeWriter__lines(val
* self
) {
6439 val
* var
/* : List[String] */;
6440 val
* var1
/* : List[String] */;
6441 var1
= self
->attrs
[COLOR_abstract_compiler__CodeWriter___64dlines
].val
; /* @lines on <self:CodeWriter> */
6443 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @lines");
6444 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 511);
6451 /* method abstract_compiler#CodeWriter#lines for (self: Object): List[String] */
6452 val
* VIRTUAL_abstract_compiler__CodeWriter__lines(val
* self
) {
6453 val
* var
/* : List[String] */;
6454 val
* var1
/* : List[String] */;
6455 var1
= abstract_compiler__CodeWriter__lines(self
);
6460 /* method abstract_compiler#CodeWriter#lines= for (self: CodeWriter, List[String]) */
6461 void abstract_compiler__CodeWriter__lines_61d(val
* self
, val
* p0
) {
6462 self
->attrs
[COLOR_abstract_compiler__CodeWriter___64dlines
].val
= p0
; /* @lines on <self:CodeWriter> */
6465 /* method abstract_compiler#CodeWriter#lines= for (self: Object, List[String]) */
6466 void VIRTUAL_abstract_compiler__CodeWriter__lines_61d(val
* self
, val
* p0
) {
6467 abstract_compiler__CodeWriter__lines_61d(self
, p0
);
6470 /* method abstract_compiler#CodeWriter#decl_lines for (self: CodeWriter): List[String] */
6471 val
* abstract_compiler__CodeWriter__decl_lines(val
* self
) {
6472 val
* var
/* : List[String] */;
6473 val
* var1
/* : List[String] */;
6474 var1
= self
->attrs
[COLOR_abstract_compiler__CodeWriter___64ddecl_lines
].val
; /* @decl_lines on <self:CodeWriter> */
6476 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @decl_lines");
6477 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 512);
6484 /* method abstract_compiler#CodeWriter#decl_lines for (self: Object): List[String] */
6485 val
* VIRTUAL_abstract_compiler__CodeWriter__decl_lines(val
* self
) {
6486 val
* var
/* : List[String] */;
6487 val
* var1
/* : List[String] */;
6488 var1
= abstract_compiler__CodeWriter__decl_lines(self
);
6493 /* method abstract_compiler#CodeWriter#decl_lines= for (self: CodeWriter, List[String]) */
6494 void abstract_compiler__CodeWriter__decl_lines_61d(val
* self
, val
* p0
) {
6495 self
->attrs
[COLOR_abstract_compiler__CodeWriter___64ddecl_lines
].val
= p0
; /* @decl_lines on <self:CodeWriter> */
6498 /* method abstract_compiler#CodeWriter#decl_lines= for (self: Object, List[String]) */
6499 void VIRTUAL_abstract_compiler__CodeWriter__decl_lines_61d(val
* self
, val
* p0
) {
6500 abstract_compiler__CodeWriter__decl_lines_61d(self
, p0
);
6503 /* method abstract_compiler#CodeWriter#add for (self: CodeWriter, String) */
6504 void abstract_compiler__CodeWriter__add(val
* self
, val
* p0
) {
6505 val
* var_s
/* var s: String */;
6506 val
* var
/* : List[String] */;
6508 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__CodeWriter__lines
]))(self
) /* lines on <self:CodeWriter>*/;
6509 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var
, var_s
) /* add on <var:List[String]>*/;
6512 /* method abstract_compiler#CodeWriter#add for (self: Object, String) */
6513 void VIRTUAL_abstract_compiler__CodeWriter__add(val
* self
, val
* p0
) {
6514 abstract_compiler__CodeWriter__add(self
, p0
);
6517 /* method abstract_compiler#CodeWriter#add_decl for (self: CodeWriter, String) */
6518 void abstract_compiler__CodeWriter__add_decl(val
* self
, val
* p0
) {
6519 val
* var_s
/* var s: String */;
6520 val
* var
/* : List[String] */;
6522 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__CodeWriter__decl_lines
]))(self
) /* decl_lines on <self:CodeWriter>*/;
6523 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var
, var_s
) /* add on <var:List[String]>*/;
6526 /* method abstract_compiler#CodeWriter#add_decl for (self: Object, String) */
6527 void VIRTUAL_abstract_compiler__CodeWriter__add_decl(val
* self
, val
* p0
) {
6528 abstract_compiler__CodeWriter__add_decl(self
, p0
);
6531 /* method abstract_compiler#CodeWriter#init for (self: CodeWriter, CodeFile) */
6532 void abstract_compiler__CodeWriter__init(val
* self
, val
* p0
) {
6533 val
* var_file
/* var file: CodeFile */;
6534 val
* var
/* : Array[CodeWriter] */;
6536 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__CodeWriter__file_61d
]))(self
, var_file
) /* file= on <self:CodeWriter>*/;
6537 var
= ((val
* (*)(val
*))(var_file
->class->vft
[COLOR_abstract_compiler__CodeFile__writers
]))(var_file
) /* writers on <var_file:CodeFile>*/;
6538 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var
, self
) /* add on <var:Array[CodeWriter]>*/;
6541 /* method abstract_compiler#CodeWriter#init for (self: Object, CodeFile) */
6542 void VIRTUAL_abstract_compiler__CodeWriter__init(val
* self
, val
* p0
) {
6543 abstract_compiler__CodeWriter__init(self
, p0
);
6546 /* method abstract_compiler#AbstractCompilerVisitor#compiler for (self: AbstractCompilerVisitor): AbstractCompiler */
6547 val
* abstract_compiler__AbstractCompilerVisitor__compiler(val
* self
) {
6548 val
* var
/* : AbstractCompiler */;
6549 val
* var1
/* : AbstractCompiler */;
6550 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dcompiler
].val
; /* @compiler on <self:AbstractCompilerVisitor> */
6552 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @compiler");
6553 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 533);
6560 /* method abstract_compiler#AbstractCompilerVisitor#compiler for (self: Object): AbstractCompiler */
6561 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__compiler(val
* self
) {
6562 val
* var
/* : AbstractCompiler */;
6563 val
* var1
/* : AbstractCompiler */;
6564 var1
= abstract_compiler__AbstractCompilerVisitor__compiler(self
);
6569 /* method abstract_compiler#AbstractCompilerVisitor#compiler= for (self: AbstractCompilerVisitor, AbstractCompiler) */
6570 void abstract_compiler__AbstractCompilerVisitor__compiler_61d(val
* self
, val
* p0
) {
6571 short int var
/* : Bool */;
6574 const struct type
* type_struct
;
6575 const char* var_class_name
;
6576 /* Covariant cast for argument 0 (compiler) <p0:AbstractCompiler> isa COMPILER */
6577 /* <p0:AbstractCompiler> isa COMPILER */
6578 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractCompilerVisitor_VTCOMPILER
];
6579 cltype
= type_struct
->color
;
6580 idtype
= type_struct
->id
;
6581 if(cltype
>= p0
->type
->table_size
) {
6584 var
= p0
->type
->type_table
[cltype
] == idtype
;
6587 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
6588 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name
);
6589 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 533);
6592 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dcompiler
].val
= p0
; /* @compiler on <self:AbstractCompilerVisitor> */
6595 /* method abstract_compiler#AbstractCompilerVisitor#compiler= for (self: Object, AbstractCompiler) */
6596 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__compiler_61d(val
* self
, val
* p0
) {
6597 abstract_compiler__AbstractCompilerVisitor__compiler_61d(self
, p0
);
6600 /* method abstract_compiler#AbstractCompilerVisitor#current_node for (self: AbstractCompilerVisitor): nullable ANode */
6601 val
* abstract_compiler__AbstractCompilerVisitor__current_node(val
* self
) {
6602 val
* var
/* : nullable ANode */;
6603 val
* var1
/* : nullable ANode */;
6604 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dcurrent_node
].val
; /* @current_node on <self:AbstractCompilerVisitor> */
6609 /* method abstract_compiler#AbstractCompilerVisitor#current_node for (self: Object): nullable ANode */
6610 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__current_node(val
* self
) {
6611 val
* var
/* : nullable ANode */;
6612 val
* var1
/* : nullable ANode */;
6613 var1
= abstract_compiler__AbstractCompilerVisitor__current_node(self
);
6618 /* method abstract_compiler#AbstractCompilerVisitor#current_node= for (self: AbstractCompilerVisitor, nullable ANode) */
6619 void abstract_compiler__AbstractCompilerVisitor__current_node_61d(val
* self
, val
* p0
) {
6620 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dcurrent_node
].val
= p0
; /* @current_node on <self:AbstractCompilerVisitor> */
6623 /* method abstract_compiler#AbstractCompilerVisitor#current_node= for (self: Object, nullable ANode) */
6624 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__current_node_61d(val
* self
, val
* p0
) {
6625 abstract_compiler__AbstractCompilerVisitor__current_node_61d(self
, p0
);
6628 /* method abstract_compiler#AbstractCompilerVisitor#frame for (self: AbstractCompilerVisitor): nullable Frame */
6629 val
* abstract_compiler__AbstractCompilerVisitor__frame(val
* self
) {
6630 val
* var
/* : nullable Frame */;
6631 val
* var1
/* : nullable Frame */;
6632 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dframe
].val
; /* @frame on <self:AbstractCompilerVisitor> */
6637 /* method abstract_compiler#AbstractCompilerVisitor#frame for (self: Object): nullable Frame */
6638 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__frame(val
* self
) {
6639 val
* var
/* : nullable Frame */;
6640 val
* var1
/* : nullable Frame */;
6641 var1
= abstract_compiler__AbstractCompilerVisitor__frame(self
);
6646 /* method abstract_compiler#AbstractCompilerVisitor#frame= for (self: AbstractCompilerVisitor, nullable Frame) */
6647 void abstract_compiler__AbstractCompilerVisitor__frame_61d(val
* self
, val
* p0
) {
6648 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dframe
].val
= p0
; /* @frame on <self:AbstractCompilerVisitor> */
6651 /* method abstract_compiler#AbstractCompilerVisitor#frame= for (self: Object, nullable Frame) */
6652 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__frame_61d(val
* self
, val
* p0
) {
6653 abstract_compiler__AbstractCompilerVisitor__frame_61d(self
, p0
);
6656 /* method abstract_compiler#AbstractCompilerVisitor#object_type for (self: AbstractCompilerVisitor): MClassType */
6657 val
* abstract_compiler__AbstractCompilerVisitor__object_type(val
* self
) {
6658 val
* var
/* : MClassType */;
6659 val
* var1
/* : AbstractCompiler */;
6660 val
* var2
/* : MModule */;
6661 val
* var3
/* : MClassType */;
6662 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
6663 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var1
) /* mainmodule on <var1:AbstractCompiler>*/;
6664 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_model__MModule__object_type
]))(var2
) /* object_type on <var2:MModule>*/;
6670 /* method abstract_compiler#AbstractCompilerVisitor#object_type for (self: Object): MClassType */
6671 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__object_type(val
* self
) {
6672 val
* var
/* : MClassType */;
6673 val
* var1
/* : MClassType */;
6674 var1
= abstract_compiler__AbstractCompilerVisitor__object_type(self
);
6679 /* method abstract_compiler#AbstractCompilerVisitor#bool_type for (self: AbstractCompilerVisitor): MClassType */
6680 val
* abstract_compiler__AbstractCompilerVisitor__bool_type(val
* self
) {
6681 val
* var
/* : MClassType */;
6682 val
* var1
/* : AbstractCompiler */;
6683 val
* var2
/* : MModule */;
6684 val
* var3
/* : MClassType */;
6685 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
6686 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var1
) /* mainmodule on <var1:AbstractCompiler>*/;
6687 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_model__MModule__bool_type
]))(var2
) /* bool_type on <var2:MModule>*/;
6693 /* method abstract_compiler#AbstractCompilerVisitor#bool_type for (self: Object): MClassType */
6694 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__bool_type(val
* self
) {
6695 val
* var
/* : MClassType */;
6696 val
* var1
/* : MClassType */;
6697 var1
= abstract_compiler__AbstractCompilerVisitor__bool_type(self
);
6702 /* method abstract_compiler#AbstractCompilerVisitor#writer for (self: AbstractCompilerVisitor): CodeWriter */
6703 val
* abstract_compiler__AbstractCompilerVisitor__writer(val
* self
) {
6704 val
* var
/* : CodeWriter */;
6705 val
* var1
/* : CodeWriter */;
6706 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dwriter
].val
; /* @writer on <self:AbstractCompilerVisitor> */
6708 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @writer");
6709 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 548);
6716 /* method abstract_compiler#AbstractCompilerVisitor#writer for (self: Object): CodeWriter */
6717 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__writer(val
* self
) {
6718 val
* var
/* : CodeWriter */;
6719 val
* var1
/* : CodeWriter */;
6720 var1
= abstract_compiler__AbstractCompilerVisitor__writer(self
);
6725 /* method abstract_compiler#AbstractCompilerVisitor#writer= for (self: AbstractCompilerVisitor, CodeWriter) */
6726 void abstract_compiler__AbstractCompilerVisitor__writer_61d(val
* self
, val
* p0
) {
6727 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dwriter
].val
= p0
; /* @writer on <self:AbstractCompilerVisitor> */
6730 /* method abstract_compiler#AbstractCompilerVisitor#writer= for (self: Object, CodeWriter) */
6731 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__writer_61d(val
* self
, val
* p0
) {
6732 abstract_compiler__AbstractCompilerVisitor__writer_61d(self
, p0
);
6735 /* method abstract_compiler#AbstractCompilerVisitor#init for (self: AbstractCompilerVisitor, AbstractCompiler) */
6736 void abstract_compiler__AbstractCompilerVisitor__init(val
* self
, val
* p0
) {
6737 short int var
/* : Bool */;
6740 const struct type
* type_struct
;
6741 const char* var_class_name
;
6742 val
* var_compiler
/* var compiler: AbstractCompiler */;
6743 val
* var1
/* : CodeWriter */;
6744 val
* var2
/* : List[CodeFile] */;
6745 val
* var3
/* : nullable Object */;
6746 /* Covariant cast for argument 0 (compiler) <p0:AbstractCompiler> isa COMPILER */
6747 /* <p0:AbstractCompiler> isa COMPILER */
6748 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractCompilerVisitor_VTCOMPILER
];
6749 cltype
= type_struct
->color
;
6750 idtype
= type_struct
->id
;
6751 if(cltype
>= p0
->type
->table_size
) {
6754 var
= p0
->type
->type_table
[cltype
] == idtype
;
6757 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
6758 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name
);
6759 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 550);
6763 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler_61d
]))(self
, var_compiler
) /* compiler= on <self:AbstractCompilerVisitor>*/;
6764 var1
= NEW_abstract_compiler__CodeWriter(&type_abstract_compiler__CodeWriter
);
6765 var2
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__files
]))(var_compiler
) /* files on <var_compiler:AbstractCompiler>*/;
6766 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__SequenceRead__last
]))(var2
) /* last on <var2:List[CodeFile]>*/;
6767 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_compiler__CodeWriter__init
]))(var1
, var3
) /* init on <var1:CodeWriter>*/;
6768 CHECK_NEW_abstract_compiler__CodeWriter(var1
);
6769 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__writer_61d
]))(self
, var1
) /* writer= on <self:AbstractCompilerVisitor>*/;
6772 /* method abstract_compiler#AbstractCompilerVisitor#init for (self: Object, AbstractCompiler) */
6773 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__init(val
* self
, val
* p0
) {
6774 abstract_compiler__AbstractCompilerVisitor__init(self
, p0
);
6777 /* method abstract_compiler#AbstractCompilerVisitor#get_class for (self: AbstractCompilerVisitor, String): MClass */
6778 val
* abstract_compiler__AbstractCompilerVisitor__get_class(val
* self
, val
* p0
) {
6779 val
* var
/* : MClass */;
6780 val
* var_name
/* var name: String */;
6781 val
* var1
/* : AbstractCompiler */;
6782 val
* var2
/* : MModule */;
6783 val
* var3
/* : MClass */;
6785 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
6786 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var1
) /* mainmodule on <var1:AbstractCompiler>*/;
6787 var3
= ((val
* (*)(val
*, val
*))(var2
->class->vft
[COLOR_model__MModule__get_primitive_class
]))(var2
, var_name
) /* get_primitive_class on <var2:MModule>*/;
6793 /* method abstract_compiler#AbstractCompilerVisitor#get_class for (self: Object, String): MClass */
6794 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__get_class(val
* self
, val
* p0
) {
6795 val
* var
/* : MClass */;
6796 val
* var1
/* : MClass */;
6797 var1
= abstract_compiler__AbstractCompilerVisitor__get_class(self
, p0
);
6802 /* method abstract_compiler#AbstractCompilerVisitor#get_property for (self: AbstractCompilerVisitor, String, MType): MMethod */
6803 val
* abstract_compiler__AbstractCompilerVisitor__get_property(val
* self
, val
* p0
, val
* p1
) {
6804 val
* var
/* : MMethod */;
6805 val
* var_name
/* var name: String */;
6806 val
* var_recv
/* var recv: MType */;
6807 short int var1
/* : Bool */;
6810 val
* var2
/* : AbstractCompiler */;
6811 val
* var3
/* : ModelBuilder */;
6812 val
* var4
/* : nullable ANode */;
6813 val
* var5
/* : MClass */;
6814 val
* var6
/* : AbstractCompiler */;
6815 val
* var7
/* : MModule */;
6816 val
* var8
/* : MMethod */;
6819 /* <var_recv:MType> isa MClassType */
6820 cltype
= type_model__MClassType
.color
;
6821 idtype
= type_model__MClassType
.id
;
6822 if(cltype
>= var_recv
->type
->table_size
) {
6825 var1
= var_recv
->type
->type_table
[cltype
] == idtype
;
6828 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6829 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 562);
6832 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
6833 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var2
) /* modelbuilder on <var2:AbstractCompiler>*/;
6834 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node
]))(self
) /* current_node on <self:AbstractCompilerVisitor>*/;
6836 fprintf(stderr
, "Runtime error: %s", "Cast failed");
6837 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 563);
6840 var5
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_model__MClassType__mclass
]))(var_recv
) /* mclass on <var_recv:MType(MClassType)>*/;
6841 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
6842 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var6
) /* mainmodule on <var6:AbstractCompiler>*/;
6843 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>*/;
6849 /* method abstract_compiler#AbstractCompilerVisitor#get_property for (self: Object, String, MType): MMethod */
6850 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__get_property(val
* self
, val
* p0
, val
* p1
) {
6851 val
* var
/* : MMethod */;
6852 val
* var1
/* : MMethod */;
6853 var1
= abstract_compiler__AbstractCompilerVisitor__get_property(self
, p0
, p1
);
6858 /* method abstract_compiler#AbstractCompilerVisitor#compile_callsite for (self: AbstractCompilerVisitor, CallSite, Array[RuntimeVariable]): nullable RuntimeVariable */
6859 val
* abstract_compiler__AbstractCompilerVisitor__compile_callsite(val
* self
, val
* p0
, val
* p1
) {
6860 val
* var
/* : nullable RuntimeVariable */;
6861 val
* var_callsite
/* var callsite: CallSite */;
6862 val
* var_args
/* var args: Array[RuntimeVariable] */;
6863 val
* var1
/* : MMethod */;
6864 val
* var2
/* : nullable RuntimeVariable */;
6867 var1
= ((val
* (*)(val
*))(var_callsite
->class->vft
[COLOR_typing__CallSite__mproperty
]))(var_callsite
) /* mproperty on <var_callsite:CallSite>*/;
6868 var2
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(self
, var1
, var_args
) /* send on <self:AbstractCompilerVisitor>*/;
6874 /* method abstract_compiler#AbstractCompilerVisitor#compile_callsite for (self: Object, CallSite, Array[RuntimeVariable]): nullable RuntimeVariable */
6875 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__compile_callsite(val
* self
, val
* p0
, val
* p1
) {
6876 val
* var
/* : nullable RuntimeVariable */;
6877 val
* var1
/* : nullable RuntimeVariable */;
6878 var1
= abstract_compiler__AbstractCompilerVisitor__compile_callsite(self
, p0
, p1
);
6883 /* method abstract_compiler#AbstractCompilerVisitor#calloc_array for (self: AbstractCompilerVisitor, MType, Array[RuntimeVariable]) */
6884 void abstract_compiler__AbstractCompilerVisitor__calloc_array(val
* self
, val
* p0
, val
* p1
) {
6885 const char* var_class_name
;
6886 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
6887 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "calloc_array", var_class_name
);
6888 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 571);
6892 /* method abstract_compiler#AbstractCompilerVisitor#calloc_array for (self: Object, MType, Array[RuntimeVariable]) */
6893 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__calloc_array(val
* self
, val
* p0
, val
* p1
) {
6894 abstract_compiler__AbstractCompilerVisitor__calloc_array(self
, p0
, p1
);
6897 /* method abstract_compiler#AbstractCompilerVisitor#native_array_def for (self: AbstractCompilerVisitor, String, nullable MType, Array[RuntimeVariable]) */
6898 void abstract_compiler__AbstractCompilerVisitor__native_array_def(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6899 const char* var_class_name
;
6900 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
6901 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "native_array_def", var_class_name
);
6902 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 573);
6906 /* method abstract_compiler#AbstractCompilerVisitor#native_array_def for (self: Object, String, nullable MType, Array[RuntimeVariable]) */
6907 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__native_array_def(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6908 abstract_compiler__AbstractCompilerVisitor__native_array_def(self
, p0
, p1
, p2
);
6911 /* method abstract_compiler#AbstractCompilerVisitor#varargize for (self: AbstractCompilerVisitor, MPropDef, MSignature, Array[RuntimeVariable]) */
6912 void abstract_compiler__AbstractCompilerVisitor__varargize(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6913 val
* var_mpropdef
/* var mpropdef: MPropDef */;
6914 val
* var_msignature
/* var msignature: MSignature */;
6915 val
* var_args
/* var args: Array[RuntimeVariable] */;
6916 val
* var
/* : nullable Object */;
6917 val
* var_recv
/* var recv: RuntimeVariable */;
6918 long var1
/* : Int */;
6919 long var_vararg_rank
/* var vararg_rank: Int */;
6920 long var2
/* : Int */;
6921 short int var3
/* : Bool */;
6922 short int var5
/* : Bool */;
6925 const char* var_class_name
;
6926 short int var6
/* : Bool */;
6927 long var7
/* : Int */;
6928 long var8
/* : Int */;
6929 long var9
/* : Int */;
6930 long var10
/* : Int */;
6931 long var12
/* : Int */;
6932 short int var13
/* : Bool */;
6933 short int var15
/* : Bool */;
6936 const char* var_class_name18
;
6937 short int var19
/* : Bool */;
6938 val
* var_rawargs
/* var rawargs: Array[RuntimeVariable] */;
6939 val
* var20
/* : Array[RuntimeVariable] */;
6940 val
* var21
/* : nullable Object */;
6941 val
* var22
/* : Range[Int] */;
6942 long var23
/* : Int */;
6943 val
* var24
/* : Discrete */;
6944 val
* var25
/* : Discrete */;
6945 val
* var26
/* : Iterator[nullable Object] */;
6946 short int var27
/* : Bool */;
6947 val
* var28
/* : nullable Object */;
6948 long var_i
/* var i: Int */;
6949 long var29
/* : Int */;
6950 long var30
/* : Int */;
6951 long var31
/* : Int */;
6952 long var33
/* : Int */;
6953 val
* var34
/* : nullable Object */;
6954 long var35
/* : Int */;
6955 long var36
/* : Int */;
6956 long var38
/* : Int */;
6957 long var39
/* : Int */;
6958 long var40
/* : Int */;
6959 long var42
/* : Int */;
6960 long var43
/* : Int */;
6961 long var44
/* : Int */;
6962 long var46
/* : Int */;
6963 long var_vararg_lastrank
/* var vararg_lastrank: Int */;
6964 val
* var47
/* : Array[RuntimeVariable] */;
6965 val
* var_vararg
/* var vararg: Array[RuntimeVariable] */;
6966 val
* var48
/* : Range[Int] */;
6967 val
* var49
/* : Discrete */;
6968 val
* var50
/* : Discrete */;
6969 val
* var51
/* : Iterator[nullable Object] */;
6970 short int var52
/* : Bool */;
6971 val
* var53
/* : nullable Object */;
6972 long var_i54
/* var i: Int */;
6973 long var55
/* : Int */;
6974 long var56
/* : Int */;
6975 long var57
/* : Int */;
6976 long var59
/* : Int */;
6977 val
* var60
/* : nullable Object */;
6978 val
* var62
/* : Array[MParameter] */;
6979 val
* var63
/* : nullable Object */;
6980 val
* var64
/* : MType */;
6981 val
* var_elttype
/* var elttype: MType */;
6982 val
* var65
/* : RuntimeVariable */;
6983 val
* var66
/* : Range[Int] */;
6984 long var67
/* : Int */;
6985 long var68
/* : Int */;
6986 long var70
/* : Int */;
6987 long var71
/* : Int */;
6988 long var72
/* : Int */;
6989 long var73
/* : Int */;
6990 long var75
/* : Int */;
6991 val
* var76
/* : Discrete */;
6992 val
* var77
/* : Discrete */;
6993 val
* var78
/* : Iterator[nullable Object] */;
6994 short int var79
/* : Bool */;
6995 val
* var80
/* : nullable Object */;
6996 long var_i81
/* var i: Int */;
6997 long var82
/* : Int */;
6998 long var83
/* : Int */;
6999 long var84
/* : Int */;
7000 long var86
/* : Int */;
7001 val
* var87
/* : nullable Object */;
7003 var_msignature
= p1
;
7005 var
= ((val
* (*)(val
*))(var_args
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_args
) /* first on <var_args:Array[RuntimeVariable]>*/;
7007 var1
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__vararg_rank
]))(var_msignature
) /* vararg_rank on <var_msignature:MSignature>*/;
7008 var_vararg_rank
= var1
;
7010 { /* Inline kernel#Int#>= (var_vararg_rank,var2) */
7011 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
7012 /* <var2:Int> isa OTHER */
7013 var5
= 1; /* easy <var2:Int> isa OTHER*/
7015 var_class_name
= type_kernel__Int
.name
;
7016 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
7017 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
7020 var6
= var_vararg_rank
>= var2
;
7026 var7
= ((long (*)(val
*))(var_args
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_args
) /* length on <var_args:Array[RuntimeVariable]>*/;
7027 var8
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:MSignature>*/;
7029 { /* Inline kernel#Int#+ (var8,var9) */
7030 var12
= var8
+ var9
;
7033 RET_LABEL11
:(void)0;
7035 { /* Inline kernel#Int#>= (var7,var10) */
7036 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
7037 /* <var10:Int> isa OTHER */
7038 var15
= 1; /* easy <var10:Int> isa OTHER*/
7040 var_class_name18
= type_kernel__Int
.name
;
7041 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18
);
7042 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 262);
7045 var19
= var7
>= var10
;
7048 RET_LABEL14
:(void)0;
7051 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7052 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 583);
7055 var_rawargs
= var_args
;
7056 var20
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
7057 ((void (*)(val
*))(var20
->class->vft
[COLOR_array__Array__init
]))(var20
) /* init on <var20:Array[RuntimeVariable]>*/;
7058 CHECK_NEW_array__Array(var20
);
7060 var21
= ((val
* (*)(val
*))(var_rawargs
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_rawargs
) /* first on <var_rawargs:Array[RuntimeVariable]>*/;
7061 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var21
) /* add on <var_args:Array[RuntimeVariable]>*/;
7062 var22
= NEW_range__Range(&type_range__Rangekernel__Int
);
7064 var24
= BOX_kernel__Int(var23
); /* autobox from Int to Discrete */
7065 var25
= BOX_kernel__Int(var_vararg_rank
); /* autobox from Int to Discrete */
7066 ((void (*)(val
*, val
*, val
*))(var22
->class->vft
[COLOR_range__Range__without_last
]))(var22
, var24
, var25
) /* without_last on <var22:Range[Int]>*/;
7067 CHECK_NEW_range__Range(var22
);
7068 var26
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var22
) /* iterator on <var22:Range[Int]>*/;
7070 var27
= ((short int (*)(val
*))(var26
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var26
) /* is_ok on <var26:Iterator[nullable Object]>*/;
7072 var28
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var26
) /* item on <var26:Iterator[nullable Object]>*/;
7073 var29
= ((struct instance_kernel__Int
*)var28
)->value
; /* autounbox from nullable Object to Int */;
7076 { /* Inline kernel#Int#+ (var_i,var30) */
7077 var33
= var_i
+ var30
;
7080 RET_LABEL32
:(void)0;
7082 var34
= ((val
* (*)(val
*, long))(var_rawargs
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_rawargs
, var31
) /* [] on <var_rawargs:Array[RuntimeVariable]>*/;
7083 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var34
) /* add on <var_args:Array[RuntimeVariable]>*/;
7084 CONTINUE_label
: (void)0;
7085 ((void (*)(val
*))(var26
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var26
) /* next on <var26:Iterator[nullable Object]>*/;
7087 BREAK_label
: (void)0;
7088 var35
= ((long (*)(val
*))(var_rawargs
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_rawargs
) /* length on <var_rawargs:Array[RuntimeVariable]>*/;
7089 { /* Inline kernel#Int#+ (var_vararg_rank,var35) */
7090 var38
= var_vararg_rank
+ var35
;
7093 RET_LABEL37
:(void)0;
7096 { /* Inline kernel#Int#- (var36,var39) */
7097 var42
= var36
- var39
;
7100 RET_LABEL41
:(void)0;
7102 var43
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:MSignature>*/;
7103 { /* Inline kernel#Int#- (var40,var43) */
7104 var46
= var40
- var43
;
7107 RET_LABEL45
:(void)0;
7109 var_vararg_lastrank
= var44
;
7110 var47
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
7111 ((void (*)(val
*))(var47
->class->vft
[COLOR_array__Array__init
]))(var47
) /* init on <var47:Array[RuntimeVariable]>*/;
7112 CHECK_NEW_array__Array(var47
);
7114 var48
= NEW_range__Range(&type_range__Rangekernel__Int
);
7115 var49
= BOX_kernel__Int(var_vararg_rank
); /* autobox from Int to Discrete */
7116 var50
= BOX_kernel__Int(var_vararg_lastrank
); /* autobox from Int to Discrete */
7117 ((void (*)(val
*, val
*, val
*))(var48
->class->vft
[COLOR_range__Range__init
]))(var48
, var49
, var50
) /* init on <var48:Range[Int]>*/;
7118 CHECK_NEW_range__Range(var48
);
7119 var51
= ((val
* (*)(val
*))(var48
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var48
) /* iterator on <var48:Range[Int]>*/;
7121 var52
= ((short int (*)(val
*))(var51
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var51
) /* is_ok on <var51:Iterator[nullable Object]>*/;
7123 var53
= ((val
* (*)(val
*))(var51
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var51
) /* item on <var51:Iterator[nullable Object]>*/;
7124 var55
= ((struct instance_kernel__Int
*)var53
)->value
; /* autounbox from nullable Object to Int */;
7127 { /* Inline kernel#Int#+ (var_i54,var56) */
7128 var59
= var_i54
+ var56
;
7131 RET_LABEL58
:(void)0;
7133 var60
= ((val
* (*)(val
*, long))(var_rawargs
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_rawargs
, var57
) /* [] on <var_rawargs:Array[RuntimeVariable]>*/;
7134 ((void (*)(val
*, val
*))(var_vararg
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_vararg
, var60
) /* add on <var_vararg:Array[RuntimeVariable]>*/;
7135 CONTINUE_label61
: (void)0;
7136 ((void (*)(val
*))(var51
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var51
) /* next on <var51:Iterator[nullable Object]>*/;
7138 BREAK_label61
: (void)0;
7139 var62
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_msignature
) /* mparameters on <var_msignature:MSignature>*/;
7140 var63
= ((val
* (*)(val
*, long))(var62
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var62
, var_vararg_rank
) /* [] on <var62:Array[MParameter]>*/;
7141 var64
= ((val
* (*)(val
*))(var63
->class->vft
[COLOR_model__MParameter__mtype
]))(var63
) /* mtype on <var63:nullable Object(MParameter)>*/;
7142 var_elttype
= var64
;
7143 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>*/;
7144 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var65
) /* add on <var_args:Array[RuntimeVariable]>*/;
7145 var66
= NEW_range__Range(&type_range__Rangekernel__Int
);
7147 { /* Inline kernel#Int#+ (var_vararg_lastrank,var67) */
7148 var70
= var_vararg_lastrank
+ var67
;
7151 RET_LABEL69
:(void)0;
7153 var71
= ((long (*)(val
*))(var_rawargs
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_rawargs
) /* length on <var_rawargs:Array[RuntimeVariable]>*/;
7155 { /* Inline kernel#Int#- (var71,var72) */
7156 var75
= var71
- var72
;
7159 RET_LABEL74
:(void)0;
7161 var76
= BOX_kernel__Int(var68
); /* autobox from Int to Discrete */
7162 var77
= BOX_kernel__Int(var73
); /* autobox from Int to Discrete */
7163 ((void (*)(val
*, val
*, val
*))(var66
->class->vft
[COLOR_range__Range__without_last
]))(var66
, var76
, var77
) /* without_last on <var66:Range[Int]>*/;
7164 CHECK_NEW_range__Range(var66
);
7165 var78
= ((val
* (*)(val
*))(var66
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var66
) /* iterator on <var66:Range[Int]>*/;
7167 var79
= ((short int (*)(val
*))(var78
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var78
) /* is_ok on <var78:Iterator[nullable Object]>*/;
7169 var80
= ((val
* (*)(val
*))(var78
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var78
) /* item on <var78:Iterator[nullable Object]>*/;
7170 var82
= ((struct instance_kernel__Int
*)var80
)->value
; /* autounbox from nullable Object to Int */;
7173 { /* Inline kernel#Int#+ (var_i81,var83) */
7174 var86
= var_i81
+ var83
;
7177 RET_LABEL85
:(void)0;
7179 var87
= ((val
* (*)(val
*, long))(var_rawargs
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_rawargs
, var84
) /* [] on <var_rawargs:Array[RuntimeVariable]>*/;
7180 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var87
) /* add on <var_args:Array[RuntimeVariable]>*/;
7181 CONTINUE_label88
: (void)0;
7182 ((void (*)(val
*))(var78
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var78
) /* next on <var78:Iterator[nullable Object]>*/;
7184 BREAK_label88
: (void)0;
7185 ((void (*)(val
*))(var_rawargs
->class->vft
[COLOR_abstract_collection__RemovableCollection__clear
]))(var_rawargs
) /* clear on <var_rawargs:Array[RuntimeVariable]>*/;
7186 ((void (*)(val
*, val
*))(var_rawargs
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(var_rawargs
, var_args
) /* add_all on <var_rawargs:Array[RuntimeVariable]>*/;
7191 /* method abstract_compiler#AbstractCompilerVisitor#varargize for (self: Object, MPropDef, MSignature, Array[RuntimeVariable]) */
7192 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__varargize(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7193 abstract_compiler__AbstractCompilerVisitor__varargize(self
, p0
, p1
, p2
);
7196 /* method abstract_compiler#AbstractCompilerVisitor#anchor for (self: AbstractCompilerVisitor, MType): MType */
7197 val
* abstract_compiler__AbstractCompilerVisitor__anchor(val
* self
, val
* p0
) {
7198 val
* var
/* : MType */;
7199 val
* var_mtype
/* var mtype: MType */;
7200 short int var1
/* : Bool */;
7201 short int var2
/* : Bool */;
7202 val
* var3
/* : AbstractCompiler */;
7203 val
* var4
/* : MModule */;
7204 val
* var5
/* : nullable Frame */;
7205 val
* var6
/* : MClassType */;
7206 val
* var7
/* : MType */;
7208 var1
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
7215 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
7216 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var3
) /* mainmodule on <var3:AbstractCompiler>*/;
7217 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:AbstractCompilerVisitor>*/;
7219 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
7220 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 616);
7223 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_compiler__Frame__receiver
]))(var5
) /* receiver on <var5:nullable Frame>*/;
7225 var7
= ((val
* (*)(val
*, val
*, val
*))(var_mtype
->class->vft
[COLOR_model__MType__anchor_to
]))(var_mtype
, var4
, var6
) /* anchor_to on <var_mtype:MType>*/;
7231 /* method abstract_compiler#AbstractCompilerVisitor#anchor for (self: Object, MType): MType */
7232 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__anchor(val
* self
, val
* p0
) {
7233 val
* var
/* : MType */;
7234 val
* var1
/* : MType */;
7235 var1
= abstract_compiler__AbstractCompilerVisitor__anchor(self
, p0
);
7240 /* method abstract_compiler#AbstractCompilerVisitor#resolve_for for (self: AbstractCompilerVisitor, MType, RuntimeVariable): MType */
7241 val
* abstract_compiler__AbstractCompilerVisitor__resolve_for(val
* self
, val
* p0
, val
* p1
) {
7242 val
* var
/* : MType */;
7243 val
* var_mtype
/* var mtype: MType */;
7244 val
* var_recv
/* var recv: RuntimeVariable */;
7245 short int var1
/* : Bool */;
7246 short int var2
/* : Bool */;
7247 val
* var3
/* : MType */;
7248 val
* var4
/* : nullable Frame */;
7249 val
* var5
/* : MClassType */;
7250 val
* var6
/* : AbstractCompiler */;
7251 val
* var7
/* : MModule */;
7252 short int var8
/* : Bool */;
7253 val
* var9
/* : MType */;
7256 var1
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
7263 var3
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_recv
) /* mcasttype on <var_recv:RuntimeVariable>*/;
7264 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:AbstractCompilerVisitor>*/;
7266 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
7267 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 622);
7270 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_compiler__Frame__receiver
]))(var4
) /* receiver on <var4:nullable Frame>*/;
7272 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
7273 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var6
) /* mainmodule on <var6:AbstractCompiler>*/;
7275 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>*/;
7281 /* method abstract_compiler#AbstractCompilerVisitor#resolve_for for (self: Object, MType, RuntimeVariable): MType */
7282 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__resolve_for(val
* self
, val
* p0
, val
* p1
) {
7283 val
* var
/* : MType */;
7284 val
* var1
/* : MType */;
7285 var1
= abstract_compiler__AbstractCompilerVisitor__resolve_for(self
, p0
, p1
);
7290 /* method abstract_compiler#AbstractCompilerVisitor#autoadapt for (self: AbstractCompilerVisitor, RuntimeVariable, MType): RuntimeVariable */
7291 val
* abstract_compiler__AbstractCompilerVisitor__autoadapt(val
* self
, val
* p0
, val
* p1
) {
7292 val
* var
/* : RuntimeVariable */;
7293 val
* var_value
/* var value: RuntimeVariable */;
7294 val
* var_mtype
/* var mtype: MType */;
7295 val
* var1
/* : MType */;
7296 val
* var2
/* : MType */;
7297 val
* var_valmtype
/* var valmtype: MType */;
7298 val
* var3
/* : AbstractCompiler */;
7299 val
* var4
/* : MModule */;
7300 val
* var5
/* : null */;
7301 short int var6
/* : Bool */;
7302 short int var7
/* : Bool */;
7303 short int var8
/* : Bool */;
7306 short int var_
/* var : Bool */;
7307 val
* var9
/* : MType */;
7308 val
* var10
/* : AbstractCompiler */;
7309 val
* var11
/* : MModule */;
7310 val
* var12
/* : null */;
7311 short int var13
/* : Bool */;
7312 val
* var14
/* : RuntimeVariable */;
7313 val
* var15
/* : String */;
7314 val
* var16
/* : MType */;
7315 val
* var_res
/* var res: RuntimeVariable */;
7316 val
* var17
/* : RuntimeVariable */;
7317 val
* var18
/* : String */;
7318 val
* var_res19
/* var res: RuntimeVariable */;
7321 var1
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__anchor
]))(self
, var_mtype
) /* anchor on <self:AbstractCompilerVisitor>*/;
7323 var2
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_value
) /* mcasttype on <var_value:RuntimeVariable>*/;
7324 var_valmtype
= var2
;
7325 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
7326 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var3
) /* mainmodule on <var3:AbstractCompiler>*/;
7328 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>*/;
7334 /* <var_valmtype:MType> isa MNullableType */
7335 cltype
= type_model__MNullableType
.color
;
7336 idtype
= type_model__MNullableType
.id
;
7337 if(cltype
>= var_valmtype
->type
->table_size
) {
7340 var8
= var_valmtype
->type
->type_table
[cltype
] == idtype
;
7344 var9
= ((val
* (*)(val
*))(var_valmtype
->class->vft
[COLOR_model__MNullableType__mtype
]))(var_valmtype
) /* mtype on <var_valmtype:MType(MNullableType)>*/;
7345 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
7346 var11
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var10
) /* mainmodule on <var10:AbstractCompiler>*/;
7348 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>*/;
7354 var14
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
7355 var15
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__name
]))(var_value
) /* name on <var_value:RuntimeVariable>*/;
7356 var16
= ((val
* (*)(val
*))(var_valmtype
->class->vft
[COLOR_model__MNullableType__mtype
]))(var_valmtype
) /* mtype on <var_valmtype:MType(MNullableType)>*/;
7357 ((void (*)(val
*, val
*, val
*, val
*))(var14
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var14
, var15
, var_valmtype
, var16
) /* init on <var14:RuntimeVariable>*/;
7358 CHECK_NEW_abstract_compiler__RuntimeVariable(var14
);
7363 var17
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
7364 var18
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__name
]))(var_value
) /* name on <var_value:RuntimeVariable>*/;
7365 ((void (*)(val
*, val
*, val
*, val
*))(var17
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var17
, var18
, var_valmtype
, var_mtype
) /* init on <var17:RuntimeVariable>*/;
7366 CHECK_NEW_abstract_compiler__RuntimeVariable(var17
);
7374 /* method abstract_compiler#AbstractCompilerVisitor#autoadapt for (self: Object, RuntimeVariable, MType): RuntimeVariable */
7375 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__autoadapt(val
* self
, val
* p0
, val
* p1
) {
7376 val
* var
/* : RuntimeVariable */;
7377 val
* var1
/* : RuntimeVariable */;
7378 var1
= abstract_compiler__AbstractCompilerVisitor__autoadapt(self
, p0
, p1
);
7383 /* method abstract_compiler#AbstractCompilerVisitor#supercall for (self: AbstractCompilerVisitor, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
7384 val
* abstract_compiler__AbstractCompilerVisitor__supercall(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7385 val
* var
/* : nullable RuntimeVariable */;
7386 const char* var_class_name
;
7387 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
7388 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "supercall", var_class_name
);
7389 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 646);
7394 /* method abstract_compiler#AbstractCompilerVisitor#supercall for (self: Object, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
7395 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__supercall(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7396 val
* var
/* : nullable RuntimeVariable */;
7397 val
* var1
/* : nullable RuntimeVariable */;
7398 var1
= abstract_compiler__AbstractCompilerVisitor__supercall(self
, p0
, p1
, p2
);
7403 /* method abstract_compiler#AbstractCompilerVisitor#adapt_signature for (self: AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
7404 void abstract_compiler__AbstractCompilerVisitor__adapt_signature(val
* self
, val
* p0
, val
* p1
) {
7405 const char* var_class_name
;
7406 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
7407 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "adapt_signature", var_class_name
);
7408 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 649);
7412 /* method abstract_compiler#AbstractCompilerVisitor#adapt_signature for (self: Object, MMethodDef, Array[RuntimeVariable]) */
7413 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__adapt_signature(val
* self
, val
* p0
, val
* p1
) {
7414 abstract_compiler__AbstractCompilerVisitor__adapt_signature(self
, p0
, p1
);
7417 /* method abstract_compiler#AbstractCompilerVisitor#autobox for (self: AbstractCompilerVisitor, RuntimeVariable, MType): RuntimeVariable */
7418 val
* abstract_compiler__AbstractCompilerVisitor__autobox(val
* self
, val
* p0
, val
* p1
) {
7419 val
* var
/* : RuntimeVariable */;
7420 const char* var_class_name
;
7421 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
7422 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "autobox", var_class_name
);
7423 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 651);
7428 /* method abstract_compiler#AbstractCompilerVisitor#autobox for (self: Object, RuntimeVariable, MType): RuntimeVariable */
7429 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__autobox(val
* self
, val
* p0
, val
* p1
) {
7430 val
* var
/* : RuntimeVariable */;
7431 val
* var1
/* : RuntimeVariable */;
7432 var1
= abstract_compiler__AbstractCompilerVisitor__autobox(self
, p0
, p1
);
7437 /* method abstract_compiler#AbstractCompilerVisitor#type_test for (self: AbstractCompilerVisitor, RuntimeVariable, MType, String): RuntimeVariable */
7438 val
* abstract_compiler__AbstractCompilerVisitor__type_test(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7439 val
* var
/* : RuntimeVariable */;
7440 const char* var_class_name
;
7441 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
7442 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "type_test", var_class_name
);
7443 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 655);
7448 /* method abstract_compiler#AbstractCompilerVisitor#type_test for (self: Object, RuntimeVariable, MType, String): RuntimeVariable */
7449 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__type_test(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7450 val
* var
/* : RuntimeVariable */;
7451 val
* var1
/* : RuntimeVariable */;
7452 var1
= abstract_compiler__AbstractCompilerVisitor__type_test(self
, p0
, p1
, p2
);
7457 /* method abstract_compiler#AbstractCompilerVisitor#is_same_type_test for (self: AbstractCompilerVisitor, RuntimeVariable, RuntimeVariable): RuntimeVariable */
7458 val
* abstract_compiler__AbstractCompilerVisitor__is_same_type_test(val
* self
, val
* p0
, val
* p1
) {
7459 val
* var
/* : RuntimeVariable */;
7460 const char* var_class_name
;
7461 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
7462 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "is_same_type_test", var_class_name
);
7463 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 658);
7468 /* method abstract_compiler#AbstractCompilerVisitor#is_same_type_test for (self: Object, RuntimeVariable, RuntimeVariable): RuntimeVariable */
7469 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__is_same_type_test(val
* self
, val
* p0
, val
* p1
) {
7470 val
* var
/* : RuntimeVariable */;
7471 val
* var1
/* : RuntimeVariable */;
7472 var1
= abstract_compiler__AbstractCompilerVisitor__is_same_type_test(self
, p0
, p1
);
7477 /* method abstract_compiler#AbstractCompilerVisitor#equal_test for (self: AbstractCompilerVisitor, RuntimeVariable, RuntimeVariable): RuntimeVariable */
7478 val
* abstract_compiler__AbstractCompilerVisitor__equal_test(val
* self
, val
* p0
, val
* p1
) {
7479 val
* var
/* : RuntimeVariable */;
7480 const char* var_class_name
;
7481 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
7482 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "equal_test", var_class_name
);
7483 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 661);
7488 /* method abstract_compiler#AbstractCompilerVisitor#equal_test for (self: Object, RuntimeVariable, RuntimeVariable): RuntimeVariable */
7489 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__equal_test(val
* self
, val
* p0
, val
* p1
) {
7490 val
* var
/* : RuntimeVariable */;
7491 val
* var1
/* : RuntimeVariable */;
7492 var1
= abstract_compiler__AbstractCompilerVisitor__equal_test(self
, p0
, p1
);
7497 /* method abstract_compiler#AbstractCompilerVisitor#call for (self: AbstractCompilerVisitor, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
7498 val
* abstract_compiler__AbstractCompilerVisitor__call(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7499 val
* var
/* : nullable RuntimeVariable */;
7500 const char* var_class_name
;
7501 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
7502 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "call", var_class_name
);
7503 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 666);
7508 /* method abstract_compiler#AbstractCompilerVisitor#call for (self: Object, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
7509 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__call(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7510 val
* var
/* : nullable RuntimeVariable */;
7511 val
* var1
/* : nullable RuntimeVariable */;
7512 var1
= abstract_compiler__AbstractCompilerVisitor__call(self
, p0
, p1
, p2
);
7517 /* method abstract_compiler#AbstractCompilerVisitor#send for (self: AbstractCompilerVisitor, MMethod, Array[RuntimeVariable]): nullable RuntimeVariable */
7518 val
* abstract_compiler__AbstractCompilerVisitor__send(val
* self
, val
* p0
, val
* p1
) {
7519 val
* var
/* : nullable RuntimeVariable */;
7520 const char* var_class_name
;
7521 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
7522 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "send", var_class_name
);
7523 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 669);
7528 /* method abstract_compiler#AbstractCompilerVisitor#send for (self: Object, MMethod, Array[RuntimeVariable]): nullable RuntimeVariable */
7529 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__send(val
* self
, val
* p0
, val
* p1
) {
7530 val
* var
/* : nullable RuntimeVariable */;
7531 val
* var1
/* : nullable RuntimeVariable */;
7532 var1
= abstract_compiler__AbstractCompilerVisitor__send(self
, p0
, p1
);
7537 /* method abstract_compiler#AbstractCompilerVisitor#monomorphic_send for (self: AbstractCompilerVisitor, MMethod, MType, Array[RuntimeVariable]): nullable RuntimeVariable */
7538 val
* abstract_compiler__AbstractCompilerVisitor__monomorphic_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7539 val
* var
/* : nullable RuntimeVariable */;
7540 val
* var_m
/* var m: MMethod */;
7541 val
* var_t
/* var t: MType */;
7542 val
* var_args
/* var args: Array[RuntimeVariable] */;
7543 short int var1
/* : Bool */;
7546 val
* var2
/* : AbstractCompiler */;
7547 val
* var3
/* : MModule */;
7548 val
* var4
/* : MPropDef */;
7549 val
* var_propdef
/* var propdef: MMethodDef */;
7550 val
* var5
/* : nullable RuntimeVariable */;
7554 /* <var_t:MType> isa MClassType */
7555 cltype
= type_model__MClassType
.color
;
7556 idtype
= type_model__MClassType
.id
;
7557 if(cltype
>= var_t
->type
->table_size
) {
7560 var1
= var_t
->type
->type_table
[cltype
] == idtype
;
7563 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7564 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 675);
7567 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
7568 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var2
) /* mainmodule on <var2:AbstractCompiler>*/;
7569 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>*/;
7571 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>*/;
7577 /* method abstract_compiler#AbstractCompilerVisitor#monomorphic_send for (self: Object, MMethod, MType, Array[RuntimeVariable]): nullable RuntimeVariable */
7578 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__monomorphic_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7579 val
* var
/* : nullable RuntimeVariable */;
7580 val
* var1
/* : nullable RuntimeVariable */;
7581 var1
= abstract_compiler__AbstractCompilerVisitor__monomorphic_send(self
, p0
, p1
, p2
);
7586 /* method abstract_compiler#AbstractCompilerVisitor#isset_attribute for (self: AbstractCompilerVisitor, MAttribute, RuntimeVariable): RuntimeVariable */
7587 val
* abstract_compiler__AbstractCompilerVisitor__isset_attribute(val
* self
, val
* p0
, val
* p1
) {
7588 val
* var
/* : RuntimeVariable */;
7589 const char* var_class_name
;
7590 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
7591 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "isset_attribute", var_class_name
);
7592 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 682);
7597 /* method abstract_compiler#AbstractCompilerVisitor#isset_attribute for (self: Object, MAttribute, RuntimeVariable): RuntimeVariable */
7598 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__isset_attribute(val
* self
, val
* p0
, val
* p1
) {
7599 val
* var
/* : RuntimeVariable */;
7600 val
* var1
/* : RuntimeVariable */;
7601 var1
= abstract_compiler__AbstractCompilerVisitor__isset_attribute(self
, p0
, p1
);
7606 /* method abstract_compiler#AbstractCompilerVisitor#read_attribute for (self: AbstractCompilerVisitor, MAttribute, RuntimeVariable): RuntimeVariable */
7607 val
* abstract_compiler__AbstractCompilerVisitor__read_attribute(val
* self
, val
* p0
, val
* p1
) {
7608 val
* var
/* : RuntimeVariable */;
7609 const char* var_class_name
;
7610 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
7611 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "read_attribute", var_class_name
);
7612 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 685);
7617 /* method abstract_compiler#AbstractCompilerVisitor#read_attribute for (self: Object, MAttribute, RuntimeVariable): RuntimeVariable */
7618 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__read_attribute(val
* self
, val
* p0
, val
* p1
) {
7619 val
* var
/* : RuntimeVariable */;
7620 val
* var1
/* : RuntimeVariable */;
7621 var1
= abstract_compiler__AbstractCompilerVisitor__read_attribute(self
, p0
, p1
);
7626 /* method abstract_compiler#AbstractCompilerVisitor#write_attribute for (self: AbstractCompilerVisitor, MAttribute, RuntimeVariable, RuntimeVariable) */
7627 void abstract_compiler__AbstractCompilerVisitor__write_attribute(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7628 const char* var_class_name
;
7629 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
7630 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "write_attribute", var_class_name
);
7631 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 688);
7635 /* method abstract_compiler#AbstractCompilerVisitor#write_attribute for (self: Object, MAttribute, RuntimeVariable, RuntimeVariable) */
7636 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__write_attribute(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7637 abstract_compiler__AbstractCompilerVisitor__write_attribute(self
, p0
, p1
, p2
);
7640 /* method abstract_compiler#AbstractCompilerVisitor#check_recv_notnull for (self: AbstractCompilerVisitor, RuntimeVariable) */
7641 void abstract_compiler__AbstractCompilerVisitor__check_recv_notnull(val
* self
, val
* p0
) {
7642 val
* var_recv
/* var recv: RuntimeVariable */;
7643 val
* var
/* : AbstractCompiler */;
7644 val
* var1
/* : ModelBuilder */;
7645 val
* var2
/* : ToolContext */;
7646 val
* var3
/* : OptionBool */;
7647 val
* var4
/* : nullable Object */;
7648 short int var5
/* : Bool */;
7649 short int var6
/* : Bool */;
7650 val
* var7
/* : MType */;
7651 short int var8
/* : Bool */;
7654 short int var_
/* var : Bool */;
7655 val
* var9
/* : MType */;
7656 short int var10
/* : Bool */;
7659 short int var_maybenull
/* var maybenull: Bool */;
7660 static val
* varonce
;
7661 val
* var13
/* : String */;
7662 char* var14
/* : NativeString */;
7663 long var15
/* : Int */;
7664 val
* var16
/* : String */;
7665 static val
* varonce17
;
7666 val
* var18
/* : String */;
7667 char* var19
/* : NativeString */;
7668 long var20
/* : Int */;
7669 val
* var21
/* : String */;
7670 val
* var22
/* : Array[Object] */;
7671 long var23
/* : Int */;
7672 val
* var24
/* : NativeArray[Object] */;
7673 val
* var25
/* : String */;
7674 static val
* varonce26
;
7675 val
* var27
/* : String */;
7676 char* var28
/* : NativeString */;
7677 long var29
/* : Int */;
7678 val
* var30
/* : String */;
7679 static val
* varonce31
;
7680 val
* var32
/* : String */;
7681 char* var33
/* : NativeString */;
7682 long var34
/* : Int */;
7683 val
* var35
/* : String */;
7685 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
7686 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var
) /* modelbuilder on <var:AbstractCompiler>*/;
7687 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var1
) /* toolcontext on <var1:ModelBuilder>*/;
7688 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_other
]))(var2
) /* opt_no_check_other on <var2:ToolContext>*/;
7689 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_opts__Option__value
]))(var3
) /* value on <var3:OptionBool>*/;
7690 var5
= ((struct instance_kernel__Bool
*)var4
)->value
; /* autounbox from nullable Object to Bool */;
7695 var7
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_recv
) /* mcasttype on <var_recv:RuntimeVariable>*/;
7696 /* <var7:MType> isa MNullableType */
7697 cltype
= type_model__MNullableType
.color
;
7698 idtype
= type_model__MNullableType
.id
;
7699 if(cltype
>= var7
->type
->table_size
) {
7702 var8
= var7
->type
->type_table
[cltype
] == idtype
;
7708 var9
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_recv
) /* mcasttype on <var_recv:RuntimeVariable>*/;
7709 /* <var9:MType> isa MNullType */
7710 cltype11
= type_model__MNullType
.color
;
7711 idtype12
= type_model__MNullType
.id
;
7712 if(cltype11
>= var9
->type
->table_size
) {
7715 var10
= var9
->type
->type_table
[cltype11
] == idtype12
;
7719 var_maybenull
= var6
;
7726 var16
= string__NativeString__to_s_with_length(var14
, var15
);
7733 var19
= " == NULL) {";
7735 var21
= string__NativeString__to_s_with_length(var19
, var20
);
7739 var22
= NEW_array__Array(&type_array__Arraykernel__Object
);
7740 { /* var22 = array_instance Array[Object] */
7742 var24
= NEW_array__NativeArray(var23
, &type_array__NativeArraykernel__Object
);
7743 ((struct instance_array__NativeArray
*)var24
)->values
[0] = (val
*) var13
;
7744 ((struct instance_array__NativeArray
*)var24
)->values
[1] = (val
*) var_recv
;
7745 ((struct instance_array__NativeArray
*)var24
)->values
[2] = (val
*) var18
;
7746 ((void (*)(val
*, val
*, long))(var22
->class->vft
[COLOR_array__Array__with_native
]))(var22
, var24
, var23
) /* with_native on <var22:Array[Object]>*/;
7747 CHECK_NEW_array__Array(var22
);
7749 var25
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_string__Object__to_s
]))(var22
) /* to_s on <var22:Array[Object]>*/;
7750 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var25
) /* add on <self:AbstractCompilerVisitor>*/;
7754 var28
= "Reciever is null";
7756 var30
= string__NativeString__to_s_with_length(var28
, var29
);
7760 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort
]))(self
, var27
) /* add_abort on <self:AbstractCompilerVisitor>*/;
7766 var35
= string__NativeString__to_s_with_length(var33
, var34
);
7770 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var32
) /* add on <self:AbstractCompilerVisitor>*/;
7775 /* method abstract_compiler#AbstractCompilerVisitor#check_recv_notnull for (self: Object, RuntimeVariable) */
7776 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__check_recv_notnull(val
* self
, val
* p0
) {
7777 abstract_compiler__AbstractCompilerVisitor__check_recv_notnull(self
, p0
);
7780 /* method abstract_compiler#AbstractCompilerVisitor#check_init_instance for (self: AbstractCompilerVisitor, RuntimeVariable, MClassType) */
7781 void abstract_compiler__AbstractCompilerVisitor__check_init_instance(val
* self
, val
* p0
, val
* p1
) {
7782 const char* var_class_name
;
7783 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
7784 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "check_init_instance", var_class_name
);
7785 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 706);
7789 /* method abstract_compiler#AbstractCompilerVisitor#check_init_instance for (self: Object, RuntimeVariable, MClassType) */
7790 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__check_init_instance(val
* self
, val
* p0
, val
* p1
) {
7791 abstract_compiler__AbstractCompilerVisitor__check_init_instance(self
, p0
, p1
);
7794 /* method abstract_compiler#AbstractCompilerVisitor#names for (self: AbstractCompilerVisitor): HashSet[String] */
7795 val
* abstract_compiler__AbstractCompilerVisitor__names(val
* self
) {
7796 val
* var
/* : HashSet[String] */;
7797 val
* var1
/* : HashSet[String] */;
7798 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dnames
].val
; /* @names on <self:AbstractCompilerVisitor> */
7800 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @names");
7801 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 711);
7808 /* method abstract_compiler#AbstractCompilerVisitor#names for (self: Object): HashSet[String] */
7809 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__names(val
* self
) {
7810 val
* var
/* : HashSet[String] */;
7811 val
* var1
/* : HashSet[String] */;
7812 var1
= abstract_compiler__AbstractCompilerVisitor__names(self
);
7817 /* method abstract_compiler#AbstractCompilerVisitor#names= for (self: AbstractCompilerVisitor, HashSet[String]) */
7818 void abstract_compiler__AbstractCompilerVisitor__names_61d(val
* self
, val
* p0
) {
7819 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dnames
].val
= p0
; /* @names on <self:AbstractCompilerVisitor> */
7822 /* method abstract_compiler#AbstractCompilerVisitor#names= for (self: Object, HashSet[String]) */
7823 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__names_61d(val
* self
, val
* p0
) {
7824 abstract_compiler__AbstractCompilerVisitor__names_61d(self
, p0
);
7827 /* method abstract_compiler#AbstractCompilerVisitor#last for (self: AbstractCompilerVisitor): Int */
7828 long abstract_compiler__AbstractCompilerVisitor__last(val
* self
) {
7829 long var
/* : Int */;
7830 long var1
/* : Int */;
7831 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dlast
].l
; /* @last on <self:AbstractCompilerVisitor> */
7836 /* method abstract_compiler#AbstractCompilerVisitor#last for (self: Object): Int */
7837 long VIRTUAL_abstract_compiler__AbstractCompilerVisitor__last(val
* self
) {
7838 long var
/* : Int */;
7839 long var1
/* : Int */;
7840 var1
= abstract_compiler__AbstractCompilerVisitor__last(self
);
7845 /* method abstract_compiler#AbstractCompilerVisitor#last= for (self: AbstractCompilerVisitor, Int) */
7846 void abstract_compiler__AbstractCompilerVisitor__last_61d(val
* self
, long p0
) {
7847 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dlast
].l
= p0
; /* @last on <self:AbstractCompilerVisitor> */
7850 /* method abstract_compiler#AbstractCompilerVisitor#last= for (self: Object, Int) */
7851 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__last_61d(val
* self
, long p0
) {
7852 abstract_compiler__AbstractCompilerVisitor__last_61d(self
, p0
);
7855 /* method abstract_compiler#AbstractCompilerVisitor#get_name for (self: AbstractCompilerVisitor, String): String */
7856 val
* abstract_compiler__AbstractCompilerVisitor__get_name(val
* self
, val
* p0
) {
7857 val
* var
/* : String */;
7858 val
* var_s
/* var s: String */;
7859 val
* var1
/* : HashSet[String] */;
7860 short int var2
/* : Bool */;
7861 short int var3
/* : Bool */;
7862 val
* var4
/* : HashSet[String] */;
7863 long var5
/* : Int */;
7864 long var6
/* : Int */;
7865 long var7
/* : Int */;
7866 long var9
/* : Int */;
7867 long var_i
/* var i: Int */;
7868 val
* var10
/* : String */;
7869 val
* var11
/* : String */;
7870 val
* var_s2
/* var s2: String */;
7871 val
* var12
/* : HashSet[String] */;
7872 short int var13
/* : Bool */;
7873 short int var14
/* : Bool */;
7874 val
* var15
/* : HashSet[String] */;
7875 long var16
/* : Int */;
7876 long var17
/* : Int */;
7877 long var19
/* : Int */;
7879 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__names
]))(self
) /* names on <self:AbstractCompilerVisitor>*/;
7880 var2
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var1
, var_s
) /* has on <var1:HashSet[String]>*/;
7883 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__names
]))(self
) /* names on <self:AbstractCompilerVisitor>*/;
7884 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var4
, var_s
) /* add on <var4:HashSet[String]>*/;
7889 var5
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__last
]))(self
) /* last on <self:AbstractCompilerVisitor>*/;
7891 { /* Inline kernel#Int#+ (var5,var6) */
7899 var10
= string__Int__to_s(var_i
);
7900 var11
= ((val
* (*)(val
*, val
*))(var_s
->class->vft
[COLOR_string__String___43d
]))(var_s
, var10
) /* + on <var_s:String>*/;
7902 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__names
]))(self
) /* names on <self:AbstractCompilerVisitor>*/;
7903 var13
= ((short int (*)(val
*, val
*))(var12
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var12
, var_s2
) /* has on <var12:HashSet[String]>*/;
7906 ((void (*)(val
*, long))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__last_61d
]))(self
, var_i
) /* last= on <self:AbstractCompilerVisitor>*/;
7907 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__names
]))(self
) /* names on <self:AbstractCompilerVisitor>*/;
7908 ((void (*)(val
*, val
*))(var15
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var15
, var_s2
) /* add on <var15:HashSet[String]>*/;
7914 { /* Inline kernel#Int#+ (var_i,var16) */
7915 var19
= var_i
+ var16
;
7918 RET_LABEL18
:(void)0;
7921 CONTINUE_label
: (void)0;
7923 BREAK_label
: (void)0;
7927 /* method abstract_compiler#AbstractCompilerVisitor#get_name for (self: Object, String): String */
7928 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__get_name(val
* self
, val
* p0
) {
7929 val
* var
/* : String */;
7930 val
* var1
/* : String */;
7931 var1
= abstract_compiler__AbstractCompilerVisitor__get_name(self
, p0
);
7936 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_name for (self: AbstractCompilerVisitor, nullable EscapeMark): String */
7937 val
* abstract_compiler__AbstractCompilerVisitor__escapemark_name(val
* self
, val
* p0
) {
7938 val
* var
/* : String */;
7939 val
* var_e
/* var e: nullable EscapeMark */;
7940 val
* var1
/* : null */;
7941 short int var2
/* : Bool */;
7942 val
* var3
/* : HashMap[EscapeMark, String] */;
7943 short int var4
/* : Bool */;
7944 val
* var5
/* : HashMap[EscapeMark, String] */;
7945 val
* var6
/* : nullable Object */;
7946 val
* var7
/* : nullable String */;
7947 val
* var_name
/* var name: nullable String */;
7948 val
* var8
/* : null */;
7949 short int var9
/* : Bool */;
7950 static val
* varonce
;
7951 val
* var10
/* : String */;
7952 char* var11
/* : NativeString */;
7953 long var12
/* : Int */;
7954 val
* var13
/* : String */;
7955 val
* var14
/* : String */;
7956 val
* var15
/* : HashMap[EscapeMark, String] */;
7959 if (var_e
== NULL
) {
7960 var2
= 0; /* is null */
7962 var2
= 1; /* arg is null and recv is not */
7965 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7966 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 736);
7969 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_names
]))(self
) /* escapemark_names on <self:AbstractCompilerVisitor>*/;
7970 var4
= ((short int (*)(val
*, val
*))(var3
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var3
, var_e
) /* has_key on <var3:HashMap[EscapeMark, String]>*/;
7972 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_names
]))(self
) /* escapemark_names on <self:AbstractCompilerVisitor>*/;
7973 var6
= ((val
* (*)(val
*, val
*))(var5
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var5
, var_e
) /* [] on <var5:HashMap[EscapeMark, String]>*/;
7978 var7
= ((val
* (*)(val
*))(var_e
->class->vft
[COLOR_scope__EscapeMark__name
]))(var_e
) /* name on <var_e:nullable EscapeMark(EscapeMark)>*/;
7981 if (var_name
== NULL
) {
7982 var9
= 1; /* is null */
7984 var9
= 0; /* arg is null but recv is not */
7992 var13
= string__NativeString__to_s_with_length(var11
, var12
);
7999 var14
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var_name
) /* get_name on <self:AbstractCompilerVisitor>*/;
8001 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_names
]))(self
) /* escapemark_names on <self:AbstractCompilerVisitor>*/;
8002 ((void (*)(val
*, val
*, val
*))(var15
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var15
, var_e
, var_name
) /* []= on <var15:HashMap[EscapeMark, String]>*/;
8008 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_name for (self: Object, nullable EscapeMark): String */
8009 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__escapemark_name(val
* self
, val
* p0
) {
8010 val
* var
/* : String */;
8011 val
* var1
/* : String */;
8012 var1
= abstract_compiler__AbstractCompilerVisitor__escapemark_name(self
, p0
);
8017 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_names for (self: AbstractCompilerVisitor): HashMap[EscapeMark, String] */
8018 val
* abstract_compiler__AbstractCompilerVisitor__escapemark_names(val
* self
) {
8019 val
* var
/* : HashMap[EscapeMark, String] */;
8020 val
* var1
/* : HashMap[EscapeMark, String] */;
8021 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64descapemark_names
].val
; /* @escapemark_names on <self:AbstractCompilerVisitor> */
8023 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @escapemark_names");
8024 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 745);
8031 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_names for (self: Object): HashMap[EscapeMark, String] */
8032 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__escapemark_names(val
* self
) {
8033 val
* var
/* : HashMap[EscapeMark, String] */;
8034 val
* var1
/* : HashMap[EscapeMark, String] */;
8035 var1
= abstract_compiler__AbstractCompilerVisitor__escapemark_names(self
);
8040 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_names= for (self: AbstractCompilerVisitor, HashMap[EscapeMark, String]) */
8041 void abstract_compiler__AbstractCompilerVisitor__escapemark_names_61d(val
* self
, val
* p0
) {
8042 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64descapemark_names
].val
= p0
; /* @escapemark_names on <self:AbstractCompilerVisitor> */
8045 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_names= for (self: Object, HashMap[EscapeMark, String]) */
8046 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__escapemark_names_61d(val
* self
, val
* p0
) {
8047 abstract_compiler__AbstractCompilerVisitor__escapemark_names_61d(self
, p0
);
8050 /* method abstract_compiler#AbstractCompilerVisitor#class_name_string for (self: AbstractCompilerVisitor, RuntimeVariable): String */
8051 val
* abstract_compiler__AbstractCompilerVisitor__class_name_string(val
* self
, val
* p0
) {
8052 val
* var
/* : String */;
8053 const char* var_class_name
;
8054 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
8055 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "class_name_string", var_class_name
);
8056 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 747);
8061 /* method abstract_compiler#AbstractCompilerVisitor#class_name_string for (self: Object, RuntimeVariable): String */
8062 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__class_name_string(val
* self
, val
* p0
) {
8063 val
* var
/* : String */;
8064 val
* var1
/* : String */;
8065 var1
= abstract_compiler__AbstractCompilerVisitor__class_name_string(self
, p0
);
8070 /* method abstract_compiler#AbstractCompilerVisitor#variables for (self: AbstractCompilerVisitor): HashMap[Variable, RuntimeVariable] */
8071 val
* abstract_compiler__AbstractCompilerVisitor__variables(val
* self
) {
8072 val
* var
/* : HashMap[Variable, RuntimeVariable] */;
8073 val
* var1
/* : HashMap[Variable, RuntimeVariable] */;
8074 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dvariables
].val
; /* @variables on <self:AbstractCompilerVisitor> */
8076 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @variables");
8077 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 753);
8084 /* method abstract_compiler#AbstractCompilerVisitor#variables for (self: Object): HashMap[Variable, RuntimeVariable] */
8085 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__variables(val
* self
) {
8086 val
* var
/* : HashMap[Variable, RuntimeVariable] */;
8087 val
* var1
/* : HashMap[Variable, RuntimeVariable] */;
8088 var1
= abstract_compiler__AbstractCompilerVisitor__variables(self
);
8093 /* method abstract_compiler#AbstractCompilerVisitor#variables= for (self: AbstractCompilerVisitor, HashMap[Variable, RuntimeVariable]) */
8094 void abstract_compiler__AbstractCompilerVisitor__variables_61d(val
* self
, val
* p0
) {
8095 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dvariables
].val
= p0
; /* @variables on <self:AbstractCompilerVisitor> */
8098 /* method abstract_compiler#AbstractCompilerVisitor#variables= for (self: Object, HashMap[Variable, RuntimeVariable]) */
8099 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__variables_61d(val
* self
, val
* p0
) {
8100 abstract_compiler__AbstractCompilerVisitor__variables_61d(self
, p0
);
8103 /* method abstract_compiler#AbstractCompilerVisitor#variable for (self: AbstractCompilerVisitor, Variable): RuntimeVariable */
8104 val
* abstract_compiler__AbstractCompilerVisitor__variable(val
* self
, val
* p0
) {
8105 val
* var
/* : RuntimeVariable */;
8106 val
* var_variable
/* var variable: Variable */;
8107 val
* var1
/* : HashMap[Variable, RuntimeVariable] */;
8108 short int var2
/* : Bool */;
8109 val
* var3
/* : HashMap[Variable, RuntimeVariable] */;
8110 val
* var4
/* : nullable Object */;
8111 static val
* varonce
;
8112 val
* var5
/* : String */;
8113 char* var6
/* : NativeString */;
8114 long var7
/* : Int */;
8115 val
* var8
/* : String */;
8116 val
* var9
/* : String */;
8117 val
* var10
/* : Array[Object] */;
8118 long var11
/* : Int */;
8119 val
* var12
/* : NativeArray[Object] */;
8120 val
* var13
/* : String */;
8121 val
* var14
/* : String */;
8122 val
* var_name
/* var name: String */;
8123 val
* var15
/* : nullable MType */;
8124 val
* var_mtype
/* var mtype: MType */;
8125 val
* var16
/* : MType */;
8126 val
* var17
/* : RuntimeVariable */;
8127 val
* var_res
/* var res: RuntimeVariable */;
8128 val
* var18
/* : String */;
8129 static val
* varonce19
;
8130 val
* var20
/* : String */;
8131 char* var21
/* : NativeString */;
8132 long var22
/* : Int */;
8133 val
* var23
/* : String */;
8134 static val
* varonce24
;
8135 val
* var25
/* : String */;
8136 char* var26
/* : NativeString */;
8137 long var27
/* : Int */;
8138 val
* var28
/* : String */;
8139 static val
* varonce29
;
8140 val
* var30
/* : String */;
8141 char* var31
/* : NativeString */;
8142 long var32
/* : Int */;
8143 val
* var33
/* : String */;
8144 static val
* varonce34
;
8145 val
* var35
/* : String */;
8146 char* var36
/* : NativeString */;
8147 long var37
/* : Int */;
8148 val
* var38
/* : String */;
8149 val
* var39
/* : Array[Object] */;
8150 long var40
/* : Int */;
8151 val
* var41
/* : NativeArray[Object] */;
8152 val
* var42
/* : String */;
8153 val
* var43
/* : HashMap[Variable, RuntimeVariable] */;
8155 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variables
]))(self
) /* variables on <self:AbstractCompilerVisitor>*/;
8156 var2
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var1
, var_variable
) /* has_key on <var1:HashMap[Variable, RuntimeVariable]>*/;
8158 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variables
]))(self
) /* variables on <self:AbstractCompilerVisitor>*/;
8159 var4
= ((val
* (*)(val
*, val
*))(var3
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var3
, var_variable
) /* [] on <var3:HashMap[Variable, RuntimeVariable]>*/;
8168 var8
= string__NativeString__to_s_with_length(var6
, var7
);
8172 var9
= ((val
* (*)(val
*))(var_variable
->class->vft
[COLOR_scope__Variable__name
]))(var_variable
) /* name on <var_variable:Variable>*/;
8173 var10
= NEW_array__Array(&type_array__Arraykernel__Object
);
8174 { /* var10 = array_instance Array[Object] */
8176 var12
= NEW_array__NativeArray(var11
, &type_array__NativeArraykernel__Object
);
8177 ((struct instance_array__NativeArray
*)var12
)->values
[0] = (val
*) var5
;
8178 ((struct instance_array__NativeArray
*)var12
)->values
[1] = (val
*) var9
;
8179 ((void (*)(val
*, val
*, long))(var10
->class->vft
[COLOR_array__Array__with_native
]))(var10
, var12
, var11
) /* with_native on <var10:Array[Object]>*/;
8180 CHECK_NEW_array__Array(var10
);
8182 var13
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_string__Object__to_s
]))(var10
) /* to_s on <var10:Array[Object]>*/;
8183 var14
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var13
) /* get_name on <self:AbstractCompilerVisitor>*/;
8185 var15
= ((val
* (*)(val
*))(var_variable
->class->vft
[COLOR_typing__Variable__declared_type
]))(var_variable
) /* declared_type on <var_variable:Variable>*/;
8186 if (var15
== NULL
) {
8187 fprintf(stderr
, "Runtime error: %s", "Cast failed");
8188 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 762);
8192 var16
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__anchor
]))(self
, var_mtype
) /* anchor on <self:AbstractCompilerVisitor>*/;
8194 var17
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
8195 ((void (*)(val
*, val
*, val
*, val
*))(var17
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var17
, var_name
, var_mtype
, var_mtype
) /* init on <var17:RuntimeVariable>*/;
8196 CHECK_NEW_abstract_compiler__RuntimeVariable(var17
);
8198 var18
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
8204 var23
= string__NativeString__to_s_with_length(var21
, var22
);
8213 var28
= string__NativeString__to_s_with_length(var26
, var27
);
8222 var33
= string__NativeString__to_s_with_length(var31
, var32
);
8231 var38
= string__NativeString__to_s_with_length(var36
, var37
);
8235 var39
= NEW_array__Array(&type_array__Arraykernel__Object
);
8236 { /* var39 = array_instance Array[Object] */
8238 var41
= NEW_array__NativeArray(var40
, &type_array__NativeArraykernel__Object
);
8239 ((struct instance_array__NativeArray
*)var41
)->values
[0] = (val
*) var18
;
8240 ((struct instance_array__NativeArray
*)var41
)->values
[1] = (val
*) var20
;
8241 ((struct instance_array__NativeArray
*)var41
)->values
[2] = (val
*) var_name
;
8242 ((struct instance_array__NativeArray
*)var41
)->values
[3] = (val
*) var25
;
8243 ((struct instance_array__NativeArray
*)var41
)->values
[4] = (val
*) var_variable
;
8244 ((struct instance_array__NativeArray
*)var41
)->values
[5] = (val
*) var30
;
8245 ((struct instance_array__NativeArray
*)var41
)->values
[6] = (val
*) var_mtype
;
8246 ((struct instance_array__NativeArray
*)var41
)->values
[7] = (val
*) var35
;
8247 ((void (*)(val
*, val
*, long))(var39
->class->vft
[COLOR_array__Array__with_native
]))(var39
, var41
, var40
) /* with_native on <var39:Array[Object]>*/;
8248 CHECK_NEW_array__Array(var39
);
8250 var42
= ((val
* (*)(val
*))(var39
->class->vft
[COLOR_string__Object__to_s
]))(var39
) /* to_s on <var39:Array[Object]>*/;
8251 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var42
) /* add_decl on <self:AbstractCompilerVisitor>*/;
8252 var43
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variables
]))(self
) /* variables on <self:AbstractCompilerVisitor>*/;
8253 ((void (*)(val
*, val
*, val
*))(var43
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var43
, var_variable
, var_res
) /* []= on <var43:HashMap[Variable, RuntimeVariable]>*/;
8260 /* method abstract_compiler#AbstractCompilerVisitor#variable for (self: Object, Variable): RuntimeVariable */
8261 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__variable(val
* self
, val
* p0
) {
8262 val
* var
/* : RuntimeVariable */;
8263 val
* var1
/* : RuntimeVariable */;
8264 var1
= abstract_compiler__AbstractCompilerVisitor__variable(self
, p0
);
8269 /* method abstract_compiler#AbstractCompilerVisitor#new_var for (self: AbstractCompilerVisitor, MType): RuntimeVariable */
8270 val
* abstract_compiler__AbstractCompilerVisitor__new_var(val
* self
, val
* p0
) {
8271 val
* var
/* : RuntimeVariable */;
8272 val
* var_mtype
/* var mtype: MType */;
8273 val
* var1
/* : MType */;
8274 static val
* varonce
;
8275 val
* var2
/* : String */;
8276 char* var3
/* : NativeString */;
8277 long var4
/* : Int */;
8278 val
* var5
/* : String */;
8279 val
* var6
/* : String */;
8280 val
* var_name
/* var name: String */;
8281 val
* var7
/* : RuntimeVariable */;
8282 val
* var_res
/* var res: RuntimeVariable */;
8283 val
* var8
/* : String */;
8284 static val
* varonce9
;
8285 val
* var10
/* : String */;
8286 char* var11
/* : NativeString */;
8287 long var12
/* : Int */;
8288 val
* var13
/* : String */;
8289 static val
* varonce14
;
8290 val
* var15
/* : String */;
8291 char* var16
/* : NativeString */;
8292 long var17
/* : Int */;
8293 val
* var18
/* : String */;
8294 static val
* varonce19
;
8295 val
* var20
/* : String */;
8296 char* var21
/* : NativeString */;
8297 long var22
/* : Int */;
8298 val
* var23
/* : String */;
8299 val
* var24
/* : Array[Object] */;
8300 long var25
/* : Int */;
8301 val
* var26
/* : NativeArray[Object] */;
8302 val
* var27
/* : String */;
8304 var1
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__anchor
]))(self
, var_mtype
) /* anchor on <self:AbstractCompilerVisitor>*/;
8311 var5
= string__NativeString__to_s_with_length(var3
, var4
);
8315 var6
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var2
) /* get_name on <self:AbstractCompilerVisitor>*/;
8317 var7
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
8318 ((void (*)(val
*, val
*, val
*, val
*))(var7
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var7
, var_name
, var_mtype
, var_mtype
) /* init on <var7:RuntimeVariable>*/;
8319 CHECK_NEW_abstract_compiler__RuntimeVariable(var7
);
8321 var8
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
8327 var13
= string__NativeString__to_s_with_length(var11
, var12
);
8336 var18
= string__NativeString__to_s_with_length(var16
, var17
);
8345 var23
= string__NativeString__to_s_with_length(var21
, var22
);
8349 var24
= NEW_array__Array(&type_array__Arraykernel__Object
);
8350 { /* var24 = array_instance Array[Object] */
8352 var26
= NEW_array__NativeArray(var25
, &type_array__NativeArraykernel__Object
);
8353 ((struct instance_array__NativeArray
*)var26
)->values
[0] = (val
*) var8
;
8354 ((struct instance_array__NativeArray
*)var26
)->values
[1] = (val
*) var10
;
8355 ((struct instance_array__NativeArray
*)var26
)->values
[2] = (val
*) var_name
;
8356 ((struct instance_array__NativeArray
*)var26
)->values
[3] = (val
*) var15
;
8357 ((struct instance_array__NativeArray
*)var26
)->values
[4] = (val
*) var_mtype
;
8358 ((struct instance_array__NativeArray
*)var26
)->values
[5] = (val
*) var20
;
8359 ((void (*)(val
*, val
*, long))(var24
->class->vft
[COLOR_array__Array__with_native
]))(var24
, var26
, var25
) /* with_native on <var24:Array[Object]>*/;
8360 CHECK_NEW_array__Array(var24
);
8362 var27
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_string__Object__to_s
]))(var24
) /* to_s on <var24:Array[Object]>*/;
8363 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var27
) /* add_decl on <self:AbstractCompilerVisitor>*/;
8369 /* method abstract_compiler#AbstractCompilerVisitor#new_var for (self: Object, MType): RuntimeVariable */
8370 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__new_var(val
* self
, val
* p0
) {
8371 val
* var
/* : RuntimeVariable */;
8372 val
* var1
/* : RuntimeVariable */;
8373 var1
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, p0
);
8378 /* method abstract_compiler#AbstractCompilerVisitor#new_named_var for (self: AbstractCompilerVisitor, MType, String): RuntimeVariable */
8379 val
* abstract_compiler__AbstractCompilerVisitor__new_named_var(val
* self
, val
* p0
, val
* p1
) {
8380 val
* var
/* : RuntimeVariable */;
8381 val
* var_mtype
/* var mtype: MType */;
8382 val
* var_name
/* var name: String */;
8383 val
* var1
/* : MType */;
8384 val
* var2
/* : RuntimeVariable */;
8385 val
* var_res
/* var res: RuntimeVariable */;
8386 val
* var3
/* : String */;
8387 static val
* varonce
;
8388 val
* var4
/* : String */;
8389 char* var5
/* : NativeString */;
8390 long var6
/* : Int */;
8391 val
* var7
/* : String */;
8392 static val
* varonce8
;
8393 val
* var9
/* : String */;
8394 char* var10
/* : NativeString */;
8395 long var11
/* : Int */;
8396 val
* var12
/* : String */;
8397 static val
* varonce13
;
8398 val
* var14
/* : String */;
8399 char* var15
/* : NativeString */;
8400 long var16
/* : Int */;
8401 val
* var17
/* : String */;
8402 val
* var18
/* : Array[Object] */;
8403 long var19
/* : Int */;
8404 val
* var20
/* : NativeArray[Object] */;
8405 val
* var21
/* : String */;
8408 var1
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__anchor
]))(self
, var_mtype
) /* anchor on <self:AbstractCompilerVisitor>*/;
8410 var2
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
8411 ((void (*)(val
*, val
*, val
*, val
*))(var2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var2
, var_name
, var_mtype
, var_mtype
) /* init on <var2:RuntimeVariable>*/;
8412 CHECK_NEW_abstract_compiler__RuntimeVariable(var2
);
8414 var3
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
8420 var7
= string__NativeString__to_s_with_length(var5
, var6
);
8429 var12
= string__NativeString__to_s_with_length(var10
, var11
);
8438 var17
= string__NativeString__to_s_with_length(var15
, var16
);
8442 var18
= NEW_array__Array(&type_array__Arraykernel__Object
);
8443 { /* var18 = array_instance Array[Object] */
8445 var20
= NEW_array__NativeArray(var19
, &type_array__NativeArraykernel__Object
);
8446 ((struct instance_array__NativeArray
*)var20
)->values
[0] = (val
*) var3
;
8447 ((struct instance_array__NativeArray
*)var20
)->values
[1] = (val
*) var4
;
8448 ((struct instance_array__NativeArray
*)var20
)->values
[2] = (val
*) var_name
;
8449 ((struct instance_array__NativeArray
*)var20
)->values
[3] = (val
*) var9
;
8450 ((struct instance_array__NativeArray
*)var20
)->values
[4] = (val
*) var_mtype
;
8451 ((struct instance_array__NativeArray
*)var20
)->values
[5] = (val
*) var14
;
8452 ((void (*)(val
*, val
*, long))(var18
->class->vft
[COLOR_array__Array__with_native
]))(var18
, var20
, var19
) /* with_native on <var18:Array[Object]>*/;
8453 CHECK_NEW_array__Array(var18
);
8455 var21
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_string__Object__to_s
]))(var18
) /* to_s on <var18:Array[Object]>*/;
8456 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var21
) /* add_decl on <self:AbstractCompilerVisitor>*/;
8462 /* method abstract_compiler#AbstractCompilerVisitor#new_named_var for (self: Object, MType, String): RuntimeVariable */
8463 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__new_named_var(val
* self
, val
* p0
, val
* p1
) {
8464 val
* var
/* : RuntimeVariable */;
8465 val
* var1
/* : RuntimeVariable */;
8466 var1
= abstract_compiler__AbstractCompilerVisitor__new_named_var(self
, p0
, p1
);
8471 /* method abstract_compiler#AbstractCompilerVisitor#assign for (self: AbstractCompilerVisitor, RuntimeVariable, RuntimeVariable) */
8472 void abstract_compiler__AbstractCompilerVisitor__assign(val
* self
, val
* p0
, val
* p1
) {
8473 val
* var_left
/* var left: RuntimeVariable */;
8474 val
* var_right
/* var right: RuntimeVariable */;
8475 val
* var
/* : MType */;
8476 val
* var1
/* : RuntimeVariable */;
8477 static val
* varonce
;
8478 val
* var2
/* : String */;
8479 char* var3
/* : NativeString */;
8480 long var4
/* : Int */;
8481 val
* var5
/* : String */;
8482 static val
* varonce6
;
8483 val
* var7
/* : String */;
8484 char* var8
/* : NativeString */;
8485 long var9
/* : Int */;
8486 val
* var10
/* : String */;
8487 val
* var11
/* : Array[Object] */;
8488 long var12
/* : Int */;
8489 val
* var13
/* : NativeArray[Object] */;
8490 val
* var14
/* : String */;
8493 var
= ((val
* (*)(val
*))(var_left
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_left
) /* mtype on <var_left:RuntimeVariable>*/;
8494 var1
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var_right
, var
) /* autobox on <self:AbstractCompilerVisitor>*/;
8501 var5
= string__NativeString__to_s_with_length(var3
, var4
);
8510 var10
= string__NativeString__to_s_with_length(var8
, var9
);
8514 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
8515 { /* var11 = array_instance Array[Object] */
8517 var13
= NEW_array__NativeArray(var12
, &type_array__NativeArraykernel__Object
);
8518 ((struct instance_array__NativeArray
*)var13
)->values
[0] = (val
*) var_left
;
8519 ((struct instance_array__NativeArray
*)var13
)->values
[1] = (val
*) var2
;
8520 ((struct instance_array__NativeArray
*)var13
)->values
[2] = (val
*) var_right
;
8521 ((struct instance_array__NativeArray
*)var13
)->values
[3] = (val
*) var7
;
8522 ((void (*)(val
*, val
*, long))(var11
->class->vft
[COLOR_array__Array__with_native
]))(var11
, var13
, var12
) /* with_native on <var11:Array[Object]>*/;
8523 CHECK_NEW_array__Array(var11
);
8525 var14
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_string__Object__to_s
]))(var11
) /* to_s on <var11:Array[Object]>*/;
8526 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var14
) /* add on <self:AbstractCompilerVisitor>*/;
8529 /* method abstract_compiler#AbstractCompilerVisitor#assign for (self: Object, RuntimeVariable, RuntimeVariable) */
8530 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__assign(val
* self
, val
* p0
, val
* p1
) {
8531 abstract_compiler__AbstractCompilerVisitor__assign(self
, p0
, p1
);
8534 /* method abstract_compiler#AbstractCompilerVisitor#init_instance for (self: AbstractCompilerVisitor, MClassType): RuntimeVariable */
8535 val
* abstract_compiler__AbstractCompilerVisitor__init_instance(val
* self
, val
* p0
) {
8536 val
* var
/* : RuntimeVariable */;
8537 const char* var_class_name
;
8538 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
8539 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "init_instance", var_class_name
);
8540 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 800);
8545 /* method abstract_compiler#AbstractCompilerVisitor#init_instance for (self: Object, MClassType): RuntimeVariable */
8546 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__init_instance(val
* self
, val
* p0
) {
8547 val
* var
/* : RuntimeVariable */;
8548 val
* var1
/* : RuntimeVariable */;
8549 var1
= abstract_compiler__AbstractCompilerVisitor__init_instance(self
, p0
);
8554 /* method abstract_compiler#AbstractCompilerVisitor#int_instance for (self: AbstractCompilerVisitor, Int): RuntimeVariable */
8555 val
* abstract_compiler__AbstractCompilerVisitor__int_instance(val
* self
, long p0
) {
8556 val
* var
/* : RuntimeVariable */;
8557 long var_value
/* var value: Int */;
8558 static val
* varonce
;
8559 val
* var1
/* : String */;
8560 char* var2
/* : NativeString */;
8561 long var3
/* : Int */;
8562 val
* var4
/* : String */;
8563 val
* var5
/* : MClass */;
8564 val
* var6
/* : MClassType */;
8565 val
* var7
/* : RuntimeVariable */;
8566 val
* var_res
/* var res: RuntimeVariable */;
8567 static val
* varonce8
;
8568 val
* var9
/* : String */;
8569 char* var10
/* : NativeString */;
8570 long var11
/* : Int */;
8571 val
* var12
/* : String */;
8572 static val
* varonce13
;
8573 val
* var14
/* : String */;
8574 char* var15
/* : NativeString */;
8575 long var16
/* : Int */;
8576 val
* var17
/* : String */;
8577 val
* var18
/* : Array[Object] */;
8578 long var19
/* : Int */;
8579 val
* var20
/* : NativeArray[Object] */;
8580 val
* var21
/* : Object */;
8581 val
* var22
/* : String */;
8588 var4
= string__NativeString__to_s_with_length(var2
, var3
);
8592 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(self
, var1
) /* get_class on <self:AbstractCompilerVisitor>*/;
8593 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_model__MClass__mclass_type
]))(var5
) /* mclass_type on <var5:MClass>*/;
8594 var7
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var6
) /* new_var on <self:AbstractCompilerVisitor>*/;
8601 var12
= string__NativeString__to_s_with_length(var10
, var11
);
8610 var17
= string__NativeString__to_s_with_length(var15
, var16
);
8614 var18
= NEW_array__Array(&type_array__Arraykernel__Object
);
8615 { /* var18 = array_instance Array[Object] */
8617 var20
= NEW_array__NativeArray(var19
, &type_array__NativeArraykernel__Object
);
8618 ((struct instance_array__NativeArray
*)var20
)->values
[0] = (val
*) var_res
;
8619 ((struct instance_array__NativeArray
*)var20
)->values
[1] = (val
*) var9
;
8620 var21
= BOX_kernel__Int(var_value
); /* autobox from Int to Object */
8621 ((struct instance_array__NativeArray
*)var20
)->values
[2] = (val
*) var21
;
8622 ((struct instance_array__NativeArray
*)var20
)->values
[3] = (val
*) var14
;
8623 ((void (*)(val
*, val
*, long))(var18
->class->vft
[COLOR_array__Array__with_native
]))(var18
, var20
, var19
) /* with_native on <var18:Array[Object]>*/;
8624 CHECK_NEW_array__Array(var18
);
8626 var22
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_string__Object__to_s
]))(var18
) /* to_s on <var18:Array[Object]>*/;
8627 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var22
) /* add on <self:AbstractCompilerVisitor>*/;
8633 /* method abstract_compiler#AbstractCompilerVisitor#int_instance for (self: Object, Int): RuntimeVariable */
8634 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__int_instance(val
* self
, long p0
) {
8635 val
* var
/* : RuntimeVariable */;
8636 val
* var1
/* : RuntimeVariable */;
8637 var1
= abstract_compiler__AbstractCompilerVisitor__int_instance(self
, p0
);
8642 /* method abstract_compiler#AbstractCompilerVisitor#string_instance for (self: AbstractCompilerVisitor, String): RuntimeVariable */
8643 val
* abstract_compiler__AbstractCompilerVisitor__string_instance(val
* self
, val
* p0
) {
8644 val
* var
/* : RuntimeVariable */;
8645 val
* var_string
/* var string: String */;
8646 static val
* varonce
;
8647 val
* var1
/* : String */;
8648 char* var2
/* : NativeString */;
8649 long var3
/* : Int */;
8650 val
* var4
/* : String */;
8651 val
* var5
/* : MClass */;
8652 val
* var6
/* : MClassType */;
8653 val
* var_mtype
/* var mtype: MClassType */;
8654 static val
* varonce7
;
8655 val
* var8
/* : String */;
8656 char* var9
/* : NativeString */;
8657 long var10
/* : Int */;
8658 val
* var11
/* : String */;
8659 val
* var12
/* : String */;
8660 val
* var_name
/* var name: String */;
8661 static val
* varonce13
;
8662 val
* var14
/* : String */;
8663 char* var15
/* : NativeString */;
8664 long var16
/* : Int */;
8665 val
* var17
/* : String */;
8666 val
* var18
/* : String */;
8667 static val
* varonce19
;
8668 val
* var20
/* : String */;
8669 char* var21
/* : NativeString */;
8670 long var22
/* : Int */;
8671 val
* var23
/* : String */;
8672 static val
* varonce24
;
8673 val
* var25
/* : String */;
8674 char* var26
/* : NativeString */;
8675 long var27
/* : Int */;
8676 val
* var28
/* : String */;
8677 val
* var29
/* : Array[Object] */;
8678 long var30
/* : Int */;
8679 val
* var31
/* : NativeArray[Object] */;
8680 val
* var32
/* : String */;
8681 val
* var33
/* : RuntimeVariable */;
8682 val
* var_res
/* var res: RuntimeVariable */;
8683 static val
* varonce34
;
8684 val
* var35
/* : String */;
8685 char* var36
/* : NativeString */;
8686 long var37
/* : Int */;
8687 val
* var38
/* : String */;
8688 static val
* varonce39
;
8689 val
* var40
/* : String */;
8690 char* var41
/* : NativeString */;
8691 long var42
/* : Int */;
8692 val
* var43
/* : String */;
8693 val
* var44
/* : Array[Object] */;
8694 long var45
/* : Int */;
8695 val
* var46
/* : NativeArray[Object] */;
8696 val
* var47
/* : String */;
8697 static val
* varonce48
;
8698 val
* var49
/* : String */;
8699 char* var50
/* : NativeString */;
8700 long var51
/* : Int */;
8701 val
* var52
/* : String */;
8702 static val
* varonce53
;
8703 val
* var54
/* : String */;
8704 char* var55
/* : NativeString */;
8705 long var56
/* : Int */;
8706 val
* var57
/* : String */;
8707 val
* var58
/* : Array[Object] */;
8708 long var59
/* : Int */;
8709 val
* var60
/* : NativeArray[Object] */;
8710 val
* var61
/* : String */;
8711 static val
* varonce62
;
8712 val
* var63
/* : String */;
8713 char* var64
/* : NativeString */;
8714 long var65
/* : Int */;
8715 val
* var66
/* : String */;
8716 static val
* varonce67
;
8717 val
* var68
/* : String */;
8718 char* var69
/* : NativeString */;
8719 long var70
/* : Int */;
8720 val
* var71
/* : String */;
8721 val
* var72
/* : MClass */;
8722 val
* var73
/* : MClassType */;
8723 val
* var_native_mtype
/* var native_mtype: MClassType */;
8724 val
* var74
/* : RuntimeVariable */;
8725 val
* var_nat
/* var nat: RuntimeVariable */;
8726 static val
* varonce75
;
8727 val
* var76
/* : String */;
8728 char* var77
/* : NativeString */;
8729 long var78
/* : Int */;
8730 val
* var79
/* : String */;
8731 val
* var80
/* : String */;
8732 static val
* varonce81
;
8733 val
* var82
/* : String */;
8734 char* var83
/* : NativeString */;
8735 long var84
/* : Int */;
8736 val
* var85
/* : String */;
8737 val
* var86
/* : Array[Object] */;
8738 long var87
/* : Int */;
8739 val
* var88
/* : NativeArray[Object] */;
8740 val
* var89
/* : String */;
8741 long var90
/* : Int */;
8742 val
* var91
/* : RuntimeVariable */;
8743 val
* var_length
/* var length: RuntimeVariable */;
8744 static val
* varonce92
;
8745 val
* var93
/* : String */;
8746 char* var94
/* : NativeString */;
8747 long var95
/* : Int */;
8748 val
* var96
/* : String */;
8749 static val
* varonce97
;
8750 val
* var98
/* : String */;
8751 char* var99
/* : NativeString */;
8752 long var100
/* : Int */;
8753 val
* var101
/* : String */;
8754 val
* var102
/* : MMethod */;
8755 val
* var103
/* : Array[RuntimeVariable] */;
8756 long var104
/* : Int */;
8757 val
* var105
/* : NativeArray[RuntimeVariable] */;
8758 val
* var106
/* : nullable RuntimeVariable */;
8759 static val
* varonce107
;
8760 val
* var108
/* : String */;
8761 char* var109
/* : NativeString */;
8762 long var110
/* : Int */;
8763 val
* var111
/* : String */;
8764 val
* var112
/* : Array[Object] */;
8765 long var113
/* : Int */;
8766 val
* var114
/* : NativeArray[Object] */;
8767 val
* var115
/* : String */;
8768 static val
* varonce116
;
8769 val
* var117
/* : String */;
8770 char* var118
/* : NativeString */;
8771 long var119
/* : Int */;
8772 val
* var120
/* : String */;
8773 static val
* varonce121
;
8774 val
* var122
/* : String */;
8775 char* var123
/* : NativeString */;
8776 long var124
/* : Int */;
8777 val
* var125
/* : String */;
8778 val
* var126
/* : Array[Object] */;
8779 long var127
/* : Int */;
8780 val
* var128
/* : NativeArray[Object] */;
8781 val
* var129
/* : String */;
8782 static val
* varonce130
;
8783 val
* var131
/* : String */;
8784 char* var132
/* : NativeString */;
8785 long var133
/* : Int */;
8786 val
* var134
/* : String */;
8793 var4
= string__NativeString__to_s_with_length(var2
, var3
);
8797 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(self
, var1
) /* get_class on <self:AbstractCompilerVisitor>*/;
8798 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_model__MClass__mclass_type
]))(var5
) /* mclass_type on <var5:MClass>*/;
8805 var11
= string__NativeString__to_s_with_length(var9
, var10
);
8809 var12
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var8
) /* get_name on <self:AbstractCompilerVisitor>*/;
8816 var17
= string__NativeString__to_s_with_length(var15
, var16
);
8820 var18
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MClassType>*/;
8826 var23
= string__NativeString__to_s_with_length(var21
, var22
);
8835 var28
= string__NativeString__to_s_with_length(var26
, var27
);
8839 var29
= NEW_array__Array(&type_array__Arraykernel__Object
);
8840 { /* var29 = array_instance Array[Object] */
8842 var31
= NEW_array__NativeArray(var30
, &type_array__NativeArraykernel__Object
);
8843 ((struct instance_array__NativeArray
*)var31
)->values
[0] = (val
*) var14
;
8844 ((struct instance_array__NativeArray
*)var31
)->values
[1] = (val
*) var18
;
8845 ((struct instance_array__NativeArray
*)var31
)->values
[2] = (val
*) var20
;
8846 ((struct instance_array__NativeArray
*)var31
)->values
[3] = (val
*) var_name
;
8847 ((struct instance_array__NativeArray
*)var31
)->values
[4] = (val
*) var25
;
8848 ((void (*)(val
*, val
*, long))(var29
->class->vft
[COLOR_array__Array__with_native
]))(var29
, var31
, var30
) /* with_native on <var29:Array[Object]>*/;
8849 CHECK_NEW_array__Array(var29
);
8851 var32
= ((val
* (*)(val
*))(var29
->class->vft
[COLOR_string__Object__to_s
]))(var29
) /* to_s on <var29:Array[Object]>*/;
8852 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var32
) /* add_decl on <self:AbstractCompilerVisitor>*/;
8853 var33
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var_mtype
) /* new_var on <self:AbstractCompilerVisitor>*/;
8860 var38
= string__NativeString__to_s_with_length(var36
, var37
);
8869 var43
= string__NativeString__to_s_with_length(var41
, var42
);
8873 var44
= NEW_array__Array(&type_array__Arraykernel__Object
);
8874 { /* var44 = array_instance Array[Object] */
8876 var46
= NEW_array__NativeArray(var45
, &type_array__NativeArraykernel__Object
);
8877 ((struct instance_array__NativeArray
*)var46
)->values
[0] = (val
*) var35
;
8878 ((struct instance_array__NativeArray
*)var46
)->values
[1] = (val
*) var_name
;
8879 ((struct instance_array__NativeArray
*)var46
)->values
[2] = (val
*) var40
;
8880 ((void (*)(val
*, val
*, long))(var44
->class->vft
[COLOR_array__Array__with_native
]))(var44
, var46
, var45
) /* with_native on <var44:Array[Object]>*/;
8881 CHECK_NEW_array__Array(var44
);
8883 var47
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_string__Object__to_s
]))(var44
) /* to_s on <var44:Array[Object]>*/;
8884 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var47
) /* add on <self:AbstractCompilerVisitor>*/;
8890 var52
= string__NativeString__to_s_with_length(var50
, var51
);
8899 var57
= string__NativeString__to_s_with_length(var55
, var56
);
8903 var58
= NEW_array__Array(&type_array__Arraykernel__Object
);
8904 { /* var58 = array_instance Array[Object] */
8906 var60
= NEW_array__NativeArray(var59
, &type_array__NativeArraykernel__Object
);
8907 ((struct instance_array__NativeArray
*)var60
)->values
[0] = (val
*) var_res
;
8908 ((struct instance_array__NativeArray
*)var60
)->values
[1] = (val
*) var49
;
8909 ((struct instance_array__NativeArray
*)var60
)->values
[2] = (val
*) var_name
;
8910 ((struct instance_array__NativeArray
*)var60
)->values
[3] = (val
*) var54
;
8911 ((void (*)(val
*, val
*, long))(var58
->class->vft
[COLOR_array__Array__with_native
]))(var58
, var60
, var59
) /* with_native on <var58:Array[Object]>*/;
8912 CHECK_NEW_array__Array(var58
);
8914 var61
= ((val
* (*)(val
*))(var58
->class->vft
[COLOR_string__Object__to_s
]))(var58
) /* to_s on <var58:Array[Object]>*/;
8915 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var61
) /* add on <self:AbstractCompilerVisitor>*/;
8921 var66
= string__NativeString__to_s_with_length(var64
, var65
);
8925 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var63
) /* add on <self:AbstractCompilerVisitor>*/;
8929 var69
= "NativeString";
8931 var71
= string__NativeString__to_s_with_length(var69
, var70
);
8935 var72
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(self
, var68
) /* get_class on <self:AbstractCompilerVisitor>*/;
8936 var73
= ((val
* (*)(val
*))(var72
->class->vft
[COLOR_model__MClass__mclass_type
]))(var72
) /* mclass_type on <var72:MClass>*/;
8937 var_native_mtype
= var73
;
8938 var74
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var_native_mtype
) /* new_var on <self:AbstractCompilerVisitor>*/;
8945 var79
= string__NativeString__to_s_with_length(var77
, var78
);
8949 var80
= ((val
* (*)(val
*))(var_string
->class->vft
[COLOR_string__AbstractString__escape_to_c
]))(var_string
) /* escape_to_c on <var_string:String>*/;
8955 var85
= string__NativeString__to_s_with_length(var83
, var84
);
8959 var86
= NEW_array__Array(&type_array__Arraykernel__Object
);
8960 { /* var86 = array_instance Array[Object] */
8962 var88
= NEW_array__NativeArray(var87
, &type_array__NativeArraykernel__Object
);
8963 ((struct instance_array__NativeArray
*)var88
)->values
[0] = (val
*) var_nat
;
8964 ((struct instance_array__NativeArray
*)var88
)->values
[1] = (val
*) var76
;
8965 ((struct instance_array__NativeArray
*)var88
)->values
[2] = (val
*) var80
;
8966 ((struct instance_array__NativeArray
*)var88
)->values
[3] = (val
*) var82
;
8967 ((void (*)(val
*, val
*, long))(var86
->class->vft
[COLOR_array__Array__with_native
]))(var86
, var88
, var87
) /* with_native on <var86:Array[Object]>*/;
8968 CHECK_NEW_array__Array(var86
);
8970 var89
= ((val
* (*)(val
*))(var86
->class->vft
[COLOR_string__Object__to_s
]))(var86
) /* to_s on <var86:Array[Object]>*/;
8971 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var89
) /* add on <self:AbstractCompilerVisitor>*/;
8972 var90
= ((long (*)(val
*))(var_string
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_string
) /* length on <var_string:String>*/;
8973 var91
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__int_instance
]))(self
, var90
) /* int_instance on <self:AbstractCompilerVisitor>*/;
8980 var96
= string__NativeString__to_s_with_length(var94
, var95
);
8987 var99
= "to_s_with_length";
8989 var101
= string__NativeString__to_s_with_length(var99
, var100
);
8993 var102
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_property
]))(self
, var98
, var_native_mtype
) /* get_property on <self:AbstractCompilerVisitor>*/;
8994 var103
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
8995 { /* var103 = array_instance Array[RuntimeVariable] */
8997 var105
= NEW_array__NativeArray(var104
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
8998 ((struct instance_array__NativeArray
*)var105
)->values
[0] = (val
*) var_nat
;
8999 ((struct instance_array__NativeArray
*)var105
)->values
[1] = (val
*) var_length
;
9000 ((void (*)(val
*, val
*, long))(var103
->class->vft
[COLOR_array__Array__with_native
]))(var103
, var105
, var104
) /* with_native on <var103:Array[RuntimeVariable]>*/;
9001 CHECK_NEW_array__Array(var103
);
9003 var106
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(self
, var102
, var103
) /* send on <self:AbstractCompilerVisitor>*/;
9004 if (var106
== NULL
) {
9005 fprintf(stderr
, "Runtime error: %s", "Cast failed");
9006 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 825);
9010 var108
= varonce107
;
9014 var111
= string__NativeString__to_s_with_length(var109
, var110
);
9016 varonce107
= var108
;
9018 var112
= NEW_array__Array(&type_array__Arraykernel__Object
);
9019 { /* var112 = array_instance Array[Object] */
9021 var114
= NEW_array__NativeArray(var113
, &type_array__NativeArraykernel__Object
);
9022 ((struct instance_array__NativeArray
*)var114
)->values
[0] = (val
*) var_res
;
9023 ((struct instance_array__NativeArray
*)var114
)->values
[1] = (val
*) var93
;
9024 ((struct instance_array__NativeArray
*)var114
)->values
[2] = (val
*) var106
;
9025 ((struct instance_array__NativeArray
*)var114
)->values
[3] = (val
*) var108
;
9026 ((void (*)(val
*, val
*, long))(var112
->class->vft
[COLOR_array__Array__with_native
]))(var112
, var114
, var113
) /* with_native on <var112:Array[Object]>*/;
9027 CHECK_NEW_array__Array(var112
);
9029 var115
= ((val
* (*)(val
*))(var112
->class->vft
[COLOR_string__Object__to_s
]))(var112
) /* to_s on <var112:Array[Object]>*/;
9030 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var115
) /* add on <self:AbstractCompilerVisitor>*/;
9032 var117
= varonce116
;
9036 var120
= string__NativeString__to_s_with_length(var118
, var119
);
9038 varonce116
= var117
;
9041 var122
= varonce121
;
9045 var125
= string__NativeString__to_s_with_length(var123
, var124
);
9047 varonce121
= var122
;
9049 var126
= NEW_array__Array(&type_array__Arraykernel__Object
);
9050 { /* var126 = array_instance Array[Object] */
9052 var128
= NEW_array__NativeArray(var127
, &type_array__NativeArraykernel__Object
);
9053 ((struct instance_array__NativeArray
*)var128
)->values
[0] = (val
*) var_name
;
9054 ((struct instance_array__NativeArray
*)var128
)->values
[1] = (val
*) var117
;
9055 ((struct instance_array__NativeArray
*)var128
)->values
[2] = (val
*) var_res
;
9056 ((struct instance_array__NativeArray
*)var128
)->values
[3] = (val
*) var122
;
9057 ((void (*)(val
*, val
*, long))(var126
->class->vft
[COLOR_array__Array__with_native
]))(var126
, var128
, var127
) /* with_native on <var126:Array[Object]>*/;
9058 CHECK_NEW_array__Array(var126
);
9060 var129
= ((val
* (*)(val
*))(var126
->class->vft
[COLOR_string__Object__to_s
]))(var126
) /* to_s on <var126:Array[Object]>*/;
9061 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var129
) /* add on <self:AbstractCompilerVisitor>*/;
9063 var131
= varonce130
;
9067 var134
= string__NativeString__to_s_with_length(var132
, var133
);
9069 varonce130
= var131
;
9071 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var131
) /* add on <self:AbstractCompilerVisitor>*/;
9077 /* method abstract_compiler#AbstractCompilerVisitor#string_instance for (self: Object, String): RuntimeVariable */
9078 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__string_instance(val
* self
, val
* p0
) {
9079 val
* var
/* : RuntimeVariable */;
9080 val
* var1
/* : RuntimeVariable */;
9081 var1
= abstract_compiler__AbstractCompilerVisitor__string_instance(self
, p0
);
9086 /* method abstract_compiler#AbstractCompilerVisitor#array_instance for (self: AbstractCompilerVisitor, Array[RuntimeVariable], MType): RuntimeVariable */
9087 val
* abstract_compiler__AbstractCompilerVisitor__array_instance(val
* self
, val
* p0
, val
* p1
) {
9088 val
* var
/* : RuntimeVariable */;
9089 const char* var_class_name
;
9090 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
9091 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "array_instance", var_class_name
);
9092 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 831);
9097 /* method abstract_compiler#AbstractCompilerVisitor#array_instance for (self: Object, Array[RuntimeVariable], MType): RuntimeVariable */
9098 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__array_instance(val
* self
, val
* p0
, val
* p1
) {
9099 val
* var
/* : RuntimeVariable */;
9100 val
* var1
/* : RuntimeVariable */;
9101 var1
= abstract_compiler__AbstractCompilerVisitor__array_instance(self
, p0
, p1
);
9106 /* method abstract_compiler#AbstractCompilerVisitor#vararg_instance for (self: AbstractCompilerVisitor, MPropDef, RuntimeVariable, Array[RuntimeVariable], MType): RuntimeVariable */
9107 val
* abstract_compiler__AbstractCompilerVisitor__vararg_instance(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
9108 val
* var
/* : RuntimeVariable */;
9109 const char* var_class_name
;
9110 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
9111 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "vararg_instance", var_class_name
);
9112 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 834);
9117 /* method abstract_compiler#AbstractCompilerVisitor#vararg_instance for (self: Object, MPropDef, RuntimeVariable, Array[RuntimeVariable], MType): RuntimeVariable */
9118 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__vararg_instance(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
9119 val
* var
/* : RuntimeVariable */;
9120 val
* var1
/* : RuntimeVariable */;
9121 var1
= abstract_compiler__AbstractCompilerVisitor__vararg_instance(self
, p0
, p1
, p2
, p3
);
9126 /* method abstract_compiler#AbstractCompilerVisitor#add for (self: AbstractCompilerVisitor, String) */
9127 void abstract_compiler__AbstractCompilerVisitor__add(val
* self
, val
* p0
) {
9128 val
* var_s
/* var s: String */;
9129 val
* var
/* : CodeWriter */;
9130 val
* var1
/* : List[String] */;
9132 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__writer
]))(self
) /* writer on <self:AbstractCompilerVisitor>*/;
9133 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_compiler__CodeWriter__lines
]))(var
) /* lines on <var:CodeWriter>*/;
9134 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var1
, var_s
) /* add on <var1:List[String]>*/;
9137 /* method abstract_compiler#AbstractCompilerVisitor#add for (self: Object, String) */
9138 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__add(val
* self
, val
* p0
) {
9139 abstract_compiler__AbstractCompilerVisitor__add(self
, p0
);
9142 /* method abstract_compiler#AbstractCompilerVisitor#add_decl for (self: AbstractCompilerVisitor, String) */
9143 void abstract_compiler__AbstractCompilerVisitor__add_decl(val
* self
, val
* p0
) {
9144 val
* var_s
/* var s: String */;
9145 val
* var
/* : CodeWriter */;
9146 val
* var1
/* : List[String] */;
9148 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__writer
]))(self
) /* writer on <self:AbstractCompilerVisitor>*/;
9149 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_compiler__CodeWriter__decl_lines
]))(var
) /* decl_lines on <var:CodeWriter>*/;
9150 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var1
, var_s
) /* add on <var1:List[String]>*/;
9153 /* method abstract_compiler#AbstractCompilerVisitor#add_decl for (self: Object, String) */
9154 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__add_decl(val
* self
, val
* p0
) {
9155 abstract_compiler__AbstractCompilerVisitor__add_decl(self
, p0
);
9158 /* method abstract_compiler#AbstractCompilerVisitor#require_declaration for (self: AbstractCompilerVisitor, String) */
9159 void abstract_compiler__AbstractCompilerVisitor__require_declaration(val
* self
, val
* p0
) {
9160 val
* var_key
/* var key: String */;
9161 val
* var
/* : CodeWriter */;
9162 val
* var1
/* : CodeFile */;
9163 val
* var2
/* : HashSet[String] */;
9165 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__writer
]))(self
) /* writer on <self:AbstractCompilerVisitor>*/;
9166 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_compiler__CodeWriter__file
]))(var
) /* file on <var:CodeWriter>*/;
9167 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__CodeFile__required_declarations
]))(var1
) /* required_declarations on <var1:CodeFile>*/;
9168 ((void (*)(val
*, val
*))(var2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var2
, var_key
) /* add on <var2:HashSet[String]>*/;
9171 /* method abstract_compiler#AbstractCompilerVisitor#require_declaration for (self: Object, String) */
9172 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__require_declaration(val
* self
, val
* p0
) {
9173 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, p0
);
9176 /* method abstract_compiler#AbstractCompilerVisitor#declare_once for (self: AbstractCompilerVisitor, String) */
9177 void abstract_compiler__AbstractCompilerVisitor__declare_once(val
* self
, val
* p0
) {
9178 val
* var_s
/* var s: String */;
9179 val
* var
/* : AbstractCompiler */;
9181 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
9182 ((void (*)(val
*, val
*, val
*))(var
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__provide_declaration
]))(var
, var_s
, var_s
) /* provide_declaration on <var:AbstractCompiler>*/;
9183 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var_s
) /* require_declaration on <self:AbstractCompilerVisitor>*/;
9186 /* method abstract_compiler#AbstractCompilerVisitor#declare_once for (self: Object, String) */
9187 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__declare_once(val
* self
, val
* p0
) {
9188 abstract_compiler__AbstractCompilerVisitor__declare_once(self
, p0
);
9191 /* method abstract_compiler#AbstractCompilerVisitor#add_extern for (self: AbstractCompilerVisitor, String) */
9192 void abstract_compiler__AbstractCompilerVisitor__add_extern(val
* self
, val
* p0
) {
9193 val
* var_file
/* var file: String */;
9194 static val
* varonce
;
9195 val
* var
/* : String */;
9196 char* var1
/* : NativeString */;
9197 long var2
/* : Int */;
9198 val
* var3
/* : String */;
9199 val
* var4
/* : String */;
9200 static val
* varonce5
;
9201 val
* var6
/* : String */;
9202 char* var7
/* : NativeString */;
9203 long var8
/* : Int */;
9204 val
* var9
/* : String */;
9205 val
* var10
/* : String */;
9206 val
* var_tryfile
/* var tryfile: String */;
9207 short int var11
/* : Bool */;
9208 static val
* varonce12
;
9209 val
* var13
/* : String */;
9210 char* var14
/* : NativeString */;
9211 long var15
/* : Int */;
9212 val
* var16
/* : String */;
9213 static val
* varonce17
;
9214 val
* var18
/* : String */;
9215 char* var19
/* : NativeString */;
9216 long var20
/* : Int */;
9217 val
* var21
/* : String */;
9218 val
* var22
/* : String */;
9219 static val
* varonce23
;
9220 val
* var24
/* : String */;
9221 char* var25
/* : NativeString */;
9222 long var26
/* : Int */;
9223 val
* var27
/* : String */;
9224 val
* var28
/* : Array[Object] */;
9225 long var29
/* : Int */;
9226 val
* var30
/* : NativeArray[Object] */;
9227 val
* var31
/* : String */;
9228 static val
* varonce32
;
9229 val
* var33
/* : String */;
9230 char* var34
/* : NativeString */;
9231 long var35
/* : Int */;
9232 val
* var36
/* : String */;
9233 val
* var37
/* : String */;
9234 short int var38
/* : Bool */;
9235 static val
* varonce39
;
9236 val
* var40
/* : String */;
9237 char* var41
/* : NativeString */;
9238 long var42
/* : Int */;
9239 val
* var43
/* : String */;
9240 static val
* varonce44
;
9241 val
* var45
/* : String */;
9242 char* var46
/* : NativeString */;
9243 long var47
/* : Int */;
9244 val
* var48
/* : String */;
9245 val
* var49
/* : String */;
9246 static val
* varonce50
;
9247 val
* var51
/* : String */;
9248 char* var52
/* : NativeString */;
9249 long var53
/* : Int */;
9250 val
* var54
/* : String */;
9251 val
* var55
/* : Array[Object] */;
9252 long var56
/* : Int */;
9253 val
* var57
/* : NativeArray[Object] */;
9254 val
* var58
/* : String */;
9255 val
* var59
/* : AbstractCompiler */;
9256 val
* var60
/* : ArraySet[String] */;
9257 short int var61
/* : Bool */;
9258 val
* var62
/* : AbstractCompiler */;
9259 val
* var63
/* : ArraySet[String] */;
9260 static val
* varonce64
;
9261 val
* var65
/* : String */;
9262 char* var66
/* : NativeString */;
9263 long var67
/* : Int */;
9264 val
* var68
/* : String */;
9265 val
* var69
/* : String */;
9266 short int var70
/* : Bool */;
9267 short int var71
/* : Bool */;
9268 static val
* varonce72
;
9269 val
* var73
/* : String */;
9270 char* var74
/* : NativeString */;
9271 long var75
/* : Int */;
9272 val
* var76
/* : String */;
9273 val
* var77
/* : String */;
9274 short int var78
/* : Bool */;
9275 short int var79
/* : Bool */;
9276 val
* var80
/* : ExternCFile */;
9277 static val
* varonce81
;
9278 val
* var82
/* : String */;
9279 char* var83
/* : NativeString */;
9280 long var84
/* : Int */;
9281 val
* var85
/* : String */;
9282 val
* var_f
/* var f: ExternCFile */;
9283 val
* var86
/* : AbstractCompiler */;
9284 val
* var87
/* : Array[ExternCFile] */;
9291 var3
= string__NativeString__to_s_with_length(var1
, var2
);
9295 var4
= ((val
* (*)(val
*, val
*))(var_file
->class->vft
[COLOR_file__String__strip_extension
]))(var_file
, var
) /* strip_extension on <var_file:String>*/;
9302 var9
= string__NativeString__to_s_with_length(var7
, var8
);
9306 var10
= ((val
* (*)(val
*, val
*))(var_file
->class->vft
[COLOR_string__String___43d
]))(var_file
, var6
) /* + on <var_file:String>*/;
9307 var_tryfile
= var10
;
9308 var11
= ((short int (*)(val
*))(var_tryfile
->class->vft
[COLOR_file__String__file_exists
]))(var_tryfile
) /* file_exists on <var_tryfile:String>*/;
9313 var14
= "#include \"";
9315 var16
= string__NativeString__to_s_with_length(var14
, var15
);
9324 var21
= string__NativeString__to_s_with_length(var19
, var20
);
9328 var22
= ((val
* (*)(val
*, val
*))(var18
->class->vft
[COLOR_file__String__join_path
]))(var18
, var_tryfile
) /* join_path on <var18:String>*/;
9334 var27
= string__NativeString__to_s_with_length(var25
, var26
);
9338 var28
= NEW_array__Array(&type_array__Arraykernel__Object
);
9339 { /* var28 = array_instance Array[Object] */
9341 var30
= NEW_array__NativeArray(var29
, &type_array__NativeArraykernel__Object
);
9342 ((struct instance_array__NativeArray
*)var30
)->values
[0] = (val
*) var13
;
9343 ((struct instance_array__NativeArray
*)var30
)->values
[1] = (val
*) var22
;
9344 ((struct instance_array__NativeArray
*)var30
)->values
[2] = (val
*) var24
;
9345 ((void (*)(val
*, val
*, long))(var28
->class->vft
[COLOR_array__Array__with_native
]))(var28
, var30
, var29
) /* with_native on <var28:Array[Object]>*/;
9346 CHECK_NEW_array__Array(var28
);
9348 var31
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_string__Object__to_s
]))(var28
) /* to_s on <var28:Array[Object]>*/;
9349 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__declare_once
]))(self
, var31
) /* declare_once on <self:AbstractCompilerVisitor>*/;
9357 var36
= string__NativeString__to_s_with_length(var34
, var35
);
9361 var37
= ((val
* (*)(val
*, val
*))(var_file
->class->vft
[COLOR_string__String___43d
]))(var_file
, var33
) /* + on <var_file:String>*/;
9362 var_tryfile
= var37
;
9363 var38
= ((short int (*)(val
*))(var_tryfile
->class->vft
[COLOR_file__String__file_exists
]))(var_tryfile
) /* file_exists on <var_tryfile:String>*/;
9368 var41
= "#include \"";
9370 var43
= string__NativeString__to_s_with_length(var41
, var42
);
9379 var48
= string__NativeString__to_s_with_length(var46
, var47
);
9383 var49
= ((val
* (*)(val
*, val
*))(var45
->class->vft
[COLOR_file__String__join_path
]))(var45
, var_tryfile
) /* join_path on <var45:String>*/;
9389 var54
= string__NativeString__to_s_with_length(var52
, var53
);
9393 var55
= NEW_array__Array(&type_array__Arraykernel__Object
);
9394 { /* var55 = array_instance Array[Object] */
9396 var57
= NEW_array__NativeArray(var56
, &type_array__NativeArraykernel__Object
);
9397 ((struct instance_array__NativeArray
*)var57
)->values
[0] = (val
*) var40
;
9398 ((struct instance_array__NativeArray
*)var57
)->values
[1] = (val
*) var49
;
9399 ((struct instance_array__NativeArray
*)var57
)->values
[2] = (val
*) var51
;
9400 ((void (*)(val
*, val
*, long))(var55
->class->vft
[COLOR_array__Array__with_native
]))(var55
, var57
, var56
) /* with_native on <var55:Array[Object]>*/;
9401 CHECK_NEW_array__Array(var55
);
9403 var58
= ((val
* (*)(val
*))(var55
->class->vft
[COLOR_string__Object__to_s
]))(var55
) /* to_s on <var55:Array[Object]>*/;
9404 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__declare_once
]))(self
, var58
) /* declare_once on <self:AbstractCompilerVisitor>*/;
9407 var59
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
9408 var60
= ((val
* (*)(val
*))(var59
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__seen_extern
]))(var59
) /* seen_extern on <var59:AbstractCompiler>*/;
9409 var61
= ((short int (*)(val
*, val
*))(var60
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var60
, var_file
) /* has on <var60:ArraySet[String]>*/;
9414 var62
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
9415 var63
= ((val
* (*)(val
*))(var62
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__seen_extern
]))(var62
) /* seen_extern on <var62:AbstractCompiler>*/;
9416 ((void (*)(val
*, val
*))(var63
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var63
, var_file
) /* add on <var63:ArraySet[String]>*/;
9422 var68
= string__NativeString__to_s_with_length(var66
, var67
);
9426 var69
= ((val
* (*)(val
*, val
*))(var_file
->class->vft
[COLOR_string__String___43d
]))(var_file
, var65
) /* + on <var_file:String>*/;
9427 var_tryfile
= var69
;
9428 var70
= ((short int (*)(val
*))(var_tryfile
->class->vft
[COLOR_file__String__file_exists
]))(var_tryfile
) /* file_exists on <var_tryfile:String>*/;
9436 var76
= string__NativeString__to_s_with_length(var74
, var75
);
9440 var77
= ((val
* (*)(val
*, val
*))(var_file
->class->vft
[COLOR_string__String___43d
]))(var_file
, var73
) /* + on <var_file:String>*/;
9441 var_tryfile
= var77
;
9442 var78
= ((short int (*)(val
*))(var_tryfile
->class->vft
[COLOR_file__String__file_exists
]))(var_tryfile
) /* file_exists on <var_tryfile:String>*/;
9450 var80
= NEW_abstract_compiler__ExternCFile(&type_abstract_compiler__ExternCFile
);
9456 var85
= string__NativeString__to_s_with_length(var83
, var84
);
9460 ((void (*)(val
*, val
*, val
*))(var80
->class->vft
[COLOR_abstract_compiler__ExternCFile__init
]))(var80
, var_tryfile
, var82
) /* init on <var80:ExternCFile>*/;
9461 CHECK_NEW_abstract_compiler__ExternCFile(var80
);
9463 var86
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
9464 var87
= ((val
* (*)(val
*))(var86
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__extern_bodies
]))(var86
) /* extern_bodies on <var86:AbstractCompiler>*/;
9465 ((void (*)(val
*, val
*))(var87
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var87
, var_f
) /* add on <var87:Array[ExternCFile]>*/;
9468 /* method abstract_compiler#AbstractCompilerVisitor#add_extern for (self: Object, String) */
9469 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__add_extern(val
* self
, val
* p0
) {
9470 abstract_compiler__AbstractCompilerVisitor__add_extern(self
, p0
);
9473 /* method abstract_compiler#AbstractCompilerVisitor#new_expr for (self: AbstractCompilerVisitor, String, MType): RuntimeVariable */
9474 val
* abstract_compiler__AbstractCompilerVisitor__new_expr(val
* self
, val
* p0
, val
* p1
) {
9475 val
* var
/* : RuntimeVariable */;
9476 val
* var_cexpr
/* var cexpr: String */;
9477 val
* var_mtype
/* var mtype: MType */;
9478 val
* var1
/* : RuntimeVariable */;
9479 val
* var_res
/* var res: RuntimeVariable */;
9480 static val
* varonce
;
9481 val
* var2
/* : String */;
9482 char* var3
/* : NativeString */;
9483 long var4
/* : Int */;
9484 val
* var5
/* : String */;
9485 static val
* varonce6
;
9486 val
* var7
/* : String */;
9487 char* var8
/* : NativeString */;
9488 long var9
/* : Int */;
9489 val
* var10
/* : String */;
9490 val
* var11
/* : Array[Object] */;
9491 long var12
/* : Int */;
9492 val
* var13
/* : NativeArray[Object] */;
9493 val
* var14
/* : String */;
9496 var1
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var_mtype
) /* new_var on <self:AbstractCompilerVisitor>*/;
9503 var5
= string__NativeString__to_s_with_length(var3
, var4
);
9512 var10
= string__NativeString__to_s_with_length(var8
, var9
);
9516 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
9517 { /* var11 = array_instance Array[Object] */
9519 var13
= NEW_array__NativeArray(var12
, &type_array__NativeArraykernel__Object
);
9520 ((struct instance_array__NativeArray
*)var13
)->values
[0] = (val
*) var_res
;
9521 ((struct instance_array__NativeArray
*)var13
)->values
[1] = (val
*) var2
;
9522 ((struct instance_array__NativeArray
*)var13
)->values
[2] = (val
*) var_cexpr
;
9523 ((struct instance_array__NativeArray
*)var13
)->values
[3] = (val
*) var7
;
9524 ((void (*)(val
*, val
*, long))(var11
->class->vft
[COLOR_array__Array__with_native
]))(var11
, var13
, var12
) /* with_native on <var11:Array[Object]>*/;
9525 CHECK_NEW_array__Array(var11
);
9527 var14
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_string__Object__to_s
]))(var11
) /* to_s on <var11:Array[Object]>*/;
9528 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var14
) /* add on <self:AbstractCompilerVisitor>*/;
9534 /* method abstract_compiler#AbstractCompilerVisitor#new_expr for (self: Object, String, MType): RuntimeVariable */
9535 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__new_expr(val
* self
, val
* p0
, val
* p1
) {
9536 val
* var
/* : RuntimeVariable */;
9537 val
* var1
/* : RuntimeVariable */;
9538 var1
= abstract_compiler__AbstractCompilerVisitor__new_expr(self
, p0
, p1
);
9543 /* method abstract_compiler#AbstractCompilerVisitor#add_abort for (self: AbstractCompilerVisitor, String) */
9544 void abstract_compiler__AbstractCompilerVisitor__add_abort(val
* self
, val
* p0
) {
9545 val
* var_message
/* var message: String */;
9546 static val
* varonce
;
9547 val
* var
/* : String */;
9548 char* var1
/* : NativeString */;
9549 long var2
/* : Int */;
9550 val
* var3
/* : String */;
9551 val
* var4
/* : String */;
9552 static val
* varonce5
;
9553 val
* var6
/* : String */;
9554 char* var7
/* : NativeString */;
9555 long var8
/* : Int */;
9556 val
* var9
/* : String */;
9557 val
* var10
/* : Array[Object] */;
9558 long var11
/* : Int */;
9559 val
* var12
/* : NativeArray[Object] */;
9560 val
* var13
/* : String */;
9565 var1
= "fprintf(stderr, \"Runtime error: %s\", \"";
9567 var3
= string__NativeString__to_s_with_length(var1
, var2
);
9571 var4
= ((val
* (*)(val
*))(var_message
->class->vft
[COLOR_string__AbstractString__escape_to_c
]))(var_message
) /* escape_to_c on <var_message:String>*/;
9577 var9
= string__NativeString__to_s_with_length(var7
, var8
);
9581 var10
= NEW_array__Array(&type_array__Arraykernel__Object
);
9582 { /* var10 = array_instance Array[Object] */
9584 var12
= NEW_array__NativeArray(var11
, &type_array__NativeArraykernel__Object
);
9585 ((struct instance_array__NativeArray
*)var12
)->values
[0] = (val
*) var
;
9586 ((struct instance_array__NativeArray
*)var12
)->values
[1] = (val
*) var4
;
9587 ((struct instance_array__NativeArray
*)var12
)->values
[2] = (val
*) var6
;
9588 ((void (*)(val
*, val
*, long))(var10
->class->vft
[COLOR_array__Array__with_native
]))(var10
, var12
, var11
) /* with_native on <var10:Array[Object]>*/;
9589 CHECK_NEW_array__Array(var10
);
9591 var13
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_string__Object__to_s
]))(var10
) /* to_s on <var10:Array[Object]>*/;
9592 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var13
) /* add on <self:AbstractCompilerVisitor>*/;
9593 ((void (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_raw_abort
]))(self
) /* add_raw_abort on <self:AbstractCompilerVisitor>*/;
9596 /* method abstract_compiler#AbstractCompilerVisitor#add_abort for (self: Object, String) */
9597 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__add_abort(val
* self
, val
* p0
) {
9598 abstract_compiler__AbstractCompilerVisitor__add_abort(self
, p0
);
9601 /* method abstract_compiler#AbstractCompilerVisitor#add_raw_abort for (self: AbstractCompilerVisitor) */
9602 void abstract_compiler__AbstractCompilerVisitor__add_raw_abort(val
* self
) {
9603 short int var
/* : Bool */;
9604 val
* var1
/* : nullable ANode */;
9605 val
* var2
/* : null */;
9606 short int var3
/* : Bool */;
9607 short int var_
/* var : Bool */;
9608 val
* var4
/* : nullable ANode */;
9609 val
* var5
/* : Location */;
9610 val
* var6
/* : nullable SourceFile */;
9611 val
* var7
/* : null */;
9612 short int var8
/* : Bool */;
9613 static val
* varonce
;
9614 val
* var9
/* : String */;
9615 char* var10
/* : NativeString */;
9616 long var11
/* : Int */;
9617 val
* var12
/* : String */;
9618 val
* var13
/* : nullable ANode */;
9619 val
* var14
/* : Location */;
9620 val
* var15
/* : nullable SourceFile */;
9621 val
* var16
/* : String */;
9622 val
* var17
/* : String */;
9623 static val
* varonce18
;
9624 val
* var19
/* : String */;
9625 char* var20
/* : NativeString */;
9626 long var21
/* : Int */;
9627 val
* var22
/* : String */;
9628 val
* var23
/* : nullable ANode */;
9629 val
* var24
/* : Location */;
9630 long var25
/* : Int */;
9631 static val
* varonce26
;
9632 val
* var27
/* : String */;
9633 char* var28
/* : NativeString */;
9634 long var29
/* : Int */;
9635 val
* var30
/* : String */;
9636 val
* var31
/* : Array[Object] */;
9637 long var32
/* : Int */;
9638 val
* var33
/* : NativeArray[Object] */;
9639 val
* var34
/* : Object */;
9640 val
* var35
/* : String */;
9641 static val
* varonce36
;
9642 val
* var37
/* : String */;
9643 char* var38
/* : NativeString */;
9644 long var39
/* : Int */;
9645 val
* var40
/* : String */;
9646 static val
* varonce41
;
9647 val
* var42
/* : String */;
9648 char* var43
/* : NativeString */;
9649 long var44
/* : Int */;
9650 val
* var45
/* : String */;
9651 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node
]))(self
) /* current_node on <self:AbstractCompilerVisitor>*/;
9654 var3
= 0; /* is null */
9656 var3
= 1; /* arg is null and recv is not */
9660 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node
]))(self
) /* current_node on <self:AbstractCompilerVisitor>*/;
9662 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
9663 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 903);
9666 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var4
) /* location on <var4:nullable ANode>*/;
9668 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_location__Location__file
]))(var5
) /* file on <var5:Location>*/;
9671 var8
= 0; /* is null */
9673 var8
= 1; /* arg is null and recv is not */
9683 var10
= "fprintf(stderr, \" (%s:%d)\\n\", \"";
9685 var12
= string__NativeString__to_s_with_length(var10
, var11
);
9689 var13
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node
]))(self
) /* current_node on <self:AbstractCompilerVisitor>*/;
9690 if (var13
== NULL
) {
9691 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
9692 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 904);
9695 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var13
) /* location on <var13:nullable ANode>*/;
9697 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_location__Location__file
]))(var14
) /* file on <var14:Location>*/;
9698 if (var15
== NULL
) {
9699 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
9700 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 904);
9703 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_location__SourceFile__filename
]))(var15
) /* filename on <var15:nullable SourceFile>*/;
9705 var17
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_string__AbstractString__escape_to_c
]))(var16
) /* escape_to_c on <var16:String>*/;
9711 var22
= string__NativeString__to_s_with_length(var20
, var21
);
9715 var23
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node
]))(self
) /* current_node on <self:AbstractCompilerVisitor>*/;
9716 if (var23
== NULL
) {
9717 fprintf(stderr
, "Runtime error: %s", "Reciever is null");
9718 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 904);
9721 var24
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var23
) /* location on <var23:nullable ANode>*/;
9723 var25
= ((long (*)(val
*))(var24
->class->vft
[COLOR_location__Location__line_start
]))(var24
) /* line_start on <var24:Location>*/;
9729 var30
= string__NativeString__to_s_with_length(var28
, var29
);
9733 var31
= NEW_array__Array(&type_array__Arraykernel__Object
);
9734 { /* var31 = array_instance Array[Object] */
9736 var33
= NEW_array__NativeArray(var32
, &type_array__NativeArraykernel__Object
);
9737 ((struct instance_array__NativeArray
*)var33
)->values
[0] = (val
*) var9
;
9738 ((struct instance_array__NativeArray
*)var33
)->values
[1] = (val
*) var17
;
9739 ((struct instance_array__NativeArray
*)var33
)->values
[2] = (val
*) var19
;
9740 var34
= BOX_kernel__Int(var25
); /* autobox from Int to Object */
9741 ((struct instance_array__NativeArray
*)var33
)->values
[3] = (val
*) var34
;
9742 ((struct instance_array__NativeArray
*)var33
)->values
[4] = (val
*) var27
;
9743 ((void (*)(val
*, val
*, long))(var31
->class->vft
[COLOR_array__Array__with_native
]))(var31
, var33
, var32
) /* with_native on <var31:Array[Object]>*/;
9744 CHECK_NEW_array__Array(var31
);
9746 var35
= ((val
* (*)(val
*))(var31
->class->vft
[COLOR_string__Object__to_s
]))(var31
) /* to_s on <var31:Array[Object]>*/;
9747 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var35
) /* add on <self:AbstractCompilerVisitor>*/;
9752 var38
= "fprintf(stderr, \"\\n\");";
9754 var40
= string__NativeString__to_s_with_length(var38
, var39
);
9758 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var37
) /* add on <self:AbstractCompilerVisitor>*/;
9765 var45
= string__NativeString__to_s_with_length(var43
, var44
);
9769 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var42
) /* add on <self:AbstractCompilerVisitor>*/;
9772 /* method abstract_compiler#AbstractCompilerVisitor#add_raw_abort for (self: Object) */
9773 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__add_raw_abort(val
* self
) {
9774 abstract_compiler__AbstractCompilerVisitor__add_raw_abort(self
);
9777 /* method abstract_compiler#AbstractCompilerVisitor#add_cast for (self: AbstractCompilerVisitor, RuntimeVariable, MType, String) */
9778 void abstract_compiler__AbstractCompilerVisitor__add_cast(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
9779 val
* var_value
/* var value: RuntimeVariable */;
9780 val
* var_mtype
/* var mtype: MType */;
9781 val
* var_tag
/* var tag: String */;
9782 val
* var
/* : RuntimeVariable */;
9783 val
* var_res
/* var res: RuntimeVariable */;
9784 static val
* varonce
;
9785 val
* var1
/* : String */;
9786 char* var2
/* : NativeString */;
9787 long var3
/* : Int */;
9788 val
* var4
/* : String */;
9789 static val
* varonce5
;
9790 val
* var6
/* : String */;
9791 char* var7
/* : NativeString */;
9792 long var8
/* : Int */;
9793 val
* var9
/* : String */;
9794 val
* var10
/* : Array[Object] */;
9795 long var11
/* : Int */;
9796 val
* var12
/* : NativeArray[Object] */;
9797 val
* var13
/* : String */;
9798 val
* var14
/* : String */;
9799 val
* var_cn
/* var cn: String */;
9800 static val
* varonce15
;
9801 val
* var16
/* : String */;
9802 char* var17
/* : NativeString */;
9803 long var18
/* : Int */;
9804 val
* var19
/* : String */;
9805 val
* var20
/* : String */;
9806 val
* var21
/* : String */;
9807 static val
* varonce22
;
9808 val
* var23
/* : String */;
9809 char* var24
/* : NativeString */;
9810 long var25
/* : Int */;
9811 val
* var26
/* : String */;
9812 static val
* varonce27
;
9813 val
* var28
/* : String */;
9814 char* var29
/* : NativeString */;
9815 long var30
/* : Int */;
9816 val
* var31
/* : String */;
9817 val
* var32
/* : Array[Object] */;
9818 long var33
/* : Int */;
9819 val
* var34
/* : NativeArray[Object] */;
9820 val
* var35
/* : String */;
9821 static val
* varonce36
;
9822 val
* var37
/* : String */;
9823 char* var38
/* : NativeString */;
9824 long var39
/* : Int */;
9825 val
* var40
/* : String */;
9829 var
= ((val
* (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__type_test
]))(self
, var_value
, var_mtype
, var_tag
) /* type_test on <self:AbstractCompilerVisitor>*/;
9836 var4
= string__NativeString__to_s_with_length(var2
, var3
);
9845 var9
= string__NativeString__to_s_with_length(var7
, var8
);
9849 var10
= NEW_array__Array(&type_array__Arraykernel__Object
);
9850 { /* var10 = array_instance Array[Object] */
9852 var12
= NEW_array__NativeArray(var11
, &type_array__NativeArraykernel__Object
);
9853 ((struct instance_array__NativeArray
*)var12
)->values
[0] = (val
*) var1
;
9854 ((struct instance_array__NativeArray
*)var12
)->values
[1] = (val
*) var_res
;
9855 ((struct instance_array__NativeArray
*)var12
)->values
[2] = (val
*) var6
;
9856 ((void (*)(val
*, val
*, long))(var10
->class->vft
[COLOR_array__Array__with_native
]))(var10
, var12
, var11
) /* with_native on <var10:Array[Object]>*/;
9857 CHECK_NEW_array__Array(var10
);
9859 var13
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_string__Object__to_s
]))(var10
) /* to_s on <var10:Array[Object]>*/;
9860 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var13
) /* add on <self:AbstractCompilerVisitor>*/;
9861 var14
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__class_name_string
]))(self
, var_value
) /* class_name_string on <self:AbstractCompilerVisitor>*/;
9866 var17
= "fprintf(stderr, \"Runtime error: Cast failed. Expected `%s`, got `%s`\", \"";
9868 var19
= string__NativeString__to_s_with_length(var17
, var18
);
9872 var20
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_string__Object__to_s
]))(var_mtype
) /* to_s on <var_mtype:MType>*/;
9873 var21
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_string__AbstractString__escape_to_c
]))(var20
) /* escape_to_c on <var20:String>*/;
9879 var26
= string__NativeString__to_s_with_length(var24
, var25
);
9888 var31
= string__NativeString__to_s_with_length(var29
, var30
);
9892 var32
= NEW_array__Array(&type_array__Arraykernel__Object
);
9893 { /* var32 = array_instance Array[Object] */
9895 var34
= NEW_array__NativeArray(var33
, &type_array__NativeArraykernel__Object
);
9896 ((struct instance_array__NativeArray
*)var34
)->values
[0] = (val
*) var16
;
9897 ((struct instance_array__NativeArray
*)var34
)->values
[1] = (val
*) var21
;
9898 ((struct instance_array__NativeArray
*)var34
)->values
[2] = (val
*) var23
;
9899 ((struct instance_array__NativeArray
*)var34
)->values
[3] = (val
*) var_cn
;
9900 ((struct instance_array__NativeArray
*)var34
)->values
[4] = (val
*) var28
;
9901 ((void (*)(val
*, val
*, long))(var32
->class->vft
[COLOR_array__Array__with_native
]))(var32
, var34
, var33
) /* with_native on <var32:Array[Object]>*/;
9902 CHECK_NEW_array__Array(var32
);
9904 var35
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_string__Object__to_s
]))(var32
) /* to_s on <var32:Array[Object]>*/;
9905 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var35
) /* add on <self:AbstractCompilerVisitor>*/;
9906 ((void (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_raw_abort
]))(self
) /* add_raw_abort on <self:AbstractCompilerVisitor>*/;
9912 var40
= string__NativeString__to_s_with_length(var38
, var39
);
9916 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var37
) /* add on <self:AbstractCompilerVisitor>*/;
9919 /* method abstract_compiler#AbstractCompilerVisitor#add_cast for (self: Object, RuntimeVariable, MType, String) */
9920 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__add_cast(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
9921 abstract_compiler__AbstractCompilerVisitor__add_cast(self
, p0
, p1
, p2
);