1 #include "ffi_base.sep.0.h"
2 /* method ffi_base#ToolContext#ffi_language_assignation_phase for (self: ToolContext): Phase */
3 val
* ffi_base__ToolContext__ffi_language_assignation_phase(val
* self
) {
4 val
* var
/* : Phase */;
5 val
* var1
/* : Phase */;
6 var1
= self
->attrs
[COLOR_ffi_base__ToolContext___64dffi_language_assignation_phase
].val
; /* @ffi_language_assignation_phase on <self:ToolContext> */
8 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @ffi_language_assignation_phase");
9 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/ffi_base.nit", 26);
16 /* method ffi_base#ToolContext#ffi_language_assignation_phase for (self: Object): Phase */
17 val
* VIRTUAL_ffi_base__ToolContext__ffi_language_assignation_phase(val
* self
) {
18 val
* var
/* : Phase */;
19 val
* var1
/* : Phase */;
20 var1
= ffi_base__ToolContext__ffi_language_assignation_phase(self
);
25 /* method ffi_base#ToolContext#ffi_language_assignation_phase= for (self: ToolContext, Phase) */
26 void ffi_base__ToolContext__ffi_language_assignation_phase_61d(val
* self
, val
* p0
) {
27 self
->attrs
[COLOR_ffi_base__ToolContext___64dffi_language_assignation_phase
].val
= p0
; /* @ffi_language_assignation_phase on <self:ToolContext> */
30 /* method ffi_base#ToolContext#ffi_language_assignation_phase= for (self: Object, Phase) */
31 void VIRTUAL_ffi_base__ToolContext__ffi_language_assignation_phase_61d(val
* self
, val
* p0
) {
32 ffi_base__ToolContext__ffi_language_assignation_phase_61d(self
, p0
);
35 /* method ffi_base#FFILanguageAssignationPhase#languages for (self: FFILanguageAssignationPhase): Array[FFILanguage] */
36 val
* ffi_base__FFILanguageAssignationPhase__languages(val
* self
) {
37 val
* var
/* : Array[FFILanguage] */;
38 val
* var1
/* : Array[FFILanguage] */;
39 var1
= self
->attrs
[COLOR_ffi_base__FFILanguageAssignationPhase___64dlanguages
].val
; /* @languages on <self:FFILanguageAssignationPhase> */
41 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @languages");
42 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/ffi_base.nit", 32);
49 /* method ffi_base#FFILanguageAssignationPhase#languages for (self: Object): Array[FFILanguage] */
50 val
* VIRTUAL_ffi_base__FFILanguageAssignationPhase__languages(val
* self
) {
51 val
* var
/* : Array[FFILanguage] */;
52 val
* var1
/* : Array[FFILanguage] */;
53 var1
= ffi_base__FFILanguageAssignationPhase__languages(self
);
58 /* method ffi_base#FFILanguageAssignationPhase#languages= for (self: FFILanguageAssignationPhase, Array[FFILanguage]) */
59 void ffi_base__FFILanguageAssignationPhase__languages_61d(val
* self
, val
* p0
) {
60 self
->attrs
[COLOR_ffi_base__FFILanguageAssignationPhase___64dlanguages
].val
= p0
; /* @languages on <self:FFILanguageAssignationPhase> */
63 /* method ffi_base#FFILanguageAssignationPhase#languages= for (self: Object, Array[FFILanguage]) */
64 void VIRTUAL_ffi_base__FFILanguageAssignationPhase__languages_61d(val
* self
, val
* p0
) {
65 ffi_base__FFILanguageAssignationPhase__languages_61d(self
, p0
);
68 /* method ffi_base#FFILanguageAssignationPhase#process_nmodule for (self: FFILanguageAssignationPhase, AModule) */
69 void ffi_base__FFILanguageAssignationPhase__process_nmodule(val
* self
, val
* p0
) {
70 val
* var_nmodule
/* var nmodule: AModule */;
71 val
* var
/* : ANodes[AExternCodeBlock] */;
72 val
* var1
/* : Iterator[nullable Object] */;
73 short int var2
/* : Bool */;
74 val
* var3
/* : nullable Object */;
75 val
* var_block
/* var block: AExternCodeBlock */;
77 var
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_parser_nodes__AModule__n_extern_code_blocks
]))(var_nmodule
) /* n_extern_code_blocks on <var_nmodule:AModule>*/;
78 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var
) /* iterator on <var:ANodes[AExternCodeBlock]>*/;
80 var2
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var1
) /* is_ok on <var1:Iterator[nullable Object]>*/;
82 var3
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var1
) /* item on <var1:Iterator[nullable Object]>*/;
84 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_ffi_base__FFILanguageAssignationPhase__verify_foreign_code_on_node
]))(self
, var_block
) /* verify_foreign_code_on_node on <self:FFILanguageAssignationPhase>*/;
85 CONTINUE_label
: (void)0;
86 ((void (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var1
) /* next on <var1:Iterator[nullable Object]>*/;
91 /* method ffi_base#FFILanguageAssignationPhase#process_nmodule for (self: Object, AModule) */
92 void VIRTUAL_ffi_base__FFILanguageAssignationPhase__process_nmodule(val
* self
, val
* p0
) {
93 ffi_base__FFILanguageAssignationPhase__process_nmodule(self
, p0
);
96 /* method ffi_base#FFILanguageAssignationPhase#process_npropdef for (self: FFILanguageAssignationPhase, APropdef) */
97 void ffi_base__FFILanguageAssignationPhase__process_npropdef(val
* self
, val
* p0
) {
98 val
* var_npropdef
/* var npropdef: APropdef */;
99 short int var
/* : Bool */;
102 val
* var1
/* : nullable AExternCodeBlock */;
103 val
* var_code_block
/* var code_block: nullable AExternCodeBlock */;
104 val
* var2
/* : null */;
105 short int var3
/* : Bool */;
107 /* <var_npropdef:APropdef> isa AExternPropdef */
108 cltype
= type_parser_nodes__AExternPropdef
.color
;
109 idtype
= type_parser_nodes__AExternPropdef
.id
;
110 if(cltype
>= var_npropdef
->type
->table_size
) {
113 var
= var_npropdef
->type
->type_table
[cltype
] == idtype
;
116 var1
= ((val
* (*)(val
*))(var_npropdef
->class->vft
[COLOR_parser_nodes__AExternPropdef__n_extern_code_block
]))(var_npropdef
) /* n_extern_code_block on <var_npropdef:APropdef(AExternPropdef)>*/;
117 var_code_block
= var1
;
119 if (var_code_block
== NULL
) {
120 var3
= 0; /* is null */
122 var3
= 1; /* arg is null and recv is not */
125 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_ffi_base__FFILanguageAssignationPhase__verify_foreign_code_on_node
]))(self
, var_code_block
) /* verify_foreign_code_on_node on <self:FFILanguageAssignationPhase>*/;
132 /* method ffi_base#FFILanguageAssignationPhase#process_npropdef for (self: Object, APropdef) */
133 void VIRTUAL_ffi_base__FFILanguageAssignationPhase__process_npropdef(val
* self
, val
* p0
) {
134 ffi_base__FFILanguageAssignationPhase__process_npropdef(self
, p0
);
137 /* method ffi_base#FFILanguageAssignationPhase#process_nclassdef for (self: FFILanguageAssignationPhase, AClassdef) */
138 void ffi_base__FFILanguageAssignationPhase__process_nclassdef(val
* self
, val
* p0
) {
139 val
* var_nclassdef
/* var nclassdef: AClassdef */;
140 short int var
/* : Bool */;
141 short int var1
/* : Bool */;
144 short int var_
/* var : Bool */;
145 val
* var2
/* : nullable AExternCodeBlock */;
146 val
* var3
/* : null */;
147 short int var4
/* : Bool */;
148 val
* var5
/* : nullable AExternCodeBlock */;
150 /* <var_nclassdef:AClassdef> isa AStdClassdef */
151 cltype
= type_parser_nodes__AStdClassdef
.color
;
152 idtype
= type_parser_nodes__AStdClassdef
.id
;
153 if(cltype
>= var_nclassdef
->type
->table_size
) {
156 var1
= var_nclassdef
->type
->type_table
[cltype
] == idtype
;
160 var2
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_parser_nodes__AStdClassdef__n_extern_code_block
]))(var_nclassdef
) /* n_extern_code_block on <var_nclassdef:AClassdef(AStdClassdef)>*/;
163 var4
= 0; /* is null */
165 var4
= 1; /* arg is null and recv is not */
172 var5
= ((val
* (*)(val
*))(var_nclassdef
->class->vft
[COLOR_parser_nodes__AStdClassdef__n_extern_code_block
]))(var_nclassdef
) /* n_extern_code_block on <var_nclassdef:AClassdef(AStdClassdef)>*/;
174 fprintf(stderr
, "Runtime error: %s", "Cast failed");
175 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/ffi_base.nit", 55);
178 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_ffi_base__FFILanguageAssignationPhase__verify_foreign_code_on_node
]))(self
, var5
) /* verify_foreign_code_on_node on <self:FFILanguageAssignationPhase>*/;
183 /* method ffi_base#FFILanguageAssignationPhase#process_nclassdef for (self: Object, AClassdef) */
184 void VIRTUAL_ffi_base__FFILanguageAssignationPhase__process_nclassdef(val
* self
, val
* p0
) {
185 ffi_base__FFILanguageAssignationPhase__process_nclassdef(self
, p0
);
188 /* method ffi_base#FFILanguageAssignationPhase#verify_foreign_code_on_node for (self: FFILanguageAssignationPhase, AExternCodeBlock) */
189 void ffi_base__FFILanguageAssignationPhase__verify_foreign_code_on_node(val
* self
, val
* p0
) {
190 val
* var_n
/* var n: AExternCodeBlock */;
191 short int var
/* : Bool */;
192 short int var_found
/* var found: Bool */;
193 val
* var1
/* : Array[FFILanguage] */;
194 val
* var2
/* : Iterator[nullable Object] */;
195 short int var3
/* : Bool */;
196 val
* var4
/* : nullable Object */;
197 val
* var_v
/* var v: FFILanguage */;
198 short int var5
/* : Bool */;
199 short int var_identified
/* var identified: Bool */;
200 short int var6
/* : Bool */;
201 short int var_
/* var : Bool */;
202 val
* var7
/* : ToolContext */;
203 val
* var8
/* : Location */;
205 val
* var9
/* : String */;
206 char* var10
/* : NativeString */;
207 long var11
/* : Int */;
208 val
* var12
/* : String */;
209 short int var13
/* : Bool */;
210 short int var14
/* : Bool */;
211 val
* var15
/* : ToolContext */;
212 val
* var16
/* : Location */;
213 static val
* varonce17
;
214 val
* var18
/* : String */;
215 char* var19
/* : NativeString */;
216 long var20
/* : Int */;
217 val
* var21
/* : String */;
221 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_ffi_base__FFILanguageAssignationPhase__languages
]))(self
) /* languages on <self:FFILanguageAssignationPhase>*/;
222 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var1
) /* iterator on <var1:Array[FFILanguage]>*/;
224 var3
= ((short int (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var2
) /* is_ok on <var2:Iterator[nullable Object]>*/;
226 var4
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var2
) /* item on <var2:Iterator[nullable Object]>*/;
228 var5
= ((short int (*)(val
*, val
*))(var_v
->class->vft
[COLOR_ffi_base__FFILanguage__identify_language
]))(var_v
, var_n
) /* identify_language on <var_v:FFILanguage>*/;
229 var_identified
= var5
;
233 var6
= var_identified
;
238 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_phase__Phase__toolcontext
]))(self
) /* toolcontext on <self:FFILanguageAssignationPhase>*/;
239 var8
= ((val
* (*)(val
*))(var_n
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var_n
) /* location on <var_n:AExternCodeBlock>*/;
243 var10
= "Two languages identified as possible handlers.";
245 var12
= string__NativeString__to_s_with_length(var10
, var11
);
249 ((void (*)(val
*, val
*, val
*))(var7
->class->vft
[COLOR_toolcontext__ToolContext__error
]))(var7
, var8
, var9
) /* error on <var7:ToolContext>*/;
252 ((void (*)(val
*, val
*))(var_n
->class->vft
[COLOR_ffi_base__AExternCodeBlock__language_61d
]))(var_n
, var_v
) /* language= on <var_n:AExternCodeBlock>*/;
257 CONTINUE_label
: (void)0;
258 ((void (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var2
) /* next on <var2:Iterator[nullable Object]>*/;
260 BREAK_label
: (void)0;
263 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_phase__Phase__toolcontext
]))(self
) /* toolcontext on <self:FFILanguageAssignationPhase>*/;
264 var16
= ((val
* (*)(val
*))(var_n
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var_n
) /* location on <var_n:AExternCodeBlock>*/;
268 var19
= "Unsupported language.";
270 var21
= string__NativeString__to_s_with_length(var19
, var20
);
274 ((void (*)(val
*, val
*, val
*))(var15
->class->vft
[COLOR_toolcontext__ToolContext__error
]))(var15
, var16
, var18
) /* error on <var15:ToolContext>*/;
279 /* method ffi_base#FFILanguageAssignationPhase#verify_foreign_code_on_node for (self: Object, AExternCodeBlock) */
280 void VIRTUAL_ffi_base__FFILanguageAssignationPhase__verify_foreign_code_on_node(val
* self
, val
* p0
) {
281 ffi_base__FFILanguageAssignationPhase__verify_foreign_code_on_node(self
, p0
);
284 /* method ffi_base#AModule#ffi_files for (self: AModule): Array[ExternFile] */
285 val
* ffi_base__AModule__ffi_files(val
* self
) {
286 val
* var
/* : Array[ExternFile] */;
287 val
* var1
/* : Array[ExternFile] */;
288 var1
= self
->attrs
[COLOR_ffi_base__AModule___64dffi_files
].val
; /* @ffi_files on <self:AModule> */
290 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @ffi_files");
291 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/ffi_base.nit", 78);
298 /* method ffi_base#AModule#ffi_files for (self: Object): Array[ExternFile] */
299 val
* VIRTUAL_ffi_base__AModule__ffi_files(val
* self
) {
300 val
* var
/* : Array[ExternFile] */;
301 val
* var1
/* : Array[ExternFile] */;
302 var1
= ffi_base__AModule__ffi_files(self
);
307 /* method ffi_base#AModule#ffi_files= for (self: AModule, Array[ExternFile]) */
308 void ffi_base__AModule__ffi_files_61d(val
* self
, val
* p0
) {
309 self
->attrs
[COLOR_ffi_base__AModule___64dffi_files
].val
= p0
; /* @ffi_files on <self:AModule> */
312 /* method ffi_base#AModule#ffi_files= for (self: Object, Array[ExternFile]) */
313 void VIRTUAL_ffi_base__AModule__ffi_files_61d(val
* self
, val
* p0
) {
314 ffi_base__AModule__ffi_files_61d(self
, p0
);
317 /* method ffi_base#AExternCodeBlock#language_name for (self: AExternCodeBlock): nullable String */
318 val
* ffi_base__AExternCodeBlock__language_name(val
* self
) {
319 val
* var
/* : nullable String */;
320 val
* var1
/* : nullable AInLanguage */;
321 val
* var2
/* : null */;
322 short int var3
/* : Bool */;
323 val
* var4
/* : null */;
324 val
* var5
/* : nullable AInLanguage */;
325 val
* var6
/* : TString */;
326 val
* var7
/* : String */;
327 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AExternCodeBlock__n_in_language
]))(self
) /* n_in_language on <self:AExternCodeBlock>*/;
330 var3
= 1; /* is null */
332 var3
= 0; /* arg is null but recv is not */
340 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AExternCodeBlock__n_in_language
]))(self
) /* n_in_language on <self:AExternCodeBlock>*/;
342 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
343 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/ffi_base.nit", 84);
346 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_parser_nodes__AInLanguage__n_string
]))(var5
) /* n_string on <var5:nullable AInLanguage>*/;
348 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_ffi_base__TString__without_quotes
]))(var6
) /* without_quotes on <var6:TString>*/;
354 /* method ffi_base#AExternCodeBlock#language_name for (self: Object): nullable String */
355 val
* VIRTUAL_ffi_base__AExternCodeBlock__language_name(val
* self
) {
356 val
* var
/* : nullable String */;
357 val
* var1
/* : nullable String */;
358 var1
= ffi_base__AExternCodeBlock__language_name(self
);
363 /* method ffi_base#AExternCodeBlock#language_name_lowered for (self: AExternCodeBlock): nullable String */
364 val
* ffi_base__AExternCodeBlock__language_name_lowered(val
* self
) {
365 val
* var
/* : nullable String */;
366 val
* var1
/* : nullable String */;
367 val
* var2
/* : null */;
368 short int var3
/* : Bool */;
369 val
* var4
/* : null */;
370 val
* var5
/* : nullable String */;
371 val
* var6
/* : String */;
372 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_ffi_base__AExternCodeBlock__language_name
]))(self
) /* language_name on <self:AExternCodeBlock>*/;
375 var3
= 1; /* is null */
377 var3
= 0; /* arg is null but recv is not */
385 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_ffi_base__AExternCodeBlock__language_name
]))(self
) /* language_name on <self:AExternCodeBlock>*/;
387 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
388 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/ffi_base.nit", 88);
391 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_string__AbstractString__to_lower
]))(var5
) /* to_lower on <var5:nullable String>*/;
398 /* method ffi_base#AExternCodeBlock#language_name_lowered for (self: Object): nullable String */
399 val
* VIRTUAL_ffi_base__AExternCodeBlock__language_name_lowered(val
* self
) {
400 val
* var
/* : nullable String */;
401 val
* var1
/* : nullable String */;
402 var1
= ffi_base__AExternCodeBlock__language_name_lowered(self
);
407 /* method ffi_base#AExternCodeBlock#code for (self: AExternCodeBlock): String */
408 val
* ffi_base__AExternCodeBlock__code(val
* self
) {
409 val
* var
/* : String */;
410 val
* var1
/* : TExternCodeSegment */;
411 val
* var2
/* : String */;
412 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__AExternCodeBlock__n_extern_code_segment
]))(self
) /* n_extern_code_segment on <self:AExternCodeBlock>*/;
413 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_ffi_base__TExternCodeSegment__without_guard
]))(var1
) /* without_guard on <var1:TExternCodeSegment>*/;
419 /* method ffi_base#AExternCodeBlock#code for (self: Object): String */
420 val
* VIRTUAL_ffi_base__AExternCodeBlock__code(val
* self
) {
421 val
* var
/* : String */;
422 val
* var1
/* : String */;
423 var1
= ffi_base__AExternCodeBlock__code(self
);
428 /* method ffi_base#AExternCodeBlock#language for (self: AExternCodeBlock): nullable FFILanguage */
429 val
* ffi_base__AExternCodeBlock__language(val
* self
) {
430 val
* var
/* : nullable FFILanguage */;
431 val
* var1
/* : nullable FFILanguage */;
432 var1
= self
->attrs
[COLOR_ffi_base__AExternCodeBlock___64dlanguage
].val
; /* @language on <self:AExternCodeBlock> */
437 /* method ffi_base#AExternCodeBlock#language for (self: Object): nullable FFILanguage */
438 val
* VIRTUAL_ffi_base__AExternCodeBlock__language(val
* self
) {
439 val
* var
/* : nullable FFILanguage */;
440 val
* var1
/* : nullable FFILanguage */;
441 var1
= ffi_base__AExternCodeBlock__language(self
);
446 /* method ffi_base#AExternCodeBlock#language= for (self: AExternCodeBlock, nullable FFILanguage) */
447 void ffi_base__AExternCodeBlock__language_61d(val
* self
, val
* p0
) {
448 self
->attrs
[COLOR_ffi_base__AExternCodeBlock___64dlanguage
].val
= p0
; /* @language on <self:AExternCodeBlock> */
451 /* method ffi_base#AExternCodeBlock#language= for (self: Object, nullable FFILanguage) */
452 void VIRTUAL_ffi_base__AExternCodeBlock__language_61d(val
* self
, val
* p0
) {
453 ffi_base__AExternCodeBlock__language_61d(self
, p0
);
456 /* method ffi_base#FFILanguage#init for (self: FFILanguage, FFILanguageAssignationPhase) */
457 void ffi_base__FFILanguage__init(val
* self
, val
* p0
) {
458 val
* var_ffi_language_assignation_phase
/* var ffi_language_assignation_phase: FFILanguageAssignationPhase */;
459 val
* var
/* : Array[FFILanguage] */;
460 var_ffi_language_assignation_phase
= p0
;
461 var
= ((val
* (*)(val
*))(var_ffi_language_assignation_phase
->class->vft
[COLOR_ffi_base__FFILanguageAssignationPhase__languages
]))(var_ffi_language_assignation_phase
) /* languages on <var_ffi_language_assignation_phase:FFILanguageAssignationPhase>*/;
462 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var
, self
) /* add on <var:Array[FFILanguage]>*/;
465 /* method ffi_base#FFILanguage#init for (self: Object, FFILanguageAssignationPhase) */
466 void VIRTUAL_ffi_base__FFILanguage__init(val
* self
, val
* p0
) {
467 ffi_base__FFILanguage__init(self
, p0
);
470 /* method ffi_base#FFILanguage#identify_language for (self: FFILanguage, AExternCodeBlock): Bool */
471 short int ffi_base__FFILanguage__identify_language(val
* self
, val
* p0
) {
472 short int var
/* : Bool */;
473 const char* var_class_name
;
474 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
475 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "identify_language", var_class_name
);
476 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/ffi_base.nit", 104);
481 /* method ffi_base#FFILanguage#identify_language for (self: Object, AExternCodeBlock): Bool */
482 short int VIRTUAL_ffi_base__FFILanguage__identify_language(val
* self
, val
* p0
) {
483 short int var
/* : Bool */;
484 short int var1
/* : Bool */;
485 var1
= ffi_base__FFILanguage__identify_language(self
, p0
);
490 /* method ffi_base#FFILanguage#compile_module_block for (self: FFILanguage, AExternCodeBlock, CCompilationUnit, AModule) */
491 void ffi_base__FFILanguage__compile_module_block(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
492 const char* var_class_name
;
493 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
494 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "compile_module_block", var_class_name
);
495 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/ffi_base.nit", 107);
499 /* method ffi_base#FFILanguage#compile_module_block for (self: Object, AExternCodeBlock, CCompilationUnit, AModule) */
500 void VIRTUAL_ffi_base__FFILanguage__compile_module_block(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
501 ffi_base__FFILanguage__compile_module_block(self
, p0
, p1
, p2
);
504 /* method ffi_base#FFILanguage#compile_extern_method for (self: FFILanguage, AExternCodeBlock, AExternPropdef, CCompilationUnit, AModule) */
505 void ffi_base__FFILanguage__compile_extern_method(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
506 const char* var_class_name
;
507 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
508 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "compile_extern_method", var_class_name
);
509 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/ffi_base.nit", 110);
513 /* method ffi_base#FFILanguage#compile_extern_method for (self: Object, AExternCodeBlock, AExternPropdef, CCompilationUnit, AModule) */
514 void VIRTUAL_ffi_base__FFILanguage__compile_extern_method(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
515 ffi_base__FFILanguage__compile_extern_method(self
, p0
, p1
, p2
, p3
);
518 /* method ffi_base#FFILanguage#compile_extern_class for (self: FFILanguage, AExternCodeBlock, AClassdef, CCompilationUnit, AModule) */
519 void ffi_base__FFILanguage__compile_extern_class(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
520 const char* var_class_name
;
521 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
522 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "compile_extern_class", var_class_name
);
523 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/ffi_base.nit", 114);
527 /* method ffi_base#FFILanguage#compile_extern_class for (self: Object, AExternCodeBlock, AClassdef, CCompilationUnit, AModule) */
528 void VIRTUAL_ffi_base__FFILanguage__compile_extern_class(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
529 ffi_base__FFILanguage__compile_extern_class(self
, p0
, p1
, p2
, p3
);
532 /* method ffi_base#FFILanguage#get_ftype for (self: FFILanguage, AExternCodeBlock, AClassdef): ForeignType */
533 val
* ffi_base__FFILanguage__get_ftype(val
* self
, val
* p0
, val
* p1
) {
534 val
* var
/* : ForeignType */;
535 const char* var_class_name
;
536 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
537 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "get_ftype", var_class_name
);
538 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/ffi_base.nit", 118);
543 /* method ffi_base#FFILanguage#get_ftype for (self: Object, AExternCodeBlock, AClassdef): ForeignType */
544 val
* VIRTUAL_ffi_base__FFILanguage__get_ftype(val
* self
, val
* p0
, val
* p1
) {
545 val
* var
/* : ForeignType */;
546 val
* var1
/* : ForeignType */;
547 var1
= ffi_base__FFILanguage__get_ftype(self
, p0
, p1
);
552 /* method ffi_base#FFILanguage#compile_callback for (self: FFILanguage, NitniCallback, AModule, MModule, CCompilationUnit) */
553 void ffi_base__FFILanguage__compile_callback(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
554 const char* var_class_name
;
555 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
556 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "compile_callback", var_class_name
);
557 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/ffi_base.nit", 121);
561 /* method ffi_base#FFILanguage#compile_callback for (self: Object, NitniCallback, AModule, MModule, CCompilationUnit) */
562 void VIRTUAL_ffi_base__FFILanguage__compile_callback(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
563 ffi_base__FFILanguage__compile_callback(self
, p0
, p1
, p2
, p3
);
566 /* method ffi_base#FFILanguage#compile_to_files for (self: FFILanguage, AModule, String) */
567 void ffi_base__FFILanguage__compile_to_files(val
* self
, val
* p0
, val
* p1
) {
568 val
* var_amodule
/* var amodule: AModule */;
569 val
* var_directory
/* var directory: String */;
574 /* method ffi_base#FFILanguage#compile_to_files for (self: Object, AModule, String) */
575 void VIRTUAL_ffi_base__FFILanguage__compile_to_files(val
* self
, val
* p0
, val
* p1
) {
576 ffi_base__FFILanguage__compile_to_files(self
, p0
, p1
);
579 /* method ffi_base#TString#without_quotes for (self: TString): String */
580 val
* ffi_base__TString__without_quotes(val
* self
) {
581 val
* var
/* : String */;
582 val
* var1
/* : String */;
583 long var2
/* : Int */;
584 long var3
/* : Int */;
585 short int var4
/* : Bool */;
586 short int var6
/* : Bool */;
589 const char* var_class_name
;
590 short int var7
/* : Bool */;
591 val
* var8
/* : String */;
592 long var9
/* : Int */;
593 val
* var10
/* : String */;
594 long var11
/* : Int */;
595 long var12
/* : Int */;
596 long var13
/* : Int */;
597 long var15
/* : Int */;
598 val
* var16
/* : String */;
599 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__Token__text
]))(self
) /* text on <self:TString>*/;
600 var2
= ((long (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var1
) /* length on <var1:String>*/;
602 { /* Inline kernel#Int#>= (var2,var3) */
603 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
604 /* <var3:Int> isa OTHER */
605 var6
= 1; /* easy <var3:Int> isa OTHER*/
607 var_class_name
= type_kernel__Int
.name
;
608 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
609 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
618 fprintf(stderr
, "Runtime error: %s", "Assert failed");
619 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/ffi_base.nit", 133);
622 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__Token__text
]))(self
) /* text on <self:TString>*/;
624 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__Token__text
]))(self
) /* text on <self:TString>*/;
625 var11
= ((long (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var10
) /* length on <var10:String>*/;
627 { /* Inline kernel#Int#- (var11,var12) */
628 var15
= var11
- var12
;
633 var16
= ((val
* (*)(val
*, long, long))(var8
->class->vft
[COLOR_string__AbstractString__substring
]))(var8
, var9
, var13
) /* substring on <var8:String>*/;
639 /* method ffi_base#TString#without_quotes for (self: Object): String */
640 val
* VIRTUAL_ffi_base__TString__without_quotes(val
* self
) {
641 val
* var
/* : String */;
642 val
* var1
/* : String */;
643 var1
= ffi_base__TString__without_quotes(self
);
648 /* method ffi_base#TExternCodeSegment#without_guard for (self: TExternCodeSegment): String */
649 val
* ffi_base__TExternCodeSegment__without_guard(val
* self
) {
650 val
* var
/* : String */;
651 val
* var1
/* : String */;
652 long var2
/* : Int */;
653 long var3
/* : Int */;
654 short int var4
/* : Bool */;
655 short int var6
/* : Bool */;
658 const char* var_class_name
;
659 short int var7
/* : Bool */;
660 val
* var8
/* : String */;
661 long var9
/* : Int */;
662 val
* var10
/* : String */;
663 long var11
/* : Int */;
664 long var12
/* : Int */;
665 long var13
/* : Int */;
666 long var15
/* : Int */;
667 val
* var16
/* : String */;
668 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__Token__text
]))(self
) /* text on <self:TExternCodeSegment>*/;
669 var2
= ((long (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var1
) /* length on <var1:String>*/;
671 { /* Inline kernel#Int#>= (var2,var3) */
672 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
673 /* <var3:Int> isa OTHER */
674 var6
= 1; /* easy <var3:Int> isa OTHER*/
676 var_class_name
= type_kernel__Int
.name
;
677 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
678 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
687 fprintf(stderr
, "Runtime error: %s", "Assert failed");
688 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/ffi_base.nit", 142);
691 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__Token__text
]))(self
) /* text on <self:TExternCodeSegment>*/;
693 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_parser_nodes__Token__text
]))(self
) /* text on <self:TExternCodeSegment>*/;
694 var11
= ((long (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var10
) /* length on <var10:String>*/;
696 { /* Inline kernel#Int#- (var11,var12) */
697 var15
= var11
- var12
;
702 var16
= ((val
* (*)(val
*, long, long))(var8
->class->vft
[COLOR_string__AbstractString__substring
]))(var8
, var9
, var13
) /* substring on <var8:String>*/;
708 /* method ffi_base#TExternCodeSegment#without_guard for (self: Object): String */
709 val
* VIRTUAL_ffi_base__TExternCodeSegment__without_guard(val
* self
) {
710 val
* var
/* : String */;
711 val
* var1
/* : String */;
712 var1
= ffi_base__TExternCodeSegment__without_guard(self
);
717 /* method ffi_base#ExternFile#filename for (self: ExternFile): String */
718 val
* ffi_base__ExternFile__filename(val
* self
) {
719 val
* var
/* : String */;
720 val
* var1
/* : String */;
721 var1
= self
->attrs
[COLOR_ffi_base__ExternFile___64dfilename
].val
; /* @filename on <self:ExternFile> */
723 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @filename");
724 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/ffi_base.nit", 149);
731 /* method ffi_base#ExternFile#filename for (self: Object): String */
732 val
* VIRTUAL_ffi_base__ExternFile__filename(val
* self
) {
733 val
* var
/* : String */;
734 val
* var1
/* : String */;
735 var1
= ffi_base__ExternFile__filename(self
);
740 /* method ffi_base#ExternFile#filename= for (self: ExternFile, String) */
741 void ffi_base__ExternFile__filename_61d(val
* self
, val
* p0
) {
742 self
->attrs
[COLOR_ffi_base__ExternFile___64dfilename
].val
= p0
; /* @filename on <self:ExternFile> */
745 /* method ffi_base#ExternFile#filename= for (self: Object, String) */
746 void VIRTUAL_ffi_base__ExternFile__filename_61d(val
* self
, val
* p0
) {
747 ffi_base__ExternFile__filename_61d(self
, p0
);
750 /* method ffi_base#ExternFile#makefile_rule_name for (self: ExternFile): String */
751 val
* ffi_base__ExternFile__makefile_rule_name(val
* self
) {
752 val
* var
/* : String */;
753 const char* var_class_name
;
754 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
755 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "makefile_rule_name", var_class_name
);
756 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/ffi_base.nit", 152);
761 /* method ffi_base#ExternFile#makefile_rule_name for (self: Object): String */
762 val
* VIRTUAL_ffi_base__ExternFile__makefile_rule_name(val
* self
) {
763 val
* var
/* : String */;
764 val
* var1
/* : String */;
765 var1
= ffi_base__ExternFile__makefile_rule_name(self
);
770 /* method ffi_base#ExternFile#makefile_rule_content for (self: ExternFile): String */
771 val
* ffi_base__ExternFile__makefile_rule_content(val
* self
) {
772 val
* var
/* : String */;
773 const char* var_class_name
;
774 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
775 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "makefile_rule_content", var_class_name
);
776 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/ffi_base.nit", 153);
781 /* method ffi_base#ExternFile#makefile_rule_content for (self: Object): String */
782 val
* VIRTUAL_ffi_base__ExternFile__makefile_rule_content(val
* self
) {
783 val
* var
/* : String */;
784 val
* var1
/* : String */;
785 var1
= ffi_base__ExternFile__makefile_rule_content(self
);
790 /* method ffi_base#ExternFile#init for (self: ExternFile, String) */
791 void ffi_base__ExternFile__init(val
* self
, val
* p0
) {
792 self
->attrs
[COLOR_ffi_base__ExternFile___64dfilename
].val
= p0
; /* @filename on <self:ExternFile> */
795 /* method ffi_base#ExternFile#init for (self: Object, String) */
796 void VIRTUAL_ffi_base__ExternFile__init(val
* self
, val
* p0
) {
797 ffi_base__ExternFile__init(self
, p0
);
800 /* method ffi_base#CCompilationUnit#write_as_impl for (self: CCompilationUnit, AModule, String) */
801 void ffi_base__CCompilationUnit__write_as_impl(val
* self
, val
* p0
, val
* p1
) {
802 val
* var_amodule
/* var amodule: AModule */;
803 val
* var_compdir
/* var compdir: String */;
804 val
* var
/* : Array[Object] */;
805 long var1
/* : Int */;
806 val
* var_
/* var : Array[Object] */;
808 val
* var2
/* : String */;
809 char* var3
/* : NativeString */;
810 long var4
/* : Int */;
811 val
* var5
/* : String */;
812 val
* var6
/* : nullable MModule */;
813 val
* var7
/* : String */;
814 static val
* varonce8
;
815 val
* var9
/* : String */;
816 char* var10
/* : NativeString */;
817 long var11
/* : Int */;
818 val
* var12
/* : String */;
819 val
* var13
/* : String */;
820 val
* var_base_name
/* var base_name: String */;
821 val
* var14
/* : Array[Object] */;
822 long var15
/* : Int */;
823 val
* var_16
/* var : Array[Object] */;
824 static val
* varonce17
;
825 val
* var18
/* : String */;
826 char* var19
/* : NativeString */;
827 long var20
/* : Int */;
828 val
* var21
/* : String */;
829 static val
* varonce22
;
830 val
* var23
/* : String */;
831 char* var24
/* : NativeString */;
832 long var25
/* : Int */;
833 val
* var26
/* : String */;
834 val
* var27
/* : String */;
835 val
* var_h_file
/* var h_file: String */;
836 val
* var28
/* : Array[Object] */;
837 long var29
/* : Int */;
838 val
* var_30
/* var : Array[Object] */;
839 static val
* varonce31
;
840 val
* var32
/* : String */;
841 char* var33
/* : NativeString */;
842 long var34
/* : Int */;
843 val
* var35
/* : String */;
844 val
* var36
/* : String */;
845 val
* var37
/* : String */;
846 val
* var38
/* : String */;
847 static val
* varonce39
;
848 val
* var40
/* : String */;
849 char* var41
/* : NativeString */;
850 long var42
/* : Int */;
851 val
* var43
/* : String */;
852 val
* var44
/* : String */;
853 val
* var_guard
/* var guard: String */;
854 static val
* varonce45
;
855 val
* var46
/* : String */;
856 char* var47
/* : NativeString */;
857 long var48
/* : Int */;
858 val
* var49
/* : String */;
859 val
* var50
/* : Array[Object] */;
860 long var51
/* : Int */;
861 val
* var52
/* : NativeArray[Object] */;
862 val
* var53
/* : String */;
863 val
* var54
/* : Array[String] */;
864 val
* var55
/* : Array[Object] */;
865 long var56
/* : Int */;
866 val
* var_57
/* var : Array[Object] */;
867 static val
* varonce58
;
868 val
* var59
/* : String */;
869 char* var60
/* : NativeString */;
870 long var61
/* : Int */;
871 val
* var62
/* : String */;
872 static val
* varonce63
;
873 val
* var64
/* : String */;
874 char* var65
/* : NativeString */;
875 long var66
/* : Int */;
876 val
* var67
/* : String */;
877 val
* var68
/* : String */;
878 val
* var_c_file
/* var c_file: String */;
879 static val
* varonce69
;
880 val
* var70
/* : String */;
881 char* var71
/* : NativeString */;
882 long var72
/* : Int */;
883 val
* var73
/* : String */;
884 val
* var74
/* : Array[Object] */;
885 long var75
/* : Int */;
886 val
* var76
/* : NativeArray[Object] */;
887 val
* var77
/* : String */;
888 static val
* varonce78
;
889 val
* var79
/* : String */;
890 char* var80
/* : NativeString */;
891 long var81
/* : Int */;
892 val
* var82
/* : String */;
893 static val
* varonce83
;
894 val
* var84
/* : String */;
895 char* var85
/* : NativeString */;
896 long var86
/* : Int */;
897 val
* var87
/* : String */;
898 val
* var88
/* : Array[Object] */;
899 long var89
/* : Int */;
900 val
* var_90
/* var : Array[Object] */;
901 static val
* varonce91
;
902 val
* var92
/* : String */;
903 char* var93
/* : NativeString */;
904 long var94
/* : Int */;
905 val
* var95
/* : String */;
906 static val
* varonce96
;
907 val
* var97
/* : String */;
908 char* var98
/* : NativeString */;
909 long var99
/* : Int */;
910 val
* var100
/* : String */;
911 val
* var101
/* : String */;
912 val
* var102
/* : Array[String] */;
913 long var103
/* : Int */;
914 val
* var104
/* : NativeArray[String] */;
915 val
* var105
/* : Array[String] */;
916 static val
* varonce106
;
917 val
* var107
/* : String */;
918 char* var108
/* : NativeString */;
919 long var109
/* : Int */;
920 val
* var110
/* : String */;
921 val
* var111
/* : Array[Object] */;
922 long var112
/* : Int */;
923 val
* var113
/* : NativeArray[Object] */;
924 val
* var114
/* : String */;
927 var
= NEW_array__Array(&type_array__Arraykernel__Object
);
929 ((void (*)(val
*, long))(var
->class->vft
[COLOR_array__Array__with_capacity
]))(var
, var1
) /* with_capacity on <var:Array[Object]>*/;
936 var5
= string__NativeString__to_s_with_length(var3
, var4
);
940 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var2
) /* add on <var_:Array[Object]>*/;
941 var6
= ((val
* (*)(val
*))(var_amodule
->class->vft
[COLOR_modelbuilder__AModule__mmodule
]))(var_amodule
) /* mmodule on <var_amodule:AModule>*/;
943 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
944 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/ffi_base.nit", 159);
947 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_mmodule__MModule__name
]))(var6
) /* name on <var6:nullable MModule>*/;
949 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var7
) /* add on <var_:Array[Object]>*/;
955 var12
= string__NativeString__to_s_with_length(var10
, var11
);
959 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var9
) /* add on <var_:Array[Object]>*/;
960 var13
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
961 var_base_name
= var13
;
962 var14
= NEW_array__Array(&type_array__Arraykernel__Object
);
964 ((void (*)(val
*, long))(var14
->class->vft
[COLOR_array__Array__with_capacity
]))(var14
, var15
) /* with_capacity on <var14:Array[Object]>*/;
971 var21
= string__NativeString__to_s_with_length(var19
, var20
);
975 ((void (*)(val
*, val
*))(var_16
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_16
, var18
) /* add on <var_16:Array[Object]>*/;
976 ((void (*)(val
*, val
*))(var_16
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_16
, var_base_name
) /* add on <var_16:Array[Object]>*/;
982 var26
= string__NativeString__to_s_with_length(var24
, var25
);
986 ((void (*)(val
*, val
*))(var_16
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_16
, var23
) /* add on <var_16:Array[Object]>*/;
987 var27
= ((val
* (*)(val
*))(var_16
->class->vft
[COLOR_string__Object__to_s
]))(var_16
) /* to_s on <var_16:Array[Object]>*/;
989 var28
= NEW_array__Array(&type_array__Arraykernel__Object
);
991 ((void (*)(val
*, long))(var28
->class->vft
[COLOR_array__Array__with_capacity
]))(var28
, var29
) /* with_capacity on <var28:Array[Object]>*/;
998 var35
= string__NativeString__to_s_with_length(var33
, var34
);
1002 ((void (*)(val
*, val
*))(var_30
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_30
, var32
) /* add on <var_30:Array[Object]>*/;
1003 var36
= ((val
* (*)(val
*))(var_amodule
->class->vft
[COLOR_nitni_base__AModule__cname
]))(var_amodule
) /* cname on <var_amodule:AModule>*/;
1004 var37
= ((val
* (*)(val
*))(var36
->class->vft
[COLOR_string__Object__to_s
]))(var36
) /* to_s on <var36:String>*/;
1005 var38
= ((val
* (*)(val
*))(var37
->class->vft
[COLOR_string__AbstractString__to_upper
]))(var37
) /* to_upper on <var37:String>*/;
1006 ((void (*)(val
*, val
*))(var_30
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_30
, var38
) /* add on <var_30:Array[Object]>*/;
1012 var43
= string__NativeString__to_s_with_length(var41
, var42
);
1016 ((void (*)(val
*, val
*))(var_30
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_30
, var40
) /* add on <var_30:Array[Object]>*/;
1017 var44
= ((val
* (*)(val
*))(var_30
->class->vft
[COLOR_string__Object__to_s
]))(var_30
) /* to_s on <var_30:Array[Object]>*/;
1024 var49
= string__NativeString__to_s_with_length(var47
, var48
);
1028 var50
= NEW_array__Array(&type_array__Arraykernel__Object
);
1029 { /* var50 = array_instance Array[Object] */
1031 var52
= NEW_array__NativeArray(var51
, &type_array__NativeArraykernel__Object
);
1032 ((struct instance_array__NativeArray
*)var52
)->values
[0] = (val
*) var_compdir
;
1033 ((struct instance_array__NativeArray
*)var52
)->values
[1] = (val
*) var46
;
1034 ((struct instance_array__NativeArray
*)var52
)->values
[2] = (val
*) var_h_file
;
1035 ((void (*)(val
*, val
*, long))(var50
->class->vft
[COLOR_array__Array__with_native
]))(var50
, var52
, var51
) /* with_native on <var50:Array[Object]>*/;
1037 var53
= ((val
* (*)(val
*))(var50
->class->vft
[COLOR_string__Object__to_s
]))(var50
) /* to_s on <var50:Array[Object]>*/;
1038 var54
= NEW_array__Array(&type_array__Arraystring__String
);
1039 ((void (*)(val
*))(var54
->class->vft
[COLOR_array__Array__init
]))(var54
) /* init on <var54:Array[String]>*/;
1040 ((void (*)(val
*, val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_ffi_base__CCompilationUnit__write_header_to_file
]))(self
, var_amodule
, var53
, var54
, var_guard
) /* write_header_to_file on <self:CCompilationUnit>*/;
1041 var55
= NEW_array__Array(&type_array__Arraykernel__Object
);
1043 ((void (*)(val
*, long))(var55
->class->vft
[COLOR_array__Array__with_capacity
]))(var55
, var56
) /* with_capacity on <var55:Array[Object]>*/;
1050 var62
= string__NativeString__to_s_with_length(var60
, var61
);
1054 ((void (*)(val
*, val
*))(var_57
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_57
, var59
) /* add on <var_57:Array[Object]>*/;
1055 ((void (*)(val
*, val
*))(var_57
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_57
, var_base_name
) /* add on <var_57:Array[Object]>*/;
1061 var67
= string__NativeString__to_s_with_length(var65
, var66
);
1065 ((void (*)(val
*, val
*))(var_57
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_57
, var64
) /* add on <var_57:Array[Object]>*/;
1066 var68
= ((val
* (*)(val
*))(var_57
->class->vft
[COLOR_string__Object__to_s
]))(var_57
) /* to_s on <var_57:Array[Object]>*/;
1073 var73
= string__NativeString__to_s_with_length(var71
, var72
);
1077 var74
= NEW_array__Array(&type_array__Arraykernel__Object
);
1078 { /* var74 = array_instance Array[Object] */
1080 var76
= NEW_array__NativeArray(var75
, &type_array__NativeArraykernel__Object
);
1081 ((struct instance_array__NativeArray
*)var76
)->values
[0] = (val
*) var_compdir
;
1082 ((struct instance_array__NativeArray
*)var76
)->values
[1] = (val
*) var70
;
1083 ((struct instance_array__NativeArray
*)var76
)->values
[2] = (val
*) var_c_file
;
1084 ((void (*)(val
*, val
*, long))(var74
->class->vft
[COLOR_array__Array__with_native
]))(var74
, var76
, var75
) /* with_native on <var74:Array[Object]>*/;
1086 var77
= ((val
* (*)(val
*))(var74
->class->vft
[COLOR_string__Object__to_s
]))(var74
) /* to_s on <var74:Array[Object]>*/;
1090 var80
= "<stdlib.h>";
1092 var82
= string__NativeString__to_s_with_length(var80
, var81
);
1099 var85
= "<stdio.h>";
1101 var87
= string__NativeString__to_s_with_length(var85
, var86
);
1105 var88
= NEW_array__Array(&type_array__Arraykernel__Object
);
1107 ((void (*)(val
*, long))(var88
->class->vft
[COLOR_array__Array__with_capacity
]))(var88
, var89
) /* with_capacity on <var88:Array[Object]>*/;
1114 var95
= string__NativeString__to_s_with_length(var93
, var94
);
1118 ((void (*)(val
*, val
*))(var_90
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_90
, var92
) /* add on <var_90:Array[Object]>*/;
1119 ((void (*)(val
*, val
*))(var_90
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_90
, var_h_file
) /* add on <var_90:Array[Object]>*/;
1125 var100
= string__NativeString__to_s_with_length(var98
, var99
);
1129 ((void (*)(val
*, val
*))(var_90
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_90
, var97
) /* add on <var_90:Array[Object]>*/;
1130 var101
= ((val
* (*)(val
*))(var_90
->class->vft
[COLOR_string__Object__to_s
]))(var_90
) /* to_s on <var_90:Array[Object]>*/;
1131 var102
= NEW_array__Array(&type_array__Arraystring__String
);
1132 { /* var102 = array_instance Array[String] */
1134 var104
= NEW_array__NativeArray(var103
, &type_array__NativeArraystring__String
);
1135 ((struct instance_array__NativeArray
*)var104
)->values
[0] = (val
*) var79
;
1136 ((struct instance_array__NativeArray
*)var104
)->values
[1] = (val
*) var84
;
1137 ((struct instance_array__NativeArray
*)var104
)->values
[2] = (val
*) var101
;
1138 ((void (*)(val
*, val
*, long))(var102
->class->vft
[COLOR_array__Array__with_native
]))(var102
, var104
, var103
) /* with_native on <var102:Array[String]>*/;
1140 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_ffi_base__CCompilationUnit__write_body_to_file
]))(self
, var_amodule
, var77
, var102
) /* write_body_to_file on <self:CCompilationUnit>*/;
1141 var105
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_c_tools__CCompilationUnit__files
]))(self
) /* files on <self:CCompilationUnit>*/;
1143 var107
= varonce106
;
1147 var110
= string__NativeString__to_s_with_length(var108
, var109
);
1149 varonce106
= var107
;
1151 var111
= NEW_array__Array(&type_array__Arraykernel__Object
);
1152 { /* var111 = array_instance Array[Object] */
1154 var113
= NEW_array__NativeArray(var112
, &type_array__NativeArraykernel__Object
);
1155 ((struct instance_array__NativeArray
*)var113
)->values
[0] = (val
*) var_compdir
;
1156 ((struct instance_array__NativeArray
*)var113
)->values
[1] = (val
*) var107
;
1157 ((struct instance_array__NativeArray
*)var113
)->values
[2] = (val
*) var_c_file
;
1158 ((void (*)(val
*, val
*, long))(var111
->class->vft
[COLOR_array__Array__with_native
]))(var111
, var113
, var112
) /* with_native on <var111:Array[Object]>*/;
1160 var114
= ((val
* (*)(val
*))(var111
->class->vft
[COLOR_string__Object__to_s
]))(var111
) /* to_s on <var111:Array[Object]>*/;
1161 ((void (*)(val
*, val
*))(var105
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var105
, var114
) /* add on <var105:Array[String]>*/;
1164 /* method ffi_base#CCompilationUnit#write_as_impl for (self: Object, AModule, String) */
1165 void VIRTUAL_ffi_base__CCompilationUnit__write_as_impl(val
* self
, val
* p0
, val
* p1
) {
1166 ffi_base__CCompilationUnit__write_as_impl(self
, p0
, p1
);
1169 /* method ffi_base#CCompilationUnit#write_header_to_file for (self: CCompilationUnit, AModule, String, Array[String], String) */
1170 void ffi_base__CCompilationUnit__write_header_to_file(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
1171 val
* var_amodule
/* var amodule: AModule */;
1172 val
* var_file
/* var file: String */;
1173 val
* var_includes
/* var includes: Array[String] */;
1174 val
* var_guard
/* var guard: String */;
1175 val
* var
/* : OFStream */;
1176 val
* var_stream
/* var stream: OFStream */;
1177 val
* var1
/* : Array[Object] */;
1178 long var2
/* : Int */;
1179 val
* var_
/* var : Array[Object] */;
1180 static val
* varonce
;
1181 val
* var3
/* : String */;
1182 char* var4
/* : NativeString */;
1183 long var5
/* : Int */;
1184 val
* var6
/* : String */;
1185 val
* var7
/* : nullable MModule */;
1186 val
* var8
/* : String */;
1187 static val
* varonce9
;
1188 val
* var10
/* : String */;
1189 char* var11
/* : NativeString */;
1190 long var12
/* : Int */;
1191 val
* var13
/* : String */;
1192 val
* var14
/* : String */;
1193 val
* var_module_info
/* var module_info: String */;
1194 static val
* varonce15
;
1195 val
* var16
/* : String */;
1196 char* var17
/* : NativeString */;
1197 long var18
/* : Int */;
1198 val
* var19
/* : String */;
1199 static val
* varonce20
;
1200 val
* var21
/* : String */;
1201 char* var22
/* : NativeString */;
1202 long var23
/* : Int */;
1203 val
* var24
/* : String */;
1204 val
* var25
/* : Array[Object] */;
1205 long var26
/* : Int */;
1206 val
* var27
/* : NativeArray[Object] */;
1207 val
* var28
/* : String */;
1208 static val
* varonce29
;
1209 val
* var30
/* : String */;
1210 char* var31
/* : NativeString */;
1211 long var32
/* : Int */;
1212 val
* var33
/* : String */;
1213 static val
* varonce34
;
1214 val
* var35
/* : String */;
1215 char* var36
/* : NativeString */;
1216 long var37
/* : Int */;
1217 val
* var38
/* : String */;
1218 val
* var39
/* : Array[Object] */;
1219 long var40
/* : Int */;
1220 val
* var41
/* : NativeArray[Object] */;
1221 val
* var42
/* : String */;
1222 val
* var43
/* : Iterator[nullable Object] */;
1223 short int var44
/* : Bool */;
1224 val
* var45
/* : nullable Object */;
1225 val
* var_incl
/* var incl: String */;
1226 static val
* varonce46
;
1227 val
* var47
/* : String */;
1228 char* var48
/* : NativeString */;
1229 long var49
/* : Int */;
1230 val
* var50
/* : String */;
1231 static val
* varonce51
;
1232 val
* var52
/* : String */;
1233 char* var53
/* : NativeString */;
1234 long var54
/* : Int */;
1235 val
* var55
/* : String */;
1236 val
* var56
/* : Array[Object] */;
1237 long var57
/* : Int */;
1238 val
* var58
/* : NativeArray[Object] */;
1239 val
* var59
/* : String */;
1240 static val
* varonce60
;
1241 val
* var61
/* : String */;
1242 char* var62
/* : NativeString */;
1243 long var63
/* : Int */;
1244 val
* var64
/* : String */;
1249 var
= NEW_file__OFStream(&type_file__OFStream
);
1250 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_file__OFStream__open
]))(var
, var_file
) /* open on <var:OFStream>*/;
1252 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
1254 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[Object]>*/;
1259 var4
= "/*\n\11Extern implementation of Nit module ";
1261 var6
= string__NativeString__to_s_with_length(var4
, var5
);
1265 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var3
) /* add on <var_:Array[Object]>*/;
1266 var7
= ((val
* (*)(val
*))(var_amodule
->class->vft
[COLOR_modelbuilder__AModule__mmodule
]))(var_amodule
) /* mmodule on <var_amodule:AModule>*/;
1268 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
1269 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/ffi_base.nit", 176);
1272 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_mmodule__MModule__name
]))(var7
) /* name on <var7:nullable MModule>*/;
1274 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var8
) /* add on <var_:Array[Object]>*/;
1280 var13
= string__NativeString__to_s_with_length(var11
, var12
);
1284 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var10
) /* add on <var_:Array[Object]>*/;
1285 var14
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
1286 var_module_info
= var14
;
1287 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var_module_info
) /* write on <var_stream:OFStream>*/;
1293 var19
= string__NativeString__to_s_with_length(var17
, var18
);
1302 var24
= string__NativeString__to_s_with_length(var22
, var23
);
1306 var25
= NEW_array__Array(&type_array__Arraykernel__Object
);
1307 { /* var25 = array_instance Array[Object] */
1309 var27
= NEW_array__NativeArray(var26
, &type_array__NativeArraykernel__Object
);
1310 ((struct instance_array__NativeArray
*)var27
)->values
[0] = (val
*) var16
;
1311 ((struct instance_array__NativeArray
*)var27
)->values
[1] = (val
*) var_guard
;
1312 ((struct instance_array__NativeArray
*)var27
)->values
[2] = (val
*) var21
;
1313 ((void (*)(val
*, val
*, long))(var25
->class->vft
[COLOR_array__Array__with_native
]))(var25
, var27
, var26
) /* with_native on <var25:Array[Object]>*/;
1315 var28
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_string__Object__to_s
]))(var25
) /* to_s on <var25:Array[Object]>*/;
1316 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var28
) /* write on <var_stream:OFStream>*/;
1322 var33
= string__NativeString__to_s_with_length(var31
, var32
);
1331 var38
= string__NativeString__to_s_with_length(var36
, var37
);
1335 var39
= NEW_array__Array(&type_array__Arraykernel__Object
);
1336 { /* var39 = array_instance Array[Object] */
1338 var41
= NEW_array__NativeArray(var40
, &type_array__NativeArraykernel__Object
);
1339 ((struct instance_array__NativeArray
*)var41
)->values
[0] = (val
*) var30
;
1340 ((struct instance_array__NativeArray
*)var41
)->values
[1] = (val
*) var_guard
;
1341 ((struct instance_array__NativeArray
*)var41
)->values
[2] = (val
*) var35
;
1342 ((void (*)(val
*, val
*, long))(var39
->class->vft
[COLOR_array__Array__with_native
]))(var39
, var41
, var40
) /* with_native on <var39:Array[Object]>*/;
1344 var42
= ((val
* (*)(val
*))(var39
->class->vft
[COLOR_string__Object__to_s
]))(var39
) /* to_s on <var39:Array[Object]>*/;
1345 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var42
) /* write on <var_stream:OFStream>*/;
1346 var43
= ((val
* (*)(val
*))(var_includes
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_includes
) /* iterator on <var_includes:Array[String]>*/;
1348 var44
= ((short int (*)(val
*))(var43
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var43
) /* is_ok on <var43:Iterator[nullable Object]>*/;
1350 var45
= ((val
* (*)(val
*))(var43
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var43
) /* item on <var43:Iterator[nullable Object]>*/;
1355 var48
= "#include ";
1357 var50
= string__NativeString__to_s_with_length(var48
, var49
);
1366 var55
= string__NativeString__to_s_with_length(var53
, var54
);
1370 var56
= NEW_array__Array(&type_array__Arraykernel__Object
);
1371 { /* var56 = array_instance Array[Object] */
1373 var58
= NEW_array__NativeArray(var57
, &type_array__NativeArraykernel__Object
);
1374 ((struct instance_array__NativeArray
*)var58
)->values
[0] = (val
*) var47
;
1375 ((struct instance_array__NativeArray
*)var58
)->values
[1] = (val
*) var_incl
;
1376 ((struct instance_array__NativeArray
*)var58
)->values
[2] = (val
*) var52
;
1377 ((void (*)(val
*, val
*, long))(var56
->class->vft
[COLOR_array__Array__with_native
]))(var56
, var58
, var57
) /* with_native on <var56:Array[Object]>*/;
1379 var59
= ((val
* (*)(val
*))(var56
->class->vft
[COLOR_string__Object__to_s
]))(var56
) /* to_s on <var56:Array[Object]>*/;
1380 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var59
) /* write on <var_stream:OFStream>*/;
1381 CONTINUE_label
: (void)0;
1382 ((void (*)(val
*))(var43
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var43
) /* next on <var43:Iterator[nullable Object]>*/;
1384 BREAK_label
: (void)0;
1385 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_c_tools__CCompilationUnit__compile_header_core
]))(self
, var_stream
) /* compile_header_core on <self:CCompilationUnit>*/;
1391 var64
= string__NativeString__to_s_with_length(var62
, var63
);
1395 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var61
) /* write on <var_stream:OFStream>*/;
1396 ((void (*)(val
*))(var_stream
->class->vft
[COLOR_stream__IOS__close
]))(var_stream
) /* close on <var_stream:OFStream>*/;
1399 /* method ffi_base#CCompilationUnit#write_header_to_file for (self: Object, AModule, String, Array[String], String) */
1400 void VIRTUAL_ffi_base__CCompilationUnit__write_header_to_file(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
1401 ffi_base__CCompilationUnit__write_header_to_file(self
, p0
, p1
, p2
, p3
);
1404 /* method ffi_base#CCompilationUnit#write_body_to_file for (self: CCompilationUnit, AModule, String, Array[String]) */
1405 void ffi_base__CCompilationUnit__write_body_to_file(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1406 val
* var_amodule
/* var amodule: AModule */;
1407 val
* var_file
/* var file: String */;
1408 val
* var_includes
/* var includes: Array[String] */;
1409 val
* var
/* : OFStream */;
1410 val
* var_stream
/* var stream: OFStream */;
1411 val
* var1
/* : Array[Object] */;
1412 long var2
/* : Int */;
1413 val
* var_
/* var : Array[Object] */;
1414 static val
* varonce
;
1415 val
* var3
/* : String */;
1416 char* var4
/* : NativeString */;
1417 long var5
/* : Int */;
1418 val
* var6
/* : String */;
1419 val
* var7
/* : nullable MModule */;
1420 val
* var8
/* : String */;
1421 static val
* varonce9
;
1422 val
* var10
/* : String */;
1423 char* var11
/* : NativeString */;
1424 long var12
/* : Int */;
1425 val
* var13
/* : String */;
1426 val
* var14
/* : String */;
1427 val
* var_module_info
/* var module_info: String */;
1428 val
* var15
/* : Iterator[nullable Object] */;
1429 short int var16
/* : Bool */;
1430 val
* var17
/* : nullable Object */;
1431 val
* var_incl
/* var incl: String */;
1432 static val
* varonce18
;
1433 val
* var19
/* : String */;
1434 char* var20
/* : NativeString */;
1435 long var21
/* : Int */;
1436 val
* var22
/* : String */;
1437 static val
* varonce23
;
1438 val
* var24
/* : String */;
1439 char* var25
/* : NativeString */;
1440 long var26
/* : Int */;
1441 val
* var27
/* : String */;
1442 val
* var28
/* : Array[Object] */;
1443 long var29
/* : Int */;
1444 val
* var30
/* : NativeArray[Object] */;
1445 val
* var31
/* : String */;
1449 var
= NEW_file__OFStream(&type_file__OFStream
);
1450 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_file__OFStream__open
]))(var
, var_file
) /* open on <var:OFStream>*/;
1452 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
1454 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[Object]>*/;
1459 var4
= "/*\n\11Extern implementation of Nit module ";
1461 var6
= string__NativeString__to_s_with_length(var4
, var5
);
1465 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var3
) /* add on <var_:Array[Object]>*/;
1466 var7
= ((val
* (*)(val
*))(var_amodule
->class->vft
[COLOR_modelbuilder__AModule__mmodule
]))(var_amodule
) /* mmodule on <var_amodule:AModule>*/;
1468 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
1469 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/ffi_base.nit", 196);
1472 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_mmodule__MModule__name
]))(var7
) /* name on <var7:nullable MModule>*/;
1474 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var8
) /* add on <var_:Array[Object]>*/;
1480 var13
= string__NativeString__to_s_with_length(var11
, var12
);
1484 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var10
) /* add on <var_:Array[Object]>*/;
1485 var14
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
1486 var_module_info
= var14
;
1487 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var_module_info
) /* write on <var_stream:OFStream>*/;
1488 var15
= ((val
* (*)(val
*))(var_includes
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_includes
) /* iterator on <var_includes:Array[String]>*/;
1490 var16
= ((short int (*)(val
*))(var15
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var15
) /* is_ok on <var15:Iterator[nullable Object]>*/;
1492 var17
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var15
) /* item on <var15:Iterator[nullable Object]>*/;
1497 var20
= "#include ";
1499 var22
= string__NativeString__to_s_with_length(var20
, var21
);
1508 var27
= string__NativeString__to_s_with_length(var25
, var26
);
1512 var28
= NEW_array__Array(&type_array__Arraykernel__Object
);
1513 { /* var28 = array_instance Array[Object] */
1515 var30
= NEW_array__NativeArray(var29
, &type_array__NativeArraykernel__Object
);
1516 ((struct instance_array__NativeArray
*)var30
)->values
[0] = (val
*) var19
;
1517 ((struct instance_array__NativeArray
*)var30
)->values
[1] = (val
*) var_incl
;
1518 ((struct instance_array__NativeArray
*)var30
)->values
[2] = (val
*) var24
;
1519 ((void (*)(val
*, val
*, long))(var28
->class->vft
[COLOR_array__Array__with_native
]))(var28
, var30
, var29
) /* with_native on <var28:Array[Object]>*/;
1521 var31
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_string__Object__to_s
]))(var28
) /* to_s on <var28:Array[Object]>*/;
1522 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var31
) /* write on <var_stream:OFStream>*/;
1523 CONTINUE_label
: (void)0;
1524 ((void (*)(val
*))(var15
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var15
) /* next on <var15:Iterator[nullable Object]>*/;
1526 BREAK_label
: (void)0;
1527 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_c_tools__CCompilationUnit__compile_body_core
]))(self
, var_stream
) /* compile_body_core on <self:CCompilationUnit>*/;
1528 ((void (*)(val
*))(var_stream
->class->vft
[COLOR_stream__IOS__close
]))(var_stream
) /* close on <var_stream:OFStream>*/;
1531 /* method ffi_base#CCompilationUnit#write_body_to_file for (self: Object, AModule, String, Array[String]) */
1532 void VIRTUAL_ffi_base__CCompilationUnit__write_body_to_file(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1533 ffi_base__CCompilationUnit__write_body_to_file(self
, p0
, p1
, p2
);
1536 /* method ffi_base#ForeignType#ctype for (self: ForeignType): String */
1537 val
* ffi_base__ForeignType__ctype(val
* self
) {
1538 val
* var
/* : String */;
1539 static val
* varonce
;
1540 val
* var1
/* : String */;
1541 char* var2
/* : NativeString */;
1542 long var3
/* : Int */;
1543 val
* var4
/* : String */;
1549 var4
= string__NativeString__to_s_with_length(var2
, var3
);
1558 /* method ffi_base#ForeignType#ctype for (self: Object): String */
1559 val
* VIRTUAL_ffi_base__ForeignType__ctype(val
* self
) {
1560 val
* var
/* : String */;
1561 val
* var1
/* : String */;
1562 var1
= ffi_base__ForeignType__ctype(self
);
1567 /* method ffi_base#ForeignType#init for (self: ForeignType) */
1568 void ffi_base__ForeignType__init(val
* self
) {
1571 /* method ffi_base#ForeignType#init for (self: Object) */
1572 void VIRTUAL_ffi_base__ForeignType__init(val
* self
) {
1573 ffi_base__ForeignType__init(self
);