1 #include "nitc__light_ffi_base.sep.0.h"
2 /* method light_ffi_base$ToolContext$ffi_language_assignation_phase for (self: ToolContext): Phase */
3 val
* nitc__light_ffi_base___ToolContext___ffi_language_assignation_phase(val
* self
) {
4 val
* var
/* : Phase */;
5 val
* var1
/* : Phase */;
6 var1
= self
->attrs
[COLOR_nitc__light_ffi_base__ToolContext___ffi_language_assignation_phase
].val
; /* _ffi_language_assignation_phase on <self:ToolContext> */
7 if (unlikely(var1
== NULL
)) {
8 if(catchStack
.cursor
>= 0){
9 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
11 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ffi_language_assignation_phase");
12 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light_ffi_base
, 26);
19 /* method light_ffi_base$FFILanguageAssignationPhase$languages for (self: FFILanguageAssignationPhase): Array[FFILanguage] */
20 val
* nitc___nitc__FFILanguageAssignationPhase___languages(val
* self
) {
21 val
* var
/* : Array[FFILanguage] */;
22 val
* var1
/* : Array[FFILanguage] */;
23 var1
= self
->attrs
[COLOR_nitc__light_ffi_base__FFILanguageAssignationPhase___languages
].val
; /* _languages on <self:FFILanguageAssignationPhase> */
24 if (unlikely(var1
== NULL
)) {
25 if(catchStack
.cursor
>= 0){
26 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
28 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _languages");
29 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light_ffi_base
, 36);
36 /* method light_ffi_base$FFILanguageAssignationPhase$process_nmodule for (self: FFILanguageAssignationPhase, AModule) */
37 void nitc___nitc__FFILanguageAssignationPhase___nitc__phase__Phase__process_nmodule(val
* self
, val
* p0
) {
38 val
* var_nmodule
/* var nmodule: AModule */;
39 val
* var
/* : ANodes[AExternCodeBlock] */;
40 val
* var2
/* : ANodes[AExternCodeBlock] */;
41 val
* var_
/* var : ANodes[AExternCodeBlock] */;
42 val
* var3
/* : Iterator[ANode] */;
43 val
* var_4
/* var : Iterator[AExternCodeBlock] */;
44 short int var5
/* : Bool */;
45 val
* var6
/* : nullable Object */;
46 val
* var_block
/* var block: AExternCodeBlock */;
49 { /* Inline parser_nodes$AModule$n_extern_code_blocks (var_nmodule) on <var_nmodule:AModule> */
50 var2
= var_nmodule
->attrs
[COLOR_nitc__parser_nodes__AModule___n_extern_code_blocks
].val
; /* _n_extern_code_blocks on <var_nmodule:AModule> */
51 if (unlikely(var2
== NULL
)) {
52 if(catchStack
.cursor
>= 0){
53 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
55 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_extern_code_blocks");
56 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 1122);
65 var3
= nitc___nitc__ANodes___core__abstract_collection__Collection__iterator(var_
);
70 var5
= ((short int(*)(val
* self
))((((long)var_4
&3)?class_info
[((long)var_4
&3)]:var_4
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_4
); /* is_ok on <var_4:Iterator[AExternCodeBlock]>*/
77 var6
= ((val
*(*)(val
* self
))((((long)var_4
&3)?class_info
[((long)var_4
&3)]:var_4
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_4
); /* item on <var_4:Iterator[AExternCodeBlock]>*/
81 nitc___nitc__FFILanguageAssignationPhase___verify_foreign_code_on_node(self
, var_block
); /* Direct call light_ffi_base$FFILanguageAssignationPhase$verify_foreign_code_on_node on <self:FFILanguageAssignationPhase>*/
84 ((void(*)(val
* self
))((((long)var_4
&3)?class_info
[((long)var_4
&3)]:var_4
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_4
); /* next on <var_4:Iterator[AExternCodeBlock]>*/
89 ((void(*)(val
* self
))((((long)var_4
&3)?class_info
[((long)var_4
&3)]:var_4
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_4
); /* finish on <var_4:Iterator[AExternCodeBlock]>*/
93 /* method light_ffi_base$FFILanguageAssignationPhase$process_npropdef for (self: FFILanguageAssignationPhase, APropdef) */
94 void nitc___nitc__FFILanguageAssignationPhase___nitc__phase__Phase__process_npropdef(val
* self
, val
* p0
) {
95 val
* var_npropdef
/* var npropdef: APropdef */;
96 short int var
/* : Bool */;
99 val
* var1
/* : nullable AExternCodeBlock */;
100 val
* var3
/* : nullable AExternCodeBlock */;
101 val
* var_code_block
/* var code_block: nullable AExternCodeBlock */;
102 short int var4
/* : Bool */;
103 short int var5
/* : Bool */;
104 val
* var_other
/* var other: nullable Object */;
105 short int var7
/* : Bool */;
106 short int var8
/* : Bool */;
108 /* <var_npropdef:APropdef> isa AMethPropdef */
109 cltype
= type_nitc__AMethPropdef
.color
;
110 idtype
= type_nitc__AMethPropdef
.id
;
111 if(cltype
>= var_npropdef
->type
->table_size
) {
114 var
= var_npropdef
->type
->type_table
[cltype
] == idtype
;
118 { /* Inline parser_nodes$AMethPropdef$n_extern_code_block (var_npropdef) on <var_npropdef:APropdef(AMethPropdef)> */
119 var3
= var_npropdef
->attrs
[COLOR_nitc__parser_nodes__AMethPropdef___n_extern_code_block
].val
; /* _n_extern_code_block on <var_npropdef:APropdef(AMethPropdef)> */
124 var_code_block
= var1
;
125 if (var_code_block
== NULL
) {
126 var4
= 0; /* is null */
128 var4
= 1; /* arg is null and recv is not */
131 { /* Inline kernel$Object$!= (var_code_block,((val*)NULL)) on <var_code_block:nullable AExternCodeBlock> */
132 var_other
= ((val
*)NULL
);
134 var7
= ((short int(*)(val
* self
, val
* p0
))(var_code_block
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_code_block
, var_other
); /* == on <var_code_block:nullable AExternCodeBlock(AExternCodeBlock)>*/
145 nitc___nitc__FFILanguageAssignationPhase___verify_foreign_code_on_node(self
, var_code_block
); /* Direct call light_ffi_base$FFILanguageAssignationPhase$verify_foreign_code_on_node on <self:FFILanguageAssignationPhase>*/
153 /* method light_ffi_base$FFILanguageAssignationPhase$process_nclassdef for (self: FFILanguageAssignationPhase, AClassdef) */
154 void nitc___nitc__FFILanguageAssignationPhase___nitc__phase__Phase__process_nclassdef(val
* self
, val
* p0
) {
155 val
* var_nclassdef
/* var nclassdef: AClassdef */;
156 short int var
/* : Bool */;
157 short int var1
/* : Bool */;
160 short int var_
/* var : Bool */;
161 val
* var2
/* : nullable AExternCodeBlock */;
162 val
* var4
/* : nullable AExternCodeBlock */;
163 short int var5
/* : Bool */;
164 short int var6
/* : Bool */;
165 val
* var_other
/* var other: nullable Object */;
166 short int var8
/* : Bool */;
167 short int var9
/* : Bool */;
168 val
* var10
/* : nullable AExternCodeBlock */;
169 val
* var12
/* : nullable AExternCodeBlock */;
171 /* <var_nclassdef:AClassdef> isa AStdClassdef */
172 cltype
= type_nitc__AStdClassdef
.color
;
173 idtype
= type_nitc__AStdClassdef
.id
;
174 if(cltype
>= var_nclassdef
->type
->table_size
) {
177 var1
= var_nclassdef
->type
->type_table
[cltype
] == idtype
;
182 { /* Inline parser_nodes$AStdClassdef$n_extern_code_block (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
183 var4
= var_nclassdef
->attrs
[COLOR_nitc__parser_nodes__AStdClassdef___n_extern_code_block
].val
; /* _n_extern_code_block on <var_nclassdef:AClassdef(AStdClassdef)> */
189 var5
= 0; /* is null */
191 var5
= 1; /* arg is null and recv is not */
194 { /* Inline kernel$Object$!= (var2,((val*)NULL)) on <var2:nullable AExternCodeBlock> */
195 var_other
= ((val
*)NULL
);
197 var8
= ((short int(*)(val
* self
, val
* p0
))(var2
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var2
, var_other
); /* == on <var2:nullable AExternCodeBlock(AExternCodeBlock)>*/
212 { /* Inline parser_nodes$AStdClassdef$n_extern_code_block (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
213 var12
= var_nclassdef
->attrs
[COLOR_nitc__parser_nodes__AStdClassdef___n_extern_code_block
].val
; /* _n_extern_code_block on <var_nclassdef:AClassdef(AStdClassdef)> */
218 if (unlikely(var10
== NULL
)) {
219 if(catchStack
.cursor
>= 0){
220 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
222 PRINT_ERROR("Runtime error: %s", "Cast failed");
223 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light_ffi_base
, 59);
227 nitc___nitc__FFILanguageAssignationPhase___verify_foreign_code_on_node(self
, var10
); /* Direct call light_ffi_base$FFILanguageAssignationPhase$verify_foreign_code_on_node on <self:FFILanguageAssignationPhase>*/
233 /* method light_ffi_base$FFILanguageAssignationPhase$verify_foreign_code_on_node for (self: FFILanguageAssignationPhase, AExternCodeBlock) */
234 void nitc___nitc__FFILanguageAssignationPhase___verify_foreign_code_on_node(val
* self
, val
* p0
) {
235 val
* var_n
/* var n: AExternCodeBlock */;
236 short int var_found
/* var found: Bool */;
237 val
* var
/* : Array[FFILanguage] */;
238 val
* var2
/* : Array[FFILanguage] */;
239 val
* var_
/* var : Array[FFILanguage] */;
240 val
* var3
/* : IndexedIterator[nullable Object] */;
241 val
* var_4
/* var : IndexedIterator[FFILanguage] */;
242 short int var5
/* : Bool */;
243 val
* var6
/* : nullable Object */;
244 val
* var_v
/* var v: FFILanguage */;
245 short int var7
/* : Bool */;
246 short int var_identified
/* var identified: Bool */;
247 short int var8
/* : Bool */;
248 short int var_9
/* var : Bool */;
249 val
* var10
/* : ToolContext */;
250 val
* var12
/* : ToolContext */;
251 val
* var13
/* : Location */;
252 val
* var15
/* : Location */;
254 val
* var16
/* : String */;
255 char* var17
/* : CString */;
256 val
* var18
/* : String */;
257 val
* var19
/* : nullable Int */;
258 val
* var20
/* : nullable Int */;
259 val
* var21
/* : nullable Bool */;
260 val
* var22
/* : nullable Bool */;
261 val
* var23
/* : Message */;
262 short int var25
/* : Bool */;
263 val
* var26
/* : ToolContext */;
264 val
* var28
/* : ToolContext */;
265 val
* var29
/* : Location */;
266 val
* var31
/* : Location */;
267 static val
* varonce32
;
268 val
* var33
/* : String */;
269 char* var34
/* : CString */;
270 val
* var35
/* : String */;
271 val
* var36
/* : nullable Int */;
272 val
* var37
/* : nullable Int */;
273 val
* var38
/* : nullable Bool */;
274 val
* var39
/* : nullable Bool */;
275 val
* var40
/* : Message */;
279 { /* Inline light_ffi_base$FFILanguageAssignationPhase$languages (self) on <self:FFILanguageAssignationPhase> */
280 var2
= self
->attrs
[COLOR_nitc__light_ffi_base__FFILanguageAssignationPhase___languages
].val
; /* _languages on <self:FFILanguageAssignationPhase> */
281 if (unlikely(var2
== NULL
)) {
282 if(catchStack
.cursor
>= 0){
283 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
285 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _languages");
286 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light_ffi_base
, 36);
295 var3
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
300 var5
= ((short int(*)(val
* self
))((((long)var_4
&3)?class_info
[((long)var_4
&3)]:var_4
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_4
); /* is_ok on <var_4:IndexedIterator[FFILanguage]>*/
307 var6
= ((val
*(*)(val
* self
))((((long)var_4
&3)?class_info
[((long)var_4
&3)]:var_4
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_4
); /* item on <var_4:IndexedIterator[FFILanguage]>*/
311 var7
= nitc___nitc__CLanguage___nitc__light_ffi_base__FFILanguage__identify_language(var_v
, var_n
);
313 var_identified
= var7
;
317 var8
= var_identified
;
323 { /* Inline phase$Phase$toolcontext (self) on <self:FFILanguageAssignationPhase> */
324 var12
= self
->attrs
[COLOR_nitc__phase__Phase___toolcontext
].val
; /* _toolcontext on <self:FFILanguageAssignationPhase> */
325 if (unlikely(var12
== NULL
)) {
326 if(catchStack
.cursor
>= 0){
327 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
329 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
330 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase
, 210);
338 { /* Inline parser_nodes$ANode$location (var_n) on <var_n:AExternCodeBlock> */
339 var15
= var_n
->attrs
[COLOR_nitc__parser_nodes__ANode___location
].val
; /* _location on <var_n:AExternCodeBlock> */
340 if (unlikely(var15
== NULL
)) {
341 if(catchStack
.cursor
>= 0){
342 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
344 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
345 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 25);
352 if (likely(varonce
!=NULL
)) {
355 var17
= "FFI Error: two languages identified as possible handlers.";
356 var19
= (val
*)(57l<<2|1);
357 var20
= (val
*)(57l<<2|1);
358 var21
= (val
*)((long)(0)<<2|3);
359 var22
= (val
*)((long)(0)<<2|3);
360 var18
= core__flat___CString___to_s_unsafe(var17
, var19
, var20
, var21
, var22
);
365 var23
= nitc___nitc__ToolContext___error(var10
, var13
, var16
);
370 { /* Inline light_ffi_base$AExternCodeBlock$language= (var_n,var_v) on <var_n:AExternCodeBlock> */
371 var_n
->attrs
[COLOR_nitc__light_ffi_base__AExternCodeBlock___language
].val
= var_v
; /* _language on <var_n:AExternCodeBlock> */
379 ((void(*)(val
* self
))((((long)var_4
&3)?class_info
[((long)var_4
&3)]:var_4
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_4
); /* next on <var_4:IndexedIterator[FFILanguage]>*/
382 BREAK_label
: (void)0;
384 ((void(*)(val
* self
))((((long)var_4
&3)?class_info
[((long)var_4
&3)]:var_4
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_4
); /* finish on <var_4:IndexedIterator[FFILanguage]>*/
389 { /* Inline phase$Phase$toolcontext (self) on <self:FFILanguageAssignationPhase> */
390 var28
= self
->attrs
[COLOR_nitc__phase__Phase___toolcontext
].val
; /* _toolcontext on <self:FFILanguageAssignationPhase> */
391 if (unlikely(var28
== NULL
)) {
392 if(catchStack
.cursor
>= 0){
393 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
395 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
396 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase
, 210);
404 { /* Inline parser_nodes$ANode$location (var_n) on <var_n:AExternCodeBlock> */
405 var31
= var_n
->attrs
[COLOR_nitc__parser_nodes__ANode___location
].val
; /* _location on <var_n:AExternCodeBlock> */
406 if (unlikely(var31
== NULL
)) {
407 if(catchStack
.cursor
>= 0){
408 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
410 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
411 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 25);
418 if (likely(varonce32
!=NULL
)) {
421 var34
= "FFI Error: unsupported language.";
422 var36
= (val
*)(32l<<2|1);
423 var37
= (val
*)(32l<<2|1);
424 var38
= (val
*)((long)(0)<<2|3);
425 var39
= (val
*)((long)(0)<<2|3);
426 var35
= core__flat___CString___to_s_unsafe(var34
, var36
, var37
, var38
, var39
);
431 var40
= nitc___nitc__ToolContext___error(var26
, var29
, var33
);
437 /* method light_ffi_base$MModule$ffi_files for (self: MModule): Array[ExternFile] */
438 val
* nitc__light_ffi_base___MModule___ffi_files(val
* self
) {
439 val
* var
/* : Array[ExternFile] */;
440 val
* var1
/* : Array[ExternFile] */;
441 var1
= self
->attrs
[COLOR_nitc__light_ffi_base__MModule___ffi_files
].val
; /* _ffi_files on <self:MModule> */
442 if (unlikely(var1
== NULL
)) {
443 if(catchStack
.cursor
>= 0){
444 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
446 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ffi_files");
447 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light_ffi_base
, 82);
454 /* method light_ffi_base$AExternCodeBlock$language_name for (self: AExternCodeBlock): nullable String */
455 val
* nitc__light_ffi_base___AExternCodeBlock___language_name(val
* self
) {
456 val
* var
/* : nullable String */;
457 val
* var1
/* : nullable AInLanguage */;
458 val
* var3
/* : nullable AInLanguage */;
459 short int var4
/* : Bool */;
460 short int var5
/* : Bool */;
461 val
* var_other
/* var other: nullable Object */;
462 short int var7
/* : Bool */;
463 short int var9
/* : Bool */;
464 val
* var10
/* : nullable AInLanguage */;
465 val
* var12
/* : nullable AInLanguage */;
466 val
* var13
/* : TString */;
467 val
* var15
/* : TString */;
468 val
* var16
/* : String */;
470 { /* Inline parser_nodes$AExternCodeBlock$n_in_language (self) on <self:AExternCodeBlock> */
471 var3
= self
->attrs
[COLOR_nitc__parser_nodes__AExternCodeBlock___n_in_language
].val
; /* _n_in_language on <self:AExternCodeBlock> */
477 var4
= 1; /* is null */
479 var4
= 0; /* arg is null but recv is not */
482 { /* Inline kernel$Object$== (var1,((val*)NULL)) on <var1:nullable AInLanguage> */
483 var_other
= ((val
*)NULL
);
485 { /* Inline kernel$Object$is_same_instance (var1,var_other) on <var1:nullable AInLanguage(AInLanguage)> */
486 var9
= var1
== var_other
;
504 { /* Inline parser_nodes$AExternCodeBlock$n_in_language (self) on <self:AExternCodeBlock> */
505 var12
= self
->attrs
[COLOR_nitc__parser_nodes__AExternCodeBlock___n_in_language
].val
; /* _n_in_language on <self:AExternCodeBlock> */
511 if(catchStack
.cursor
>= 0){
512 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
514 PRINT_ERROR("Runtime error: %s", "Receiver is null");
515 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light_ffi_base
, 90);
518 { /* Inline parser_nodes$AInLanguage$n_string (var10) on <var10:nullable AInLanguage> */
519 if (unlikely(var10
== NULL
)) {
520 if(catchStack
.cursor
>= 0){
521 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
523 PRINT_ERROR("Runtime error: %s", "Receiver is null");
524 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2930);
527 var15
= var10
->attrs
[COLOR_nitc__parser_nodes__AInLanguage___n_string
].val
; /* _n_string on <var10:nullable AInLanguage> */
528 if (unlikely(var15
== NULL
)) {
529 if(catchStack
.cursor
>= 0){
530 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
532 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_string");
533 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2930);
541 var16
= nitc__light_ffi_base___TString___without_quotes(var13
);
548 /* method light_ffi_base$AExternCodeBlock$language_name_lowered for (self: AExternCodeBlock): nullable String */
549 val
* nitc__light_ffi_base___AExternCodeBlock___language_name_lowered(val
* self
) {
550 val
* var
/* : nullable String */;
551 val
* var1
/* : nullable String */;
552 short int var2
/* : Bool */;
553 short int var3
/* : Bool */;
554 val
* var4
/* : nullable String */;
555 val
* var5
/* : Text */;
557 var1
= nitc__light_ffi_base___AExternCodeBlock___language_name(self
);
560 var2
= 1; /* is null */
562 var2
= 0; /* arg is null but recv is not */
565 var3
= ((short int(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var1
, ((val
*)NULL
)); /* == on <var1:nullable String>*/
574 var4
= nitc__light_ffi_base___AExternCodeBlock___language_name(self
);
577 if(catchStack
.cursor
>= 0){
578 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
580 PRINT_ERROR("Runtime error: %s", "Receiver is null");
581 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light_ffi_base
, 96);
584 var5
= ((val
*(*)(val
* self
))(var4
->class->vft
[COLOR_core__abstract_text__Text__to_lower
]))(var4
); /* to_lower on <var4:nullable String>*/
591 /* method light_ffi_base$AExternCodeBlock$code for (self: AExternCodeBlock): String */
592 val
* nitc__light_ffi_base___AExternCodeBlock___code(val
* self
) {
593 val
* var
/* : String */;
594 val
* var1
/* : TExternCodeSegment */;
595 val
* var3
/* : TExternCodeSegment */;
596 val
* var4
/* : String */;
598 { /* Inline parser_nodes$AExternCodeBlock$n_extern_code_segment (self) on <self:AExternCodeBlock> */
599 var3
= self
->attrs
[COLOR_nitc__parser_nodes__AExternCodeBlock___n_extern_code_segment
].val
; /* _n_extern_code_segment on <self:AExternCodeBlock> */
600 if (unlikely(var3
== NULL
)) {
601 if(catchStack
.cursor
>= 0){
602 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
604 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _n_extern_code_segment");
605 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 2941);
613 var4
= nitc__light_ffi_base___TExternCodeSegment___without_guard(var1
);
620 /* method light_ffi_base$AExternCodeBlock$language for (self: AExternCodeBlock): nullable FFILanguage */
621 val
* nitc__light_ffi_base___AExternCodeBlock___language(val
* self
) {
622 val
* var
/* : nullable FFILanguage */;
623 val
* var1
/* : nullable FFILanguage */;
624 var1
= self
->attrs
[COLOR_nitc__light_ffi_base__AExternCodeBlock___language
].val
; /* _language on <self:AExternCodeBlock> */
629 /* method light_ffi_base$AExternCodeBlock$language= for (self: AExternCodeBlock, nullable FFILanguage) */
630 void nitc__light_ffi_base___AExternCodeBlock___language_61d(val
* self
, val
* p0
) {
631 self
->attrs
[COLOR_nitc__light_ffi_base__AExternCodeBlock___language
].val
= p0
; /* _language on <self:AExternCodeBlock> */
634 /* method light_ffi_base$FFILanguage$ffi_language_assignation_phase for (self: FFILanguage): FFILanguageAssignationPhase */
635 val
* nitc___nitc__FFILanguage___ffi_language_assignation_phase(val
* self
) {
636 val
* var
/* : FFILanguageAssignationPhase */;
637 val
* var1
/* : FFILanguageAssignationPhase */;
638 var1
= self
->attrs
[COLOR_nitc__light_ffi_base__FFILanguage___ffi_language_assignation_phase
].val
; /* _ffi_language_assignation_phase on <self:FFILanguage> */
639 if (unlikely(var1
== NULL
)) {
640 if(catchStack
.cursor
>= 0){
641 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
643 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ffi_language_assignation_phase");
644 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light_ffi_base
, 109);
651 /* method light_ffi_base$FFILanguage$ffi_language_assignation_phase= for (self: FFILanguage, FFILanguageAssignationPhase) */
652 void nitc___nitc__FFILanguage___ffi_language_assignation_phase_61d(val
* self
, val
* p0
) {
653 self
->attrs
[COLOR_nitc__light_ffi_base__FFILanguage___ffi_language_assignation_phase
].val
= p0
; /* _ffi_language_assignation_phase on <self:FFILanguage> */
656 /* method light_ffi_base$FFILanguage$init for (self: FFILanguage) */
657 void nitc___nitc__FFILanguage___core__kernel__Object__init(val
* self
) {
658 val
* var
/* : FFILanguageAssignationPhase */;
659 val
* var2
/* : FFILanguageAssignationPhase */;
660 val
* var3
/* : Array[FFILanguage] */;
661 val
* var5
/* : Array[FFILanguage] */;
663 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc___nitc__FFILanguage___core__kernel__Object__init
]))(self
); /* init on <self:FFILanguage>*/
666 { /* Inline light_ffi_base$FFILanguage$ffi_language_assignation_phase (self) on <self:FFILanguage> */
667 var2
= self
->attrs
[COLOR_nitc__light_ffi_base__FFILanguage___ffi_language_assignation_phase
].val
; /* _ffi_language_assignation_phase on <self:FFILanguage> */
668 if (unlikely(var2
== NULL
)) {
669 if(catchStack
.cursor
>= 0){
670 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
672 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ffi_language_assignation_phase");
673 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light_ffi_base
, 109);
681 { /* Inline light_ffi_base$FFILanguageAssignationPhase$languages (var) on <var:FFILanguageAssignationPhase> */
682 var5
= var
->attrs
[COLOR_nitc__light_ffi_base__FFILanguageAssignationPhase___languages
].val
; /* _languages on <var:FFILanguageAssignationPhase> */
683 if (unlikely(var5
== NULL
)) {
684 if(catchStack
.cursor
>= 0){
685 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
687 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _languages");
688 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light_ffi_base
, 36);
696 core___core__Array___core__abstract_collection__SimpleCollection__add(var3
, self
); /* Direct call array$Array$add on <var3:Array[FFILanguage]>*/
700 /* method light_ffi_base$TString$without_quotes for (self: TString): String */
701 val
* nitc__light_ffi_base___TString___without_quotes(val
* self
) {
702 val
* var
/* : String */;
703 val
* var1
/* : String */;
704 long var2
/* : Int */;
705 short int var3
/* : Bool */;
706 short int var5
/* : Bool */;
709 const char* var_class_name
;
710 short int var6
/* : Bool */;
711 val
* var7
/* : String */;
712 val
* var8
/* : String */;
713 long var9
/* : Int */;
714 long var10
/* : Int */;
715 short int var12
/* : Bool */;
718 const char* var_class_name15
;
719 long var16
/* : Int */;
720 val
* var17
/* : Text */;
722 var1
= nitc__lexer_work___Token___text(self
);
725 var2
= ((long(*)(val
* self
))(var1
->class->vft
[COLOR_core__abstract_text__Text__length
]))(var1
); /* length on <var1:String>*/
728 { /* Inline kernel$Int$>= (var2,2l) on <var2:Int> */
729 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
730 /* <2l:Int> isa OTHER */
731 var5
= 1; /* easy <2l:Int> isa OTHER*/
732 if (unlikely(!var5
)) {
733 var_class_name
= type_core__Int
.name
;
734 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
735 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 726);
744 if (unlikely(!var3
)) {
745 if(catchStack
.cursor
>= 0){
746 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
748 PRINT_ERROR("Runtime error: %s", "Assert failed");
749 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light_ffi_base
, 142);
753 var7
= nitc__lexer_work___Token___text(self
);
756 var8
= nitc__lexer_work___Token___text(self
);
759 var9
= ((long(*)(val
* self
))(var8
->class->vft
[COLOR_core__abstract_text__Text__length
]))(var8
); /* length on <var8:String>*/
762 { /* Inline kernel$Int$- (var9,2l) on <var9:Int> */
763 /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */
764 /* <2l:Int> isa OTHER */
765 var12
= 1; /* easy <2l:Int> isa OTHER*/
766 if (unlikely(!var12
)) {
767 var_class_name15
= type_core__Int
.name
;
768 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15
);
769 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
779 var17
= ((val
*(*)(val
* self
, long p0
, long p1
))(var7
->class->vft
[COLOR_core__abstract_text__Text__substring
]))(var7
, 1l, var10
); /* substring on <var7:String>*/
786 /* method light_ffi_base$TExternCodeSegment$without_guard for (self: TExternCodeSegment): String */
787 val
* nitc__light_ffi_base___TExternCodeSegment___without_guard(val
* self
) {
788 val
* var
/* : String */;
789 val
* var1
/* : String */;
790 long var2
/* : Int */;
791 short int var3
/* : Bool */;
792 short int var5
/* : Bool */;
795 const char* var_class_name
;
796 short int var6
/* : Bool */;
797 val
* var7
/* : String */;
798 val
* var8
/* : String */;
799 long var9
/* : Int */;
800 long var10
/* : Int */;
801 short int var12
/* : Bool */;
804 const char* var_class_name15
;
805 long var16
/* : Int */;
806 val
* var17
/* : Text */;
808 var1
= nitc__lexer_work___Token___text(self
);
811 var2
= ((long(*)(val
* self
))(var1
->class->vft
[COLOR_core__abstract_text__Text__length
]))(var1
); /* length on <var1:String>*/
814 { /* Inline kernel$Int$>= (var2,4l) on <var2:Int> */
815 /* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
816 /* <4l:Int> isa OTHER */
817 var5
= 1; /* easy <4l:Int> isa OTHER*/
818 if (unlikely(!var5
)) {
819 var_class_name
= type_core__Int
.name
;
820 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
821 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 726);
830 if (unlikely(!var3
)) {
831 if(catchStack
.cursor
>= 0){
832 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
834 PRINT_ERROR("Runtime error: %s", "Assert failed");
835 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light_ffi_base
, 151);
839 var7
= nitc__lexer_work___Token___text(self
);
842 var8
= nitc__lexer_work___Token___text(self
);
845 var9
= ((long(*)(val
* self
))(var8
->class->vft
[COLOR_core__abstract_text__Text__length
]))(var8
); /* length on <var8:String>*/
848 { /* Inline kernel$Int$- (var9,4l) on <var9:Int> */
849 /* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */
850 /* <4l:Int> isa OTHER */
851 var12
= 1; /* easy <4l:Int> isa OTHER*/
852 if (unlikely(!var12
)) {
853 var_class_name15
= type_core__Int
.name
;
854 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15
);
855 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
865 var17
= ((val
*(*)(val
* self
, long p0
, long p1
))(var7
->class->vft
[COLOR_core__abstract_text__Text__substring
]))(var7
, 2l, var10
); /* substring on <var7:String>*/
872 /* method light_ffi_base$CCompilationUnit$write_as_impl for (self: CCompilationUnit, MModule, String) */
873 void nitc__light_ffi_base___CCompilationUnit___write_as_impl(val
* self
, val
* p0
, val
* p1
) {
874 val
* var_mmodule
/* var mmodule: MModule */;
875 val
* var_compdir
/* var compdir: String */;
876 val
* var
/* : NativeArray[String] */;
878 static val
* varonce1
;
879 val
* var2
/* : String */;
880 char* var3
/* : CString */;
881 val
* var4
/* : String */;
882 val
* var5
/* : nullable Int */;
883 val
* var6
/* : nullable Int */;
884 val
* var7
/* : nullable Bool */;
885 val
* var8
/* : nullable Bool */;
886 val
* var9
/* : String */;
887 val
* var10
/* : String */;
888 val
* var_base_name
/* var base_name: String */;
889 val
* var12
/* : NativeArray[String] */;
890 static val
* varonce11
;
891 static val
* varonce13
;
892 val
* var14
/* : String */;
893 char* var15
/* : CString */;
894 val
* var16
/* : String */;
895 val
* var17
/* : nullable Int */;
896 val
* var18
/* : nullable Int */;
897 val
* var19
/* : nullable Bool */;
898 val
* var20
/* : nullable Bool */;
899 val
* var21
/* : String */;
900 val
* var_h_file
/* var h_file: String */;
901 val
* var23
/* : NativeArray[String] */;
902 static val
* varonce22
;
903 static val
* varonce24
;
904 val
* var25
/* : String */;
905 char* var26
/* : CString */;
906 val
* var27
/* : String */;
907 val
* var28
/* : nullable Int */;
908 val
* var29
/* : nullable Int */;
909 val
* var30
/* : nullable Bool */;
910 val
* var31
/* : nullable Bool */;
911 val
* var32
/* : String */;
912 val
* var33
/* : Text */;
913 val
* var34
/* : String */;
914 val
* var_guard
/* var guard: String */;
915 val
* var36
/* : NativeArray[String] */;
916 static val
* varonce35
;
917 static val
* varonce37
;
918 val
* var38
/* : String */;
919 char* var39
/* : CString */;
920 val
* var40
/* : String */;
921 val
* var41
/* : nullable Int */;
922 val
* var42
/* : nullable Int */;
923 val
* var43
/* : nullable Bool */;
924 val
* var44
/* : nullable Bool */;
925 val
* var45
/* : String */;
926 val
* var46
/* : Array[String] */;
927 val
* var_
/* var : Array[String] */;
928 static val
* varonce47
;
929 val
* var48
/* : String */;
930 char* var49
/* : CString */;
931 val
* var50
/* : String */;
932 val
* var51
/* : nullable Int */;
933 val
* var52
/* : nullable Int */;
934 val
* var53
/* : nullable Bool */;
935 val
* var54
/* : nullable Bool */;
936 val
* var56
/* : NativeArray[String] */;
937 static val
* varonce55
;
938 static val
* varonce57
;
939 val
* var58
/* : String */;
940 char* var59
/* : CString */;
941 val
* var60
/* : String */;
942 val
* var61
/* : nullable Int */;
943 val
* var62
/* : nullable Int */;
944 val
* var63
/* : nullable Bool */;
945 val
* var64
/* : nullable Bool */;
946 val
* var65
/* : String */;
947 val
* var_c_file
/* var c_file: String */;
948 val
* var67
/* : NativeArray[String] */;
949 static val
* varonce66
;
950 static val
* varonce68
;
951 val
* var69
/* : String */;
952 char* var70
/* : CString */;
953 val
* var71
/* : String */;
954 val
* var72
/* : nullable Int */;
955 val
* var73
/* : nullable Int */;
956 val
* var74
/* : nullable Bool */;
957 val
* var75
/* : nullable Bool */;
958 val
* var76
/* : String */;
959 val
* var77
/* : Array[String] */;
960 val
* var_78
/* var : Array[String] */;
961 static val
* varonce79
;
962 val
* var80
/* : String */;
963 char* var81
/* : CString */;
964 val
* var82
/* : String */;
965 val
* var83
/* : nullable Int */;
966 val
* var84
/* : nullable Int */;
967 val
* var85
/* : nullable Bool */;
968 val
* var86
/* : nullable Bool */;
969 static val
* varonce87
;
970 val
* var88
/* : String */;
971 char* var89
/* : CString */;
972 val
* var90
/* : String */;
973 val
* var91
/* : nullable Int */;
974 val
* var92
/* : nullable Int */;
975 val
* var93
/* : nullable Bool */;
976 val
* var94
/* : nullable Bool */;
977 static val
* varonce95
;
978 val
* var96
/* : String */;
979 char* var97
/* : CString */;
980 val
* var98
/* : String */;
981 val
* var99
/* : nullable Int */;
982 val
* var100
/* : nullable Int */;
983 val
* var101
/* : nullable Bool */;
984 val
* var102
/* : nullable Bool */;
985 val
* var104
/* : NativeArray[String] */;
986 static val
* varonce103
;
987 static val
* varonce105
;
988 val
* var106
/* : String */;
989 char* var107
/* : CString */;
990 val
* var108
/* : String */;
991 val
* var109
/* : nullable Int */;
992 val
* var110
/* : nullable Int */;
993 val
* var111
/* : nullable Bool */;
994 val
* var112
/* : nullable Bool */;
995 static val
* varonce113
;
996 val
* var114
/* : String */;
997 char* var115
/* : CString */;
998 val
* var116
/* : String */;
999 val
* var117
/* : nullable Int */;
1000 val
* var118
/* : nullable Int */;
1001 val
* var119
/* : nullable Bool */;
1002 val
* var120
/* : nullable Bool */;
1003 val
* var121
/* : String */;
1004 val
* var122
/* : Array[String] */;
1005 val
* var124
/* : Array[String] */;
1006 val
* var126
/* : NativeArray[String] */;
1007 static val
* varonce125
;
1008 static val
* varonce127
;
1009 val
* var128
/* : String */;
1010 char* var129
/* : CString */;
1011 val
* var130
/* : String */;
1012 val
* var131
/* : nullable Int */;
1013 val
* var132
/* : nullable Int */;
1014 val
* var133
/* : nullable Bool */;
1015 val
* var134
/* : nullable Bool */;
1016 val
* var135
/* : String */;
1019 if (unlikely(varonce
==NULL
)) {
1020 var
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
1021 if (likely(varonce1
!=NULL
)) {
1025 var5
= (val
*)(5l<<2|1);
1026 var6
= (val
*)(5l<<2|1);
1027 var7
= (val
*)((long)(0)<<2|3);
1028 var8
= (val
*)((long)(0)<<2|3);
1029 var4
= core__flat___CString___to_s_unsafe(var3
, var5
, var6
, var7
, var8
);
1033 ((struct instance_core__NativeArray
*)var
)->values
[1]=var2
;
1039 var9
= nitc___nitc__MModule___nitc__model_base__MEntity__c_name(var_mmodule
);
1041 ((struct instance_core__NativeArray
*)var
)->values
[0]=var9
;
1043 var10
= ((val
*(*)(val
* self
))(var
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var
); /* native_to_s on <var:NativeArray[String]>*/
1046 var_base_name
= var10
;
1047 if (unlikely(varonce11
==NULL
)) {
1048 var12
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
1049 if (likely(varonce13
!=NULL
)) {
1053 var17
= (val
*)(2l<<2|1);
1054 var18
= (val
*)(2l<<2|1);
1055 var19
= (val
*)((long)(0)<<2|3);
1056 var20
= (val
*)((long)(0)<<2|3);
1057 var16
= core__flat___CString___to_s_unsafe(var15
, var17
, var18
, var19
, var20
);
1061 ((struct instance_core__NativeArray
*)var12
)->values
[1]=var14
;
1066 ((struct instance_core__NativeArray
*)var12
)->values
[0]=var_base_name
;
1068 var21
= ((val
*(*)(val
* self
))(var12
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var12
); /* native_to_s on <var12:NativeArray[String]>*/
1072 if (unlikely(varonce22
==NULL
)) {
1073 var23
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
1074 if (likely(varonce24
!=NULL
)) {
1078 var28
= (val
*)(6l<<2|1);
1079 var29
= (val
*)(6l<<2|1);
1080 var30
= (val
*)((long)(0)<<2|3);
1081 var31
= (val
*)((long)(0)<<2|3);
1082 var27
= core__flat___CString___to_s_unsafe(var26
, var28
, var29
, var30
, var31
);
1086 ((struct instance_core__NativeArray
*)var23
)->values
[1]=var25
;
1092 var32
= nitc___nitc__MModule___nitc__model_base__MEntity__c_name(var_mmodule
);
1095 var33
= ((val
*(*)(val
* self
))(var32
->class->vft
[COLOR_core__abstract_text__Text__to_upper
]))(var32
); /* to_upper on <var32:String>*/
1097 ((struct instance_core__NativeArray
*)var23
)->values
[0]=var33
;
1099 var34
= ((val
*(*)(val
* self
))(var23
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var23
); /* native_to_s on <var23:NativeArray[String]>*/
1103 if (unlikely(varonce35
==NULL
)) {
1104 var36
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
1105 if (likely(varonce37
!=NULL
)) {
1109 var41
= (val
*)(1l<<2|1);
1110 var42
= (val
*)(1l<<2|1);
1111 var43
= (val
*)((long)(0)<<2|3);
1112 var44
= (val
*)((long)(0)<<2|3);
1113 var40
= core__flat___CString___to_s_unsafe(var39
, var41
, var42
, var43
, var44
);
1117 ((struct instance_core__NativeArray
*)var36
)->values
[1]=var38
;
1122 ((struct instance_core__NativeArray
*)var36
)->values
[0]=var_compdir
;
1123 ((struct instance_core__NativeArray
*)var36
)->values
[2]=var_h_file
;
1125 var45
= ((val
*(*)(val
* self
))(var36
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var36
); /* native_to_s on <var36:NativeArray[String]>*/
1128 var46
= NEW_core__Array(&type_core__Array__core__String
);
1130 core___core__Array___with_capacity(var46
, 1l); /* Direct call array$Array$with_capacity on <var46:Array[String]>*/
1133 if (likely(varonce47
!=NULL
)) {
1136 var49
= "<stdint.h>";
1137 var51
= (val
*)(10l<<2|1);
1138 var52
= (val
*)(10l<<2|1);
1139 var53
= (val
*)((long)(0)<<2|3);
1140 var54
= (val
*)((long)(0)<<2|3);
1141 var50
= core__flat___CString___to_s_unsafe(var49
, var51
, var52
, var53
, var54
);
1146 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, var48
); /* Direct call array$AbstractArray$push on <var_:Array[String]>*/
1149 nitc__light_ffi_base___CCompilationUnit___write_header_to_file(self
, var_mmodule
, var45
, var_
, var_guard
); /* Direct call light_ffi_base$CCompilationUnit$write_header_to_file on <self:CCompilationUnit>*/
1151 if (unlikely(varonce55
==NULL
)) {
1152 var56
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
1153 if (likely(varonce57
!=NULL
)) {
1157 var61
= (val
*)(2l<<2|1);
1158 var62
= (val
*)(2l<<2|1);
1159 var63
= (val
*)((long)(0)<<2|3);
1160 var64
= (val
*)((long)(0)<<2|3);
1161 var60
= core__flat___CString___to_s_unsafe(var59
, var61
, var62
, var63
, var64
);
1165 ((struct instance_core__NativeArray
*)var56
)->values
[1]=var58
;
1170 ((struct instance_core__NativeArray
*)var56
)->values
[0]=var_base_name
;
1172 var65
= ((val
*(*)(val
* self
))(var56
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var56
); /* native_to_s on <var56:NativeArray[String]>*/
1176 if (unlikely(varonce66
==NULL
)) {
1177 var67
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
1178 if (likely(varonce68
!=NULL
)) {
1182 var72
= (val
*)(1l<<2|1);
1183 var73
= (val
*)(1l<<2|1);
1184 var74
= (val
*)((long)(0)<<2|3);
1185 var75
= (val
*)((long)(0)<<2|3);
1186 var71
= core__flat___CString___to_s_unsafe(var70
, var72
, var73
, var74
, var75
);
1190 ((struct instance_core__NativeArray
*)var67
)->values
[1]=var69
;
1195 ((struct instance_core__NativeArray
*)var67
)->values
[0]=var_compdir
;
1196 ((struct instance_core__NativeArray
*)var67
)->values
[2]=var_c_file
;
1198 var76
= ((val
*(*)(val
* self
))(var67
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var67
); /* native_to_s on <var67:NativeArray[String]>*/
1201 var77
= NEW_core__Array(&type_core__Array__core__String
);
1203 core___core__Array___with_capacity(var77
, 4l); /* Direct call array$Array$with_capacity on <var77:Array[String]>*/
1206 if (likely(varonce79
!=NULL
)) {
1209 var81
= "<stdlib.h>";
1210 var83
= (val
*)(10l<<2|1);
1211 var84
= (val
*)(10l<<2|1);
1212 var85
= (val
*)((long)(0)<<2|3);
1213 var86
= (val
*)((long)(0)<<2|3);
1214 var82
= core__flat___CString___to_s_unsafe(var81
, var83
, var84
, var85
, var86
);
1219 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_78
, var80
); /* Direct call array$AbstractArray$push on <var_78:Array[String]>*/
1221 if (likely(varonce87
!=NULL
)) {
1224 var89
= "<stdio.h>";
1225 var91
= (val
*)(9l<<2|1);
1226 var92
= (val
*)(9l<<2|1);
1227 var93
= (val
*)((long)(0)<<2|3);
1228 var94
= (val
*)((long)(0)<<2|3);
1229 var90
= core__flat___CString___to_s_unsafe(var89
, var91
, var92
, var93
, var94
);
1234 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_78
, var88
); /* Direct call array$AbstractArray$push on <var_78:Array[String]>*/
1236 if (likely(varonce95
!=NULL
)) {
1239 var97
= "<stdint.h>";
1240 var99
= (val
*)(10l<<2|1);
1241 var100
= (val
*)(10l<<2|1);
1242 var101
= (val
*)((long)(0)<<2|3);
1243 var102
= (val
*)((long)(0)<<2|3);
1244 var98
= core__flat___CString___to_s_unsafe(var97
, var99
, var100
, var101
, var102
);
1249 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_78
, var96
); /* Direct call array$AbstractArray$push on <var_78:Array[String]>*/
1251 if (unlikely(varonce103
==NULL
)) {
1252 var104
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
1253 if (likely(varonce105
!=NULL
)) {
1254 var106
= varonce105
;
1257 var109
= (val
*)(1l<<2|1);
1258 var110
= (val
*)(1l<<2|1);
1259 var111
= (val
*)((long)(0)<<2|3);
1260 var112
= (val
*)((long)(0)<<2|3);
1261 var108
= core__flat___CString___to_s_unsafe(var107
, var109
, var110
, var111
, var112
);
1263 varonce105
= var106
;
1265 ((struct instance_core__NativeArray
*)var104
)->values
[0]=var106
;
1266 if (likely(varonce113
!=NULL
)) {
1267 var114
= varonce113
;
1270 var117
= (val
*)(1l<<2|1);
1271 var118
= (val
*)(1l<<2|1);
1272 var119
= (val
*)((long)(0)<<2|3);
1273 var120
= (val
*)((long)(0)<<2|3);
1274 var116
= core__flat___CString___to_s_unsafe(var115
, var117
, var118
, var119
, var120
);
1276 varonce113
= var114
;
1278 ((struct instance_core__NativeArray
*)var104
)->values
[2]=var114
;
1280 var104
= varonce103
;
1283 ((struct instance_core__NativeArray
*)var104
)->values
[1]=var_h_file
;
1285 var121
= ((val
*(*)(val
* self
))(var104
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var104
); /* native_to_s on <var104:NativeArray[String]>*/
1287 varonce103
= var104
;
1289 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_78
, var121
); /* Direct call array$AbstractArray$push on <var_78:Array[String]>*/
1292 nitc__light_ffi_base___CCompilationUnit___write_body_to_file(self
, var_mmodule
, var76
, var_78
); /* Direct call light_ffi_base$CCompilationUnit$write_body_to_file on <self:CCompilationUnit>*/
1295 { /* Inline c_tools$CCompilationUnit$files (self) on <self:CCompilationUnit> */
1296 var124
= self
->attrs
[COLOR_nitc__c_tools__CCompilationUnit___files
].val
; /* _files on <self:CCompilationUnit> */
1297 if (unlikely(var124
== NULL
)) {
1298 if(catchStack
.cursor
>= 0){
1299 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1301 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
1302 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__c_tools
, 47);
1306 RET_LABEL123
:(void)0;
1309 if (unlikely(varonce125
==NULL
)) {
1310 var126
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
1311 if (likely(varonce127
!=NULL
)) {
1312 var128
= varonce127
;
1315 var131
= (val
*)(1l<<2|1);
1316 var132
= (val
*)(1l<<2|1);
1317 var133
= (val
*)((long)(0)<<2|3);
1318 var134
= (val
*)((long)(0)<<2|3);
1319 var130
= core__flat___CString___to_s_unsafe(var129
, var131
, var132
, var133
, var134
);
1321 varonce127
= var128
;
1323 ((struct instance_core__NativeArray
*)var126
)->values
[1]=var128
;
1325 var126
= varonce125
;
1328 ((struct instance_core__NativeArray
*)var126
)->values
[0]=var_compdir
;
1329 ((struct instance_core__NativeArray
*)var126
)->values
[2]=var_c_file
;
1331 var135
= ((val
*(*)(val
* self
))(var126
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var126
); /* native_to_s on <var126:NativeArray[String]>*/
1333 varonce125
= var126
;
1335 core___core__Array___core__abstract_collection__SimpleCollection__add(var122
, var135
); /* Direct call array$Array$add on <var122:Array[String]>*/
1339 /* method light_ffi_base$CCompilationUnit$write_header_to_file for (self: CCompilationUnit, MModule, String, Array[String], String) */
1340 void nitc__light_ffi_base___CCompilationUnit___write_header_to_file(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
1341 val
* var_mmodule
/* var mmodule: MModule */;
1342 val
* var_file
/* var file: String */;
1343 val
* var_includes
/* var includes: Array[String] */;
1344 val
* var_guard
/* var guard: String */;
1345 val
* var
/* : FileWriter */;
1346 val
* var_stream
/* var stream: FileWriter */;
1347 val
* var1
/* : NativeArray[String] */;
1348 static val
* varonce
;
1349 static val
* varonce2
;
1350 val
* var3
/* : String */;
1351 char* var4
/* : CString */;
1352 val
* var5
/* : String */;
1353 val
* var6
/* : nullable Int */;
1354 val
* var7
/* : nullable Int */;
1355 val
* var8
/* : nullable Bool */;
1356 val
* var9
/* : nullable Bool */;
1357 static val
* varonce10
;
1358 val
* var11
/* : String */;
1359 char* var12
/* : CString */;
1360 val
* var13
/* : String */;
1361 val
* var14
/* : nullable Int */;
1362 val
* var15
/* : nullable Int */;
1363 val
* var16
/* : nullable Bool */;
1364 val
* var17
/* : nullable Bool */;
1365 val
* var18
/* : String */;
1366 val
* var20
/* : String */;
1367 val
* var21
/* : String */;
1368 val
* var_module_info
/* var module_info: String */;
1369 val
* var23
/* : NativeArray[String] */;
1370 static val
* varonce22
;
1371 static val
* varonce24
;
1372 val
* var25
/* : String */;
1373 char* var26
/* : CString */;
1374 val
* var27
/* : String */;
1375 val
* var28
/* : nullable Int */;
1376 val
* var29
/* : nullable Int */;
1377 val
* var30
/* : nullable Bool */;
1378 val
* var31
/* : nullable Bool */;
1379 static val
* varonce32
;
1380 val
* var33
/* : String */;
1381 char* var34
/* : CString */;
1382 val
* var35
/* : String */;
1383 val
* var36
/* : nullable Int */;
1384 val
* var37
/* : nullable Int */;
1385 val
* var38
/* : nullable Bool */;
1386 val
* var39
/* : nullable Bool */;
1387 val
* var40
/* : String */;
1388 val
* var42
/* : NativeArray[String] */;
1389 static val
* varonce41
;
1390 static val
* varonce43
;
1391 val
* var44
/* : String */;
1392 char* var45
/* : CString */;
1393 val
* var46
/* : String */;
1394 val
* var47
/* : nullable Int */;
1395 val
* var48
/* : nullable Int */;
1396 val
* var49
/* : nullable Bool */;
1397 val
* var50
/* : nullable Bool */;
1398 static val
* varonce51
;
1399 val
* var52
/* : String */;
1400 char* var53
/* : CString */;
1401 val
* var54
/* : String */;
1402 val
* var55
/* : nullable Int */;
1403 val
* var56
/* : nullable Int */;
1404 val
* var57
/* : nullable Bool */;
1405 val
* var58
/* : nullable Bool */;
1406 val
* var59
/* : String */;
1407 val
* var_
/* var : Array[String] */;
1408 val
* var60
/* : IndexedIterator[nullable Object] */;
1409 val
* var_61
/* var : IndexedIterator[String] */;
1410 short int var62
/* : Bool */;
1411 val
* var63
/* : nullable Object */;
1412 val
* var_incl
/* var incl: String */;
1413 val
* var65
/* : NativeArray[String] */;
1414 static val
* varonce64
;
1415 static val
* varonce66
;
1416 val
* var67
/* : String */;
1417 char* var68
/* : CString */;
1418 val
* var69
/* : String */;
1419 val
* var70
/* : nullable Int */;
1420 val
* var71
/* : nullable Int */;
1421 val
* var72
/* : nullable Bool */;
1422 val
* var73
/* : nullable Bool */;
1423 static val
* varonce74
;
1424 val
* var75
/* : String */;
1425 char* var76
/* : CString */;
1426 val
* var77
/* : String */;
1427 val
* var78
/* : nullable Int */;
1428 val
* var79
/* : nullable Int */;
1429 val
* var80
/* : nullable Bool */;
1430 val
* var81
/* : nullable Bool */;
1431 val
* var82
/* : String */;
1432 static val
* varonce83
;
1433 val
* var84
/* : String */;
1434 char* var85
/* : CString */;
1435 val
* var86
/* : String */;
1436 val
* var87
/* : nullable Int */;
1437 val
* var88
/* : nullable Int */;
1438 val
* var89
/* : nullable Bool */;
1439 val
* var90
/* : nullable Bool */;
1444 var
= NEW_core__FileWriter(&type_core__FileWriter
);
1446 core___core__FileWriter___open(var
, var_file
); /* Direct call file$FileWriter$open on <var:FileWriter>*/
1449 if (unlikely(varonce
==NULL
)) {
1450 var1
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
1451 if (likely(varonce2
!=NULL
)) {
1454 var4
= "/*\n\tExtern implementation of Nit module ";
1455 var6
= (val
*)(40l<<2|1);
1456 var7
= (val
*)(40l<<2|1);
1457 var8
= (val
*)((long)(0)<<2|3);
1458 var9
= (val
*)((long)(0)<<2|3);
1459 var5
= core__flat___CString___to_s_unsafe(var4
, var6
, var7
, var8
, var9
);
1463 ((struct instance_core__NativeArray
*)var1
)->values
[0]=var3
;
1464 if (likely(varonce10
!=NULL
)) {
1468 var14
= (val
*)(4l<<2|1);
1469 var15
= (val
*)(4l<<2|1);
1470 var16
= (val
*)((long)(0)<<2|3);
1471 var17
= (val
*)((long)(0)<<2|3);
1472 var13
= core__flat___CString___to_s_unsafe(var12
, var14
, var15
, var16
, var17
);
1476 ((struct instance_core__NativeArray
*)var1
)->values
[2]=var11
;
1482 { /* Inline mmodule$MModule$name (var_mmodule) on <var_mmodule:MModule> */
1483 var20
= var_mmodule
->attrs
[COLOR_nitc__mmodule__MModule___name
].val
; /* _name on <var_mmodule:MModule> */
1484 if (unlikely(var20
== NULL
)) {
1485 if(catchStack
.cursor
>= 0){
1486 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1488 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1489 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 100);
1493 RET_LABEL19
:(void)0;
1496 ((struct instance_core__NativeArray
*)var1
)->values
[1]=var18
;
1498 var21
= ((val
*(*)(val
* self
))(var1
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1
); /* native_to_s on <var1:NativeArray[String]>*/
1501 var_module_info
= var21
;
1503 core___core__FileWriter___core__stream__Writer__write(var_stream
, var_module_info
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
1505 if (unlikely(varonce22
==NULL
)) {
1506 var23
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
1507 if (likely(varonce24
!=NULL
)) {
1511 var28
= (val
*)(8l<<2|1);
1512 var29
= (val
*)(8l<<2|1);
1513 var30
= (val
*)((long)(0)<<2|3);
1514 var31
= (val
*)((long)(0)<<2|3);
1515 var27
= core__flat___CString___to_s_unsafe(var26
, var28
, var29
, var30
, var31
);
1519 ((struct instance_core__NativeArray
*)var23
)->values
[0]=var25
;
1520 if (likely(varonce32
!=NULL
)) {
1524 var36
= (val
*)(1l<<2|1);
1525 var37
= (val
*)(1l<<2|1);
1526 var38
= (val
*)((long)(0)<<2|3);
1527 var39
= (val
*)((long)(0)<<2|3);
1528 var35
= core__flat___CString___to_s_unsafe(var34
, var36
, var37
, var38
, var39
);
1532 ((struct instance_core__NativeArray
*)var23
)->values
[2]=var33
;
1537 ((struct instance_core__NativeArray
*)var23
)->values
[1]=var_guard
;
1539 var40
= ((val
*(*)(val
* self
))(var23
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var23
); /* native_to_s on <var23:NativeArray[String]>*/
1543 core___core__FileWriter___core__stream__Writer__write(var_stream
, var40
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
1545 if (unlikely(varonce41
==NULL
)) {
1546 var42
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
1547 if (likely(varonce43
!=NULL
)) {
1551 var47
= (val
*)(8l<<2|1);
1552 var48
= (val
*)(8l<<2|1);
1553 var49
= (val
*)((long)(0)<<2|3);
1554 var50
= (val
*)((long)(0)<<2|3);
1555 var46
= core__flat___CString___to_s_unsafe(var45
, var47
, var48
, var49
, var50
);
1559 ((struct instance_core__NativeArray
*)var42
)->values
[0]=var44
;
1560 if (likely(varonce51
!=NULL
)) {
1564 var55
= (val
*)(2l<<2|1);
1565 var56
= (val
*)(2l<<2|1);
1566 var57
= (val
*)((long)(0)<<2|3);
1567 var58
= (val
*)((long)(0)<<2|3);
1568 var54
= core__flat___CString___to_s_unsafe(var53
, var55
, var56
, var57
, var58
);
1572 ((struct instance_core__NativeArray
*)var42
)->values
[2]=var52
;
1577 ((struct instance_core__NativeArray
*)var42
)->values
[1]=var_guard
;
1579 var59
= ((val
*(*)(val
* self
))(var42
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var42
); /* native_to_s on <var42:NativeArray[String]>*/
1583 core___core__FileWriter___core__stream__Writer__write(var_stream
, var59
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
1585 var_
= var_includes
;
1587 var60
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
1592 var62
= ((short int(*)(val
* self
))((((long)var_61
&3)?class_info
[((long)var_61
&3)]:var_61
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_61
); /* is_ok on <var_61:IndexedIterator[String]>*/
1599 var63
= ((val
*(*)(val
* self
))((((long)var_61
&3)?class_info
[((long)var_61
&3)]:var_61
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_61
); /* item on <var_61:IndexedIterator[String]>*/
1602 if (unlikely(varonce64
==NULL
)) {
1603 var65
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
1604 if (likely(varonce66
!=NULL
)) {
1607 var68
= "#include ";
1608 var70
= (val
*)(9l<<2|1);
1609 var71
= (val
*)(9l<<2|1);
1610 var72
= (val
*)((long)(0)<<2|3);
1611 var73
= (val
*)((long)(0)<<2|3);
1612 var69
= core__flat___CString___to_s_unsafe(var68
, var70
, var71
, var72
, var73
);
1616 ((struct instance_core__NativeArray
*)var65
)->values
[0]=var67
;
1617 if (likely(varonce74
!=NULL
)) {
1621 var78
= (val
*)(1l<<2|1);
1622 var79
= (val
*)(1l<<2|1);
1623 var80
= (val
*)((long)(0)<<2|3);
1624 var81
= (val
*)((long)(0)<<2|3);
1625 var77
= core__flat___CString___to_s_unsafe(var76
, var78
, var79
, var80
, var81
);
1629 ((struct instance_core__NativeArray
*)var65
)->values
[2]=var75
;
1634 ((struct instance_core__NativeArray
*)var65
)->values
[1]=var_incl
;
1636 var82
= ((val
*(*)(val
* self
))(var65
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var65
); /* native_to_s on <var65:NativeArray[String]>*/
1640 core___core__FileWriter___core__stream__Writer__write(var_stream
, var82
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
1643 ((void(*)(val
* self
))((((long)var_61
&3)?class_info
[((long)var_61
&3)]:var_61
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_61
); /* next on <var_61:IndexedIterator[String]>*/
1646 BREAK_label
: (void)0;
1648 ((void(*)(val
* self
))((((long)var_61
&3)?class_info
[((long)var_61
&3)]:var_61
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_61
); /* finish on <var_61:IndexedIterator[String]>*/
1651 nitc___nitc__CCompilationUnit___compile_header_core(self
, var_stream
); /* Direct call c_tools$CCompilationUnit$compile_header_core on <self:CCompilationUnit>*/
1653 if (likely(varonce83
!=NULL
)) {
1657 var87
= (val
*)(7l<<2|1);
1658 var88
= (val
*)(7l<<2|1);
1659 var89
= (val
*)((long)(0)<<2|3);
1660 var90
= (val
*)((long)(0)<<2|3);
1661 var86
= core__flat___CString___to_s_unsafe(var85
, var87
, var88
, var89
, var90
);
1666 core___core__FileWriter___core__stream__Writer__write(var_stream
, var84
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
1669 core___core__FileWriter___core__stream__Stream__close(var_stream
); /* Direct call file$FileWriter$close on <var_stream:FileWriter>*/
1673 /* method light_ffi_base$CCompilationUnit$write_body_to_file for (self: CCompilationUnit, MModule, String, Array[String]) */
1674 void nitc__light_ffi_base___CCompilationUnit___write_body_to_file(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1675 val
* var_mmodule
/* var mmodule: MModule */;
1676 val
* var_file
/* var file: String */;
1677 val
* var_includes
/* var includes: Array[String] */;
1678 val
* var
/* : FileWriter */;
1679 val
* var_stream
/* var stream: FileWriter */;
1680 val
* var1
/* : NativeArray[String] */;
1681 static val
* varonce
;
1682 static val
* varonce2
;
1683 val
* var3
/* : String */;
1684 char* var4
/* : CString */;
1685 val
* var5
/* : String */;
1686 val
* var6
/* : nullable Int */;
1687 val
* var7
/* : nullable Int */;
1688 val
* var8
/* : nullable Bool */;
1689 val
* var9
/* : nullable Bool */;
1690 static val
* varonce10
;
1691 val
* var11
/* : String */;
1692 char* var12
/* : CString */;
1693 val
* var13
/* : String */;
1694 val
* var14
/* : nullable Int */;
1695 val
* var15
/* : nullable Int */;
1696 val
* var16
/* : nullable Bool */;
1697 val
* var17
/* : nullable Bool */;
1698 val
* var18
/* : String */;
1699 val
* var20
/* : String */;
1700 val
* var21
/* : String */;
1701 val
* var_module_info
/* var module_info: String */;
1702 val
* var_
/* var : Array[String] */;
1703 val
* var22
/* : IndexedIterator[nullable Object] */;
1704 val
* var_23
/* var : IndexedIterator[String] */;
1705 short int var24
/* : Bool */;
1706 val
* var25
/* : nullable Object */;
1707 val
* var_incl
/* var incl: String */;
1708 val
* var27
/* : NativeArray[String] */;
1709 static val
* varonce26
;
1710 static val
* varonce28
;
1711 val
* var29
/* : String */;
1712 char* var30
/* : CString */;
1713 val
* var31
/* : String */;
1714 val
* var32
/* : nullable Int */;
1715 val
* var33
/* : nullable Int */;
1716 val
* var34
/* : nullable Bool */;
1717 val
* var35
/* : nullable Bool */;
1718 static val
* varonce36
;
1719 val
* var37
/* : String */;
1720 char* var38
/* : CString */;
1721 val
* var39
/* : String */;
1722 val
* var40
/* : nullable Int */;
1723 val
* var41
/* : nullable Int */;
1724 val
* var42
/* : nullable Bool */;
1725 val
* var43
/* : nullable Bool */;
1726 val
* var44
/* : String */;
1730 var
= NEW_core__FileWriter(&type_core__FileWriter
);
1732 core___core__FileWriter___open(var
, var_file
); /* Direct call file$FileWriter$open on <var:FileWriter>*/
1735 if (unlikely(varonce
==NULL
)) {
1736 var1
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
1737 if (likely(varonce2
!=NULL
)) {
1740 var4
= "/*\n\tExtern implementation of Nit module ";
1741 var6
= (val
*)(40l<<2|1);
1742 var7
= (val
*)(40l<<2|1);
1743 var8
= (val
*)((long)(0)<<2|3);
1744 var9
= (val
*)((long)(0)<<2|3);
1745 var5
= core__flat___CString___to_s_unsafe(var4
, var6
, var7
, var8
, var9
);
1749 ((struct instance_core__NativeArray
*)var1
)->values
[0]=var3
;
1750 if (likely(varonce10
!=NULL
)) {
1754 var14
= (val
*)(4l<<2|1);
1755 var15
= (val
*)(4l<<2|1);
1756 var16
= (val
*)((long)(0)<<2|3);
1757 var17
= (val
*)((long)(0)<<2|3);
1758 var13
= core__flat___CString___to_s_unsafe(var12
, var14
, var15
, var16
, var17
);
1762 ((struct instance_core__NativeArray
*)var1
)->values
[2]=var11
;
1768 { /* Inline mmodule$MModule$name (var_mmodule) on <var_mmodule:MModule> */
1769 var20
= var_mmodule
->attrs
[COLOR_nitc__mmodule__MModule___name
].val
; /* _name on <var_mmodule:MModule> */
1770 if (unlikely(var20
== NULL
)) {
1771 if(catchStack
.cursor
>= 0){
1772 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1774 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1775 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 100);
1779 RET_LABEL19
:(void)0;
1782 ((struct instance_core__NativeArray
*)var1
)->values
[1]=var18
;
1784 var21
= ((val
*(*)(val
* self
))(var1
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1
); /* native_to_s on <var1:NativeArray[String]>*/
1787 var_module_info
= var21
;
1789 core___core__FileWriter___core__stream__Writer__write(var_stream
, var_module_info
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
1791 var_
= var_includes
;
1793 var22
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
1798 var24
= ((short int(*)(val
* self
))((((long)var_23
&3)?class_info
[((long)var_23
&3)]:var_23
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_23
); /* is_ok on <var_23:IndexedIterator[String]>*/
1805 var25
= ((val
*(*)(val
* self
))((((long)var_23
&3)?class_info
[((long)var_23
&3)]:var_23
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_23
); /* item on <var_23:IndexedIterator[String]>*/
1808 if (unlikely(varonce26
==NULL
)) {
1809 var27
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
1810 if (likely(varonce28
!=NULL
)) {
1813 var30
= "#include ";
1814 var32
= (val
*)(9l<<2|1);
1815 var33
= (val
*)(9l<<2|1);
1816 var34
= (val
*)((long)(0)<<2|3);
1817 var35
= (val
*)((long)(0)<<2|3);
1818 var31
= core__flat___CString___to_s_unsafe(var30
, var32
, var33
, var34
, var35
);
1822 ((struct instance_core__NativeArray
*)var27
)->values
[0]=var29
;
1823 if (likely(varonce36
!=NULL
)) {
1827 var40
= (val
*)(1l<<2|1);
1828 var41
= (val
*)(1l<<2|1);
1829 var42
= (val
*)((long)(0)<<2|3);
1830 var43
= (val
*)((long)(0)<<2|3);
1831 var39
= core__flat___CString___to_s_unsafe(var38
, var40
, var41
, var42
, var43
);
1835 ((struct instance_core__NativeArray
*)var27
)->values
[2]=var37
;
1840 ((struct instance_core__NativeArray
*)var27
)->values
[1]=var_incl
;
1842 var44
= ((val
*(*)(val
* self
))(var27
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var27
); /* native_to_s on <var27:NativeArray[String]>*/
1846 core___core__FileWriter___core__stream__Writer__write(var_stream
, var44
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
1849 ((void(*)(val
* self
))((((long)var_23
&3)?class_info
[((long)var_23
&3)]:var_23
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_23
); /* next on <var_23:IndexedIterator[String]>*/
1852 BREAK_label
: (void)0;
1854 ((void(*)(val
* self
))((((long)var_23
&3)?class_info
[((long)var_23
&3)]:var_23
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_23
); /* finish on <var_23:IndexedIterator[String]>*/
1857 nitc___nitc__CCompilationUnit___compile_body_core(self
, var_stream
); /* Direct call c_tools$CCompilationUnit$compile_body_core on <self:CCompilationUnit>*/
1860 core___core__FileWriter___core__stream__Stream__close(var_stream
); /* Direct call file$FileWriter$close on <var_stream:FileWriter>*/
1864 /* method light_ffi_base$ForeignType$ctype for (self: ForeignType): String */
1865 val
* nitc___nitc__ForeignType___ctype(val
* self
) {
1866 val
* var
/* : String */;
1867 static val
* varonce
;
1868 val
* var1
/* : String */;
1869 char* var2
/* : CString */;
1870 val
* var3
/* : String */;
1871 val
* var4
/* : nullable Int */;
1872 val
* var5
/* : nullable Int */;
1873 val
* var6
/* : nullable Bool */;
1874 val
* var7
/* : nullable Bool */;
1875 if (likely(varonce
!=NULL
)) {
1879 var4
= (val
*)(5l<<2|1);
1880 var5
= (val
*)(5l<<2|1);
1881 var6
= (val
*)((long)(0)<<2|3);
1882 var7
= (val
*)((long)(0)<<2|3);
1883 var3
= core__flat___CString___to_s_unsafe(var2
, var4
, var5
, var6
, var7
);