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 (%s:%d)\n", "Uninitialized attribute @opt_output", "src/abstract_compiler.nit", 27);
15 /* method abstract_compiler#ToolContext#opt_output for (self: Object): OptionString */
16 val
* VIRTUAL_abstract_compiler__ToolContext__opt_output(val
* self
) {
17 val
* var
/* : OptionString */;
18 val
* var1
/* : OptionString */;
19 var1
= abstract_compiler__ToolContext__opt_output(self
);
24 /* method abstract_compiler#ToolContext#opt_output= for (self: ToolContext, OptionString) */
25 void abstract_compiler__ToolContext__opt_output_61d(val
* self
, val
* p0
) {
26 self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_output
].val
= p0
; /* @opt_output on <self:ToolContext> */
29 /* method abstract_compiler#ToolContext#opt_output= for (self: Object, OptionString) */
30 void VIRTUAL_abstract_compiler__ToolContext__opt_output_61d(val
* self
, val
* p0
) {
31 abstract_compiler__ToolContext__opt_output_61d(self
, p0
);
34 /* method abstract_compiler#ToolContext#opt_no_cc for (self: ToolContext): OptionBool */
35 val
* abstract_compiler__ToolContext__opt_no_cc(val
* self
) {
36 val
* var
/* : OptionBool */;
37 val
* var1
/* : OptionBool */;
38 var1
= self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_cc
].val
; /* @opt_no_cc on <self:ToolContext> */
40 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @opt_no_cc", "src/abstract_compiler.nit", 29);
47 /* method abstract_compiler#ToolContext#opt_no_cc for (self: Object): OptionBool */
48 val
* VIRTUAL_abstract_compiler__ToolContext__opt_no_cc(val
* self
) {
49 val
* var
/* : OptionBool */;
50 val
* var1
/* : OptionBool */;
51 var1
= abstract_compiler__ToolContext__opt_no_cc(self
);
56 /* method abstract_compiler#ToolContext#opt_no_cc= for (self: ToolContext, OptionBool) */
57 void abstract_compiler__ToolContext__opt_no_cc_61d(val
* self
, val
* p0
) {
58 self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_cc
].val
= p0
; /* @opt_no_cc on <self:ToolContext> */
61 /* method abstract_compiler#ToolContext#opt_no_cc= for (self: Object, OptionBool) */
62 void VIRTUAL_abstract_compiler__ToolContext__opt_no_cc_61d(val
* self
, val
* p0
) {
63 abstract_compiler__ToolContext__opt_no_cc_61d(self
, p0
);
66 /* method abstract_compiler#ToolContext#opt_cc_path for (self: ToolContext): OptionArray */
67 val
* abstract_compiler__ToolContext__opt_cc_path(val
* self
) {
68 val
* var
/* : OptionArray */;
69 val
* var1
/* : OptionArray */;
70 var1
= self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_cc_path
].val
; /* @opt_cc_path on <self:ToolContext> */
72 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @opt_cc_path", "src/abstract_compiler.nit", 31);
79 /* method abstract_compiler#ToolContext#opt_cc_path for (self: Object): OptionArray */
80 val
* VIRTUAL_abstract_compiler__ToolContext__opt_cc_path(val
* self
) {
81 val
* var
/* : OptionArray */;
82 val
* var1
/* : OptionArray */;
83 var1
= abstract_compiler__ToolContext__opt_cc_path(self
);
88 /* method abstract_compiler#ToolContext#opt_cc_path= for (self: ToolContext, OptionArray) */
89 void abstract_compiler__ToolContext__opt_cc_path_61d(val
* self
, val
* p0
) {
90 self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_cc_path
].val
= p0
; /* @opt_cc_path on <self:ToolContext> */
93 /* method abstract_compiler#ToolContext#opt_cc_path= for (self: Object, OptionArray) */
94 void VIRTUAL_abstract_compiler__ToolContext__opt_cc_path_61d(val
* self
, val
* p0
) {
95 abstract_compiler__ToolContext__opt_cc_path_61d(self
, p0
);
98 /* method abstract_compiler#ToolContext#opt_make_flags for (self: ToolContext): OptionString */
99 val
* abstract_compiler__ToolContext__opt_make_flags(val
* self
) {
100 val
* var
/* : OptionString */;
101 val
* var1
/* : OptionString */;
102 var1
= self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_make_flags
].val
; /* @opt_make_flags on <self:ToolContext> */
104 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @opt_make_flags", "src/abstract_compiler.nit", 33);
111 /* method abstract_compiler#ToolContext#opt_make_flags for (self: Object): OptionString */
112 val
* VIRTUAL_abstract_compiler__ToolContext__opt_make_flags(val
* self
) {
113 val
* var
/* : OptionString */;
114 val
* var1
/* : OptionString */;
115 var1
= abstract_compiler__ToolContext__opt_make_flags(self
);
120 /* method abstract_compiler#ToolContext#opt_make_flags= for (self: ToolContext, OptionString) */
121 void abstract_compiler__ToolContext__opt_make_flags_61d(val
* self
, val
* p0
) {
122 self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_make_flags
].val
= p0
; /* @opt_make_flags on <self:ToolContext> */
125 /* method abstract_compiler#ToolContext#opt_make_flags= for (self: Object, OptionString) */
126 void VIRTUAL_abstract_compiler__ToolContext__opt_make_flags_61d(val
* self
, val
* p0
) {
127 abstract_compiler__ToolContext__opt_make_flags_61d(self
, p0
);
130 /* method abstract_compiler#ToolContext#opt_compile_dir for (self: ToolContext): OptionString */
131 val
* abstract_compiler__ToolContext__opt_compile_dir(val
* self
) {
132 val
* var
/* : OptionString */;
133 val
* var1
/* : OptionString */;
134 var1
= self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_compile_dir
].val
; /* @opt_compile_dir on <self:ToolContext> */
136 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @opt_compile_dir", "src/abstract_compiler.nit", 35);
143 /* method abstract_compiler#ToolContext#opt_compile_dir for (self: Object): OptionString */
144 val
* VIRTUAL_abstract_compiler__ToolContext__opt_compile_dir(val
* self
) {
145 val
* var
/* : OptionString */;
146 val
* var1
/* : OptionString */;
147 var1
= abstract_compiler__ToolContext__opt_compile_dir(self
);
152 /* method abstract_compiler#ToolContext#opt_compile_dir= for (self: ToolContext, OptionString) */
153 void abstract_compiler__ToolContext__opt_compile_dir_61d(val
* self
, val
* p0
) {
154 self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_compile_dir
].val
= p0
; /* @opt_compile_dir on <self:ToolContext> */
157 /* method abstract_compiler#ToolContext#opt_compile_dir= for (self: Object, OptionString) */
158 void VIRTUAL_abstract_compiler__ToolContext__opt_compile_dir_61d(val
* self
, val
* p0
) {
159 abstract_compiler__ToolContext__opt_compile_dir_61d(self
, p0
);
162 /* method abstract_compiler#ToolContext#opt_hardening for (self: ToolContext): OptionBool */
163 val
* abstract_compiler__ToolContext__opt_hardening(val
* self
) {
164 val
* var
/* : OptionBool */;
165 val
* var1
/* : OptionBool */;
166 var1
= self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_hardening
].val
; /* @opt_hardening on <self:ToolContext> */
168 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @opt_hardening", "src/abstract_compiler.nit", 37);
175 /* method abstract_compiler#ToolContext#opt_hardening for (self: Object): OptionBool */
176 val
* VIRTUAL_abstract_compiler__ToolContext__opt_hardening(val
* self
) {
177 val
* var
/* : OptionBool */;
178 val
* var1
/* : OptionBool */;
179 var1
= abstract_compiler__ToolContext__opt_hardening(self
);
184 /* method abstract_compiler#ToolContext#opt_hardening= for (self: ToolContext, OptionBool) */
185 void abstract_compiler__ToolContext__opt_hardening_61d(val
* self
, val
* p0
) {
186 self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_hardening
].val
= p0
; /* @opt_hardening on <self:ToolContext> */
189 /* method abstract_compiler#ToolContext#opt_hardening= for (self: Object, OptionBool) */
190 void VIRTUAL_abstract_compiler__ToolContext__opt_hardening_61d(val
* self
, val
* p0
) {
191 abstract_compiler__ToolContext__opt_hardening_61d(self
, p0
);
194 /* method abstract_compiler#ToolContext#opt_no_shortcut_range for (self: ToolContext): OptionBool */
195 val
* abstract_compiler__ToolContext__opt_no_shortcut_range(val
* self
) {
196 val
* var
/* : OptionBool */;
197 val
* var1
/* : OptionBool */;
198 var1
= self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_shortcut_range
].val
; /* @opt_no_shortcut_range on <self:ToolContext> */
200 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @opt_no_shortcut_range", "src/abstract_compiler.nit", 39);
207 /* method abstract_compiler#ToolContext#opt_no_shortcut_range for (self: Object): OptionBool */
208 val
* VIRTUAL_abstract_compiler__ToolContext__opt_no_shortcut_range(val
* self
) {
209 val
* var
/* : OptionBool */;
210 val
* var1
/* : OptionBool */;
211 var1
= abstract_compiler__ToolContext__opt_no_shortcut_range(self
);
216 /* method abstract_compiler#ToolContext#opt_no_shortcut_range= for (self: ToolContext, OptionBool) */
217 void abstract_compiler__ToolContext__opt_no_shortcut_range_61d(val
* self
, val
* p0
) {
218 self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_shortcut_range
].val
= p0
; /* @opt_no_shortcut_range on <self:ToolContext> */
221 /* method abstract_compiler#ToolContext#opt_no_shortcut_range= for (self: Object, OptionBool) */
222 void VIRTUAL_abstract_compiler__ToolContext__opt_no_shortcut_range_61d(val
* self
, val
* p0
) {
223 abstract_compiler__ToolContext__opt_no_shortcut_range_61d(self
, p0
);
226 /* method abstract_compiler#ToolContext#opt_no_check_covariance for (self: ToolContext): OptionBool */
227 val
* abstract_compiler__ToolContext__opt_no_check_covariance(val
* self
) {
228 val
* var
/* : OptionBool */;
229 val
* var1
/* : OptionBool */;
230 var1
= self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_check_covariance
].val
; /* @opt_no_check_covariance on <self:ToolContext> */
232 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @opt_no_check_covariance", "src/abstract_compiler.nit", 41);
239 /* method abstract_compiler#ToolContext#opt_no_check_covariance for (self: Object): OptionBool */
240 val
* VIRTUAL_abstract_compiler__ToolContext__opt_no_check_covariance(val
* self
) {
241 val
* var
/* : OptionBool */;
242 val
* var1
/* : OptionBool */;
243 var1
= abstract_compiler__ToolContext__opt_no_check_covariance(self
);
248 /* method abstract_compiler#ToolContext#opt_no_check_covariance= for (self: ToolContext, OptionBool) */
249 void abstract_compiler__ToolContext__opt_no_check_covariance_61d(val
* self
, val
* p0
) {
250 self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_check_covariance
].val
= p0
; /* @opt_no_check_covariance on <self:ToolContext> */
253 /* method abstract_compiler#ToolContext#opt_no_check_covariance= for (self: Object, OptionBool) */
254 void VIRTUAL_abstract_compiler__ToolContext__opt_no_check_covariance_61d(val
* self
, val
* p0
) {
255 abstract_compiler__ToolContext__opt_no_check_covariance_61d(self
, p0
);
258 /* method abstract_compiler#ToolContext#opt_no_check_initialization for (self: ToolContext): OptionBool */
259 val
* abstract_compiler__ToolContext__opt_no_check_initialization(val
* self
) {
260 val
* var
/* : OptionBool */;
261 val
* var1
/* : OptionBool */;
262 var1
= self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_check_initialization
].val
; /* @opt_no_check_initialization on <self:ToolContext> */
264 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @opt_no_check_initialization", "src/abstract_compiler.nit", 43);
271 /* method abstract_compiler#ToolContext#opt_no_check_initialization for (self: Object): OptionBool */
272 val
* VIRTUAL_abstract_compiler__ToolContext__opt_no_check_initialization(val
* self
) {
273 val
* var
/* : OptionBool */;
274 val
* var1
/* : OptionBool */;
275 var1
= abstract_compiler__ToolContext__opt_no_check_initialization(self
);
280 /* method abstract_compiler#ToolContext#opt_no_check_initialization= for (self: ToolContext, OptionBool) */
281 void abstract_compiler__ToolContext__opt_no_check_initialization_61d(val
* self
, val
* p0
) {
282 self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_check_initialization
].val
= p0
; /* @opt_no_check_initialization on <self:ToolContext> */
285 /* method abstract_compiler#ToolContext#opt_no_check_initialization= for (self: Object, OptionBool) */
286 void VIRTUAL_abstract_compiler__ToolContext__opt_no_check_initialization_61d(val
* self
, val
* p0
) {
287 abstract_compiler__ToolContext__opt_no_check_initialization_61d(self
, p0
);
290 /* method abstract_compiler#ToolContext#opt_no_check_assert for (self: ToolContext): OptionBool */
291 val
* abstract_compiler__ToolContext__opt_no_check_assert(val
* self
) {
292 val
* var
/* : OptionBool */;
293 val
* var1
/* : OptionBool */;
294 var1
= self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_check_assert
].val
; /* @opt_no_check_assert on <self:ToolContext> */
296 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @opt_no_check_assert", "src/abstract_compiler.nit", 45);
303 /* method abstract_compiler#ToolContext#opt_no_check_assert for (self: Object): OptionBool */
304 val
* VIRTUAL_abstract_compiler__ToolContext__opt_no_check_assert(val
* self
) {
305 val
* var
/* : OptionBool */;
306 val
* var1
/* : OptionBool */;
307 var1
= abstract_compiler__ToolContext__opt_no_check_assert(self
);
312 /* method abstract_compiler#ToolContext#opt_no_check_assert= for (self: ToolContext, OptionBool) */
313 void abstract_compiler__ToolContext__opt_no_check_assert_61d(val
* self
, val
* p0
) {
314 self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_check_assert
].val
= p0
; /* @opt_no_check_assert on <self:ToolContext> */
317 /* method abstract_compiler#ToolContext#opt_no_check_assert= for (self: Object, OptionBool) */
318 void VIRTUAL_abstract_compiler__ToolContext__opt_no_check_assert_61d(val
* self
, val
* p0
) {
319 abstract_compiler__ToolContext__opt_no_check_assert_61d(self
, p0
);
322 /* method abstract_compiler#ToolContext#opt_no_check_autocast for (self: ToolContext): OptionBool */
323 val
* abstract_compiler__ToolContext__opt_no_check_autocast(val
* self
) {
324 val
* var
/* : OptionBool */;
325 val
* var1
/* : OptionBool */;
326 var1
= self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_check_autocast
].val
; /* @opt_no_check_autocast on <self:ToolContext> */
328 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @opt_no_check_autocast", "src/abstract_compiler.nit", 47);
335 /* method abstract_compiler#ToolContext#opt_no_check_autocast for (self: Object): OptionBool */
336 val
* VIRTUAL_abstract_compiler__ToolContext__opt_no_check_autocast(val
* self
) {
337 val
* var
/* : OptionBool */;
338 val
* var1
/* : OptionBool */;
339 var1
= abstract_compiler__ToolContext__opt_no_check_autocast(self
);
344 /* method abstract_compiler#ToolContext#opt_no_check_autocast= for (self: ToolContext, OptionBool) */
345 void abstract_compiler__ToolContext__opt_no_check_autocast_61d(val
* self
, val
* p0
) {
346 self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_check_autocast
].val
= p0
; /* @opt_no_check_autocast on <self:ToolContext> */
349 /* method abstract_compiler#ToolContext#opt_no_check_autocast= for (self: Object, OptionBool) */
350 void VIRTUAL_abstract_compiler__ToolContext__opt_no_check_autocast_61d(val
* self
, val
* p0
) {
351 abstract_compiler__ToolContext__opt_no_check_autocast_61d(self
, p0
);
354 /* method abstract_compiler#ToolContext#opt_no_check_other for (self: ToolContext): OptionBool */
355 val
* abstract_compiler__ToolContext__opt_no_check_other(val
* self
) {
356 val
* var
/* : OptionBool */;
357 val
* var1
/* : OptionBool */;
358 var1
= self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_check_other
].val
; /* @opt_no_check_other on <self:ToolContext> */
360 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @opt_no_check_other", "src/abstract_compiler.nit", 49);
367 /* method abstract_compiler#ToolContext#opt_no_check_other for (self: Object): OptionBool */
368 val
* VIRTUAL_abstract_compiler__ToolContext__opt_no_check_other(val
* self
) {
369 val
* var
/* : OptionBool */;
370 val
* var1
/* : OptionBool */;
371 var1
= abstract_compiler__ToolContext__opt_no_check_other(self
);
376 /* method abstract_compiler#ToolContext#opt_no_check_other= for (self: ToolContext, OptionBool) */
377 void abstract_compiler__ToolContext__opt_no_check_other_61d(val
* self
, val
* p0
) {
378 self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_check_other
].val
= p0
; /* @opt_no_check_other on <self:ToolContext> */
381 /* method abstract_compiler#ToolContext#opt_no_check_other= for (self: Object, OptionBool) */
382 void VIRTUAL_abstract_compiler__ToolContext__opt_no_check_other_61d(val
* self
, val
* p0
) {
383 abstract_compiler__ToolContext__opt_no_check_other_61d(self
, p0
);
386 /* method abstract_compiler#ToolContext#opt_typing_test_metrics for (self: ToolContext): OptionBool */
387 val
* abstract_compiler__ToolContext__opt_typing_test_metrics(val
* self
) {
388 val
* var
/* : OptionBool */;
389 val
* var1
/* : OptionBool */;
390 var1
= self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_typing_test_metrics
].val
; /* @opt_typing_test_metrics on <self:ToolContext> */
392 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @opt_typing_test_metrics", "src/abstract_compiler.nit", 51);
399 /* method abstract_compiler#ToolContext#opt_typing_test_metrics for (self: Object): OptionBool */
400 val
* VIRTUAL_abstract_compiler__ToolContext__opt_typing_test_metrics(val
* self
) {
401 val
* var
/* : OptionBool */;
402 val
* var1
/* : OptionBool */;
403 var1
= abstract_compiler__ToolContext__opt_typing_test_metrics(self
);
408 /* method abstract_compiler#ToolContext#opt_typing_test_metrics= for (self: ToolContext, OptionBool) */
409 void abstract_compiler__ToolContext__opt_typing_test_metrics_61d(val
* self
, val
* p0
) {
410 self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_typing_test_metrics
].val
= p0
; /* @opt_typing_test_metrics on <self:ToolContext> */
413 /* method abstract_compiler#ToolContext#opt_typing_test_metrics= for (self: Object, OptionBool) */
414 void VIRTUAL_abstract_compiler__ToolContext__opt_typing_test_metrics_61d(val
* self
, val
* p0
) {
415 abstract_compiler__ToolContext__opt_typing_test_metrics_61d(self
, p0
);
418 /* method abstract_compiler#ToolContext#init for (self: ToolContext) */
419 void abstract_compiler__ToolContext__init(val
* self
) {
420 val
* var
/* : OptionContext */;
421 val
* var1
/* : OptionString */;
422 val
* var2
/* : OptionBool */;
423 val
* var3
/* : OptionString */;
424 val
* var4
/* : OptionString */;
425 val
* var5
/* : OptionBool */;
426 val
* var6
/* : OptionBool */;
427 val
* var7
/* : Array[Option] */;
428 long var8
/* : Int */;
429 val
* var9
/* : NativeArray[Option] */;
430 val
* var10
/* : OptionContext */;
431 val
* var11
/* : OptionBool */;
432 val
* var12
/* : OptionBool */;
433 val
* var13
/* : OptionBool */;
434 val
* var14
/* : OptionBool */;
435 val
* var15
/* : OptionBool */;
436 val
* var16
/* : Array[Option] */;
437 long var17
/* : Int */;
438 val
* var18
/* : NativeArray[Option] */;
439 val
* var19
/* : OptionContext */;
440 val
* var20
/* : OptionBool */;
441 val
* var21
/* : Array[Option] */;
442 long var22
/* : Int */;
443 val
* var23
/* : NativeArray[Option] */;
444 ((void (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__init
]))(self
) /* init on <self:ToolContext>*/;
445 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_toolcontext__ToolContext__option_context
]))(self
) /* option_context on <self:ToolContext>*/;
446 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_output
]))(self
) /* opt_output on <self:ToolContext>*/;
447 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_cc
]))(self
) /* opt_no_cc on <self:ToolContext>*/;
448 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_make_flags
]))(self
) /* opt_make_flags on <self:ToolContext>*/;
449 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_compile_dir
]))(self
) /* opt_compile_dir on <self:ToolContext>*/;
450 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_hardening
]))(self
) /* opt_hardening on <self:ToolContext>*/;
451 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_shortcut_range
]))(self
) /* opt_no_shortcut_range on <self:ToolContext>*/;
452 var7
= NEW_array__Array(&type_array__Arrayopts__Option
);
453 { /* var7 = array_instance Array[Option] */
455 var9
= NEW_array__NativeArray(var8
, &type_array__NativeArrayopts__Option
);
456 ((struct instance_array__NativeArray
*)var9
)->values
[0] = (val
*) var1
;
457 ((struct instance_array__NativeArray
*)var9
)->values
[1] = (val
*) var2
;
458 ((struct instance_array__NativeArray
*)var9
)->values
[2] = (val
*) var3
;
459 ((struct instance_array__NativeArray
*)var9
)->values
[3] = (val
*) var4
;
460 ((struct instance_array__NativeArray
*)var9
)->values
[4] = (val
*) var5
;
461 ((struct instance_array__NativeArray
*)var9
)->values
[5] = (val
*) var6
;
462 ((void (*)(val
*, val
*, long))(var7
->class->vft
[COLOR_array__Array__with_native
]))(var7
, var9
, var8
) /* with_native on <var7:Array[Option]>*/;
463 CHECK_NEW_array__Array(var7
);
465 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_opts__OptionContext__add_option
]))(var
, var7
) /* add_option on <var:OptionContext>*/;
466 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_toolcontext__ToolContext__option_context
]))(self
) /* option_context on <self:ToolContext>*/;
467 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_covariance
]))(self
) /* opt_no_check_covariance on <self:ToolContext>*/;
468 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_initialization
]))(self
) /* opt_no_check_initialization on <self:ToolContext>*/;
469 var13
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_assert
]))(self
) /* opt_no_check_assert on <self:ToolContext>*/;
470 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_autocast
]))(self
) /* opt_no_check_autocast on <self:ToolContext>*/;
471 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_other
]))(self
) /* opt_no_check_other on <self:ToolContext>*/;
472 var16
= NEW_array__Array(&type_array__Arrayopts__Option
);
473 { /* var16 = array_instance Array[Option] */
475 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArrayopts__Option
);
476 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var11
;
477 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var12
;
478 ((struct instance_array__NativeArray
*)var18
)->values
[2] = (val
*) var13
;
479 ((struct instance_array__NativeArray
*)var18
)->values
[3] = (val
*) var14
;
480 ((struct instance_array__NativeArray
*)var18
)->values
[4] = (val
*) var15
;
481 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Option]>*/;
482 CHECK_NEW_array__Array(var16
);
484 ((void (*)(val
*, val
*))(var10
->class->vft
[COLOR_opts__OptionContext__add_option
]))(var10
, var16
) /* add_option on <var10:OptionContext>*/;
485 var19
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_toolcontext__ToolContext__option_context
]))(self
) /* option_context on <self:ToolContext>*/;
486 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_typing_test_metrics
]))(self
) /* opt_typing_test_metrics on <self:ToolContext>*/;
487 var21
= NEW_array__Array(&type_array__Arrayopts__Option
);
488 { /* var21 = array_instance Array[Option] */
490 var23
= NEW_array__NativeArray(var22
, &type_array__NativeArrayopts__Option
);
491 ((struct instance_array__NativeArray
*)var23
)->values
[0] = (val
*) var20
;
492 ((void (*)(val
*, val
*, long))(var21
->class->vft
[COLOR_array__Array__with_native
]))(var21
, var23
, var22
) /* with_native on <var21:Array[Option]>*/;
493 CHECK_NEW_array__Array(var21
);
495 ((void (*)(val
*, val
*))(var19
->class->vft
[COLOR_opts__OptionContext__add_option
]))(var19
, var21
) /* add_option on <var19:OptionContext>*/;
498 /* method abstract_compiler#ToolContext#init for (self: Object) */
499 void VIRTUAL_abstract_compiler__ToolContext__init(val
* self
) {
500 abstract_compiler__ToolContext__init(self
);
503 /* method abstract_compiler#ModelBuilder#cc_paths for (self: ModelBuilder): Array[String] */
504 val
* abstract_compiler__ModelBuilder__cc_paths(val
* self
) {
505 val
* var
/* : Array[String] */;
506 val
* var1
/* : Array[String] */;
507 var1
= self
->attrs
[COLOR_abstract_compiler__ModelBuilder___64dcc_paths
].val
; /* @cc_paths on <self:ModelBuilder> */
509 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @cc_paths", "src/abstract_compiler.nit", 64);
516 /* method abstract_compiler#ModelBuilder#cc_paths for (self: Object): Array[String] */
517 val
* VIRTUAL_abstract_compiler__ModelBuilder__cc_paths(val
* self
) {
518 val
* var
/* : Array[String] */;
519 val
* var1
/* : Array[String] */;
520 var1
= abstract_compiler__ModelBuilder__cc_paths(self
);
525 /* method abstract_compiler#ModelBuilder#cc_paths= for (self: ModelBuilder, Array[String]) */
526 void abstract_compiler__ModelBuilder__cc_paths_61d(val
* self
, val
* p0
) {
527 self
->attrs
[COLOR_abstract_compiler__ModelBuilder___64dcc_paths
].val
= p0
; /* @cc_paths on <self:ModelBuilder> */
530 /* method abstract_compiler#ModelBuilder#cc_paths= for (self: Object, Array[String]) */
531 void VIRTUAL_abstract_compiler__ModelBuilder__cc_paths_61d(val
* self
, val
* p0
) {
532 abstract_compiler__ModelBuilder__cc_paths_61d(self
, p0
);
535 /* method abstract_compiler#ModelBuilder#init for (self: ModelBuilder, Model, ToolContext) */
536 void abstract_compiler__ModelBuilder__init(val
* self
, val
* p0
, val
* p1
) {
537 val
* var_model
/* var model: Model */;
538 val
* var_toolcontext
/* var toolcontext: ToolContext */;
540 val
* var
/* : String */;
541 char* var1
/* : NativeString */;
542 long var2
/* : Int */;
543 val
* var3
/* : String */;
544 val
* var4
/* : String */;
545 val
* var_path_env
/* var path_env: String */;
546 short int var5
/* : Bool */;
547 short int var6
/* : Bool */;
548 val
* var7
/* : Array[Object] */;
549 long var8
/* : Int */;
550 val
* var_
/* var : Array[Object] */;
551 static val
* varonce9
;
552 val
* var10
/* : String */;
553 char* var11
/* : NativeString */;
554 long var12
/* : Int */;
555 val
* var13
/* : String */;
556 static val
* varonce14
;
557 val
* var15
/* : String */;
558 char* var16
/* : NativeString */;
559 long var17
/* : Int */;
560 val
* var18
/* : String */;
561 val
* var19
/* : String */;
562 val
* var_libname
/* var libname: String */;
563 short int var20
/* : Bool */;
564 val
* var21
/* : Array[String] */;
565 val
* var22
/* : Array[Object] */;
566 long var23
/* : Int */;
567 val
* var_24
/* var : Array[Object] */;
568 static val
* varonce25
;
569 val
* var26
/* : String */;
570 char* var27
/* : NativeString */;
571 long var28
/* : Int */;
572 val
* var29
/* : String */;
573 val
* var30
/* : Sys */;
574 val
* var31
/* : String */;
575 val
* var32
/* : String */;
576 static val
* varonce33
;
577 val
* var34
/* : String */;
578 char* var35
/* : NativeString */;
579 long var36
/* : Int */;
580 val
* var37
/* : String */;
581 val
* var38
/* : String */;
582 val
* var_libname39
/* var libname: String */;
583 short int var40
/* : Bool */;
584 val
* var41
/* : Array[String] */;
585 val
* var42
/* : String */;
586 val
* var43
/* : Array[String] */;
587 short int var44
/* : Bool */;
588 val
* var45
/* : null */;
589 static val
* varonce46
;
590 val
* var47
/* : String */;
591 char* var48
/* : NativeString */;
592 long var49
/* : Int */;
593 val
* var50
/* : String */;
594 val
* var51
/* : Array[String] */;
595 val
* var52
/* : OptionArray */;
596 val
* var53
/* : nullable Object */;
597 static val
* varonce54
;
598 val
* var55
/* : String */;
599 char* var56
/* : NativeString */;
600 long var57
/* : Int */;
601 val
* var58
/* : String */;
602 val
* var59
/* : String */;
603 short int var60
/* : Bool */;
604 short int var61
/* : Bool */;
605 val
* var62
/* : Array[String] */;
606 char var63
/* : Char */;
607 val
* var64
/* : Array[String] */;
608 val
* var65
/* : Pattern */;
610 var_toolcontext
= p1
;
611 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__ModelBuilder__init
]))(self
, p0
, p1
) /* init on <self:ModelBuilder>*/;
617 var3
= string__NativeString__to_s_with_length(var1
, var2
);
621 var4
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_environ__String__environ
]))(var
) /* environ on <var:String>*/;
623 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>*/;
626 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
628 ((void (*)(val
*, long))(var7
->class->vft
[COLOR_array__Array__with_capacity
]))(var7
, var8
) /* with_capacity on <var7:Array[Object]>*/;
629 CHECK_NEW_array__Array(var7
);
636 var13
= string__NativeString__to_s_with_length(var11
, var12
);
640 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var10
) /* add on <var_:Array[Object]>*/;
641 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var_path_env
) /* add on <var_:Array[Object]>*/;
647 var18
= string__NativeString__to_s_with_length(var16
, var17
);
651 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var15
) /* add on <var_:Array[Object]>*/;
652 var19
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
654 var20
= ((short int (*)(val
*))(var_libname
->class->vft
[COLOR_file__String__file_exists
]))(var_libname
) /* file_exists on <var_libname:String>*/;
656 var21
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ModelBuilder__cc_paths
]))(self
) /* cc_paths on <self:ModelBuilder>*/;
657 ((void (*)(val
*, val
*))(var21
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var21
, var_libname
) /* add on <var21:Array[String]>*/;
662 var22
= NEW_array__Array(&type_array__Arraykernel__Object
);
664 ((void (*)(val
*, long))(var22
->class->vft
[COLOR_array__Array__with_capacity
]))(var22
, var23
) /* with_capacity on <var22:Array[Object]>*/;
665 CHECK_NEW_array__Array(var22
);
672 var29
= string__NativeString__to_s_with_length(var27
, var28
);
676 ((void (*)(val
*, val
*))(var_24
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_24
, var26
) /* add on <var_24:Array[Object]>*/;
677 var30
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__sys
]))(self
) /* sys on <self:ModelBuilder>*/;
678 var31
= ((val
* (*)(val
*))(var30
->class->vft
[COLOR_string__Sys__program_name
]))(var30
) /* program_name on <var30:Sys>*/;
679 var32
= ((val
* (*)(val
*))(var31
->class->vft
[COLOR_file__String__dirname
]))(var31
) /* dirname on <var31:String>*/;
680 ((void (*)(val
*, val
*))(var_24
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_24
, var32
) /* add on <var_24:Array[Object]>*/;
686 var37
= string__NativeString__to_s_with_length(var35
, var36
);
690 ((void (*)(val
*, val
*))(var_24
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_24
, var34
) /* add on <var_24:Array[Object]>*/;
691 var38
= ((val
* (*)(val
*))(var_24
->class->vft
[COLOR_string__Object__to_s
]))(var_24
) /* to_s on <var_24:Array[Object]>*/;
692 var_libname39
= var38
;
693 var40
= ((short int (*)(val
*))(var_libname39
->class->vft
[COLOR_file__String__file_exists
]))(var_libname39
) /* file_exists on <var_libname39:String>*/;
695 var41
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ModelBuilder__cc_paths
]))(self
) /* cc_paths on <self:ModelBuilder>*/;
696 var42
= ((val
* (*)(val
*))(var_libname39
->class->vft
[COLOR_file__String__simplify_path
]))(var_libname39
) /* simplify_path on <var_libname39:String>*/;
697 ((void (*)(val
*, val
*))(var41
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var41
, var42
) /* add on <var41:Array[String]>*/;
700 var43
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ModelBuilder__cc_paths
]))(self
) /* cc_paths on <self:ModelBuilder>*/;
701 var44
= ((short int (*)(val
*))(var43
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var43
) /* is_empty on <var43:Array[String]>*/;
707 var48
= "Cannot determine the nit clib path. define envvar NIT_DIR.";
709 var50
= string__NativeString__to_s_with_length(var48
, var49
);
713 ((void (*)(val
*, val
*, val
*))(var_toolcontext
->class->vft
[COLOR_toolcontext__ToolContext__error
]))(var_toolcontext
, var45
, var47
) /* error on <var_toolcontext:ToolContext>*/;
716 var51
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ModelBuilder__cc_paths
]))(self
) /* cc_paths on <self:ModelBuilder>*/;
717 var52
= ((val
* (*)(val
*))(var_toolcontext
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_cc_path
]))(var_toolcontext
) /* opt_cc_path on <var_toolcontext:ToolContext>*/;
718 var53
= ((val
* (*)(val
*))(var52
->class->vft
[COLOR_opts__Option__value
]))(var52
) /* value on <var52:OptionArray>*/;
719 ((void (*)(val
*, val
*))(var51
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var51
, var53
) /* append on <var51:Array[String]>*/;
723 var56
= "NIT_CC_PATH";
725 var58
= string__NativeString__to_s_with_length(var56
, var57
);
729 var59
= ((val
* (*)(val
*))(var55
->class->vft
[COLOR_environ__String__environ
]))(var55
) /* environ on <var55:String>*/;
730 var_path_env
= var59
;
731 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>*/;
734 var62
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ModelBuilder__cc_paths
]))(self
) /* cc_paths on <self:ModelBuilder>*/;
736 var65
= BOX_kernel__Char(var63
); /* autobox from Char to Pattern */
737 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>*/;
738 ((void (*)(val
*, val
*))(var62
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var62
, var64
) /* append on <var62:Array[String]>*/;
743 /* method abstract_compiler#ModelBuilder#init for (self: Object, Model, ToolContext) */
744 void VIRTUAL_abstract_compiler__ModelBuilder__init(val
* self
, val
* p0
, val
* p1
) {
745 abstract_compiler__ModelBuilder__init(self
, p0
, p1
);
748 /* method abstract_compiler#ModelBuilder#write_and_make for (self: ModelBuilder, AbstractCompiler) */
749 void abstract_compiler__ModelBuilder__write_and_make(val
* self
, val
* p0
) {
750 val
* var_compiler
/* var compiler: AbstractCompiler */;
751 val
* var
/* : MModule */;
752 val
* var_mainmodule
/* var mainmodule: MModule */;
753 long var1
/* : Int */;
754 long var_time0
/* var time0: Int */;
755 val
* var2
/* : ToolContext */;
757 val
* var3
/* : String */;
758 char* var4
/* : NativeString */;
759 long var5
/* : Int */;
760 val
* var6
/* : String */;
761 long var7
/* : Int */;
762 val
* var8
/* : ToolContext */;
763 val
* var9
/* : OptionString */;
764 val
* var10
/* : nullable Object */;
765 val
* var_compile_dir
/* var compile_dir: nullable String */;
766 val
* var11
/* : null */;
767 short int var12
/* : Bool */;
768 static val
* varonce13
;
769 val
* var14
/* : String */;
770 char* var15
/* : NativeString */;
771 long var16
/* : Int */;
772 val
* var17
/* : String */;
773 static val
* varonce18
;
774 val
* var19
/* : String */;
775 char* var20
/* : NativeString */;
776 long var21
/* : Int */;
777 val
* var22
/* : String */;
778 val
* var_orig_dir
/* var orig_dir: String */;
779 val
* var23
/* : ToolContext */;
780 val
* var24
/* : OptionString */;
781 val
* var25
/* : nullable Object */;
782 val
* var_outname
/* var outname: nullable String */;
783 val
* var26
/* : null */;
784 short int var27
/* : Bool */;
785 val
* var28
/* : Array[Object] */;
786 long var29
/* : Int */;
787 val
* var_
/* var : Array[Object] */;
788 static val
* varonce30
;
789 val
* var31
/* : String */;
790 char* var32
/* : NativeString */;
791 long var33
/* : Int */;
792 val
* var34
/* : String */;
793 val
* var35
/* : String */;
794 static val
* varonce36
;
795 val
* var37
/* : String */;
796 char* var38
/* : NativeString */;
797 long var39
/* : Int */;
798 val
* var40
/* : String */;
799 val
* var41
/* : String */;
800 val
* var42
/* : String */;
801 val
* var43
/* : String */;
802 val
* var_outpath
/* var outpath: String */;
803 val
* var44
/* : CodeWriter */;
804 val
* var45
/* : CodeFile */;
805 val
* var46
/* : String */;
806 static val
* varonce47
;
807 val
* var48
/* : String */;
808 char* var49
/* : NativeString */;
809 long var50
/* : Int */;
810 val
* var51
/* : String */;
811 val
* var52
/* : String */;
812 val
* var_hfilename
/* var hfilename: String */;
813 val
* var53
/* : Array[Object] */;
814 long var54
/* : Int */;
815 val
* var_55
/* var : Array[Object] */;
816 static val
* varonce56
;
817 val
* var57
/* : String */;
818 char* var58
/* : NativeString */;
819 long var59
/* : Int */;
820 val
* var60
/* : String */;
821 static val
* varonce61
;
822 val
* var62
/* : String */;
823 char* var63
/* : NativeString */;
824 long var64
/* : Int */;
825 val
* var65
/* : String */;
826 static val
* varonce66
;
827 val
* var67
/* : String */;
828 char* var68
/* : NativeString */;
829 long var69
/* : Int */;
830 val
* var70
/* : String */;
831 val
* var71
/* : String */;
832 val
* var_hfilepath
/* var hfilepath: String */;
833 val
* var72
/* : OFStream */;
834 val
* var_h
/* var h: OFStream */;
835 val
* var73
/* : CodeWriter */;
836 val
* var74
/* : List[String] */;
837 val
* var75
/* : Iterator[nullable Object] */;
838 short int var76
/* : Bool */;
839 val
* var77
/* : nullable Object */;
840 val
* var_l
/* var l: String */;
841 static val
* varonce78
;
842 val
* var79
/* : String */;
843 char* var80
/* : NativeString */;
844 long var81
/* : Int */;
845 val
* var82
/* : String */;
846 val
* var83
/* : CodeWriter */;
847 val
* var84
/* : List[String] */;
848 val
* var85
/* : Iterator[nullable Object] */;
849 short int var86
/* : Bool */;
850 val
* var87
/* : nullable Object */;
851 val
* var_l88
/* var l: String */;
852 static val
* varonce89
;
853 val
* var90
/* : String */;
854 char* var91
/* : NativeString */;
855 long var92
/* : Int */;
856 val
* var93
/* : String */;
857 val
* var95
/* : Array[String] */;
858 val
* var_cfiles
/* var cfiles: Array[String] */;
859 val
* var96
/* : List[CodeFile] */;
860 val
* var97
/* : Iterator[nullable Object] */;
861 short int var98
/* : Bool */;
862 val
* var99
/* : nullable Object */;
863 val
* var_f
/* var f: CodeFile */;
864 long var100
/* : Int */;
865 long var_i
/* var i: Int */;
866 val
* var101
/* : null */;
867 val
* var_hfile
/* var hfile: nullable OFStream */;
868 long var102
/* : Int */;
869 long var_count
/* var count: Int */;
870 val
* var103
/* : Array[Object] */;
871 long var104
/* : Int */;
872 val
* var_105
/* var : Array[Object] */;
873 static val
* varonce106
;
874 val
* var107
/* : String */;
875 char* var108
/* : NativeString */;
876 long var109
/* : Int */;
877 val
* var110
/* : String */;
878 val
* var111
/* : String */;
879 static val
* varonce112
;
880 val
* var113
/* : String */;
881 char* var114
/* : NativeString */;
882 long var115
/* : Int */;
883 val
* var116
/* : String */;
884 val
* var117
/* : String */;
885 val
* var_cfilename
/* var cfilename: String */;
886 val
* var118
/* : Array[Object] */;
887 long var119
/* : Int */;
888 val
* var_120
/* var : Array[Object] */;
889 static val
* varonce121
;
890 val
* var122
/* : String */;
891 char* var123
/* : NativeString */;
892 long var124
/* : Int */;
893 val
* var125
/* : String */;
894 static val
* varonce126
;
895 val
* var127
/* : String */;
896 char* var128
/* : NativeString */;
897 long var129
/* : Int */;
898 val
* var130
/* : String */;
899 static val
* varonce131
;
900 val
* var132
/* : String */;
901 char* var133
/* : NativeString */;
902 long var134
/* : Int */;
903 val
* var135
/* : String */;
904 val
* var136
/* : String */;
905 val
* var_cfilepath
/* var cfilepath: String */;
906 val
* var137
/* : OFStream */;
907 static val
* varonce138
;
908 val
* var139
/* : String */;
909 char* var140
/* : NativeString */;
910 long var141
/* : Int */;
911 val
* var142
/* : String */;
912 static val
* varonce143
;
913 val
* var144
/* : String */;
914 char* var145
/* : NativeString */;
915 long var146
/* : Int */;
916 val
* var147
/* : String */;
917 val
* var148
/* : Array[Object] */;
918 long var149
/* : Int */;
919 val
* var150
/* : NativeArray[Object] */;
920 val
* var151
/* : String */;
921 val
* var152
/* : HashSet[String] */;
922 val
* var153
/* : Iterator[nullable Object] */;
923 short int var154
/* : Bool */;
924 val
* var155
/* : nullable Object */;
925 val
* var_key
/* var key: String */;
926 val
* var156
/* : HashMap[String, String] */;
927 short int var157
/* : Bool */;
928 short int var158
/* : Bool */;
929 static val
* varonce159
;
930 val
* var160
/* : String */;
931 char* var161
/* : NativeString */;
932 long var162
/* : Int */;
933 val
* var163
/* : String */;
934 val
* var164
/* : Array[Object] */;
935 long var165
/* : Int */;
936 val
* var166
/* : NativeArray[Object] */;
937 val
* var167
/* : String */;
938 val
* var168
/* : HashMap[String, String] */;
939 val
* var169
/* : nullable Object */;
940 static val
* varonce170
;
941 val
* var171
/* : String */;
942 char* var172
/* : NativeString */;
943 long var173
/* : Int */;
944 val
* var174
/* : String */;
945 val
* var176
/* : null */;
946 val
* var_file
/* var file: nullable OFStream */;
947 val
* var177
/* : Array[CodeWriter] */;
948 val
* var178
/* : Iterator[nullable Object] */;
949 short int var179
/* : Bool */;
950 val
* var180
/* : nullable Object */;
951 val
* var_vis
/* var vis: CodeWriter */;
952 val
* var181
/* : CodeWriter */;
953 short int var182
/* : Bool */;
954 val
* var184
/* : List[String] */;
955 long var185
/* : Int */;
956 val
* var186
/* : List[String] */;
957 long var187
/* : Int */;
958 long var188
/* : Int */;
959 long var190
/* : Int */;
960 long var_total_lines
/* var total_lines: Int */;
961 long var191
/* : Int */;
962 short int var192
/* : Bool */;
963 short int var194
/* : Bool */;
964 long var195
/* : Int */;
965 long var197
/* : Int */;
966 short int var198
/* : Bool */;
967 val
* var199
/* : null */;
968 short int var200
/* : Bool */;
969 short int var_201
/* var : Bool */;
970 long var202
/* : Int */;
971 short int var203
/* : Bool */;
972 short int var205
/* : Bool */;
975 short int var206
/* : Bool */;
976 long var207
/* : Int */;
977 long var208
/* : Int */;
978 long var210
/* : Int */;
979 val
* var211
/* : null */;
980 short int var212
/* : Bool */;
981 val
* var213
/* : Array[Object] */;
982 long var214
/* : Int */;
983 val
* var_215
/* var : Array[Object] */;
984 static val
* varonce216
;
985 val
* var217
/* : String */;
986 char* var218
/* : NativeString */;
987 long var219
/* : Int */;
988 val
* var220
/* : String */;
989 val
* var221
/* : String */;
990 static val
* varonce222
;
991 val
* var223
/* : String */;
992 char* var224
/* : NativeString */;
993 long var225
/* : Int */;
994 val
* var226
/* : String */;
995 val
* var227
/* : nullable Object */;
996 static val
* varonce228
;
997 val
* var229
/* : String */;
998 char* var230
/* : NativeString */;
999 long var231
/* : Int */;
1000 val
* var232
/* : String */;
1001 val
* var233
/* : String */;
1002 val
* var234
/* : Array[Object] */;
1003 long var235
/* : Int */;
1004 val
* var_236
/* var : Array[Object] */;
1005 static val
* varonce237
;
1006 val
* var238
/* : String */;
1007 char* var239
/* : NativeString */;
1008 long var240
/* : Int */;
1009 val
* var241
/* : String */;
1010 static val
* varonce242
;
1011 val
* var243
/* : String */;
1012 char* var244
/* : NativeString */;
1013 long var245
/* : Int */;
1014 val
* var246
/* : String */;
1015 static val
* varonce247
;
1016 val
* var248
/* : String */;
1017 char* var249
/* : NativeString */;
1018 long var250
/* : Int */;
1019 val
* var251
/* : String */;
1020 val
* var252
/* : String */;
1021 val
* var253
/* : ToolContext */;
1022 static val
* varonce254
;
1023 val
* var255
/* : String */;
1024 char* var256
/* : NativeString */;
1025 long var257
/* : Int */;
1026 val
* var258
/* : String */;
1027 val
* var259
/* : Array[Object] */;
1028 long var260
/* : Int */;
1029 val
* var261
/* : NativeArray[Object] */;
1030 val
* var262
/* : String */;
1031 long var263
/* : Int */;
1032 val
* var264
/* : OFStream */;
1033 static val
* varonce265
;
1034 val
* var266
/* : String */;
1035 char* var267
/* : NativeString */;
1036 long var268
/* : Int */;
1037 val
* var269
/* : String */;
1038 val
* var270
/* : String */;
1039 static val
* varonce271
;
1040 val
* var272
/* : String */;
1041 char* var273
/* : NativeString */;
1042 long var274
/* : Int */;
1043 val
* var275
/* : String */;
1044 val
* var276
/* : Array[Object] */;
1045 long var277
/* : Int */;
1046 val
* var278
/* : NativeArray[Object] */;
1047 val
* var279
/* : String */;
1048 val
* var280
/* : List[String] */;
1049 val
* var281
/* : Iterator[nullable Object] */;
1050 short int var282
/* : Bool */;
1051 val
* var283
/* : nullable Object */;
1052 val
* var_l284
/* var l: String */;
1053 static val
* varonce285
;
1054 val
* var286
/* : String */;
1055 char* var287
/* : NativeString */;
1056 long var288
/* : Int */;
1057 val
* var289
/* : String */;
1058 val
* var291
/* : List[String] */;
1059 val
* var292
/* : Iterator[nullable Object] */;
1060 short int var293
/* : Bool */;
1061 val
* var294
/* : nullable Object */;
1062 val
* var_l295
/* var l: String */;
1063 static val
* varonce296
;
1064 val
* var297
/* : String */;
1065 char* var298
/* : NativeString */;
1066 long var299
/* : Int */;
1067 val
* var300
/* : String */;
1068 val
* var302
/* : null */;
1069 short int var303
/* : Bool */;
1070 val
* var305
/* : ToolContext */;
1071 static val
* varonce306
;
1072 val
* var307
/* : String */;
1073 char* var308
/* : NativeString */;
1074 long var309
/* : Int */;
1075 val
* var310
/* : String */;
1076 long var311
/* : Int */;
1077 val
* var312
/* : Array[Object] */;
1078 long var313
/* : Int */;
1079 val
* var314
/* : NativeArray[Object] */;
1080 val
* var315
/* : Object */;
1081 val
* var316
/* : String */;
1082 long var317
/* : Int */;
1083 val
* var318
/* : Array[Object] */;
1084 long var319
/* : Int */;
1085 val
* var_320
/* var : Array[Object] */;
1086 static val
* varonce321
;
1087 val
* var322
/* : String */;
1088 char* var323
/* : NativeString */;
1089 long var324
/* : Int */;
1090 val
* var325
/* : String */;
1091 val
* var326
/* : String */;
1092 static val
* varonce327
;
1093 val
* var328
/* : String */;
1094 char* var329
/* : NativeString */;
1095 long var330
/* : Int */;
1096 val
* var331
/* : String */;
1097 val
* var332
/* : String */;
1098 val
* var_makename
/* var makename: String */;
1099 val
* var333
/* : Array[Object] */;
1100 long var334
/* : Int */;
1101 val
* var_335
/* var : Array[Object] */;
1102 static val
* varonce336
;
1103 val
* var337
/* : String */;
1104 char* var338
/* : NativeString */;
1105 long var339
/* : Int */;
1106 val
* var340
/* : String */;
1107 static val
* varonce341
;
1108 val
* var342
/* : String */;
1109 char* var343
/* : NativeString */;
1110 long var344
/* : Int */;
1111 val
* var345
/* : String */;
1112 static val
* varonce346
;
1113 val
* var347
/* : String */;
1114 char* var348
/* : NativeString */;
1115 long var349
/* : Int */;
1116 val
* var350
/* : String */;
1117 val
* var351
/* : String */;
1118 val
* var_makepath
/* var makepath: String */;
1119 val
* var352
/* : OFStream */;
1120 val
* var_makefile
/* var makefile: OFStream */;
1121 static val
* varonce353
;
1122 val
* var354
/* : String */;
1123 char* var355
/* : NativeString */;
1124 long var356
/* : Int */;
1125 val
* var357
/* : String */;
1126 val
* var_cc_includes
/* var cc_includes: String */;
1127 val
* var358
/* : Array[String] */;
1128 val
* var359
/* : Iterator[nullable Object] */;
1129 short int var360
/* : Bool */;
1130 val
* var361
/* : nullable Object */;
1131 val
* var_p
/* var p: String */;
1132 val
* var362
/* : String */;
1133 val
* var363
/* : String */;
1134 static val
* varonce364
;
1135 val
* var365
/* : String */;
1136 char* var366
/* : NativeString */;
1137 long var367
/* : Int */;
1138 val
* var368
/* : String */;
1139 val
* var369
/* : String */;
1140 static val
* varonce370
;
1141 val
* var371
/* : String */;
1142 char* var372
/* : NativeString */;
1143 long var373
/* : Int */;
1144 val
* var374
/* : String */;
1145 val
* var375
/* : String */;
1146 val
* var376
/* : String */;
1147 static val
* varonce378
;
1148 val
* var379
/* : String */;
1149 char* var380
/* : NativeString */;
1150 long var381
/* : Int */;
1151 val
* var382
/* : String */;
1152 static val
* varonce383
;
1153 val
* var384
/* : String */;
1154 char* var385
/* : NativeString */;
1155 long var386
/* : Int */;
1156 val
* var387
/* : String */;
1157 val
* var388
/* : Array[Object] */;
1158 long var389
/* : Int */;
1159 val
* var390
/* : NativeArray[Object] */;
1160 val
* var391
/* : String */;
1161 static val
* varonce392
;
1162 val
* var393
/* : String */;
1163 char* var394
/* : NativeString */;
1164 long var395
/* : Int */;
1165 val
* var396
/* : String */;
1166 static val
* varonce397
;
1167 val
* var398
/* : String */;
1168 char* var399
/* : NativeString */;
1169 long var400
/* : Int */;
1170 val
* var401
/* : String */;
1171 val
* var402
/* : Array[Object] */;
1172 long var403
/* : Int */;
1173 val
* var404
/* : NativeArray[Object] */;
1174 val
* var405
/* : String */;
1175 val
* var406
/* : Array[String] */;
1176 val
* var_ofiles
/* var ofiles: Array[String] */;
1177 val
* var407
/* : Iterator[nullable Object] */;
1178 short int var408
/* : Bool */;
1179 val
* var409
/* : nullable Object */;
1180 val
* var_f410
/* var f: String */;
1181 static val
* varonce411
;
1182 val
* var412
/* : String */;
1183 char* var413
/* : NativeString */;
1184 long var414
/* : Int */;
1185 val
* var415
/* : String */;
1186 val
* var416
/* : String */;
1187 static val
* varonce417
;
1188 val
* var418
/* : String */;
1189 char* var419
/* : NativeString */;
1190 long var420
/* : Int */;
1191 val
* var421
/* : String */;
1192 val
* var422
/* : String */;
1193 val
* var_o
/* var o: String */;
1194 static val
* varonce423
;
1195 val
* var424
/* : String */;
1196 char* var425
/* : NativeString */;
1197 long var426
/* : Int */;
1198 val
* var427
/* : String */;
1199 static val
* varonce428
;
1200 val
* var429
/* : String */;
1201 char* var430
/* : NativeString */;
1202 long var431
/* : Int */;
1203 val
* var432
/* : String */;
1204 static val
* varonce433
;
1205 val
* var434
/* : String */;
1206 char* var435
/* : NativeString */;
1207 long var436
/* : Int */;
1208 val
* var437
/* : String */;
1209 static val
* varonce438
;
1210 val
* var439
/* : String */;
1211 char* var440
/* : NativeString */;
1212 long var441
/* : Int */;
1213 val
* var442
/* : String */;
1214 val
* var443
/* : Array[Object] */;
1215 long var444
/* : Int */;
1216 val
* var445
/* : NativeArray[Object] */;
1217 val
* var446
/* : String */;
1218 val
* var448
/* : ExternCFile */;
1219 val
* var449
/* : Array[Object] */;
1220 long var450
/* : Int */;
1221 val
* var_451
/* var : Array[Object] */;
1222 static val
* varonce452
;
1223 val
* var453
/* : String */;
1224 char* var454
/* : NativeString */;
1225 long var455
/* : Int */;
1226 val
* var456
/* : String */;
1227 val
* var457
/* : Array[String] */;
1228 val
* var458
/* : nullable Object */;
1229 static val
* varonce459
;
1230 val
* var460
/* : String */;
1231 char* var461
/* : NativeString */;
1232 long var462
/* : Int */;
1233 val
* var463
/* : String */;
1234 val
* var464
/* : String */;
1235 static val
* varonce465
;
1236 val
* var466
/* : String */;
1237 char* var467
/* : NativeString */;
1238 long var468
/* : Int */;
1239 val
* var469
/* : String */;
1240 val
* var_gc_chooser
/* var gc_chooser: ExternCFile */;
1241 val
* var470
/* : Array[ExternCFile] */;
1242 val
* var471
/* : Array[ExternCFile] */;
1243 val
* var472
/* : Iterator[nullable Object] */;
1244 short int var473
/* : Bool */;
1245 val
* var474
/* : nullable Object */;
1246 val
* var_f475
/* var f: ExternCFile */;
1247 val
* var476
/* : String */;
1248 static val
* varonce477
;
1249 val
* var478
/* : String */;
1250 char* var479
/* : NativeString */;
1251 long var480
/* : Int */;
1252 val
* var481
/* : String */;
1253 val
* var482
/* : String */;
1254 val
* var_basename
/* var basename: String */;
1255 val
* var483
/* : Array[Object] */;
1256 long var484
/* : Int */;
1257 val
* var_485
/* var : Array[Object] */;
1258 static val
* varonce486
;
1259 val
* var487
/* : String */;
1260 char* var488
/* : NativeString */;
1261 long var489
/* : Int */;
1262 val
* var490
/* : String */;
1263 static val
* varonce491
;
1264 val
* var492
/* : String */;
1265 char* var493
/* : NativeString */;
1266 long var494
/* : Int */;
1267 val
* var495
/* : String */;
1268 val
* var496
/* : String */;
1269 val
* var_o497
/* var o: String */;
1270 val
* var498
/* : String */;
1271 val
* var499
/* : String */;
1272 val
* var500
/* : String */;
1273 val
* var_ff
/* var ff: String */;
1274 static val
* varonce501
;
1275 val
* var502
/* : String */;
1276 char* var503
/* : NativeString */;
1277 long var504
/* : Int */;
1278 val
* var505
/* : String */;
1279 static val
* varonce506
;
1280 val
* var507
/* : String */;
1281 char* var508
/* : NativeString */;
1282 long var509
/* : Int */;
1283 val
* var510
/* : String */;
1284 val
* var511
/* : String */;
1285 static val
* varonce512
;
1286 val
* var513
/* : String */;
1287 char* var514
/* : NativeString */;
1288 long var515
/* : Int */;
1289 val
* var516
/* : String */;
1290 static val
* varonce517
;
1291 val
* var518
/* : String */;
1292 char* var519
/* : NativeString */;
1293 long var520
/* : Int */;
1294 val
* var521
/* : String */;
1295 static val
* varonce522
;
1296 val
* var523
/* : String */;
1297 char* var524
/* : NativeString */;
1298 long var525
/* : Int */;
1299 val
* var526
/* : String */;
1300 val
* var527
/* : Array[Object] */;
1301 long var528
/* : Int */;
1302 val
* var529
/* : NativeArray[Object] */;
1303 val
* var530
/* : String */;
1304 static val
* varonce532
;
1305 val
* var533
/* : String */;
1306 char* var534
/* : NativeString */;
1307 long var535
/* : Int */;
1308 val
* var536
/* : String */;
1309 static val
* varonce537
;
1310 val
* var538
/* : String */;
1311 char* var539
/* : NativeString */;
1312 long var540
/* : Int */;
1313 val
* var541
/* : String */;
1314 val
* var542
/* : String */;
1315 static val
* varonce543
;
1316 val
* var544
/* : String */;
1317 char* var545
/* : NativeString */;
1318 long var546
/* : Int */;
1319 val
* var547
/* : String */;
1320 static val
* varonce548
;
1321 val
* var549
/* : String */;
1322 char* var550
/* : NativeString */;
1323 long var551
/* : Int */;
1324 val
* var552
/* : String */;
1325 static val
* varonce553
;
1326 val
* var554
/* : String */;
1327 char* var555
/* : NativeString */;
1328 long var556
/* : Int */;
1329 val
* var557
/* : String */;
1330 val
* var558
/* : String */;
1331 static val
* varonce559
;
1332 val
* var560
/* : String */;
1333 char* var561
/* : NativeString */;
1334 long var562
/* : Int */;
1335 val
* var563
/* : String */;
1336 val
* var564
/* : Array[Object] */;
1337 long var565
/* : Int */;
1338 val
* var566
/* : NativeArray[Object] */;
1339 val
* var567
/* : String */;
1340 static val
* varonce568
;
1341 val
* var569
/* : String */;
1342 char* var570
/* : NativeString */;
1343 long var571
/* : Int */;
1344 val
* var572
/* : String */;
1345 static val
* varonce573
;
1346 val
* var574
/* : String */;
1347 char* var575
/* : NativeString */;
1348 long var576
/* : Int */;
1349 val
* var577
/* : String */;
1350 val
* var578
/* : String */;
1351 static val
* varonce579
;
1352 val
* var580
/* : String */;
1353 char* var581
/* : NativeString */;
1354 long var582
/* : Int */;
1355 val
* var583
/* : String */;
1356 val
* var584
/* : Array[Object] */;
1357 long var585
/* : Int */;
1358 val
* var586
/* : NativeArray[Object] */;
1359 val
* var587
/* : String */;
1360 val
* var588
/* : ToolContext */;
1361 static val
* varonce589
;
1362 val
* var590
/* : String */;
1363 char* var591
/* : NativeString */;
1364 long var592
/* : Int */;
1365 val
* var593
/* : String */;
1366 val
* var594
/* : Array[Object] */;
1367 long var595
/* : Int */;
1368 val
* var596
/* : NativeArray[Object] */;
1369 val
* var597
/* : String */;
1370 long var598
/* : Int */;
1371 long var599
/* : Int */;
1372 long var_time1
/* var time1: Int */;
1373 val
* var600
/* : ToolContext */;
1374 static val
* varonce601
;
1375 val
* var602
/* : String */;
1376 char* var603
/* : NativeString */;
1377 long var604
/* : Int */;
1378 val
* var605
/* : String */;
1379 long var606
/* : Int */;
1380 long var608
/* : Int */;
1381 static val
* varonce609
;
1382 val
* var610
/* : String */;
1383 char* var611
/* : NativeString */;
1384 long var612
/* : Int */;
1385 val
* var613
/* : String */;
1386 val
* var614
/* : Array[Object] */;
1387 long var615
/* : Int */;
1388 val
* var616
/* : NativeArray[Object] */;
1389 val
* var617
/* : Object */;
1390 val
* var618
/* : String */;
1391 long var619
/* : Int */;
1392 val
* var620
/* : ToolContext */;
1393 val
* var621
/* : OptionBool */;
1394 val
* var622
/* : nullable Object */;
1395 short int var623
/* : Bool */;
1396 val
* var624
/* : ToolContext */;
1397 static val
* varonce625
;
1398 val
* var626
/* : String */;
1399 char* var627
/* : NativeString */;
1400 long var628
/* : Int */;
1401 val
* var629
/* : String */;
1402 long var630
/* : Int */;
1403 val
* var631
/* : ToolContext */;
1404 val
* var632
/* : OptionString */;
1405 val
* var633
/* : nullable Object */;
1406 val
* var_makeflags
/* var makeflags: nullable String */;
1407 val
* var634
/* : null */;
1408 short int var635
/* : Bool */;
1409 static val
* varonce636
;
1410 val
* var637
/* : String */;
1411 char* var638
/* : NativeString */;
1412 long var639
/* : Int */;
1413 val
* var640
/* : String */;
1414 val
* var641
/* : ToolContext */;
1415 static val
* varonce642
;
1416 val
* var643
/* : String */;
1417 char* var644
/* : NativeString */;
1418 long var645
/* : Int */;
1419 val
* var646
/* : String */;
1420 static val
* varonce647
;
1421 val
* var648
/* : String */;
1422 char* var649
/* : NativeString */;
1423 long var650
/* : Int */;
1424 val
* var651
/* : String */;
1425 static val
* varonce652
;
1426 val
* var653
/* : String */;
1427 char* var654
/* : NativeString */;
1428 long var655
/* : Int */;
1429 val
* var656
/* : String */;
1430 val
* var657
/* : Array[Object] */;
1431 long var658
/* : Int */;
1432 val
* var659
/* : NativeArray[Object] */;
1433 val
* var660
/* : String */;
1434 long var661
/* : Int */;
1435 val
* var662
/* : ToolContext */;
1436 long var663
/* : Int */;
1437 long var664
/* : Int */;
1438 short int var665
/* : Bool */;
1439 short int var667
/* : Bool */;
1442 short int var670
/* : Bool */;
1443 val
* var671
/* : Sys */;
1444 static val
* varonce672
;
1445 val
* var673
/* : String */;
1446 char* var674
/* : NativeString */;
1447 long var675
/* : Int */;
1448 val
* var676
/* : String */;
1449 static val
* varonce677
;
1450 val
* var678
/* : String */;
1451 char* var679
/* : NativeString */;
1452 long var680
/* : Int */;
1453 val
* var681
/* : String */;
1454 static val
* varonce682
;
1455 val
* var683
/* : String */;
1456 char* var684
/* : NativeString */;
1457 long var685
/* : Int */;
1458 val
* var686
/* : String */;
1459 static val
* varonce687
;
1460 val
* var688
/* : String */;
1461 char* var689
/* : NativeString */;
1462 long var690
/* : Int */;
1463 val
* var691
/* : String */;
1464 val
* var692
/* : Array[Object] */;
1465 long var693
/* : Int */;
1466 val
* var694
/* : NativeArray[Object] */;
1467 val
* var695
/* : String */;
1468 long var696
/* : Int */;
1469 val
* var697
/* : nullable Object */;
1470 val
* var_res
/* var res: nullable Object */;
1471 val
* var698
/* : Sys */;
1472 static val
* varonce699
;
1473 val
* var700
/* : String */;
1474 char* var701
/* : NativeString */;
1475 long var702
/* : Int */;
1476 val
* var703
/* : String */;
1477 static val
* varonce704
;
1478 val
* var705
/* : String */;
1479 char* var706
/* : NativeString */;
1480 long var707
/* : Int */;
1481 val
* var708
/* : String */;
1482 static val
* varonce709
;
1483 val
* var710
/* : String */;
1484 char* var711
/* : NativeString */;
1485 long var712
/* : Int */;
1486 val
* var713
/* : String */;
1487 static val
* varonce714
;
1488 val
* var715
/* : String */;
1489 char* var716
/* : NativeString */;
1490 long var717
/* : Int */;
1491 val
* var718
/* : String */;
1492 val
* var719
/* : Array[Object] */;
1493 long var720
/* : Int */;
1494 val
* var721
/* : NativeArray[Object] */;
1495 val
* var722
/* : String */;
1496 long var723
/* : Int */;
1497 val
* var724
/* : nullable Object */;
1498 long var725
/* : Int */;
1499 short int var726
/* : Bool */;
1500 short int var728
/* : Bool */;
1501 long var729
/* : Int */;
1502 short int var730
/* : Bool */;
1503 val
* var731
/* : ToolContext */;
1504 val
* var732
/* : null */;
1505 static val
* varonce733
;
1506 val
* var734
/* : String */;
1507 char* var735
/* : NativeString */;
1508 long var736
/* : Int */;
1509 val
* var737
/* : String */;
1510 static val
* varonce738
;
1511 val
* var739
/* : String */;
1512 char* var740
/* : NativeString */;
1513 long var741
/* : Int */;
1514 val
* var742
/* : String */;
1515 val
* var743
/* : Array[Object] */;
1516 long var744
/* : Int */;
1517 val
* var745
/* : NativeArray[Object] */;
1518 val
* var746
/* : String */;
1519 long var747
/* : Int */;
1520 val
* var748
/* : ToolContext */;
1521 static val
* varonce749
;
1522 val
* var750
/* : String */;
1523 char* var751
/* : NativeString */;
1524 long var752
/* : Int */;
1525 val
* var753
/* : String */;
1526 long var754
/* : Int */;
1527 long var756
/* : Int */;
1528 static val
* varonce757
;
1529 val
* var758
/* : String */;
1530 char* var759
/* : NativeString */;
1531 long var760
/* : Int */;
1532 val
* var761
/* : String */;
1533 val
* var762
/* : Array[Object] */;
1534 long var763
/* : Int */;
1535 val
* var764
/* : NativeArray[Object] */;
1536 val
* var765
/* : Object */;
1537 val
* var766
/* : String */;
1538 long var767
/* : Int */;
1540 var
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var_compiler
) /* mainmodule on <var_compiler:AbstractCompiler>*/;
1541 var_mainmodule
= var
;
1542 var1
= ((long (*)(val
*))(self
->class->vft
[COLOR_time__Object__get_time
]))(self
) /* get_time on <self:ModelBuilder>*/;
1544 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
1548 var4
= "*** WRITING C ***";
1550 var6
= string__NativeString__to_s_with_length(var4
, var5
);
1555 ((void (*)(val
*, val
*, long))(var2
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var2
, var3
, var7
) /* info on <var2:ToolContext>*/;
1556 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
1557 var9
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_compile_dir
]))(var8
) /* opt_compile_dir on <var8:ToolContext>*/;
1558 var10
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_opts__Option__value
]))(var9
) /* value on <var9:OptionString>*/;
1559 var_compile_dir
= var10
;
1561 if (var_compile_dir
== NULL
) {
1562 var12
= 1; /* is null */
1564 var12
= 0; /* arg is null but recv is not */
1570 var15
= ".nit_compile";
1572 var17
= string__NativeString__to_s_with_length(var15
, var16
);
1576 var_compile_dir
= var14
;
1579 ((void (*)(val
*))(var_compile_dir
->class->vft
[COLOR_file__String__mkdir
]))(var_compile_dir
) /* mkdir on <var_compile_dir:nullable String(String)>*/;
1585 var22
= string__NativeString__to_s_with_length(var20
, var21
);
1589 var_orig_dir
= var19
;
1590 var23
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
1591 var24
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_output
]))(var23
) /* opt_output on <var23:ToolContext>*/;
1592 var25
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_opts__Option__value
]))(var24
) /* value on <var24:OptionString>*/;
1593 var_outname
= var25
;
1595 if (var_outname
== NULL
) {
1596 var27
= 1; /* is null */
1598 var27
= 0; /* arg is null but recv is not */
1601 var28
= NEW_array__Array(&type_array__Arraykernel__Object
);
1603 ((void (*)(val
*, long))(var28
->class->vft
[COLOR_array__Array__with_capacity
]))(var28
, var29
) /* with_capacity on <var28:Array[Object]>*/;
1604 CHECK_NEW_array__Array(var28
);
1611 var34
= string__NativeString__to_s_with_length(var32
, var33
);
1615 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var31
) /* add on <var_:Array[Object]>*/;
1616 var35
= ((val
* (*)(val
*))(var_mainmodule
->class->vft
[COLOR_model_base__MModule__name
]))(var_mainmodule
) /* name on <var_mainmodule:MModule>*/;
1617 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var35
) /* add on <var_:Array[Object]>*/;
1623 var40
= string__NativeString__to_s_with_length(var38
, var39
);
1627 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var37
) /* add on <var_:Array[Object]>*/;
1628 var41
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
1629 var_outname
= var41
;
1632 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>*/;
1633 var43
= ((val
* (*)(val
*))(var42
->class->vft
[COLOR_file__String__simplify_path
]))(var42
) /* simplify_path on <var42:String>*/;
1634 var_outpath
= var43
;
1635 var44
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var_compiler
) /* header on <var_compiler:AbstractCompiler>*/;
1636 var45
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_abstract_compiler__CodeWriter__file
]))(var44
) /* file on <var44:CodeWriter>*/;
1637 var46
= ((val
* (*)(val
*))(var45
->class->vft
[COLOR_abstract_compiler__CodeFile__name
]))(var45
) /* name on <var45:CodeFile>*/;
1643 var51
= string__NativeString__to_s_with_length(var49
, var50
);
1647 var52
= ((val
* (*)(val
*, val
*))(var46
->class->vft
[COLOR_string__String___43d
]))(var46
, var48
) /* + on <var46:String>*/;
1648 var_hfilename
= var52
;
1649 var53
= NEW_array__Array(&type_array__Arraykernel__Object
);
1651 ((void (*)(val
*, long))(var53
->class->vft
[COLOR_array__Array__with_capacity
]))(var53
, var54
) /* with_capacity on <var53:Array[Object]>*/;
1652 CHECK_NEW_array__Array(var53
);
1659 var60
= string__NativeString__to_s_with_length(var58
, var59
);
1663 ((void (*)(val
*, val
*))(var_55
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_55
, var57
) /* add on <var_55:Array[Object]>*/;
1664 ((void (*)(val
*, val
*))(var_55
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_55
, var_compile_dir
) /* add on <var_55:Array[Object]>*/;
1670 var65
= string__NativeString__to_s_with_length(var63
, var64
);
1674 ((void (*)(val
*, val
*))(var_55
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_55
, var62
) /* add on <var_55:Array[Object]>*/;
1675 ((void (*)(val
*, val
*))(var_55
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_55
, var_hfilename
) /* add on <var_55:Array[Object]>*/;
1681 var70
= string__NativeString__to_s_with_length(var68
, var69
);
1685 ((void (*)(val
*, val
*))(var_55
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_55
, var67
) /* add on <var_55:Array[Object]>*/;
1686 var71
= ((val
* (*)(val
*))(var_55
->class->vft
[COLOR_string__Object__to_s
]))(var_55
) /* to_s on <var_55:Array[Object]>*/;
1687 var_hfilepath
= var71
;
1688 var72
= NEW_file__OFStream(&type_file__OFStream
);
1689 ((void (*)(val
*, val
*))(var72
->class->vft
[COLOR_file__OFStream__open
]))(var72
, var_hfilepath
) /* open on <var72:OFStream>*/;
1690 CHECK_NEW_file__OFStream(var72
);
1692 var73
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var_compiler
) /* header on <var_compiler:AbstractCompiler>*/;
1693 var74
= ((val
* (*)(val
*))(var73
->class->vft
[COLOR_abstract_compiler__CodeWriter__decl_lines
]))(var73
) /* decl_lines on <var73:CodeWriter>*/;
1694 var75
= ((val
* (*)(val
*))(var74
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var74
) /* iterator on <var74:List[String]>*/;
1696 var76
= ((short int (*)(val
*))(var75
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var75
) /* is_ok on <var75:Iterator[nullable Object]>*/;
1698 var77
= ((val
* (*)(val
*))(var75
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var75
) /* item on <var75:Iterator[nullable Object]>*/;
1700 ((void (*)(val
*, val
*))(var_h
->class->vft
[COLOR_stream__OStream__write
]))(var_h
, var_l
) /* write on <var_h:OFStream>*/;
1706 var82
= string__NativeString__to_s_with_length(var80
, var81
);
1710 ((void (*)(val
*, val
*))(var_h
->class->vft
[COLOR_stream__OStream__write
]))(var_h
, var79
) /* write on <var_h:OFStream>*/;
1711 CONTINUE_label
: (void)0;
1712 ((void (*)(val
*))(var75
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var75
) /* next on <var75:Iterator[nullable Object]>*/;
1714 BREAK_label
: (void)0;
1715 var83
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var_compiler
) /* header on <var_compiler:AbstractCompiler>*/;
1716 var84
= ((val
* (*)(val
*))(var83
->class->vft
[COLOR_abstract_compiler__CodeWriter__lines
]))(var83
) /* lines on <var83:CodeWriter>*/;
1717 var85
= ((val
* (*)(val
*))(var84
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var84
) /* iterator on <var84:List[String]>*/;
1719 var86
= ((short int (*)(val
*))(var85
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var85
) /* is_ok on <var85:Iterator[nullable Object]>*/;
1721 var87
= ((val
* (*)(val
*))(var85
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var85
) /* item on <var85:Iterator[nullable Object]>*/;
1723 ((void (*)(val
*, val
*))(var_h
->class->vft
[COLOR_stream__OStream__write
]))(var_h
, var_l88
) /* write on <var_h:OFStream>*/;
1729 var93
= string__NativeString__to_s_with_length(var91
, var92
);
1733 ((void (*)(val
*, val
*))(var_h
->class->vft
[COLOR_stream__OStream__write
]))(var_h
, var90
) /* write on <var_h:OFStream>*/;
1734 CONTINUE_label94
: (void)0;
1735 ((void (*)(val
*))(var85
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var85
) /* next on <var85:Iterator[nullable Object]>*/;
1737 BREAK_label94
: (void)0;
1738 ((void (*)(val
*))(var_h
->class->vft
[COLOR_stream__IOS__close
]))(var_h
) /* close on <var_h:OFStream>*/;
1739 var95
= NEW_array__Array(&type_array__Arraystring__String
);
1740 ((void (*)(val
*))(var95
->class->vft
[COLOR_array__Array__init
]))(var95
) /* init on <var95:Array[String]>*/;
1741 CHECK_NEW_array__Array(var95
);
1743 var96
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__files
]))(var_compiler
) /* files on <var_compiler:AbstractCompiler>*/;
1744 var97
= ((val
* (*)(val
*))(var96
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var96
) /* iterator on <var96:List[CodeFile]>*/;
1746 var98
= ((short int (*)(val
*))(var97
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var97
) /* is_ok on <var97:Iterator[nullable Object]>*/;
1748 var99
= ((val
* (*)(val
*))(var97
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var97
) /* item on <var97:Iterator[nullable Object]>*/;
1756 var103
= NEW_array__Array(&type_array__Arraykernel__Object
);
1758 ((void (*)(val
*, long))(var103
->class->vft
[COLOR_array__Array__with_capacity
]))(var103
, var104
) /* with_capacity on <var103:Array[Object]>*/;
1759 CHECK_NEW_array__Array(var103
);
1762 var107
= varonce106
;
1766 var110
= string__NativeString__to_s_with_length(var108
, var109
);
1768 varonce106
= var107
;
1770 ((void (*)(val
*, val
*))(var_105
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_105
, var107
) /* add on <var_105:Array[Object]>*/;
1771 var111
= ((val
* (*)(val
*))(var_f
->class->vft
[COLOR_abstract_compiler__CodeFile__name
]))(var_f
) /* name on <var_f:CodeFile>*/;
1772 ((void (*)(val
*, val
*))(var_105
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_105
, var111
) /* add on <var_105:Array[Object]>*/;
1774 var113
= varonce112
;
1778 var116
= string__NativeString__to_s_with_length(var114
, var115
);
1780 varonce112
= var113
;
1782 ((void (*)(val
*, val
*))(var_105
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_105
, var113
) /* add on <var_105:Array[Object]>*/;
1783 var117
= ((val
* (*)(val
*))(var_105
->class->vft
[COLOR_string__Object__to_s
]))(var_105
) /* to_s on <var_105:Array[Object]>*/;
1784 var_cfilename
= var117
;
1785 var118
= NEW_array__Array(&type_array__Arraykernel__Object
);
1787 ((void (*)(val
*, long))(var118
->class->vft
[COLOR_array__Array__with_capacity
]))(var118
, var119
) /* with_capacity on <var118:Array[Object]>*/;
1788 CHECK_NEW_array__Array(var118
);
1791 var122
= varonce121
;
1795 var125
= string__NativeString__to_s_with_length(var123
, var124
);
1797 varonce121
= var122
;
1799 ((void (*)(val
*, val
*))(var_120
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_120
, var122
) /* add on <var_120:Array[Object]>*/;
1800 ((void (*)(val
*, val
*))(var_120
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_120
, var_compile_dir
) /* add on <var_120:Array[Object]>*/;
1802 var127
= varonce126
;
1806 var130
= string__NativeString__to_s_with_length(var128
, var129
);
1808 varonce126
= var127
;
1810 ((void (*)(val
*, val
*))(var_120
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_120
, var127
) /* add on <var_120:Array[Object]>*/;
1811 ((void (*)(val
*, val
*))(var_120
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_120
, var_cfilename
) /* add on <var_120:Array[Object]>*/;
1813 var132
= varonce131
;
1817 var135
= string__NativeString__to_s_with_length(var133
, var134
);
1819 varonce131
= var132
;
1821 ((void (*)(val
*, val
*))(var_120
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_120
, var132
) /* add on <var_120:Array[Object]>*/;
1822 var136
= ((val
* (*)(val
*))(var_120
->class->vft
[COLOR_string__Object__to_s
]))(var_120
) /* to_s on <var_120:Array[Object]>*/;
1823 var_cfilepath
= var136
;
1824 var137
= NEW_file__OFStream(&type_file__OFStream
);
1825 ((void (*)(val
*, val
*))(var137
->class->vft
[COLOR_file__OFStream__open
]))(var137
, var_cfilepath
) /* open on <var137:OFStream>*/;
1826 CHECK_NEW_file__OFStream(var137
);
1829 var139
= varonce138
;
1831 var140
= "#include \"";
1833 var142
= string__NativeString__to_s_with_length(var140
, var141
);
1835 varonce138
= var139
;
1838 var144
= varonce143
;
1842 var147
= string__NativeString__to_s_with_length(var145
, var146
);
1844 varonce143
= var144
;
1846 var148
= NEW_array__Array(&type_array__Arraykernel__Object
);
1847 { /* var148 = array_instance Array[Object] */
1849 var150
= NEW_array__NativeArray(var149
, &type_array__NativeArraykernel__Object
);
1850 ((struct instance_array__NativeArray
*)var150
)->values
[0] = (val
*) var139
;
1851 ((struct instance_array__NativeArray
*)var150
)->values
[1] = (val
*) var_hfilename
;
1852 ((struct instance_array__NativeArray
*)var150
)->values
[2] = (val
*) var144
;
1853 ((void (*)(val
*, val
*, long))(var148
->class->vft
[COLOR_array__Array__with_native
]))(var148
, var150
, var149
) /* with_native on <var148:Array[Object]>*/;
1854 CHECK_NEW_array__Array(var148
);
1856 var151
= ((val
* (*)(val
*))(var148
->class->vft
[COLOR_string__Object__to_s
]))(var148
) /* to_s on <var148:Array[Object]>*/;
1857 ((void (*)(val
*, val
*))(var_hfile
->class->vft
[COLOR_stream__OStream__write
]))(var_hfile
, var151
) /* write on <var_hfile:nullable OFStream(OFStream)>*/;
1858 var152
= ((val
* (*)(val
*))(var_f
->class->vft
[COLOR_abstract_compiler__CodeFile__required_declarations
]))(var_f
) /* required_declarations on <var_f:CodeFile>*/;
1859 var153
= ((val
* (*)(val
*))(var152
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var152
) /* iterator on <var152:HashSet[String]>*/;
1861 var154
= ((short int (*)(val
*))(var153
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var153
) /* is_ok on <var153:Iterator[nullable Object]>*/;
1863 var155
= ((val
* (*)(val
*))(var153
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var153
) /* item on <var153:Iterator[nullable Object]>*/;
1865 var156
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__provided_declarations
]))(var_compiler
) /* provided_declarations on <var_compiler:AbstractCompiler>*/;
1866 var157
= ((short int (*)(val
*, val
*))(var156
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var156
, var_key
) /* has_key on <var156:HashMap[String, String]>*/;
1870 var160
= varonce159
;
1872 var161
= "No provided declaration for ";
1874 var163
= string__NativeString__to_s_with_length(var161
, var162
);
1876 varonce159
= var160
;
1878 var164
= NEW_array__Array(&type_array__Arraykernel__Object
);
1879 { /* var164 = array_instance Array[Object] */
1881 var166
= NEW_array__NativeArray(var165
, &type_array__NativeArraykernel__Object
);
1882 ((struct instance_array__NativeArray
*)var166
)->values
[0] = (val
*) var160
;
1883 ((struct instance_array__NativeArray
*)var166
)->values
[1] = (val
*) var_key
;
1884 ((void (*)(val
*, val
*, long))(var164
->class->vft
[COLOR_array__Array__with_native
]))(var164
, var166
, var165
) /* with_native on <var164:Array[Object]>*/;
1885 CHECK_NEW_array__Array(var164
);
1887 var167
= ((val
* (*)(val
*))(var164
->class->vft
[COLOR_string__Object__to_s
]))(var164
) /* to_s on <var164:Array[Object]>*/;
1888 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__print
]))(self
, var167
) /* print on <self:ModelBuilder>*/;
1889 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Aborted", "src/abstract_compiler.nit", 148);
1893 var168
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__provided_declarations
]))(var_compiler
) /* provided_declarations on <var_compiler:AbstractCompiler>*/;
1894 var169
= ((val
* (*)(val
*, val
*))(var168
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var168
, var_key
) /* [] on <var168:HashMap[String, String]>*/;
1895 ((void (*)(val
*, val
*))(var_hfile
->class->vft
[COLOR_stream__OStream__write
]))(var_hfile
, var169
) /* write on <var_hfile:nullable OFStream(OFStream)>*/;
1897 var171
= varonce170
;
1901 var174
= string__NativeString__to_s_with_length(var172
, var173
);
1903 varonce170
= var171
;
1905 ((void (*)(val
*, val
*))(var_hfile
->class->vft
[COLOR_stream__OStream__write
]))(var_hfile
, var171
) /* write on <var_hfile:nullable OFStream(OFStream)>*/;
1906 CONTINUE_label175
: (void)0;
1907 ((void (*)(val
*))(var153
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var153
) /* next on <var153:Iterator[nullable Object]>*/;
1909 BREAK_label175
: (void)0;
1910 ((void (*)(val
*))(var_hfile
->class->vft
[COLOR_stream__IOS__close
]))(var_hfile
) /* close on <var_hfile:nullable OFStream(OFStream)>*/;
1913 var177
= ((val
* (*)(val
*))(var_f
->class->vft
[COLOR_abstract_compiler__CodeFile__writers
]))(var_f
) /* writers on <var_f:CodeFile>*/;
1914 var178
= ((val
* (*)(val
*))(var177
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var177
) /* iterator on <var177:Array[CodeWriter]>*/;
1916 var179
= ((short int (*)(val
*))(var178
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var178
) /* is_ok on <var178:Iterator[nullable Object]>*/;
1918 var180
= ((val
* (*)(val
*))(var178
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var178
) /* item on <var178:Iterator[nullable Object]>*/;
1920 var181
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var_compiler
) /* header on <var_compiler:AbstractCompiler>*/;
1921 var182
= ((short int (*)(val
*, val
*))(var_vis
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_vis
, var181
) /* == on <var_vis:CodeWriter>*/;
1923 goto CONTINUE_label183
;
1926 var184
= ((val
* (*)(val
*))(var_vis
->class->vft
[COLOR_abstract_compiler__CodeWriter__lines
]))(var_vis
) /* lines on <var_vis:CodeWriter>*/;
1927 var185
= ((long (*)(val
*))(var184
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var184
) /* length on <var184:List[String]>*/;
1928 var186
= ((val
* (*)(val
*))(var_vis
->class->vft
[COLOR_abstract_compiler__CodeWriter__decl_lines
]))(var_vis
) /* decl_lines on <var_vis:CodeWriter>*/;
1929 var187
= ((long (*)(val
*))(var186
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var186
) /* length on <var186:List[String]>*/;
1930 { /* Inline kernel#Int#+ (var185,var187) */
1931 var190
= var185
+ var187
;
1934 RET_LABEL189
:(void)0;
1936 var_total_lines
= var188
;
1938 { /* Inline kernel#Int#== (var_total_lines,var191) */
1939 var194
= var_total_lines
== var191
;
1942 RET_LABEL193
:(void)0;
1945 goto CONTINUE_label183
;
1948 { /* Inline kernel#Int#+ (var_count,var_total_lines) */
1949 var197
= var_count
+ var_total_lines
;
1952 RET_LABEL196
:(void)0;
1956 if (var_file
== NULL
) {
1957 var200
= 1; /* is null */
1959 var200
= 0; /* arg is null but recv is not */
1966 { /* Inline kernel#Int#> (var_count,var202) */
1967 /* Covariant cast for argument 0 (i) <var202:Int> isa OTHER */
1968 /* <var202:Int> isa OTHER */
1969 var205
= 1; /* easy <var202:Int> isa OTHER*/
1971 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
1974 var206
= var_count
> var202
;
1977 RET_LABEL204
:(void)0;
1983 { /* Inline kernel#Int#+ (var_i,var207) */
1984 var210
= var_i
+ var207
;
1987 RET_LABEL209
:(void)0;
1991 if (var_file
== NULL
) {
1992 var212
= 0; /* is null */
1994 var212
= 1; /* arg is null and recv is not */
1997 ((void (*)(val
*))(var_file
->class->vft
[COLOR_stream__IOS__close
]))(var_file
) /* close on <var_file:nullable OFStream(OFStream)>*/;
2000 var213
= NEW_array__Array(&type_array__Arraykernel__Object
);
2002 ((void (*)(val
*, long))(var213
->class->vft
[COLOR_array__Array__with_capacity
]))(var213
, var214
) /* with_capacity on <var213:Array[Object]>*/;
2003 CHECK_NEW_array__Array(var213
);
2006 var217
= varonce216
;
2010 var220
= string__NativeString__to_s_with_length(var218
, var219
);
2012 varonce216
= var217
;
2014 ((void (*)(val
*, val
*))(var_215
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_215
, var217
) /* add on <var_215:Array[Object]>*/;
2015 var221
= ((val
* (*)(val
*))(var_f
->class->vft
[COLOR_abstract_compiler__CodeFile__name
]))(var_f
) /* name on <var_f:CodeFile>*/;
2016 ((void (*)(val
*, val
*))(var_215
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_215
, var221
) /* add on <var_215:Array[Object]>*/;
2018 var223
= varonce222
;
2022 var226
= string__NativeString__to_s_with_length(var224
, var225
);
2024 varonce222
= var223
;
2026 ((void (*)(val
*, val
*))(var_215
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_215
, var223
) /* add on <var_215:Array[Object]>*/;
2027 var227
= BOX_kernel__Int(var_i
); /* autobox from Int to nullable Object */
2028 ((void (*)(val
*, val
*))(var_215
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_215
, var227
) /* add on <var_215:Array[Object]>*/;
2030 var229
= varonce228
;
2034 var232
= string__NativeString__to_s_with_length(var230
, var231
);
2036 varonce228
= var229
;
2038 ((void (*)(val
*, val
*))(var_215
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_215
, var229
) /* add on <var_215:Array[Object]>*/;
2039 var233
= ((val
* (*)(val
*))(var_215
->class->vft
[COLOR_string__Object__to_s
]))(var_215
) /* to_s on <var_215:Array[Object]>*/;
2040 var_cfilename
= var233
;
2041 var234
= NEW_array__Array(&type_array__Arraykernel__Object
);
2043 ((void (*)(val
*, long))(var234
->class->vft
[COLOR_array__Array__with_capacity
]))(var234
, var235
) /* with_capacity on <var234:Array[Object]>*/;
2044 CHECK_NEW_array__Array(var234
);
2047 var238
= varonce237
;
2051 var241
= string__NativeString__to_s_with_length(var239
, var240
);
2053 varonce237
= var238
;
2055 ((void (*)(val
*, val
*))(var_236
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_236
, var238
) /* add on <var_236:Array[Object]>*/;
2056 ((void (*)(val
*, val
*))(var_236
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_236
, var_compile_dir
) /* add on <var_236:Array[Object]>*/;
2058 var243
= varonce242
;
2062 var246
= string__NativeString__to_s_with_length(var244
, var245
);
2064 varonce242
= var243
;
2066 ((void (*)(val
*, val
*))(var_236
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_236
, var243
) /* add on <var_236:Array[Object]>*/;
2067 ((void (*)(val
*, val
*))(var_236
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_236
, var_cfilename
) /* add on <var_236:Array[Object]>*/;
2069 var248
= varonce247
;
2073 var251
= string__NativeString__to_s_with_length(var249
, var250
);
2075 varonce247
= var248
;
2077 ((void (*)(val
*, val
*))(var_236
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_236
, var248
) /* add on <var_236:Array[Object]>*/;
2078 var252
= ((val
* (*)(val
*))(var_236
->class->vft
[COLOR_string__Object__to_s
]))(var_236
) /* to_s on <var_236:Array[Object]>*/;
2079 var_cfilepath
= var252
;
2080 var253
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2082 var255
= varonce254
;
2084 var256
= "new C source files to compile: ";
2086 var258
= string__NativeString__to_s_with_length(var256
, var257
);
2088 varonce254
= var255
;
2090 var259
= NEW_array__Array(&type_array__Arraykernel__Object
);
2091 { /* var259 = array_instance Array[Object] */
2093 var261
= NEW_array__NativeArray(var260
, &type_array__NativeArraykernel__Object
);
2094 ((struct instance_array__NativeArray
*)var261
)->values
[0] = (val
*) var255
;
2095 ((struct instance_array__NativeArray
*)var261
)->values
[1] = (val
*) var_cfilepath
;
2096 ((void (*)(val
*, val
*, long))(var259
->class->vft
[COLOR_array__Array__with_native
]))(var259
, var261
, var260
) /* with_native on <var259:Array[Object]>*/;
2097 CHECK_NEW_array__Array(var259
);
2099 var262
= ((val
* (*)(val
*))(var259
->class->vft
[COLOR_string__Object__to_s
]))(var259
) /* to_s on <var259:Array[Object]>*/;
2101 ((void (*)(val
*, val
*, long))(var253
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var253
, var262
, var263
) /* info on <var253:ToolContext>*/;
2102 ((void (*)(val
*, val
*))(var_cfiles
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_cfiles
, var_cfilename
) /* add on <var_cfiles:Array[String]>*/;
2103 var264
= NEW_file__OFStream(&type_file__OFStream
);
2104 ((void (*)(val
*, val
*))(var264
->class->vft
[COLOR_file__OFStream__open
]))(var264
, var_cfilepath
) /* open on <var264:OFStream>*/;
2105 CHECK_NEW_file__OFStream(var264
);
2108 var266
= varonce265
;
2110 var267
= "#include \"";
2112 var269
= string__NativeString__to_s_with_length(var267
, var268
);
2114 varonce265
= var266
;
2116 var270
= ((val
* (*)(val
*))(var_f
->class->vft
[COLOR_abstract_compiler__CodeFile__name
]))(var_f
) /* name on <var_f:CodeFile>*/;
2118 var272
= varonce271
;
2120 var273
= ".0.h\"\n";
2122 var275
= string__NativeString__to_s_with_length(var273
, var274
);
2124 varonce271
= var272
;
2126 var276
= NEW_array__Array(&type_array__Arraykernel__Object
);
2127 { /* var276 = array_instance Array[Object] */
2129 var278
= NEW_array__NativeArray(var277
, &type_array__NativeArraykernel__Object
);
2130 ((struct instance_array__NativeArray
*)var278
)->values
[0] = (val
*) var266
;
2131 ((struct instance_array__NativeArray
*)var278
)->values
[1] = (val
*) var270
;
2132 ((struct instance_array__NativeArray
*)var278
)->values
[2] = (val
*) var272
;
2133 ((void (*)(val
*, val
*, long))(var276
->class->vft
[COLOR_array__Array__with_native
]))(var276
, var278
, var277
) /* with_native on <var276:Array[Object]>*/;
2134 CHECK_NEW_array__Array(var276
);
2136 var279
= ((val
* (*)(val
*))(var276
->class->vft
[COLOR_string__Object__to_s
]))(var276
) /* to_s on <var276:Array[Object]>*/;
2137 ((void (*)(val
*, val
*))(var_file
->class->vft
[COLOR_stream__OStream__write
]))(var_file
, var279
) /* write on <var_file:nullable OFStream(OFStream)>*/;
2138 var_count
= var_total_lines
;
2141 var280
= ((val
* (*)(val
*))(var_vis
->class->vft
[COLOR_abstract_compiler__CodeWriter__decl_lines
]))(var_vis
) /* decl_lines on <var_vis:CodeWriter>*/;
2142 var281
= ((val
* (*)(val
*))(var280
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var280
) /* iterator on <var280:List[String]>*/;
2144 var282
= ((short int (*)(val
*))(var281
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var281
) /* is_ok on <var281:Iterator[nullable Object]>*/;
2146 var283
= ((val
* (*)(val
*))(var281
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var281
) /* item on <var281:Iterator[nullable Object]>*/;
2148 ((void (*)(val
*, val
*))(var_file
->class->vft
[COLOR_stream__OStream__write
]))(var_file
, var_l284
) /* write on <var_file:nullable OFStream(OFStream)>*/;
2150 var286
= varonce285
;
2154 var289
= string__NativeString__to_s_with_length(var287
, var288
);
2156 varonce285
= var286
;
2158 ((void (*)(val
*, val
*))(var_file
->class->vft
[COLOR_stream__OStream__write
]))(var_file
, var286
) /* write on <var_file:nullable OFStream(OFStream)>*/;
2159 CONTINUE_label290
: (void)0;
2160 ((void (*)(val
*))(var281
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var281
) /* next on <var281:Iterator[nullable Object]>*/;
2162 BREAK_label290
: (void)0;
2163 var291
= ((val
* (*)(val
*))(var_vis
->class->vft
[COLOR_abstract_compiler__CodeWriter__lines
]))(var_vis
) /* lines on <var_vis:CodeWriter>*/;
2164 var292
= ((val
* (*)(val
*))(var291
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var291
) /* iterator on <var291:List[String]>*/;
2166 var293
= ((short int (*)(val
*))(var292
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var292
) /* is_ok on <var292:Iterator[nullable Object]>*/;
2168 var294
= ((val
* (*)(val
*))(var292
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var292
) /* item on <var292:Iterator[nullable Object]>*/;
2170 ((void (*)(val
*, val
*))(var_file
->class->vft
[COLOR_stream__OStream__write
]))(var_file
, var_l295
) /* write on <var_file:nullable OFStream(OFStream)>*/;
2172 var297
= varonce296
;
2176 var300
= string__NativeString__to_s_with_length(var298
, var299
);
2178 varonce296
= var297
;
2180 ((void (*)(val
*, val
*))(var_file
->class->vft
[COLOR_stream__OStream__write
]))(var_file
, var297
) /* write on <var_file:nullable OFStream(OFStream)>*/;
2181 CONTINUE_label301
: (void)0;
2182 ((void (*)(val
*))(var292
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var292
) /* next on <var292:Iterator[nullable Object]>*/;
2184 BREAK_label301
: (void)0;
2185 CONTINUE_label183
: (void)0;
2186 ((void (*)(val
*))(var178
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var178
) /* next on <var178:Iterator[nullable Object]>*/;
2188 BREAK_label183
: (void)0;
2190 if (var_file
== NULL
) {
2191 var303
= 0; /* is null */
2193 var303
= 1; /* arg is null and recv is not */
2196 ((void (*)(val
*))(var_file
->class->vft
[COLOR_stream__IOS__close
]))(var_file
) /* close on <var_file:nullable OFStream(OFStream)>*/;
2199 CONTINUE_label304
: (void)0;
2200 ((void (*)(val
*))(var97
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var97
) /* next on <var97:Iterator[nullable Object]>*/;
2202 BREAK_label304
: (void)0;
2203 var305
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2205 var307
= varonce306
;
2207 var308
= "Total C source files to compile: ";
2209 var310
= string__NativeString__to_s_with_length(var308
, var309
);
2211 varonce306
= var307
;
2213 var311
= ((long (*)(val
*))(var_cfiles
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_cfiles
) /* length on <var_cfiles:Array[String]>*/;
2214 var312
= NEW_array__Array(&type_array__Arraykernel__Object
);
2215 { /* var312 = array_instance Array[Object] */
2217 var314
= NEW_array__NativeArray(var313
, &type_array__NativeArraykernel__Object
);
2218 ((struct instance_array__NativeArray
*)var314
)->values
[0] = (val
*) var307
;
2219 var315
= BOX_kernel__Int(var311
); /* autobox from Int to Object */
2220 ((struct instance_array__NativeArray
*)var314
)->values
[1] = (val
*) var315
;
2221 ((void (*)(val
*, val
*, long))(var312
->class->vft
[COLOR_array__Array__with_native
]))(var312
, var314
, var313
) /* with_native on <var312:Array[Object]>*/;
2222 CHECK_NEW_array__Array(var312
);
2224 var316
= ((val
* (*)(val
*))(var312
->class->vft
[COLOR_string__Object__to_s
]))(var312
) /* to_s on <var312:Array[Object]>*/;
2226 ((void (*)(val
*, val
*, long))(var305
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var305
, var316
, var317
) /* info on <var305:ToolContext>*/;
2227 var318
= NEW_array__Array(&type_array__Arraykernel__Object
);
2229 ((void (*)(val
*, long))(var318
->class->vft
[COLOR_array__Array__with_capacity
]))(var318
, var319
) /* with_capacity on <var318:Array[Object]>*/;
2230 CHECK_NEW_array__Array(var318
);
2233 var322
= varonce321
;
2237 var325
= string__NativeString__to_s_with_length(var323
, var324
);
2239 varonce321
= var322
;
2241 ((void (*)(val
*, val
*))(var_320
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_320
, var322
) /* add on <var_320:Array[Object]>*/;
2242 var326
= ((val
* (*)(val
*))(var_mainmodule
->class->vft
[COLOR_model_base__MModule__name
]))(var_mainmodule
) /* name on <var_mainmodule:MModule>*/;
2243 ((void (*)(val
*, val
*))(var_320
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_320
, var326
) /* add on <var_320:Array[Object]>*/;
2245 var328
= varonce327
;
2249 var331
= string__NativeString__to_s_with_length(var329
, var330
);
2251 varonce327
= var328
;
2253 ((void (*)(val
*, val
*))(var_320
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_320
, var328
) /* add on <var_320:Array[Object]>*/;
2254 var332
= ((val
* (*)(val
*))(var_320
->class->vft
[COLOR_string__Object__to_s
]))(var_320
) /* to_s on <var_320:Array[Object]>*/;
2255 var_makename
= var332
;
2256 var333
= NEW_array__Array(&type_array__Arraykernel__Object
);
2258 ((void (*)(val
*, long))(var333
->class->vft
[COLOR_array__Array__with_capacity
]))(var333
, var334
) /* with_capacity on <var333:Array[Object]>*/;
2259 CHECK_NEW_array__Array(var333
);
2262 var337
= varonce336
;
2266 var340
= string__NativeString__to_s_with_length(var338
, var339
);
2268 varonce336
= var337
;
2270 ((void (*)(val
*, val
*))(var_335
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_335
, var337
) /* add on <var_335:Array[Object]>*/;
2271 ((void (*)(val
*, val
*))(var_335
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_335
, var_compile_dir
) /* add on <var_335:Array[Object]>*/;
2273 var342
= varonce341
;
2277 var345
= string__NativeString__to_s_with_length(var343
, var344
);
2279 varonce341
= var342
;
2281 ((void (*)(val
*, val
*))(var_335
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_335
, var342
) /* add on <var_335:Array[Object]>*/;
2282 ((void (*)(val
*, val
*))(var_335
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_335
, var_makename
) /* add on <var_335:Array[Object]>*/;
2284 var347
= varonce346
;
2288 var350
= string__NativeString__to_s_with_length(var348
, var349
);
2290 varonce346
= var347
;
2292 ((void (*)(val
*, val
*))(var_335
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_335
, var347
) /* add on <var_335:Array[Object]>*/;
2293 var351
= ((val
* (*)(val
*))(var_335
->class->vft
[COLOR_string__Object__to_s
]))(var_335
) /* to_s on <var_335:Array[Object]>*/;
2294 var_makepath
= var351
;
2295 var352
= NEW_file__OFStream(&type_file__OFStream
);
2296 ((void (*)(val
*, val
*))(var352
->class->vft
[COLOR_file__OFStream__open
]))(var352
, var_makepath
) /* open on <var352:OFStream>*/;
2297 CHECK_NEW_file__OFStream(var352
);
2298 var_makefile
= var352
;
2300 var354
= varonce353
;
2304 var357
= string__NativeString__to_s_with_length(var355
, var356
);
2306 varonce353
= var354
;
2308 var_cc_includes
= var354
;
2309 var358
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ModelBuilder__cc_paths
]))(self
) /* cc_paths on <self:ModelBuilder>*/;
2310 var359
= ((val
* (*)(val
*))(var358
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var358
) /* iterator on <var358:Array[String]>*/;
2312 var360
= ((short int (*)(val
*))(var359
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var359
) /* is_ok on <var359:Iterator[nullable Object]>*/;
2314 var361
= ((val
* (*)(val
*))(var359
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var359
) /* item on <var359:Iterator[nullable Object]>*/;
2316 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>*/;
2317 var363
= ((val
* (*)(val
*))(var362
->class->vft
[COLOR_file__String__simplify_path
]))(var362
) /* simplify_path on <var362:String>*/;
2320 var365
= varonce364
;
2324 var368
= string__NativeString__to_s_with_length(var366
, var367
);
2326 varonce364
= var365
;
2328 var369
= ((val
* (*)(val
*, val
*))(var365
->class->vft
[COLOR_string__String___43d
]))(var365
, var_p
) /* + on <var365:String>*/;
2330 var371
= varonce370
;
2334 var374
= string__NativeString__to_s_with_length(var372
, var373
);
2336 varonce370
= var371
;
2338 var375
= ((val
* (*)(val
*, val
*))(var369
->class->vft
[COLOR_string__String___43d
]))(var369
, var371
) /* + on <var369:String>*/;
2339 var376
= ((val
* (*)(val
*, val
*))(var_cc_includes
->class->vft
[COLOR_string__String___43d
]))(var_cc_includes
, var375
) /* + on <var_cc_includes:String>*/;
2340 var_cc_includes
= var376
;
2341 CONTINUE_label377
: (void)0;
2342 ((void (*)(val
*))(var359
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var359
) /* next on <var359:Iterator[nullable Object]>*/;
2344 BREAK_label377
: (void)0;
2346 var379
= varonce378
;
2348 var380
= "CC = ccache cc\nCFLAGS = -g -O2\nCINCL = ";
2350 var382
= string__NativeString__to_s_with_length(var380
, var381
);
2352 varonce378
= var379
;
2355 var384
= varonce383
;
2357 var385
= "\nLDFLAGS ?= \nLDLIBS ?= -lm -lgc\n\n";
2359 var387
= string__NativeString__to_s_with_length(var385
, var386
);
2361 varonce383
= var384
;
2363 var388
= NEW_array__Array(&type_array__Arraykernel__Object
);
2364 { /* var388 = array_instance Array[Object] */
2366 var390
= NEW_array__NativeArray(var389
, &type_array__NativeArraykernel__Object
);
2367 ((struct instance_array__NativeArray
*)var390
)->values
[0] = (val
*) var379
;
2368 ((struct instance_array__NativeArray
*)var390
)->values
[1] = (val
*) var_cc_includes
;
2369 ((struct instance_array__NativeArray
*)var390
)->values
[2] = (val
*) var384
;
2370 ((void (*)(val
*, val
*, long))(var388
->class->vft
[COLOR_array__Array__with_native
]))(var388
, var390
, var389
) /* with_native on <var388:Array[Object]>*/;
2371 CHECK_NEW_array__Array(var388
);
2373 var391
= ((val
* (*)(val
*))(var388
->class->vft
[COLOR_string__Object__to_s
]))(var388
) /* to_s on <var388:Array[Object]>*/;
2374 ((void (*)(val
*, val
*))(var_makefile
->class->vft
[COLOR_stream__OStream__write
]))(var_makefile
, var391
) /* write on <var_makefile:OFStream>*/;
2376 var393
= varonce392
;
2380 var396
= string__NativeString__to_s_with_length(var394
, var395
);
2382 varonce392
= var393
;
2385 var398
= varonce397
;
2389 var401
= string__NativeString__to_s_with_length(var399
, var400
);
2391 varonce397
= var398
;
2393 var402
= NEW_array__Array(&type_array__Arraykernel__Object
);
2394 { /* var402 = array_instance Array[Object] */
2396 var404
= NEW_array__NativeArray(var403
, &type_array__NativeArraykernel__Object
);
2397 ((struct instance_array__NativeArray
*)var404
)->values
[0] = (val
*) var393
;
2398 ((struct instance_array__NativeArray
*)var404
)->values
[1] = (val
*) var_outpath
;
2399 ((struct instance_array__NativeArray
*)var404
)->values
[2] = (val
*) var398
;
2400 ((void (*)(val
*, val
*, long))(var402
->class->vft
[COLOR_array__Array__with_native
]))(var402
, var404
, var403
) /* with_native on <var402:Array[Object]>*/;
2401 CHECK_NEW_array__Array(var402
);
2403 var405
= ((val
* (*)(val
*))(var402
->class->vft
[COLOR_string__Object__to_s
]))(var402
) /* to_s on <var402:Array[Object]>*/;
2404 ((void (*)(val
*, val
*))(var_makefile
->class->vft
[COLOR_stream__OStream__write
]))(var_makefile
, var405
) /* write on <var_makefile:OFStream>*/;
2405 var406
= NEW_array__Array(&type_array__Arraystring__String
);
2406 ((void (*)(val
*))(var406
->class->vft
[COLOR_array__Array__init
]))(var406
) /* init on <var406:Array[String]>*/;
2407 CHECK_NEW_array__Array(var406
);
2408 var_ofiles
= var406
;
2409 var407
= ((val
* (*)(val
*))(var_cfiles
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_cfiles
) /* iterator on <var_cfiles:Array[String]>*/;
2411 var408
= ((short int (*)(val
*))(var407
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var407
) /* is_ok on <var407:Iterator[nullable Object]>*/;
2413 var409
= ((val
* (*)(val
*))(var407
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var407
) /* item on <var407:Iterator[nullable Object]>*/;
2416 var412
= varonce411
;
2420 var415
= string__NativeString__to_s_with_length(var413
, var414
);
2422 varonce411
= var412
;
2424 var416
= ((val
* (*)(val
*, val
*))(var_f410
->class->vft
[COLOR_file__String__strip_extension
]))(var_f410
, var412
) /* strip_extension on <var_f410:String>*/;
2426 var418
= varonce417
;
2430 var421
= string__NativeString__to_s_with_length(var419
, var420
);
2432 varonce417
= var418
;
2434 var422
= ((val
* (*)(val
*, val
*))(var416
->class->vft
[COLOR_string__String___43d
]))(var416
, var418
) /* + on <var416:String>*/;
2437 var424
= varonce423
;
2441 var427
= string__NativeString__to_s_with_length(var425
, var426
);
2443 varonce423
= var424
;
2446 var429
= varonce428
;
2448 var430
= "\n\11$(CC) $(CFLAGS) $(CINCL) -D NONITCNI -c -o ";
2450 var432
= string__NativeString__to_s_with_length(var430
, var431
);
2452 varonce428
= var429
;
2455 var434
= varonce433
;
2459 var437
= string__NativeString__to_s_with_length(var435
, var436
);
2461 varonce433
= var434
;
2464 var439
= varonce438
;
2468 var442
= string__NativeString__to_s_with_length(var440
, var441
);
2470 varonce438
= var439
;
2472 var443
= NEW_array__Array(&type_array__Arraykernel__Object
);
2473 { /* var443 = array_instance Array[Object] */
2475 var445
= NEW_array__NativeArray(var444
, &type_array__NativeArraykernel__Object
);
2476 ((struct instance_array__NativeArray
*)var445
)->values
[0] = (val
*) var_o
;
2477 ((struct instance_array__NativeArray
*)var445
)->values
[1] = (val
*) var424
;
2478 ((struct instance_array__NativeArray
*)var445
)->values
[2] = (val
*) var_f410
;
2479 ((struct instance_array__NativeArray
*)var445
)->values
[3] = (val
*) var429
;
2480 ((struct instance_array__NativeArray
*)var445
)->values
[4] = (val
*) var_o
;
2481 ((struct instance_array__NativeArray
*)var445
)->values
[5] = (val
*) var434
;
2482 ((struct instance_array__NativeArray
*)var445
)->values
[6] = (val
*) var_f410
;
2483 ((struct instance_array__NativeArray
*)var445
)->values
[7] = (val
*) var439
;
2484 ((void (*)(val
*, val
*, long))(var443
->class->vft
[COLOR_array__Array__with_native
]))(var443
, var445
, var444
) /* with_native on <var443:Array[Object]>*/;
2485 CHECK_NEW_array__Array(var443
);
2487 var446
= ((val
* (*)(val
*))(var443
->class->vft
[COLOR_string__Object__to_s
]))(var443
) /* to_s on <var443:Array[Object]>*/;
2488 ((void (*)(val
*, val
*))(var_makefile
->class->vft
[COLOR_stream__OStream__write
]))(var_makefile
, var446
) /* write on <var_makefile:OFStream>*/;
2489 ((void (*)(val
*, val
*))(var_ofiles
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_ofiles
, var_o
) /* add on <var_ofiles:Array[String]>*/;
2490 CONTINUE_label447
: (void)0;
2491 ((void (*)(val
*))(var407
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var407
) /* next on <var407:Iterator[nullable Object]>*/;
2493 BREAK_label447
: (void)0;
2494 var448
= NEW_abstract_compiler__ExternCFile(&type_abstract_compiler__ExternCFile
);
2495 var449
= NEW_array__Array(&type_array__Arraykernel__Object
);
2497 ((void (*)(val
*, long))(var449
->class->vft
[COLOR_array__Array__with_capacity
]))(var449
, var450
) /* with_capacity on <var449:Array[Object]>*/;
2498 CHECK_NEW_array__Array(var449
);
2501 var453
= varonce452
;
2505 var456
= string__NativeString__to_s_with_length(var454
, var455
);
2507 varonce452
= var453
;
2509 ((void (*)(val
*, val
*))(var_451
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_451
, var453
) /* add on <var_451:Array[Object]>*/;
2510 var457
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ModelBuilder__cc_paths
]))(self
) /* cc_paths on <self:ModelBuilder>*/;
2511 var458
= ((val
* (*)(val
*))(var457
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var457
) /* first on <var457:Array[String]>*/;
2512 ((void (*)(val
*, val
*))(var_451
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_451
, var458
) /* add on <var_451:Array[Object]>*/;
2514 var460
= varonce459
;
2516 var461
= "/gc_chooser.c";
2518 var463
= string__NativeString__to_s_with_length(var461
, var462
);
2520 varonce459
= var460
;
2522 ((void (*)(val
*, val
*))(var_451
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_451
, var460
) /* add on <var_451:Array[Object]>*/;
2523 var464
= ((val
* (*)(val
*))(var_451
->class->vft
[COLOR_string__Object__to_s
]))(var_451
) /* to_s on <var_451:Array[Object]>*/;
2525 var466
= varonce465
;
2527 var467
= "-DWITH_LIBGC";
2529 var469
= string__NativeString__to_s_with_length(var467
, var468
);
2531 varonce465
= var466
;
2533 ((void (*)(val
*, val
*, val
*))(var448
->class->vft
[COLOR_abstract_compiler__ExternCFile__init
]))(var448
, var464
, var466
) /* init on <var448:ExternCFile>*/;
2534 CHECK_NEW_abstract_compiler__ExternCFile(var448
);
2535 var_gc_chooser
= var448
;
2536 var470
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__extern_bodies
]))(var_compiler
) /* extern_bodies on <var_compiler:AbstractCompiler>*/;
2537 ((void (*)(val
*, val
*))(var470
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var470
, var_gc_chooser
) /* add on <var470:Array[ExternCFile]>*/;
2538 var471
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__extern_bodies
]))(var_compiler
) /* extern_bodies on <var_compiler:AbstractCompiler>*/;
2539 var472
= ((val
* (*)(val
*))(var471
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var471
) /* iterator on <var471:Array[ExternCFile]>*/;
2541 var473
= ((short int (*)(val
*))(var472
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var472
) /* is_ok on <var472:Iterator[nullable Object]>*/;
2543 var474
= ((val
* (*)(val
*))(var472
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var472
) /* item on <var472:Iterator[nullable Object]>*/;
2545 var476
= ((val
* (*)(val
*))(var_f475
->class->vft
[COLOR_abstract_compiler__ExternCFile__filename
]))(var_f475
) /* filename on <var_f475:ExternCFile>*/;
2547 var478
= varonce477
;
2551 var481
= string__NativeString__to_s_with_length(var479
, var480
);
2553 varonce477
= var478
;
2555 var482
= ((val
* (*)(val
*, val
*))(var476
->class->vft
[COLOR_file__String__basename
]))(var476
, var478
) /* basename on <var476:String>*/;
2556 var_basename
= var482
;
2557 var483
= NEW_array__Array(&type_array__Arraykernel__Object
);
2559 ((void (*)(val
*, long))(var483
->class->vft
[COLOR_array__Array__with_capacity
]))(var483
, var484
) /* with_capacity on <var483:Array[Object]>*/;
2560 CHECK_NEW_array__Array(var483
);
2563 var487
= varonce486
;
2567 var490
= string__NativeString__to_s_with_length(var488
, var489
);
2569 varonce486
= var487
;
2571 ((void (*)(val
*, val
*))(var_485
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_485
, var487
) /* add on <var_485:Array[Object]>*/;
2572 ((void (*)(val
*, val
*))(var_485
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_485
, var_basename
) /* add on <var_485:Array[Object]>*/;
2574 var492
= varonce491
;
2576 var493
= ".extern.o";
2578 var495
= string__NativeString__to_s_with_length(var493
, var494
);
2580 varonce491
= var492
;
2582 ((void (*)(val
*, val
*))(var_485
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_485
, var492
) /* add on <var_485:Array[Object]>*/;
2583 var496
= ((val
* (*)(val
*))(var_485
->class->vft
[COLOR_string__Object__to_s
]))(var_485
) /* to_s on <var_485:Array[Object]>*/;
2585 var498
= ((val
* (*)(val
*))(var_f475
->class->vft
[COLOR_abstract_compiler__ExternCFile__filename
]))(var_f475
) /* filename on <var_f475:ExternCFile>*/;
2586 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>*/;
2587 var500
= ((val
* (*)(val
*))(var499
->class->vft
[COLOR_file__String__simplify_path
]))(var499
) /* simplify_path on <var499:String>*/;
2590 var502
= varonce501
;
2594 var505
= string__NativeString__to_s_with_length(var503
, var504
);
2596 varonce501
= var502
;
2599 var507
= varonce506
;
2601 var508
= "\n\11$(CC) $(CFLAGS) -D NONITCNI ";
2603 var510
= string__NativeString__to_s_with_length(var508
, var509
);
2605 varonce506
= var507
;
2607 var511
= ((val
* (*)(val
*))(var_f475
->class->vft
[COLOR_abstract_compiler__ExternCFile__cflags
]))(var_f475
) /* cflags on <var_f475:ExternCFile>*/;
2609 var513
= varonce512
;
2613 var516
= string__NativeString__to_s_with_length(var514
, var515
);
2615 varonce512
= var513
;
2618 var518
= varonce517
;
2622 var521
= string__NativeString__to_s_with_length(var519
, var520
);
2624 varonce517
= var518
;
2627 var523
= varonce522
;
2631 var526
= string__NativeString__to_s_with_length(var524
, var525
);
2633 varonce522
= var523
;
2635 var527
= NEW_array__Array(&type_array__Arraykernel__Object
);
2636 { /* var527 = array_instance Array[Object] */
2638 var529
= NEW_array__NativeArray(var528
, &type_array__NativeArraykernel__Object
);
2639 ((struct instance_array__NativeArray
*)var529
)->values
[0] = (val
*) var_o497
;
2640 ((struct instance_array__NativeArray
*)var529
)->values
[1] = (val
*) var502
;
2641 ((struct instance_array__NativeArray
*)var529
)->values
[2] = (val
*) var_ff
;
2642 ((struct instance_array__NativeArray
*)var529
)->values
[3] = (val
*) var507
;
2643 ((struct instance_array__NativeArray
*)var529
)->values
[4] = (val
*) var511
;
2644 ((struct instance_array__NativeArray
*)var529
)->values
[5] = (val
*) var513
;
2645 ((struct instance_array__NativeArray
*)var529
)->values
[6] = (val
*) var_o497
;
2646 ((struct instance_array__NativeArray
*)var529
)->values
[7] = (val
*) var518
;
2647 ((struct instance_array__NativeArray
*)var529
)->values
[8] = (val
*) var_ff
;
2648 ((struct instance_array__NativeArray
*)var529
)->values
[9] = (val
*) var523
;
2649 ((void (*)(val
*, val
*, long))(var527
->class->vft
[COLOR_array__Array__with_native
]))(var527
, var529
, var528
) /* with_native on <var527:Array[Object]>*/;
2650 CHECK_NEW_array__Array(var527
);
2652 var530
= ((val
* (*)(val
*))(var527
->class->vft
[COLOR_string__Object__to_s
]))(var527
) /* to_s on <var527:Array[Object]>*/;
2653 ((void (*)(val
*, val
*))(var_makefile
->class->vft
[COLOR_stream__OStream__write
]))(var_makefile
, var530
) /* write on <var_makefile:OFStream>*/;
2654 ((void (*)(val
*, val
*))(var_ofiles
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_ofiles
, var_o497
) /* add on <var_ofiles:Array[String]>*/;
2655 CONTINUE_label531
: (void)0;
2656 ((void (*)(val
*))(var472
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var472
) /* next on <var472:Iterator[nullable Object]>*/;
2658 BREAK_label531
: (void)0;
2660 var533
= varonce532
;
2664 var536
= string__NativeString__to_s_with_length(var534
, var535
);
2666 varonce532
= var533
;
2669 var538
= varonce537
;
2673 var541
= string__NativeString__to_s_with_length(var539
, var540
);
2675 varonce537
= var538
;
2677 var542
= ((val
* (*)(val
*, val
*))(var_ofiles
->class->vft
[COLOR_string__Collection__join
]))(var_ofiles
, var538
) /* join on <var_ofiles:Array[String]>*/;
2679 var544
= varonce543
;
2681 var545
= "\n\11$(CC) $(LDFLAGS) -o ";
2683 var547
= string__NativeString__to_s_with_length(var545
, var546
);
2685 varonce543
= var544
;
2688 var549
= varonce548
;
2692 var552
= string__NativeString__to_s_with_length(var550
, var551
);
2694 varonce548
= var549
;
2697 var554
= varonce553
;
2701 var557
= string__NativeString__to_s_with_length(var555
, var556
);
2703 varonce553
= var554
;
2705 var558
= ((val
* (*)(val
*, val
*))(var_ofiles
->class->vft
[COLOR_string__Collection__join
]))(var_ofiles
, var554
) /* join on <var_ofiles:Array[String]>*/;
2707 var560
= varonce559
;
2709 var561
= " $(LDLIBS)\n\n";
2711 var563
= string__NativeString__to_s_with_length(var561
, var562
);
2713 varonce559
= var560
;
2715 var564
= NEW_array__Array(&type_array__Arraykernel__Object
);
2716 { /* var564 = array_instance Array[Object] */
2718 var566
= NEW_array__NativeArray(var565
, &type_array__NativeArraykernel__Object
);
2719 ((struct instance_array__NativeArray
*)var566
)->values
[0] = (val
*) var_outpath
;
2720 ((struct instance_array__NativeArray
*)var566
)->values
[1] = (val
*) var533
;
2721 ((struct instance_array__NativeArray
*)var566
)->values
[2] = (val
*) var542
;
2722 ((struct instance_array__NativeArray
*)var566
)->values
[3] = (val
*) var544
;
2723 ((struct instance_array__NativeArray
*)var566
)->values
[4] = (val
*) var_outpath
;
2724 ((struct instance_array__NativeArray
*)var566
)->values
[5] = (val
*) var549
;
2725 ((struct instance_array__NativeArray
*)var566
)->values
[6] = (val
*) var558
;
2726 ((struct instance_array__NativeArray
*)var566
)->values
[7] = (val
*) var560
;
2727 ((void (*)(val
*, val
*, long))(var564
->class->vft
[COLOR_array__Array__with_native
]))(var564
, var566
, var565
) /* with_native on <var564:Array[Object]>*/;
2728 CHECK_NEW_array__Array(var564
);
2730 var567
= ((val
* (*)(val
*))(var564
->class->vft
[COLOR_string__Object__to_s
]))(var564
) /* to_s on <var564:Array[Object]>*/;
2731 ((void (*)(val
*, val
*))(var_makefile
->class->vft
[COLOR_stream__OStream__write
]))(var_makefile
, var567
) /* write on <var_makefile:OFStream>*/;
2733 var569
= varonce568
;
2735 var570
= "clean:\n\11rm ";
2737 var572
= string__NativeString__to_s_with_length(var570
, var571
);
2739 varonce568
= var569
;
2742 var574
= varonce573
;
2746 var577
= string__NativeString__to_s_with_length(var575
, var576
);
2748 varonce573
= var574
;
2750 var578
= ((val
* (*)(val
*, val
*))(var_ofiles
->class->vft
[COLOR_string__Collection__join
]))(var_ofiles
, var574
) /* join on <var_ofiles:Array[String]>*/;
2752 var580
= varonce579
;
2754 var581
= " 2>/dev/null\n\n";
2756 var583
= string__NativeString__to_s_with_length(var581
, var582
);
2758 varonce579
= var580
;
2760 var584
= NEW_array__Array(&type_array__Arraykernel__Object
);
2761 { /* var584 = array_instance Array[Object] */
2763 var586
= NEW_array__NativeArray(var585
, &type_array__NativeArraykernel__Object
);
2764 ((struct instance_array__NativeArray
*)var586
)->values
[0] = (val
*) var569
;
2765 ((struct instance_array__NativeArray
*)var586
)->values
[1] = (val
*) var578
;
2766 ((struct instance_array__NativeArray
*)var586
)->values
[2] = (val
*) var580
;
2767 ((void (*)(val
*, val
*, long))(var584
->class->vft
[COLOR_array__Array__with_native
]))(var584
, var586
, var585
) /* with_native on <var584:Array[Object]>*/;
2768 CHECK_NEW_array__Array(var584
);
2770 var587
= ((val
* (*)(val
*))(var584
->class->vft
[COLOR_string__Object__to_s
]))(var584
) /* to_s on <var584:Array[Object]>*/;
2771 ((void (*)(val
*, val
*))(var_makefile
->class->vft
[COLOR_stream__OStream__write
]))(var_makefile
, var587
) /* write on <var_makefile:OFStream>*/;
2772 ((void (*)(val
*))(var_makefile
->class->vft
[COLOR_stream__IOS__close
]))(var_makefile
) /* close on <var_makefile:OFStream>*/;
2773 var588
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2775 var590
= varonce589
;
2777 var591
= "Generated makefile: ";
2779 var593
= string__NativeString__to_s_with_length(var591
, var592
);
2781 varonce589
= var590
;
2783 var594
= NEW_array__Array(&type_array__Arraykernel__Object
);
2784 { /* var594 = array_instance Array[Object] */
2786 var596
= NEW_array__NativeArray(var595
, &type_array__NativeArraykernel__Object
);
2787 ((struct instance_array__NativeArray
*)var596
)->values
[0] = (val
*) var590
;
2788 ((struct instance_array__NativeArray
*)var596
)->values
[1] = (val
*) var_makepath
;
2789 ((void (*)(val
*, val
*, long))(var594
->class->vft
[COLOR_array__Array__with_native
]))(var594
, var596
, var595
) /* with_native on <var594:Array[Object]>*/;
2790 CHECK_NEW_array__Array(var594
);
2792 var597
= ((val
* (*)(val
*))(var594
->class->vft
[COLOR_string__Object__to_s
]))(var594
) /* to_s on <var594:Array[Object]>*/;
2794 ((void (*)(val
*, val
*, long))(var588
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var588
, var597
, var598
) /* info on <var588:ToolContext>*/;
2795 var599
= ((long (*)(val
*))(self
->class->vft
[COLOR_time__Object__get_time
]))(self
) /* get_time on <self:ModelBuilder>*/;
2797 var600
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2799 var602
= varonce601
;
2801 var603
= "*** END WRITING C: ";
2803 var605
= string__NativeString__to_s_with_length(var603
, var604
);
2805 varonce601
= var602
;
2807 { /* Inline kernel#Int#- (var_time1,var_time0) */
2808 var608
= var_time1
- var_time0
;
2811 RET_LABEL607
:(void)0;
2814 var610
= varonce609
;
2818 var613
= string__NativeString__to_s_with_length(var611
, var612
);
2820 varonce609
= var610
;
2822 var614
= NEW_array__Array(&type_array__Arraykernel__Object
);
2823 { /* var614 = array_instance Array[Object] */
2825 var616
= NEW_array__NativeArray(var615
, &type_array__NativeArraykernel__Object
);
2826 ((struct instance_array__NativeArray
*)var616
)->values
[0] = (val
*) var602
;
2827 var617
= BOX_kernel__Int(var606
); /* autobox from Int to Object */
2828 ((struct instance_array__NativeArray
*)var616
)->values
[1] = (val
*) var617
;
2829 ((struct instance_array__NativeArray
*)var616
)->values
[2] = (val
*) var610
;
2830 ((void (*)(val
*, val
*, long))(var614
->class->vft
[COLOR_array__Array__with_native
]))(var614
, var616
, var615
) /* with_native on <var614:Array[Object]>*/;
2831 CHECK_NEW_array__Array(var614
);
2833 var618
= ((val
* (*)(val
*))(var614
->class->vft
[COLOR_string__Object__to_s
]))(var614
) /* to_s on <var614:Array[Object]>*/;
2835 ((void (*)(val
*, val
*, long))(var600
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var600
, var618
, var619
) /* info on <var600:ToolContext>*/;
2836 var620
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2837 var621
= ((val
* (*)(val
*))(var620
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_cc
]))(var620
) /* opt_no_cc on <var620:ToolContext>*/;
2838 var622
= ((val
* (*)(val
*))(var621
->class->vft
[COLOR_opts__Option__value
]))(var621
) /* value on <var621:OptionBool>*/;
2839 var623
= ((struct instance_kernel__Bool
*)var622
)->value
; /* autounbox from nullable Object to Bool */;
2844 var_time0
= var_time1
;
2845 var624
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2847 var626
= varonce625
;
2849 var627
= "*** COMPILING C ***";
2851 var629
= string__NativeString__to_s_with_length(var627
, var628
);
2853 varonce625
= var626
;
2856 ((void (*)(val
*, val
*, long))(var624
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var624
, var626
, var630
) /* info on <var624:ToolContext>*/;
2857 var631
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2858 var632
= ((val
* (*)(val
*))(var631
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_make_flags
]))(var631
) /* opt_make_flags on <var631:ToolContext>*/;
2859 var633
= ((val
* (*)(val
*))(var632
->class->vft
[COLOR_opts__Option__value
]))(var632
) /* value on <var632:OptionString>*/;
2860 var_makeflags
= var633
;
2862 if (var_makeflags
== NULL
) {
2863 var635
= 1; /* is null */
2865 var635
= 0; /* arg is null but recv is not */
2869 var637
= varonce636
;
2873 var640
= string__NativeString__to_s_with_length(var638
, var639
);
2875 varonce636
= var637
;
2877 var_makeflags
= var637
;
2880 var641
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2882 var643
= varonce642
;
2884 var644
= "make -B -C ";
2886 var646
= string__NativeString__to_s_with_length(var644
, var645
);
2888 varonce642
= var643
;
2891 var648
= varonce647
;
2895 var651
= string__NativeString__to_s_with_length(var649
, var650
);
2897 varonce647
= var648
;
2900 var653
= varonce652
;
2904 var656
= string__NativeString__to_s_with_length(var654
, var655
);
2906 varonce652
= var653
;
2908 var657
= NEW_array__Array(&type_array__Arraykernel__Object
);
2909 { /* var657 = array_instance Array[Object] */
2911 var659
= NEW_array__NativeArray(var658
, &type_array__NativeArraykernel__Object
);
2912 ((struct instance_array__NativeArray
*)var659
)->values
[0] = (val
*) var643
;
2913 ((struct instance_array__NativeArray
*)var659
)->values
[1] = (val
*) var_compile_dir
;
2914 ((struct instance_array__NativeArray
*)var659
)->values
[2] = (val
*) var648
;
2915 ((struct instance_array__NativeArray
*)var659
)->values
[3] = (val
*) var_makename
;
2916 ((struct instance_array__NativeArray
*)var659
)->values
[4] = (val
*) var653
;
2917 ((struct instance_array__NativeArray
*)var659
)->values
[5] = (val
*) var_makeflags
;
2918 ((void (*)(val
*, val
*, long))(var657
->class->vft
[COLOR_array__Array__with_native
]))(var657
, var659
, var658
) /* with_native on <var657:Array[Object]>*/;
2919 CHECK_NEW_array__Array(var657
);
2921 var660
= ((val
* (*)(val
*))(var657
->class->vft
[COLOR_string__Object__to_s
]))(var657
) /* to_s on <var657:Array[Object]>*/;
2923 ((void (*)(val
*, val
*, long))(var641
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var641
, var660
, var661
) /* info on <var641:ToolContext>*/;
2924 var662
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
2925 var663
= ((long (*)(val
*))(var662
->class->vft
[COLOR_toolcontext__ToolContext__verbose_level
]))(var662
) /* verbose_level on <var662:ToolContext>*/;
2927 { /* Inline kernel#Int#>= (var663,var664) */
2928 /* Covariant cast for argument 0 (i) <var664:Int> isa OTHER */
2929 /* <var664:Int> isa OTHER */
2930 var667
= 1; /* easy <var664:Int> isa OTHER*/
2932 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
2935 var670
= var663
>= var664
;
2938 RET_LABEL666
:(void)0;
2941 var671
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__sys
]))(self
) /* sys on <self:ModelBuilder>*/;
2943 var673
= varonce672
;
2945 var674
= "make -B -C ";
2947 var676
= string__NativeString__to_s_with_length(var674
, var675
);
2949 varonce672
= var673
;
2952 var678
= varonce677
;
2956 var681
= string__NativeString__to_s_with_length(var679
, var680
);
2958 varonce677
= var678
;
2961 var683
= varonce682
;
2965 var686
= string__NativeString__to_s_with_length(var684
, var685
);
2967 varonce682
= var683
;
2970 var688
= varonce687
;
2974 var691
= string__NativeString__to_s_with_length(var689
, var690
);
2976 varonce687
= var688
;
2978 var692
= NEW_array__Array(&type_array__Arraykernel__Object
);
2979 { /* var692 = array_instance Array[Object] */
2981 var694
= NEW_array__NativeArray(var693
, &type_array__NativeArraykernel__Object
);
2982 ((struct instance_array__NativeArray
*)var694
)->values
[0] = (val
*) var673
;
2983 ((struct instance_array__NativeArray
*)var694
)->values
[1] = (val
*) var_compile_dir
;
2984 ((struct instance_array__NativeArray
*)var694
)->values
[2] = (val
*) var678
;
2985 ((struct instance_array__NativeArray
*)var694
)->values
[3] = (val
*) var_makename
;
2986 ((struct instance_array__NativeArray
*)var694
)->values
[4] = (val
*) var683
;
2987 ((struct instance_array__NativeArray
*)var694
)->values
[5] = (val
*) var_makeflags
;
2988 ((struct instance_array__NativeArray
*)var694
)->values
[6] = (val
*) var688
;
2989 ((void (*)(val
*, val
*, long))(var692
->class->vft
[COLOR_array__Array__with_native
]))(var692
, var694
, var693
) /* with_native on <var692:Array[Object]>*/;
2990 CHECK_NEW_array__Array(var692
);
2992 var695
= ((val
* (*)(val
*))(var692
->class->vft
[COLOR_string__Object__to_s
]))(var692
) /* to_s on <var692:Array[Object]>*/;
2993 var696
= ((long (*)(val
*, val
*))(var671
->class->vft
[COLOR_exec__Sys__system
]))(var671
, var695
) /* system on <var671:Sys>*/;
2994 var697
= BOX_kernel__Int(var696
); /* autobox from Int to nullable Object */
2997 var698
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__sys
]))(self
) /* sys on <self:ModelBuilder>*/;
2999 var700
= varonce699
;
3001 var701
= "make -B -C ";
3003 var703
= string__NativeString__to_s_with_length(var701
, var702
);
3005 varonce699
= var700
;
3008 var705
= varonce704
;
3012 var708
= string__NativeString__to_s_with_length(var706
, var707
);
3014 varonce704
= var705
;
3017 var710
= varonce709
;
3021 var713
= string__NativeString__to_s_with_length(var711
, var712
);
3023 varonce709
= var710
;
3026 var715
= varonce714
;
3028 var716
= " 2>&1 >/dev/null";
3030 var718
= string__NativeString__to_s_with_length(var716
, var717
);
3032 varonce714
= var715
;
3034 var719
= NEW_array__Array(&type_array__Arraykernel__Object
);
3035 { /* var719 = array_instance Array[Object] */
3037 var721
= NEW_array__NativeArray(var720
, &type_array__NativeArraykernel__Object
);
3038 ((struct instance_array__NativeArray
*)var721
)->values
[0] = (val
*) var700
;
3039 ((struct instance_array__NativeArray
*)var721
)->values
[1] = (val
*) var_compile_dir
;
3040 ((struct instance_array__NativeArray
*)var721
)->values
[2] = (val
*) var705
;
3041 ((struct instance_array__NativeArray
*)var721
)->values
[3] = (val
*) var_makename
;
3042 ((struct instance_array__NativeArray
*)var721
)->values
[4] = (val
*) var710
;
3043 ((struct instance_array__NativeArray
*)var721
)->values
[5] = (val
*) var_makeflags
;
3044 ((struct instance_array__NativeArray
*)var721
)->values
[6] = (val
*) var715
;
3045 ((void (*)(val
*, val
*, long))(var719
->class->vft
[COLOR_array__Array__with_native
]))(var719
, var721
, var720
) /* with_native on <var719:Array[Object]>*/;
3046 CHECK_NEW_array__Array(var719
);
3048 var722
= ((val
* (*)(val
*))(var719
->class->vft
[COLOR_string__Object__to_s
]))(var719
) /* to_s on <var719:Array[Object]>*/;
3049 var723
= ((long (*)(val
*, val
*))(var698
->class->vft
[COLOR_exec__Sys__system
]))(var698
, var722
) /* system on <var698:Sys>*/;
3050 var724
= BOX_kernel__Int(var723
); /* autobox from Int to nullable Object */
3054 { /* Inline kernel#Int#!= (var_res,var725) */
3055 var728
= (var_res
!= NULL
) && (var_res
->class == &class_kernel__Int
);
3057 var729
= ((struct instance_kernel__Int
*)var_res
)->value
; /* autounbox from nullable Object to Int */;
3058 var728
= (var729
== var725
);
3063 RET_LABEL727
:(void)0;
3066 var731
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
3069 var734
= varonce733
;
3071 var735
= "make failed! Error code: ";
3073 var737
= string__NativeString__to_s_with_length(var735
, var736
);
3075 varonce733
= var734
;
3078 var739
= varonce738
;
3082 var742
= string__NativeString__to_s_with_length(var740
, var741
);
3084 varonce738
= var739
;
3086 var743
= NEW_array__Array(&type_array__Arraykernel__Object
);
3087 { /* var743 = array_instance Array[Object] */
3089 var745
= NEW_array__NativeArray(var744
, &type_array__NativeArraykernel__Object
);
3090 ((struct instance_array__NativeArray
*)var745
)->values
[0] = (val
*) var734
;
3091 ((struct instance_array__NativeArray
*)var745
)->values
[1] = (val
*) var_res
;
3092 ((struct instance_array__NativeArray
*)var745
)->values
[2] = (val
*) var739
;
3093 ((void (*)(val
*, val
*, long))(var743
->class->vft
[COLOR_array__Array__with_native
]))(var743
, var745
, var744
) /* with_native on <var743:Array[Object]>*/;
3094 CHECK_NEW_array__Array(var743
);
3096 var746
= ((val
* (*)(val
*))(var743
->class->vft
[COLOR_string__Object__to_s
]))(var743
) /* to_s on <var743:Array[Object]>*/;
3097 ((void (*)(val
*, val
*, val
*))(var731
->class->vft
[COLOR_toolcontext__ToolContext__error
]))(var731
, var732
, var746
) /* error on <var731:ToolContext>*/;
3100 var747
= ((long (*)(val
*))(self
->class->vft
[COLOR_time__Object__get_time
]))(self
) /* get_time on <self:ModelBuilder>*/;
3102 var748
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
3104 var750
= varonce749
;
3106 var751
= "*** END COMPILING C: ";
3108 var753
= string__NativeString__to_s_with_length(var751
, var752
);
3110 varonce749
= var750
;
3112 { /* Inline kernel#Int#- (var_time1,var_time0) */
3113 var756
= var_time1
- var_time0
;
3116 RET_LABEL755
:(void)0;
3119 var758
= varonce757
;
3123 var761
= string__NativeString__to_s_with_length(var759
, var760
);
3125 varonce757
= var758
;
3127 var762
= NEW_array__Array(&type_array__Arraykernel__Object
);
3128 { /* var762 = array_instance Array[Object] */
3130 var764
= NEW_array__NativeArray(var763
, &type_array__NativeArraykernel__Object
);
3131 ((struct instance_array__NativeArray
*)var764
)->values
[0] = (val
*) var750
;
3132 var765
= BOX_kernel__Int(var754
); /* autobox from Int to Object */
3133 ((struct instance_array__NativeArray
*)var764
)->values
[1] = (val
*) var765
;
3134 ((struct instance_array__NativeArray
*)var764
)->values
[2] = (val
*) var758
;
3135 ((void (*)(val
*, val
*, long))(var762
->class->vft
[COLOR_array__Array__with_native
]))(var762
, var764
, var763
) /* with_native on <var762:Array[Object]>*/;
3136 CHECK_NEW_array__Array(var762
);
3138 var766
= ((val
* (*)(val
*))(var762
->class->vft
[COLOR_string__Object__to_s
]))(var762
) /* to_s on <var762:Array[Object]>*/;
3140 ((void (*)(val
*, val
*, long))(var748
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var748
, var766
, var767
) /* info on <var748:ToolContext>*/;
3143 /* method abstract_compiler#ModelBuilder#write_and_make for (self: Object, AbstractCompiler) */
3144 void VIRTUAL_abstract_compiler__ModelBuilder__write_and_make(val
* self
, val
* p0
) {
3145 abstract_compiler__ModelBuilder__write_and_make(self
, p0
);
3148 /* method abstract_compiler#AbstractCompiler#mainmodule for (self: AbstractCompiler): MModule */
3149 val
* abstract_compiler__AbstractCompiler__mainmodule(val
* self
) {
3150 val
* var
/* : MModule */;
3151 val
* var1
/* : MModule */;
3152 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dmainmodule
].val
; /* @mainmodule on <self:AbstractCompiler> */
3154 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @mainmodule", "src/abstract_compiler.nit", 259);
3161 /* method abstract_compiler#AbstractCompiler#mainmodule for (self: Object): MModule */
3162 val
* VIRTUAL_abstract_compiler__AbstractCompiler__mainmodule(val
* self
) {
3163 val
* var
/* : MModule */;
3164 val
* var1
/* : MModule */;
3165 var1
= abstract_compiler__AbstractCompiler__mainmodule(self
);
3170 /* method abstract_compiler#AbstractCompiler#mainmodule= for (self: AbstractCompiler, MModule) */
3171 void abstract_compiler__AbstractCompiler__mainmodule_61d(val
* self
, val
* p0
) {
3172 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dmainmodule
].val
= p0
; /* @mainmodule on <self:AbstractCompiler> */
3175 /* method abstract_compiler#AbstractCompiler#mainmodule= for (self: Object, MModule) */
3176 void VIRTUAL_abstract_compiler__AbstractCompiler__mainmodule_61d(val
* self
, val
* p0
) {
3177 abstract_compiler__AbstractCompiler__mainmodule_61d(self
, p0
);
3180 /* method abstract_compiler#AbstractCompiler#realmainmodule for (self: AbstractCompiler): MModule */
3181 val
* abstract_compiler__AbstractCompiler__realmainmodule(val
* self
) {
3182 val
* var
/* : MModule */;
3183 val
* var1
/* : MModule */;
3184 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64drealmainmodule
].val
; /* @realmainmodule on <self:AbstractCompiler> */
3186 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @realmainmodule", "src/abstract_compiler.nit", 263);
3193 /* method abstract_compiler#AbstractCompiler#realmainmodule for (self: Object): MModule */
3194 val
* VIRTUAL_abstract_compiler__AbstractCompiler__realmainmodule(val
* self
) {
3195 val
* var
/* : MModule */;
3196 val
* var1
/* : MModule */;
3197 var1
= abstract_compiler__AbstractCompiler__realmainmodule(self
);
3202 /* method abstract_compiler#AbstractCompiler#realmainmodule= for (self: AbstractCompiler, MModule) */
3203 void abstract_compiler__AbstractCompiler__realmainmodule_61d(val
* self
, val
* p0
) {
3204 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64drealmainmodule
].val
= p0
; /* @realmainmodule on <self:AbstractCompiler> */
3207 /* method abstract_compiler#AbstractCompiler#realmainmodule= for (self: Object, MModule) */
3208 void VIRTUAL_abstract_compiler__AbstractCompiler__realmainmodule_61d(val
* self
, val
* p0
) {
3209 abstract_compiler__AbstractCompiler__realmainmodule_61d(self
, p0
);
3212 /* method abstract_compiler#AbstractCompiler#modelbuilder for (self: AbstractCompiler): ModelBuilder */
3213 val
* abstract_compiler__AbstractCompiler__modelbuilder(val
* self
) {
3214 val
* var
/* : ModelBuilder */;
3215 val
* var1
/* : ModelBuilder */;
3216 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dmodelbuilder
].val
; /* @modelbuilder on <self:AbstractCompiler> */
3218 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @modelbuilder", "src/abstract_compiler.nit", 266);
3225 /* method abstract_compiler#AbstractCompiler#modelbuilder for (self: Object): ModelBuilder */
3226 val
* VIRTUAL_abstract_compiler__AbstractCompiler__modelbuilder(val
* self
) {
3227 val
* var
/* : ModelBuilder */;
3228 val
* var1
/* : ModelBuilder */;
3229 var1
= abstract_compiler__AbstractCompiler__modelbuilder(self
);
3234 /* method abstract_compiler#AbstractCompiler#modelbuilder= for (self: AbstractCompiler, ModelBuilder) */
3235 void abstract_compiler__AbstractCompiler__modelbuilder_61d(val
* self
, val
* p0
) {
3236 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dmodelbuilder
].val
= p0
; /* @modelbuilder on <self:AbstractCompiler> */
3239 /* method abstract_compiler#AbstractCompiler#modelbuilder= for (self: Object, ModelBuilder) */
3240 void VIRTUAL_abstract_compiler__AbstractCompiler__modelbuilder_61d(val
* self
, val
* p0
) {
3241 abstract_compiler__AbstractCompiler__modelbuilder_61d(self
, p0
);
3244 /* method abstract_compiler#AbstractCompiler#hardening for (self: AbstractCompiler): Bool */
3245 short int abstract_compiler__AbstractCompiler__hardening(val
* self
) {
3246 short int var
/* : Bool */;
3247 val
* var1
/* : ModelBuilder */;
3248 val
* var2
/* : ToolContext */;
3249 val
* var3
/* : OptionBool */;
3250 val
* var4
/* : nullable Object */;
3251 short int var5
/* : Bool */;
3252 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
3253 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var1
) /* toolcontext on <var1:ModelBuilder>*/;
3254 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_hardening
]))(var2
) /* opt_hardening on <var2:ToolContext>*/;
3255 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_opts__Option__value
]))(var3
) /* value on <var3:OptionBool>*/;
3256 var5
= ((struct instance_kernel__Bool
*)var4
)->value
; /* autounbox from nullable Object to Bool */;
3262 /* method abstract_compiler#AbstractCompiler#hardening for (self: Object): Bool */
3263 short int VIRTUAL_abstract_compiler__AbstractCompiler__hardening(val
* self
) {
3264 short int var
/* : Bool */;
3265 short int var1
/* : Bool */;
3266 var1
= abstract_compiler__AbstractCompiler__hardening(self
);
3271 /* method abstract_compiler#AbstractCompiler#init for (self: AbstractCompiler, MModule, ModelBuilder) */
3272 void abstract_compiler__AbstractCompiler__init(val
* self
, val
* p0
, val
* p1
) {
3273 val
* var_mainmodule
/* var mainmodule: MModule */;
3274 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
3275 var_mainmodule
= p0
;
3276 var_modelbuilder
= p1
;
3277 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule_61d
]))(self
, var_mainmodule
) /* mainmodule= on <self:AbstractCompiler>*/;
3278 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__realmainmodule_61d
]))(self
, var_mainmodule
) /* realmainmodule= on <self:AbstractCompiler>*/;
3279 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder_61d
]))(self
, var_modelbuilder
) /* modelbuilder= on <self:AbstractCompiler>*/;
3282 /* method abstract_compiler#AbstractCompiler#init for (self: Object, MModule, ModelBuilder) */
3283 void VIRTUAL_abstract_compiler__AbstractCompiler__init(val
* self
, val
* p0
, val
* p1
) {
3284 abstract_compiler__AbstractCompiler__init(self
, p0
, p1
);
3287 /* method abstract_compiler#AbstractCompiler#new_file for (self: AbstractCompiler, String): CodeFile */
3288 val
* abstract_compiler__AbstractCompiler__new_file(val
* self
, val
* p0
) {
3289 val
* var
/* : CodeFile */;
3290 val
* var_name
/* var name: String */;
3291 val
* var1
/* : CodeFile */;
3292 val
* var_f
/* var f: CodeFile */;
3293 val
* var2
/* : List[CodeFile] */;
3295 var1
= NEW_abstract_compiler__CodeFile(&type_abstract_compiler__CodeFile
);
3296 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_compiler__CodeFile__init
]))(var1
, var_name
) /* init on <var1:CodeFile>*/;
3297 CHECK_NEW_abstract_compiler__CodeFile(var1
);
3299 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__files
]))(self
) /* files on <self:AbstractCompiler>*/;
3300 ((void (*)(val
*, val
*))(var2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var2
, var_f
) /* add on <var2:List[CodeFile]>*/;
3306 /* method abstract_compiler#AbstractCompiler#new_file for (self: Object, String): CodeFile */
3307 val
* VIRTUAL_abstract_compiler__AbstractCompiler__new_file(val
* self
, val
* p0
) {
3308 val
* var
/* : CodeFile */;
3309 val
* var1
/* : CodeFile */;
3310 var1
= abstract_compiler__AbstractCompiler__new_file(self
, p0
);
3315 /* method abstract_compiler#AbstractCompiler#files for (self: AbstractCompiler): List[CodeFile] */
3316 val
* abstract_compiler__AbstractCompiler__files(val
* self
) {
3317 val
* var
/* : List[CodeFile] */;
3318 val
* var1
/* : List[CodeFile] */;
3319 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dfiles
].val
; /* @files on <self:AbstractCompiler> */
3321 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @files", "src/abstract_compiler.nit", 288);
3328 /* method abstract_compiler#AbstractCompiler#files for (self: Object): List[CodeFile] */
3329 val
* VIRTUAL_abstract_compiler__AbstractCompiler__files(val
* self
) {
3330 val
* var
/* : List[CodeFile] */;
3331 val
* var1
/* : List[CodeFile] */;
3332 var1
= abstract_compiler__AbstractCompiler__files(self
);
3337 /* method abstract_compiler#AbstractCompiler#files= for (self: AbstractCompiler, List[CodeFile]) */
3338 void abstract_compiler__AbstractCompiler__files_61d(val
* self
, val
* p0
) {
3339 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dfiles
].val
= p0
; /* @files on <self:AbstractCompiler> */
3342 /* method abstract_compiler#AbstractCompiler#files= for (self: Object, List[CodeFile]) */
3343 void VIRTUAL_abstract_compiler__AbstractCompiler__files_61d(val
* self
, val
* p0
) {
3344 abstract_compiler__AbstractCompiler__files_61d(self
, p0
);
3347 /* method abstract_compiler#AbstractCompiler#new_visitor for (self: AbstractCompiler): AbstractCompilerVisitor */
3348 val
* abstract_compiler__AbstractCompiler__new_visitor(val
* self
) {
3349 val
* var
/* : AbstractCompilerVisitor */;
3350 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/abstract_compiler.nit", 292);
3355 /* method abstract_compiler#AbstractCompiler#new_visitor for (self: Object): AbstractCompilerVisitor */
3356 val
* VIRTUAL_abstract_compiler__AbstractCompiler__new_visitor(val
* self
) {
3357 val
* var
/* : AbstractCompilerVisitor */;
3358 val
* var1
/* : AbstractCompilerVisitor */;
3359 var1
= abstract_compiler__AbstractCompiler__new_visitor(self
);
3364 /* method abstract_compiler#AbstractCompiler#header for (self: AbstractCompiler): CodeWriter */
3365 val
* abstract_compiler__AbstractCompiler__header(val
* self
) {
3366 val
* var
/* : CodeWriter */;
3367 val
* var1
/* : CodeWriter */;
3368 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dheader
].val
; /* @header on <self:AbstractCompiler> */
3370 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @header", "src/abstract_compiler.nit", 295);
3377 /* method abstract_compiler#AbstractCompiler#header for (self: Object): CodeWriter */
3378 val
* VIRTUAL_abstract_compiler__AbstractCompiler__header(val
* self
) {
3379 val
* var
/* : CodeWriter */;
3380 val
* var1
/* : CodeWriter */;
3381 var1
= abstract_compiler__AbstractCompiler__header(self
);
3386 /* method abstract_compiler#AbstractCompiler#header= for (self: AbstractCompiler, CodeWriter) */
3387 void abstract_compiler__AbstractCompiler__header_61d(val
* self
, val
* p0
) {
3388 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dheader
].val
= p0
; /* @header on <self:AbstractCompiler> */
3391 /* method abstract_compiler#AbstractCompiler#header= for (self: Object, CodeWriter) */
3392 void VIRTUAL_abstract_compiler__AbstractCompiler__header_61d(val
* self
, val
* p0
) {
3393 abstract_compiler__AbstractCompiler__header_61d(self
, p0
);
3396 /* method abstract_compiler#AbstractCompiler#provide_declaration for (self: AbstractCompiler, String, String) */
3397 void abstract_compiler__AbstractCompiler__provide_declaration(val
* self
, val
* p0
, val
* p1
) {
3398 val
* var_key
/* var key: String */;
3399 val
* var_s
/* var s: String */;
3400 val
* var
/* : HashMap[String, String] */;
3401 short int var1
/* : Bool */;
3402 val
* var2
/* : HashMap[String, String] */;
3403 val
* var3
/* : nullable Object */;
3404 short int var4
/* : Bool */;
3405 val
* var5
/* : HashMap[String, String] */;
3408 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__provided_declarations
]))(self
) /* provided_declarations on <self:AbstractCompiler>*/;
3409 var1
= ((short int (*)(val
*, val
*))(var
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var
, var_key
) /* has_key on <var:HashMap[String, String]>*/;
3411 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__provided_declarations
]))(self
) /* provided_declarations on <self:AbstractCompiler>*/;
3412 var3
= ((val
* (*)(val
*, val
*))(var2
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var2
, var_key
) /* [] on <var2:HashMap[String, String]>*/;
3413 var4
= ((short int (*)(val
*, val
*))(var3
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var3
, var_s
) /* == on <var3:nullable Object(String)>*/;
3415 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/abstract_compiler.nit", 302);
3420 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__provided_declarations
]))(self
) /* provided_declarations on <self:AbstractCompiler>*/;
3421 ((void (*)(val
*, val
*, val
*))(var5
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var5
, var_key
, var_s
) /* []= on <var5:HashMap[String, String]>*/;
3424 /* method abstract_compiler#AbstractCompiler#provide_declaration for (self: Object, String, String) */
3425 void VIRTUAL_abstract_compiler__AbstractCompiler__provide_declaration(val
* self
, val
* p0
, val
* p1
) {
3426 abstract_compiler__AbstractCompiler__provide_declaration(self
, p0
, p1
);
3429 /* method abstract_compiler#AbstractCompiler#provided_declarations for (self: AbstractCompiler): HashMap[String, String] */
3430 val
* abstract_compiler__AbstractCompiler__provided_declarations(val
* self
) {
3431 val
* var
/* : HashMap[String, String] */;
3432 val
* var1
/* : HashMap[String, String] */;
3433 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dprovided_declarations
].val
; /* @provided_declarations on <self:AbstractCompiler> */
3435 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @provided_declarations", "src/abstract_compiler.nit", 307);
3442 /* method abstract_compiler#AbstractCompiler#provided_declarations for (self: Object): HashMap[String, String] */
3443 val
* VIRTUAL_abstract_compiler__AbstractCompiler__provided_declarations(val
* self
) {
3444 val
* var
/* : HashMap[String, String] */;
3445 val
* var1
/* : HashMap[String, String] */;
3446 var1
= abstract_compiler__AbstractCompiler__provided_declarations(self
);
3451 /* method abstract_compiler#AbstractCompiler#provided_declarations= for (self: AbstractCompiler, HashMap[String, String]) */
3452 void abstract_compiler__AbstractCompiler__provided_declarations_61d(val
* self
, val
* p0
) {
3453 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dprovided_declarations
].val
= p0
; /* @provided_declarations on <self:AbstractCompiler> */
3456 /* method abstract_compiler#AbstractCompiler#provided_declarations= for (self: Object, HashMap[String, String]) */
3457 void VIRTUAL_abstract_compiler__AbstractCompiler__provided_declarations_61d(val
* self
, val
* p0
) {
3458 abstract_compiler__AbstractCompiler__provided_declarations_61d(self
, p0
);
3461 /* method abstract_compiler#AbstractCompiler#compile_header for (self: AbstractCompiler) */
3462 void abstract_compiler__AbstractCompiler__compile_header(val
* self
) {
3463 val
* var
/* : CodeWriter */;
3464 val
* var_v
/* var v: CodeWriter */;
3465 val
* var1
/* : CodeWriter */;
3466 static val
* varonce
;
3467 val
* var2
/* : String */;
3468 char* var3
/* : NativeString */;
3469 long var4
/* : Int */;
3470 val
* var5
/* : String */;
3471 val
* var6
/* : CodeWriter */;
3472 static val
* varonce7
;
3473 val
* var8
/* : String */;
3474 char* var9
/* : NativeString */;
3475 long var10
/* : Int */;
3476 val
* var11
/* : String */;
3477 val
* var12
/* : CodeWriter */;
3478 static val
* varonce13
;
3479 val
* var14
/* : String */;
3480 char* var15
/* : NativeString */;
3481 long var16
/* : Int */;
3482 val
* var17
/* : String */;
3483 val
* var18
/* : CodeWriter */;
3484 static val
* varonce19
;
3485 val
* var20
/* : String */;
3486 char* var21
/* : NativeString */;
3487 long var22
/* : Int */;
3488 val
* var23
/* : String */;
3489 val
* var24
/* : CodeWriter */;
3490 static val
* varonce25
;
3491 val
* var26
/* : String */;
3492 char* var27
/* : NativeString */;
3493 long var28
/* : Int */;
3494 val
* var29
/* : String */;
3495 val
* var30
/* : CodeWriter */;
3496 static val
* varonce31
;
3497 val
* var32
/* : String */;
3498 char* var33
/* : NativeString */;
3499 long var34
/* : Int */;
3500 val
* var35
/* : String */;
3501 val
* var36
/* : CodeWriter */;
3502 static val
* varonce37
;
3503 val
* var38
/* : String */;
3504 char* var39
/* : NativeString */;
3505 long var40
/* : Int */;
3506 val
* var41
/* : String */;
3507 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
3509 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
3513 var3
= "#include <stdlib.h>";
3515 var5
= string__NativeString__to_s_with_length(var3
, var4
);
3519 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var1
, var2
) /* add_decl on <var1:CodeWriter>*/;
3520 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
3524 var9
= "#include <stdio.h>";
3526 var11
= string__NativeString__to_s_with_length(var9
, var10
);
3530 ((void (*)(val
*, val
*))(var6
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var6
, var8
) /* add_decl on <var6:CodeWriter>*/;
3531 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
3535 var15
= "#include <string.h>";
3537 var17
= string__NativeString__to_s_with_length(var15
, var16
);
3541 ((void (*)(val
*, val
*))(var12
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var12
, var14
) /* add_decl on <var12:CodeWriter>*/;
3542 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
3546 var21
= "#include <gc_chooser.h>";
3548 var23
= string__NativeString__to_s_with_length(var21
, var22
);
3552 ((void (*)(val
*, val
*))(var18
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var18
, var20
) /* add_decl on <var18:CodeWriter>*/;
3553 ((void (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__compile_header_structs
]))(self
) /* compile_header_structs on <self:AbstractCompiler>*/;
3554 var24
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
3558 var27
= "extern int glob_argc;";
3560 var29
= string__NativeString__to_s_with_length(var27
, var28
);
3564 ((void (*)(val
*, val
*))(var24
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var24
, var26
) /* add_decl on <var24:CodeWriter>*/;
3565 var30
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
3569 var33
= "extern char **glob_argv;";
3571 var35
= string__NativeString__to_s_with_length(var33
, var34
);
3575 ((void (*)(val
*, val
*))(var30
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var30
, var32
) /* add_decl on <var30:CodeWriter>*/;
3576 var36
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
3580 var39
= "extern val *glob_sys;";
3582 var41
= string__NativeString__to_s_with_length(var39
, var40
);
3586 ((void (*)(val
*, val
*))(var36
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var36
, var38
) /* add_decl on <var36:CodeWriter>*/;
3589 /* method abstract_compiler#AbstractCompiler#compile_header for (self: Object) */
3590 void VIRTUAL_abstract_compiler__AbstractCompiler__compile_header(val
* self
) {
3591 abstract_compiler__AbstractCompiler__compile_header(self
);
3594 /* method abstract_compiler#AbstractCompiler#compile_header_structs for (self: AbstractCompiler) */
3595 void abstract_compiler__AbstractCompiler__compile_header_structs(val
* self
) {
3596 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/abstract_compiler.nit", 326);
3600 /* method abstract_compiler#AbstractCompiler#compile_header_structs for (self: Object) */
3601 void VIRTUAL_abstract_compiler__AbstractCompiler__compile_header_structs(val
* self
) {
3602 abstract_compiler__AbstractCompiler__compile_header_structs(self
);
3605 /* method abstract_compiler#AbstractCompiler#compile_main_function for (self: AbstractCompiler) */
3606 void abstract_compiler__AbstractCompiler__compile_main_function(val
* self
) {
3607 val
* var
/* : AbstractCompilerVisitor */;
3608 val
* var_v
/* var v: AbstractCompilerVisitor */;
3609 static val
* varonce
;
3610 val
* var1
/* : String */;
3611 char* var2
/* : NativeString */;
3612 long var3
/* : Int */;
3613 val
* var4
/* : String */;
3614 static val
* varonce5
;
3615 val
* var6
/* : String */;
3616 char* var7
/* : NativeString */;
3617 long var8
/* : Int */;
3618 val
* var9
/* : String */;
3619 static val
* varonce10
;
3620 val
* var11
/* : String */;
3621 char* var12
/* : NativeString */;
3622 long var13
/* : Int */;
3623 val
* var14
/* : String */;
3624 val
* var15
/* : ModelBuilder */;
3625 val
* var16
/* : ToolContext */;
3626 val
* var17
/* : OptionBool */;
3627 val
* var18
/* : nullable Object */;
3628 short int var19
/* : Bool */;
3629 val
* var20
/* : Array[String] */;
3630 val
* var21
/* : Iterator[nullable Object] */;
3631 short int var22
/* : Bool */;
3632 val
* var23
/* : nullable Object */;
3633 val
* var_tag
/* var tag: String */;
3634 static val
* varonce24
;
3635 val
* var25
/* : String */;
3636 char* var26
/* : NativeString */;
3637 long var27
/* : Int */;
3638 val
* var28
/* : String */;
3639 static val
* varonce29
;
3640 val
* var30
/* : String */;
3641 char* var31
/* : NativeString */;
3642 long var32
/* : Int */;
3643 val
* var33
/* : String */;
3644 val
* var34
/* : Array[Object] */;
3645 long var35
/* : Int */;
3646 val
* var36
/* : NativeArray[Object] */;
3647 val
* var37
/* : String */;
3648 static val
* varonce38
;
3649 val
* var39
/* : String */;
3650 char* var40
/* : NativeString */;
3651 long var41
/* : Int */;
3652 val
* var42
/* : String */;
3653 static val
* varonce43
;
3654 val
* var44
/* : String */;
3655 char* var45
/* : NativeString */;
3656 long var46
/* : Int */;
3657 val
* var47
/* : String */;
3658 val
* var48
/* : Array[Object] */;
3659 long var49
/* : Int */;
3660 val
* var50
/* : NativeArray[Object] */;
3661 val
* var51
/* : String */;
3662 static val
* varonce52
;
3663 val
* var53
/* : String */;
3664 char* var54
/* : NativeString */;
3665 long var55
/* : Int */;
3666 val
* var56
/* : String */;
3667 static val
* varonce57
;
3668 val
* var58
/* : String */;
3669 char* var59
/* : NativeString */;
3670 long var60
/* : Int */;
3671 val
* var61
/* : String */;
3672 val
* var62
/* : Array[Object] */;
3673 long var63
/* : Int */;
3674 val
* var64
/* : NativeArray[Object] */;
3675 val
* var65
/* : String */;
3676 val
* var66
/* : AbstractCompiler */;
3677 val
* var67
/* : CodeWriter */;
3678 static val
* varonce68
;
3679 val
* var69
/* : String */;
3680 char* var70
/* : NativeString */;
3681 long var71
/* : Int */;
3682 val
* var72
/* : String */;
3683 static val
* varonce73
;
3684 val
* var74
/* : String */;
3685 char* var75
/* : NativeString */;
3686 long var76
/* : Int */;
3687 val
* var77
/* : String */;
3688 val
* var78
/* : Array[Object] */;
3689 long var79
/* : Int */;
3690 val
* var80
/* : NativeArray[Object] */;
3691 val
* var81
/* : String */;
3692 val
* var82
/* : AbstractCompiler */;
3693 val
* var83
/* : CodeWriter */;
3694 static val
* varonce84
;
3695 val
* var85
/* : String */;
3696 char* var86
/* : NativeString */;
3697 long var87
/* : Int */;
3698 val
* var88
/* : String */;
3699 static val
* varonce89
;
3700 val
* var90
/* : String */;
3701 char* var91
/* : NativeString */;
3702 long var92
/* : Int */;
3703 val
* var93
/* : String */;
3704 val
* var94
/* : Array[Object] */;
3705 long var95
/* : Int */;
3706 val
* var96
/* : NativeArray[Object] */;
3707 val
* var97
/* : String */;
3708 val
* var98
/* : AbstractCompiler */;
3709 val
* var99
/* : CodeWriter */;
3710 static val
* varonce100
;
3711 val
* var101
/* : String */;
3712 char* var102
/* : NativeString */;
3713 long var103
/* : Int */;
3714 val
* var104
/* : String */;
3715 static val
* varonce105
;
3716 val
* var106
/* : String */;
3717 char* var107
/* : NativeString */;
3718 long var108
/* : Int */;
3719 val
* var109
/* : String */;
3720 val
* var110
/* : Array[Object] */;
3721 long var111
/* : Int */;
3722 val
* var112
/* : NativeArray[Object] */;
3723 val
* var113
/* : String */;
3724 static val
* varonce114
;
3725 val
* var115
/* : String */;
3726 char* var116
/* : NativeString */;
3727 long var117
/* : Int */;
3728 val
* var118
/* : String */;
3729 static val
* varonce119
;
3730 val
* var120
/* : String */;
3731 char* var121
/* : NativeString */;
3732 long var122
/* : Int */;
3733 val
* var123
/* : String */;
3734 static val
* varonce124
;
3735 val
* var125
/* : String */;
3736 char* var126
/* : NativeString */;
3737 long var127
/* : Int */;
3738 val
* var128
/* : String */;
3739 val
* var129
/* : MModule */;
3740 val
* var130
/* : nullable MClassType */;
3741 val
* var_main_type
/* var main_type: nullable MClassType */;
3742 val
* var131
/* : null */;
3743 short int var132
/* : Bool */;
3744 val
* var133
/* : AbstractCompiler */;
3745 val
* var134
/* : MModule */;
3746 val
* var_mainmodule
/* var mainmodule: MModule */;
3747 val
* var135
/* : RuntimeVariable */;
3748 val
* var_glob_sys
/* var glob_sys: RuntimeVariable */;
3749 static val
* varonce136
;
3750 val
* var137
/* : String */;
3751 char* var138
/* : NativeString */;
3752 long var139
/* : Int */;
3753 val
* var140
/* : String */;
3754 static val
* varonce141
;
3755 val
* var142
/* : String */;
3756 char* var143
/* : NativeString */;
3757 long var144
/* : Int */;
3758 val
* var145
/* : String */;
3759 val
* var146
/* : Array[Object] */;
3760 long var147
/* : Int */;
3761 val
* var148
/* : NativeArray[Object] */;
3762 val
* var149
/* : String */;
3763 static val
* varonce150
;
3764 val
* var151
/* : String */;
3765 char* var152
/* : NativeString */;
3766 long var153
/* : Int */;
3767 val
* var154
/* : String */;
3768 val
* var155
/* : MClass */;
3769 val
* var156
/* : nullable MMethod */;
3770 val
* var_main_init
/* var main_init: nullable MMethod */;
3771 val
* var157
/* : null */;
3772 short int var158
/* : Bool */;
3773 val
* var159
/* : Array[RuntimeVariable] */;
3774 long var160
/* : Int */;
3775 val
* var161
/* : NativeArray[RuntimeVariable] */;
3776 val
* var162
/* : nullable RuntimeVariable */;
3777 static val
* varonce163
;
3778 val
* var164
/* : String */;
3779 char* var165
/* : NativeString */;
3780 long var166
/* : Int */;
3781 val
* var167
/* : String */;
3782 val
* var168
/* : MClass */;
3783 val
* var169
/* : nullable MMethod */;
3784 val
* var_main_method
/* var main_method: nullable MMethod */;
3785 val
* var170
/* : null */;
3786 short int var171
/* : Bool */;
3787 val
* var172
/* : Array[RuntimeVariable] */;
3788 long var173
/* : Int */;
3789 val
* var174
/* : NativeArray[RuntimeVariable] */;
3790 val
* var175
/* : nullable RuntimeVariable */;
3791 val
* var176
/* : ModelBuilder */;
3792 val
* var177
/* : ToolContext */;
3793 val
* var178
/* : OptionBool */;
3794 val
* var179
/* : nullable Object */;
3795 short int var180
/* : Bool */;
3796 static val
* varonce181
;
3797 val
* var182
/* : String */;
3798 char* var183
/* : NativeString */;
3799 long var184
/* : Int */;
3800 val
* var185
/* : String */;
3801 static val
* varonce186
;
3802 val
* var187
/* : String */;
3803 char* var188
/* : NativeString */;
3804 long var189
/* : Int */;
3805 val
* var190
/* : String */;
3806 static val
* varonce191
;
3807 val
* var192
/* : String */;
3808 char* var193
/* : NativeString */;
3809 long var194
/* : Int */;
3810 val
* var195
/* : String */;
3811 static val
* varonce196
;
3812 val
* var197
/* : String */;
3813 char* var198
/* : NativeString */;
3814 long var199
/* : Int */;
3815 val
* var200
/* : String */;
3816 val
* var201
/* : Array[String] */;
3817 val
* var202
/* : Iterator[nullable Object] */;
3818 short int var203
/* : Bool */;
3819 val
* var204
/* : nullable Object */;
3820 val
* var_tag205
/* var tag: String */;
3821 static val
* varonce206
;
3822 val
* var207
/* : String */;
3823 char* var208
/* : NativeString */;
3824 long var209
/* : Int */;
3825 val
* var210
/* : String */;
3826 static val
* varonce211
;
3827 val
* var212
/* : String */;
3828 char* var213
/* : NativeString */;
3829 long var214
/* : Int */;
3830 val
* var215
/* : String */;
3831 val
* var216
/* : Array[Object] */;
3832 long var217
/* : Int */;
3833 val
* var218
/* : NativeArray[Object] */;
3834 val
* var219
/* : String */;
3835 static val
* varonce220
;
3836 val
* var221
/* : String */;
3837 char* var222
/* : NativeString */;
3838 long var223
/* : Int */;
3839 val
* var224
/* : String */;
3840 static val
* varonce225
;
3841 val
* var226
/* : String */;
3842 char* var227
/* : NativeString */;
3843 long var228
/* : Int */;
3844 val
* var229
/* : String */;
3845 static val
* varonce230
;
3846 val
* var231
/* : String */;
3847 char* var232
/* : NativeString */;
3848 long var233
/* : Int */;
3849 val
* var234
/* : String */;
3850 static val
* varonce235
;
3851 val
* var236
/* : String */;
3852 char* var237
/* : NativeString */;
3853 long var238
/* : Int */;
3854 val
* var239
/* : String */;
3855 static val
* varonce240
;
3856 val
* var241
/* : String */;
3857 char* var242
/* : NativeString */;
3858 long var243
/* : Int */;
3859 val
* var244
/* : String */;
3860 val
* var245
/* : Array[Object] */;
3861 long var246
/* : Int */;
3862 val
* var247
/* : NativeArray[Object] */;
3863 val
* var248
/* : String */;
3864 static val
* varonce249
;
3865 val
* var250
/* : String */;
3866 char* var251
/* : NativeString */;
3867 long var252
/* : Int */;
3868 val
* var253
/* : String */;
3869 static val
* varonce254
;
3870 val
* var255
/* : String */;
3871 char* var256
/* : NativeString */;
3872 long var257
/* : Int */;
3873 val
* var258
/* : String */;
3874 val
* var259
/* : Array[Object] */;
3875 long var260
/* : Int */;
3876 val
* var261
/* : NativeArray[Object] */;
3877 val
* var262
/* : String */;
3878 static val
* varonce263
;
3879 val
* var264
/* : String */;
3880 char* var265
/* : NativeString */;
3881 long var266
/* : Int */;
3882 val
* var267
/* : String */;
3883 static val
* varonce268
;
3884 val
* var269
/* : String */;
3885 char* var270
/* : NativeString */;
3886 long var271
/* : Int */;
3887 val
* var272
/* : String */;
3888 val
* var273
/* : Array[Object] */;
3889 long var274
/* : Int */;
3890 val
* var275
/* : NativeArray[Object] */;
3891 val
* var276
/* : String */;
3892 static val
* varonce277
;
3893 val
* var278
/* : String */;
3894 char* var279
/* : NativeString */;
3895 long var280
/* : Int */;
3896 val
* var281
/* : String */;
3897 static val
* varonce282
;
3898 val
* var283
/* : String */;
3899 char* var284
/* : NativeString */;
3900 long var285
/* : Int */;
3901 val
* var286
/* : String */;
3902 val
* var287
/* : Array[Object] */;
3903 long var288
/* : Int */;
3904 val
* var289
/* : NativeArray[Object] */;
3905 val
* var290
/* : String */;
3906 static val
* varonce291
;
3907 val
* var292
/* : String */;
3908 char* var293
/* : NativeString */;
3909 long var294
/* : Int */;
3910 val
* var295
/* : String */;
3911 static val
* varonce296
;
3912 val
* var297
/* : String */;
3913 char* var298
/* : NativeString */;
3914 long var299
/* : Int */;
3915 val
* var300
/* : String */;
3916 val
* var301
/* : Array[Object] */;
3917 long var302
/* : Int */;
3918 val
* var303
/* : NativeArray[Object] */;
3919 val
* var304
/* : String */;
3920 static val
* varonce306
;
3921 val
* var307
/* : String */;
3922 char* var308
/* : NativeString */;
3923 long var309
/* : Int */;
3924 val
* var310
/* : String */;
3925 static val
* varonce311
;
3926 val
* var312
/* : String */;
3927 char* var313
/* : NativeString */;
3928 long var314
/* : Int */;
3929 val
* var315
/* : String */;
3930 val
* var316
/* : Array[String] */;
3931 val
* var317
/* : Array[nullable Object] */;
3932 val
* var_tags
/* var tags: Array[String] */;
3933 static val
* varonce318
;
3934 val
* var319
/* : String */;
3935 char* var320
/* : NativeString */;
3936 long var321
/* : Int */;
3937 val
* var322
/* : String */;
3938 val
* var323
/* : Iterator[nullable Object] */;
3939 short int var324
/* : Bool */;
3940 val
* var325
/* : nullable Object */;
3941 val
* var_tag326
/* var tag: String */;
3942 static val
* varonce327
;
3943 val
* var328
/* : String */;
3944 char* var329
/* : NativeString */;
3945 long var330
/* : Int */;
3946 val
* var331
/* : String */;
3947 static val
* varonce332
;
3948 val
* var333
/* : String */;
3949 char* var334
/* : NativeString */;
3950 long var335
/* : Int */;
3951 val
* var336
/* : String */;
3952 val
* var337
/* : Array[Object] */;
3953 long var338
/* : Int */;
3954 val
* var339
/* : NativeArray[Object] */;
3955 val
* var340
/* : String */;
3956 static val
* varonce341
;
3957 val
* var342
/* : String */;
3958 char* var343
/* : NativeString */;
3959 long var344
/* : Int */;
3960 val
* var345
/* : String */;
3961 static val
* varonce346
;
3962 val
* var347
/* : String */;
3963 char* var348
/* : NativeString */;
3964 long var349
/* : Int */;
3965 val
* var350
/* : String */;
3966 static val
* varonce351
;
3967 val
* var352
/* : String */;
3968 char* var353
/* : NativeString */;
3969 long var354
/* : Int */;
3970 val
* var355
/* : String */;
3971 val
* var356
/* : Array[Object] */;
3972 long var357
/* : Int */;
3973 val
* var358
/* : NativeArray[Object] */;
3974 val
* var359
/* : String */;
3975 static val
* varonce360
;
3976 val
* var361
/* : String */;
3977 char* var362
/* : NativeString */;
3978 long var363
/* : Int */;
3979 val
* var364
/* : String */;
3980 static val
* varonce365
;
3981 val
* var366
/* : String */;
3982 char* var367
/* : NativeString */;
3983 long var368
/* : Int */;
3984 val
* var369
/* : String */;
3985 static val
* varonce370
;
3986 val
* var371
/* : String */;
3987 char* var372
/* : NativeString */;
3988 long var373
/* : Int */;
3989 val
* var374
/* : String */;
3990 val
* var375
/* : Array[Object] */;
3991 long var376
/* : Int */;
3992 val
* var377
/* : NativeArray[Object] */;
3993 val
* var378
/* : String */;
3994 static val
* varonce379
;
3995 val
* var380
/* : String */;
3996 char* var381
/* : NativeString */;
3997 long var382
/* : Int */;
3998 val
* var383
/* : String */;
3999 static val
* varonce384
;
4000 val
* var385
/* : String */;
4001 char* var386
/* : NativeString */;
4002 long var387
/* : Int */;
4003 val
* var388
/* : String */;
4004 static val
* varonce389
;
4005 val
* var390
/* : String */;
4006 char* var391
/* : NativeString */;
4007 long var392
/* : Int */;
4008 val
* var393
/* : String */;
4009 val
* var394
/* : Array[Object] */;
4010 long var395
/* : Int */;
4011 val
* var396
/* : NativeArray[Object] */;
4012 val
* var397
/* : String */;
4013 static val
* varonce398
;
4014 val
* var399
/* : String */;
4015 char* var400
/* : NativeString */;
4016 long var401
/* : Int */;
4017 val
* var402
/* : String */;
4018 static val
* varonce403
;
4019 val
* var404
/* : String */;
4020 char* var405
/* : NativeString */;
4021 long var406
/* : Int */;
4022 val
* var407
/* : String */;
4023 static val
* varonce408
;
4024 val
* var409
/* : String */;
4025 char* var410
/* : NativeString */;
4026 long var411
/* : Int */;
4027 val
* var412
/* : String */;
4028 val
* var413
/* : Array[Object] */;
4029 long var414
/* : Int */;
4030 val
* var415
/* : NativeArray[Object] */;
4031 val
* var416
/* : String */;
4032 static val
* varonce418
;
4033 val
* var419
/* : String */;
4034 char* var420
/* : NativeString */;
4035 long var421
/* : Int */;
4036 val
* var422
/* : String */;
4037 static val
* varonce423
;
4038 val
* var424
/* : String */;
4039 char* var425
/* : NativeString */;
4040 long var426
/* : Int */;
4041 val
* var427
/* : String */;
4042 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__new_visitor
]))(self
) /* new_visitor on <self:AbstractCompiler>*/;
4047 var2
= "int glob_argc;";
4049 var4
= string__NativeString__to_s_with_length(var2
, var3
);
4053 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var1
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
4057 var7
= "char **glob_argv;";
4059 var9
= string__NativeString__to_s_with_length(var7
, var8
);
4063 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var6
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
4067 var12
= "val *glob_sys;";
4069 var14
= string__NativeString__to_s_with_length(var12
, var13
);
4073 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var11
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
4074 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
4075 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var15
) /* toolcontext on <var15:ModelBuilder>*/;
4076 var17
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_typing_test_metrics
]))(var16
) /* opt_typing_test_metrics on <var16:ToolContext>*/;
4077 var18
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_opts__Option__value
]))(var17
) /* value on <var17:OptionBool>*/;
4078 var19
= ((struct instance_kernel__Bool
*)var18
)->value
; /* autounbox from nullable Object to Bool */;
4080 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_tags
]))(self
) /* count_type_test_tags on <self:AbstractCompiler>*/;
4081 var21
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var20
) /* iterator on <var20:Array[String]>*/;
4083 var22
= ((short int (*)(val
*))(var21
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var21
) /* is_ok on <var21:Iterator[nullable Object]>*/;
4085 var23
= ((val
* (*)(val
*))(var21
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var21
) /* item on <var21:Iterator[nullable Object]>*/;
4090 var26
= "long count_type_test_resolved_";
4092 var28
= string__NativeString__to_s_with_length(var26
, var27
);
4101 var33
= string__NativeString__to_s_with_length(var31
, var32
);
4105 var34
= NEW_array__Array(&type_array__Arraykernel__Object
);
4106 { /* var34 = array_instance Array[Object] */
4108 var36
= NEW_array__NativeArray(var35
, &type_array__NativeArraykernel__Object
);
4109 ((struct instance_array__NativeArray
*)var36
)->values
[0] = (val
*) var25
;
4110 ((struct instance_array__NativeArray
*)var36
)->values
[1] = (val
*) var_tag
;
4111 ((struct instance_array__NativeArray
*)var36
)->values
[2] = (val
*) var30
;
4112 ((void (*)(val
*, val
*, long))(var34
->class->vft
[COLOR_array__Array__with_native
]))(var34
, var36
, var35
) /* with_native on <var34:Array[Object]>*/;
4113 CHECK_NEW_array__Array(var34
);
4115 var37
= ((val
* (*)(val
*))(var34
->class->vft
[COLOR_string__Object__to_s
]))(var34
) /* to_s on <var34:Array[Object]>*/;
4116 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var37
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
4120 var40
= "long count_type_test_unresolved_";
4122 var42
= string__NativeString__to_s_with_length(var40
, var41
);
4131 var47
= string__NativeString__to_s_with_length(var45
, var46
);
4135 var48
= NEW_array__Array(&type_array__Arraykernel__Object
);
4136 { /* var48 = array_instance Array[Object] */
4138 var50
= NEW_array__NativeArray(var49
, &type_array__NativeArraykernel__Object
);
4139 ((struct instance_array__NativeArray
*)var50
)->values
[0] = (val
*) var39
;
4140 ((struct instance_array__NativeArray
*)var50
)->values
[1] = (val
*) var_tag
;
4141 ((struct instance_array__NativeArray
*)var50
)->values
[2] = (val
*) var44
;
4142 ((void (*)(val
*, val
*, long))(var48
->class->vft
[COLOR_array__Array__with_native
]))(var48
, var50
, var49
) /* with_native on <var48:Array[Object]>*/;
4143 CHECK_NEW_array__Array(var48
);
4145 var51
= ((val
* (*)(val
*))(var48
->class->vft
[COLOR_string__Object__to_s
]))(var48
) /* to_s on <var48:Array[Object]>*/;
4146 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var51
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
4150 var54
= "long count_type_test_skipped_";
4152 var56
= string__NativeString__to_s_with_length(var54
, var55
);
4161 var61
= string__NativeString__to_s_with_length(var59
, var60
);
4165 var62
= NEW_array__Array(&type_array__Arraykernel__Object
);
4166 { /* var62 = array_instance Array[Object] */
4168 var64
= NEW_array__NativeArray(var63
, &type_array__NativeArraykernel__Object
);
4169 ((struct instance_array__NativeArray
*)var64
)->values
[0] = (val
*) var53
;
4170 ((struct instance_array__NativeArray
*)var64
)->values
[1] = (val
*) var_tag
;
4171 ((struct instance_array__NativeArray
*)var64
)->values
[2] = (val
*) var58
;
4172 ((void (*)(val
*, val
*, long))(var62
->class->vft
[COLOR_array__Array__with_native
]))(var62
, var64
, var63
) /* with_native on <var62:Array[Object]>*/;
4173 CHECK_NEW_array__Array(var62
);
4175 var65
= ((val
* (*)(val
*))(var62
->class->vft
[COLOR_string__Object__to_s
]))(var62
) /* to_s on <var62:Array[Object]>*/;
4176 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var65
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
4177 var66
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
4178 var67
= ((val
* (*)(val
*))(var66
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var66
) /* header on <var66:AbstractCompiler>*/;
4182 var70
= "extern long count_type_test_resolved_";
4184 var72
= string__NativeString__to_s_with_length(var70
, var71
);
4193 var77
= string__NativeString__to_s_with_length(var75
, var76
);
4197 var78
= NEW_array__Array(&type_array__Arraykernel__Object
);
4198 { /* var78 = array_instance Array[Object] */
4200 var80
= NEW_array__NativeArray(var79
, &type_array__NativeArraykernel__Object
);
4201 ((struct instance_array__NativeArray
*)var80
)->values
[0] = (val
*) var69
;
4202 ((struct instance_array__NativeArray
*)var80
)->values
[1] = (val
*) var_tag
;
4203 ((struct instance_array__NativeArray
*)var80
)->values
[2] = (val
*) var74
;
4204 ((void (*)(val
*, val
*, long))(var78
->class->vft
[COLOR_array__Array__with_native
]))(var78
, var80
, var79
) /* with_native on <var78:Array[Object]>*/;
4205 CHECK_NEW_array__Array(var78
);
4207 var81
= ((val
* (*)(val
*))(var78
->class->vft
[COLOR_string__Object__to_s
]))(var78
) /* to_s on <var78:Array[Object]>*/;
4208 ((void (*)(val
*, val
*))(var67
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var67
, var81
) /* add_decl on <var67:CodeWriter>*/;
4209 var82
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
4210 var83
= ((val
* (*)(val
*))(var82
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var82
) /* header on <var82:AbstractCompiler>*/;
4214 var86
= "extern long count_type_test_unresolved_";
4216 var88
= string__NativeString__to_s_with_length(var86
, var87
);
4225 var93
= string__NativeString__to_s_with_length(var91
, var92
);
4229 var94
= NEW_array__Array(&type_array__Arraykernel__Object
);
4230 { /* var94 = array_instance Array[Object] */
4232 var96
= NEW_array__NativeArray(var95
, &type_array__NativeArraykernel__Object
);
4233 ((struct instance_array__NativeArray
*)var96
)->values
[0] = (val
*) var85
;
4234 ((struct instance_array__NativeArray
*)var96
)->values
[1] = (val
*) var_tag
;
4235 ((struct instance_array__NativeArray
*)var96
)->values
[2] = (val
*) var90
;
4236 ((void (*)(val
*, val
*, long))(var94
->class->vft
[COLOR_array__Array__with_native
]))(var94
, var96
, var95
) /* with_native on <var94:Array[Object]>*/;
4237 CHECK_NEW_array__Array(var94
);
4239 var97
= ((val
* (*)(val
*))(var94
->class->vft
[COLOR_string__Object__to_s
]))(var94
) /* to_s on <var94:Array[Object]>*/;
4240 ((void (*)(val
*, val
*))(var83
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var83
, var97
) /* add_decl on <var83:CodeWriter>*/;
4241 var98
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
4242 var99
= ((val
* (*)(val
*))(var98
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var98
) /* header on <var98:AbstractCompiler>*/;
4244 var101
= varonce100
;
4246 var102
= "extern long count_type_test_skipped_";
4248 var104
= string__NativeString__to_s_with_length(var102
, var103
);
4250 varonce100
= var101
;
4253 var106
= varonce105
;
4257 var109
= string__NativeString__to_s_with_length(var107
, var108
);
4259 varonce105
= var106
;
4261 var110
= NEW_array__Array(&type_array__Arraykernel__Object
);
4262 { /* var110 = array_instance Array[Object] */
4264 var112
= NEW_array__NativeArray(var111
, &type_array__NativeArraykernel__Object
);
4265 ((struct instance_array__NativeArray
*)var112
)->values
[0] = (val
*) var101
;
4266 ((struct instance_array__NativeArray
*)var112
)->values
[1] = (val
*) var_tag
;
4267 ((struct instance_array__NativeArray
*)var112
)->values
[2] = (val
*) var106
;
4268 ((void (*)(val
*, val
*, long))(var110
->class->vft
[COLOR_array__Array__with_native
]))(var110
, var112
, var111
) /* with_native on <var110:Array[Object]>*/;
4269 CHECK_NEW_array__Array(var110
);
4271 var113
= ((val
* (*)(val
*))(var110
->class->vft
[COLOR_string__Object__to_s
]))(var110
) /* to_s on <var110:Array[Object]>*/;
4272 ((void (*)(val
*, val
*))(var99
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var99
, var113
) /* add_decl on <var99:CodeWriter>*/;
4273 CONTINUE_label
: (void)0;
4274 ((void (*)(val
*))(var21
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var21
) /* next on <var21:Iterator[nullable Object]>*/;
4276 BREAK_label
: (void)0;
4280 var115
= varonce114
;
4282 var116
= "int main(int argc, char** argv) {";
4284 var118
= string__NativeString__to_s_with_length(var116
, var117
);
4286 varonce114
= var115
;
4288 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var115
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
4290 var120
= varonce119
;
4292 var121
= "glob_argc = argc; glob_argv = argv;";
4294 var123
= string__NativeString__to_s_with_length(var121
, var122
);
4296 varonce119
= var120
;
4298 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var120
) /* add on <var_v:AbstractCompilerVisitor>*/;
4300 var125
= varonce124
;
4302 var126
= "initialize_gc_option();";
4304 var128
= string__NativeString__to_s_with_length(var126
, var127
);
4306 varonce124
= var125
;
4308 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var125
) /* add on <var_v:AbstractCompilerVisitor>*/;
4309 var129
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(self
) /* mainmodule on <self:AbstractCompiler>*/;
4310 var130
= ((val
* (*)(val
*))(var129
->class->vft
[COLOR_model__MModule__sys_type
]))(var129
) /* sys_type on <var129:MModule>*/;
4311 var_main_type
= var130
;
4313 if (var_main_type
== NULL
) {
4314 var132
= 0; /* is null */
4316 var132
= 1; /* arg is null and recv is not */
4319 var133
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
4320 var134
= ((val
* (*)(val
*))(var133
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var133
) /* mainmodule on <var133:AbstractCompiler>*/;
4321 var_mainmodule
= var134
;
4322 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>*/;
4323 var_glob_sys
= var135
;
4325 var137
= varonce136
;
4327 var138
= "glob_sys = ";
4329 var140
= string__NativeString__to_s_with_length(var138
, var139
);
4331 varonce136
= var137
;
4334 var142
= varonce141
;
4338 var145
= string__NativeString__to_s_with_length(var143
, var144
);
4340 varonce141
= var142
;
4342 var146
= NEW_array__Array(&type_array__Arraykernel__Object
);
4343 { /* var146 = array_instance Array[Object] */
4345 var148
= NEW_array__NativeArray(var147
, &type_array__NativeArraykernel__Object
);
4346 ((struct instance_array__NativeArray
*)var148
)->values
[0] = (val
*) var137
;
4347 ((struct instance_array__NativeArray
*)var148
)->values
[1] = (val
*) var_glob_sys
;
4348 ((struct instance_array__NativeArray
*)var148
)->values
[2] = (val
*) var142
;
4349 ((void (*)(val
*, val
*, long))(var146
->class->vft
[COLOR_array__Array__with_native
]))(var146
, var148
, var147
) /* with_native on <var146:Array[Object]>*/;
4350 CHECK_NEW_array__Array(var146
);
4352 var149
= ((val
* (*)(val
*))(var146
->class->vft
[COLOR_string__Object__to_s
]))(var146
) /* to_s on <var146:Array[Object]>*/;
4353 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var149
) /* add on <var_v:AbstractCompilerVisitor>*/;
4355 var151
= varonce150
;
4359 var154
= string__NativeString__to_s_with_length(var152
, var153
);
4361 varonce150
= var151
;
4363 var155
= ((val
* (*)(val
*))(var_main_type
->class->vft
[COLOR_model__MClassType__mclass
]))(var_main_type
) /* mclass on <var_main_type:nullable MClassType(MClassType)>*/;
4364 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>*/;
4365 var_main_init
= var156
;
4367 if (var_main_init
== NULL
) {
4368 var158
= 0; /* is null */
4370 var158
= 1; /* arg is null and recv is not */
4373 var159
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
4374 { /* var159 = array_instance Array[RuntimeVariable] */
4376 var161
= NEW_array__NativeArray(var160
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
4377 ((struct instance_array__NativeArray
*)var161
)->values
[0] = (val
*) var_glob_sys
;
4378 ((void (*)(val
*, val
*, long))(var159
->class->vft
[COLOR_array__Array__with_native
]))(var159
, var161
, var160
) /* with_native on <var159:Array[RuntimeVariable]>*/;
4379 CHECK_NEW_array__Array(var159
);
4381 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>*/;
4386 var164
= varonce163
;
4390 var167
= string__NativeString__to_s_with_length(var165
, var166
);
4392 varonce163
= var164
;
4394 var168
= ((val
* (*)(val
*))(var_main_type
->class->vft
[COLOR_model__MClassType__mclass
]))(var_main_type
) /* mclass on <var_main_type:nullable MClassType(MClassType)>*/;
4395 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>*/;
4396 var_main_method
= var169
;
4398 if (var_main_method
== NULL
) {
4399 var171
= 0; /* is null */
4401 var171
= 1; /* arg is null and recv is not */
4404 var172
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
4405 { /* var172 = array_instance Array[RuntimeVariable] */
4407 var174
= NEW_array__NativeArray(var173
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
4408 ((struct instance_array__NativeArray
*)var174
)->values
[0] = (val
*) var_glob_sys
;
4409 ((void (*)(val
*, val
*, long))(var172
->class->vft
[COLOR_array__Array__with_native
]))(var172
, var174
, var173
) /* with_native on <var172:Array[RuntimeVariable]>*/;
4410 CHECK_NEW_array__Array(var172
);
4412 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>*/;
4418 var176
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
4419 var177
= ((val
* (*)(val
*))(var176
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var176
) /* toolcontext on <var176:ModelBuilder>*/;
4420 var178
= ((val
* (*)(val
*))(var177
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_typing_test_metrics
]))(var177
) /* opt_typing_test_metrics on <var177:ToolContext>*/;
4421 var179
= ((val
* (*)(val
*))(var178
->class->vft
[COLOR_opts__Option__value
]))(var178
) /* value on <var178:OptionBool>*/;
4422 var180
= ((struct instance_kernel__Bool
*)var179
)->value
; /* autounbox from nullable Object to Bool */;
4425 var182
= varonce181
;
4427 var183
= "long count_type_test_resolved_total = 0;";
4429 var185
= string__NativeString__to_s_with_length(var183
, var184
);
4431 varonce181
= var182
;
4433 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var182
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
4435 var187
= varonce186
;
4437 var188
= "long count_type_test_unresolved_total = 0;";
4439 var190
= string__NativeString__to_s_with_length(var188
, var189
);
4441 varonce186
= var187
;
4443 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var187
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
4445 var192
= varonce191
;
4447 var193
= "long count_type_test_skipped_total = 0;";
4449 var195
= string__NativeString__to_s_with_length(var193
, var194
);
4451 varonce191
= var192
;
4453 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var192
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
4455 var197
= varonce196
;
4457 var198
= "long count_type_test_total_total = 0;";
4459 var200
= string__NativeString__to_s_with_length(var198
, var199
);
4461 varonce196
= var197
;
4463 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var197
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
4464 var201
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_tags
]))(self
) /* count_type_test_tags on <self:AbstractCompiler>*/;
4465 var202
= ((val
* (*)(val
*))(var201
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var201
) /* iterator on <var201:Array[String]>*/;
4467 var203
= ((short int (*)(val
*))(var202
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var202
) /* is_ok on <var202:Iterator[nullable Object]>*/;
4469 var204
= ((val
* (*)(val
*))(var202
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var202
) /* item on <var202:Iterator[nullable Object]>*/;
4470 var_tag205
= var204
;
4472 var207
= varonce206
;
4474 var208
= "long count_type_test_total_";
4476 var210
= string__NativeString__to_s_with_length(var208
, var209
);
4478 varonce206
= var207
;
4481 var212
= varonce211
;
4485 var215
= string__NativeString__to_s_with_length(var213
, var214
);
4487 varonce211
= var212
;
4489 var216
= NEW_array__Array(&type_array__Arraykernel__Object
);
4490 { /* var216 = array_instance Array[Object] */
4492 var218
= NEW_array__NativeArray(var217
, &type_array__NativeArraykernel__Object
);
4493 ((struct instance_array__NativeArray
*)var218
)->values
[0] = (val
*) var207
;
4494 ((struct instance_array__NativeArray
*)var218
)->values
[1] = (val
*) var_tag205
;
4495 ((struct instance_array__NativeArray
*)var218
)->values
[2] = (val
*) var212
;
4496 ((void (*)(val
*, val
*, long))(var216
->class->vft
[COLOR_array__Array__with_native
]))(var216
, var218
, var217
) /* with_native on <var216:Array[Object]>*/;
4497 CHECK_NEW_array__Array(var216
);
4499 var219
= ((val
* (*)(val
*))(var216
->class->vft
[COLOR_string__Object__to_s
]))(var216
) /* to_s on <var216:Array[Object]>*/;
4500 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var219
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
4502 var221
= varonce220
;
4504 var222
= "count_type_test_total_";
4506 var224
= string__NativeString__to_s_with_length(var222
, var223
);
4508 varonce220
= var221
;
4511 var226
= varonce225
;
4513 var227
= " = count_type_test_resolved_";
4515 var229
= string__NativeString__to_s_with_length(var227
, var228
);
4517 varonce225
= var226
;
4520 var231
= varonce230
;
4522 var232
= " + count_type_test_unresolved_";
4524 var234
= string__NativeString__to_s_with_length(var232
, var233
);
4526 varonce230
= var231
;
4529 var236
= varonce235
;
4531 var237
= " + count_type_test_skipped_";
4533 var239
= string__NativeString__to_s_with_length(var237
, var238
);
4535 varonce235
= var236
;
4538 var241
= varonce240
;
4542 var244
= string__NativeString__to_s_with_length(var242
, var243
);
4544 varonce240
= var241
;
4546 var245
= NEW_array__Array(&type_array__Arraykernel__Object
);
4547 { /* var245 = array_instance Array[Object] */
4549 var247
= NEW_array__NativeArray(var246
, &type_array__NativeArraykernel__Object
);
4550 ((struct instance_array__NativeArray
*)var247
)->values
[0] = (val
*) var221
;
4551 ((struct instance_array__NativeArray
*)var247
)->values
[1] = (val
*) var_tag205
;
4552 ((struct instance_array__NativeArray
*)var247
)->values
[2] = (val
*) var226
;
4553 ((struct instance_array__NativeArray
*)var247
)->values
[3] = (val
*) var_tag205
;
4554 ((struct instance_array__NativeArray
*)var247
)->values
[4] = (val
*) var231
;
4555 ((struct instance_array__NativeArray
*)var247
)->values
[5] = (val
*) var_tag205
;
4556 ((struct instance_array__NativeArray
*)var247
)->values
[6] = (val
*) var236
;
4557 ((struct instance_array__NativeArray
*)var247
)->values
[7] = (val
*) var_tag205
;
4558 ((struct instance_array__NativeArray
*)var247
)->values
[8] = (val
*) var241
;
4559 ((void (*)(val
*, val
*, long))(var245
->class->vft
[COLOR_array__Array__with_native
]))(var245
, var247
, var246
) /* with_native on <var245:Array[Object]>*/;
4560 CHECK_NEW_array__Array(var245
);
4562 var248
= ((val
* (*)(val
*))(var245
->class->vft
[COLOR_string__Object__to_s
]))(var245
) /* to_s on <var245:Array[Object]>*/;
4563 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var248
) /* add on <var_v:AbstractCompilerVisitor>*/;
4565 var250
= varonce249
;
4567 var251
= "count_type_test_resolved_total += count_type_test_resolved_";
4569 var253
= string__NativeString__to_s_with_length(var251
, var252
);
4571 varonce249
= var250
;
4574 var255
= varonce254
;
4578 var258
= string__NativeString__to_s_with_length(var256
, var257
);
4580 varonce254
= var255
;
4582 var259
= NEW_array__Array(&type_array__Arraykernel__Object
);
4583 { /* var259 = array_instance Array[Object] */
4585 var261
= NEW_array__NativeArray(var260
, &type_array__NativeArraykernel__Object
);
4586 ((struct instance_array__NativeArray
*)var261
)->values
[0] = (val
*) var250
;
4587 ((struct instance_array__NativeArray
*)var261
)->values
[1] = (val
*) var_tag205
;
4588 ((struct instance_array__NativeArray
*)var261
)->values
[2] = (val
*) var255
;
4589 ((void (*)(val
*, val
*, long))(var259
->class->vft
[COLOR_array__Array__with_native
]))(var259
, var261
, var260
) /* with_native on <var259:Array[Object]>*/;
4590 CHECK_NEW_array__Array(var259
);
4592 var262
= ((val
* (*)(val
*))(var259
->class->vft
[COLOR_string__Object__to_s
]))(var259
) /* to_s on <var259:Array[Object]>*/;
4593 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var262
) /* add on <var_v:AbstractCompilerVisitor>*/;
4595 var264
= varonce263
;
4597 var265
= "count_type_test_unresolved_total += count_type_test_unresolved_";
4599 var267
= string__NativeString__to_s_with_length(var265
, var266
);
4601 varonce263
= var264
;
4604 var269
= varonce268
;
4608 var272
= string__NativeString__to_s_with_length(var270
, var271
);
4610 varonce268
= var269
;
4612 var273
= NEW_array__Array(&type_array__Arraykernel__Object
);
4613 { /* var273 = array_instance Array[Object] */
4615 var275
= NEW_array__NativeArray(var274
, &type_array__NativeArraykernel__Object
);
4616 ((struct instance_array__NativeArray
*)var275
)->values
[0] = (val
*) var264
;
4617 ((struct instance_array__NativeArray
*)var275
)->values
[1] = (val
*) var_tag205
;
4618 ((struct instance_array__NativeArray
*)var275
)->values
[2] = (val
*) var269
;
4619 ((void (*)(val
*, val
*, long))(var273
->class->vft
[COLOR_array__Array__with_native
]))(var273
, var275
, var274
) /* with_native on <var273:Array[Object]>*/;
4620 CHECK_NEW_array__Array(var273
);
4622 var276
= ((val
* (*)(val
*))(var273
->class->vft
[COLOR_string__Object__to_s
]))(var273
) /* to_s on <var273:Array[Object]>*/;
4623 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var276
) /* add on <var_v:AbstractCompilerVisitor>*/;
4625 var278
= varonce277
;
4627 var279
= "count_type_test_skipped_total += count_type_test_skipped_";
4629 var281
= string__NativeString__to_s_with_length(var279
, var280
);
4631 varonce277
= var278
;
4634 var283
= varonce282
;
4638 var286
= string__NativeString__to_s_with_length(var284
, var285
);
4640 varonce282
= var283
;
4642 var287
= NEW_array__Array(&type_array__Arraykernel__Object
);
4643 { /* var287 = array_instance Array[Object] */
4645 var289
= NEW_array__NativeArray(var288
, &type_array__NativeArraykernel__Object
);
4646 ((struct instance_array__NativeArray
*)var289
)->values
[0] = (val
*) var278
;
4647 ((struct instance_array__NativeArray
*)var289
)->values
[1] = (val
*) var_tag205
;
4648 ((struct instance_array__NativeArray
*)var289
)->values
[2] = (val
*) var283
;
4649 ((void (*)(val
*, val
*, long))(var287
->class->vft
[COLOR_array__Array__with_native
]))(var287
, var289
, var288
) /* with_native on <var287:Array[Object]>*/;
4650 CHECK_NEW_array__Array(var287
);
4652 var290
= ((val
* (*)(val
*))(var287
->class->vft
[COLOR_string__Object__to_s
]))(var287
) /* to_s on <var287:Array[Object]>*/;
4653 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var290
) /* add on <var_v:AbstractCompilerVisitor>*/;
4655 var292
= varonce291
;
4657 var293
= "count_type_test_total_total += count_type_test_total_";
4659 var295
= string__NativeString__to_s_with_length(var293
, var294
);
4661 varonce291
= var292
;
4664 var297
= varonce296
;
4668 var300
= string__NativeString__to_s_with_length(var298
, var299
);
4670 varonce296
= var297
;
4672 var301
= NEW_array__Array(&type_array__Arraykernel__Object
);
4673 { /* var301 = array_instance Array[Object] */
4675 var303
= NEW_array__NativeArray(var302
, &type_array__NativeArraykernel__Object
);
4676 ((struct instance_array__NativeArray
*)var303
)->values
[0] = (val
*) var292
;
4677 ((struct instance_array__NativeArray
*)var303
)->values
[1] = (val
*) var_tag205
;
4678 ((struct instance_array__NativeArray
*)var303
)->values
[2] = (val
*) var297
;
4679 ((void (*)(val
*, val
*, long))(var301
->class->vft
[COLOR_array__Array__with_native
]))(var301
, var303
, var302
) /* with_native on <var301:Array[Object]>*/;
4680 CHECK_NEW_array__Array(var301
);
4682 var304
= ((val
* (*)(val
*))(var301
->class->vft
[COLOR_string__Object__to_s
]))(var301
) /* to_s on <var301:Array[Object]>*/;
4683 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var304
) /* add on <var_v:AbstractCompilerVisitor>*/;
4684 CONTINUE_label305
: (void)0;
4685 ((void (*)(val
*))(var202
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var202
) /* next on <var202:Iterator[nullable Object]>*/;
4687 BREAK_label305
: (void)0;
4689 var307
= varonce306
;
4691 var308
= "printf(\"# dynamic count_type_test: total %l\\n\");";
4693 var310
= string__NativeString__to_s_with_length(var308
, var309
);
4695 varonce306
= var307
;
4697 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var307
) /* add on <var_v:AbstractCompilerVisitor>*/;
4699 var312
= varonce311
;
4701 var313
= "printf(\"\\tresolved\\tunresolved\\tskipped\\ttotal\\n\");";
4703 var315
= string__NativeString__to_s_with_length(var313
, var314
);
4705 varonce311
= var312
;
4707 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var312
) /* add on <var_v:AbstractCompilerVisitor>*/;
4708 var316
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_tags
]))(self
) /* count_type_test_tags on <self:AbstractCompiler>*/;
4709 var317
= ((val
* (*)(val
*))(var316
->class->vft
[COLOR_array__Collection__to_a
]))(var316
) /* to_a on <var316:Array[String]>*/;
4712 var319
= varonce318
;
4716 var322
= string__NativeString__to_s_with_length(var320
, var321
);
4718 varonce318
= var319
;
4720 ((void (*)(val
*, val
*))(var_tags
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_tags
, var319
) /* add on <var_tags:Array[String]>*/;
4721 var323
= ((val
* (*)(val
*))(var_tags
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_tags
) /* iterator on <var_tags:Array[String]>*/;
4723 var324
= ((short int (*)(val
*))(var323
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var323
) /* is_ok on <var323:Iterator[nullable Object]>*/;
4725 var325
= ((val
* (*)(val
*))(var323
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var323
) /* item on <var323:Iterator[nullable Object]>*/;
4726 var_tag326
= var325
;
4728 var328
= varonce327
;
4730 var329
= "printf(\"";
4732 var331
= string__NativeString__to_s_with_length(var329
, var330
);
4734 varonce327
= var328
;
4737 var333
= varonce332
;
4741 var336
= string__NativeString__to_s_with_length(var334
, var335
);
4743 varonce332
= var333
;
4745 var337
= NEW_array__Array(&type_array__Arraykernel__Object
);
4746 { /* var337 = array_instance Array[Object] */
4748 var339
= NEW_array__NativeArray(var338
, &type_array__NativeArraykernel__Object
);
4749 ((struct instance_array__NativeArray
*)var339
)->values
[0] = (val
*) var328
;
4750 ((struct instance_array__NativeArray
*)var339
)->values
[1] = (val
*) var_tag326
;
4751 ((struct instance_array__NativeArray
*)var339
)->values
[2] = (val
*) var333
;
4752 ((void (*)(val
*, val
*, long))(var337
->class->vft
[COLOR_array__Array__with_native
]))(var337
, var339
, var338
) /* with_native on <var337:Array[Object]>*/;
4753 CHECK_NEW_array__Array(var337
);
4755 var340
= ((val
* (*)(val
*))(var337
->class->vft
[COLOR_string__Object__to_s
]))(var337
) /* to_s on <var337:Array[Object]>*/;
4756 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var340
) /* add on <var_v:AbstractCompilerVisitor>*/;
4758 var342
= varonce341
;
4760 var343
= "printf(\"\\t%ld (%.2f%%)\", count_type_test_resolved_";
4762 var345
= string__NativeString__to_s_with_length(var343
, var344
);
4764 varonce341
= var342
;
4767 var347
= varonce346
;
4769 var348
= ", 100.0*count_type_test_resolved_";
4771 var350
= string__NativeString__to_s_with_length(var348
, var349
);
4773 varonce346
= var347
;
4776 var352
= varonce351
;
4778 var353
= "/count_type_test_total_total);";
4780 var355
= string__NativeString__to_s_with_length(var353
, var354
);
4782 varonce351
= var352
;
4784 var356
= NEW_array__Array(&type_array__Arraykernel__Object
);
4785 { /* var356 = array_instance Array[Object] */
4787 var358
= NEW_array__NativeArray(var357
, &type_array__NativeArraykernel__Object
);
4788 ((struct instance_array__NativeArray
*)var358
)->values
[0] = (val
*) var342
;
4789 ((struct instance_array__NativeArray
*)var358
)->values
[1] = (val
*) var_tag326
;
4790 ((struct instance_array__NativeArray
*)var358
)->values
[2] = (val
*) var347
;
4791 ((struct instance_array__NativeArray
*)var358
)->values
[3] = (val
*) var_tag326
;
4792 ((struct instance_array__NativeArray
*)var358
)->values
[4] = (val
*) var352
;
4793 ((void (*)(val
*, val
*, long))(var356
->class->vft
[COLOR_array__Array__with_native
]))(var356
, var358
, var357
) /* with_native on <var356:Array[Object]>*/;
4794 CHECK_NEW_array__Array(var356
);
4796 var359
= ((val
* (*)(val
*))(var356
->class->vft
[COLOR_string__Object__to_s
]))(var356
) /* to_s on <var356:Array[Object]>*/;
4797 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var359
) /* add on <var_v:AbstractCompilerVisitor>*/;
4799 var361
= varonce360
;
4801 var362
= "printf(\"\\t%ld (%.2f%%)\", count_type_test_unresolved_";
4803 var364
= string__NativeString__to_s_with_length(var362
, var363
);
4805 varonce360
= var361
;
4808 var366
= varonce365
;
4810 var367
= ", 100.0*count_type_test_unresolved_";
4812 var369
= string__NativeString__to_s_with_length(var367
, var368
);
4814 varonce365
= var366
;
4817 var371
= varonce370
;
4819 var372
= "/count_type_test_total_total);";
4821 var374
= string__NativeString__to_s_with_length(var372
, var373
);
4823 varonce370
= var371
;
4825 var375
= NEW_array__Array(&type_array__Arraykernel__Object
);
4826 { /* var375 = array_instance Array[Object] */
4828 var377
= NEW_array__NativeArray(var376
, &type_array__NativeArraykernel__Object
);
4829 ((struct instance_array__NativeArray
*)var377
)->values
[0] = (val
*) var361
;
4830 ((struct instance_array__NativeArray
*)var377
)->values
[1] = (val
*) var_tag326
;
4831 ((struct instance_array__NativeArray
*)var377
)->values
[2] = (val
*) var366
;
4832 ((struct instance_array__NativeArray
*)var377
)->values
[3] = (val
*) var_tag326
;
4833 ((struct instance_array__NativeArray
*)var377
)->values
[4] = (val
*) var371
;
4834 ((void (*)(val
*, val
*, long))(var375
->class->vft
[COLOR_array__Array__with_native
]))(var375
, var377
, var376
) /* with_native on <var375:Array[Object]>*/;
4835 CHECK_NEW_array__Array(var375
);
4837 var378
= ((val
* (*)(val
*))(var375
->class->vft
[COLOR_string__Object__to_s
]))(var375
) /* to_s on <var375:Array[Object]>*/;
4838 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var378
) /* add on <var_v:AbstractCompilerVisitor>*/;
4840 var380
= varonce379
;
4842 var381
= "printf(\"\\t%ld (%.2f%%)\", count_type_test_skipped_";
4844 var383
= string__NativeString__to_s_with_length(var381
, var382
);
4846 varonce379
= var380
;
4849 var385
= varonce384
;
4851 var386
= ", 100.0*count_type_test_skipped_";
4853 var388
= string__NativeString__to_s_with_length(var386
, var387
);
4855 varonce384
= var385
;
4858 var390
= varonce389
;
4860 var391
= "/count_type_test_total_total);";
4862 var393
= string__NativeString__to_s_with_length(var391
, var392
);
4864 varonce389
= var390
;
4866 var394
= NEW_array__Array(&type_array__Arraykernel__Object
);
4867 { /* var394 = array_instance Array[Object] */
4869 var396
= NEW_array__NativeArray(var395
, &type_array__NativeArraykernel__Object
);
4870 ((struct instance_array__NativeArray
*)var396
)->values
[0] = (val
*) var380
;
4871 ((struct instance_array__NativeArray
*)var396
)->values
[1] = (val
*) var_tag326
;
4872 ((struct instance_array__NativeArray
*)var396
)->values
[2] = (val
*) var385
;
4873 ((struct instance_array__NativeArray
*)var396
)->values
[3] = (val
*) var_tag326
;
4874 ((struct instance_array__NativeArray
*)var396
)->values
[4] = (val
*) var390
;
4875 ((void (*)(val
*, val
*, long))(var394
->class->vft
[COLOR_array__Array__with_native
]))(var394
, var396
, var395
) /* with_native on <var394:Array[Object]>*/;
4876 CHECK_NEW_array__Array(var394
);
4878 var397
= ((val
* (*)(val
*))(var394
->class->vft
[COLOR_string__Object__to_s
]))(var394
) /* to_s on <var394:Array[Object]>*/;
4879 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var397
) /* add on <var_v:AbstractCompilerVisitor>*/;
4881 var399
= varonce398
;
4883 var400
= "printf(\"\\t%ld (%.2f%%)\\n\", count_type_test_total_";
4885 var402
= string__NativeString__to_s_with_length(var400
, var401
);
4887 varonce398
= var399
;
4890 var404
= varonce403
;
4892 var405
= ", 100.0*count_type_test_total_";
4894 var407
= string__NativeString__to_s_with_length(var405
, var406
);
4896 varonce403
= var404
;
4899 var409
= varonce408
;
4901 var410
= "/count_type_test_total_total);";
4903 var412
= string__NativeString__to_s_with_length(var410
, var411
);
4905 varonce408
= var409
;
4907 var413
= NEW_array__Array(&type_array__Arraykernel__Object
);
4908 { /* var413 = array_instance Array[Object] */
4910 var415
= NEW_array__NativeArray(var414
, &type_array__NativeArraykernel__Object
);
4911 ((struct instance_array__NativeArray
*)var415
)->values
[0] = (val
*) var399
;
4912 ((struct instance_array__NativeArray
*)var415
)->values
[1] = (val
*) var_tag326
;
4913 ((struct instance_array__NativeArray
*)var415
)->values
[2] = (val
*) var404
;
4914 ((struct instance_array__NativeArray
*)var415
)->values
[3] = (val
*) var_tag326
;
4915 ((struct instance_array__NativeArray
*)var415
)->values
[4] = (val
*) var409
;
4916 ((void (*)(val
*, val
*, long))(var413
->class->vft
[COLOR_array__Array__with_native
]))(var413
, var415
, var414
) /* with_native on <var413:Array[Object]>*/;
4917 CHECK_NEW_array__Array(var413
);
4919 var416
= ((val
* (*)(val
*))(var413
->class->vft
[COLOR_string__Object__to_s
]))(var413
) /* to_s on <var413:Array[Object]>*/;
4920 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var416
) /* add on <var_v:AbstractCompilerVisitor>*/;
4921 CONTINUE_label417
: (void)0;
4922 ((void (*)(val
*))(var323
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var323
) /* next on <var323:Iterator[nullable Object]>*/;
4924 BREAK_label417
: (void)0;
4928 var419
= varonce418
;
4930 var420
= "return 0;";
4932 var422
= string__NativeString__to_s_with_length(var420
, var421
);
4934 varonce418
= var419
;
4936 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var419
) /* add on <var_v:AbstractCompilerVisitor>*/;
4938 var424
= varonce423
;
4942 var427
= string__NativeString__to_s_with_length(var425
, var426
);
4944 varonce423
= var424
;
4946 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var424
) /* add on <var_v:AbstractCompilerVisitor>*/;
4949 /* method abstract_compiler#AbstractCompiler#compile_main_function for (self: Object) */
4950 void VIRTUAL_abstract_compiler__AbstractCompiler__compile_main_function(val
* self
) {
4951 abstract_compiler__AbstractCompiler__compile_main_function(self
);
4954 /* method abstract_compiler#AbstractCompiler#extern_bodies for (self: AbstractCompiler): Array[ExternCFile] */
4955 val
* abstract_compiler__AbstractCompiler__extern_bodies(val
* self
) {
4956 val
* var
/* : Array[ExternCFile] */;
4957 val
* var1
/* : Array[ExternCFile] */;
4958 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dextern_bodies
].val
; /* @extern_bodies on <self:AbstractCompiler> */
4960 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @extern_bodies", "src/abstract_compiler.nit", 398);
4967 /* method abstract_compiler#AbstractCompiler#extern_bodies for (self: Object): Array[ExternCFile] */
4968 val
* VIRTUAL_abstract_compiler__AbstractCompiler__extern_bodies(val
* self
) {
4969 val
* var
/* : Array[ExternCFile] */;
4970 val
* var1
/* : Array[ExternCFile] */;
4971 var1
= abstract_compiler__AbstractCompiler__extern_bodies(self
);
4976 /* method abstract_compiler#AbstractCompiler#extern_bodies= for (self: AbstractCompiler, Array[ExternCFile]) */
4977 void abstract_compiler__AbstractCompiler__extern_bodies_61d(val
* self
, val
* p0
) {
4978 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dextern_bodies
].val
= p0
; /* @extern_bodies on <self:AbstractCompiler> */
4981 /* method abstract_compiler#AbstractCompiler#extern_bodies= for (self: Object, Array[ExternCFile]) */
4982 void VIRTUAL_abstract_compiler__AbstractCompiler__extern_bodies_61d(val
* self
, val
* p0
) {
4983 abstract_compiler__AbstractCompiler__extern_bodies_61d(self
, p0
);
4986 /* method abstract_compiler#AbstractCompiler#seen_extern for (self: AbstractCompiler): ArraySet[String] */
4987 val
* abstract_compiler__AbstractCompiler__seen_extern(val
* self
) {
4988 val
* var
/* : ArraySet[String] */;
4989 val
* var1
/* : ArraySet[String] */;
4990 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dseen_extern
].val
; /* @seen_extern on <self:AbstractCompiler> */
4992 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @seen_extern", "src/abstract_compiler.nit", 401);
4999 /* method abstract_compiler#AbstractCompiler#seen_extern for (self: Object): ArraySet[String] */
5000 val
* VIRTUAL_abstract_compiler__AbstractCompiler__seen_extern(val
* self
) {
5001 val
* var
/* : ArraySet[String] */;
5002 val
* var1
/* : ArraySet[String] */;
5003 var1
= abstract_compiler__AbstractCompiler__seen_extern(self
);
5008 /* method abstract_compiler#AbstractCompiler#seen_extern= for (self: AbstractCompiler, ArraySet[String]) */
5009 void abstract_compiler__AbstractCompiler__seen_extern_61d(val
* self
, val
* p0
) {
5010 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dseen_extern
].val
= p0
; /* @seen_extern on <self:AbstractCompiler> */
5013 /* method abstract_compiler#AbstractCompiler#seen_extern= for (self: Object, ArraySet[String]) */
5014 void VIRTUAL_abstract_compiler__AbstractCompiler__seen_extern_61d(val
* self
, val
* p0
) {
5015 abstract_compiler__AbstractCompiler__seen_extern_61d(self
, p0
);
5018 /* method abstract_compiler#AbstractCompiler#generate_check_init_instance for (self: AbstractCompiler, MClassType) */
5019 void abstract_compiler__AbstractCompiler__generate_check_init_instance(val
* self
, val
* p0
) {
5020 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/abstract_compiler.nit", 404);
5024 /* method abstract_compiler#AbstractCompiler#generate_check_init_instance for (self: Object, MClassType) */
5025 void VIRTUAL_abstract_compiler__AbstractCompiler__generate_check_init_instance(val
* self
, val
* p0
) {
5026 abstract_compiler__AbstractCompiler__generate_check_init_instance(self
, p0
);
5029 /* method abstract_compiler#AbstractCompiler#generate_init_attr for (self: AbstractCompiler, AbstractCompilerVisitor, RuntimeVariable, MClassType) */
5030 void abstract_compiler__AbstractCompiler__generate_init_attr(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5031 short int var
/* : Bool */;
5034 const struct type
* type_struct
;
5035 val
* var_v
/* var v: AbstractCompilerVisitor */;
5036 val
* var_recv
/* var recv: RuntimeVariable */;
5037 val
* var_mtype
/* var mtype: MClassType */;
5038 val
* var1
/* : MModule */;
5039 val
* var2
/* : Set[MClassDef] */;
5040 val
* var3
/* : Array[nullable Object] */;
5041 val
* var_cds
/* var cds: Array[MClassDef] */;
5042 val
* var4
/* : MModule */;
5043 val
* var5
/* : Iterator[nullable Object] */;
5044 short int var6
/* : Bool */;
5045 val
* var7
/* : nullable Object */;
5046 val
* var_cd
/* var cd: MClassDef */;
5047 val
* var8
/* : ModelBuilder */;
5048 val
* var9
/* : HashMap[MClassDef, AClassdef] */;
5049 val
* var10
/* : nullable Object */;
5050 val
* var_n
/* var n: AClassdef */;
5051 val
* var11
/* : ANodes[APropdef] */;
5052 val
* var12
/* : Iterator[nullable Object] */;
5053 short int var13
/* : Bool */;
5054 val
* var14
/* : nullable Object */;
5055 val
* var_npropdef
/* var npropdef: APropdef */;
5056 short int var15
/* : Bool */;
5059 /* Covariant cast for argument 0 (v) <p0:AbstractCompilerVisitor> isa VISITOR */
5060 /* <p0:AbstractCompilerVisitor> isa VISITOR */
5061 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractCompiler_VTVISITOR
];
5062 cltype
= type_struct
->color
;
5063 idtype
= type_struct
->id
;
5064 if(cltype
>= p0
->type
->table_size
) {
5067 var
= p0
->type
->type_table
[cltype
] == idtype
;
5070 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 407);
5076 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(self
) /* mainmodule on <self:AbstractCompiler>*/;
5077 var2
= ((val
* (*)(val
*, val
*))(var_mtype
->class->vft
[COLOR_model__MType__collect_mclassdefs
]))(var_mtype
, var1
) /* collect_mclassdefs on <var_mtype:MClassType>*/;
5078 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_array__Collection__to_a
]))(var2
) /* to_a on <var2:Set[MClassDef]>*/;
5080 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(self
) /* mainmodule on <self:AbstractCompiler>*/;
5081 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_model__MModule__linearize_mclassdefs
]))(var4
, var_cds
) /* linearize_mclassdefs on <var4:MModule>*/;
5082 var5
= ((val
* (*)(val
*))(var_cds
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_cds
) /* iterator on <var_cds:Array[MClassDef]>*/;
5084 var6
= ((short int (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var5
) /* is_ok on <var5:Iterator[nullable Object]>*/;
5086 var7
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var5
) /* item on <var5:Iterator[nullable Object]>*/;
5088 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
5089 var9
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_modelize_class__ModelBuilder__mclassdef2nclassdef
]))(var8
) /* mclassdef2nclassdef on <var8:ModelBuilder>*/;
5090 var10
= ((val
* (*)(val
*, val
*))(var9
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var9
, var_cd
) /* [] on <var9:HashMap[MClassDef, AClassdef]>*/;
5092 var11
= ((val
* (*)(val
*))(var_n
->class->vft
[COLOR_parser_nodes__AClassdef__n_propdefs
]))(var_n
) /* n_propdefs on <var_n:AClassdef>*/;
5093 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var11
) /* iterator on <var11:ANodes[APropdef]>*/;
5095 var13
= ((short int (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var12
) /* is_ok on <var12:Iterator[nullable Object]>*/;
5097 var14
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var12
) /* item on <var12:Iterator[nullable Object]>*/;
5098 var_npropdef
= var14
;
5099 /* <var_npropdef:APropdef> isa AAttrPropdef */
5100 cltype16
= type_parser_nodes__AAttrPropdef
.color
;
5101 idtype17
= type_parser_nodes__AAttrPropdef
.id
;
5102 if(cltype16
>= var_npropdef
->type
->table_size
) {
5105 var15
= var_npropdef
->type
->type_table
[cltype16
] == idtype17
;
5108 ((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)>*/;
5111 CONTINUE_label
: (void)0;
5112 ((void (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var12
) /* next on <var12:Iterator[nullable Object]>*/;
5114 BREAK_label
: (void)0;
5115 CONTINUE_label18
: (void)0;
5116 ((void (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var5
) /* next on <var5:Iterator[nullable Object]>*/;
5118 BREAK_label18
: (void)0;
5121 /* method abstract_compiler#AbstractCompiler#generate_init_attr for (self: Object, AbstractCompilerVisitor, RuntimeVariable, MClassType) */
5122 void VIRTUAL_abstract_compiler__AbstractCompiler__generate_init_attr(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5123 abstract_compiler__AbstractCompiler__generate_init_attr(self
, p0
, p1
, p2
);
5126 /* method abstract_compiler#AbstractCompiler#generate_check_attr for (self: AbstractCompiler, AbstractCompilerVisitor, RuntimeVariable, MClassType) */
5127 void abstract_compiler__AbstractCompiler__generate_check_attr(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5128 short int var
/* : Bool */;
5131 const struct type
* type_struct
;
5132 val
* var_v
/* var v: AbstractCompilerVisitor */;
5133 val
* var_recv
/* var recv: RuntimeVariable */;
5134 val
* var_mtype
/* var mtype: MClassType */;
5135 val
* var1
/* : MModule */;
5136 val
* var2
/* : Set[MClassDef] */;
5137 val
* var3
/* : Array[nullable Object] */;
5138 val
* var_cds
/* var cds: Array[MClassDef] */;
5139 val
* var4
/* : MModule */;
5140 val
* var5
/* : Iterator[nullable Object] */;
5141 short int var6
/* : Bool */;
5142 val
* var7
/* : nullable Object */;
5143 val
* var_cd
/* var cd: MClassDef */;
5144 val
* var8
/* : ModelBuilder */;
5145 val
* var9
/* : HashMap[MClassDef, AClassdef] */;
5146 val
* var10
/* : nullable Object */;
5147 val
* var_n
/* var n: AClassdef */;
5148 val
* var11
/* : ANodes[APropdef] */;
5149 val
* var12
/* : Iterator[nullable Object] */;
5150 short int var13
/* : Bool */;
5151 val
* var14
/* : nullable Object */;
5152 val
* var_npropdef
/* var npropdef: APropdef */;
5153 short int var15
/* : Bool */;
5156 /* Covariant cast for argument 0 (v) <p0:AbstractCompilerVisitor> isa VISITOR */
5157 /* <p0:AbstractCompilerVisitor> isa VISITOR */
5158 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractCompiler_VTVISITOR
];
5159 cltype
= type_struct
->color
;
5160 idtype
= type_struct
->id
;
5161 if(cltype
>= p0
->type
->table_size
) {
5164 var
= p0
->type
->type_table
[cltype
] == idtype
;
5167 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 422);
5173 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(self
) /* mainmodule on <self:AbstractCompiler>*/;
5174 var2
= ((val
* (*)(val
*, val
*))(var_mtype
->class->vft
[COLOR_model__MType__collect_mclassdefs
]))(var_mtype
, var1
) /* collect_mclassdefs on <var_mtype:MClassType>*/;
5175 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_array__Collection__to_a
]))(var2
) /* to_a on <var2:Set[MClassDef]>*/;
5177 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(self
) /* mainmodule on <self:AbstractCompiler>*/;
5178 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_model__MModule__linearize_mclassdefs
]))(var4
, var_cds
) /* linearize_mclassdefs on <var4:MModule>*/;
5179 var5
= ((val
* (*)(val
*))(var_cds
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_cds
) /* iterator on <var_cds:Array[MClassDef]>*/;
5181 var6
= ((short int (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var5
) /* is_ok on <var5:Iterator[nullable Object]>*/;
5183 var7
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var5
) /* item on <var5:Iterator[nullable Object]>*/;
5185 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
5186 var9
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_modelize_class__ModelBuilder__mclassdef2nclassdef
]))(var8
) /* mclassdef2nclassdef on <var8:ModelBuilder>*/;
5187 var10
= ((val
* (*)(val
*, val
*))(var9
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var9
, var_cd
) /* [] on <var9:HashMap[MClassDef, AClassdef]>*/;
5189 var11
= ((val
* (*)(val
*))(var_n
->class->vft
[COLOR_parser_nodes__AClassdef__n_propdefs
]))(var_n
) /* n_propdefs on <var_n:AClassdef>*/;
5190 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var11
) /* iterator on <var11:ANodes[APropdef]>*/;
5192 var13
= ((short int (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var12
) /* is_ok on <var12:Iterator[nullable Object]>*/;
5194 var14
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var12
) /* item on <var12:Iterator[nullable Object]>*/;
5195 var_npropdef
= var14
;
5196 /* <var_npropdef:APropdef> isa AAttrPropdef */
5197 cltype16
= type_parser_nodes__AAttrPropdef
.color
;
5198 idtype17
= type_parser_nodes__AAttrPropdef
.id
;
5199 if(cltype16
>= var_npropdef
->type
->table_size
) {
5202 var15
= var_npropdef
->type
->type_table
[cltype16
] == idtype17
;
5205 ((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)>*/;
5208 CONTINUE_label
: (void)0;
5209 ((void (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var12
) /* next on <var12:Iterator[nullable Object]>*/;
5211 BREAK_label
: (void)0;
5212 CONTINUE_label18
: (void)0;
5213 ((void (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var5
) /* next on <var5:Iterator[nullable Object]>*/;
5215 BREAK_label18
: (void)0;
5218 /* method abstract_compiler#AbstractCompiler#generate_check_attr for (self: Object, AbstractCompilerVisitor, RuntimeVariable, MClassType) */
5219 void VIRTUAL_abstract_compiler__AbstractCompiler__generate_check_attr(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
5220 abstract_compiler__AbstractCompiler__generate_check_attr(self
, p0
, p1
, p2
);
5223 /* method abstract_compiler#AbstractCompiler#count_type_test_tags for (self: AbstractCompiler): Array[String] */
5224 val
* abstract_compiler__AbstractCompiler__count_type_test_tags(val
* self
) {
5225 val
* var
/* : Array[String] */;
5226 val
* var1
/* : Array[String] */;
5227 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_tags
].val
; /* @count_type_test_tags on <self:AbstractCompiler> */
5229 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @count_type_test_tags", "src/abstract_compiler.nit", 439);
5236 /* method abstract_compiler#AbstractCompiler#count_type_test_tags for (self: Object): Array[String] */
5237 val
* VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_tags(val
* self
) {
5238 val
* var
/* : Array[String] */;
5239 val
* var1
/* : Array[String] */;
5240 var1
= abstract_compiler__AbstractCompiler__count_type_test_tags(self
);
5245 /* method abstract_compiler#AbstractCompiler#count_type_test_tags= for (self: AbstractCompiler, Array[String]) */
5246 void abstract_compiler__AbstractCompiler__count_type_test_tags_61d(val
* self
, val
* p0
) {
5247 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_tags
].val
= p0
; /* @count_type_test_tags on <self:AbstractCompiler> */
5250 /* method abstract_compiler#AbstractCompiler#count_type_test_tags= for (self: Object, Array[String]) */
5251 void VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_tags_61d(val
* self
, val
* p0
) {
5252 abstract_compiler__AbstractCompiler__count_type_test_tags_61d(self
, p0
);
5255 /* method abstract_compiler#AbstractCompiler#count_type_test_resolved for (self: AbstractCompiler): HashMap[String, Int] */
5256 val
* abstract_compiler__AbstractCompiler__count_type_test_resolved(val
* self
) {
5257 val
* var
/* : HashMap[String, Int] */;
5258 val
* var1
/* : HashMap[String, Int] */;
5259 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_resolved
].val
; /* @count_type_test_resolved on <self:AbstractCompiler> */
5261 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @count_type_test_resolved", "src/abstract_compiler.nit", 440);
5268 /* method abstract_compiler#AbstractCompiler#count_type_test_resolved for (self: Object): HashMap[String, Int] */
5269 val
* VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_resolved(val
* self
) {
5270 val
* var
/* : HashMap[String, Int] */;
5271 val
* var1
/* : HashMap[String, Int] */;
5272 var1
= abstract_compiler__AbstractCompiler__count_type_test_resolved(self
);
5277 /* method abstract_compiler#AbstractCompiler#count_type_test_resolved= for (self: AbstractCompiler, HashMap[String, Int]) */
5278 void abstract_compiler__AbstractCompiler__count_type_test_resolved_61d(val
* self
, val
* p0
) {
5279 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_resolved
].val
= p0
; /* @count_type_test_resolved on <self:AbstractCompiler> */
5282 /* method abstract_compiler#AbstractCompiler#count_type_test_resolved= for (self: Object, HashMap[String, Int]) */
5283 void VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_resolved_61d(val
* self
, val
* p0
) {
5284 abstract_compiler__AbstractCompiler__count_type_test_resolved_61d(self
, p0
);
5287 /* method abstract_compiler#AbstractCompiler#count_type_test_unresolved for (self: AbstractCompiler): HashMap[String, Int] */
5288 val
* abstract_compiler__AbstractCompiler__count_type_test_unresolved(val
* self
) {
5289 val
* var
/* : HashMap[String, Int] */;
5290 val
* var1
/* : HashMap[String, Int] */;
5291 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_unresolved
].val
; /* @count_type_test_unresolved on <self:AbstractCompiler> */
5293 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @count_type_test_unresolved", "src/abstract_compiler.nit", 441);
5300 /* method abstract_compiler#AbstractCompiler#count_type_test_unresolved for (self: Object): HashMap[String, Int] */
5301 val
* VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_unresolved(val
* self
) {
5302 val
* var
/* : HashMap[String, Int] */;
5303 val
* var1
/* : HashMap[String, Int] */;
5304 var1
= abstract_compiler__AbstractCompiler__count_type_test_unresolved(self
);
5309 /* method abstract_compiler#AbstractCompiler#count_type_test_unresolved= for (self: AbstractCompiler, HashMap[String, Int]) */
5310 void abstract_compiler__AbstractCompiler__count_type_test_unresolved_61d(val
* self
, val
* p0
) {
5311 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_unresolved
].val
= p0
; /* @count_type_test_unresolved on <self:AbstractCompiler> */
5314 /* method abstract_compiler#AbstractCompiler#count_type_test_unresolved= for (self: Object, HashMap[String, Int]) */
5315 void VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_unresolved_61d(val
* self
, val
* p0
) {
5316 abstract_compiler__AbstractCompiler__count_type_test_unresolved_61d(self
, p0
);
5319 /* method abstract_compiler#AbstractCompiler#count_type_test_skipped for (self: AbstractCompiler): HashMap[String, Int] */
5320 val
* abstract_compiler__AbstractCompiler__count_type_test_skipped(val
* self
) {
5321 val
* var
/* : HashMap[String, Int] */;
5322 val
* var1
/* : HashMap[String, Int] */;
5323 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_skipped
].val
; /* @count_type_test_skipped on <self:AbstractCompiler> */
5325 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @count_type_test_skipped", "src/abstract_compiler.nit", 442);
5332 /* method abstract_compiler#AbstractCompiler#count_type_test_skipped for (self: Object): HashMap[String, Int] */
5333 val
* VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_skipped(val
* self
) {
5334 val
* var
/* : HashMap[String, Int] */;
5335 val
* var1
/* : HashMap[String, Int] */;
5336 var1
= abstract_compiler__AbstractCompiler__count_type_test_skipped(self
);
5341 /* method abstract_compiler#AbstractCompiler#count_type_test_skipped= for (self: AbstractCompiler, HashMap[String, Int]) */
5342 void abstract_compiler__AbstractCompiler__count_type_test_skipped_61d(val
* self
, val
* p0
) {
5343 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_skipped
].val
= p0
; /* @count_type_test_skipped on <self:AbstractCompiler> */
5346 /* method abstract_compiler#AbstractCompiler#count_type_test_skipped= for (self: Object, HashMap[String, Int]) */
5347 void VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_skipped_61d(val
* self
, val
* p0
) {
5348 abstract_compiler__AbstractCompiler__count_type_test_skipped_61d(self
, p0
);
5351 /* method abstract_compiler#AbstractCompiler#init_count_type_test_tags for (self: AbstractCompiler): HashMap[String, Int] */
5352 val
* abstract_compiler__AbstractCompiler__init_count_type_test_tags(val
* self
) {
5353 val
* var
/* : HashMap[String, Int] */;
5354 val
* var1
/* : HashMap[String, Int] */;
5355 val
* var_res
/* var res: HashMap[String, Int] */;
5356 val
* var2
/* : Array[String] */;
5357 val
* var3
/* : Iterator[nullable Object] */;
5358 short int var4
/* : Bool */;
5359 val
* var5
/* : nullable Object */;
5360 val
* var_tag
/* var tag: String */;
5361 long var6
/* : Int */;
5362 val
* var7
/* : nullable Object */;
5363 var1
= NEW_hash_collection__HashMap(&type_hash_collection__HashMapstring__Stringkernel__Int
);
5364 ((void (*)(val
*))(var1
->class->vft
[COLOR_hash_collection__HashMap__init
]))(var1
) /* init on <var1:HashMap[String, Int]>*/;
5365 CHECK_NEW_hash_collection__HashMap(var1
);
5367 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_tags
]))(self
) /* count_type_test_tags on <self:AbstractCompiler>*/;
5368 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var2
) /* iterator on <var2:Array[String]>*/;
5370 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
5372 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
5375 var7
= BOX_kernel__Int(var6
); /* autobox from Int to nullable Object */
5376 ((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]>*/;
5377 CONTINUE_label
: (void)0;
5378 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
5380 BREAK_label
: (void)0;
5386 /* method abstract_compiler#AbstractCompiler#init_count_type_test_tags for (self: Object): HashMap[String, Int] */
5387 val
* VIRTUAL_abstract_compiler__AbstractCompiler__init_count_type_test_tags(val
* self
) {
5388 val
* var
/* : HashMap[String, Int] */;
5389 val
* var1
/* : HashMap[String, Int] */;
5390 var1
= abstract_compiler__AbstractCompiler__init_count_type_test_tags(self
);
5395 /* method abstract_compiler#AbstractCompiler#display_stats for (self: AbstractCompiler) */
5396 void abstract_compiler__AbstractCompiler__display_stats(val
* self
) {
5397 val
* var
/* : ModelBuilder */;
5398 val
* var1
/* : ToolContext */;
5399 val
* var2
/* : OptionBool */;
5400 val
* var3
/* : nullable Object */;
5401 short int var4
/* : Bool */;
5402 static val
* varonce
;
5403 val
* var5
/* : String */;
5404 char* var6
/* : NativeString */;
5405 long var7
/* : Int */;
5406 val
* var8
/* : String */;
5407 static val
* varonce9
;
5408 val
* var10
/* : String */;
5409 char* var11
/* : NativeString */;
5410 long var12
/* : Int */;
5411 val
* var13
/* : String */;
5412 val
* var14
/* : HashMap[String, Int] */;
5413 val
* var_count_type_test_total
/* var count_type_test_total: HashMap[String, Int] */;
5414 val
* var15
/* : HashMap[String, Int] */;
5415 static val
* varonce16
;
5416 val
* var17
/* : String */;
5417 char* var18
/* : NativeString */;
5418 long var19
/* : Int */;
5419 val
* var20
/* : String */;
5420 long var21
/* : Int */;
5421 val
* var22
/* : nullable Object */;
5422 val
* var23
/* : HashMap[String, Int] */;
5423 static val
* varonce24
;
5424 val
* var25
/* : String */;
5425 char* var26
/* : NativeString */;
5426 long var27
/* : Int */;
5427 val
* var28
/* : String */;
5428 long var29
/* : Int */;
5429 val
* var30
/* : nullable Object */;
5430 val
* var31
/* : HashMap[String, Int] */;
5431 static val
* varonce32
;
5432 val
* var33
/* : String */;
5433 char* var34
/* : NativeString */;
5434 long var35
/* : Int */;
5435 val
* var36
/* : String */;
5436 long var37
/* : Int */;
5437 val
* var38
/* : nullable Object */;
5438 static val
* varonce39
;
5439 val
* var40
/* : String */;
5440 char* var41
/* : NativeString */;
5441 long var42
/* : Int */;
5442 val
* var43
/* : String */;
5443 long var44
/* : Int */;
5444 val
* var45
/* : nullable Object */;
5445 val
* var46
/* : Array[String] */;
5446 val
* var47
/* : Iterator[nullable Object] */;
5447 short int var48
/* : Bool */;
5448 val
* var49
/* : nullable Object */;
5449 val
* var_tag
/* var tag: String */;
5450 val
* var50
/* : HashMap[String, Int] */;
5451 val
* var51
/* : nullable Object */;
5452 val
* var52
/* : HashMap[String, Int] */;
5453 val
* var53
/* : nullable Object */;
5454 long var54
/* : Int */;
5455 long var56
/* : Int */;
5456 long var57
/* : Int */;
5457 long var58
/* : Int */;
5458 val
* var59
/* : HashMap[String, Int] */;
5459 val
* var60
/* : nullable Object */;
5460 long var61
/* : Int */;
5461 long var63
/* : Int */;
5462 long var64
/* : Int */;
5463 val
* var65
/* : nullable Object */;
5464 val
* var66
/* : HashMap[String, Int] */;
5465 val
* var_
/* var : HashMap[String, Int] */;
5466 static val
* varonce67
;
5467 val
* var68
/* : String */;
5468 char* var69
/* : NativeString */;
5469 long var70
/* : Int */;
5470 val
* var71
/* : String */;
5471 val
* var_72
/* var : String */;
5472 val
* var73
/* : nullable Object */;
5473 val
* var74
/* : HashMap[String, Int] */;
5474 val
* var75
/* : nullable Object */;
5475 long var76
/* : Int */;
5476 long var78
/* : Int */;
5477 long var79
/* : Int */;
5478 long var80
/* : Int */;
5479 val
* var81
/* : nullable Object */;
5480 val
* var82
/* : HashMap[String, Int] */;
5481 val
* var_83
/* var : HashMap[String, Int] */;
5482 static val
* varonce84
;
5483 val
* var85
/* : String */;
5484 char* var86
/* : NativeString */;
5485 long var87
/* : Int */;
5486 val
* var88
/* : String */;
5487 val
* var_89
/* var : String */;
5488 val
* var90
/* : nullable Object */;
5489 val
* var91
/* : HashMap[String, Int] */;
5490 val
* var92
/* : nullable Object */;
5491 long var93
/* : Int */;
5492 long var95
/* : Int */;
5493 long var96
/* : Int */;
5494 long var97
/* : Int */;
5495 val
* var98
/* : nullable Object */;
5496 val
* var99
/* : HashMap[String, Int] */;
5497 val
* var_100
/* var : HashMap[String, Int] */;
5498 static val
* varonce101
;
5499 val
* var102
/* : String */;
5500 char* var103
/* : NativeString */;
5501 long var104
/* : Int */;
5502 val
* var105
/* : String */;
5503 val
* var_106
/* var : String */;
5504 val
* var107
/* : nullable Object */;
5505 val
* var108
/* : HashMap[String, Int] */;
5506 val
* var109
/* : nullable Object */;
5507 long var110
/* : Int */;
5508 long var112
/* : Int */;
5509 long var113
/* : Int */;
5510 long var114
/* : Int */;
5511 val
* var115
/* : nullable Object */;
5512 val
* var_116
/* var : HashMap[String, Int] */;
5513 static val
* varonce117
;
5514 val
* var118
/* : String */;
5515 char* var119
/* : NativeString */;
5516 long var120
/* : Int */;
5517 val
* var121
/* : String */;
5518 val
* var_122
/* var : String */;
5519 val
* var123
/* : nullable Object */;
5520 val
* var124
/* : nullable Object */;
5521 long var125
/* : Int */;
5522 long var127
/* : Int */;
5523 long var128
/* : Int */;
5524 long var129
/* : Int */;
5525 val
* var130
/* : nullable Object */;
5526 static val
* varonce131
;
5527 val
* var132
/* : String */;
5528 char* var133
/* : NativeString */;
5529 long var134
/* : Int */;
5530 val
* var135
/* : String */;
5531 val
* var136
/* : nullable Object */;
5532 long var137
/* : Int */;
5533 long var_count_type_test
/* var count_type_test: Int */;
5534 val
* var138
/* : Array[String] */;
5535 val
* var139
/* : Array[nullable Object] */;
5536 val
* var_tags
/* var tags: Array[String] */;
5537 static val
* varonce140
;
5538 val
* var141
/* : String */;
5539 char* var142
/* : NativeString */;
5540 long var143
/* : Int */;
5541 val
* var144
/* : String */;
5542 val
* var145
/* : Iterator[nullable Object] */;
5543 short int var146
/* : Bool */;
5544 val
* var147
/* : nullable Object */;
5545 val
* var_tag148
/* var tag: String */;
5546 val
* var149
/* : Array[Object] */;
5547 long var150
/* : Int */;
5548 val
* var151
/* : NativeArray[Object] */;
5549 static val
* varonce152
;
5550 val
* var153
/* : String */;
5551 char* var154
/* : NativeString */;
5552 long var155
/* : Int */;
5553 val
* var156
/* : String */;
5554 val
* var157
/* : HashMap[String, Int] */;
5555 val
* var158
/* : nullable Object */;
5556 static val
* varonce159
;
5557 val
* var160
/* : String */;
5558 char* var161
/* : NativeString */;
5559 long var162
/* : Int */;
5560 val
* var163
/* : String */;
5561 val
* var164
/* : HashMap[String, Int] */;
5562 val
* var165
/* : nullable Object */;
5563 val
* var166
/* : String */;
5564 long var167
/* : Int */;
5565 static val
* varonce168
;
5566 val
* var169
/* : String */;
5567 char* var170
/* : NativeString */;
5568 long var171
/* : Int */;
5569 val
* var172
/* : String */;
5570 val
* var173
/* : Array[Object] */;
5571 long var174
/* : Int */;
5572 val
* var175
/* : NativeArray[Object] */;
5573 val
* var176
/* : String */;
5574 val
* var177
/* : Array[Object] */;
5575 long var178
/* : Int */;
5576 val
* var179
/* : NativeArray[Object] */;
5577 static val
* varonce180
;
5578 val
* var181
/* : String */;
5579 char* var182
/* : NativeString */;
5580 long var183
/* : Int */;
5581 val
* var184
/* : String */;
5582 val
* var185
/* : HashMap[String, Int] */;
5583 val
* var186
/* : nullable Object */;
5584 static val
* varonce187
;
5585 val
* var188
/* : String */;
5586 char* var189
/* : NativeString */;
5587 long var190
/* : Int */;
5588 val
* var191
/* : String */;
5589 val
* var192
/* : HashMap[String, Int] */;
5590 val
* var193
/* : nullable Object */;
5591 val
* var194
/* : String */;
5592 long var195
/* : Int */;
5593 static val
* varonce196
;
5594 val
* var197
/* : String */;
5595 char* var198
/* : NativeString */;
5596 long var199
/* : Int */;
5597 val
* var200
/* : String */;
5598 val
* var201
/* : Array[Object] */;
5599 long var202
/* : Int */;
5600 val
* var203
/* : NativeArray[Object] */;
5601 val
* var204
/* : String */;
5602 val
* var205
/* : Array[Object] */;
5603 long var206
/* : Int */;
5604 val
* var207
/* : NativeArray[Object] */;
5605 static val
* varonce208
;
5606 val
* var209
/* : String */;
5607 char* var210
/* : NativeString */;
5608 long var211
/* : Int */;
5609 val
* var212
/* : String */;
5610 val
* var213
/* : HashMap[String, Int] */;
5611 val
* var214
/* : nullable Object */;
5612 static val
* varonce215
;
5613 val
* var216
/* : String */;
5614 char* var217
/* : NativeString */;
5615 long var218
/* : Int */;
5616 val
* var219
/* : String */;
5617 val
* var220
/* : HashMap[String, Int] */;
5618 val
* var221
/* : nullable Object */;
5619 val
* var222
/* : String */;
5620 long var223
/* : Int */;
5621 static val
* varonce224
;
5622 val
* var225
/* : String */;
5623 char* var226
/* : NativeString */;
5624 long var227
/* : Int */;
5625 val
* var228
/* : String */;
5626 val
* var229
/* : Array[Object] */;
5627 long var230
/* : Int */;
5628 val
* var231
/* : NativeArray[Object] */;
5629 val
* var232
/* : String */;
5630 val
* var233
/* : Array[Object] */;
5631 long var234
/* : Int */;
5632 val
* var235
/* : NativeArray[Object] */;
5633 static val
* varonce236
;
5634 val
* var237
/* : String */;
5635 char* var238
/* : NativeString */;
5636 long var239
/* : Int */;
5637 val
* var240
/* : String */;
5638 val
* var241
/* : nullable Object */;
5639 static val
* varonce242
;
5640 val
* var243
/* : String */;
5641 char* var244
/* : NativeString */;
5642 long var245
/* : Int */;
5643 val
* var246
/* : String */;
5644 val
* var247
/* : nullable Object */;
5645 val
* var248
/* : String */;
5646 long var249
/* : Int */;
5647 static val
* varonce250
;
5648 val
* var251
/* : String */;
5649 char* var252
/* : NativeString */;
5650 long var253
/* : Int */;
5651 val
* var254
/* : String */;
5652 val
* var255
/* : Array[Object] */;
5653 long var256
/* : Int */;
5654 val
* var257
/* : NativeArray[Object] */;
5655 val
* var258
/* : String */;
5656 val
* var259
/* : Array[Object] */;
5657 long var260
/* : Int */;
5658 val
* var261
/* : NativeArray[Object] */;
5659 static val
* varonce262
;
5660 val
* var263
/* : String */;
5661 char* var264
/* : NativeString */;
5662 long var265
/* : Int */;
5663 val
* var266
/* : String */;
5664 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
5665 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var
) /* toolcontext on <var:ModelBuilder>*/;
5666 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_typing_test_metrics
]))(var1
) /* opt_typing_test_metrics on <var1:ToolContext>*/;
5667 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_opts__Option__value
]))(var2
) /* value on <var2:OptionBool>*/;
5668 var4
= ((struct instance_kernel__Bool
*)var3
)->value
; /* autounbox from nullable Object to Bool */;
5673 var6
= "# static count_type_test";
5675 var8
= string__NativeString__to_s_with_length(var6
, var7
);
5679 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__print
]))(self
, var5
) /* print on <self:AbstractCompiler>*/;
5683 var11
= "\11resolved:\11unresolved\11skipped\11total";
5685 var13
= string__NativeString__to_s_with_length(var11
, var12
);
5689 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__print
]))(self
, var10
) /* print on <self:AbstractCompiler>*/;
5690 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__init_count_type_test_tags
]))(self
) /* init_count_type_test_tags on <self:AbstractCompiler>*/;
5691 var_count_type_test_total
= var14
;
5692 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_resolved
]))(self
) /* count_type_test_resolved on <self:AbstractCompiler>*/;
5698 var20
= string__NativeString__to_s_with_length(var18
, var19
);
5703 var22
= BOX_kernel__Int(var21
); /* autobox from Int to nullable Object */
5704 ((void (*)(val
*, val
*, val
*))(var15
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var15
, var17
, var22
) /* []= on <var15:HashMap[String, Int]>*/;
5705 var23
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_unresolved
]))(self
) /* count_type_test_unresolved on <self:AbstractCompiler>*/;
5711 var28
= string__NativeString__to_s_with_length(var26
, var27
);
5716 var30
= BOX_kernel__Int(var29
); /* autobox from Int to nullable Object */
5717 ((void (*)(val
*, val
*, val
*))(var23
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var23
, var25
, var30
) /* []= on <var23:HashMap[String, Int]>*/;
5718 var31
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_skipped
]))(self
) /* count_type_test_skipped on <self:AbstractCompiler>*/;
5724 var36
= string__NativeString__to_s_with_length(var34
, var35
);
5729 var38
= BOX_kernel__Int(var37
); /* autobox from Int to nullable Object */
5730 ((void (*)(val
*, val
*, val
*))(var31
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var31
, var33
, var38
) /* []= on <var31:HashMap[String, Int]>*/;
5736 var43
= string__NativeString__to_s_with_length(var41
, var42
);
5741 var45
= BOX_kernel__Int(var44
); /* autobox from Int to nullable Object */
5742 ((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]>*/;
5743 var46
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_tags
]))(self
) /* count_type_test_tags on <self:AbstractCompiler>*/;
5744 var47
= ((val
* (*)(val
*))(var46
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var46
) /* iterator on <var46:Array[String]>*/;
5746 var48
= ((short int (*)(val
*))(var47
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var47
) /* is_ok on <var47:Iterator[nullable Object]>*/;
5748 var49
= ((val
* (*)(val
*))(var47
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var47
) /* item on <var47:Iterator[nullable Object]>*/;
5750 var50
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_resolved
]))(self
) /* count_type_test_resolved on <self:AbstractCompiler>*/;
5751 var51
= ((val
* (*)(val
*, val
*))(var50
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var50
, var_tag
) /* [] on <var50:HashMap[String, Int]>*/;
5752 var52
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_unresolved
]))(self
) /* count_type_test_unresolved on <self:AbstractCompiler>*/;
5753 var53
= ((val
* (*)(val
*, val
*))(var52
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var52
, var_tag
) /* [] on <var52:HashMap[String, Int]>*/;
5754 { /* Inline kernel#Int#+ (var51,var53) */
5755 var56
= ((struct instance_kernel__Int
*)var51
)->value
; /* autounbox from nullable Object to Int */;
5756 var57
= ((struct instance_kernel__Int
*)var53
)->value
; /* autounbox from nullable Object to Int */;
5757 var58
= var56
+ var57
;
5760 RET_LABEL55
:(void)0;
5762 var59
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_skipped
]))(self
) /* count_type_test_skipped on <self:AbstractCompiler>*/;
5763 var60
= ((val
* (*)(val
*, val
*))(var59
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var59
, var_tag
) /* [] on <var59:HashMap[String, Int]>*/;
5764 { /* Inline kernel#Int#+ (var54,var60) */
5765 var63
= ((struct instance_kernel__Int
*)var60
)->value
; /* autounbox from nullable Object to Int */;
5766 var64
= var54
+ var63
;
5769 RET_LABEL62
:(void)0;
5771 var65
= BOX_kernel__Int(var61
); /* autobox from Int to nullable Object */
5772 ((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]>*/;
5773 var66
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_resolved
]))(self
) /* count_type_test_resolved on <self:AbstractCompiler>*/;
5780 var71
= string__NativeString__to_s_with_length(var69
, var70
);
5785 var73
= ((val
* (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_
, var_72
) /* [] on <var_:HashMap[String, Int]>*/;
5786 var74
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_resolved
]))(self
) /* count_type_test_resolved on <self:AbstractCompiler>*/;
5787 var75
= ((val
* (*)(val
*, val
*))(var74
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var74
, var_tag
) /* [] on <var74:HashMap[String, Int]>*/;
5788 { /* Inline kernel#Int#+ (var73,var75) */
5789 var78
= ((struct instance_kernel__Int
*)var73
)->value
; /* autounbox from nullable Object to Int */;
5790 var79
= ((struct instance_kernel__Int
*)var75
)->value
; /* autounbox from nullable Object to Int */;
5791 var80
= var78
+ var79
;
5794 RET_LABEL77
:(void)0;
5796 var81
= BOX_kernel__Int(var76
); /* autobox from Int to nullable Object */
5797 ((void (*)(val
*, val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var_
, var_72
, var81
) /* []= on <var_:HashMap[String, Int]>*/;
5798 var82
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_unresolved
]))(self
) /* count_type_test_unresolved on <self:AbstractCompiler>*/;
5805 var88
= string__NativeString__to_s_with_length(var86
, var87
);
5810 var90
= ((val
* (*)(val
*, val
*))(var_83
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_83
, var_89
) /* [] on <var_83:HashMap[String, Int]>*/;
5811 var91
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_unresolved
]))(self
) /* count_type_test_unresolved on <self:AbstractCompiler>*/;
5812 var92
= ((val
* (*)(val
*, val
*))(var91
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var91
, var_tag
) /* [] on <var91:HashMap[String, Int]>*/;
5813 { /* Inline kernel#Int#+ (var90,var92) */
5814 var95
= ((struct instance_kernel__Int
*)var90
)->value
; /* autounbox from nullable Object to Int */;
5815 var96
= ((struct instance_kernel__Int
*)var92
)->value
; /* autounbox from nullable Object to Int */;
5816 var97
= var95
+ var96
;
5819 RET_LABEL94
:(void)0;
5821 var98
= BOX_kernel__Int(var93
); /* autobox from Int to nullable Object */
5822 ((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]>*/;
5823 var99
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_skipped
]))(self
) /* count_type_test_skipped on <self:AbstractCompiler>*/;
5826 var102
= varonce101
;
5830 var105
= string__NativeString__to_s_with_length(var103
, var104
);
5832 varonce101
= var102
;
5835 var107
= ((val
* (*)(val
*, val
*))(var_100
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_100
, var_106
) /* [] on <var_100:HashMap[String, Int]>*/;
5836 var108
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_skipped
]))(self
) /* count_type_test_skipped on <self:AbstractCompiler>*/;
5837 var109
= ((val
* (*)(val
*, val
*))(var108
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var108
, var_tag
) /* [] on <var108:HashMap[String, Int]>*/;
5838 { /* Inline kernel#Int#+ (var107,var109) */
5839 var112
= ((struct instance_kernel__Int
*)var107
)->value
; /* autounbox from nullable Object to Int */;
5840 var113
= ((struct instance_kernel__Int
*)var109
)->value
; /* autounbox from nullable Object to Int */;
5841 var114
= var112
+ var113
;
5844 RET_LABEL111
:(void)0;
5846 var115
= BOX_kernel__Int(var110
); /* autobox from Int to nullable Object */
5847 ((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]>*/;
5848 var_116
= var_count_type_test_total
;
5850 var118
= varonce117
;
5854 var121
= string__NativeString__to_s_with_length(var119
, var120
);
5856 varonce117
= var118
;
5859 var123
= ((val
* (*)(val
*, val
*))(var_116
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_116
, var_122
) /* [] on <var_116:HashMap[String, Int]>*/;
5860 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]>*/;
5861 { /* Inline kernel#Int#+ (var123,var124) */
5862 var127
= ((struct instance_kernel__Int
*)var123
)->value
; /* autounbox from nullable Object to Int */;
5863 var128
= ((struct instance_kernel__Int
*)var124
)->value
; /* autounbox from nullable Object to Int */;
5864 var129
= var127
+ var128
;
5867 RET_LABEL126
:(void)0;
5869 var130
= BOX_kernel__Int(var125
); /* autobox from Int to nullable Object */
5870 ((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]>*/;
5871 CONTINUE_label
: (void)0;
5872 ((void (*)(val
*))(var47
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var47
) /* next on <var47:Iterator[nullable Object]>*/;
5874 BREAK_label
: (void)0;
5876 var132
= varonce131
;
5880 var135
= string__NativeString__to_s_with_length(var133
, var134
);
5882 varonce131
= var132
;
5884 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]>*/;
5885 var137
= ((struct instance_kernel__Int
*)var136
)->value
; /* autounbox from nullable Object to Int */;
5886 var_count_type_test
= var137
;
5887 var138
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_tags
]))(self
) /* count_type_test_tags on <self:AbstractCompiler>*/;
5888 var139
= ((val
* (*)(val
*))(var138
->class->vft
[COLOR_array__Collection__to_a
]))(var138
) /* to_a on <var138:Array[String]>*/;
5891 var141
= varonce140
;
5895 var144
= string__NativeString__to_s_with_length(var142
, var143
);
5897 varonce140
= var141
;
5899 ((void (*)(val
*, val
*))(var_tags
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_tags
, var141
) /* add on <var_tags:Array[String]>*/;
5900 var145
= ((val
* (*)(val
*))(var_tags
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_tags
) /* iterator on <var_tags:Array[String]>*/;
5902 var146
= ((short int (*)(val
*))(var145
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var145
) /* is_ok on <var145:Iterator[nullable Object]>*/;
5904 var147
= ((val
* (*)(val
*))(var145
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var145
) /* item on <var145:Iterator[nullable Object]>*/;
5905 var_tag148
= var147
;
5906 var149
= NEW_array__Array(&type_array__Arraykernel__Object
);
5907 { /* var149 = array_instance Array[Object] */
5909 var151
= NEW_array__NativeArray(var150
, &type_array__NativeArraykernel__Object
);
5910 ((struct instance_array__NativeArray
*)var151
)->values
[0] = (val
*) var_tag148
;
5911 ((void (*)(val
*, val
*, long))(var149
->class->vft
[COLOR_array__Array__with_native
]))(var149
, var151
, var150
) /* with_native on <var149:Array[Object]>*/;
5912 CHECK_NEW_array__Array(var149
);
5914 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__printn
]))(self
, var149
) /* printn on <self:AbstractCompiler>*/;
5916 var153
= varonce152
;
5920 var156
= string__NativeString__to_s_with_length(var154
, var155
);
5922 varonce152
= var153
;
5924 var157
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_resolved
]))(self
) /* count_type_test_resolved on <self:AbstractCompiler>*/;
5925 var158
= ((val
* (*)(val
*, val
*))(var157
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var157
, var_tag148
) /* [] on <var157:HashMap[String, Int]>*/;
5927 var160
= varonce159
;
5931 var163
= string__NativeString__to_s_with_length(var161
, var162
);
5933 varonce159
= var160
;
5935 var164
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_resolved
]))(self
) /* count_type_test_resolved on <self:AbstractCompiler>*/;
5936 var165
= ((val
* (*)(val
*, val
*))(var164
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var164
, var_tag148
) /* [] on <var164:HashMap[String, Int]>*/;
5937 var167
= ((struct instance_kernel__Int
*)var165
)->value
; /* autounbox from nullable Object to Int */;
5938 var166
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__div
]))(self
, var167
, var_count_type_test
) /* div on <self:AbstractCompiler>*/;
5940 var169
= varonce168
;
5944 var172
= string__NativeString__to_s_with_length(var170
, var171
);
5946 varonce168
= var169
;
5948 var173
= NEW_array__Array(&type_array__Arraykernel__Object
);
5949 { /* var173 = array_instance Array[Object] */
5951 var175
= NEW_array__NativeArray(var174
, &type_array__NativeArraykernel__Object
);
5952 ((struct instance_array__NativeArray
*)var175
)->values
[0] = (val
*) var153
;
5953 ((struct instance_array__NativeArray
*)var175
)->values
[1] = (val
*) var158
;
5954 ((struct instance_array__NativeArray
*)var175
)->values
[2] = (val
*) var160
;
5955 ((struct instance_array__NativeArray
*)var175
)->values
[3] = (val
*) var166
;
5956 ((struct instance_array__NativeArray
*)var175
)->values
[4] = (val
*) var169
;
5957 ((void (*)(val
*, val
*, long))(var173
->class->vft
[COLOR_array__Array__with_native
]))(var173
, var175
, var174
) /* with_native on <var173:Array[Object]>*/;
5958 CHECK_NEW_array__Array(var173
);
5960 var176
= ((val
* (*)(val
*))(var173
->class->vft
[COLOR_string__Object__to_s
]))(var173
) /* to_s on <var173:Array[Object]>*/;
5961 var177
= NEW_array__Array(&type_array__Arraykernel__Object
);
5962 { /* var177 = array_instance Array[Object] */
5964 var179
= NEW_array__NativeArray(var178
, &type_array__NativeArraykernel__Object
);
5965 ((struct instance_array__NativeArray
*)var179
)->values
[0] = (val
*) var176
;
5966 ((void (*)(val
*, val
*, long))(var177
->class->vft
[COLOR_array__Array__with_native
]))(var177
, var179
, var178
) /* with_native on <var177:Array[Object]>*/;
5967 CHECK_NEW_array__Array(var177
);
5969 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__printn
]))(self
, var177
) /* printn on <self:AbstractCompiler>*/;
5971 var181
= varonce180
;
5975 var184
= string__NativeString__to_s_with_length(var182
, var183
);
5977 varonce180
= var181
;
5979 var185
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_unresolved
]))(self
) /* count_type_test_unresolved on <self:AbstractCompiler>*/;
5980 var186
= ((val
* (*)(val
*, val
*))(var185
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var185
, var_tag148
) /* [] on <var185:HashMap[String, Int]>*/;
5982 var188
= varonce187
;
5986 var191
= string__NativeString__to_s_with_length(var189
, var190
);
5988 varonce187
= var188
;
5990 var192
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_unresolved
]))(self
) /* count_type_test_unresolved on <self:AbstractCompiler>*/;
5991 var193
= ((val
* (*)(val
*, val
*))(var192
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var192
, var_tag148
) /* [] on <var192:HashMap[String, Int]>*/;
5992 var195
= ((struct instance_kernel__Int
*)var193
)->value
; /* autounbox from nullable Object to Int */;
5993 var194
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__div
]))(self
, var195
, var_count_type_test
) /* div on <self:AbstractCompiler>*/;
5995 var197
= varonce196
;
5999 var200
= string__NativeString__to_s_with_length(var198
, var199
);
6001 varonce196
= var197
;
6003 var201
= NEW_array__Array(&type_array__Arraykernel__Object
);
6004 { /* var201 = array_instance Array[Object] */
6006 var203
= NEW_array__NativeArray(var202
, &type_array__NativeArraykernel__Object
);
6007 ((struct instance_array__NativeArray
*)var203
)->values
[0] = (val
*) var181
;
6008 ((struct instance_array__NativeArray
*)var203
)->values
[1] = (val
*) var186
;
6009 ((struct instance_array__NativeArray
*)var203
)->values
[2] = (val
*) var188
;
6010 ((struct instance_array__NativeArray
*)var203
)->values
[3] = (val
*) var194
;
6011 ((struct instance_array__NativeArray
*)var203
)->values
[4] = (val
*) var197
;
6012 ((void (*)(val
*, val
*, long))(var201
->class->vft
[COLOR_array__Array__with_native
]))(var201
, var203
, var202
) /* with_native on <var201:Array[Object]>*/;
6013 CHECK_NEW_array__Array(var201
);
6015 var204
= ((val
* (*)(val
*))(var201
->class->vft
[COLOR_string__Object__to_s
]))(var201
) /* to_s on <var201:Array[Object]>*/;
6016 var205
= NEW_array__Array(&type_array__Arraykernel__Object
);
6017 { /* var205 = array_instance Array[Object] */
6019 var207
= NEW_array__NativeArray(var206
, &type_array__NativeArraykernel__Object
);
6020 ((struct instance_array__NativeArray
*)var207
)->values
[0] = (val
*) var204
;
6021 ((void (*)(val
*, val
*, long))(var205
->class->vft
[COLOR_array__Array__with_native
]))(var205
, var207
, var206
) /* with_native on <var205:Array[Object]>*/;
6022 CHECK_NEW_array__Array(var205
);
6024 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__printn
]))(self
, var205
) /* printn on <self:AbstractCompiler>*/;
6026 var209
= varonce208
;
6030 var212
= string__NativeString__to_s_with_length(var210
, var211
);
6032 varonce208
= var209
;
6034 var213
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_skipped
]))(self
) /* count_type_test_skipped on <self:AbstractCompiler>*/;
6035 var214
= ((val
* (*)(val
*, val
*))(var213
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var213
, var_tag148
) /* [] on <var213:HashMap[String, Int]>*/;
6037 var216
= varonce215
;
6041 var219
= string__NativeString__to_s_with_length(var217
, var218
);
6043 varonce215
= var216
;
6045 var220
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_skipped
]))(self
) /* count_type_test_skipped on <self:AbstractCompiler>*/;
6046 var221
= ((val
* (*)(val
*, val
*))(var220
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var220
, var_tag148
) /* [] on <var220:HashMap[String, Int]>*/;
6047 var223
= ((struct instance_kernel__Int
*)var221
)->value
; /* autounbox from nullable Object to Int */;
6048 var222
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__div
]))(self
, var223
, var_count_type_test
) /* div on <self:AbstractCompiler>*/;
6050 var225
= varonce224
;
6054 var228
= string__NativeString__to_s_with_length(var226
, var227
);
6056 varonce224
= var225
;
6058 var229
= NEW_array__Array(&type_array__Arraykernel__Object
);
6059 { /* var229 = array_instance Array[Object] */
6061 var231
= NEW_array__NativeArray(var230
, &type_array__NativeArraykernel__Object
);
6062 ((struct instance_array__NativeArray
*)var231
)->values
[0] = (val
*) var209
;
6063 ((struct instance_array__NativeArray
*)var231
)->values
[1] = (val
*) var214
;
6064 ((struct instance_array__NativeArray
*)var231
)->values
[2] = (val
*) var216
;
6065 ((struct instance_array__NativeArray
*)var231
)->values
[3] = (val
*) var222
;
6066 ((struct instance_array__NativeArray
*)var231
)->values
[4] = (val
*) var225
;
6067 ((void (*)(val
*, val
*, long))(var229
->class->vft
[COLOR_array__Array__with_native
]))(var229
, var231
, var230
) /* with_native on <var229:Array[Object]>*/;
6068 CHECK_NEW_array__Array(var229
);
6070 var232
= ((val
* (*)(val
*))(var229
->class->vft
[COLOR_string__Object__to_s
]))(var229
) /* to_s on <var229:Array[Object]>*/;
6071 var233
= NEW_array__Array(&type_array__Arraykernel__Object
);
6072 { /* var233 = array_instance Array[Object] */
6074 var235
= NEW_array__NativeArray(var234
, &type_array__NativeArraykernel__Object
);
6075 ((struct instance_array__NativeArray
*)var235
)->values
[0] = (val
*) var232
;
6076 ((void (*)(val
*, val
*, long))(var233
->class->vft
[COLOR_array__Array__with_native
]))(var233
, var235
, var234
) /* with_native on <var233:Array[Object]>*/;
6077 CHECK_NEW_array__Array(var233
);
6079 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__printn
]))(self
, var233
) /* printn on <self:AbstractCompiler>*/;
6081 var237
= varonce236
;
6085 var240
= string__NativeString__to_s_with_length(var238
, var239
);
6087 varonce236
= var237
;
6089 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]>*/;
6091 var243
= varonce242
;
6095 var246
= string__NativeString__to_s_with_length(var244
, var245
);
6097 varonce242
= var243
;
6099 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]>*/;
6100 var249
= ((struct instance_kernel__Int
*)var247
)->value
; /* autounbox from nullable Object to Int */;
6101 var248
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__div
]))(self
, var249
, var_count_type_test
) /* div on <self:AbstractCompiler>*/;
6103 var251
= varonce250
;
6107 var254
= string__NativeString__to_s_with_length(var252
, var253
);
6109 varonce250
= var251
;
6111 var255
= NEW_array__Array(&type_array__Arraykernel__Object
);
6112 { /* var255 = array_instance Array[Object] */
6114 var257
= NEW_array__NativeArray(var256
, &type_array__NativeArraykernel__Object
);
6115 ((struct instance_array__NativeArray
*)var257
)->values
[0] = (val
*) var237
;
6116 ((struct instance_array__NativeArray
*)var257
)->values
[1] = (val
*) var241
;
6117 ((struct instance_array__NativeArray
*)var257
)->values
[2] = (val
*) var243
;
6118 ((struct instance_array__NativeArray
*)var257
)->values
[3] = (val
*) var248
;
6119 ((struct instance_array__NativeArray
*)var257
)->values
[4] = (val
*) var251
;
6120 ((void (*)(val
*, val
*, long))(var255
->class->vft
[COLOR_array__Array__with_native
]))(var255
, var257
, var256
) /* with_native on <var255:Array[Object]>*/;
6121 CHECK_NEW_array__Array(var255
);
6123 var258
= ((val
* (*)(val
*))(var255
->class->vft
[COLOR_string__Object__to_s
]))(var255
) /* to_s on <var255:Array[Object]>*/;
6124 var259
= NEW_array__Array(&type_array__Arraykernel__Object
);
6125 { /* var259 = array_instance Array[Object] */
6127 var261
= NEW_array__NativeArray(var260
, &type_array__NativeArraykernel__Object
);
6128 ((struct instance_array__NativeArray
*)var261
)->values
[0] = (val
*) var258
;
6129 ((void (*)(val
*, val
*, long))(var259
->class->vft
[COLOR_array__Array__with_native
]))(var259
, var261
, var260
) /* with_native on <var259:Array[Object]>*/;
6130 CHECK_NEW_array__Array(var259
);
6132 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__printn
]))(self
, var259
) /* printn on <self:AbstractCompiler>*/;
6134 var263
= varonce262
;
6138 var266
= string__NativeString__to_s_with_length(var264
, var265
);
6140 varonce262
= var263
;
6142 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__print
]))(self
, var263
) /* print on <self:AbstractCompiler>*/;
6143 CONTINUE_label267
: (void)0;
6144 ((void (*)(val
*))(var145
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var145
) /* next on <var145:Iterator[nullable Object]>*/;
6146 BREAK_label267
: (void)0;
6151 /* method abstract_compiler#AbstractCompiler#display_stats for (self: Object) */
6152 void VIRTUAL_abstract_compiler__AbstractCompiler__display_stats(val
* self
) {
6153 abstract_compiler__AbstractCompiler__display_stats(self
);
6156 /* method abstract_compiler#AbstractCompiler#div for (self: AbstractCompiler, Int, Int): String */
6157 val
* abstract_compiler__AbstractCompiler__div(val
* self
, long p0
, long p1
) {
6158 val
* var
/* : String */;
6159 long var_a
/* var a: Int */;
6160 long var_b
/* var b: Int */;
6161 long var1
/* : Int */;
6162 short int var2
/* : Bool */;
6163 short int var4
/* : Bool */;
6164 static val
* varonce
;
6165 val
* var5
/* : String */;
6166 char* var6
/* : NativeString */;
6167 long var7
/* : Int */;
6168 val
* var8
/* : String */;
6169 long var9
/* : Int */;
6170 long var10
/* : Int */;
6171 long var12
/* : Int */;
6172 long var13
/* : Int */;
6173 long var15
/* : Int */;
6174 double var16
/* : Float */;
6175 double var18
/* : Float */;
6176 double var19
/* : Float */;
6177 double var20
/* : Float */;
6178 double var22
/* : Float */;
6179 long var23
/* : Int */;
6180 val
* var24
/* : String */;
6184 { /* Inline kernel#Int#== (var_b,var1) */
6185 var4
= var_b
== var1
;
6196 var8
= string__NativeString__to_s_with_length(var6
, var7
);
6205 { /* Inline kernel#Int#* (var_a,var9) */
6206 var12
= var_a
* var9
;
6209 RET_LABEL11
:(void)0;
6211 { /* Inline kernel#Int#/ (var10,var_b) */
6212 var15
= var10
/ var_b
;
6215 RET_LABEL14
:(void)0;
6217 { /* Inline kernel#Int#to_f (var13) */
6218 var18
= (double)var13
;
6221 RET_LABEL17
:(void)0;
6224 { /* Inline kernel#Float#/ (var16,var19) */
6225 var22
= var16
/ var19
;
6228 RET_LABEL21
:(void)0;
6231 var24
= string__Float__to_precision(var20
, var23
);
6237 /* method abstract_compiler#AbstractCompiler#div for (self: Object, Int, Int): String */
6238 val
* VIRTUAL_abstract_compiler__AbstractCompiler__div(val
* self
, long p0
, long p1
) {
6239 val
* var
/* : String */;
6240 val
* var1
/* : String */;
6241 var1
= abstract_compiler__AbstractCompiler__div(self
, p0
, p1
);
6246 /* method abstract_compiler#CodeFile#name for (self: CodeFile): String */
6247 val
* abstract_compiler__CodeFile__name(val
* self
) {
6248 val
* var
/* : String */;
6249 val
* var1
/* : String */;
6250 var1
= self
->attrs
[COLOR_abstract_compiler__CodeFile___64dname
].val
; /* @name on <self:CodeFile> */
6252 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @name", "src/abstract_compiler.nit", 503);
6259 /* method abstract_compiler#CodeFile#name for (self: Object): String */
6260 val
* VIRTUAL_abstract_compiler__CodeFile__name(val
* self
) {
6261 val
* var
/* : String */;
6262 val
* var1
/* : String */;
6263 var1
= abstract_compiler__CodeFile__name(self
);
6268 /* method abstract_compiler#CodeFile#name= for (self: CodeFile, String) */
6269 void abstract_compiler__CodeFile__name_61d(val
* self
, val
* p0
) {
6270 self
->attrs
[COLOR_abstract_compiler__CodeFile___64dname
].val
= p0
; /* @name on <self:CodeFile> */
6273 /* method abstract_compiler#CodeFile#name= for (self: Object, String) */
6274 void VIRTUAL_abstract_compiler__CodeFile__name_61d(val
* self
, val
* p0
) {
6275 abstract_compiler__CodeFile__name_61d(self
, p0
);
6278 /* method abstract_compiler#CodeFile#writers for (self: CodeFile): Array[CodeWriter] */
6279 val
* abstract_compiler__CodeFile__writers(val
* self
) {
6280 val
* var
/* : Array[CodeWriter] */;
6281 val
* var1
/* : Array[CodeWriter] */;
6282 var1
= self
->attrs
[COLOR_abstract_compiler__CodeFile___64dwriters
].val
; /* @writers on <self:CodeFile> */
6284 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @writers", "src/abstract_compiler.nit", 504);
6291 /* method abstract_compiler#CodeFile#writers for (self: Object): Array[CodeWriter] */
6292 val
* VIRTUAL_abstract_compiler__CodeFile__writers(val
* self
) {
6293 val
* var
/* : Array[CodeWriter] */;
6294 val
* var1
/* : Array[CodeWriter] */;
6295 var1
= abstract_compiler__CodeFile__writers(self
);
6300 /* method abstract_compiler#CodeFile#writers= for (self: CodeFile, Array[CodeWriter]) */
6301 void abstract_compiler__CodeFile__writers_61d(val
* self
, val
* p0
) {
6302 self
->attrs
[COLOR_abstract_compiler__CodeFile___64dwriters
].val
= p0
; /* @writers on <self:CodeFile> */
6305 /* method abstract_compiler#CodeFile#writers= for (self: Object, Array[CodeWriter]) */
6306 void VIRTUAL_abstract_compiler__CodeFile__writers_61d(val
* self
, val
* p0
) {
6307 abstract_compiler__CodeFile__writers_61d(self
, p0
);
6310 /* method abstract_compiler#CodeFile#required_declarations for (self: CodeFile): HashSet[String] */
6311 val
* abstract_compiler__CodeFile__required_declarations(val
* self
) {
6312 val
* var
/* : HashSet[String] */;
6313 val
* var1
/* : HashSet[String] */;
6314 var1
= self
->attrs
[COLOR_abstract_compiler__CodeFile___64drequired_declarations
].val
; /* @required_declarations on <self:CodeFile> */
6316 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @required_declarations", "src/abstract_compiler.nit", 505);
6323 /* method abstract_compiler#CodeFile#required_declarations for (self: Object): HashSet[String] */
6324 val
* VIRTUAL_abstract_compiler__CodeFile__required_declarations(val
* self
) {
6325 val
* var
/* : HashSet[String] */;
6326 val
* var1
/* : HashSet[String] */;
6327 var1
= abstract_compiler__CodeFile__required_declarations(self
);
6332 /* method abstract_compiler#CodeFile#required_declarations= for (self: CodeFile, HashSet[String]) */
6333 void abstract_compiler__CodeFile__required_declarations_61d(val
* self
, val
* p0
) {
6334 self
->attrs
[COLOR_abstract_compiler__CodeFile___64drequired_declarations
].val
= p0
; /* @required_declarations on <self:CodeFile> */
6337 /* method abstract_compiler#CodeFile#required_declarations= for (self: Object, HashSet[String]) */
6338 void VIRTUAL_abstract_compiler__CodeFile__required_declarations_61d(val
* self
, val
* p0
) {
6339 abstract_compiler__CodeFile__required_declarations_61d(self
, p0
);
6342 /* method abstract_compiler#CodeFile#init for (self: CodeFile, String) */
6343 void abstract_compiler__CodeFile__init(val
* self
, val
* p0
) {
6344 self
->attrs
[COLOR_abstract_compiler__CodeFile___64dname
].val
= p0
; /* @name on <self:CodeFile> */
6347 /* method abstract_compiler#CodeFile#init for (self: Object, String) */
6348 void VIRTUAL_abstract_compiler__CodeFile__init(val
* self
, val
* p0
) {
6349 abstract_compiler__CodeFile__init(self
, p0
);
6352 /* method abstract_compiler#CodeWriter#file for (self: CodeWriter): CodeFile */
6353 val
* abstract_compiler__CodeWriter__file(val
* self
) {
6354 val
* var
/* : CodeFile */;
6355 val
* var1
/* : CodeFile */;
6356 var1
= self
->attrs
[COLOR_abstract_compiler__CodeWriter___64dfile
].val
; /* @file on <self:CodeWriter> */
6358 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @file", "src/abstract_compiler.nit", 510);
6365 /* method abstract_compiler#CodeWriter#file for (self: Object): CodeFile */
6366 val
* VIRTUAL_abstract_compiler__CodeWriter__file(val
* self
) {
6367 val
* var
/* : CodeFile */;
6368 val
* var1
/* : CodeFile */;
6369 var1
= abstract_compiler__CodeWriter__file(self
);
6374 /* method abstract_compiler#CodeWriter#file= for (self: CodeWriter, CodeFile) */
6375 void abstract_compiler__CodeWriter__file_61d(val
* self
, val
* p0
) {
6376 self
->attrs
[COLOR_abstract_compiler__CodeWriter___64dfile
].val
= p0
; /* @file on <self:CodeWriter> */
6379 /* method abstract_compiler#CodeWriter#file= for (self: Object, CodeFile) */
6380 void VIRTUAL_abstract_compiler__CodeWriter__file_61d(val
* self
, val
* p0
) {
6381 abstract_compiler__CodeWriter__file_61d(self
, p0
);
6384 /* method abstract_compiler#CodeWriter#lines for (self: CodeWriter): List[String] */
6385 val
* abstract_compiler__CodeWriter__lines(val
* self
) {
6386 val
* var
/* : List[String] */;
6387 val
* var1
/* : List[String] */;
6388 var1
= self
->attrs
[COLOR_abstract_compiler__CodeWriter___64dlines
].val
; /* @lines on <self:CodeWriter> */
6390 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @lines", "src/abstract_compiler.nit", 511);
6397 /* method abstract_compiler#CodeWriter#lines for (self: Object): List[String] */
6398 val
* VIRTUAL_abstract_compiler__CodeWriter__lines(val
* self
) {
6399 val
* var
/* : List[String] */;
6400 val
* var1
/* : List[String] */;
6401 var1
= abstract_compiler__CodeWriter__lines(self
);
6406 /* method abstract_compiler#CodeWriter#lines= for (self: CodeWriter, List[String]) */
6407 void abstract_compiler__CodeWriter__lines_61d(val
* self
, val
* p0
) {
6408 self
->attrs
[COLOR_abstract_compiler__CodeWriter___64dlines
].val
= p0
; /* @lines on <self:CodeWriter> */
6411 /* method abstract_compiler#CodeWriter#lines= for (self: Object, List[String]) */
6412 void VIRTUAL_abstract_compiler__CodeWriter__lines_61d(val
* self
, val
* p0
) {
6413 abstract_compiler__CodeWriter__lines_61d(self
, p0
);
6416 /* method abstract_compiler#CodeWriter#decl_lines for (self: CodeWriter): List[String] */
6417 val
* abstract_compiler__CodeWriter__decl_lines(val
* self
) {
6418 val
* var
/* : List[String] */;
6419 val
* var1
/* : List[String] */;
6420 var1
= self
->attrs
[COLOR_abstract_compiler__CodeWriter___64ddecl_lines
].val
; /* @decl_lines on <self:CodeWriter> */
6422 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @decl_lines", "src/abstract_compiler.nit", 512);
6429 /* method abstract_compiler#CodeWriter#decl_lines for (self: Object): List[String] */
6430 val
* VIRTUAL_abstract_compiler__CodeWriter__decl_lines(val
* self
) {
6431 val
* var
/* : List[String] */;
6432 val
* var1
/* : List[String] */;
6433 var1
= abstract_compiler__CodeWriter__decl_lines(self
);
6438 /* method abstract_compiler#CodeWriter#decl_lines= for (self: CodeWriter, List[String]) */
6439 void abstract_compiler__CodeWriter__decl_lines_61d(val
* self
, val
* p0
) {
6440 self
->attrs
[COLOR_abstract_compiler__CodeWriter___64ddecl_lines
].val
= p0
; /* @decl_lines on <self:CodeWriter> */
6443 /* method abstract_compiler#CodeWriter#decl_lines= for (self: Object, List[String]) */
6444 void VIRTUAL_abstract_compiler__CodeWriter__decl_lines_61d(val
* self
, val
* p0
) {
6445 abstract_compiler__CodeWriter__decl_lines_61d(self
, p0
);
6448 /* method abstract_compiler#CodeWriter#add for (self: CodeWriter, String) */
6449 void abstract_compiler__CodeWriter__add(val
* self
, val
* p0
) {
6450 val
* var_s
/* var s: String */;
6451 val
* var
/* : List[String] */;
6453 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__CodeWriter__lines
]))(self
) /* lines on <self:CodeWriter>*/;
6454 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var
, var_s
) /* add on <var:List[String]>*/;
6457 /* method abstract_compiler#CodeWriter#add for (self: Object, String) */
6458 void VIRTUAL_abstract_compiler__CodeWriter__add(val
* self
, val
* p0
) {
6459 abstract_compiler__CodeWriter__add(self
, p0
);
6462 /* method abstract_compiler#CodeWriter#add_decl for (self: CodeWriter, String) */
6463 void abstract_compiler__CodeWriter__add_decl(val
* self
, val
* p0
) {
6464 val
* var_s
/* var s: String */;
6465 val
* var
/* : List[String] */;
6467 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__CodeWriter__decl_lines
]))(self
) /* decl_lines on <self:CodeWriter>*/;
6468 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var
, var_s
) /* add on <var:List[String]>*/;
6471 /* method abstract_compiler#CodeWriter#add_decl for (self: Object, String) */
6472 void VIRTUAL_abstract_compiler__CodeWriter__add_decl(val
* self
, val
* p0
) {
6473 abstract_compiler__CodeWriter__add_decl(self
, p0
);
6476 /* method abstract_compiler#CodeWriter#init for (self: CodeWriter, CodeFile) */
6477 void abstract_compiler__CodeWriter__init(val
* self
, val
* p0
) {
6478 val
* var_file
/* var file: CodeFile */;
6479 val
* var
/* : Array[CodeWriter] */;
6481 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__CodeWriter__file_61d
]))(self
, var_file
) /* file= on <self:CodeWriter>*/;
6482 var
= ((val
* (*)(val
*))(var_file
->class->vft
[COLOR_abstract_compiler__CodeFile__writers
]))(var_file
) /* writers on <var_file:CodeFile>*/;
6483 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var
, self
) /* add on <var:Array[CodeWriter]>*/;
6486 /* method abstract_compiler#CodeWriter#init for (self: Object, CodeFile) */
6487 void VIRTUAL_abstract_compiler__CodeWriter__init(val
* self
, val
* p0
) {
6488 abstract_compiler__CodeWriter__init(self
, p0
);
6491 /* method abstract_compiler#AbstractCompilerVisitor#compiler for (self: AbstractCompilerVisitor): AbstractCompiler */
6492 val
* abstract_compiler__AbstractCompilerVisitor__compiler(val
* self
) {
6493 val
* var
/* : AbstractCompiler */;
6494 val
* var1
/* : AbstractCompiler */;
6495 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dcompiler
].val
; /* @compiler on <self:AbstractCompilerVisitor> */
6497 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @compiler", "src/abstract_compiler.nit", 533);
6504 /* method abstract_compiler#AbstractCompilerVisitor#compiler for (self: Object): AbstractCompiler */
6505 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__compiler(val
* self
) {
6506 val
* var
/* : AbstractCompiler */;
6507 val
* var1
/* : AbstractCompiler */;
6508 var1
= abstract_compiler__AbstractCompilerVisitor__compiler(self
);
6513 /* method abstract_compiler#AbstractCompilerVisitor#compiler= for (self: AbstractCompilerVisitor, AbstractCompiler) */
6514 void abstract_compiler__AbstractCompilerVisitor__compiler_61d(val
* self
, val
* p0
) {
6515 short int var
/* : Bool */;
6518 const struct type
* type_struct
;
6519 /* Covariant cast for argument 0 (compiler) <p0:AbstractCompiler> isa COMPILER */
6520 /* <p0:AbstractCompiler> isa COMPILER */
6521 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractCompilerVisitor_VTCOMPILER
];
6522 cltype
= type_struct
->color
;
6523 idtype
= type_struct
->id
;
6524 if(cltype
>= p0
->type
->table_size
) {
6527 var
= p0
->type
->type_table
[cltype
] == idtype
;
6530 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 533);
6533 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dcompiler
].val
= p0
; /* @compiler on <self:AbstractCompilerVisitor> */
6536 /* method abstract_compiler#AbstractCompilerVisitor#compiler= for (self: Object, AbstractCompiler) */
6537 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__compiler_61d(val
* self
, val
* p0
) {
6538 abstract_compiler__AbstractCompilerVisitor__compiler_61d(self
, p0
);
6541 /* method abstract_compiler#AbstractCompilerVisitor#current_node for (self: AbstractCompilerVisitor): nullable ANode */
6542 val
* abstract_compiler__AbstractCompilerVisitor__current_node(val
* self
) {
6543 val
* var
/* : nullable ANode */;
6544 val
* var1
/* : nullable ANode */;
6545 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dcurrent_node
].val
; /* @current_node on <self:AbstractCompilerVisitor> */
6550 /* method abstract_compiler#AbstractCompilerVisitor#current_node for (self: Object): nullable ANode */
6551 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__current_node(val
* self
) {
6552 val
* var
/* : nullable ANode */;
6553 val
* var1
/* : nullable ANode */;
6554 var1
= abstract_compiler__AbstractCompilerVisitor__current_node(self
);
6559 /* method abstract_compiler#AbstractCompilerVisitor#current_node= for (self: AbstractCompilerVisitor, nullable ANode) */
6560 void abstract_compiler__AbstractCompilerVisitor__current_node_61d(val
* self
, val
* p0
) {
6561 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dcurrent_node
].val
= p0
; /* @current_node on <self:AbstractCompilerVisitor> */
6564 /* method abstract_compiler#AbstractCompilerVisitor#current_node= for (self: Object, nullable ANode) */
6565 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__current_node_61d(val
* self
, val
* p0
) {
6566 abstract_compiler__AbstractCompilerVisitor__current_node_61d(self
, p0
);
6569 /* method abstract_compiler#AbstractCompilerVisitor#frame for (self: AbstractCompilerVisitor): nullable Frame */
6570 val
* abstract_compiler__AbstractCompilerVisitor__frame(val
* self
) {
6571 val
* var
/* : nullable Frame */;
6572 val
* var1
/* : nullable Frame */;
6573 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dframe
].val
; /* @frame on <self:AbstractCompilerVisitor> */
6578 /* method abstract_compiler#AbstractCompilerVisitor#frame for (self: Object): nullable Frame */
6579 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__frame(val
* self
) {
6580 val
* var
/* : nullable Frame */;
6581 val
* var1
/* : nullable Frame */;
6582 var1
= abstract_compiler__AbstractCompilerVisitor__frame(self
);
6587 /* method abstract_compiler#AbstractCompilerVisitor#frame= for (self: AbstractCompilerVisitor, nullable Frame) */
6588 void abstract_compiler__AbstractCompilerVisitor__frame_61d(val
* self
, val
* p0
) {
6589 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dframe
].val
= p0
; /* @frame on <self:AbstractCompilerVisitor> */
6592 /* method abstract_compiler#AbstractCompilerVisitor#frame= for (self: Object, nullable Frame) */
6593 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__frame_61d(val
* self
, val
* p0
) {
6594 abstract_compiler__AbstractCompilerVisitor__frame_61d(self
, p0
);
6597 /* method abstract_compiler#AbstractCompilerVisitor#object_type for (self: AbstractCompilerVisitor): MClassType */
6598 val
* abstract_compiler__AbstractCompilerVisitor__object_type(val
* self
) {
6599 val
* var
/* : MClassType */;
6600 val
* var1
/* : AbstractCompiler */;
6601 val
* var2
/* : MModule */;
6602 val
* var3
/* : MClassType */;
6603 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
6604 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var1
) /* mainmodule on <var1:AbstractCompiler>*/;
6605 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_model__MModule__object_type
]))(var2
) /* object_type on <var2:MModule>*/;
6611 /* method abstract_compiler#AbstractCompilerVisitor#object_type for (self: Object): MClassType */
6612 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__object_type(val
* self
) {
6613 val
* var
/* : MClassType */;
6614 val
* var1
/* : MClassType */;
6615 var1
= abstract_compiler__AbstractCompilerVisitor__object_type(self
);
6620 /* method abstract_compiler#AbstractCompilerVisitor#bool_type for (self: AbstractCompilerVisitor): MClassType */
6621 val
* abstract_compiler__AbstractCompilerVisitor__bool_type(val
* self
) {
6622 val
* var
/* : MClassType */;
6623 val
* var1
/* : AbstractCompiler */;
6624 val
* var2
/* : MModule */;
6625 val
* var3
/* : MClassType */;
6626 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
6627 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var1
) /* mainmodule on <var1:AbstractCompiler>*/;
6628 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_model__MModule__bool_type
]))(var2
) /* bool_type on <var2:MModule>*/;
6634 /* method abstract_compiler#AbstractCompilerVisitor#bool_type for (self: Object): MClassType */
6635 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__bool_type(val
* self
) {
6636 val
* var
/* : MClassType */;
6637 val
* var1
/* : MClassType */;
6638 var1
= abstract_compiler__AbstractCompilerVisitor__bool_type(self
);
6643 /* method abstract_compiler#AbstractCompilerVisitor#writer for (self: AbstractCompilerVisitor): CodeWriter */
6644 val
* abstract_compiler__AbstractCompilerVisitor__writer(val
* self
) {
6645 val
* var
/* : CodeWriter */;
6646 val
* var1
/* : CodeWriter */;
6647 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dwriter
].val
; /* @writer on <self:AbstractCompilerVisitor> */
6649 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @writer", "src/abstract_compiler.nit", 548);
6656 /* method abstract_compiler#AbstractCompilerVisitor#writer for (self: Object): CodeWriter */
6657 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__writer(val
* self
) {
6658 val
* var
/* : CodeWriter */;
6659 val
* var1
/* : CodeWriter */;
6660 var1
= abstract_compiler__AbstractCompilerVisitor__writer(self
);
6665 /* method abstract_compiler#AbstractCompilerVisitor#writer= for (self: AbstractCompilerVisitor, CodeWriter) */
6666 void abstract_compiler__AbstractCompilerVisitor__writer_61d(val
* self
, val
* p0
) {
6667 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dwriter
].val
= p0
; /* @writer on <self:AbstractCompilerVisitor> */
6670 /* method abstract_compiler#AbstractCompilerVisitor#writer= for (self: Object, CodeWriter) */
6671 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__writer_61d(val
* self
, val
* p0
) {
6672 abstract_compiler__AbstractCompilerVisitor__writer_61d(self
, p0
);
6675 /* method abstract_compiler#AbstractCompilerVisitor#init for (self: AbstractCompilerVisitor, AbstractCompiler) */
6676 void abstract_compiler__AbstractCompilerVisitor__init(val
* self
, val
* p0
) {
6677 short int var
/* : Bool */;
6680 const struct type
* type_struct
;
6681 val
* var_compiler
/* var compiler: AbstractCompiler */;
6682 val
* var1
/* : CodeWriter */;
6683 val
* var2
/* : List[CodeFile] */;
6684 val
* var3
/* : nullable Object */;
6685 /* Covariant cast for argument 0 (compiler) <p0:AbstractCompiler> isa COMPILER */
6686 /* <p0:AbstractCompiler> isa COMPILER */
6687 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractCompilerVisitor_VTCOMPILER
];
6688 cltype
= type_struct
->color
;
6689 idtype
= type_struct
->id
;
6690 if(cltype
>= p0
->type
->table_size
) {
6693 var
= p0
->type
->type_table
[cltype
] == idtype
;
6696 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 550);
6700 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler_61d
]))(self
, var_compiler
) /* compiler= on <self:AbstractCompilerVisitor>*/;
6701 var1
= NEW_abstract_compiler__CodeWriter(&type_abstract_compiler__CodeWriter
);
6702 var2
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__files
]))(var_compiler
) /* files on <var_compiler:AbstractCompiler>*/;
6703 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__SequenceRead__last
]))(var2
) /* last on <var2:List[CodeFile]>*/;
6704 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_compiler__CodeWriter__init
]))(var1
, var3
) /* init on <var1:CodeWriter>*/;
6705 CHECK_NEW_abstract_compiler__CodeWriter(var1
);
6706 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__writer_61d
]))(self
, var1
) /* writer= on <self:AbstractCompilerVisitor>*/;
6709 /* method abstract_compiler#AbstractCompilerVisitor#init for (self: Object, AbstractCompiler) */
6710 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__init(val
* self
, val
* p0
) {
6711 abstract_compiler__AbstractCompilerVisitor__init(self
, p0
);
6714 /* method abstract_compiler#AbstractCompilerVisitor#get_class for (self: AbstractCompilerVisitor, String): MClass */
6715 val
* abstract_compiler__AbstractCompilerVisitor__get_class(val
* self
, val
* p0
) {
6716 val
* var
/* : MClass */;
6717 val
* var_name
/* var name: String */;
6718 val
* var1
/* : AbstractCompiler */;
6719 val
* var2
/* : MModule */;
6720 val
* var3
/* : MClass */;
6722 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
6723 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var1
) /* mainmodule on <var1:AbstractCompiler>*/;
6724 var3
= ((val
* (*)(val
*, val
*))(var2
->class->vft
[COLOR_model__MModule__get_primitive_class
]))(var2
, var_name
) /* get_primitive_class on <var2:MModule>*/;
6730 /* method abstract_compiler#AbstractCompilerVisitor#get_class for (self: Object, String): MClass */
6731 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__get_class(val
* self
, val
* p0
) {
6732 val
* var
/* : MClass */;
6733 val
* var1
/* : MClass */;
6734 var1
= abstract_compiler__AbstractCompilerVisitor__get_class(self
, p0
);
6739 /* method abstract_compiler#AbstractCompilerVisitor#get_property for (self: AbstractCompilerVisitor, String, MType): MMethod */
6740 val
* abstract_compiler__AbstractCompilerVisitor__get_property(val
* self
, val
* p0
, val
* p1
) {
6741 val
* var
/* : MMethod */;
6742 val
* var_name
/* var name: String */;
6743 val
* var_recv
/* var recv: MType */;
6744 short int var1
/* : Bool */;
6747 val
* var2
/* : AbstractCompiler */;
6748 val
* var3
/* : ModelBuilder */;
6749 val
* var4
/* : nullable ANode */;
6750 val
* var5
/* : MClass */;
6751 val
* var6
/* : AbstractCompiler */;
6752 val
* var7
/* : MModule */;
6753 val
* var8
/* : MMethod */;
6756 /* <var_recv:MType> isa MClassType */
6757 cltype
= type_model__MClassType
.color
;
6758 idtype
= type_model__MClassType
.id
;
6759 if(cltype
>= var_recv
->type
->table_size
) {
6762 var1
= var_recv
->type
->type_table
[cltype
] == idtype
;
6765 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/abstract_compiler.nit", 562);
6768 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
6769 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var2
) /* modelbuilder on <var2:AbstractCompiler>*/;
6770 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node
]))(self
) /* current_node on <self:AbstractCompilerVisitor>*/;
6772 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 563);
6775 var5
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_model__MClassType__mclass
]))(var_recv
) /* mclass on <var_recv:MType(MClassType)>*/;
6776 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
6777 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var6
) /* mainmodule on <var6:AbstractCompiler>*/;
6778 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>*/;
6784 /* method abstract_compiler#AbstractCompilerVisitor#get_property for (self: Object, String, MType): MMethod */
6785 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__get_property(val
* self
, val
* p0
, val
* p1
) {
6786 val
* var
/* : MMethod */;
6787 val
* var1
/* : MMethod */;
6788 var1
= abstract_compiler__AbstractCompilerVisitor__get_property(self
, p0
, p1
);
6793 /* method abstract_compiler#AbstractCompilerVisitor#compile_callsite for (self: AbstractCompilerVisitor, CallSite, Array[RuntimeVariable]): nullable RuntimeVariable */
6794 val
* abstract_compiler__AbstractCompilerVisitor__compile_callsite(val
* self
, val
* p0
, val
* p1
) {
6795 val
* var
/* : nullable RuntimeVariable */;
6796 val
* var_callsite
/* var callsite: CallSite */;
6797 val
* var_args
/* var args: Array[RuntimeVariable] */;
6798 val
* var1
/* : MMethod */;
6799 val
* var2
/* : nullable RuntimeVariable */;
6802 var1
= ((val
* (*)(val
*))(var_callsite
->class->vft
[COLOR_typing__CallSite__mproperty
]))(var_callsite
) /* mproperty on <var_callsite:CallSite>*/;
6803 var2
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(self
, var1
, var_args
) /* send on <self:AbstractCompilerVisitor>*/;
6809 /* method abstract_compiler#AbstractCompilerVisitor#compile_callsite for (self: Object, CallSite, Array[RuntimeVariable]): nullable RuntimeVariable */
6810 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__compile_callsite(val
* self
, val
* p0
, val
* p1
) {
6811 val
* var
/* : nullable RuntimeVariable */;
6812 val
* var1
/* : nullable RuntimeVariable */;
6813 var1
= abstract_compiler__AbstractCompilerVisitor__compile_callsite(self
, p0
, p1
);
6818 /* method abstract_compiler#AbstractCompilerVisitor#calloc_array for (self: AbstractCompilerVisitor, MType, Array[RuntimeVariable]) */
6819 void abstract_compiler__AbstractCompilerVisitor__calloc_array(val
* self
, val
* p0
, val
* p1
) {
6820 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/abstract_compiler.nit", 571);
6824 /* method abstract_compiler#AbstractCompilerVisitor#calloc_array for (self: Object, MType, Array[RuntimeVariable]) */
6825 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__calloc_array(val
* self
, val
* p0
, val
* p1
) {
6826 abstract_compiler__AbstractCompilerVisitor__calloc_array(self
, p0
, p1
);
6829 /* method abstract_compiler#AbstractCompilerVisitor#native_array_def for (self: AbstractCompilerVisitor, String, nullable MType, Array[RuntimeVariable]) */
6830 void abstract_compiler__AbstractCompilerVisitor__native_array_def(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6831 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/abstract_compiler.nit", 573);
6835 /* method abstract_compiler#AbstractCompilerVisitor#native_array_def for (self: Object, String, nullable MType, Array[RuntimeVariable]) */
6836 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__native_array_def(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6837 abstract_compiler__AbstractCompilerVisitor__native_array_def(self
, p0
, p1
, p2
);
6840 /* method abstract_compiler#AbstractCompilerVisitor#varargize for (self: AbstractCompilerVisitor, MPropDef, MSignature, Array[RuntimeVariable]) */
6841 void abstract_compiler__AbstractCompilerVisitor__varargize(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
6842 val
* var_mpropdef
/* var mpropdef: MPropDef */;
6843 val
* var_msignature
/* var msignature: MSignature */;
6844 val
* var_args
/* var args: Array[RuntimeVariable] */;
6845 val
* var
/* : nullable Object */;
6846 val
* var_recv
/* var recv: RuntimeVariable */;
6847 long var1
/* : Int */;
6848 long var_vararg_rank
/* var vararg_rank: Int */;
6849 long var2
/* : Int */;
6850 short int var3
/* : Bool */;
6851 short int var5
/* : Bool */;
6854 short int var6
/* : Bool */;
6855 long var7
/* : Int */;
6856 long var8
/* : Int */;
6857 long var9
/* : Int */;
6858 long var10
/* : Int */;
6859 long var12
/* : Int */;
6860 short int var13
/* : Bool */;
6861 short int var15
/* : Bool */;
6864 short int var18
/* : Bool */;
6865 val
* var_rawargs
/* var rawargs: Array[RuntimeVariable] */;
6866 val
* var19
/* : Array[RuntimeVariable] */;
6867 val
* var20
/* : nullable Object */;
6868 val
* var21
/* : Range[Int] */;
6869 long var22
/* : Int */;
6870 val
* var23
/* : Discrete */;
6871 val
* var24
/* : Discrete */;
6872 val
* var25
/* : Iterator[nullable Object] */;
6873 short int var26
/* : Bool */;
6874 val
* var27
/* : nullable Object */;
6875 long var_i
/* var i: Int */;
6876 long var28
/* : Int */;
6877 long var29
/* : Int */;
6878 long var30
/* : Int */;
6879 long var32
/* : Int */;
6880 val
* var33
/* : nullable Object */;
6881 long var34
/* : Int */;
6882 long var35
/* : Int */;
6883 long var37
/* : Int */;
6884 long var38
/* : Int */;
6885 long var39
/* : Int */;
6886 long var41
/* : Int */;
6887 long var42
/* : Int */;
6888 long var43
/* : Int */;
6889 long var45
/* : Int */;
6890 long var_vararg_lastrank
/* var vararg_lastrank: Int */;
6891 val
* var46
/* : Array[RuntimeVariable] */;
6892 val
* var_vararg
/* var vararg: Array[RuntimeVariable] */;
6893 val
* var47
/* : Range[Int] */;
6894 val
* var48
/* : Discrete */;
6895 val
* var49
/* : Discrete */;
6896 val
* var50
/* : Iterator[nullable Object] */;
6897 short int var51
/* : Bool */;
6898 val
* var52
/* : nullable Object */;
6899 long var_i53
/* var i: Int */;
6900 long var54
/* : Int */;
6901 long var55
/* : Int */;
6902 long var56
/* : Int */;
6903 long var58
/* : Int */;
6904 val
* var59
/* : nullable Object */;
6905 val
* var61
/* : Array[MParameter] */;
6906 val
* var62
/* : nullable Object */;
6907 val
* var63
/* : MType */;
6908 val
* var_elttype
/* var elttype: MType */;
6909 val
* var64
/* : RuntimeVariable */;
6910 val
* var65
/* : Range[Int] */;
6911 long var66
/* : Int */;
6912 long var67
/* : Int */;
6913 long var69
/* : Int */;
6914 long var70
/* : Int */;
6915 long var71
/* : Int */;
6916 long var72
/* : Int */;
6917 long var74
/* : Int */;
6918 val
* var75
/* : Discrete */;
6919 val
* var76
/* : Discrete */;
6920 val
* var77
/* : Iterator[nullable Object] */;
6921 short int var78
/* : Bool */;
6922 val
* var79
/* : nullable Object */;
6923 long var_i80
/* var i: Int */;
6924 long var81
/* : Int */;
6925 long var82
/* : Int */;
6926 long var83
/* : Int */;
6927 long var85
/* : Int */;
6928 val
* var86
/* : nullable Object */;
6930 var_msignature
= p1
;
6932 var
= ((val
* (*)(val
*))(var_args
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_args
) /* first on <var_args:Array[RuntimeVariable]>*/;
6934 var1
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__vararg_rank
]))(var_msignature
) /* vararg_rank on <var_msignature:MSignature>*/;
6935 var_vararg_rank
= var1
;
6937 { /* Inline kernel#Int#>= (var_vararg_rank,var2) */
6938 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
6939 /* <var2:Int> isa OTHER */
6940 var5
= 1; /* easy <var2:Int> isa OTHER*/
6942 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
6945 var6
= var_vararg_rank
>= var2
;
6951 var7
= ((long (*)(val
*))(var_args
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_args
) /* length on <var_args:Array[RuntimeVariable]>*/;
6952 var8
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:MSignature>*/;
6954 { /* Inline kernel#Int#+ (var8,var9) */
6955 var12
= var8
+ var9
;
6958 RET_LABEL11
:(void)0;
6960 { /* Inline kernel#Int#>= (var7,var10) */
6961 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
6962 /* <var10:Int> isa OTHER */
6963 var15
= 1; /* easy <var10:Int> isa OTHER*/
6965 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 258);
6968 var18
= var7
>= var10
;
6971 RET_LABEL14
:(void)0;
6974 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/abstract_compiler.nit", 583);
6977 var_rawargs
= var_args
;
6978 var19
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
6979 ((void (*)(val
*))(var19
->class->vft
[COLOR_array__Array__init
]))(var19
) /* init on <var19:Array[RuntimeVariable]>*/;
6980 CHECK_NEW_array__Array(var19
);
6982 var20
= ((val
* (*)(val
*))(var_rawargs
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_rawargs
) /* first on <var_rawargs:Array[RuntimeVariable]>*/;
6983 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var20
) /* add on <var_args:Array[RuntimeVariable]>*/;
6984 var21
= NEW_range__Range(&type_range__Rangekernel__Int
);
6986 var23
= BOX_kernel__Int(var22
); /* autobox from Int to Discrete */
6987 var24
= BOX_kernel__Int(var_vararg_rank
); /* autobox from Int to Discrete */
6988 ((void (*)(val
*, val
*, val
*))(var21
->class->vft
[COLOR_range__Range__without_last
]))(var21
, var23
, var24
) /* without_last on <var21:Range[Int]>*/;
6989 CHECK_NEW_range__Range(var21
);
6990 var25
= ((val
* (*)(val
*))(var21
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var21
) /* iterator on <var21:Range[Int]>*/;
6992 var26
= ((short int (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var25
) /* is_ok on <var25:Iterator[nullable Object]>*/;
6994 var27
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var25
) /* item on <var25:Iterator[nullable Object]>*/;
6995 var28
= ((struct instance_kernel__Int
*)var27
)->value
; /* autounbox from nullable Object to Int */;
6998 { /* Inline kernel#Int#+ (var_i,var29) */
6999 var32
= var_i
+ var29
;
7002 RET_LABEL31
:(void)0;
7004 var33
= ((val
* (*)(val
*, long))(var_rawargs
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_rawargs
, var30
) /* [] on <var_rawargs:Array[RuntimeVariable]>*/;
7005 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var33
) /* add on <var_args:Array[RuntimeVariable]>*/;
7006 CONTINUE_label
: (void)0;
7007 ((void (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var25
) /* next on <var25:Iterator[nullable Object]>*/;
7009 BREAK_label
: (void)0;
7010 var34
= ((long (*)(val
*))(var_rawargs
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_rawargs
) /* length on <var_rawargs:Array[RuntimeVariable]>*/;
7011 { /* Inline kernel#Int#+ (var_vararg_rank,var34) */
7012 var37
= var_vararg_rank
+ var34
;
7015 RET_LABEL36
:(void)0;
7018 { /* Inline kernel#Int#- (var35,var38) */
7019 var41
= var35
- var38
;
7022 RET_LABEL40
:(void)0;
7024 var42
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:MSignature>*/;
7025 { /* Inline kernel#Int#- (var39,var42) */
7026 var45
= var39
- var42
;
7029 RET_LABEL44
:(void)0;
7031 var_vararg_lastrank
= var43
;
7032 var46
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
7033 ((void (*)(val
*))(var46
->class->vft
[COLOR_array__Array__init
]))(var46
) /* init on <var46:Array[RuntimeVariable]>*/;
7034 CHECK_NEW_array__Array(var46
);
7036 var47
= NEW_range__Range(&type_range__Rangekernel__Int
);
7037 var48
= BOX_kernel__Int(var_vararg_rank
); /* autobox from Int to Discrete */
7038 var49
= BOX_kernel__Int(var_vararg_lastrank
); /* autobox from Int to Discrete */
7039 ((void (*)(val
*, val
*, val
*))(var47
->class->vft
[COLOR_range__Range__init
]))(var47
, var48
, var49
) /* init on <var47:Range[Int]>*/;
7040 CHECK_NEW_range__Range(var47
);
7041 var50
= ((val
* (*)(val
*))(var47
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var47
) /* iterator on <var47:Range[Int]>*/;
7043 var51
= ((short int (*)(val
*))(var50
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var50
) /* is_ok on <var50:Iterator[nullable Object]>*/;
7045 var52
= ((val
* (*)(val
*))(var50
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var50
) /* item on <var50:Iterator[nullable Object]>*/;
7046 var54
= ((struct instance_kernel__Int
*)var52
)->value
; /* autounbox from nullable Object to Int */;
7049 { /* Inline kernel#Int#+ (var_i53,var55) */
7050 var58
= var_i53
+ var55
;
7053 RET_LABEL57
:(void)0;
7055 var59
= ((val
* (*)(val
*, long))(var_rawargs
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_rawargs
, var56
) /* [] on <var_rawargs:Array[RuntimeVariable]>*/;
7056 ((void (*)(val
*, val
*))(var_vararg
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_vararg
, var59
) /* add on <var_vararg:Array[RuntimeVariable]>*/;
7057 CONTINUE_label60
: (void)0;
7058 ((void (*)(val
*))(var50
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var50
) /* next on <var50:Iterator[nullable Object]>*/;
7060 BREAK_label60
: (void)0;
7061 var61
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_msignature
) /* mparameters on <var_msignature:MSignature>*/;
7062 var62
= ((val
* (*)(val
*, long))(var61
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var61
, var_vararg_rank
) /* [] on <var61:Array[MParameter]>*/;
7063 var63
= ((val
* (*)(val
*))(var62
->class->vft
[COLOR_model__MParameter__mtype
]))(var62
) /* mtype on <var62:nullable Object(MParameter)>*/;
7064 var_elttype
= var63
;
7065 var64
= ((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>*/;
7066 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var64
) /* add on <var_args:Array[RuntimeVariable]>*/;
7067 var65
= NEW_range__Range(&type_range__Rangekernel__Int
);
7069 { /* Inline kernel#Int#+ (var_vararg_lastrank,var66) */
7070 var69
= var_vararg_lastrank
+ var66
;
7073 RET_LABEL68
:(void)0;
7075 var70
= ((long (*)(val
*))(var_rawargs
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_rawargs
) /* length on <var_rawargs:Array[RuntimeVariable]>*/;
7077 { /* Inline kernel#Int#- (var70,var71) */
7078 var74
= var70
- var71
;
7081 RET_LABEL73
:(void)0;
7083 var75
= BOX_kernel__Int(var67
); /* autobox from Int to Discrete */
7084 var76
= BOX_kernel__Int(var72
); /* autobox from Int to Discrete */
7085 ((void (*)(val
*, val
*, val
*))(var65
->class->vft
[COLOR_range__Range__without_last
]))(var65
, var75
, var76
) /* without_last on <var65:Range[Int]>*/;
7086 CHECK_NEW_range__Range(var65
);
7087 var77
= ((val
* (*)(val
*))(var65
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var65
) /* iterator on <var65:Range[Int]>*/;
7089 var78
= ((short int (*)(val
*))(var77
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var77
) /* is_ok on <var77:Iterator[nullable Object]>*/;
7091 var79
= ((val
* (*)(val
*))(var77
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var77
) /* item on <var77:Iterator[nullable Object]>*/;
7092 var81
= ((struct instance_kernel__Int
*)var79
)->value
; /* autounbox from nullable Object to Int */;
7095 { /* Inline kernel#Int#+ (var_i80,var82) */
7096 var85
= var_i80
+ var82
;
7099 RET_LABEL84
:(void)0;
7101 var86
= ((val
* (*)(val
*, long))(var_rawargs
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_rawargs
, var83
) /* [] on <var_rawargs:Array[RuntimeVariable]>*/;
7102 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var86
) /* add on <var_args:Array[RuntimeVariable]>*/;
7103 CONTINUE_label87
: (void)0;
7104 ((void (*)(val
*))(var77
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var77
) /* next on <var77:Iterator[nullable Object]>*/;
7106 BREAK_label87
: (void)0;
7107 ((void (*)(val
*))(var_rawargs
->class->vft
[COLOR_abstract_collection__RemovableCollection__clear
]))(var_rawargs
) /* clear on <var_rawargs:Array[RuntimeVariable]>*/;
7108 ((void (*)(val
*, val
*))(var_rawargs
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(var_rawargs
, var_args
) /* add_all on <var_rawargs:Array[RuntimeVariable]>*/;
7113 /* method abstract_compiler#AbstractCompilerVisitor#varargize for (self: Object, MPropDef, MSignature, Array[RuntimeVariable]) */
7114 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__varargize(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7115 abstract_compiler__AbstractCompilerVisitor__varargize(self
, p0
, p1
, p2
);
7118 /* method abstract_compiler#AbstractCompilerVisitor#anchor for (self: AbstractCompilerVisitor, MType): MType */
7119 val
* abstract_compiler__AbstractCompilerVisitor__anchor(val
* self
, val
* p0
) {
7120 val
* var
/* : MType */;
7121 val
* var_mtype
/* var mtype: MType */;
7122 short int var1
/* : Bool */;
7123 short int var2
/* : Bool */;
7124 val
* var3
/* : AbstractCompiler */;
7125 val
* var4
/* : MModule */;
7126 val
* var5
/* : nullable Frame */;
7127 val
* var6
/* : MClassType */;
7128 val
* var7
/* : MType */;
7130 var1
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
7137 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
7138 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var3
) /* mainmodule on <var3:AbstractCompiler>*/;
7139 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:AbstractCompilerVisitor>*/;
7141 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 616);
7144 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_compiler__Frame__receiver
]))(var5
) /* receiver on <var5:nullable Frame>*/;
7146 var7
= ((val
* (*)(val
*, val
*, val
*))(var_mtype
->class->vft
[COLOR_model__MType__anchor_to
]))(var_mtype
, var4
, var6
) /* anchor_to on <var_mtype:MType>*/;
7152 /* method abstract_compiler#AbstractCompilerVisitor#anchor for (self: Object, MType): MType */
7153 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__anchor(val
* self
, val
* p0
) {
7154 val
* var
/* : MType */;
7155 val
* var1
/* : MType */;
7156 var1
= abstract_compiler__AbstractCompilerVisitor__anchor(self
, p0
);
7161 /* method abstract_compiler#AbstractCompilerVisitor#resolve_for for (self: AbstractCompilerVisitor, MType, RuntimeVariable): MType */
7162 val
* abstract_compiler__AbstractCompilerVisitor__resolve_for(val
* self
, val
* p0
, val
* p1
) {
7163 val
* var
/* : MType */;
7164 val
* var_mtype
/* var mtype: MType */;
7165 val
* var_recv
/* var recv: RuntimeVariable */;
7166 short int var1
/* : Bool */;
7167 short int var2
/* : Bool */;
7168 val
* var3
/* : MType */;
7169 val
* var4
/* : nullable Frame */;
7170 val
* var5
/* : MClassType */;
7171 val
* var6
/* : AbstractCompiler */;
7172 val
* var7
/* : MModule */;
7173 short int var8
/* : Bool */;
7174 val
* var9
/* : MType */;
7177 var1
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
7184 var3
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_recv
) /* mcasttype on <var_recv:RuntimeVariable>*/;
7185 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:AbstractCompilerVisitor>*/;
7187 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 622);
7190 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_compiler__Frame__receiver
]))(var4
) /* receiver on <var4:nullable Frame>*/;
7192 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
7193 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var6
) /* mainmodule on <var6:AbstractCompiler>*/;
7195 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>*/;
7201 /* method abstract_compiler#AbstractCompilerVisitor#resolve_for for (self: Object, MType, RuntimeVariable): MType */
7202 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__resolve_for(val
* self
, val
* p0
, val
* p1
) {
7203 val
* var
/* : MType */;
7204 val
* var1
/* : MType */;
7205 var1
= abstract_compiler__AbstractCompilerVisitor__resolve_for(self
, p0
, p1
);
7210 /* method abstract_compiler#AbstractCompilerVisitor#autoadapt for (self: AbstractCompilerVisitor, RuntimeVariable, MType): RuntimeVariable */
7211 val
* abstract_compiler__AbstractCompilerVisitor__autoadapt(val
* self
, val
* p0
, val
* p1
) {
7212 val
* var
/* : RuntimeVariable */;
7213 val
* var_value
/* var value: RuntimeVariable */;
7214 val
* var_mtype
/* var mtype: MType */;
7215 val
* var1
/* : MType */;
7216 val
* var2
/* : MType */;
7217 val
* var_valmtype
/* var valmtype: MType */;
7218 val
* var3
/* : AbstractCompiler */;
7219 val
* var4
/* : MModule */;
7220 val
* var5
/* : null */;
7221 short int var6
/* : Bool */;
7222 short int var7
/* : Bool */;
7223 short int var8
/* : Bool */;
7226 short int var_
/* var : Bool */;
7227 val
* var9
/* : MType */;
7228 val
* var10
/* : AbstractCompiler */;
7229 val
* var11
/* : MModule */;
7230 val
* var12
/* : null */;
7231 short int var13
/* : Bool */;
7232 val
* var14
/* : RuntimeVariable */;
7233 val
* var15
/* : String */;
7234 val
* var16
/* : MType */;
7235 val
* var_res
/* var res: RuntimeVariable */;
7236 val
* var17
/* : RuntimeVariable */;
7237 val
* var18
/* : String */;
7238 val
* var_res19
/* var res: RuntimeVariable */;
7241 var1
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__anchor
]))(self
, var_mtype
) /* anchor on <self:AbstractCompilerVisitor>*/;
7243 var2
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_value
) /* mcasttype on <var_value:RuntimeVariable>*/;
7244 var_valmtype
= var2
;
7245 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
7246 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var3
) /* mainmodule on <var3:AbstractCompiler>*/;
7248 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>*/;
7254 /* <var_valmtype:MType> isa MNullableType */
7255 cltype
= type_model__MNullableType
.color
;
7256 idtype
= type_model__MNullableType
.id
;
7257 if(cltype
>= var_valmtype
->type
->table_size
) {
7260 var8
= var_valmtype
->type
->type_table
[cltype
] == idtype
;
7264 var9
= ((val
* (*)(val
*))(var_valmtype
->class->vft
[COLOR_model__MNullableType__mtype
]))(var_valmtype
) /* mtype on <var_valmtype:MType(MNullableType)>*/;
7265 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
7266 var11
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var10
) /* mainmodule on <var10:AbstractCompiler>*/;
7268 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>*/;
7274 var14
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
7275 var15
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__name
]))(var_value
) /* name on <var_value:RuntimeVariable>*/;
7276 var16
= ((val
* (*)(val
*))(var_valmtype
->class->vft
[COLOR_model__MNullableType__mtype
]))(var_valmtype
) /* mtype on <var_valmtype:MType(MNullableType)>*/;
7277 ((void (*)(val
*, val
*, val
*, val
*))(var14
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var14
, var15
, var_valmtype
, var16
) /* init on <var14:RuntimeVariable>*/;
7278 CHECK_NEW_abstract_compiler__RuntimeVariable(var14
);
7283 var17
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
7284 var18
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__name
]))(var_value
) /* name on <var_value:RuntimeVariable>*/;
7285 ((void (*)(val
*, val
*, val
*, val
*))(var17
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var17
, var18
, var_valmtype
, var_mtype
) /* init on <var17:RuntimeVariable>*/;
7286 CHECK_NEW_abstract_compiler__RuntimeVariable(var17
);
7294 /* method abstract_compiler#AbstractCompilerVisitor#autoadapt for (self: Object, RuntimeVariable, MType): RuntimeVariable */
7295 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__autoadapt(val
* self
, val
* p0
, val
* p1
) {
7296 val
* var
/* : RuntimeVariable */;
7297 val
* var1
/* : RuntimeVariable */;
7298 var1
= abstract_compiler__AbstractCompilerVisitor__autoadapt(self
, p0
, p1
);
7303 /* method abstract_compiler#AbstractCompilerVisitor#supercall for (self: AbstractCompilerVisitor, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
7304 val
* abstract_compiler__AbstractCompilerVisitor__supercall(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7305 val
* var
/* : nullable RuntimeVariable */;
7306 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/abstract_compiler.nit", 646);
7311 /* method abstract_compiler#AbstractCompilerVisitor#supercall for (self: Object, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
7312 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__supercall(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7313 val
* var
/* : nullable RuntimeVariable */;
7314 val
* var1
/* : nullable RuntimeVariable */;
7315 var1
= abstract_compiler__AbstractCompilerVisitor__supercall(self
, p0
, p1
, p2
);
7320 /* method abstract_compiler#AbstractCompilerVisitor#adapt_signature for (self: AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
7321 void abstract_compiler__AbstractCompilerVisitor__adapt_signature(val
* self
, val
* p0
, val
* p1
) {
7322 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/abstract_compiler.nit", 649);
7326 /* method abstract_compiler#AbstractCompilerVisitor#adapt_signature for (self: Object, MMethodDef, Array[RuntimeVariable]) */
7327 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__adapt_signature(val
* self
, val
* p0
, val
* p1
) {
7328 abstract_compiler__AbstractCompilerVisitor__adapt_signature(self
, p0
, p1
);
7331 /* method abstract_compiler#AbstractCompilerVisitor#autobox for (self: AbstractCompilerVisitor, RuntimeVariable, MType): RuntimeVariable */
7332 val
* abstract_compiler__AbstractCompilerVisitor__autobox(val
* self
, val
* p0
, val
* p1
) {
7333 val
* var
/* : RuntimeVariable */;
7334 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/abstract_compiler.nit", 651);
7339 /* method abstract_compiler#AbstractCompilerVisitor#autobox for (self: Object, RuntimeVariable, MType): RuntimeVariable */
7340 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__autobox(val
* self
, val
* p0
, val
* p1
) {
7341 val
* var
/* : RuntimeVariable */;
7342 val
* var1
/* : RuntimeVariable */;
7343 var1
= abstract_compiler__AbstractCompilerVisitor__autobox(self
, p0
, p1
);
7348 /* method abstract_compiler#AbstractCompilerVisitor#type_test for (self: AbstractCompilerVisitor, RuntimeVariable, MType, String): RuntimeVariable */
7349 val
* abstract_compiler__AbstractCompilerVisitor__type_test(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7350 val
* var
/* : RuntimeVariable */;
7351 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/abstract_compiler.nit", 655);
7356 /* method abstract_compiler#AbstractCompilerVisitor#type_test for (self: Object, RuntimeVariable, MType, String): RuntimeVariable */
7357 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__type_test(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7358 val
* var
/* : RuntimeVariable */;
7359 val
* var1
/* : RuntimeVariable */;
7360 var1
= abstract_compiler__AbstractCompilerVisitor__type_test(self
, p0
, p1
, p2
);
7365 /* method abstract_compiler#AbstractCompilerVisitor#is_same_type_test for (self: AbstractCompilerVisitor, RuntimeVariable, RuntimeVariable): RuntimeVariable */
7366 val
* abstract_compiler__AbstractCompilerVisitor__is_same_type_test(val
* self
, val
* p0
, val
* p1
) {
7367 val
* var
/* : RuntimeVariable */;
7368 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/abstract_compiler.nit", 658);
7373 /* method abstract_compiler#AbstractCompilerVisitor#is_same_type_test for (self: Object, RuntimeVariable, RuntimeVariable): RuntimeVariable */
7374 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__is_same_type_test(val
* self
, val
* p0
, val
* p1
) {
7375 val
* var
/* : RuntimeVariable */;
7376 val
* var1
/* : RuntimeVariable */;
7377 var1
= abstract_compiler__AbstractCompilerVisitor__is_same_type_test(self
, p0
, p1
);
7382 /* method abstract_compiler#AbstractCompilerVisitor#equal_test for (self: AbstractCompilerVisitor, RuntimeVariable, RuntimeVariable): RuntimeVariable */
7383 val
* abstract_compiler__AbstractCompilerVisitor__equal_test(val
* self
, val
* p0
, val
* p1
) {
7384 val
* var
/* : RuntimeVariable */;
7385 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/abstract_compiler.nit", 661);
7390 /* method abstract_compiler#AbstractCompilerVisitor#equal_test for (self: Object, RuntimeVariable, RuntimeVariable): RuntimeVariable */
7391 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__equal_test(val
* self
, val
* p0
, val
* p1
) {
7392 val
* var
/* : RuntimeVariable */;
7393 val
* var1
/* : RuntimeVariable */;
7394 var1
= abstract_compiler__AbstractCompilerVisitor__equal_test(self
, p0
, p1
);
7399 /* method abstract_compiler#AbstractCompilerVisitor#call for (self: AbstractCompilerVisitor, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
7400 val
* abstract_compiler__AbstractCompilerVisitor__call(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7401 val
* var
/* : nullable RuntimeVariable */;
7402 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/abstract_compiler.nit", 666);
7407 /* method abstract_compiler#AbstractCompilerVisitor#call for (self: Object, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
7408 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__call(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7409 val
* var
/* : nullable RuntimeVariable */;
7410 val
* var1
/* : nullable RuntimeVariable */;
7411 var1
= abstract_compiler__AbstractCompilerVisitor__call(self
, p0
, p1
, p2
);
7416 /* method abstract_compiler#AbstractCompilerVisitor#send for (self: AbstractCompilerVisitor, MMethod, Array[RuntimeVariable]): nullable RuntimeVariable */
7417 val
* abstract_compiler__AbstractCompilerVisitor__send(val
* self
, val
* p0
, val
* p1
) {
7418 val
* var
/* : nullable RuntimeVariable */;
7419 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/abstract_compiler.nit", 669);
7424 /* method abstract_compiler#AbstractCompilerVisitor#send for (self: Object, MMethod, Array[RuntimeVariable]): nullable RuntimeVariable */
7425 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__send(val
* self
, val
* p0
, val
* p1
) {
7426 val
* var
/* : nullable RuntimeVariable */;
7427 val
* var1
/* : nullable RuntimeVariable */;
7428 var1
= abstract_compiler__AbstractCompilerVisitor__send(self
, p0
, p1
);
7433 /* method abstract_compiler#AbstractCompilerVisitor#monomorphic_send for (self: AbstractCompilerVisitor, MMethod, MType, Array[RuntimeVariable]): nullable RuntimeVariable */
7434 val
* abstract_compiler__AbstractCompilerVisitor__monomorphic_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7435 val
* var
/* : nullable RuntimeVariable */;
7436 val
* var_m
/* var m: MMethod */;
7437 val
* var_t
/* var t: MType */;
7438 val
* var_args
/* var args: Array[RuntimeVariable] */;
7439 short int var1
/* : Bool */;
7442 val
* var2
/* : AbstractCompiler */;
7443 val
* var3
/* : MModule */;
7444 val
* var4
/* : MPropDef */;
7445 val
* var_propdef
/* var propdef: MMethodDef */;
7446 val
* var5
/* : nullable RuntimeVariable */;
7450 /* <var_t:MType> isa MClassType */
7451 cltype
= type_model__MClassType
.color
;
7452 idtype
= type_model__MClassType
.id
;
7453 if(cltype
>= var_t
->type
->table_size
) {
7456 var1
= var_t
->type
->type_table
[cltype
] == idtype
;
7459 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/abstract_compiler.nit", 675);
7462 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
7463 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var2
) /* mainmodule on <var2:AbstractCompiler>*/;
7464 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>*/;
7466 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>*/;
7472 /* method abstract_compiler#AbstractCompilerVisitor#monomorphic_send for (self: Object, MMethod, MType, Array[RuntimeVariable]): nullable RuntimeVariable */
7473 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__monomorphic_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7474 val
* var
/* : nullable RuntimeVariable */;
7475 val
* var1
/* : nullable RuntimeVariable */;
7476 var1
= abstract_compiler__AbstractCompilerVisitor__monomorphic_send(self
, p0
, p1
, p2
);
7481 /* method abstract_compiler#AbstractCompilerVisitor#isset_attribute for (self: AbstractCompilerVisitor, MAttribute, RuntimeVariable): RuntimeVariable */
7482 val
* abstract_compiler__AbstractCompilerVisitor__isset_attribute(val
* self
, val
* p0
, val
* p1
) {
7483 val
* var
/* : RuntimeVariable */;
7484 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/abstract_compiler.nit", 682);
7489 /* method abstract_compiler#AbstractCompilerVisitor#isset_attribute for (self: Object, MAttribute, RuntimeVariable): RuntimeVariable */
7490 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__isset_attribute(val
* self
, val
* p0
, val
* p1
) {
7491 val
* var
/* : RuntimeVariable */;
7492 val
* var1
/* : RuntimeVariable */;
7493 var1
= abstract_compiler__AbstractCompilerVisitor__isset_attribute(self
, p0
, p1
);
7498 /* method abstract_compiler#AbstractCompilerVisitor#read_attribute for (self: AbstractCompilerVisitor, MAttribute, RuntimeVariable): RuntimeVariable */
7499 val
* abstract_compiler__AbstractCompilerVisitor__read_attribute(val
* self
, val
* p0
, val
* p1
) {
7500 val
* var
/* : RuntimeVariable */;
7501 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/abstract_compiler.nit", 685);
7506 /* method abstract_compiler#AbstractCompilerVisitor#read_attribute for (self: Object, MAttribute, RuntimeVariable): RuntimeVariable */
7507 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__read_attribute(val
* self
, val
* p0
, val
* p1
) {
7508 val
* var
/* : RuntimeVariable */;
7509 val
* var1
/* : RuntimeVariable */;
7510 var1
= abstract_compiler__AbstractCompilerVisitor__read_attribute(self
, p0
, p1
);
7515 /* method abstract_compiler#AbstractCompilerVisitor#write_attribute for (self: AbstractCompilerVisitor, MAttribute, RuntimeVariable, RuntimeVariable) */
7516 void abstract_compiler__AbstractCompilerVisitor__write_attribute(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7517 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/abstract_compiler.nit", 688);
7521 /* method abstract_compiler#AbstractCompilerVisitor#write_attribute for (self: Object, MAttribute, RuntimeVariable, RuntimeVariable) */
7522 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__write_attribute(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7523 abstract_compiler__AbstractCompilerVisitor__write_attribute(self
, p0
, p1
, p2
);
7526 /* method abstract_compiler#AbstractCompilerVisitor#check_recv_notnull for (self: AbstractCompilerVisitor, RuntimeVariable) */
7527 void abstract_compiler__AbstractCompilerVisitor__check_recv_notnull(val
* self
, val
* p0
) {
7528 val
* var_recv
/* var recv: RuntimeVariable */;
7529 val
* var
/* : AbstractCompiler */;
7530 val
* var1
/* : ModelBuilder */;
7531 val
* var2
/* : ToolContext */;
7532 val
* var3
/* : OptionBool */;
7533 val
* var4
/* : nullable Object */;
7534 short int var5
/* : Bool */;
7535 short int var6
/* : Bool */;
7536 val
* var7
/* : MType */;
7537 short int var8
/* : Bool */;
7540 short int var_
/* var : Bool */;
7541 val
* var9
/* : MType */;
7542 short int var10
/* : Bool */;
7545 short int var_maybenull
/* var maybenull: Bool */;
7546 static val
* varonce
;
7547 val
* var13
/* : String */;
7548 char* var14
/* : NativeString */;
7549 long var15
/* : Int */;
7550 val
* var16
/* : String */;
7551 static val
* varonce17
;
7552 val
* var18
/* : String */;
7553 char* var19
/* : NativeString */;
7554 long var20
/* : Int */;
7555 val
* var21
/* : String */;
7556 val
* var22
/* : Array[Object] */;
7557 long var23
/* : Int */;
7558 val
* var24
/* : NativeArray[Object] */;
7559 val
* var25
/* : String */;
7560 static val
* varonce26
;
7561 val
* var27
/* : String */;
7562 char* var28
/* : NativeString */;
7563 long var29
/* : Int */;
7564 val
* var30
/* : String */;
7565 static val
* varonce31
;
7566 val
* var32
/* : String */;
7567 char* var33
/* : NativeString */;
7568 long var34
/* : Int */;
7569 val
* var35
/* : String */;
7571 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
7572 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var
) /* modelbuilder on <var:AbstractCompiler>*/;
7573 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var1
) /* toolcontext on <var1:ModelBuilder>*/;
7574 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_other
]))(var2
) /* opt_no_check_other on <var2:ToolContext>*/;
7575 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_opts__Option__value
]))(var3
) /* value on <var3:OptionBool>*/;
7576 var5
= ((struct instance_kernel__Bool
*)var4
)->value
; /* autounbox from nullable Object to Bool */;
7581 var7
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_recv
) /* mcasttype on <var_recv:RuntimeVariable>*/;
7582 /* <var7:MType> isa MNullableType */
7583 cltype
= type_model__MNullableType
.color
;
7584 idtype
= type_model__MNullableType
.id
;
7585 if(cltype
>= var7
->type
->table_size
) {
7588 var8
= var7
->type
->type_table
[cltype
] == idtype
;
7594 var9
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_recv
) /* mcasttype on <var_recv:RuntimeVariable>*/;
7595 /* <var9:MType> isa MNullType */
7596 cltype11
= type_model__MNullType
.color
;
7597 idtype12
= type_model__MNullType
.id
;
7598 if(cltype11
>= var9
->type
->table_size
) {
7601 var10
= var9
->type
->type_table
[cltype11
] == idtype12
;
7605 var_maybenull
= var6
;
7612 var16
= string__NativeString__to_s_with_length(var14
, var15
);
7619 var19
= " == NULL) {";
7621 var21
= string__NativeString__to_s_with_length(var19
, var20
);
7625 var22
= NEW_array__Array(&type_array__Arraykernel__Object
);
7626 { /* var22 = array_instance Array[Object] */
7628 var24
= NEW_array__NativeArray(var23
, &type_array__NativeArraykernel__Object
);
7629 ((struct instance_array__NativeArray
*)var24
)->values
[0] = (val
*) var13
;
7630 ((struct instance_array__NativeArray
*)var24
)->values
[1] = (val
*) var_recv
;
7631 ((struct instance_array__NativeArray
*)var24
)->values
[2] = (val
*) var18
;
7632 ((void (*)(val
*, val
*, long))(var22
->class->vft
[COLOR_array__Array__with_native
]))(var22
, var24
, var23
) /* with_native on <var22:Array[Object]>*/;
7633 CHECK_NEW_array__Array(var22
);
7635 var25
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_string__Object__to_s
]))(var22
) /* to_s on <var22:Array[Object]>*/;
7636 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var25
) /* add on <self:AbstractCompilerVisitor>*/;
7640 var28
= "Reciever is null";
7642 var30
= string__NativeString__to_s_with_length(var28
, var29
);
7646 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort
]))(self
, var27
) /* add_abort on <self:AbstractCompilerVisitor>*/;
7652 var35
= string__NativeString__to_s_with_length(var33
, var34
);
7656 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var32
) /* add on <self:AbstractCompilerVisitor>*/;
7661 /* method abstract_compiler#AbstractCompilerVisitor#check_recv_notnull for (self: Object, RuntimeVariable) */
7662 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__check_recv_notnull(val
* self
, val
* p0
) {
7663 abstract_compiler__AbstractCompilerVisitor__check_recv_notnull(self
, p0
);
7666 /* method abstract_compiler#AbstractCompilerVisitor#check_init_instance for (self: AbstractCompilerVisitor, RuntimeVariable, MClassType) */
7667 void abstract_compiler__AbstractCompilerVisitor__check_init_instance(val
* self
, val
* p0
, val
* p1
) {
7668 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/abstract_compiler.nit", 706);
7672 /* method abstract_compiler#AbstractCompilerVisitor#check_init_instance for (self: Object, RuntimeVariable, MClassType) */
7673 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__check_init_instance(val
* self
, val
* p0
, val
* p1
) {
7674 abstract_compiler__AbstractCompilerVisitor__check_init_instance(self
, p0
, p1
);
7677 /* method abstract_compiler#AbstractCompilerVisitor#names for (self: AbstractCompilerVisitor): HashSet[String] */
7678 val
* abstract_compiler__AbstractCompilerVisitor__names(val
* self
) {
7679 val
* var
/* : HashSet[String] */;
7680 val
* var1
/* : HashSet[String] */;
7681 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dnames
].val
; /* @names on <self:AbstractCompilerVisitor> */
7683 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @names", "src/abstract_compiler.nit", 711);
7690 /* method abstract_compiler#AbstractCompilerVisitor#names for (self: Object): HashSet[String] */
7691 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__names(val
* self
) {
7692 val
* var
/* : HashSet[String] */;
7693 val
* var1
/* : HashSet[String] */;
7694 var1
= abstract_compiler__AbstractCompilerVisitor__names(self
);
7699 /* method abstract_compiler#AbstractCompilerVisitor#names= for (self: AbstractCompilerVisitor, HashSet[String]) */
7700 void abstract_compiler__AbstractCompilerVisitor__names_61d(val
* self
, val
* p0
) {
7701 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dnames
].val
= p0
; /* @names on <self:AbstractCompilerVisitor> */
7704 /* method abstract_compiler#AbstractCompilerVisitor#names= for (self: Object, HashSet[String]) */
7705 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__names_61d(val
* self
, val
* p0
) {
7706 abstract_compiler__AbstractCompilerVisitor__names_61d(self
, p0
);
7709 /* method abstract_compiler#AbstractCompilerVisitor#last for (self: AbstractCompilerVisitor): Int */
7710 long abstract_compiler__AbstractCompilerVisitor__last(val
* self
) {
7711 long var
/* : Int */;
7712 long var1
/* : Int */;
7713 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dlast
].l
; /* @last on <self:AbstractCompilerVisitor> */
7718 /* method abstract_compiler#AbstractCompilerVisitor#last for (self: Object): Int */
7719 long VIRTUAL_abstract_compiler__AbstractCompilerVisitor__last(val
* self
) {
7720 long var
/* : Int */;
7721 long var1
/* : Int */;
7722 var1
= abstract_compiler__AbstractCompilerVisitor__last(self
);
7727 /* method abstract_compiler#AbstractCompilerVisitor#last= for (self: AbstractCompilerVisitor, Int) */
7728 void abstract_compiler__AbstractCompilerVisitor__last_61d(val
* self
, long p0
) {
7729 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dlast
].l
= p0
; /* @last on <self:AbstractCompilerVisitor> */
7732 /* method abstract_compiler#AbstractCompilerVisitor#last= for (self: Object, Int) */
7733 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__last_61d(val
* self
, long p0
) {
7734 abstract_compiler__AbstractCompilerVisitor__last_61d(self
, p0
);
7737 /* method abstract_compiler#AbstractCompilerVisitor#get_name for (self: AbstractCompilerVisitor, String): String */
7738 val
* abstract_compiler__AbstractCompilerVisitor__get_name(val
* self
, val
* p0
) {
7739 val
* var
/* : String */;
7740 val
* var_s
/* var s: String */;
7741 val
* var1
/* : HashSet[String] */;
7742 short int var2
/* : Bool */;
7743 short int var3
/* : Bool */;
7744 val
* var4
/* : HashSet[String] */;
7745 long var5
/* : Int */;
7746 long var6
/* : Int */;
7747 long var7
/* : Int */;
7748 long var9
/* : Int */;
7749 long var_i
/* var i: Int */;
7750 val
* var10
/* : String */;
7751 val
* var11
/* : String */;
7752 val
* var_s2
/* var s2: String */;
7753 val
* var12
/* : HashSet[String] */;
7754 short int var13
/* : Bool */;
7755 short int var14
/* : Bool */;
7756 val
* var15
/* : HashSet[String] */;
7757 long var16
/* : Int */;
7758 long var17
/* : Int */;
7759 long var19
/* : Int */;
7761 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__names
]))(self
) /* names on <self:AbstractCompilerVisitor>*/;
7762 var2
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var1
, var_s
) /* has on <var1:HashSet[String]>*/;
7765 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__names
]))(self
) /* names on <self:AbstractCompilerVisitor>*/;
7766 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var4
, var_s
) /* add on <var4:HashSet[String]>*/;
7771 var5
= ((long (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__last
]))(self
) /* last on <self:AbstractCompilerVisitor>*/;
7773 { /* Inline kernel#Int#+ (var5,var6) */
7781 var10
= string__Int__to_s(var_i
);
7782 var11
= ((val
* (*)(val
*, val
*))(var_s
->class->vft
[COLOR_string__String___43d
]))(var_s
, var10
) /* + on <var_s:String>*/;
7784 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__names
]))(self
) /* names on <self:AbstractCompilerVisitor>*/;
7785 var13
= ((short int (*)(val
*, val
*))(var12
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var12
, var_s2
) /* has on <var12:HashSet[String]>*/;
7788 ((void (*)(val
*, long))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__last_61d
]))(self
, var_i
) /* last= on <self:AbstractCompilerVisitor>*/;
7789 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__names
]))(self
) /* names on <self:AbstractCompilerVisitor>*/;
7790 ((void (*)(val
*, val
*))(var15
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var15
, var_s2
) /* add on <var15:HashSet[String]>*/;
7796 { /* Inline kernel#Int#+ (var_i,var16) */
7797 var19
= var_i
+ var16
;
7800 RET_LABEL18
:(void)0;
7803 CONTINUE_label
: (void)0;
7805 BREAK_label
: (void)0;
7809 /* method abstract_compiler#AbstractCompilerVisitor#get_name for (self: Object, String): String */
7810 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__get_name(val
* self
, val
* p0
) {
7811 val
* var
/* : String */;
7812 val
* var1
/* : String */;
7813 var1
= abstract_compiler__AbstractCompilerVisitor__get_name(self
, p0
);
7818 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_name for (self: AbstractCompilerVisitor, nullable EscapeMark): String */
7819 val
* abstract_compiler__AbstractCompilerVisitor__escapemark_name(val
* self
, val
* p0
) {
7820 val
* var
/* : String */;
7821 val
* var_e
/* var e: nullable EscapeMark */;
7822 val
* var1
/* : null */;
7823 short int var2
/* : Bool */;
7824 val
* var3
/* : HashMap[EscapeMark, String] */;
7825 short int var4
/* : Bool */;
7826 val
* var5
/* : HashMap[EscapeMark, String] */;
7827 val
* var6
/* : nullable Object */;
7828 val
* var7
/* : nullable String */;
7829 val
* var_name
/* var name: nullable String */;
7830 val
* var8
/* : null */;
7831 short int var9
/* : Bool */;
7832 static val
* varonce
;
7833 val
* var10
/* : String */;
7834 char* var11
/* : NativeString */;
7835 long var12
/* : Int */;
7836 val
* var13
/* : String */;
7837 val
* var14
/* : String */;
7838 val
* var15
/* : HashMap[EscapeMark, String] */;
7841 if (var_e
== NULL
) {
7842 var2
= 0; /* is null */
7844 var2
= 1; /* arg is null and recv is not */
7847 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/abstract_compiler.nit", 736);
7850 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_names
]))(self
) /* escapemark_names on <self:AbstractCompilerVisitor>*/;
7851 var4
= ((short int (*)(val
*, val
*))(var3
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var3
, var_e
) /* has_key on <var3:HashMap[EscapeMark, String]>*/;
7853 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_names
]))(self
) /* escapemark_names on <self:AbstractCompilerVisitor>*/;
7854 var6
= ((val
* (*)(val
*, val
*))(var5
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var5
, var_e
) /* [] on <var5:HashMap[EscapeMark, String]>*/;
7859 var7
= ((val
* (*)(val
*))(var_e
->class->vft
[COLOR_scope__EscapeMark__name
]))(var_e
) /* name on <var_e:nullable EscapeMark(EscapeMark)>*/;
7862 if (var_name
== NULL
) {
7863 var9
= 1; /* is null */
7865 var9
= 0; /* arg is null but recv is not */
7873 var13
= string__NativeString__to_s_with_length(var11
, var12
);
7880 var14
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var_name
) /* get_name on <self:AbstractCompilerVisitor>*/;
7882 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__escapemark_names
]))(self
) /* escapemark_names on <self:AbstractCompilerVisitor>*/;
7883 ((void (*)(val
*, val
*, val
*))(var15
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var15
, var_e
, var_name
) /* []= on <var15:HashMap[EscapeMark, String]>*/;
7889 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_name for (self: Object, nullable EscapeMark): String */
7890 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__escapemark_name(val
* self
, val
* p0
) {
7891 val
* var
/* : String */;
7892 val
* var1
/* : String */;
7893 var1
= abstract_compiler__AbstractCompilerVisitor__escapemark_name(self
, p0
);
7898 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_names for (self: AbstractCompilerVisitor): HashMap[EscapeMark, String] */
7899 val
* abstract_compiler__AbstractCompilerVisitor__escapemark_names(val
* self
) {
7900 val
* var
/* : HashMap[EscapeMark, String] */;
7901 val
* var1
/* : HashMap[EscapeMark, String] */;
7902 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64descapemark_names
].val
; /* @escapemark_names on <self:AbstractCompilerVisitor> */
7904 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @escapemark_names", "src/abstract_compiler.nit", 745);
7911 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_names for (self: Object): HashMap[EscapeMark, String] */
7912 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__escapemark_names(val
* self
) {
7913 val
* var
/* : HashMap[EscapeMark, String] */;
7914 val
* var1
/* : HashMap[EscapeMark, String] */;
7915 var1
= abstract_compiler__AbstractCompilerVisitor__escapemark_names(self
);
7920 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_names= for (self: AbstractCompilerVisitor, HashMap[EscapeMark, String]) */
7921 void abstract_compiler__AbstractCompilerVisitor__escapemark_names_61d(val
* self
, val
* p0
) {
7922 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64descapemark_names
].val
= p0
; /* @escapemark_names on <self:AbstractCompilerVisitor> */
7925 /* method abstract_compiler#AbstractCompilerVisitor#escapemark_names= for (self: Object, HashMap[EscapeMark, String]) */
7926 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__escapemark_names_61d(val
* self
, val
* p0
) {
7927 abstract_compiler__AbstractCompilerVisitor__escapemark_names_61d(self
, p0
);
7930 /* method abstract_compiler#AbstractCompilerVisitor#class_name_string for (self: AbstractCompilerVisitor, RuntimeVariable): String */
7931 val
* abstract_compiler__AbstractCompilerVisitor__class_name_string(val
* self
, val
* p0
) {
7932 val
* var
/* : String */;
7933 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/abstract_compiler.nit", 747);
7938 /* method abstract_compiler#AbstractCompilerVisitor#class_name_string for (self: Object, RuntimeVariable): String */
7939 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__class_name_string(val
* self
, val
* p0
) {
7940 val
* var
/* : String */;
7941 val
* var1
/* : String */;
7942 var1
= abstract_compiler__AbstractCompilerVisitor__class_name_string(self
, p0
);
7947 /* method abstract_compiler#AbstractCompilerVisitor#variables for (self: AbstractCompilerVisitor): HashMap[Variable, RuntimeVariable] */
7948 val
* abstract_compiler__AbstractCompilerVisitor__variables(val
* self
) {
7949 val
* var
/* : HashMap[Variable, RuntimeVariable] */;
7950 val
* var1
/* : HashMap[Variable, RuntimeVariable] */;
7951 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dvariables
].val
; /* @variables on <self:AbstractCompilerVisitor> */
7953 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @variables", "src/abstract_compiler.nit", 753);
7960 /* method abstract_compiler#AbstractCompilerVisitor#variables for (self: Object): HashMap[Variable, RuntimeVariable] */
7961 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__variables(val
* self
) {
7962 val
* var
/* : HashMap[Variable, RuntimeVariable] */;
7963 val
* var1
/* : HashMap[Variable, RuntimeVariable] */;
7964 var1
= abstract_compiler__AbstractCompilerVisitor__variables(self
);
7969 /* method abstract_compiler#AbstractCompilerVisitor#variables= for (self: AbstractCompilerVisitor, HashMap[Variable, RuntimeVariable]) */
7970 void abstract_compiler__AbstractCompilerVisitor__variables_61d(val
* self
, val
* p0
) {
7971 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dvariables
].val
= p0
; /* @variables on <self:AbstractCompilerVisitor> */
7974 /* method abstract_compiler#AbstractCompilerVisitor#variables= for (self: Object, HashMap[Variable, RuntimeVariable]) */
7975 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__variables_61d(val
* self
, val
* p0
) {
7976 abstract_compiler__AbstractCompilerVisitor__variables_61d(self
, p0
);
7979 /* method abstract_compiler#AbstractCompilerVisitor#variable for (self: AbstractCompilerVisitor, Variable): RuntimeVariable */
7980 val
* abstract_compiler__AbstractCompilerVisitor__variable(val
* self
, val
* p0
) {
7981 val
* var
/* : RuntimeVariable */;
7982 val
* var_variable
/* var variable: Variable */;
7983 val
* var1
/* : HashMap[Variable, RuntimeVariable] */;
7984 short int var2
/* : Bool */;
7985 val
* var3
/* : HashMap[Variable, RuntimeVariable] */;
7986 val
* var4
/* : nullable Object */;
7987 static val
* varonce
;
7988 val
* var5
/* : String */;
7989 char* var6
/* : NativeString */;
7990 long var7
/* : Int */;
7991 val
* var8
/* : String */;
7992 val
* var9
/* : String */;
7993 val
* var10
/* : Array[Object] */;
7994 long var11
/* : Int */;
7995 val
* var12
/* : NativeArray[Object] */;
7996 val
* var13
/* : String */;
7997 val
* var14
/* : String */;
7998 val
* var_name
/* var name: String */;
7999 val
* var15
/* : nullable MType */;
8000 val
* var_mtype
/* var mtype: MType */;
8001 val
* var16
/* : MType */;
8002 val
* var17
/* : RuntimeVariable */;
8003 val
* var_res
/* var res: RuntimeVariable */;
8004 val
* var18
/* : String */;
8005 static val
* varonce19
;
8006 val
* var20
/* : String */;
8007 char* var21
/* : NativeString */;
8008 long var22
/* : Int */;
8009 val
* var23
/* : String */;
8010 static val
* varonce24
;
8011 val
* var25
/* : String */;
8012 char* var26
/* : NativeString */;
8013 long var27
/* : Int */;
8014 val
* var28
/* : String */;
8015 static val
* varonce29
;
8016 val
* var30
/* : String */;
8017 char* var31
/* : NativeString */;
8018 long var32
/* : Int */;
8019 val
* var33
/* : String */;
8020 static val
* varonce34
;
8021 val
* var35
/* : String */;
8022 char* var36
/* : NativeString */;
8023 long var37
/* : Int */;
8024 val
* var38
/* : String */;
8025 val
* var39
/* : Array[Object] */;
8026 long var40
/* : Int */;
8027 val
* var41
/* : NativeArray[Object] */;
8028 val
* var42
/* : String */;
8029 val
* var43
/* : HashMap[Variable, RuntimeVariable] */;
8031 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variables
]))(self
) /* variables on <self:AbstractCompilerVisitor>*/;
8032 var2
= ((short int (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var1
, var_variable
) /* has_key on <var1:HashMap[Variable, RuntimeVariable]>*/;
8034 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variables
]))(self
) /* variables on <self:AbstractCompilerVisitor>*/;
8035 var4
= ((val
* (*)(val
*, val
*))(var3
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var3
, var_variable
) /* [] on <var3:HashMap[Variable, RuntimeVariable]>*/;
8044 var8
= string__NativeString__to_s_with_length(var6
, var7
);
8048 var9
= ((val
* (*)(val
*))(var_variable
->class->vft
[COLOR_scope__Variable__name
]))(var_variable
) /* name on <var_variable:Variable>*/;
8049 var10
= NEW_array__Array(&type_array__Arraykernel__Object
);
8050 { /* var10 = array_instance Array[Object] */
8052 var12
= NEW_array__NativeArray(var11
, &type_array__NativeArraykernel__Object
);
8053 ((struct instance_array__NativeArray
*)var12
)->values
[0] = (val
*) var5
;
8054 ((struct instance_array__NativeArray
*)var12
)->values
[1] = (val
*) var9
;
8055 ((void (*)(val
*, val
*, long))(var10
->class->vft
[COLOR_array__Array__with_native
]))(var10
, var12
, var11
) /* with_native on <var10:Array[Object]>*/;
8056 CHECK_NEW_array__Array(var10
);
8058 var13
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_string__Object__to_s
]))(var10
) /* to_s on <var10:Array[Object]>*/;
8059 var14
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var13
) /* get_name on <self:AbstractCompilerVisitor>*/;
8061 var15
= ((val
* (*)(val
*))(var_variable
->class->vft
[COLOR_typing__Variable__declared_type
]))(var_variable
) /* declared_type on <var_variable:Variable>*/;
8062 if (var15
== NULL
) {
8063 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 762);
8067 var16
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__anchor
]))(self
, var_mtype
) /* anchor on <self:AbstractCompilerVisitor>*/;
8069 var17
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
8070 ((void (*)(val
*, val
*, val
*, val
*))(var17
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var17
, var_name
, var_mtype
, var_mtype
) /* init on <var17:RuntimeVariable>*/;
8071 CHECK_NEW_abstract_compiler__RuntimeVariable(var17
);
8073 var18
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
8079 var23
= string__NativeString__to_s_with_length(var21
, var22
);
8088 var28
= string__NativeString__to_s_with_length(var26
, var27
);
8097 var33
= string__NativeString__to_s_with_length(var31
, var32
);
8106 var38
= string__NativeString__to_s_with_length(var36
, var37
);
8110 var39
= NEW_array__Array(&type_array__Arraykernel__Object
);
8111 { /* var39 = array_instance Array[Object] */
8113 var41
= NEW_array__NativeArray(var40
, &type_array__NativeArraykernel__Object
);
8114 ((struct instance_array__NativeArray
*)var41
)->values
[0] = (val
*) var18
;
8115 ((struct instance_array__NativeArray
*)var41
)->values
[1] = (val
*) var20
;
8116 ((struct instance_array__NativeArray
*)var41
)->values
[2] = (val
*) var_name
;
8117 ((struct instance_array__NativeArray
*)var41
)->values
[3] = (val
*) var25
;
8118 ((struct instance_array__NativeArray
*)var41
)->values
[4] = (val
*) var_variable
;
8119 ((struct instance_array__NativeArray
*)var41
)->values
[5] = (val
*) var30
;
8120 ((struct instance_array__NativeArray
*)var41
)->values
[6] = (val
*) var_mtype
;
8121 ((struct instance_array__NativeArray
*)var41
)->values
[7] = (val
*) var35
;
8122 ((void (*)(val
*, val
*, long))(var39
->class->vft
[COLOR_array__Array__with_native
]))(var39
, var41
, var40
) /* with_native on <var39:Array[Object]>*/;
8123 CHECK_NEW_array__Array(var39
);
8125 var42
= ((val
* (*)(val
*))(var39
->class->vft
[COLOR_string__Object__to_s
]))(var39
) /* to_s on <var39:Array[Object]>*/;
8126 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var42
) /* add_decl on <self:AbstractCompilerVisitor>*/;
8127 var43
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__variables
]))(self
) /* variables on <self:AbstractCompilerVisitor>*/;
8128 ((void (*)(val
*, val
*, val
*))(var43
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var43
, var_variable
, var_res
) /* []= on <var43:HashMap[Variable, RuntimeVariable]>*/;
8135 /* method abstract_compiler#AbstractCompilerVisitor#variable for (self: Object, Variable): RuntimeVariable */
8136 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__variable(val
* self
, val
* p0
) {
8137 val
* var
/* : RuntimeVariable */;
8138 val
* var1
/* : RuntimeVariable */;
8139 var1
= abstract_compiler__AbstractCompilerVisitor__variable(self
, p0
);
8144 /* method abstract_compiler#AbstractCompilerVisitor#new_var for (self: AbstractCompilerVisitor, MType): RuntimeVariable */
8145 val
* abstract_compiler__AbstractCompilerVisitor__new_var(val
* self
, val
* p0
) {
8146 val
* var
/* : RuntimeVariable */;
8147 val
* var_mtype
/* var mtype: MType */;
8148 val
* var1
/* : MType */;
8149 static val
* varonce
;
8150 val
* var2
/* : String */;
8151 char* var3
/* : NativeString */;
8152 long var4
/* : Int */;
8153 val
* var5
/* : String */;
8154 val
* var6
/* : String */;
8155 val
* var_name
/* var name: String */;
8156 val
* var7
/* : RuntimeVariable */;
8157 val
* var_res
/* var res: RuntimeVariable */;
8158 val
* var8
/* : String */;
8159 static val
* varonce9
;
8160 val
* var10
/* : String */;
8161 char* var11
/* : NativeString */;
8162 long var12
/* : Int */;
8163 val
* var13
/* : String */;
8164 static val
* varonce14
;
8165 val
* var15
/* : String */;
8166 char* var16
/* : NativeString */;
8167 long var17
/* : Int */;
8168 val
* var18
/* : String */;
8169 static val
* varonce19
;
8170 val
* var20
/* : String */;
8171 char* var21
/* : NativeString */;
8172 long var22
/* : Int */;
8173 val
* var23
/* : String */;
8174 val
* var24
/* : Array[Object] */;
8175 long var25
/* : Int */;
8176 val
* var26
/* : NativeArray[Object] */;
8177 val
* var27
/* : String */;
8179 var1
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__anchor
]))(self
, var_mtype
) /* anchor on <self:AbstractCompilerVisitor>*/;
8186 var5
= string__NativeString__to_s_with_length(var3
, var4
);
8190 var6
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var2
) /* get_name on <self:AbstractCompilerVisitor>*/;
8192 var7
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
8193 ((void (*)(val
*, val
*, val
*, val
*))(var7
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var7
, var_name
, var_mtype
, var_mtype
) /* init on <var7:RuntimeVariable>*/;
8194 CHECK_NEW_abstract_compiler__RuntimeVariable(var7
);
8196 var8
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
8202 var13
= string__NativeString__to_s_with_length(var11
, var12
);
8211 var18
= string__NativeString__to_s_with_length(var16
, var17
);
8220 var23
= string__NativeString__to_s_with_length(var21
, var22
);
8224 var24
= NEW_array__Array(&type_array__Arraykernel__Object
);
8225 { /* var24 = array_instance Array[Object] */
8227 var26
= NEW_array__NativeArray(var25
, &type_array__NativeArraykernel__Object
);
8228 ((struct instance_array__NativeArray
*)var26
)->values
[0] = (val
*) var8
;
8229 ((struct instance_array__NativeArray
*)var26
)->values
[1] = (val
*) var10
;
8230 ((struct instance_array__NativeArray
*)var26
)->values
[2] = (val
*) var_name
;
8231 ((struct instance_array__NativeArray
*)var26
)->values
[3] = (val
*) var15
;
8232 ((struct instance_array__NativeArray
*)var26
)->values
[4] = (val
*) var_mtype
;
8233 ((struct instance_array__NativeArray
*)var26
)->values
[5] = (val
*) var20
;
8234 ((void (*)(val
*, val
*, long))(var24
->class->vft
[COLOR_array__Array__with_native
]))(var24
, var26
, var25
) /* with_native on <var24:Array[Object]>*/;
8235 CHECK_NEW_array__Array(var24
);
8237 var27
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_string__Object__to_s
]))(var24
) /* to_s on <var24:Array[Object]>*/;
8238 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var27
) /* add_decl on <self:AbstractCompilerVisitor>*/;
8244 /* method abstract_compiler#AbstractCompilerVisitor#new_var for (self: Object, MType): RuntimeVariable */
8245 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__new_var(val
* self
, val
* p0
) {
8246 val
* var
/* : RuntimeVariable */;
8247 val
* var1
/* : RuntimeVariable */;
8248 var1
= abstract_compiler__AbstractCompilerVisitor__new_var(self
, p0
);
8253 /* method abstract_compiler#AbstractCompilerVisitor#new_named_var for (self: AbstractCompilerVisitor, MType, String): RuntimeVariable */
8254 val
* abstract_compiler__AbstractCompilerVisitor__new_named_var(val
* self
, val
* p0
, val
* p1
) {
8255 val
* var
/* : RuntimeVariable */;
8256 val
* var_mtype
/* var mtype: MType */;
8257 val
* var_name
/* var name: String */;
8258 val
* var1
/* : MType */;
8259 val
* var2
/* : RuntimeVariable */;
8260 val
* var_res
/* var res: RuntimeVariable */;
8261 val
* var3
/* : String */;
8262 static val
* varonce
;
8263 val
* var4
/* : String */;
8264 char* var5
/* : NativeString */;
8265 long var6
/* : Int */;
8266 val
* var7
/* : String */;
8267 static val
* varonce8
;
8268 val
* var9
/* : String */;
8269 char* var10
/* : NativeString */;
8270 long var11
/* : Int */;
8271 val
* var12
/* : String */;
8272 static val
* varonce13
;
8273 val
* var14
/* : String */;
8274 char* var15
/* : NativeString */;
8275 long var16
/* : Int */;
8276 val
* var17
/* : String */;
8277 val
* var18
/* : Array[Object] */;
8278 long var19
/* : Int */;
8279 val
* var20
/* : NativeArray[Object] */;
8280 val
* var21
/* : String */;
8283 var1
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__anchor
]))(self
, var_mtype
) /* anchor on <self:AbstractCompilerVisitor>*/;
8285 var2
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
8286 ((void (*)(val
*, val
*, val
*, val
*))(var2
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var2
, var_name
, var_mtype
, var_mtype
) /* init on <var2:RuntimeVariable>*/;
8287 CHECK_NEW_abstract_compiler__RuntimeVariable(var2
);
8289 var3
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MType>*/;
8295 var7
= string__NativeString__to_s_with_length(var5
, var6
);
8304 var12
= string__NativeString__to_s_with_length(var10
, var11
);
8313 var17
= string__NativeString__to_s_with_length(var15
, var16
);
8317 var18
= NEW_array__Array(&type_array__Arraykernel__Object
);
8318 { /* var18 = array_instance Array[Object] */
8320 var20
= NEW_array__NativeArray(var19
, &type_array__NativeArraykernel__Object
);
8321 ((struct instance_array__NativeArray
*)var20
)->values
[0] = (val
*) var3
;
8322 ((struct instance_array__NativeArray
*)var20
)->values
[1] = (val
*) var4
;
8323 ((struct instance_array__NativeArray
*)var20
)->values
[2] = (val
*) var_name
;
8324 ((struct instance_array__NativeArray
*)var20
)->values
[3] = (val
*) var9
;
8325 ((struct instance_array__NativeArray
*)var20
)->values
[4] = (val
*) var_mtype
;
8326 ((struct instance_array__NativeArray
*)var20
)->values
[5] = (val
*) var14
;
8327 ((void (*)(val
*, val
*, long))(var18
->class->vft
[COLOR_array__Array__with_native
]))(var18
, var20
, var19
) /* with_native on <var18:Array[Object]>*/;
8328 CHECK_NEW_array__Array(var18
);
8330 var21
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_string__Object__to_s
]))(var18
) /* to_s on <var18:Array[Object]>*/;
8331 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var21
) /* add_decl on <self:AbstractCompilerVisitor>*/;
8337 /* method abstract_compiler#AbstractCompilerVisitor#new_named_var for (self: Object, MType, String): RuntimeVariable */
8338 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__new_named_var(val
* self
, val
* p0
, val
* p1
) {
8339 val
* var
/* : RuntimeVariable */;
8340 val
* var1
/* : RuntimeVariable */;
8341 var1
= abstract_compiler__AbstractCompilerVisitor__new_named_var(self
, p0
, p1
);
8346 /* method abstract_compiler#AbstractCompilerVisitor#assign for (self: AbstractCompilerVisitor, RuntimeVariable, RuntimeVariable) */
8347 void abstract_compiler__AbstractCompilerVisitor__assign(val
* self
, val
* p0
, val
* p1
) {
8348 val
* var_left
/* var left: RuntimeVariable */;
8349 val
* var_right
/* var right: RuntimeVariable */;
8350 val
* var
/* : MType */;
8351 val
* var1
/* : RuntimeVariable */;
8352 static val
* varonce
;
8353 val
* var2
/* : String */;
8354 char* var3
/* : NativeString */;
8355 long var4
/* : Int */;
8356 val
* var5
/* : String */;
8357 static val
* varonce6
;
8358 val
* var7
/* : String */;
8359 char* var8
/* : NativeString */;
8360 long var9
/* : Int */;
8361 val
* var10
/* : String */;
8362 val
* var11
/* : Array[Object] */;
8363 long var12
/* : Int */;
8364 val
* var13
/* : NativeArray[Object] */;
8365 val
* var14
/* : String */;
8368 var
= ((val
* (*)(val
*))(var_left
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mtype
]))(var_left
) /* mtype on <var_left:RuntimeVariable>*/;
8369 var1
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var_right
, var
) /* autobox on <self:AbstractCompilerVisitor>*/;
8376 var5
= string__NativeString__to_s_with_length(var3
, var4
);
8385 var10
= string__NativeString__to_s_with_length(var8
, var9
);
8389 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
8390 { /* var11 = array_instance Array[Object] */
8392 var13
= NEW_array__NativeArray(var12
, &type_array__NativeArraykernel__Object
);
8393 ((struct instance_array__NativeArray
*)var13
)->values
[0] = (val
*) var_left
;
8394 ((struct instance_array__NativeArray
*)var13
)->values
[1] = (val
*) var2
;
8395 ((struct instance_array__NativeArray
*)var13
)->values
[2] = (val
*) var_right
;
8396 ((struct instance_array__NativeArray
*)var13
)->values
[3] = (val
*) var7
;
8397 ((void (*)(val
*, val
*, long))(var11
->class->vft
[COLOR_array__Array__with_native
]))(var11
, var13
, var12
) /* with_native on <var11:Array[Object]>*/;
8398 CHECK_NEW_array__Array(var11
);
8400 var14
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_string__Object__to_s
]))(var11
) /* to_s on <var11:Array[Object]>*/;
8401 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var14
) /* add on <self:AbstractCompilerVisitor>*/;
8404 /* method abstract_compiler#AbstractCompilerVisitor#assign for (self: Object, RuntimeVariable, RuntimeVariable) */
8405 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__assign(val
* self
, val
* p0
, val
* p1
) {
8406 abstract_compiler__AbstractCompilerVisitor__assign(self
, p0
, p1
);
8409 /* method abstract_compiler#AbstractCompilerVisitor#init_instance for (self: AbstractCompilerVisitor, MClassType): RuntimeVariable */
8410 val
* abstract_compiler__AbstractCompilerVisitor__init_instance(val
* self
, val
* p0
) {
8411 val
* var
/* : RuntimeVariable */;
8412 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/abstract_compiler.nit", 800);
8417 /* method abstract_compiler#AbstractCompilerVisitor#init_instance for (self: Object, MClassType): RuntimeVariable */
8418 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__init_instance(val
* self
, val
* p0
) {
8419 val
* var
/* : RuntimeVariable */;
8420 val
* var1
/* : RuntimeVariable */;
8421 var1
= abstract_compiler__AbstractCompilerVisitor__init_instance(self
, p0
);
8426 /* method abstract_compiler#AbstractCompilerVisitor#int_instance for (self: AbstractCompilerVisitor, Int): RuntimeVariable */
8427 val
* abstract_compiler__AbstractCompilerVisitor__int_instance(val
* self
, long p0
) {
8428 val
* var
/* : RuntimeVariable */;
8429 long var_value
/* var value: Int */;
8430 static val
* varonce
;
8431 val
* var1
/* : String */;
8432 char* var2
/* : NativeString */;
8433 long var3
/* : Int */;
8434 val
* var4
/* : String */;
8435 val
* var5
/* : MClass */;
8436 val
* var6
/* : MClassType */;
8437 val
* var7
/* : RuntimeVariable */;
8438 val
* var_res
/* var res: RuntimeVariable */;
8439 static val
* varonce8
;
8440 val
* var9
/* : String */;
8441 char* var10
/* : NativeString */;
8442 long var11
/* : Int */;
8443 val
* var12
/* : String */;
8444 static val
* varonce13
;
8445 val
* var14
/* : String */;
8446 char* var15
/* : NativeString */;
8447 long var16
/* : Int */;
8448 val
* var17
/* : String */;
8449 val
* var18
/* : Array[Object] */;
8450 long var19
/* : Int */;
8451 val
* var20
/* : NativeArray[Object] */;
8452 val
* var21
/* : Object */;
8453 val
* var22
/* : String */;
8460 var4
= string__NativeString__to_s_with_length(var2
, var3
);
8464 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(self
, var1
) /* get_class on <self:AbstractCompilerVisitor>*/;
8465 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_model__MClass__mclass_type
]))(var5
) /* mclass_type on <var5:MClass>*/;
8466 var7
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var6
) /* new_var on <self:AbstractCompilerVisitor>*/;
8473 var12
= string__NativeString__to_s_with_length(var10
, var11
);
8482 var17
= string__NativeString__to_s_with_length(var15
, var16
);
8486 var18
= NEW_array__Array(&type_array__Arraykernel__Object
);
8487 { /* var18 = array_instance Array[Object] */
8489 var20
= NEW_array__NativeArray(var19
, &type_array__NativeArraykernel__Object
);
8490 ((struct instance_array__NativeArray
*)var20
)->values
[0] = (val
*) var_res
;
8491 ((struct instance_array__NativeArray
*)var20
)->values
[1] = (val
*) var9
;
8492 var21
= BOX_kernel__Int(var_value
); /* autobox from Int to Object */
8493 ((struct instance_array__NativeArray
*)var20
)->values
[2] = (val
*) var21
;
8494 ((struct instance_array__NativeArray
*)var20
)->values
[3] = (val
*) var14
;
8495 ((void (*)(val
*, val
*, long))(var18
->class->vft
[COLOR_array__Array__with_native
]))(var18
, var20
, var19
) /* with_native on <var18:Array[Object]>*/;
8496 CHECK_NEW_array__Array(var18
);
8498 var22
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_string__Object__to_s
]))(var18
) /* to_s on <var18:Array[Object]>*/;
8499 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var22
) /* add on <self:AbstractCompilerVisitor>*/;
8505 /* method abstract_compiler#AbstractCompilerVisitor#int_instance for (self: Object, Int): RuntimeVariable */
8506 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__int_instance(val
* self
, long p0
) {
8507 val
* var
/* : RuntimeVariable */;
8508 val
* var1
/* : RuntimeVariable */;
8509 var1
= abstract_compiler__AbstractCompilerVisitor__int_instance(self
, p0
);
8514 /* method abstract_compiler#AbstractCompilerVisitor#string_instance for (self: AbstractCompilerVisitor, String): RuntimeVariable */
8515 val
* abstract_compiler__AbstractCompilerVisitor__string_instance(val
* self
, val
* p0
) {
8516 val
* var
/* : RuntimeVariable */;
8517 val
* var_string
/* var string: String */;
8518 static val
* varonce
;
8519 val
* var1
/* : String */;
8520 char* var2
/* : NativeString */;
8521 long var3
/* : Int */;
8522 val
* var4
/* : String */;
8523 val
* var5
/* : MClass */;
8524 val
* var6
/* : MClassType */;
8525 val
* var_mtype
/* var mtype: MClassType */;
8526 static val
* varonce7
;
8527 val
* var8
/* : String */;
8528 char* var9
/* : NativeString */;
8529 long var10
/* : Int */;
8530 val
* var11
/* : String */;
8531 val
* var12
/* : String */;
8532 val
* var_name
/* var name: String */;
8533 static val
* varonce13
;
8534 val
* var14
/* : String */;
8535 char* var15
/* : NativeString */;
8536 long var16
/* : Int */;
8537 val
* var17
/* : String */;
8538 val
* var18
/* : String */;
8539 static val
* varonce19
;
8540 val
* var20
/* : String */;
8541 char* var21
/* : NativeString */;
8542 long var22
/* : Int */;
8543 val
* var23
/* : String */;
8544 static val
* varonce24
;
8545 val
* var25
/* : String */;
8546 char* var26
/* : NativeString */;
8547 long var27
/* : Int */;
8548 val
* var28
/* : String */;
8549 val
* var29
/* : Array[Object] */;
8550 long var30
/* : Int */;
8551 val
* var31
/* : NativeArray[Object] */;
8552 val
* var32
/* : String */;
8553 val
* var33
/* : RuntimeVariable */;
8554 val
* var_res
/* var res: RuntimeVariable */;
8555 static val
* varonce34
;
8556 val
* var35
/* : String */;
8557 char* var36
/* : NativeString */;
8558 long var37
/* : Int */;
8559 val
* var38
/* : String */;
8560 static val
* varonce39
;
8561 val
* var40
/* : String */;
8562 char* var41
/* : NativeString */;
8563 long var42
/* : Int */;
8564 val
* var43
/* : String */;
8565 val
* var44
/* : Array[Object] */;
8566 long var45
/* : Int */;
8567 val
* var46
/* : NativeArray[Object] */;
8568 val
* var47
/* : String */;
8569 static val
* varonce48
;
8570 val
* var49
/* : String */;
8571 char* var50
/* : NativeString */;
8572 long var51
/* : Int */;
8573 val
* var52
/* : String */;
8574 static val
* varonce53
;
8575 val
* var54
/* : String */;
8576 char* var55
/* : NativeString */;
8577 long var56
/* : Int */;
8578 val
* var57
/* : String */;
8579 val
* var58
/* : Array[Object] */;
8580 long var59
/* : Int */;
8581 val
* var60
/* : NativeArray[Object] */;
8582 val
* var61
/* : String */;
8583 static val
* varonce62
;
8584 val
* var63
/* : String */;
8585 char* var64
/* : NativeString */;
8586 long var65
/* : Int */;
8587 val
* var66
/* : String */;
8588 static val
* varonce67
;
8589 val
* var68
/* : String */;
8590 char* var69
/* : NativeString */;
8591 long var70
/* : Int */;
8592 val
* var71
/* : String */;
8593 val
* var72
/* : MClass */;
8594 val
* var73
/* : MClassType */;
8595 val
* var_native_mtype
/* var native_mtype: MClassType */;
8596 val
* var74
/* : RuntimeVariable */;
8597 val
* var_nat
/* var nat: RuntimeVariable */;
8598 static val
* varonce75
;
8599 val
* var76
/* : String */;
8600 char* var77
/* : NativeString */;
8601 long var78
/* : Int */;
8602 val
* var79
/* : String */;
8603 val
* var80
/* : String */;
8604 static val
* varonce81
;
8605 val
* var82
/* : String */;
8606 char* var83
/* : NativeString */;
8607 long var84
/* : Int */;
8608 val
* var85
/* : String */;
8609 val
* var86
/* : Array[Object] */;
8610 long var87
/* : Int */;
8611 val
* var88
/* : NativeArray[Object] */;
8612 val
* var89
/* : String */;
8613 long var90
/* : Int */;
8614 val
* var91
/* : RuntimeVariable */;
8615 val
* var_length
/* var length: RuntimeVariable */;
8616 static val
* varonce92
;
8617 val
* var93
/* : String */;
8618 char* var94
/* : NativeString */;
8619 long var95
/* : Int */;
8620 val
* var96
/* : String */;
8621 static val
* varonce97
;
8622 val
* var98
/* : String */;
8623 char* var99
/* : NativeString */;
8624 long var100
/* : Int */;
8625 val
* var101
/* : String */;
8626 val
* var102
/* : MMethod */;
8627 val
* var103
/* : Array[RuntimeVariable] */;
8628 long var104
/* : Int */;
8629 val
* var105
/* : NativeArray[RuntimeVariable] */;
8630 val
* var106
/* : nullable RuntimeVariable */;
8631 static val
* varonce107
;
8632 val
* var108
/* : String */;
8633 char* var109
/* : NativeString */;
8634 long var110
/* : Int */;
8635 val
* var111
/* : String */;
8636 val
* var112
/* : Array[Object] */;
8637 long var113
/* : Int */;
8638 val
* var114
/* : NativeArray[Object] */;
8639 val
* var115
/* : String */;
8640 static val
* varonce116
;
8641 val
* var117
/* : String */;
8642 char* var118
/* : NativeString */;
8643 long var119
/* : Int */;
8644 val
* var120
/* : String */;
8645 static val
* varonce121
;
8646 val
* var122
/* : String */;
8647 char* var123
/* : NativeString */;
8648 long var124
/* : Int */;
8649 val
* var125
/* : String */;
8650 val
* var126
/* : Array[Object] */;
8651 long var127
/* : Int */;
8652 val
* var128
/* : NativeArray[Object] */;
8653 val
* var129
/* : String */;
8654 static val
* varonce130
;
8655 val
* var131
/* : String */;
8656 char* var132
/* : NativeString */;
8657 long var133
/* : Int */;
8658 val
* var134
/* : String */;
8665 var4
= string__NativeString__to_s_with_length(var2
, var3
);
8669 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(self
, var1
) /* get_class on <self:AbstractCompilerVisitor>*/;
8670 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_model__MClass__mclass_type
]))(var5
) /* mclass_type on <var5:MClass>*/;
8677 var11
= string__NativeString__to_s_with_length(var9
, var10
);
8681 var12
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_name
]))(self
, var8
) /* get_name on <self:AbstractCompilerVisitor>*/;
8688 var17
= string__NativeString__to_s_with_length(var15
, var16
);
8692 var18
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_abstract_compiler__MType__ctype
]))(var_mtype
) /* ctype on <var_mtype:MClassType>*/;
8698 var23
= string__NativeString__to_s_with_length(var21
, var22
);
8707 var28
= string__NativeString__to_s_with_length(var26
, var27
);
8711 var29
= NEW_array__Array(&type_array__Arraykernel__Object
);
8712 { /* var29 = array_instance Array[Object] */
8714 var31
= NEW_array__NativeArray(var30
, &type_array__NativeArraykernel__Object
);
8715 ((struct instance_array__NativeArray
*)var31
)->values
[0] = (val
*) var14
;
8716 ((struct instance_array__NativeArray
*)var31
)->values
[1] = (val
*) var18
;
8717 ((struct instance_array__NativeArray
*)var31
)->values
[2] = (val
*) var20
;
8718 ((struct instance_array__NativeArray
*)var31
)->values
[3] = (val
*) var_name
;
8719 ((struct instance_array__NativeArray
*)var31
)->values
[4] = (val
*) var25
;
8720 ((void (*)(val
*, val
*, long))(var29
->class->vft
[COLOR_array__Array__with_native
]))(var29
, var31
, var30
) /* with_native on <var29:Array[Object]>*/;
8721 CHECK_NEW_array__Array(var29
);
8723 var32
= ((val
* (*)(val
*))(var29
->class->vft
[COLOR_string__Object__to_s
]))(var29
) /* to_s on <var29:Array[Object]>*/;
8724 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(self
, var32
) /* add_decl on <self:AbstractCompilerVisitor>*/;
8725 var33
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var_mtype
) /* new_var on <self:AbstractCompilerVisitor>*/;
8732 var38
= string__NativeString__to_s_with_length(var36
, var37
);
8741 var43
= string__NativeString__to_s_with_length(var41
, var42
);
8745 var44
= NEW_array__Array(&type_array__Arraykernel__Object
);
8746 { /* var44 = array_instance Array[Object] */
8748 var46
= NEW_array__NativeArray(var45
, &type_array__NativeArraykernel__Object
);
8749 ((struct instance_array__NativeArray
*)var46
)->values
[0] = (val
*) var35
;
8750 ((struct instance_array__NativeArray
*)var46
)->values
[1] = (val
*) var_name
;
8751 ((struct instance_array__NativeArray
*)var46
)->values
[2] = (val
*) var40
;
8752 ((void (*)(val
*, val
*, long))(var44
->class->vft
[COLOR_array__Array__with_native
]))(var44
, var46
, var45
) /* with_native on <var44:Array[Object]>*/;
8753 CHECK_NEW_array__Array(var44
);
8755 var47
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_string__Object__to_s
]))(var44
) /* to_s on <var44:Array[Object]>*/;
8756 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var47
) /* add on <self:AbstractCompilerVisitor>*/;
8762 var52
= string__NativeString__to_s_with_length(var50
, var51
);
8771 var57
= string__NativeString__to_s_with_length(var55
, var56
);
8775 var58
= NEW_array__Array(&type_array__Arraykernel__Object
);
8776 { /* var58 = array_instance Array[Object] */
8778 var60
= NEW_array__NativeArray(var59
, &type_array__NativeArraykernel__Object
);
8779 ((struct instance_array__NativeArray
*)var60
)->values
[0] = (val
*) var_res
;
8780 ((struct instance_array__NativeArray
*)var60
)->values
[1] = (val
*) var49
;
8781 ((struct instance_array__NativeArray
*)var60
)->values
[2] = (val
*) var_name
;
8782 ((struct instance_array__NativeArray
*)var60
)->values
[3] = (val
*) var54
;
8783 ((void (*)(val
*, val
*, long))(var58
->class->vft
[COLOR_array__Array__with_native
]))(var58
, var60
, var59
) /* with_native on <var58:Array[Object]>*/;
8784 CHECK_NEW_array__Array(var58
);
8786 var61
= ((val
* (*)(val
*))(var58
->class->vft
[COLOR_string__Object__to_s
]))(var58
) /* to_s on <var58:Array[Object]>*/;
8787 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var61
) /* add on <self:AbstractCompilerVisitor>*/;
8793 var66
= string__NativeString__to_s_with_length(var64
, var65
);
8797 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var63
) /* add on <self:AbstractCompilerVisitor>*/;
8801 var69
= "NativeString";
8803 var71
= string__NativeString__to_s_with_length(var69
, var70
);
8807 var72
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_class
]))(self
, var68
) /* get_class on <self:AbstractCompilerVisitor>*/;
8808 var73
= ((val
* (*)(val
*))(var72
->class->vft
[COLOR_model__MClass__mclass_type
]))(var72
) /* mclass_type on <var72:MClass>*/;
8809 var_native_mtype
= var73
;
8810 var74
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var_native_mtype
) /* new_var on <self:AbstractCompilerVisitor>*/;
8817 var79
= string__NativeString__to_s_with_length(var77
, var78
);
8821 var80
= ((val
* (*)(val
*))(var_string
->class->vft
[COLOR_string__AbstractString__escape_to_c
]))(var_string
) /* escape_to_c on <var_string:String>*/;
8827 var85
= string__NativeString__to_s_with_length(var83
, var84
);
8831 var86
= NEW_array__Array(&type_array__Arraykernel__Object
);
8832 { /* var86 = array_instance Array[Object] */
8834 var88
= NEW_array__NativeArray(var87
, &type_array__NativeArraykernel__Object
);
8835 ((struct instance_array__NativeArray
*)var88
)->values
[0] = (val
*) var_nat
;
8836 ((struct instance_array__NativeArray
*)var88
)->values
[1] = (val
*) var76
;
8837 ((struct instance_array__NativeArray
*)var88
)->values
[2] = (val
*) var80
;
8838 ((struct instance_array__NativeArray
*)var88
)->values
[3] = (val
*) var82
;
8839 ((void (*)(val
*, val
*, long))(var86
->class->vft
[COLOR_array__Array__with_native
]))(var86
, var88
, var87
) /* with_native on <var86:Array[Object]>*/;
8840 CHECK_NEW_array__Array(var86
);
8842 var89
= ((val
* (*)(val
*))(var86
->class->vft
[COLOR_string__Object__to_s
]))(var86
) /* to_s on <var86:Array[Object]>*/;
8843 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var89
) /* add on <self:AbstractCompilerVisitor>*/;
8844 var90
= ((long (*)(val
*))(var_string
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_string
) /* length on <var_string:String>*/;
8845 var91
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__int_instance
]))(self
, var90
) /* int_instance on <self:AbstractCompilerVisitor>*/;
8852 var96
= string__NativeString__to_s_with_length(var94
, var95
);
8859 var99
= "to_s_with_length";
8861 var101
= string__NativeString__to_s_with_length(var99
, var100
);
8865 var102
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__get_property
]))(self
, var98
, var_native_mtype
) /* get_property on <self:AbstractCompilerVisitor>*/;
8866 var103
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
8867 { /* var103 = array_instance Array[RuntimeVariable] */
8869 var105
= NEW_array__NativeArray(var104
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
8870 ((struct instance_array__NativeArray
*)var105
)->values
[0] = (val
*) var_nat
;
8871 ((struct instance_array__NativeArray
*)var105
)->values
[1] = (val
*) var_length
;
8872 ((void (*)(val
*, val
*, long))(var103
->class->vft
[COLOR_array__Array__with_native
]))(var103
, var105
, var104
) /* with_native on <var103:Array[RuntimeVariable]>*/;
8873 CHECK_NEW_array__Array(var103
);
8875 var106
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(self
, var102
, var103
) /* send on <self:AbstractCompilerVisitor>*/;
8876 if (var106
== NULL
) {
8877 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 825);
8881 var108
= varonce107
;
8885 var111
= string__NativeString__to_s_with_length(var109
, var110
);
8887 varonce107
= var108
;
8889 var112
= NEW_array__Array(&type_array__Arraykernel__Object
);
8890 { /* var112 = array_instance Array[Object] */
8892 var114
= NEW_array__NativeArray(var113
, &type_array__NativeArraykernel__Object
);
8893 ((struct instance_array__NativeArray
*)var114
)->values
[0] = (val
*) var_res
;
8894 ((struct instance_array__NativeArray
*)var114
)->values
[1] = (val
*) var93
;
8895 ((struct instance_array__NativeArray
*)var114
)->values
[2] = (val
*) var106
;
8896 ((struct instance_array__NativeArray
*)var114
)->values
[3] = (val
*) var108
;
8897 ((void (*)(val
*, val
*, long))(var112
->class->vft
[COLOR_array__Array__with_native
]))(var112
, var114
, var113
) /* with_native on <var112:Array[Object]>*/;
8898 CHECK_NEW_array__Array(var112
);
8900 var115
= ((val
* (*)(val
*))(var112
->class->vft
[COLOR_string__Object__to_s
]))(var112
) /* to_s on <var112:Array[Object]>*/;
8901 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var115
) /* add on <self:AbstractCompilerVisitor>*/;
8903 var117
= varonce116
;
8907 var120
= string__NativeString__to_s_with_length(var118
, var119
);
8909 varonce116
= var117
;
8912 var122
= varonce121
;
8916 var125
= string__NativeString__to_s_with_length(var123
, var124
);
8918 varonce121
= var122
;
8920 var126
= NEW_array__Array(&type_array__Arraykernel__Object
);
8921 { /* var126 = array_instance Array[Object] */
8923 var128
= NEW_array__NativeArray(var127
, &type_array__NativeArraykernel__Object
);
8924 ((struct instance_array__NativeArray
*)var128
)->values
[0] = (val
*) var_name
;
8925 ((struct instance_array__NativeArray
*)var128
)->values
[1] = (val
*) var117
;
8926 ((struct instance_array__NativeArray
*)var128
)->values
[2] = (val
*) var_res
;
8927 ((struct instance_array__NativeArray
*)var128
)->values
[3] = (val
*) var122
;
8928 ((void (*)(val
*, val
*, long))(var126
->class->vft
[COLOR_array__Array__with_native
]))(var126
, var128
, var127
) /* with_native on <var126:Array[Object]>*/;
8929 CHECK_NEW_array__Array(var126
);
8931 var129
= ((val
* (*)(val
*))(var126
->class->vft
[COLOR_string__Object__to_s
]))(var126
) /* to_s on <var126:Array[Object]>*/;
8932 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var129
) /* add on <self:AbstractCompilerVisitor>*/;
8934 var131
= varonce130
;
8938 var134
= string__NativeString__to_s_with_length(var132
, var133
);
8940 varonce130
= var131
;
8942 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var131
) /* add on <self:AbstractCompilerVisitor>*/;
8948 /* method abstract_compiler#AbstractCompilerVisitor#string_instance for (self: Object, String): RuntimeVariable */
8949 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__string_instance(val
* self
, val
* p0
) {
8950 val
* var
/* : RuntimeVariable */;
8951 val
* var1
/* : RuntimeVariable */;
8952 var1
= abstract_compiler__AbstractCompilerVisitor__string_instance(self
, p0
);
8957 /* method abstract_compiler#AbstractCompilerVisitor#array_instance for (self: AbstractCompilerVisitor, Array[RuntimeVariable], MType): RuntimeVariable */
8958 val
* abstract_compiler__AbstractCompilerVisitor__array_instance(val
* self
, val
* p0
, val
* p1
) {
8959 val
* var
/* : RuntimeVariable */;
8960 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/abstract_compiler.nit", 831);
8965 /* method abstract_compiler#AbstractCompilerVisitor#array_instance for (self: Object, Array[RuntimeVariable], MType): RuntimeVariable */
8966 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__array_instance(val
* self
, val
* p0
, val
* p1
) {
8967 val
* var
/* : RuntimeVariable */;
8968 val
* var1
/* : RuntimeVariable */;
8969 var1
= abstract_compiler__AbstractCompilerVisitor__array_instance(self
, p0
, p1
);
8974 /* method abstract_compiler#AbstractCompilerVisitor#vararg_instance for (self: AbstractCompilerVisitor, MPropDef, RuntimeVariable, Array[RuntimeVariable], MType): RuntimeVariable */
8975 val
* abstract_compiler__AbstractCompilerVisitor__vararg_instance(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
8976 val
* var
/* : RuntimeVariable */;
8977 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Deferred method called", "src/abstract_compiler.nit", 834);
8982 /* method abstract_compiler#AbstractCompilerVisitor#vararg_instance for (self: Object, MPropDef, RuntimeVariable, Array[RuntimeVariable], MType): RuntimeVariable */
8983 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__vararg_instance(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
8984 val
* var
/* : RuntimeVariable */;
8985 val
* var1
/* : RuntimeVariable */;
8986 var1
= abstract_compiler__AbstractCompilerVisitor__vararg_instance(self
, p0
, p1
, p2
, p3
);
8991 /* method abstract_compiler#AbstractCompilerVisitor#add for (self: AbstractCompilerVisitor, String) */
8992 void abstract_compiler__AbstractCompilerVisitor__add(val
* self
, val
* p0
) {
8993 val
* var_s
/* var s: String */;
8994 val
* var
/* : CodeWriter */;
8995 val
* var1
/* : List[String] */;
8997 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__writer
]))(self
) /* writer on <self:AbstractCompilerVisitor>*/;
8998 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_compiler__CodeWriter__lines
]))(var
) /* lines on <var:CodeWriter>*/;
8999 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var1
, var_s
) /* add on <var1:List[String]>*/;
9002 /* method abstract_compiler#AbstractCompilerVisitor#add for (self: Object, String) */
9003 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__add(val
* self
, val
* p0
) {
9004 abstract_compiler__AbstractCompilerVisitor__add(self
, p0
);
9007 /* method abstract_compiler#AbstractCompilerVisitor#add_decl for (self: AbstractCompilerVisitor, String) */
9008 void abstract_compiler__AbstractCompilerVisitor__add_decl(val
* self
, val
* p0
) {
9009 val
* var_s
/* var s: String */;
9010 val
* var
/* : CodeWriter */;
9011 val
* var1
/* : List[String] */;
9013 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__writer
]))(self
) /* writer on <self:AbstractCompilerVisitor>*/;
9014 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_compiler__CodeWriter__decl_lines
]))(var
) /* decl_lines on <var:CodeWriter>*/;
9015 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var1
, var_s
) /* add on <var1:List[String]>*/;
9018 /* method abstract_compiler#AbstractCompilerVisitor#add_decl for (self: Object, String) */
9019 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__add_decl(val
* self
, val
* p0
) {
9020 abstract_compiler__AbstractCompilerVisitor__add_decl(self
, p0
);
9023 /* method abstract_compiler#AbstractCompilerVisitor#require_declaration for (self: AbstractCompilerVisitor, String) */
9024 void abstract_compiler__AbstractCompilerVisitor__require_declaration(val
* self
, val
* p0
) {
9025 val
* var_key
/* var key: String */;
9026 val
* var
/* : CodeWriter */;
9027 val
* var1
/* : CodeFile */;
9028 val
* var2
/* : HashSet[String] */;
9030 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__writer
]))(self
) /* writer on <self:AbstractCompilerVisitor>*/;
9031 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_compiler__CodeWriter__file
]))(var
) /* file on <var:CodeWriter>*/;
9032 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__CodeFile__required_declarations
]))(var1
) /* required_declarations on <var1:CodeFile>*/;
9033 ((void (*)(val
*, val
*))(var2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var2
, var_key
) /* add on <var2:HashSet[String]>*/;
9036 /* method abstract_compiler#AbstractCompilerVisitor#require_declaration for (self: Object, String) */
9037 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__require_declaration(val
* self
, val
* p0
) {
9038 abstract_compiler__AbstractCompilerVisitor__require_declaration(self
, p0
);
9041 /* method abstract_compiler#AbstractCompilerVisitor#declare_once for (self: AbstractCompilerVisitor, String) */
9042 void abstract_compiler__AbstractCompilerVisitor__declare_once(val
* self
, val
* p0
) {
9043 val
* var_s
/* var s: String */;
9044 val
* var
/* : AbstractCompiler */;
9046 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
9047 ((void (*)(val
*, val
*, val
*))(var
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__provide_declaration
]))(var
, var_s
, var_s
) /* provide_declaration on <var:AbstractCompiler>*/;
9048 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__require_declaration
]))(self
, var_s
) /* require_declaration on <self:AbstractCompilerVisitor>*/;
9051 /* method abstract_compiler#AbstractCompilerVisitor#declare_once for (self: Object, String) */
9052 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__declare_once(val
* self
, val
* p0
) {
9053 abstract_compiler__AbstractCompilerVisitor__declare_once(self
, p0
);
9056 /* method abstract_compiler#AbstractCompilerVisitor#add_extern for (self: AbstractCompilerVisitor, String) */
9057 void abstract_compiler__AbstractCompilerVisitor__add_extern(val
* self
, val
* p0
) {
9058 val
* var_file
/* var file: String */;
9059 static val
* varonce
;
9060 val
* var
/* : String */;
9061 char* var1
/* : NativeString */;
9062 long var2
/* : Int */;
9063 val
* var3
/* : String */;
9064 val
* var4
/* : String */;
9065 static val
* varonce5
;
9066 val
* var6
/* : String */;
9067 char* var7
/* : NativeString */;
9068 long var8
/* : Int */;
9069 val
* var9
/* : String */;
9070 val
* var10
/* : String */;
9071 val
* var_tryfile
/* var tryfile: String */;
9072 short int var11
/* : Bool */;
9073 static val
* varonce12
;
9074 val
* var13
/* : String */;
9075 char* var14
/* : NativeString */;
9076 long var15
/* : Int */;
9077 val
* var16
/* : String */;
9078 static val
* varonce17
;
9079 val
* var18
/* : String */;
9080 char* var19
/* : NativeString */;
9081 long var20
/* : Int */;
9082 val
* var21
/* : String */;
9083 val
* var22
/* : String */;
9084 static val
* varonce23
;
9085 val
* var24
/* : String */;
9086 char* var25
/* : NativeString */;
9087 long var26
/* : Int */;
9088 val
* var27
/* : String */;
9089 val
* var28
/* : Array[Object] */;
9090 long var29
/* : Int */;
9091 val
* var30
/* : NativeArray[Object] */;
9092 val
* var31
/* : String */;
9093 static val
* varonce32
;
9094 val
* var33
/* : String */;
9095 char* var34
/* : NativeString */;
9096 long var35
/* : Int */;
9097 val
* var36
/* : String */;
9098 val
* var37
/* : String */;
9099 short int var38
/* : Bool */;
9100 static val
* varonce39
;
9101 val
* var40
/* : String */;
9102 char* var41
/* : NativeString */;
9103 long var42
/* : Int */;
9104 val
* var43
/* : String */;
9105 static val
* varonce44
;
9106 val
* var45
/* : String */;
9107 char* var46
/* : NativeString */;
9108 long var47
/* : Int */;
9109 val
* var48
/* : String */;
9110 val
* var49
/* : String */;
9111 static val
* varonce50
;
9112 val
* var51
/* : String */;
9113 char* var52
/* : NativeString */;
9114 long var53
/* : Int */;
9115 val
* var54
/* : String */;
9116 val
* var55
/* : Array[Object] */;
9117 long var56
/* : Int */;
9118 val
* var57
/* : NativeArray[Object] */;
9119 val
* var58
/* : String */;
9120 val
* var59
/* : AbstractCompiler */;
9121 val
* var60
/* : ArraySet[String] */;
9122 short int var61
/* : Bool */;
9123 val
* var62
/* : AbstractCompiler */;
9124 val
* var63
/* : ArraySet[String] */;
9125 static val
* varonce64
;
9126 val
* var65
/* : String */;
9127 char* var66
/* : NativeString */;
9128 long var67
/* : Int */;
9129 val
* var68
/* : String */;
9130 val
* var69
/* : String */;
9131 short int var70
/* : Bool */;
9132 short int var71
/* : Bool */;
9133 static val
* varonce72
;
9134 val
* var73
/* : String */;
9135 char* var74
/* : NativeString */;
9136 long var75
/* : Int */;
9137 val
* var76
/* : String */;
9138 val
* var77
/* : String */;
9139 short int var78
/* : Bool */;
9140 short int var79
/* : Bool */;
9141 val
* var80
/* : ExternCFile */;
9142 static val
* varonce81
;
9143 val
* var82
/* : String */;
9144 char* var83
/* : NativeString */;
9145 long var84
/* : Int */;
9146 val
* var85
/* : String */;
9147 val
* var_f
/* var f: ExternCFile */;
9148 val
* var86
/* : AbstractCompiler */;
9149 val
* var87
/* : Array[ExternCFile] */;
9156 var3
= string__NativeString__to_s_with_length(var1
, var2
);
9160 var4
= ((val
* (*)(val
*, val
*))(var_file
->class->vft
[COLOR_file__String__strip_extension
]))(var_file
, var
) /* strip_extension on <var_file:String>*/;
9167 var9
= string__NativeString__to_s_with_length(var7
, var8
);
9171 var10
= ((val
* (*)(val
*, val
*))(var_file
->class->vft
[COLOR_string__String___43d
]))(var_file
, var6
) /* + on <var_file:String>*/;
9172 var_tryfile
= var10
;
9173 var11
= ((short int (*)(val
*))(var_tryfile
->class->vft
[COLOR_file__String__file_exists
]))(var_tryfile
) /* file_exists on <var_tryfile:String>*/;
9178 var14
= "#include \"";
9180 var16
= string__NativeString__to_s_with_length(var14
, var15
);
9189 var21
= string__NativeString__to_s_with_length(var19
, var20
);
9193 var22
= ((val
* (*)(val
*, val
*))(var18
->class->vft
[COLOR_file__String__join_path
]))(var18
, var_tryfile
) /* join_path on <var18:String>*/;
9199 var27
= string__NativeString__to_s_with_length(var25
, var26
);
9203 var28
= NEW_array__Array(&type_array__Arraykernel__Object
);
9204 { /* var28 = array_instance Array[Object] */
9206 var30
= NEW_array__NativeArray(var29
, &type_array__NativeArraykernel__Object
);
9207 ((struct instance_array__NativeArray
*)var30
)->values
[0] = (val
*) var13
;
9208 ((struct instance_array__NativeArray
*)var30
)->values
[1] = (val
*) var22
;
9209 ((struct instance_array__NativeArray
*)var30
)->values
[2] = (val
*) var24
;
9210 ((void (*)(val
*, val
*, long))(var28
->class->vft
[COLOR_array__Array__with_native
]))(var28
, var30
, var29
) /* with_native on <var28:Array[Object]>*/;
9211 CHECK_NEW_array__Array(var28
);
9213 var31
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_string__Object__to_s
]))(var28
) /* to_s on <var28:Array[Object]>*/;
9214 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__declare_once
]))(self
, var31
) /* declare_once on <self:AbstractCompilerVisitor>*/;
9222 var36
= string__NativeString__to_s_with_length(var34
, var35
);
9226 var37
= ((val
* (*)(val
*, val
*))(var_file
->class->vft
[COLOR_string__String___43d
]))(var_file
, var33
) /* + on <var_file:String>*/;
9227 var_tryfile
= var37
;
9228 var38
= ((short int (*)(val
*))(var_tryfile
->class->vft
[COLOR_file__String__file_exists
]))(var_tryfile
) /* file_exists on <var_tryfile:String>*/;
9233 var41
= "#include \"";
9235 var43
= string__NativeString__to_s_with_length(var41
, var42
);
9244 var48
= string__NativeString__to_s_with_length(var46
, var47
);
9248 var49
= ((val
* (*)(val
*, val
*))(var45
->class->vft
[COLOR_file__String__join_path
]))(var45
, var_tryfile
) /* join_path on <var45:String>*/;
9254 var54
= string__NativeString__to_s_with_length(var52
, var53
);
9258 var55
= NEW_array__Array(&type_array__Arraykernel__Object
);
9259 { /* var55 = array_instance Array[Object] */
9261 var57
= NEW_array__NativeArray(var56
, &type_array__NativeArraykernel__Object
);
9262 ((struct instance_array__NativeArray
*)var57
)->values
[0] = (val
*) var40
;
9263 ((struct instance_array__NativeArray
*)var57
)->values
[1] = (val
*) var49
;
9264 ((struct instance_array__NativeArray
*)var57
)->values
[2] = (val
*) var51
;
9265 ((void (*)(val
*, val
*, long))(var55
->class->vft
[COLOR_array__Array__with_native
]))(var55
, var57
, var56
) /* with_native on <var55:Array[Object]>*/;
9266 CHECK_NEW_array__Array(var55
);
9268 var58
= ((val
* (*)(val
*))(var55
->class->vft
[COLOR_string__Object__to_s
]))(var55
) /* to_s on <var55:Array[Object]>*/;
9269 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__declare_once
]))(self
, var58
) /* declare_once on <self:AbstractCompilerVisitor>*/;
9272 var59
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
9273 var60
= ((val
* (*)(val
*))(var59
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__seen_extern
]))(var59
) /* seen_extern on <var59:AbstractCompiler>*/;
9274 var61
= ((short int (*)(val
*, val
*))(var60
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var60
, var_file
) /* has on <var60:ArraySet[String]>*/;
9279 var62
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
9280 var63
= ((val
* (*)(val
*))(var62
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__seen_extern
]))(var62
) /* seen_extern on <var62:AbstractCompiler>*/;
9281 ((void (*)(val
*, val
*))(var63
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var63
, var_file
) /* add on <var63:ArraySet[String]>*/;
9287 var68
= string__NativeString__to_s_with_length(var66
, var67
);
9291 var69
= ((val
* (*)(val
*, val
*))(var_file
->class->vft
[COLOR_string__String___43d
]))(var_file
, var65
) /* + on <var_file:String>*/;
9292 var_tryfile
= var69
;
9293 var70
= ((short int (*)(val
*))(var_tryfile
->class->vft
[COLOR_file__String__file_exists
]))(var_tryfile
) /* file_exists on <var_tryfile:String>*/;
9301 var76
= string__NativeString__to_s_with_length(var74
, var75
);
9305 var77
= ((val
* (*)(val
*, val
*))(var_file
->class->vft
[COLOR_string__String___43d
]))(var_file
, var73
) /* + on <var_file:String>*/;
9306 var_tryfile
= var77
;
9307 var78
= ((short int (*)(val
*))(var_tryfile
->class->vft
[COLOR_file__String__file_exists
]))(var_tryfile
) /* file_exists on <var_tryfile:String>*/;
9315 var80
= NEW_abstract_compiler__ExternCFile(&type_abstract_compiler__ExternCFile
);
9321 var85
= string__NativeString__to_s_with_length(var83
, var84
);
9325 ((void (*)(val
*, val
*, val
*))(var80
->class->vft
[COLOR_abstract_compiler__ExternCFile__init
]))(var80
, var_tryfile
, var82
) /* init on <var80:ExternCFile>*/;
9326 CHECK_NEW_abstract_compiler__ExternCFile(var80
);
9328 var86
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
9329 var87
= ((val
* (*)(val
*))(var86
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__extern_bodies
]))(var86
) /* extern_bodies on <var86:AbstractCompiler>*/;
9330 ((void (*)(val
*, val
*))(var87
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var87
, var_f
) /* add on <var87:Array[ExternCFile]>*/;
9333 /* method abstract_compiler#AbstractCompilerVisitor#add_extern for (self: Object, String) */
9334 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__add_extern(val
* self
, val
* p0
) {
9335 abstract_compiler__AbstractCompilerVisitor__add_extern(self
, p0
);
9338 /* method abstract_compiler#AbstractCompilerVisitor#new_expr for (self: AbstractCompilerVisitor, String, MType): RuntimeVariable */
9339 val
* abstract_compiler__AbstractCompilerVisitor__new_expr(val
* self
, val
* p0
, val
* p1
) {
9340 val
* var
/* : RuntimeVariable */;
9341 val
* var_cexpr
/* var cexpr: String */;
9342 val
* var_mtype
/* var mtype: MType */;
9343 val
* var1
/* : RuntimeVariable */;
9344 val
* var_res
/* var res: RuntimeVariable */;
9345 static val
* varonce
;
9346 val
* var2
/* : String */;
9347 char* var3
/* : NativeString */;
9348 long var4
/* : Int */;
9349 val
* var5
/* : String */;
9350 static val
* varonce6
;
9351 val
* var7
/* : String */;
9352 char* var8
/* : NativeString */;
9353 long var9
/* : Int */;
9354 val
* var10
/* : String */;
9355 val
* var11
/* : Array[Object] */;
9356 long var12
/* : Int */;
9357 val
* var13
/* : NativeArray[Object] */;
9358 val
* var14
/* : String */;
9361 var1
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__new_var
]))(self
, var_mtype
) /* new_var on <self:AbstractCompilerVisitor>*/;
9368 var5
= string__NativeString__to_s_with_length(var3
, var4
);
9377 var10
= string__NativeString__to_s_with_length(var8
, var9
);
9381 var11
= NEW_array__Array(&type_array__Arraykernel__Object
);
9382 { /* var11 = array_instance Array[Object] */
9384 var13
= NEW_array__NativeArray(var12
, &type_array__NativeArraykernel__Object
);
9385 ((struct instance_array__NativeArray
*)var13
)->values
[0] = (val
*) var_res
;
9386 ((struct instance_array__NativeArray
*)var13
)->values
[1] = (val
*) var2
;
9387 ((struct instance_array__NativeArray
*)var13
)->values
[2] = (val
*) var_cexpr
;
9388 ((struct instance_array__NativeArray
*)var13
)->values
[3] = (val
*) var7
;
9389 ((void (*)(val
*, val
*, long))(var11
->class->vft
[COLOR_array__Array__with_native
]))(var11
, var13
, var12
) /* with_native on <var11:Array[Object]>*/;
9390 CHECK_NEW_array__Array(var11
);
9392 var14
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_string__Object__to_s
]))(var11
) /* to_s on <var11:Array[Object]>*/;
9393 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var14
) /* add on <self:AbstractCompilerVisitor>*/;
9399 /* method abstract_compiler#AbstractCompilerVisitor#new_expr for (self: Object, String, MType): RuntimeVariable */
9400 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__new_expr(val
* self
, val
* p0
, val
* p1
) {
9401 val
* var
/* : RuntimeVariable */;
9402 val
* var1
/* : RuntimeVariable */;
9403 var1
= abstract_compiler__AbstractCompilerVisitor__new_expr(self
, p0
, p1
);
9408 /* method abstract_compiler#AbstractCompilerVisitor#add_abort for (self: AbstractCompilerVisitor, String) */
9409 void abstract_compiler__AbstractCompilerVisitor__add_abort(val
* self
, val
* p0
) {
9410 val
* var_message
/* var message: String */;
9411 short int var
/* : Bool */;
9412 val
* var1
/* : nullable ANode */;
9413 val
* var2
/* : null */;
9414 short int var3
/* : Bool */;
9415 short int var_
/* var : Bool */;
9416 val
* var4
/* : nullable ANode */;
9417 val
* var5
/* : Location */;
9418 val
* var6
/* : nullable SourceFile */;
9419 val
* var7
/* : null */;
9420 short int var8
/* : Bool */;
9421 static val
* varonce
;
9422 val
* var9
/* : String */;
9423 char* var10
/* : NativeString */;
9424 long var11
/* : Int */;
9425 val
* var12
/* : String */;
9426 val
* var13
/* : String */;
9427 static val
* varonce14
;
9428 val
* var15
/* : String */;
9429 char* var16
/* : NativeString */;
9430 long var17
/* : Int */;
9431 val
* var18
/* : String */;
9432 val
* var19
/* : nullable ANode */;
9433 val
* var20
/* : Location */;
9434 val
* var21
/* : nullable SourceFile */;
9435 val
* var22
/* : String */;
9436 val
* var23
/* : String */;
9437 static val
* varonce24
;
9438 val
* var25
/* : String */;
9439 char* var26
/* : NativeString */;
9440 long var27
/* : Int */;
9441 val
* var28
/* : String */;
9442 val
* var29
/* : nullable ANode */;
9443 val
* var30
/* : Location */;
9444 long var31
/* : Int */;
9445 static val
* varonce32
;
9446 val
* var33
/* : String */;
9447 char* var34
/* : NativeString */;
9448 long var35
/* : Int */;
9449 val
* var36
/* : String */;
9450 val
* var37
/* : Array[Object] */;
9451 long var38
/* : Int */;
9452 val
* var39
/* : NativeArray[Object] */;
9453 val
* var40
/* : Object */;
9454 val
* var41
/* : String */;
9455 static val
* varonce42
;
9456 val
* var43
/* : String */;
9457 char* var44
/* : NativeString */;
9458 long var45
/* : Int */;
9459 val
* var46
/* : String */;
9460 val
* var47
/* : String */;
9461 static val
* varonce48
;
9462 val
* var49
/* : String */;
9463 char* var50
/* : NativeString */;
9464 long var51
/* : Int */;
9465 val
* var52
/* : String */;
9466 val
* var53
/* : Array[Object] */;
9467 long var54
/* : Int */;
9468 val
* var55
/* : NativeArray[Object] */;
9469 val
* var56
/* : String */;
9470 static val
* varonce57
;
9471 val
* var58
/* : String */;
9472 char* var59
/* : NativeString */;
9473 long var60
/* : Int */;
9474 val
* var61
/* : String */;
9476 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node
]))(self
) /* current_node on <self:AbstractCompilerVisitor>*/;
9479 var3
= 0; /* is null */
9481 var3
= 1; /* arg is null and recv is not */
9485 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node
]))(self
) /* current_node on <self:AbstractCompilerVisitor>*/;
9487 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 897);
9490 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var4
) /* location on <var4:nullable ANode>*/;
9492 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_location__Location__file
]))(var5
) /* file on <var5:Location>*/;
9495 var8
= 0; /* is null */
9497 var8
= 1; /* arg is null and recv is not */
9507 var10
= "fprintf(stderr, \"Runtime error: %s (%s:%d)\\n\", \"";
9509 var12
= string__NativeString__to_s_with_length(var10
, var11
);
9513 var13
= ((val
* (*)(val
*))(var_message
->class->vft
[COLOR_string__AbstractString__escape_to_c
]))(var_message
) /* escape_to_c on <var_message:String>*/;
9519 var18
= string__NativeString__to_s_with_length(var16
, var17
);
9523 var19
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node
]))(self
) /* current_node on <self:AbstractCompilerVisitor>*/;
9524 if (var19
== NULL
) {
9525 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 898);
9528 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var19
) /* location on <var19:nullable ANode>*/;
9530 var21
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_location__Location__file
]))(var20
) /* file on <var20:Location>*/;
9531 if (var21
== NULL
) {
9532 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 898);
9535 var22
= ((val
* (*)(val
*))(var21
->class->vft
[COLOR_location__SourceFile__filename
]))(var21
) /* filename on <var21:nullable SourceFile>*/;
9537 var23
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_string__AbstractString__escape_to_c
]))(var22
) /* escape_to_c on <var22:String>*/;
9543 var28
= string__NativeString__to_s_with_length(var26
, var27
);
9547 var29
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node
]))(self
) /* current_node on <self:AbstractCompilerVisitor>*/;
9548 if (var29
== NULL
) {
9549 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 898);
9552 var30
= ((val
* (*)(val
*))(var29
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var29
) /* location on <var29:nullable ANode>*/;
9554 var31
= ((long (*)(val
*))(var30
->class->vft
[COLOR_location__Location__line_start
]))(var30
) /* line_start on <var30:Location>*/;
9560 var36
= string__NativeString__to_s_with_length(var34
, var35
);
9564 var37
= NEW_array__Array(&type_array__Arraykernel__Object
);
9565 { /* var37 = array_instance Array[Object] */
9567 var39
= NEW_array__NativeArray(var38
, &type_array__NativeArraykernel__Object
);
9568 ((struct instance_array__NativeArray
*)var39
)->values
[0] = (val
*) var9
;
9569 ((struct instance_array__NativeArray
*)var39
)->values
[1] = (val
*) var13
;
9570 ((struct instance_array__NativeArray
*)var39
)->values
[2] = (val
*) var15
;
9571 ((struct instance_array__NativeArray
*)var39
)->values
[3] = (val
*) var23
;
9572 ((struct instance_array__NativeArray
*)var39
)->values
[4] = (val
*) var25
;
9573 var40
= BOX_kernel__Int(var31
); /* autobox from Int to Object */
9574 ((struct instance_array__NativeArray
*)var39
)->values
[5] = (val
*) var40
;
9575 ((struct instance_array__NativeArray
*)var39
)->values
[6] = (val
*) var33
;
9576 ((void (*)(val
*, val
*, long))(var37
->class->vft
[COLOR_array__Array__with_native
]))(var37
, var39
, var38
) /* with_native on <var37:Array[Object]>*/;
9577 CHECK_NEW_array__Array(var37
);
9579 var41
= ((val
* (*)(val
*))(var37
->class->vft
[COLOR_string__Object__to_s
]))(var37
) /* to_s on <var37:Array[Object]>*/;
9580 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var41
) /* add on <self:AbstractCompilerVisitor>*/;
9585 var44
= "fprintf(stderr, \"Runtime error: %s\\n\", \"";
9587 var46
= string__NativeString__to_s_with_length(var44
, var45
);
9591 var47
= ((val
* (*)(val
*))(var_message
->class->vft
[COLOR_string__AbstractString__escape_to_c
]))(var_message
) /* escape_to_c on <var_message:String>*/;
9597 var52
= string__NativeString__to_s_with_length(var50
, var51
);
9601 var53
= NEW_array__Array(&type_array__Arraykernel__Object
);
9602 { /* var53 = array_instance Array[Object] */
9604 var55
= NEW_array__NativeArray(var54
, &type_array__NativeArraykernel__Object
);
9605 ((struct instance_array__NativeArray
*)var55
)->values
[0] = (val
*) var43
;
9606 ((struct instance_array__NativeArray
*)var55
)->values
[1] = (val
*) var47
;
9607 ((struct instance_array__NativeArray
*)var55
)->values
[2] = (val
*) var49
;
9608 ((void (*)(val
*, val
*, long))(var53
->class->vft
[COLOR_array__Array__with_native
]))(var53
, var55
, var54
) /* with_native on <var53:Array[Object]>*/;
9609 CHECK_NEW_array__Array(var53
);
9611 var56
= ((val
* (*)(val
*))(var53
->class->vft
[COLOR_string__Object__to_s
]))(var53
) /* to_s on <var53:Array[Object]>*/;
9612 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var56
) /* add on <self:AbstractCompilerVisitor>*/;
9619 var61
= string__NativeString__to_s_with_length(var59
, var60
);
9623 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var58
) /* add on <self:AbstractCompilerVisitor>*/;
9626 /* method abstract_compiler#AbstractCompilerVisitor#add_abort for (self: Object, String) */
9627 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__add_abort(val
* self
, val
* p0
) {
9628 abstract_compiler__AbstractCompilerVisitor__add_abort(self
, p0
);
9631 /* method abstract_compiler#AbstractCompilerVisitor#ret for (self: AbstractCompilerVisitor, RuntimeVariable) */
9632 void abstract_compiler__AbstractCompilerVisitor__ret(val
* self
, val
* p0
) {
9633 val
* var_s
/* var s: RuntimeVariable */;
9634 val
* var
/* : nullable Frame */;
9635 val
* var1
/* : nullable RuntimeVariable */;
9636 static val
* varonce
;
9637 val
* var2
/* : String */;
9638 char* var3
/* : NativeString */;
9639 long var4
/* : Int */;
9640 val
* var5
/* : String */;
9641 val
* var6
/* : nullable Frame */;
9642 val
* var7
/* : nullable String */;
9643 static val
* varonce8
;
9644 val
* var9
/* : String */;
9645 char* var10
/* : NativeString */;
9646 long var11
/* : Int */;
9647 val
* var12
/* : String */;
9648 val
* var13
/* : Array[Object] */;
9649 long var14
/* : Int */;
9650 val
* var15
/* : NativeArray[Object] */;
9651 val
* var16
/* : String */;
9653 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:AbstractCompilerVisitor>*/;
9655 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 908);
9658 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_compiler__Frame__returnvar
]))(var
) /* returnvar on <var:nullable Frame>*/;
9661 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 908);
9664 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__assign
]))(self
, var1
, var_s
) /* assign on <self:AbstractCompilerVisitor>*/;
9670 var5
= string__NativeString__to_s_with_length(var3
, var4
);
9674 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:AbstractCompilerVisitor>*/;
9676 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/abstract_compiler.nit", 909);
9679 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_compiler__Frame__returnlabel
]))(var6
) /* returnlabel on <var6:nullable Frame>*/;
9682 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 909);
9690 var12
= string__NativeString__to_s_with_length(var10
, var11
);
9694 var13
= NEW_array__Array(&type_array__Arraykernel__Object
);
9695 { /* var13 = array_instance Array[Object] */
9697 var15
= NEW_array__NativeArray(var14
, &type_array__NativeArraykernel__Object
);
9698 ((struct instance_array__NativeArray
*)var15
)->values
[0] = (val
*) var2
;
9699 ((struct instance_array__NativeArray
*)var15
)->values
[1] = (val
*) var7
;
9700 ((struct instance_array__NativeArray
*)var15
)->values
[2] = (val
*) var9
;
9701 ((void (*)(val
*, val
*, long))(var13
->class->vft
[COLOR_array__Array__with_native
]))(var13
, var15
, var14
) /* with_native on <var13:Array[Object]>*/;
9702 CHECK_NEW_array__Array(var13
);
9704 var16
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_string__Object__to_s
]))(var13
) /* to_s on <var13:Array[Object]>*/;
9705 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var16
) /* add on <self:AbstractCompilerVisitor>*/;
9708 /* method abstract_compiler#AbstractCompilerVisitor#ret for (self: Object, RuntimeVariable) */
9709 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__ret(val
* self
, val
* p0
) {
9710 abstract_compiler__AbstractCompilerVisitor__ret(self
, p0
);
9713 /* method abstract_compiler#AbstractCompilerVisitor#stmt for (self: AbstractCompilerVisitor, nullable AExpr) */
9714 void abstract_compiler__AbstractCompilerVisitor__stmt(val
* self
, val
* p0
) {
9715 val
* var_nexpr
/* var nexpr: nullable AExpr */;
9716 val
* var
/* : null */;
9717 short int var1
/* : Bool */;
9718 val
* var2
/* : nullable ANode */;
9719 val
* var_old
/* var old: nullable ANode */;
9722 if (var_nexpr
== NULL
) {
9723 var1
= 1; /* is null */
9725 var1
= 0; /* arg is null but recv is not */
9731 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node
]))(self
) /* current_node on <self:AbstractCompilerVisitor>*/;
9733 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node_61d
]))(self
, var_nexpr
) /* current_node= on <self:AbstractCompilerVisitor>*/;
9734 ((void (*)(val
*, val
*))(var_nexpr
->class->vft
[COLOR_abstract_compiler__AExpr__stmt
]))(var_nexpr
, self
) /* stmt on <var_nexpr:nullable AExpr(AExpr)>*/;
9735 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node_61d
]))(self
, var_old
) /* current_node= on <self:AbstractCompilerVisitor>*/;
9738 /* method abstract_compiler#AbstractCompilerVisitor#stmt for (self: Object, nullable AExpr) */
9739 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__stmt(val
* self
, val
* p0
) {
9740 abstract_compiler__AbstractCompilerVisitor__stmt(self
, p0
);
9743 /* method abstract_compiler#AbstractCompilerVisitor#expr for (self: AbstractCompilerVisitor, AExpr, nullable MType): RuntimeVariable */
9744 val
* abstract_compiler__AbstractCompilerVisitor__expr(val
* self
, val
* p0
, val
* p1
) {
9745 val
* var
/* : RuntimeVariable */;
9746 val
* var_nexpr
/* var nexpr: AExpr */;
9747 val
* var_mtype
/* var mtype: nullable MType */;
9748 val
* var1
/* : nullable ANode */;
9749 val
* var_old
/* var old: nullable ANode */;
9750 val
* var2
/* : nullable RuntimeVariable */;
9751 val
* var_res
/* var res: RuntimeVariable */;
9752 val
* var3
/* : null */;
9753 short int var4
/* : Bool */;
9754 val
* var5
/* : MType */;
9755 val
* var6
/* : RuntimeVariable */;
9756 val
* var7
/* : nullable MType */;
9757 val
* var8
/* : RuntimeVariable */;
9758 val
* var9
/* : nullable MType */;
9759 val
* var_implicit_cast_to
/* var implicit_cast_to: nullable MType */;
9760 short int var10
/* : Bool */;
9761 val
* var11
/* : null */;
9762 short int var12
/* : Bool */;
9763 short int var_
/* var : Bool */;
9764 val
* var13
/* : AbstractCompiler */;
9765 val
* var14
/* : ModelBuilder */;
9766 val
* var15
/* : ToolContext */;
9767 val
* var16
/* : OptionBool */;
9768 val
* var17
/* : nullable Object */;
9769 short int var18
/* : Bool */;
9770 short int var19
/* : Bool */;
9771 static val
* varonce
;
9772 val
* var20
/* : String */;
9773 char* var21
/* : NativeString */;
9774 long var22
/* : Int */;
9775 val
* var23
/* : String */;
9776 val
* var24
/* : RuntimeVariable */;
9777 val
* var_castres
/* var castres: RuntimeVariable */;
9778 static val
* varonce25
;
9779 val
* var26
/* : String */;
9780 char* var27
/* : NativeString */;
9781 long var28
/* : Int */;
9782 val
* var29
/* : String */;
9783 static val
* varonce30
;
9784 val
* var31
/* : String */;
9785 char* var32
/* : NativeString */;
9786 long var33
/* : Int */;
9787 val
* var34
/* : String */;
9788 val
* var35
/* : Array[Object] */;
9789 long var36
/* : Int */;
9790 val
* var37
/* : NativeArray[Object] */;
9791 val
* var38
/* : String */;
9792 static val
* varonce39
;
9793 val
* var40
/* : String */;
9794 char* var41
/* : NativeString */;
9795 long var42
/* : Int */;
9796 val
* var43
/* : String */;
9797 static val
* varonce44
;
9798 val
* var45
/* : String */;
9799 char* var46
/* : NativeString */;
9800 long var47
/* : Int */;
9801 val
* var48
/* : String */;
9802 val
* var49
/* : RuntimeVariable */;
9805 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node
]))(self
) /* current_node on <self:AbstractCompilerVisitor>*/;
9807 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node_61d
]))(self
, var_nexpr
) /* current_node= on <self:AbstractCompilerVisitor>*/;
9808 var2
= ((val
* (*)(val
*, val
*))(var_nexpr
->class->vft
[COLOR_abstract_compiler__AExpr__expr
]))(var_nexpr
, self
) /* expr on <var_nexpr:AExpr>*/;
9810 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 928);
9815 if (var_mtype
== NULL
) {
9816 var4
= 0; /* is null */
9818 var4
= 1; /* arg is null and recv is not */
9821 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__anchor
]))(self
, var_mtype
) /* anchor on <self:AbstractCompilerVisitor>*/;
9823 var6
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autobox
]))(self
, var_res
, var_mtype
) /* autobox on <self:AbstractCompilerVisitor>*/;
9827 var7
= ((val
* (*)(val
*))(var_nexpr
->class->vft
[COLOR_typing__AExpr__mtype
]))(var_nexpr
) /* mtype on <var_nexpr:AExpr>*/;
9829 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/abstract_compiler.nit", 933);
9832 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autoadapt
]))(self
, var_res
, var7
) /* autoadapt on <self:AbstractCompilerVisitor>*/;
9834 var9
= ((val
* (*)(val
*))(var_nexpr
->class->vft
[COLOR_typing__AExpr__implicit_cast_to
]))(var_nexpr
) /* implicit_cast_to on <var_nexpr:AExpr>*/;
9835 var_implicit_cast_to
= var9
;
9837 if (var_implicit_cast_to
== NULL
) {
9838 var12
= 0; /* is null */
9840 var12
= 1; /* arg is null and recv is not */
9844 var13
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
9845 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var13
) /* modelbuilder on <var13:AbstractCompiler>*/;
9846 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var14
) /* toolcontext on <var14:ModelBuilder>*/;
9847 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_autocast
]))(var15
) /* opt_no_check_autocast on <var15:ToolContext>*/;
9848 var17
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_opts__Option__value
]))(var16
) /* value on <var16:OptionBool>*/;
9849 var18
= ((struct instance_kernel__Bool
*)var17
)->value
; /* autounbox from nullable Object to Bool */;
9861 var23
= string__NativeString__to_s_with_length(var21
, var22
);
9865 var24
= ((val
* (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__type_test
]))(self
, var_res
, var_implicit_cast_to
, var20
) /* type_test on <self:AbstractCompilerVisitor>*/;
9866 var_castres
= var24
;
9872 var29
= string__NativeString__to_s_with_length(var27
, var28
);
9881 var34
= string__NativeString__to_s_with_length(var32
, var33
);
9885 var35
= NEW_array__Array(&type_array__Arraykernel__Object
);
9886 { /* var35 = array_instance Array[Object] */
9888 var37
= NEW_array__NativeArray(var36
, &type_array__NativeArraykernel__Object
);
9889 ((struct instance_array__NativeArray
*)var37
)->values
[0] = (val
*) var26
;
9890 ((struct instance_array__NativeArray
*)var37
)->values
[1] = (val
*) var_castres
;
9891 ((struct instance_array__NativeArray
*)var37
)->values
[2] = (val
*) var31
;
9892 ((void (*)(val
*, val
*, long))(var35
->class->vft
[COLOR_array__Array__with_native
]))(var35
, var37
, var36
) /* with_native on <var35:Array[Object]>*/;
9893 CHECK_NEW_array__Array(var35
);
9895 var38
= ((val
* (*)(val
*))(var35
->class->vft
[COLOR_string__Object__to_s
]))(var35
) /* to_s on <var35:Array[Object]>*/;
9896 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var38
) /* add on <self:AbstractCompilerVisitor>*/;
9900 var41
= "Cast failed";
9902 var43
= string__NativeString__to_s_with_length(var41
, var42
);
9906 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort
]))(self
, var40
) /* add_abort on <self:AbstractCompilerVisitor>*/;
9912 var48
= string__NativeString__to_s_with_length(var46
, var47
);
9916 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var45
) /* add on <self:AbstractCompilerVisitor>*/;
9917 var49
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__autoadapt
]))(self
, var_res
, var_implicit_cast_to
) /* autoadapt on <self:AbstractCompilerVisitor>*/;
9921 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node_61d
]))(self
, var_old
) /* current_node= on <self:AbstractCompilerVisitor>*/;
9927 /* method abstract_compiler#AbstractCompilerVisitor#expr for (self: Object, AExpr, nullable MType): RuntimeVariable */
9928 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__expr(val
* self
, val
* p0
, val
* p1
) {
9929 val
* var
/* : RuntimeVariable */;
9930 val
* var1
/* : RuntimeVariable */;
9931 var1
= abstract_compiler__AbstractCompilerVisitor__expr(self
, p0
, p1
);
9936 /* method abstract_compiler#AbstractCompilerVisitor#expr_bool for (self: AbstractCompilerVisitor, AExpr): RuntimeVariable */
9937 val
* abstract_compiler__AbstractCompilerVisitor__expr_bool(val
* self
, val
* p0
) {
9938 val
* var
/* : RuntimeVariable */;
9939 val
* var_nexpr
/* var nexpr: AExpr */;
9940 val
* var1
/* : MClassType */;
9941 val
* var2
/* : RuntimeVariable */;
9943 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__bool_type
]))(self
) /* bool_type on <self:AbstractCompilerVisitor>*/;
9944 var2
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__expr
]))(self
, var_nexpr
, var1
) /* expr on <self:AbstractCompilerVisitor>*/;
9950 /* method abstract_compiler#AbstractCompilerVisitor#expr_bool for (self: Object, AExpr): RuntimeVariable */
9951 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__expr_bool(val
* self
, val
* p0
) {
9952 val
* var
/* : RuntimeVariable */;
9953 val
* var1
/* : RuntimeVariable */;
9954 var1
= abstract_compiler__AbstractCompilerVisitor__expr_bool(self
, p0
);