1 #include "nitc__light.sep.0.h"
2 /* method light#MModule#nitni_ccu for (self: MModule): nullable CCompilationUnit */
3 val
* nitc__light___MModule___nitni_ccu(val
* self
) {
4 val
* var
/* : nullable CCompilationUnit */;
5 val
* var1
/* : nullable CCompilationUnit */;
6 var1
= self
->attrs
[COLOR_nitc__light__MModule___nitni_ccu
].val
; /* _nitni_ccu on <self:MModule> */
11 /* method light#MModule#nitni_ccu= for (self: MModule, nullable CCompilationUnit) */
12 void nitc__light___MModule___nitni_ccu_61d(val
* self
, val
* p0
) {
13 self
->attrs
[COLOR_nitc__light__MModule___nitni_ccu
].val
= p0
; /* _nitni_ccu on <self:MModule> */
16 /* method light#MModule#nmodule for (self: MModule, AbstractCompilerVisitor): nullable AModule */
17 val
* nitc__light___MModule___nmodule(val
* self
, val
* p0
) {
18 val
* var
/* : nullable AModule */;
19 val
* var_v
/* var v: AbstractCompilerVisitor */;
20 val
* var1
/* : AbstractCompiler */;
21 val
* var3
/* : AbstractCompiler */;
22 val
* var4
/* : ModelBuilder */;
23 val
* var6
/* : ModelBuilder */;
24 val
* var7
/* : nullable AModule */;
27 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
28 var3
= var_v
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
29 if (unlikely(var3
== NULL
)) {
30 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
31 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1133);
39 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var1) on <var1:AbstractCompiler> */
40 var6
= var1
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var1:AbstractCompiler> */
41 if (unlikely(var6
== NULL
)) {
42 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
43 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 538);
51 var7
= nitc__loader___ModelBuilder___mmodule2node(var4
, self
);
58 /* method light#MModule#finalize_ffi for (self: MModule, AbstractCompiler) */
59 void nitc__light___MModule___finalize_ffi(val
* self
, val
* p0
) {
60 val
* var_compiler
/* var compiler: AbstractCompiler */;
61 short int var
/* : Bool */;
62 short int var2
/* : Bool */;
63 short int var3
/* : Bool */;
64 val
* var4
/* : AbstractCompilerVisitor */;
65 val
* var_v
/* var v: AbstractCompilerVisitor */;
66 val
* var5
/* : nullable AModule */;
67 val
* var_n
/* var n: nullable AModule */;
68 short int var6
/* : Bool */;
69 short int var7
/* : Bool */;
70 val
* var_other
/* var other: nullable Object */;
71 short int var9
/* : Bool */;
72 short int var11
/* : Bool */;
73 val
* var12
/* : AbstractCompiler */;
74 val
* var14
/* : AbstractCompiler */;
75 val
* var15
/* : Toolchain */;
76 val
* var17
/* : Toolchain */;
77 val
* var18
/* : String */;
78 val
* var19
/* : AbstractCompiler */;
79 val
* var21
/* : AbstractCompiler */;
80 val
* var22
/* : MModule */;
81 val
* var24
/* : MModule */;
82 val
* var25
/* : Array[ExternFile] */;
83 val
* var27
/* : Array[ExternFile] */;
84 val
* var_
/* var : Array[ExternFile] */;
85 val
* var28
/* : IndexedIterator[nullable Object] */;
86 val
* var_29
/* var : IndexedIterator[ExternFile] */;
87 short int var30
/* : Bool */;
88 val
* var31
/* : nullable Object */;
89 val
* var_file
/* var file: ExternFile */;
90 val
* var32
/* : AbstractCompiler */;
91 val
* var34
/* : AbstractCompiler */;
92 val
* var35
/* : Array[ExternFile] */;
93 val
* var37
/* : Array[ExternFile] */;
94 val
* var38
/* : nullable CCompilationUnit */;
95 val
* var40
/* : nullable CCompilationUnit */;
96 val
* var41
/* : Template */;
97 val
* var43
/* : Template */;
98 val
* var44
/* : NativeArray[String] */;
100 static val
* varonce45
;
101 val
* var46
/* : String */;
102 char* var47
/* : NativeString */;
103 val
* var48
/* : String */;
104 static val
* varonce49
;
105 val
* var50
/* : String */;
106 char* var51
/* : NativeString */;
107 val
* var52
/* : String */;
108 val
* var53
/* : String */;
109 val
* var54
/* : String */;
110 val
* var55
/* : nullable CCompilationUnit */;
111 val
* var57
/* : nullable CCompilationUnit */;
112 val
* var58
/* : Template */;
113 val
* var60
/* : Template */;
114 static val
* varonce61
;
115 val
* var62
/* : String */;
116 char* var63
/* : NativeString */;
117 val
* var64
/* : String */;
118 val
* var65
/* : nullable CCompilationUnit */;
119 val
* var67
/* : nullable CCompilationUnit */;
120 val
* var68
/* : Template */;
121 val
* var70
/* : Template */;
122 static val
* varonce71
;
123 val
* var72
/* : String */;
124 char* var73
/* : NativeString */;
125 val
* var74
/* : String */;
126 val
* var75
/* : MultiHashMap[String, String] */;
127 val
* var77
/* : MultiHashMap[String, String] */;
128 static val
* varonce78
;
129 val
* var79
/* : String */;
130 char* var80
/* : NativeString */;
131 val
* var81
/* : String */;
132 val
* var82
/* : nullable Object */;
133 static val
* varonce83
;
134 val
* var84
/* : String */;
135 char* var85
/* : NativeString */;
136 val
* var86
/* : String */;
137 val
* var87
/* : String */;
138 val
* var_cflags
/* var cflags: String */;
139 val
* var88
/* : nullable CCompilationUnit */;
140 val
* var90
/* : nullable CCompilationUnit */;
141 val
* var91
/* : AbstractCompiler */;
142 val
* var93
/* : AbstractCompiler */;
143 val
* var94
/* : Toolchain */;
144 val
* var96
/* : Toolchain */;
145 val
* var97
/* : String */;
146 val
* var98
/* : nullable CCompilationUnit */;
147 val
* var100
/* : nullable CCompilationUnit */;
148 val
* var101
/* : Array[String] */;
149 val
* var103
/* : Array[String] */;
150 val
* var_104
/* var : Array[String] */;
151 val
* var105
/* : IndexedIterator[nullable Object] */;
152 val
* var_106
/* var : IndexedIterator[String] */;
153 short int var107
/* : Bool */;
154 val
* var109
/* : nullable Object */;
155 val
* var_file110
/* var file: String */;
156 val
* var111
/* : ExternCFile */;
157 val
* var_f
/* var f: ExternCFile */;
158 val
* var112
/* : Array[String] */;
159 val
* var114
/* : Array[String] */;
160 val
* var115
/* : Array[String] */;
161 val
* var117
/* : Array[String] */;
162 val
* var118
/* : AbstractCompiler */;
163 val
* var120
/* : AbstractCompiler */;
164 val
* var121
/* : Array[ExternFile] */;
165 val
* var123
/* : Array[ExternFile] */;
166 val
* var125
/* : HashSet[AMethPropdef] */;
167 val
* var127
/* : HashSet[AMethPropdef] */;
168 val
* var129
/* : Array[ExternFile] */;
169 val
* var131
/* : Array[ExternFile] */;
172 { /* Inline light_ffi#MModule#uses_ffi (self) on <self:MModule> */
173 var2
= self
->attrs
[COLOR_nitc__light_ffi__MModule___uses_ffi
].s
; /* _uses_ffi on <self:MModule> */
184 var4
= ((val
*(*)(val
* self
))(var_compiler
->class->vft
[COLOR_nitc__abstract_compiler__AbstractCompiler__new_visitor
]))(var_compiler
); /* new_visitor on <var_compiler:AbstractCompiler>*/
188 var5
= nitc__light___MModule___nmodule(self
, var_v
);
192 var6
= 1; /* is null */
194 var6
= 0; /* arg is null but recv is not */
197 { /* Inline kernel#Object#== (var_n,((val*)NULL)) on <var_n:nullable AModule> */
198 var_other
= ((val
*)NULL
);
200 { /* Inline kernel#Object#is_same_instance (var_n,var_other) on <var_n:nullable AModule(AModule)> */
201 var11
= var_n
== var_other
;
218 nitc__light_ffi___AModule___ensure_compile_ffi_wrapper(var_n
); /* Direct call light_ffi#AModule#ensure_compile_ffi_wrapper on <var_n:nullable AModule(AModule)>*/
221 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
222 var14
= var_v
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
223 if (unlikely(var14
== NULL
)) {
224 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
225 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1133);
233 { /* Inline abstract_compiler#AbstractCompiler#toolchain (var12) on <var12:AbstractCompiler> */
234 var17
= var12
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___toolchain
].val
; /* _toolchain on <var12:AbstractCompiler> */
235 if (unlikely(var17
== NULL
)) {
236 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolchain");
237 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 541);
245 var18
= nitc___nitc__Toolchain___compile_dir(var15
);
248 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
249 var21
= var_v
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
250 if (unlikely(var21
== NULL
)) {
251 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
252 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1133);
260 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var19) on <var19:AbstractCompiler> */
261 var24
= var19
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var19:AbstractCompiler> */
262 if (unlikely(var24
== NULL
)) {
263 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
264 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 531);
272 nitc__light_ffi___MModule___finalize_ffi_wrapper(self
, var18
, var22
); /* Direct call light_ffi#MModule#finalize_ffi_wrapper on <self:MModule>*/
275 { /* Inline light_ffi_base#MModule#ffi_files (self) on <self:MModule> */
276 var27
= self
->attrs
[COLOR_nitc__light_ffi_base__MModule___ffi_files
].val
; /* _ffi_files on <self:MModule> */
277 if (unlikely(var27
== NULL
)) {
278 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ffi_files");
279 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light_ffi_base
, 82);
288 var28
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
293 var30
= ((short int(*)(val
* self
))((((long)var_29
&3)?class_info
[((long)var_29
&3)]:var_29
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_29
); /* is_ok on <var_29:IndexedIterator[ExternFile]>*/
300 var31
= ((val
*(*)(val
* self
))((((long)var_29
&3)?class_info
[((long)var_29
&3)]:var_29
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_29
); /* item on <var_29:IndexedIterator[ExternFile]>*/
304 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
305 var34
= var_v
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
306 if (unlikely(var34
== NULL
)) {
307 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
308 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1133);
316 { /* Inline abstract_compiler#AbstractCompiler#extern_bodies (var32) on <var32:AbstractCompiler> */
317 var37
= var32
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <var32:AbstractCompiler> */
318 if (unlikely(var37
== NULL
)) {
319 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
320 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1010);
328 core___core__Array___core__abstract_collection__SimpleCollection__add(var35
, var_file
); /* Direct call array#Array#add on <var35:Array[ExternFile]>*/
331 ((void(*)(val
* self
))((((long)var_29
&3)?class_info
[((long)var_29
&3)]:var_29
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_29
); /* next on <var_29:IndexedIterator[ExternFile]>*/
334 BREAK_label
: (void)0;
336 ((void(*)(val
* self
))((((long)var_29
&3)?class_info
[((long)var_29
&3)]:var_29
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_29
); /* finish on <var_29:IndexedIterator[ExternFile]>*/
339 nitc__light___MModule___ensure_compile_nitni_base(self
, var_v
); /* Direct call light#MModule#ensure_compile_nitni_base on <self:MModule>*/
342 { /* Inline light#MModule#nitni_ccu (self) on <self:MModule> */
343 var40
= self
->attrs
[COLOR_nitc__light__MModule___nitni_ccu
].val
; /* _nitni_ccu on <self:MModule> */
349 PRINT_ERROR("Runtime error: %s", "Receiver is null");
350 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light
, 45);
353 { /* Inline c_tools#CCompilationUnit#header_c_types (var38) on <var38:nullable CCompilationUnit> */
354 if (unlikely(var38
== NULL
)) {
355 PRINT_ERROR("Runtime error: %s", "Receiver is null");
356 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__c_tools
, 31);
359 var43
= var38
->attrs
[COLOR_nitc__c_tools__CCompilationUnit___header_c_types
].val
; /* _header_c_types on <var38:nullable CCompilationUnit> */
360 if (unlikely(var43
== NULL
)) {
361 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header_c_types");
362 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__c_tools
, 31);
369 if (unlikely(varonce
==NULL
)) {
370 var44
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
371 if (likely(varonce45
!=NULL
)) {
374 var47
= "#include \"";
375 var48
= core__flat___NativeString___to_s_full(var47
, 10l, 10l);
379 ((struct instance_core__NativeArray
*)var44
)->values
[0]=var46
;
380 if (likely(varonce49
!=NULL
)) {
383 var51
= "._ffi.h\"\n";
384 var52
= core__flat___NativeString___to_s_full(var51
, 9l, 9l);
388 ((struct instance_core__NativeArray
*)var44
)->values
[2]=var50
;
394 var53
= nitc___nitc__MModule___nitc__model_base__MEntity__c_name(self
);
396 ((struct instance_core__NativeArray
*)var44
)->values
[1]=var53
;
398 var54
= ((val
*(*)(val
* self
))(var44
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var44
); /* native_to_s on <var44:NativeArray[String]>*/
402 template___template__Template___add(var41
, var54
); /* Direct call template#Template#add on <var41:Template>*/
405 { /* Inline light#MModule#nitni_ccu (self) on <self:MModule> */
406 var57
= self
->attrs
[COLOR_nitc__light__MModule___nitni_ccu
].val
; /* _nitni_ccu on <self:MModule> */
412 PRINT_ERROR("Runtime error: %s", "Receiver is null");
413 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light
, 46);
416 { /* Inline c_tools#CCompilationUnit#header_c_types (var55) on <var55:nullable CCompilationUnit> */
417 if (unlikely(var55
== NULL
)) {
418 PRINT_ERROR("Runtime error: %s", "Receiver is null");
419 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__c_tools
, 31);
422 var60
= var55
->attrs
[COLOR_nitc__c_tools__CCompilationUnit___header_c_types
].val
; /* _header_c_types on <var55:nullable CCompilationUnit> */
423 if (unlikely(var60
== NULL
)) {
424 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header_c_types");
425 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__c_tools
, 31);
432 if (likely(varonce61
!=NULL
)) {
435 var63
= "#include <stdint.h>\n";
436 var64
= core__flat___NativeString___to_s_full(var63
, 20l, 20l);
441 template___template__Template___add(var58
, var62
); /* Direct call template#Template#add on <var58:Template>*/
444 { /* Inline light#MModule#nitni_ccu (self) on <self:MModule> */
445 var67
= self
->attrs
[COLOR_nitc__light__MModule___nitni_ccu
].val
; /* _nitni_ccu on <self:MModule> */
451 PRINT_ERROR("Runtime error: %s", "Receiver is null");
452 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light
, 47);
455 { /* Inline c_tools#CCompilationUnit#header_c_types (var65) on <var65:nullable CCompilationUnit> */
456 if (unlikely(var65
== NULL
)) {
457 PRINT_ERROR("Runtime error: %s", "Receiver is null");
458 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__c_tools
, 31);
461 var70
= var65
->attrs
[COLOR_nitc__c_tools__CCompilationUnit___header_c_types
].val
; /* _header_c_types on <var65:nullable CCompilationUnit> */
462 if (unlikely(var70
== NULL
)) {
463 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header_c_types");
464 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__c_tools
, 31);
471 if (likely(varonce71
!=NULL
)) {
474 var73
= "extern void nitni_global_ref_incr(void*);\nextern void nitni_global_ref_decr(void*);\n";
475 var74
= core__flat___NativeString___to_s_full(var73
, 84l, 84l);
480 template___template__Template___add(var68
, var72
); /* Direct call template#Template#add on <var68:Template>*/
483 { /* Inline light_c#MModule#cflags (self) on <self:MModule> */
484 var77
= self
->attrs
[COLOR_nitc__light_c__MModule___cflags
].val
; /* _cflags on <self:MModule> */
485 if (unlikely(var77
== NULL
)) {
486 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _cflags");
487 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light_c
, 77);
494 if (likely(varonce78
!=NULL
)) {
498 var81
= core__flat___NativeString___to_s_full(var80
, 0l, 0l);
503 var82
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var75
, var79
);
505 if (likely(varonce83
!=NULL
)) {
509 var86
= core__flat___NativeString___to_s_full(var85
, 1l, 1l);
514 var87
= core__abstract_text___Collection___join(var82
, var84
);
518 { /* Inline light#MModule#nitni_ccu (self) on <self:MModule> */
519 var90
= self
->attrs
[COLOR_nitc__light__MModule___nitni_ccu
].val
; /* _nitni_ccu on <self:MModule> */
525 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
526 var93
= var_v
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
527 if (unlikely(var93
== NULL
)) {
528 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
529 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1133);
537 { /* Inline abstract_compiler#AbstractCompiler#toolchain (var91) on <var91:AbstractCompiler> */
538 var96
= var91
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___toolchain
].val
; /* _toolchain on <var91:AbstractCompiler> */
539 if (unlikely(var96
== NULL
)) {
540 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolchain");
541 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 541);
549 var97
= nitc___nitc__Toolchain___compile_dir(var94
);
552 PRINT_ERROR("Runtime error: %s", "Receiver is null");
553 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light
, 53);
556 nitc__light___CCompilationUnit___write_as_nitni(var88
, self
, var97
); /* Direct call light#CCompilationUnit#write_as_nitni on <var88:nullable CCompilationUnit>*/
559 { /* Inline light#MModule#nitni_ccu (self) on <self:MModule> */
560 var100
= self
->attrs
[COLOR_nitc__light__MModule___nitni_ccu
].val
; /* _nitni_ccu on <self:MModule> */
566 PRINT_ERROR("Runtime error: %s", "Receiver is null");
567 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light
, 55);
570 { /* Inline c_tools#CCompilationUnit#files (var98) on <var98:nullable CCompilationUnit> */
571 if (unlikely(var98
== NULL
)) {
572 PRINT_ERROR("Runtime error: %s", "Receiver is null");
573 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__c_tools
, 47);
576 var103
= var98
->attrs
[COLOR_nitc__c_tools__CCompilationUnit___files
].val
; /* _files on <var98:nullable CCompilationUnit> */
577 if (unlikely(var103
== NULL
)) {
578 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
579 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__c_tools
, 47);
583 RET_LABEL102
:(void)0;
588 var105
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_104
);
593 var107
= ((short int(*)(val
* self
))((((long)var_106
&3)?class_info
[((long)var_106
&3)]:var_106
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_106
); /* is_ok on <var_106:IndexedIterator[String]>*/
600 var109
= ((val
*(*)(val
* self
))((((long)var_106
&3)?class_info
[((long)var_106
&3)]:var_106
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_106
); /* item on <var_106:IndexedIterator[String]>*/
602 var_file110
= var109
;
603 var111
= NEW_nitc__ExternCFile(&type_nitc__ExternCFile
);
605 ((void(*)(val
* self
, val
* p0
))(var111
->class->vft
[COLOR_nitc__c_tools__ExternFile__filename_61d
]))(var111
, var_file110
); /* filename= on <var111:ExternCFile>*/
608 ((void(*)(val
* self
, val
* p0
))(var111
->class->vft
[COLOR_nitc__c_tools__ExternCFile__cflags_61d
]))(var111
, var_cflags
); /* cflags= on <var111:ExternCFile>*/
611 ((void(*)(val
* self
))(var111
->class->vft
[COLOR_core__kernel__Object__init
]))(var111
); /* init on <var111:ExternCFile>*/
615 { /* Inline c_tools#ExternFile#pkgconfigs (var_f) on <var_f:ExternCFile> */
616 var114
= var_f
->attrs
[COLOR_nitc__c_tools__ExternFile___pkgconfigs
].val
; /* _pkgconfigs on <var_f:ExternCFile> */
617 if (unlikely(var114
== NULL
)) {
618 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _pkgconfigs");
619 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__c_tools
, 123);
623 RET_LABEL113
:(void)0;
627 { /* Inline light_c#MModule#pkgconfigs (self) on <self:MModule> */
628 var117
= self
->attrs
[COLOR_nitc__light_c__MModule___pkgconfigs
].val
; /* _pkgconfigs on <self:MModule> */
629 if (unlikely(var117
== NULL
)) {
630 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _pkgconfigs");
631 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light_c
, 83);
635 RET_LABEL116
:(void)0;
639 core___core__Array___core__abstract_collection__SimpleCollection__add_all(var112
, var115
); /* Direct call array#Array#add_all on <var112:Array[String]>*/
642 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
643 var120
= var_v
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
644 if (unlikely(var120
== NULL
)) {
645 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
646 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1133);
650 RET_LABEL119
:(void)0;
654 { /* Inline abstract_compiler#AbstractCompiler#extern_bodies (var118) on <var118:AbstractCompiler> */
655 var123
= var118
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <var118:AbstractCompiler> */
656 if (unlikely(var123
== NULL
)) {
657 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
658 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1010);
662 RET_LABEL122
:(void)0;
666 core___core__Array___core__abstract_collection__SimpleCollection__add(var121
, var_f
); /* Direct call array#Array#add on <var121:Array[ExternFile]>*/
669 ((void(*)(val
* self
))((((long)var_106
&3)?class_info
[((long)var_106
&3)]:var_106
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_106
); /* next on <var_106:IndexedIterator[String]>*/
672 BREAK_label108
: (void)0;
674 ((void(*)(val
* self
))((((long)var_106
&3)?class_info
[((long)var_106
&3)]:var_106
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_106
); /* finish on <var_106:IndexedIterator[String]>*/
677 { /* Inline light#MModule#nitni_ccu= (self,((val*)NULL)) on <self:MModule> */
678 self
->attrs
[COLOR_nitc__light__MModule___nitni_ccu
].val
= ((val
*)NULL
); /* _nitni_ccu on <self:MModule> */
679 RET_LABEL124
:(void)0;
683 { /* Inline light_ffi#MModule#compiled_ffi_methods (self) on <self:MModule> */
684 var127
= self
->attrs
[COLOR_nitc__light_ffi__MModule___compiled_ffi_methods
].val
; /* _compiled_ffi_methods on <self:MModule> */
685 if (unlikely(var127
== NULL
)) {
686 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiled_ffi_methods");
687 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light_ffi
, 66);
691 RET_LABEL126
:(void)0;
695 core___core__HashSet___core__abstract_collection__RemovableCollection__clear(var125
); /* Direct call hash_collection#HashSet#clear on <var125:HashSet[AMethPropdef]>*/
698 { /* Inline light_ffi#MModule#ffi_ccu= (self,((val*)NULL)) on <self:MModule> */
699 self
->attrs
[COLOR_nitc__light_ffi__MModule___ffi_ccu
].val
= ((val
*)NULL
); /* _ffi_ccu on <self:MModule> */
700 RET_LABEL128
:(void)0;
704 { /* Inline light_ffi_base#MModule#ffi_files (self) on <self:MModule> */
705 var131
= self
->attrs
[COLOR_nitc__light_ffi_base__MModule___ffi_files
].val
; /* _ffi_files on <self:MModule> */
706 if (unlikely(var131
== NULL
)) {
707 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ffi_files");
708 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light_ffi_base
, 82);
712 RET_LABEL130
:(void)0;
716 core___core__AbstractArray___core__abstract_collection__RemovableCollection__clear(var129
); /* Direct call array#AbstractArray#clear on <var129:Array[ExternFile]>*/
720 /* method light#MModule#ensure_compile_nitni_base for (self: MModule, AbstractCompilerVisitor) */
721 void nitc__light___MModule___ensure_compile_nitni_base(val
* self
, val
* p0
) {
722 val
* var_v
/* var v: AbstractCompilerVisitor */;
723 val
* var
/* : nullable CCompilationUnit */;
724 val
* var2
/* : nullable CCompilationUnit */;
725 short int var3
/* : Bool */;
726 short int var4
/* : Bool */;
727 val
* var_other
/* var other: nullable Object */;
728 short int var6
/* : Bool */;
729 short int var7
/* : Bool */;
730 val
* var8
/* : CCompilationUnit */;
733 { /* Inline light#MModule#nitni_ccu (self) on <self:MModule> */
734 var2
= self
->attrs
[COLOR_nitc__light__MModule___nitni_ccu
].val
; /* _nitni_ccu on <self:MModule> */
740 var3
= 0; /* is null */
742 var3
= 1; /* arg is null and recv is not */
745 { /* Inline kernel#Object#!= (var,((val*)NULL)) on <var:nullable CCompilationUnit> */
746 var_other
= ((val
*)NULL
);
748 var6
= ((short int(*)(val
* self
, val
* p0
))(var
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var
, var_other
); /* == on <var:nullable CCompilationUnit(CCompilationUnit)>*/
761 var8
= NEW_nitc__CCompilationUnit(&type_nitc__CCompilationUnit
);
763 { /* Inline kernel#Object#init (var8) on <var8:CCompilationUnit> */
768 { /* Inline light#MModule#nitni_ccu= (self,var8) on <self:MModule> */
769 self
->attrs
[COLOR_nitc__light__MModule___nitni_ccu
].val
= var8
; /* _nitni_ccu on <self:MModule> */
775 /* method light#MModule#collect_linker_libs for (self: MModule): nullable Array[String] */
776 val
* nitc__light___MModule___collect_linker_libs(val
* self
) {
777 val
* var
/* : nullable Array[String] */;
778 val
* var1
/* : MultiHashMap[String, String] */;
779 val
* var3
/* : MultiHashMap[String, String] */;
780 val
* var4
/* : RemovableCollection[nullable Object] */;
782 val
* var5
/* : String */;
783 char* var6
/* : NativeString */;
784 val
* var7
/* : String */;
785 short int var8
/* : Bool */;
786 short int var9
/* : Bool */;
787 val
* var10
/* : MultiHashMap[String, String] */;
788 val
* var12
/* : MultiHashMap[String, String] */;
789 static val
* varonce13
;
790 val
* var14
/* : String */;
791 char* var15
/* : NativeString */;
792 val
* var16
/* : String */;
793 val
* var17
/* : nullable Object */;
795 { /* Inline light_c#MModule#ldflags (self) on <self:MModule> */
796 var3
= self
->attrs
[COLOR_nitc__light_c__MModule___ldflags
].val
; /* _ldflags on <self:MModule> */
797 if (unlikely(var3
== NULL
)) {
798 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ldflags");
799 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light_c
, 80);
807 var4
= core___core__HashMap___core__abstract_collection__MapRead__keys(var1
);
809 if (likely(varonce
!=NULL
)) {
813 var7
= core__flat___NativeString___to_s_full(var6
, 0l, 0l);
818 var8
= ((short int(*)(val
* self
, val
* p0
))((((long)var4
&3)?class_info
[((long)var4
&3)]:var4
->class)->vft
[COLOR_core__abstract_collection__Collection__has
]))(var4
, var5
); /* has on <var4:RemovableCollection[nullable Object](RemovableCollection[String])>*/
827 { /* Inline light_c#MModule#ldflags (self) on <self:MModule> */
828 var12
= self
->attrs
[COLOR_nitc__light_c__MModule___ldflags
].val
; /* _ldflags on <self:MModule> */
829 if (unlikely(var12
== NULL
)) {
830 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ldflags");
831 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light_c
, 80);
838 if (likely(varonce13
!=NULL
)) {
842 var16
= core__flat___NativeString___to_s_full(var15
, 0l, 0l);
847 var17
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var10
, var14
);
854 /* method light#AMethPropdef#compile_ffi_support_to_c for (self: AMethPropdef, AbstractCompilerVisitor) */
855 void nitc__light___AMethPropdef___compile_ffi_support_to_c(val
* self
, val
* p0
) {
856 val
* var_v
/* var v: AbstractCompilerVisitor */;
857 val
* var
/* : nullable MPropDef */;
858 val
* var2
/* : nullable MPropDef */;
859 val
* var3
/* : MClassDef */;
860 val
* var5
/* : MClassDef */;
861 val
* var6
/* : MModule */;
862 val
* var8
/* : MModule */;
863 val
* var_mmodule
/* var mmodule: MModule */;
864 val
* var9
/* : AbstractCompiler */;
865 val
* var11
/* : AbstractCompiler */;
866 val
* var12
/* : ModelBuilder */;
867 val
* var14
/* : ModelBuilder */;
868 val
* var15
/* : nullable AModule */;
869 val
* var_amodule
/* var amodule: nullable AModule */;
870 val
* var16
/* : nullable MPropDef */;
871 val
* var18
/* : nullable MPropDef */;
872 val
* var19
/* : MClassDef */;
873 val
* var21
/* : MClassDef */;
874 val
* var22
/* : MClassType */;
875 val
* var24
/* : MClassType */;
876 val
* var_mclass_type
/* var mclass_type: MClassType */;
877 val
* var25
/* : nullable MPropDef */;
878 val
* var27
/* : nullable MPropDef */;
879 val
* var28
/* : MProperty */;
880 val
* var30
/* : MProperty */;
882 val
* var31
/* : String */;
883 char* var32
/* : NativeString */;
884 val
* var33
/* : String */;
885 val
* var34
/* : Sys */;
886 val
* var35
/* : SignatureLength */;
887 val
* var36
/* : Sys */;
888 val
* var37
/* : CallContext */;
889 val
* var38
/* : String */;
890 val
* var_csignature
/* var csignature: String */;
891 val
* var40
/* : NativeArray[String] */;
892 static val
* varonce39
;
893 static val
* varonce41
;
894 val
* var42
/* : String */;
895 char* var43
/* : NativeString */;
896 val
* var44
/* : String */;
897 val
* var45
/* : String */;
900 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AMethPropdef> */
901 var2
= self
->attrs
[COLOR_nitc__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
907 PRINT_ERROR("Runtime error: %s", "Receiver is null");
908 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light
, 86);
911 { /* Inline model#MPropDef#mclassdef (var) on <var:nullable MPropDef(nullable MMethodDef)> */
912 if (unlikely(var
== NULL
)) {
913 PRINT_ERROR("Runtime error: %s", "Receiver is null");
914 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2227);
917 var5
= var
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var:nullable MPropDef(nullable MMethodDef)> */
918 if (unlikely(var5
== NULL
)) {
919 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
920 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2227);
928 { /* Inline model#MClassDef#mmodule (var3) on <var3:MClassDef> */
929 var8
= var3
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <var3:MClassDef> */
930 if (unlikely(var8
== NULL
)) {
931 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
932 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 573);
941 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
942 var11
= var_v
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
943 if (unlikely(var11
== NULL
)) {
944 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
945 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1133);
953 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var9) on <var9:AbstractCompiler> */
954 var14
= var9
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var9:AbstractCompiler> */
955 if (unlikely(var14
== NULL
)) {
956 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
957 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 538);
965 var15
= nitc__loader___ModelBuilder___mmodule2node(var12
, var_mmodule
);
969 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AMethPropdef> */
970 var18
= self
->attrs
[COLOR_nitc__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
976 PRINT_ERROR("Runtime error: %s", "Receiver is null");
977 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light
, 88);
980 { /* Inline model#MPropDef#mclassdef (var16) on <var16:nullable MPropDef(nullable MMethodDef)> */
981 if (unlikely(var16
== NULL
)) {
982 PRINT_ERROR("Runtime error: %s", "Receiver is null");
983 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2227);
986 var21
= var16
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var16:nullable MPropDef(nullable MMethodDef)> */
987 if (unlikely(var21
== NULL
)) {
988 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
989 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2227);
997 { /* Inline model#MClassDef#bound_mtype (var19) on <var19:MClassDef> */
998 var24
= var19
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var19:MClassDef> */
999 if (unlikely(var24
== NULL
)) {
1000 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
1001 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 579);
1005 RET_LABEL23
:(void)0;
1008 var_mclass_type
= var22
;
1010 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AMethPropdef> */
1011 var27
= self
->attrs
[COLOR_nitc__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
1013 RET_LABEL26
:(void)0;
1016 if (var25
== NULL
) {
1017 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1018 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light
, 91);
1021 { /* Inline model#MPropDef#mproperty (var25) on <var25:nullable MPropDef(nullable MMethodDef)> */
1022 if (unlikely(var25
== NULL
)) {
1023 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1024 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2230);
1027 var30
= var25
->attrs
[COLOR_nitc__model__MPropDef___mproperty
].val
; /* _mproperty on <var25:nullable MPropDef(nullable MMethodDef)> */
1028 if (unlikely(var30
== NULL
)) {
1029 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1030 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2230);
1034 RET_LABEL29
:(void)0;
1037 if (likely(varonce
!=NULL
)) {
1041 var33
= core__flat___NativeString___to_s_full(var32
, 7l, 7l);
1047 var35
= nitc__nitni_utilities___core__Sys___long_signature(var34
);
1051 var37
= nitc__nitni_utilities___core__Sys___internal_call_context(var36
);
1054 var38
= nitc__nitni_utilities___MMethod___build_csignature(var28
, var_mclass_type
, var_mmodule
, var31
, var35
, var37
);
1056 var_csignature
= var38
;
1057 if (unlikely(varonce39
==NULL
)) {
1058 var40
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
1059 if (likely(varonce41
!=NULL
)) {
1063 var44
= core__flat___NativeString___to_s_full(var43
, 1l, 1l);
1067 ((struct instance_core__NativeArray
*)var40
)->values
[1]=var42
;
1072 ((struct instance_core__NativeArray
*)var40
)->values
[0]=var_csignature
;
1074 var45
= ((val
*(*)(val
* self
))(var40
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var40
); /* native_to_s on <var40:NativeArray[String]>*/
1078 nitc___nitc__AbstractCompilerVisitor___declare_once(var_v
, var45
); /* Direct call abstract_compiler#AbstractCompilerVisitor#declare_once on <var_v:AbstractCompilerVisitor>*/
1080 if (var_amodule
== NULL
) {
1081 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1082 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light
, 95);
1085 nitc__light_ffi___AModule___ensure_compile_ffi_wrapper(var_amodule
); /* Direct call light_ffi#AModule#ensure_compile_ffi_wrapper on <var_amodule:nullable AModule>*/
1088 nitc__light_ffi___AMethPropdef___compile_ffi_method(self
, var_mmodule
); /* Direct call light_ffi#AMethPropdef#compile_ffi_method on <self:AMethPropdef>*/
1091 nitc__light___MModule___ensure_compile_nitni_base(var_mmodule
, var_v
); /* Direct call light#MModule#ensure_compile_nitni_base on <var_mmodule:MModule>*/
1095 /* method light#AMethPropdef#compile_externmeth_to_c for (self: AMethPropdef, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]): Bool */
1096 short int nitc__light___AMethPropdef___compile_externmeth_to_c(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1097 short int var
/* : Bool */;
1098 val
* var_v
/* var v: AbstractCompilerVisitor */;
1099 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
1100 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
1101 val
* var1
/* : nullable AExternCodeBlock */;
1102 val
* var3
/* : nullable AExternCodeBlock */;
1103 short int var4
/* : Bool */;
1104 short int var5
/* : Bool */;
1105 val
* var_other
/* var other: nullable Object */;
1106 short int var7
/* : Bool */;
1107 short int var9
/* : Bool */;
1108 short int var10
/* : Bool */;
1109 short int var11
/* : Bool */;
1110 short int var12
/* : Bool */;
1111 val
* var13
/* : MClassDef */;
1112 val
* var15
/* : MClassDef */;
1113 val
* var16
/* : MModule */;
1114 val
* var18
/* : MModule */;
1115 val
* var_mmodule
/* var mmodule: MModule */;
1116 val
* var20
/* : MClassDef */;
1117 val
* var22
/* : MClassDef */;
1118 val
* var23
/* : MClassType */;
1119 val
* var25
/* : MClassType */;
1120 val
* var_mclass_type
/* var mclass_type: MClassType */;
1121 val
* var26
/* : MProperty */;
1122 val
* var28
/* : MProperty */;
1123 val
* var29
/* : MClassDef */;
1124 val
* var31
/* : MClassDef */;
1125 val
* var32
/* : MClassType */;
1126 val
* var34
/* : MClassType */;
1127 static val
* varonce
;
1128 val
* var35
/* : String */;
1129 char* var36
/* : NativeString */;
1130 val
* var37
/* : String */;
1131 val
* var38
/* : Sys */;
1132 val
* var39
/* : SignatureLength */;
1133 val
* var40
/* : String */;
1134 val
* var_externname
/* var externname: String */;
1135 val
* var_recv_var
/* var recv_var: nullable RuntimeVariable */;
1136 val
* var41
/* : nullable MSignature */;
1137 val
* var43
/* : nullable MSignature */;
1138 val
* var44
/* : nullable MType */;
1139 val
* var46
/* : nullable MType */;
1140 val
* var_return_mtype
/* var return_mtype: nullable MType */;
1141 short int var47
/* : Bool */;
1142 short int var48
/* : Bool */;
1143 val
* var_other50
/* var other: nullable Object */;
1144 short int var51
/* : Bool */;
1145 short int var52
/* : Bool */;
1146 val
* var53
/* : MType */;
1147 val
* var54
/* : RuntimeVariable */;
1148 val
* var55
/* : Array[String] */;
1149 val
* var_arguments_for_c
/* var arguments_for_c: Array[String] */;
1150 long var_a
/* var a: Int */;
1151 long var56
/* : Int */;
1152 long var58
/* : Int */;
1153 long var_
/* var : Int */;
1154 short int var59
/* : Bool */;
1155 short int var61
/* : Bool */;
1158 const char* var_class_name
;
1159 short int var62
/* : Bool */;
1160 val
* var63
/* : nullable Object */;
1161 val
* var_arg
/* var arg: RuntimeVariable */;
1162 short int var64
/* : Bool */;
1163 short int var66
/* : Bool */;
1164 val
* var67
/* : MClassDef */;
1165 val
* var69
/* : MClassDef */;
1166 val
* var70
/* : MClass */;
1167 val
* var72
/* : MClass */;
1168 val
* var73
/* : MClassType */;
1169 val
* var75
/* : MClassType */;
1170 val
* var_param_mtype
/* var param_mtype: MType */;
1171 val
* var76
/* : nullable MSignature */;
1172 val
* var78
/* : nullable MSignature */;
1173 val
* var79
/* : Array[MParameter] */;
1174 val
* var81
/* : Array[MParameter] */;
1175 long var82
/* : Int */;
1176 short int var84
/* : Bool */;
1179 const char* var_class_name87
;
1180 long var88
/* : Int */;
1181 val
* var89
/* : nullable Object */;
1182 val
* var90
/* : MType */;
1183 val
* var92
/* : MType */;
1184 val
* var93
/* : MType */;
1185 short int var94
/* : Bool */;
1186 val
* var95
/* : String */;
1187 val
* var97
/* : String */;
1188 val
* var99
/* : NativeArray[String] */;
1189 static val
* varonce98
;
1190 static val
* varonce100
;
1191 val
* var101
/* : String */;
1192 char* var102
/* : NativeString */;
1193 val
* var103
/* : String */;
1194 static val
* varonce104
;
1195 val
* var105
/* : String */;
1196 char* var106
/* : NativeString */;
1197 val
* var107
/* : String */;
1198 val
* var108
/* : String */;
1199 val
* var109
/* : String */;
1200 val
* var111
/* : NativeArray[String] */;
1201 static val
* varonce110
;
1202 static val
* varonce112
;
1203 val
* var113
/* : String */;
1204 char* var114
/* : NativeString */;
1205 val
* var115
/* : String */;
1206 static val
* varonce116
;
1207 val
* var117
/* : String */;
1208 char* var118
/* : NativeString */;
1209 val
* var119
/* : String */;
1210 val
* var120
/* : String */;
1211 val
* var121
/* : String */;
1212 val
* var123
/* : NativeArray[String] */;
1213 static val
* varonce122
;
1214 static val
* varonce124
;
1215 val
* var125
/* : String */;
1216 char* var126
/* : NativeString */;
1217 val
* var127
/* : String */;
1218 static val
* varonce128
;
1219 val
* var129
/* : String */;
1220 char* var130
/* : NativeString */;
1221 val
* var131
/* : String */;
1222 static val
* varonce132
;
1223 val
* var133
/* : String */;
1224 char* var134
/* : NativeString */;
1225 val
* var135
/* : String */;
1226 val
* var136
/* : String */;
1227 val
* var137
/* : String */;
1228 val
* var139
/* : String */;
1229 val
* var140
/* : String */;
1230 val
* var142
/* : NativeArray[String] */;
1231 static val
* varonce141
;
1232 static val
* varonce143
;
1233 val
* var144
/* : String */;
1234 char* var145
/* : NativeString */;
1235 val
* var146
/* : String */;
1236 val
* var147
/* : String */;
1237 val
* var148
/* : String */;
1238 long var149
/* : Int */;
1239 short int var150
/* : Bool */;
1240 short int var151
/* : Bool */;
1241 short int var153
/* : Bool */;
1242 short int var155
/* : Bool */;
1243 val
* var157
/* : NativeArray[String] */;
1244 static val
* varonce156
;
1245 static val
* varonce158
;
1246 val
* var159
/* : String */;
1247 char* var160
/* : NativeString */;
1248 val
* var161
/* : String */;
1249 static val
* varonce162
;
1250 val
* var163
/* : String */;
1251 char* var164
/* : NativeString */;
1252 val
* var165
/* : String */;
1253 static val
* varonce166
;
1254 val
* var167
/* : String */;
1255 char* var168
/* : NativeString */;
1256 val
* var169
/* : String */;
1257 val
* var170
/* : String */;
1258 val
* var171
/* : String */;
1259 short int var172
/* : Bool */;
1260 short int var173
/* : Bool */;
1261 short int var175
/* : Bool */;
1262 short int var176
/* : Bool */;
1263 short int var177
/* : Bool */;
1264 val
* var179
/* : NativeArray[String] */;
1265 static val
* varonce178
;
1266 static val
* varonce180
;
1267 val
* var181
/* : String */;
1268 char* var182
/* : NativeString */;
1269 val
* var183
/* : String */;
1270 static val
* varonce184
;
1271 val
* var185
/* : String */;
1272 char* var186
/* : NativeString */;
1273 val
* var187
/* : String */;
1274 static val
* varonce188
;
1275 val
* var189
/* : String */;
1276 char* var190
/* : NativeString */;
1277 val
* var191
/* : String */;
1278 val
* var192
/* : String */;
1279 static val
* varonce193
;
1280 val
* var194
/* : String */;
1281 char* var195
/* : NativeString */;
1282 val
* var196
/* : String */;
1283 val
* var197
/* : String */;
1284 val
* var198
/* : String */;
1285 static val
* varonce199
;
1286 val
* var200
/* : String */;
1287 char* var201
/* : NativeString */;
1288 val
* var202
/* : String */;
1289 val
* var204
/* : NativeArray[String] */;
1290 static val
* varonce203
;
1291 static val
* varonce205
;
1292 val
* var206
/* : String */;
1293 char* var207
/* : NativeString */;
1294 val
* var208
/* : String */;
1295 static val
* varonce209
;
1296 val
* var210
/* : String */;
1297 char* var211
/* : NativeString */;
1298 val
* var212
/* : String */;
1299 static val
* varonce213
;
1300 val
* var214
/* : String */;
1301 char* var215
/* : NativeString */;
1302 val
* var216
/* : String */;
1303 static val
* varonce217
;
1304 val
* var218
/* : String */;
1305 char* var219
/* : NativeString */;
1306 val
* var220
/* : String */;
1307 val
* var221
/* : String */;
1308 val
* var222
/* : String */;
1309 val
* var224
/* : NativeArray[String] */;
1310 static val
* varonce223
;
1311 static val
* varonce225
;
1312 val
* var226
/* : String */;
1313 char* var227
/* : NativeString */;
1314 val
* var228
/* : String */;
1315 val
* var229
/* : String */;
1316 val
* var230
/* : String */;
1317 val
* var231
/* : RuntimeVariable */;
1322 { /* Inline parser_nodes#AMethPropdef#n_extern_code_block (self) on <self:AMethPropdef> */
1323 var3
= self
->attrs
[COLOR_nitc__parser_nodes__AMethPropdef___n_extern_code_block
].val
; /* _n_extern_code_block on <self:AMethPropdef> */
1329 var4
= 1; /* is null */
1331 var4
= 0; /* arg is null but recv is not */
1334 { /* Inline kernel#Object#== (var1,((val*)NULL)) on <var1:nullable AExternCodeBlock> */
1335 var_other
= ((val
*)NULL
);
1337 { /* Inline kernel#Object#is_same_instance (var1,var_other) on <var1:nullable AExternCodeBlock(AExternCodeBlock)> */
1338 var9
= var1
== var_other
;
1352 var10
= ((short int(*)(val
* self
, val
* p0
, val
* p1
, val
* p2
))(self
->class->vft
[COLOR_nitc__light___AMethPropdef___compile_externmeth_to_c
]))(self
, p0
, p1
, p2
); /* compile_externmeth_to_c on <self:AMethPropdef>*/
1359 var11
= nitc__light_only___AMethPropdef___accept_externmeth(self
);
1368 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MMethodDef> */
1369 var15
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MMethodDef> */
1370 if (unlikely(var15
== NULL
)) {
1371 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
1372 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2227);
1376 RET_LABEL14
:(void)0;
1380 { /* Inline model#MClassDef#mmodule (var13) on <var13:MClassDef> */
1381 var18
= var13
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <var13:MClassDef> */
1382 if (unlikely(var18
== NULL
)) {
1383 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
1384 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 573);
1388 RET_LABEL17
:(void)0;
1391 var_mmodule
= var16
;
1393 { /* Inline light_ffi#MModule#uses_ffi= (var_mmodule,1) on <var_mmodule:MModule> */
1394 var_mmodule
->attrs
[COLOR_nitc__light_ffi__MModule___uses_ffi
].s
= 1; /* _uses_ffi on <var_mmodule:MModule> */
1395 RET_LABEL19
:(void)0;
1399 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MMethodDef> */
1400 var22
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MMethodDef> */
1401 if (unlikely(var22
== NULL
)) {
1402 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
1403 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2227);
1407 RET_LABEL21
:(void)0;
1411 { /* Inline model#MClassDef#bound_mtype (var20) on <var20:MClassDef> */
1412 var25
= var20
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var20:MClassDef> */
1413 if (unlikely(var25
== NULL
)) {
1414 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
1415 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 579);
1419 RET_LABEL24
:(void)0;
1422 var_mclass_type
= var23
;
1424 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
1425 var28
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MMethodDef> */
1426 if (unlikely(var28
== NULL
)) {
1427 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1428 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2230);
1432 RET_LABEL27
:(void)0;
1436 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MMethodDef> */
1437 var31
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MMethodDef> */
1438 if (unlikely(var31
== NULL
)) {
1439 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
1440 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2227);
1444 RET_LABEL30
:(void)0;
1448 { /* Inline model#MClassDef#bound_mtype (var29) on <var29:MClassDef> */
1449 var34
= var29
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var29:MClassDef> */
1450 if (unlikely(var34
== NULL
)) {
1451 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
1452 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 579);
1456 RET_LABEL33
:(void)0;
1459 if (likely(varonce
!=NULL
)) {
1463 var37
= core__flat___NativeString___to_s_full(var36
, 7l, 7l);
1469 var39
= nitc__nitni_utilities___core__Sys___long_signature(var38
);
1472 var40
= nitc__nitni_utilities___MMethod___build_cname(var26
, var32
, var_mmodule
, var35
, var39
);
1474 var_externname
= var40
;
1475 var_recv_var
= ((val
*)NULL
);
1477 { /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:MMethodDef> */
1478 var43
= var_mpropdef
->attrs
[COLOR_nitc__model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:MMethodDef> */
1480 RET_LABEL42
:(void)0;
1483 if (var41
== NULL
) {
1484 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1485 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light
, 122);
1488 { /* Inline model#MSignature#return_mtype (var41) on <var41:nullable MSignature> */
1489 if (unlikely(var41
== NULL
)) {
1490 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1491 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1795);
1494 var46
= var41
->attrs
[COLOR_nitc__model__MSignature___return_mtype
].val
; /* _return_mtype on <var41:nullable MSignature> */
1496 RET_LABEL45
:(void)0;
1499 var_return_mtype
= var44
;
1500 if (var_return_mtype
== NULL
) {
1501 var47
= 0; /* is null */
1503 var47
= 1; /* arg is null and recv is not */
1506 { /* Inline kernel#Object#!= (var_return_mtype,((val*)NULL)) on <var_return_mtype:nullable MType> */
1507 var_other50
= ((val
*)NULL
);
1509 var51
= ((short int(*)(val
* self
, val
* p0
))(var_return_mtype
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_return_mtype
, var_other50
); /* == on <var_return_mtype:nullable MType(MType)>*/
1514 RET_LABEL49
:(void)0;
1520 var53
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_return_mtype
->class->vft
[COLOR_nitc__model__MType__anchor_to
]))(var_return_mtype
, var_mmodule
, var_mclass_type
); /* anchor_to on <var_return_mtype:nullable MType(MType)>*/
1522 var_return_mtype
= var53
;
1524 var54
= nitc___nitc__AbstractCompilerVisitor___new_var(var_v
, var_return_mtype
);
1526 var_recv_var
= var54
;
1530 nitc___nitc__SeparateCompilerVisitor___nitc__abstract_compiler__AbstractCompilerVisitor__adapt_signature(var_v
, var_mpropdef
, var_arguments
); /* Direct call separate_compiler#SeparateCompilerVisitor#adapt_signature on <var_v:AbstractCompilerVisitor>*/
1533 nitc___nitc__SeparateCompilerVisitor___nitc__abstract_compiler__AbstractCompilerVisitor__unbox_signature_extern(var_v
, var_mpropdef
, var_arguments
); /* Direct call separate_compiler#SeparateCompilerVisitor#unbox_signature_extern on <var_v:AbstractCompilerVisitor>*/
1535 var55
= NEW_core__Array(&type_core__Array__core__String
);
1537 core___core__Array___core__kernel__Object__init(var55
); /* Direct call array#Array#init on <var55:Array[String]>*/
1539 var_arguments_for_c
= var55
;
1542 { /* Inline array#AbstractArrayRead#length (var_arguments) on <var_arguments:Array[RuntimeVariable]> */
1543 var58
= var_arguments
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_arguments:Array[RuntimeVariable]> */
1545 RET_LABEL57
:(void)0;
1551 { /* Inline kernel#Int#< (var_a,var_) on <var_a:Int> */
1552 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
1553 /* <var_:Int> isa OTHER */
1554 var61
= 1; /* easy <var_:Int> isa OTHER*/
1555 if (unlikely(!var61
)) {
1556 var_class_name
= type_core__Int
.name
;
1557 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1558 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
1561 var62
= var_a
< var_
;
1564 RET_LABEL60
:(void)0;
1572 var63
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_arguments
, var_a
);
1576 { /* Inline kernel#Int#== (var_a,0l) on <var_a:Int> */
1577 var66
= var_a
== 0l;
1580 RET_LABEL65
:(void)0;
1585 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MMethodDef> */
1586 var69
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MMethodDef> */
1587 if (unlikely(var69
== NULL
)) {
1588 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
1589 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2227);
1593 RET_LABEL68
:(void)0;
1597 { /* Inline model#MClassDef#mclass (var67) on <var67:MClassDef> */
1598 var72
= var67
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <var67:MClassDef> */
1599 if (unlikely(var72
== NULL
)) {
1600 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1601 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
1605 RET_LABEL71
:(void)0;
1609 { /* Inline model#MClass#mclass_type (var70) on <var70:MClass> */
1610 var75
= var70
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var70:MClass> */
1611 if (unlikely(var75
== NULL
)) {
1612 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
1613 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 507);
1617 RET_LABEL74
:(void)0;
1620 var_param_mtype
= var73
;
1623 { /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:MMethodDef> */
1624 var78
= var_mpropdef
->attrs
[COLOR_nitc__model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:MMethodDef> */
1626 RET_LABEL77
:(void)0;
1629 if (var76
== NULL
) {
1630 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1631 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light
, 137);
1634 { /* Inline model#MSignature#mparameters (var76) on <var76:nullable MSignature> */
1635 if (unlikely(var76
== NULL
)) {
1636 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1637 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1783);
1640 var81
= var76
->attrs
[COLOR_nitc__model__MSignature___mparameters
].val
; /* _mparameters on <var76:nullable MSignature> */
1641 if (unlikely(var81
== NULL
)) {
1642 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
1643 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1783);
1647 RET_LABEL80
:(void)0;
1651 { /* Inline kernel#Int#- (var_a,1l) on <var_a:Int> */
1652 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1653 /* <1l:Int> isa OTHER */
1654 var84
= 1; /* easy <1l:Int> isa OTHER*/
1655 if (unlikely(!var84
)) {
1656 var_class_name87
= type_core__Int
.name
;
1657 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name87
);
1658 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
1664 RET_LABEL83
:(void)0;
1668 var89
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var79
, var82
);
1671 { /* Inline model#MParameter#mtype (var89) on <var89:nullable Object(MParameter)> */
1672 var92
= var89
->attrs
[COLOR_nitc__model__MParameter___mtype
].val
; /* _mtype on <var89:nullable Object(MParameter)> */
1673 if (unlikely(var92
== NULL
)) {
1674 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1675 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1900);
1679 RET_LABEL91
:(void)0;
1682 var_param_mtype
= var90
;
1685 var93
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_param_mtype
->class->vft
[COLOR_nitc__model__MType__anchor_to
]))(var_param_mtype
, var_mmodule
, var_mclass_type
); /* anchor_to on <var_param_mtype:MType>*/
1687 var_param_mtype
= var93
;
1689 var94
= ((short int(*)(val
* self
))(var_param_mtype
->class->vft
[COLOR_nitc__nitni_base__MType__is_cprimitive
]))(var_param_mtype
); /* is_cprimitive on <var_param_mtype:MType>*/
1693 { /* Inline abstract_compiler#RuntimeVariable#name (var_arg) on <var_arg:RuntimeVariable> */
1694 var97
= var_arg
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___name
].val
; /* _name on <var_arg:RuntimeVariable> */
1695 if (unlikely(var97
== NULL
)) {
1696 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1697 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1867);
1701 RET_LABEL96
:(void)0;
1705 core___core__Array___core__abstract_collection__SimpleCollection__add(var_arguments_for_c
, var95
); /* Direct call array#Array#add on <var_arguments_for_c:Array[String]>*/
1708 if (unlikely(varonce98
==NULL
)) {
1709 var99
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
1710 if (likely(varonce100
!=NULL
)) {
1711 var101
= varonce100
;
1713 var102
= "struct nitni_instance* var_for_c_";
1714 var103
= core__flat___NativeString___to_s_full(var102
, 33l, 33l);
1716 varonce100
= var101
;
1718 ((struct instance_core__NativeArray
*)var99
)->values
[0]=var101
;
1719 if (likely(varonce104
!=NULL
)) {
1720 var105
= varonce104
;
1723 var107
= core__flat___NativeString___to_s_full(var106
, 1l, 1l);
1725 varonce104
= var105
;
1727 ((struct instance_core__NativeArray
*)var99
)->values
[2]=var105
;
1732 var108
= core__flat___Int___core__abstract_text__Object__to_s(var_a
);
1733 ((struct instance_core__NativeArray
*)var99
)->values
[1]=var108
;
1735 var109
= ((val
*(*)(val
* self
))(var99
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var99
); /* native_to_s on <var99:NativeArray[String]>*/
1739 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var109
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1741 if (unlikely(varonce110
==NULL
)) {
1742 var111
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
1743 if (likely(varonce112
!=NULL
)) {
1744 var113
= varonce112
;
1746 var114
= "var_for_c_";
1747 var115
= core__flat___NativeString___to_s_full(var114
, 10l, 10l);
1749 varonce112
= var113
;
1751 ((struct instance_core__NativeArray
*)var111
)->values
[0]=var113
;
1752 if (likely(varonce116
!=NULL
)) {
1753 var117
= varonce116
;
1755 var118
= " = nit_alloc(sizeof(struct nitni_instance));";
1756 var119
= core__flat___NativeString___to_s_full(var118
, 44l, 44l);
1758 varonce116
= var117
;
1760 ((struct instance_core__NativeArray
*)var111
)->values
[2]=var117
;
1762 var111
= varonce110
;
1765 var120
= core__flat___Int___core__abstract_text__Object__to_s(var_a
);
1766 ((struct instance_core__NativeArray
*)var111
)->values
[1]=var120
;
1768 var121
= ((val
*(*)(val
* self
))(var111
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var111
); /* native_to_s on <var111:NativeArray[String]>*/
1770 varonce110
= var111
;
1772 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var121
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1774 if (unlikely(varonce122
==NULL
)) {
1775 var123
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
1776 if (likely(varonce124
!=NULL
)) {
1777 var125
= varonce124
;
1779 var126
= "var_for_c_";
1780 var127
= core__flat___NativeString___to_s_full(var126
, 10l, 10l);
1782 varonce124
= var125
;
1784 ((struct instance_core__NativeArray
*)var123
)->values
[0]=var125
;
1785 if (likely(varonce128
!=NULL
)) {
1786 var129
= varonce128
;
1788 var130
= "->value = ";
1789 var131
= core__flat___NativeString___to_s_full(var130
, 10l, 10l);
1791 varonce128
= var129
;
1793 ((struct instance_core__NativeArray
*)var123
)->values
[2]=var129
;
1794 if (likely(varonce132
!=NULL
)) {
1795 var133
= varonce132
;
1798 var135
= core__flat___NativeString___to_s_full(var134
, 1l, 1l);
1800 varonce132
= var133
;
1802 ((struct instance_core__NativeArray
*)var123
)->values
[4]=var133
;
1804 var123
= varonce122
;
1807 var136
= core__flat___Int___core__abstract_text__Object__to_s(var_a
);
1808 ((struct instance_core__NativeArray
*)var123
)->values
[1]=var136
;
1810 { /* Inline abstract_compiler#RuntimeVariable#name (var_arg) on <var_arg:RuntimeVariable> */
1811 var139
= var_arg
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___name
].val
; /* _name on <var_arg:RuntimeVariable> */
1812 if (unlikely(var139
== NULL
)) {
1813 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1814 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1867);
1818 RET_LABEL138
:(void)0;
1821 ((struct instance_core__NativeArray
*)var123
)->values
[3]=var137
;
1823 var140
= ((val
*(*)(val
* self
))(var123
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var123
); /* native_to_s on <var123:NativeArray[String]>*/
1825 varonce122
= var123
;
1827 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var140
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1829 if (unlikely(varonce141
==NULL
)) {
1830 var142
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
1831 if (likely(varonce143
!=NULL
)) {
1832 var144
= varonce143
;
1834 var145
= "var_for_c_";
1835 var146
= core__flat___NativeString___to_s_full(var145
, 10l, 10l);
1837 varonce143
= var144
;
1839 ((struct instance_core__NativeArray
*)var142
)->values
[0]=var144
;
1841 var142
= varonce141
;
1844 var147
= core__flat___Int___core__abstract_text__Object__to_s(var_a
);
1845 ((struct instance_core__NativeArray
*)var142
)->values
[1]=var147
;
1847 var148
= ((val
*(*)(val
* self
))(var142
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var142
); /* native_to_s on <var142:NativeArray[String]>*/
1849 varonce141
= var142
;
1851 core___core__Array___core__abstract_collection__SimpleCollection__add(var_arguments_for_c
, var148
); /* Direct call array#Array#add on <var_arguments_for_c:Array[String]>*/
1855 var149
= core___core__Int___Discrete__successor(var_a
, 1l);
1859 BREAK_label
: (void)0;
1860 if (var_recv_var
== NULL
) {
1861 var150
= 1; /* is null */
1863 var150
= 0; /* arg is null but recv is not */
1866 { /* Inline kernel#Object#== (var_recv_var,((val*)NULL)) on <var_recv_var:nullable RuntimeVariable> */
1867 var_other
= ((val
*)NULL
);
1869 { /* Inline kernel#Object#is_same_instance (var_recv_var,var_other) on <var_recv_var:nullable RuntimeVariable(RuntimeVariable)> */
1870 var155
= var_recv_var
== var_other
;
1873 RET_LABEL154
:(void)0;
1878 RET_LABEL152
:(void)0;
1883 if (unlikely(varonce156
==NULL
)) {
1884 var157
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
1885 if (likely(varonce158
!=NULL
)) {
1886 var159
= varonce158
;
1889 var161
= core__flat___NativeString___to_s_full(var160
, 1l, 1l);
1891 varonce158
= var159
;
1893 ((struct instance_core__NativeArray
*)var157
)->values
[1]=var159
;
1894 if (likely(varonce162
!=NULL
)) {
1895 var163
= varonce162
;
1898 var165
= core__flat___NativeString___to_s_full(var164
, 2l, 2l);
1900 varonce162
= var163
;
1902 ((struct instance_core__NativeArray
*)var157
)->values
[3]=var163
;
1904 var157
= varonce156
;
1907 ((struct instance_core__NativeArray
*)var157
)->values
[0]=var_externname
;
1908 if (likely(varonce166
!=NULL
)) {
1909 var167
= varonce166
;
1912 var169
= core__flat___NativeString___to_s_full(var168
, 2l, 2l);
1914 varonce166
= var167
;
1917 var170
= core__abstract_text___Collection___join(var_arguments_for_c
, var167
);
1919 ((struct instance_core__NativeArray
*)var157
)->values
[2]=var170
;
1921 var171
= ((val
*(*)(val
* self
))(var157
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var157
); /* native_to_s on <var157:NativeArray[String]>*/
1923 varonce156
= var157
;
1925 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var171
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1928 if (var_return_mtype
== NULL
) {
1929 var172
= 0; /* is null */
1931 var172
= 1; /* arg is null and recv is not */
1934 { /* Inline kernel#Object#!= (var_return_mtype,((val*)NULL)) on <var_return_mtype:nullable MType> */
1935 var_other50
= ((val
*)NULL
);
1937 var175
= ((short int(*)(val
* self
, val
* p0
))(var_return_mtype
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_return_mtype
, var_other50
); /* == on <var_return_mtype:nullable MType(MType)>*/
1942 RET_LABEL174
:(void)0;
1946 if (unlikely(!var172
)) {
1947 PRINT_ERROR("Runtime error: %s", "Assert failed");
1948 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light
, 154);
1952 var177
= ((short int(*)(val
* self
))(var_return_mtype
->class->vft
[COLOR_nitc__nitni_base__MType__is_cprimitive
]))(var_return_mtype
); /* is_cprimitive on <var_return_mtype:nullable MType(MType)>*/
1955 if (unlikely(varonce178
==NULL
)) {
1956 var179
= NEW_core__NativeArray(6l, &type_core__NativeArray__core__String
);
1957 if (likely(varonce180
!=NULL
)) {
1958 var181
= varonce180
;
1961 var183
= core__flat___NativeString___to_s_full(var182
, 3l, 3l);
1963 varonce180
= var181
;
1965 ((struct instance_core__NativeArray
*)var179
)->values
[1]=var181
;
1966 if (likely(varonce184
!=NULL
)) {
1967 var185
= varonce184
;
1970 var187
= core__flat___NativeString___to_s_full(var186
, 1l, 1l);
1972 varonce184
= var185
;
1974 ((struct instance_core__NativeArray
*)var179
)->values
[3]=var185
;
1975 if (likely(varonce188
!=NULL
)) {
1976 var189
= varonce188
;
1979 var191
= core__flat___NativeString___to_s_full(var190
, 2l, 2l);
1981 varonce188
= var189
;
1983 ((struct instance_core__NativeArray
*)var179
)->values
[5]=var189
;
1985 var179
= varonce178
;
1989 var192
= ((val
*(*)(val
* self
))(var_recv_var
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_recv_var
); /* to_s on <var_recv_var:nullable RuntimeVariable(RuntimeVariable)>*/
1991 ((struct instance_core__NativeArray
*)var179
)->values
[0]=var192
;
1992 ((struct instance_core__NativeArray
*)var179
)->values
[2]=var_externname
;
1993 if (likely(varonce193
!=NULL
)) {
1994 var194
= varonce193
;
1997 var196
= core__flat___NativeString___to_s_full(var195
, 2l, 2l);
1999 varonce193
= var194
;
2002 var197
= core__abstract_text___Collection___join(var_arguments_for_c
, var194
);
2004 ((struct instance_core__NativeArray
*)var179
)->values
[4]=var197
;
2006 var198
= ((val
*(*)(val
* self
))(var179
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var179
); /* native_to_s on <var179:NativeArray[String]>*/
2008 varonce178
= var179
;
2010 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var198
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2013 if (likely(varonce199
!=NULL
)) {
2014 var200
= varonce199
;
2016 var201
= "struct nitni_instance* ret_var;";
2017 var202
= core__flat___NativeString___to_s_full(var201
, 31l, 31l);
2019 varonce199
= var200
;
2022 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var200
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2024 if (unlikely(varonce203
==NULL
)) {
2025 var204
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
2026 if (likely(varonce205
!=NULL
)) {
2027 var206
= varonce205
;
2029 var207
= "ret_var = ";
2030 var208
= core__flat___NativeString___to_s_full(var207
, 10l, 10l);
2032 varonce205
= var206
;
2034 ((struct instance_core__NativeArray
*)var204
)->values
[0]=var206
;
2035 if (likely(varonce209
!=NULL
)) {
2036 var210
= varonce209
;
2039 var212
= core__flat___NativeString___to_s_full(var211
, 1l, 1l);
2041 varonce209
= var210
;
2043 ((struct instance_core__NativeArray
*)var204
)->values
[2]=var210
;
2044 if (likely(varonce213
!=NULL
)) {
2045 var214
= varonce213
;
2048 var216
= core__flat___NativeString___to_s_full(var215
, 2l, 2l);
2050 varonce213
= var214
;
2052 ((struct instance_core__NativeArray
*)var204
)->values
[4]=var214
;
2054 var204
= varonce203
;
2057 ((struct instance_core__NativeArray
*)var204
)->values
[1]=var_externname
;
2058 if (likely(varonce217
!=NULL
)) {
2059 var218
= varonce217
;
2062 var220
= core__flat___NativeString___to_s_full(var219
, 2l, 2l);
2064 varonce217
= var218
;
2067 var221
= core__abstract_text___Collection___join(var_arguments_for_c
, var218
);
2069 ((struct instance_core__NativeArray
*)var204
)->values
[3]=var221
;
2071 var222
= ((val
*(*)(val
* self
))(var204
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var204
); /* native_to_s on <var204:NativeArray[String]>*/
2073 varonce203
= var204
;
2075 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var222
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2077 if (unlikely(varonce223
==NULL
)) {
2078 var224
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
2079 if (likely(varonce225
!=NULL
)) {
2080 var226
= varonce225
;
2082 var227
= " = ret_var->value;";
2083 var228
= core__flat___NativeString___to_s_full(var227
, 18l, 18l);
2085 varonce225
= var226
;
2087 ((struct instance_core__NativeArray
*)var224
)->values
[1]=var226
;
2089 var224
= varonce223
;
2093 var229
= ((val
*(*)(val
* self
))(var_recv_var
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_recv_var
); /* to_s on <var_recv_var:nullable RuntimeVariable(RuntimeVariable)>*/
2095 ((struct instance_core__NativeArray
*)var224
)->values
[0]=var229
;
2097 var230
= ((val
*(*)(val
* self
))(var224
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var224
); /* native_to_s on <var224:NativeArray[String]>*/
2099 varonce223
= var224
;
2101 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var230
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2105 var231
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor__box_extern
]))(var_v
, var_recv_var
, var_return_mtype
); /* box_extern on <var_v:AbstractCompilerVisitor>*/
2107 var_recv_var
= var231
;
2109 nitc___nitc__AbstractCompilerVisitor___ret(var_v
, var_recv_var
); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on <var_v:AbstractCompilerVisitor>*/
2113 nitc__light___AMethPropdef___compile_ffi_support_to_c(self
, var_v
); /* Direct call light#AMethPropdef#compile_ffi_support_to_c on <self:AMethPropdef>*/
2120 /* method light#AMethPropdef#compile_externinit_to_c for (self: AMethPropdef, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]): Bool */
2121 short int nitc__light___AMethPropdef___compile_externinit_to_c(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2122 short int var
/* : Bool */;
2123 val
* var_v
/* var v: AbstractCompilerVisitor */;
2124 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
2125 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
2126 val
* var1
/* : nullable AExternCodeBlock */;
2127 val
* var3
/* : nullable AExternCodeBlock */;
2128 short int var4
/* : Bool */;
2129 short int var5
/* : Bool */;
2130 val
* var_other
/* var other: nullable Object */;
2131 short int var7
/* : Bool */;
2132 short int var9
/* : Bool */;
2133 short int var10
/* : Bool */;
2134 short int var11
/* : Bool */;
2135 short int var12
/* : Bool */;
2136 val
* var13
/* : MClassDef */;
2137 val
* var15
/* : MClassDef */;
2138 val
* var16
/* : MModule */;
2139 val
* var18
/* : MModule */;
2140 val
* var_mmodule
/* var mmodule: MModule */;
2141 val
* var20
/* : MClassDef */;
2142 val
* var22
/* : MClassDef */;
2143 val
* var23
/* : MClassType */;
2144 val
* var25
/* : MClassType */;
2145 val
* var_mclass_type
/* var mclass_type: MClassType */;
2146 val
* var26
/* : MProperty */;
2147 val
* var28
/* : MProperty */;
2148 val
* var29
/* : MClassDef */;
2149 val
* var31
/* : MClassDef */;
2150 val
* var32
/* : MClassType */;
2151 val
* var34
/* : MClassType */;
2152 static val
* varonce
;
2153 val
* var35
/* : String */;
2154 char* var36
/* : NativeString */;
2155 val
* var37
/* : String */;
2156 val
* var38
/* : Sys */;
2157 val
* var39
/* : SignatureLength */;
2158 val
* var40
/* : String */;
2159 val
* var_externname
/* var externname: String */;
2160 val
* var41
/* : nullable Object */;
2161 val
* var42
/* : MType */;
2162 val
* var44
/* : MType */;
2163 val
* var_return_mtype
/* var return_mtype: MType */;
2164 val
* var45
/* : RuntimeVariable */;
2165 val
* var_recv_var
/* var recv_var: RuntimeVariable */;
2166 val
* var46
/* : nullable Object */;
2167 val
* var47
/* : Array[String] */;
2168 val
* var_arguments_for_c
/* var arguments_for_c: Array[String] */;
2169 long var_a
/* var a: Int */;
2170 long var48
/* : Int */;
2171 long var50
/* : Int */;
2172 long var_
/* var : Int */;
2173 short int var51
/* : Bool */;
2174 short int var53
/* : Bool */;
2177 const char* var_class_name
;
2178 short int var54
/* : Bool */;
2179 val
* var55
/* : nullable Object */;
2180 val
* var_arg
/* var arg: RuntimeVariable */;
2181 val
* var56
/* : nullable MSignature */;
2182 val
* var58
/* : nullable MSignature */;
2183 val
* var59
/* : Array[MParameter] */;
2184 val
* var61
/* : Array[MParameter] */;
2185 val
* var62
/* : nullable Object */;
2186 val
* var63
/* : MType */;
2187 val
* var65
/* : MType */;
2188 val
* var_param_mtype
/* var param_mtype: MType */;
2189 val
* var66
/* : MType */;
2190 short int var67
/* : Bool */;
2191 val
* var68
/* : String */;
2192 val
* var70
/* : String */;
2193 val
* var72
/* : NativeArray[String] */;
2194 static val
* varonce71
;
2195 static val
* varonce73
;
2196 val
* var74
/* : String */;
2197 char* var75
/* : NativeString */;
2198 val
* var76
/* : String */;
2199 static val
* varonce77
;
2200 val
* var78
/* : String */;
2201 char* var79
/* : NativeString */;
2202 val
* var80
/* : String */;
2203 val
* var81
/* : String */;
2204 val
* var82
/* : String */;
2205 val
* var84
/* : NativeArray[String] */;
2206 static val
* varonce83
;
2207 static val
* varonce85
;
2208 val
* var86
/* : String */;
2209 char* var87
/* : NativeString */;
2210 val
* var88
/* : String */;
2211 static val
* varonce89
;
2212 val
* var90
/* : String */;
2213 char* var91
/* : NativeString */;
2214 val
* var92
/* : String */;
2215 val
* var93
/* : String */;
2216 val
* var94
/* : String */;
2217 val
* var96
/* : NativeArray[String] */;
2218 static val
* varonce95
;
2219 static val
* varonce97
;
2220 val
* var98
/* : String */;
2221 char* var99
/* : NativeString */;
2222 val
* var100
/* : String */;
2223 static val
* varonce101
;
2224 val
* var102
/* : String */;
2225 char* var103
/* : NativeString */;
2226 val
* var104
/* : String */;
2227 static val
* varonce105
;
2228 val
* var106
/* : String */;
2229 char* var107
/* : NativeString */;
2230 val
* var108
/* : String */;
2231 val
* var109
/* : String */;
2232 val
* var110
/* : String */;
2233 val
* var112
/* : String */;
2234 val
* var113
/* : String */;
2235 val
* var115
/* : NativeArray[String] */;
2236 static val
* varonce114
;
2237 static val
* varonce116
;
2238 val
* var117
/* : String */;
2239 char* var118
/* : NativeString */;
2240 val
* var119
/* : String */;
2241 val
* var120
/* : String */;
2242 val
* var121
/* : String */;
2243 long var122
/* : Int */;
2244 short int var123
/* : Bool */;
2245 val
* var125
/* : NativeArray[String] */;
2246 static val
* varonce124
;
2247 static val
* varonce126
;
2248 val
* var127
/* : String */;
2249 char* var128
/* : NativeString */;
2250 val
* var129
/* : String */;
2251 static val
* varonce130
;
2252 val
* var131
/* : String */;
2253 char* var132
/* : NativeString */;
2254 val
* var133
/* : String */;
2255 static val
* varonce134
;
2256 val
* var135
/* : String */;
2257 char* var136
/* : NativeString */;
2258 val
* var137
/* : String */;
2259 val
* var138
/* : String */;
2260 static val
* varonce139
;
2261 val
* var140
/* : String */;
2262 char* var141
/* : NativeString */;
2263 val
* var142
/* : String */;
2264 val
* var143
/* : String */;
2265 val
* var144
/* : String */;
2266 static val
* varonce145
;
2267 val
* var146
/* : String */;
2268 char* var147
/* : NativeString */;
2269 val
* var148
/* : String */;
2270 val
* var150
/* : NativeArray[String] */;
2271 static val
* varonce149
;
2272 static val
* varonce151
;
2273 val
* var152
/* : String */;
2274 char* var153
/* : NativeString */;
2275 val
* var154
/* : String */;
2276 static val
* varonce155
;
2277 val
* var156
/* : String */;
2278 char* var157
/* : NativeString */;
2279 val
* var158
/* : String */;
2280 static val
* varonce159
;
2281 val
* var160
/* : String */;
2282 char* var161
/* : NativeString */;
2283 val
* var162
/* : String */;
2284 static val
* varonce163
;
2285 val
* var164
/* : String */;
2286 char* var165
/* : NativeString */;
2287 val
* var166
/* : String */;
2288 val
* var167
/* : String */;
2289 val
* var168
/* : String */;
2290 val
* var170
/* : NativeArray[String] */;
2291 static val
* varonce169
;
2292 static val
* varonce171
;
2293 val
* var172
/* : String */;
2294 char* var173
/* : NativeString */;
2295 val
* var174
/* : String */;
2296 val
* var175
/* : String */;
2297 val
* var176
/* : String */;
2298 val
* var177
/* : RuntimeVariable */;
2303 { /* Inline parser_nodes#AMethPropdef#n_extern_code_block (self) on <self:AMethPropdef> */
2304 var3
= self
->attrs
[COLOR_nitc__parser_nodes__AMethPropdef___n_extern_code_block
].val
; /* _n_extern_code_block on <self:AMethPropdef> */
2310 var4
= 1; /* is null */
2312 var4
= 0; /* arg is null but recv is not */
2315 { /* Inline kernel#Object#== (var1,((val*)NULL)) on <var1:nullable AExternCodeBlock> */
2316 var_other
= ((val
*)NULL
);
2318 { /* Inline kernel#Object#is_same_instance (var1,var_other) on <var1:nullable AExternCodeBlock(AExternCodeBlock)> */
2319 var9
= var1
== var_other
;
2333 var10
= ((short int(*)(val
* self
, val
* p0
, val
* p1
, val
* p2
))(self
->class->vft
[COLOR_nitc__light___AMethPropdef___compile_externinit_to_c
]))(self
, p0
, p1
, p2
); /* compile_externinit_to_c on <self:AMethPropdef>*/
2340 var11
= nitc__light_only___AMethPropdef___accept_externmeth(self
);
2349 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MMethodDef> */
2350 var15
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MMethodDef> */
2351 if (unlikely(var15
== NULL
)) {
2352 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
2353 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2227);
2357 RET_LABEL14
:(void)0;
2361 { /* Inline model#MClassDef#mmodule (var13) on <var13:MClassDef> */
2362 var18
= var13
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <var13:MClassDef> */
2363 if (unlikely(var18
== NULL
)) {
2364 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2365 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 573);
2369 RET_LABEL17
:(void)0;
2372 var_mmodule
= var16
;
2374 { /* Inline light_ffi#MModule#uses_ffi= (var_mmodule,1) on <var_mmodule:MModule> */
2375 var_mmodule
->attrs
[COLOR_nitc__light_ffi__MModule___uses_ffi
].s
= 1; /* _uses_ffi on <var_mmodule:MModule> */
2376 RET_LABEL19
:(void)0;
2380 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MMethodDef> */
2381 var22
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MMethodDef> */
2382 if (unlikely(var22
== NULL
)) {
2383 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
2384 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2227);
2388 RET_LABEL21
:(void)0;
2392 { /* Inline model#MClassDef#bound_mtype (var20) on <var20:MClassDef> */
2393 var25
= var20
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var20:MClassDef> */
2394 if (unlikely(var25
== NULL
)) {
2395 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
2396 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 579);
2400 RET_LABEL24
:(void)0;
2403 var_mclass_type
= var23
;
2405 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
2406 var28
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MMethodDef> */
2407 if (unlikely(var28
== NULL
)) {
2408 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
2409 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2230);
2413 RET_LABEL27
:(void)0;
2417 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MMethodDef> */
2418 var31
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MMethodDef> */
2419 if (unlikely(var31
== NULL
)) {
2420 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
2421 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2227);
2425 RET_LABEL30
:(void)0;
2429 { /* Inline model#MClassDef#bound_mtype (var29) on <var29:MClassDef> */
2430 var34
= var29
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var29:MClassDef> */
2431 if (unlikely(var34
== NULL
)) {
2432 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
2433 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 579);
2437 RET_LABEL33
:(void)0;
2440 if (likely(varonce
!=NULL
)) {
2444 var37
= core__flat___NativeString___to_s_full(var36
, 7l, 7l);
2450 var39
= nitc__nitni_utilities___core__Sys___long_signature(var38
);
2453 var40
= nitc__nitni_utilities___MMethod___build_cname(var26
, var32
, var_mmodule
, var35
, var39
);
2455 var_externname
= var40
;
2457 var41
= core___core__SequenceRead___Collection__first(var_arguments
);
2460 { /* Inline abstract_compiler#RuntimeVariable#mtype (var41) on <var41:nullable Object(RuntimeVariable)> */
2461 var44
= var41
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var41:nullable Object(RuntimeVariable)> */
2462 if (unlikely(var44
== NULL
)) {
2463 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2464 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1870);
2468 RET_LABEL43
:(void)0;
2471 var_return_mtype
= var42
;
2473 var45
= nitc___nitc__AbstractCompilerVisitor___new_var(var_v
, var_return_mtype
);
2475 var_recv_var
= var45
;
2477 nitc___nitc__SeparateCompilerVisitor___nitc__abstract_compiler__AbstractCompilerVisitor__adapt_signature(var_v
, var_mpropdef
, var_arguments
); /* Direct call separate_compiler#SeparateCompilerVisitor#adapt_signature on <var_v:AbstractCompilerVisitor>*/
2480 nitc___nitc__SeparateCompilerVisitor___nitc__abstract_compiler__AbstractCompilerVisitor__unbox_signature_extern(var_v
, var_mpropdef
, var_arguments
); /* Direct call separate_compiler#SeparateCompilerVisitor#unbox_signature_extern on <var_v:AbstractCompilerVisitor>*/
2483 var46
= core___core__AbstractArray___core__abstract_collection__Sequence__shift(var_arguments
);
2485 var47
= NEW_core__Array(&type_core__Array__core__String
);
2487 core___core__Array___core__kernel__Object__init(var47
); /* Direct call array#Array#init on <var47:Array[String]>*/
2489 var_arguments_for_c
= var47
;
2492 { /* Inline array#AbstractArrayRead#length (var_arguments) on <var_arguments:Array[RuntimeVariable]> */
2493 var50
= var_arguments
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_arguments:Array[RuntimeVariable]> */
2495 RET_LABEL49
:(void)0;
2501 { /* Inline kernel#Int#< (var_a,var_) on <var_a:Int> */
2502 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
2503 /* <var_:Int> isa OTHER */
2504 var53
= 1; /* easy <var_:Int> isa OTHER*/
2505 if (unlikely(!var53
)) {
2506 var_class_name
= type_core__Int
.name
;
2507 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2508 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
2511 var54
= var_a
< var_
;
2514 RET_LABEL52
:(void)0;
2522 var55
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_arguments
, var_a
);
2526 { /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:MMethodDef> */
2527 var58
= var_mpropdef
->attrs
[COLOR_nitc__model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:MMethodDef> */
2529 RET_LABEL57
:(void)0;
2532 if (var56
== NULL
) {
2533 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2534 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light
, 195);
2537 { /* Inline model#MSignature#mparameters (var56) on <var56:nullable MSignature> */
2538 if (unlikely(var56
== NULL
)) {
2539 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2540 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1783);
2543 var61
= var56
->attrs
[COLOR_nitc__model__MSignature___mparameters
].val
; /* _mparameters on <var56:nullable MSignature> */
2544 if (unlikely(var61
== NULL
)) {
2545 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
2546 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1783);
2550 RET_LABEL60
:(void)0;
2554 var62
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var59
, var_a
);
2557 { /* Inline model#MParameter#mtype (var62) on <var62:nullable Object(MParameter)> */
2558 var65
= var62
->attrs
[COLOR_nitc__model__MParameter___mtype
].val
; /* _mtype on <var62:nullable Object(MParameter)> */
2559 if (unlikely(var65
== NULL
)) {
2560 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2561 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1900);
2565 RET_LABEL64
:(void)0;
2568 var_param_mtype
= var63
;
2570 var66
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_param_mtype
->class->vft
[COLOR_nitc__model__MType__anchor_to
]))(var_param_mtype
, var_mmodule
, var_mclass_type
); /* anchor_to on <var_param_mtype:MType>*/
2572 var_param_mtype
= var66
;
2574 var67
= ((short int(*)(val
* self
))(var_param_mtype
->class->vft
[COLOR_nitc__nitni_base__MType__is_cprimitive
]))(var_param_mtype
); /* is_cprimitive on <var_param_mtype:MType>*/
2578 { /* Inline abstract_compiler#RuntimeVariable#name (var_arg) on <var_arg:RuntimeVariable> */
2579 var70
= var_arg
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___name
].val
; /* _name on <var_arg:RuntimeVariable> */
2580 if (unlikely(var70
== NULL
)) {
2581 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2582 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1867);
2586 RET_LABEL69
:(void)0;
2590 core___core__Array___core__abstract_collection__SimpleCollection__add(var_arguments_for_c
, var68
); /* Direct call array#Array#add on <var_arguments_for_c:Array[String]>*/
2593 if (unlikely(varonce71
==NULL
)) {
2594 var72
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
2595 if (likely(varonce73
!=NULL
)) {
2598 var75
= "struct nitni_instance* var_for_c_";
2599 var76
= core__flat___NativeString___to_s_full(var75
, 33l, 33l);
2603 ((struct instance_core__NativeArray
*)var72
)->values
[0]=var74
;
2604 if (likely(varonce77
!=NULL
)) {
2608 var80
= core__flat___NativeString___to_s_full(var79
, 1l, 1l);
2612 ((struct instance_core__NativeArray
*)var72
)->values
[2]=var78
;
2617 var81
= core__flat___Int___core__abstract_text__Object__to_s(var_a
);
2618 ((struct instance_core__NativeArray
*)var72
)->values
[1]=var81
;
2620 var82
= ((val
*(*)(val
* self
))(var72
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var72
); /* native_to_s on <var72:NativeArray[String]>*/
2624 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var82
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2626 if (unlikely(varonce83
==NULL
)) {
2627 var84
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
2628 if (likely(varonce85
!=NULL
)) {
2631 var87
= "var_for_c_";
2632 var88
= core__flat___NativeString___to_s_full(var87
, 10l, 10l);
2636 ((struct instance_core__NativeArray
*)var84
)->values
[0]=var86
;
2637 if (likely(varonce89
!=NULL
)) {
2640 var91
= " = nit_alloc(sizeof(struct nitni_instance));";
2641 var92
= core__flat___NativeString___to_s_full(var91
, 44l, 44l);
2645 ((struct instance_core__NativeArray
*)var84
)->values
[2]=var90
;
2650 var93
= core__flat___Int___core__abstract_text__Object__to_s(var_a
);
2651 ((struct instance_core__NativeArray
*)var84
)->values
[1]=var93
;
2653 var94
= ((val
*(*)(val
* self
))(var84
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var84
); /* native_to_s on <var84:NativeArray[String]>*/
2657 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var94
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2659 if (unlikely(varonce95
==NULL
)) {
2660 var96
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
2661 if (likely(varonce97
!=NULL
)) {
2664 var99
= "var_for_c_";
2665 var100
= core__flat___NativeString___to_s_full(var99
, 10l, 10l);
2669 ((struct instance_core__NativeArray
*)var96
)->values
[0]=var98
;
2670 if (likely(varonce101
!=NULL
)) {
2671 var102
= varonce101
;
2673 var103
= "->value = ";
2674 var104
= core__flat___NativeString___to_s_full(var103
, 10l, 10l);
2676 varonce101
= var102
;
2678 ((struct instance_core__NativeArray
*)var96
)->values
[2]=var102
;
2679 if (likely(varonce105
!=NULL
)) {
2680 var106
= varonce105
;
2683 var108
= core__flat___NativeString___to_s_full(var107
, 1l, 1l);
2685 varonce105
= var106
;
2687 ((struct instance_core__NativeArray
*)var96
)->values
[4]=var106
;
2692 var109
= core__flat___Int___core__abstract_text__Object__to_s(var_a
);
2693 ((struct instance_core__NativeArray
*)var96
)->values
[1]=var109
;
2695 { /* Inline abstract_compiler#RuntimeVariable#name (var_arg) on <var_arg:RuntimeVariable> */
2696 var112
= var_arg
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___name
].val
; /* _name on <var_arg:RuntimeVariable> */
2697 if (unlikely(var112
== NULL
)) {
2698 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2699 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1867);
2703 RET_LABEL111
:(void)0;
2706 ((struct instance_core__NativeArray
*)var96
)->values
[3]=var110
;
2708 var113
= ((val
*(*)(val
* self
))(var96
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var96
); /* native_to_s on <var96:NativeArray[String]>*/
2712 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var113
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2714 if (unlikely(varonce114
==NULL
)) {
2715 var115
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
2716 if (likely(varonce116
!=NULL
)) {
2717 var117
= varonce116
;
2719 var118
= "var_for_c_";
2720 var119
= core__flat___NativeString___to_s_full(var118
, 10l, 10l);
2722 varonce116
= var117
;
2724 ((struct instance_core__NativeArray
*)var115
)->values
[0]=var117
;
2726 var115
= varonce114
;
2729 var120
= core__flat___Int___core__abstract_text__Object__to_s(var_a
);
2730 ((struct instance_core__NativeArray
*)var115
)->values
[1]=var120
;
2732 var121
= ((val
*(*)(val
* self
))(var115
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var115
); /* native_to_s on <var115:NativeArray[String]>*/
2734 varonce114
= var115
;
2736 core___core__Array___core__abstract_collection__SimpleCollection__add(var_arguments_for_c
, var121
); /* Direct call array#Array#add on <var_arguments_for_c:Array[String]>*/
2740 var122
= core___core__Int___Discrete__successor(var_a
, 1l);
2744 BREAK_label
: (void)0;
2746 var123
= ((short int(*)(val
* self
))(var_return_mtype
->class->vft
[COLOR_nitc__nitni_base__MType__is_cprimitive
]))(var_return_mtype
); /* is_cprimitive on <var_return_mtype:MType>*/
2749 if (unlikely(varonce124
==NULL
)) {
2750 var125
= NEW_core__NativeArray(6l, &type_core__NativeArray__core__String
);
2751 if (likely(varonce126
!=NULL
)) {
2752 var127
= varonce126
;
2755 var129
= core__flat___NativeString___to_s_full(var128
, 3l, 3l);
2757 varonce126
= var127
;
2759 ((struct instance_core__NativeArray
*)var125
)->values
[1]=var127
;
2760 if (likely(varonce130
!=NULL
)) {
2761 var131
= varonce130
;
2764 var133
= core__flat___NativeString___to_s_full(var132
, 1l, 1l);
2766 varonce130
= var131
;
2768 ((struct instance_core__NativeArray
*)var125
)->values
[3]=var131
;
2769 if (likely(varonce134
!=NULL
)) {
2770 var135
= varonce134
;
2773 var137
= core__flat___NativeString___to_s_full(var136
, 2l, 2l);
2775 varonce134
= var135
;
2777 ((struct instance_core__NativeArray
*)var125
)->values
[5]=var135
;
2779 var125
= varonce124
;
2783 var138
= ((val
*(*)(val
* self
))(var_recv_var
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_recv_var
); /* to_s on <var_recv_var:RuntimeVariable>*/
2785 ((struct instance_core__NativeArray
*)var125
)->values
[0]=var138
;
2786 ((struct instance_core__NativeArray
*)var125
)->values
[2]=var_externname
;
2787 if (likely(varonce139
!=NULL
)) {
2788 var140
= varonce139
;
2791 var142
= core__flat___NativeString___to_s_full(var141
, 2l, 2l);
2793 varonce139
= var140
;
2796 var143
= core__abstract_text___Collection___join(var_arguments_for_c
, var140
);
2798 ((struct instance_core__NativeArray
*)var125
)->values
[4]=var143
;
2800 var144
= ((val
*(*)(val
* self
))(var125
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var125
); /* native_to_s on <var125:NativeArray[String]>*/
2802 varonce124
= var125
;
2804 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var144
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2807 if (likely(varonce145
!=NULL
)) {
2808 var146
= varonce145
;
2810 var147
= "struct nitni_instance* ret_var;";
2811 var148
= core__flat___NativeString___to_s_full(var147
, 31l, 31l);
2813 varonce145
= var146
;
2816 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var146
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2818 if (unlikely(varonce149
==NULL
)) {
2819 var150
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
2820 if (likely(varonce151
!=NULL
)) {
2821 var152
= varonce151
;
2823 var153
= "ret_var = ";
2824 var154
= core__flat___NativeString___to_s_full(var153
, 10l, 10l);
2826 varonce151
= var152
;
2828 ((struct instance_core__NativeArray
*)var150
)->values
[0]=var152
;
2829 if (likely(varonce155
!=NULL
)) {
2830 var156
= varonce155
;
2833 var158
= core__flat___NativeString___to_s_full(var157
, 1l, 1l);
2835 varonce155
= var156
;
2837 ((struct instance_core__NativeArray
*)var150
)->values
[2]=var156
;
2838 if (likely(varonce159
!=NULL
)) {
2839 var160
= varonce159
;
2842 var162
= core__flat___NativeString___to_s_full(var161
, 2l, 2l);
2844 varonce159
= var160
;
2846 ((struct instance_core__NativeArray
*)var150
)->values
[4]=var160
;
2848 var150
= varonce149
;
2851 ((struct instance_core__NativeArray
*)var150
)->values
[1]=var_externname
;
2852 if (likely(varonce163
!=NULL
)) {
2853 var164
= varonce163
;
2856 var166
= core__flat___NativeString___to_s_full(var165
, 2l, 2l);
2858 varonce163
= var164
;
2861 var167
= core__abstract_text___Collection___join(var_arguments_for_c
, var164
);
2863 ((struct instance_core__NativeArray
*)var150
)->values
[3]=var167
;
2865 var168
= ((val
*(*)(val
* self
))(var150
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var150
); /* native_to_s on <var150:NativeArray[String]>*/
2867 varonce149
= var150
;
2869 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var168
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2871 if (unlikely(varonce169
==NULL
)) {
2872 var170
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
2873 if (likely(varonce171
!=NULL
)) {
2874 var172
= varonce171
;
2876 var173
= " = ret_var->value;";
2877 var174
= core__flat___NativeString___to_s_full(var173
, 18l, 18l);
2879 varonce171
= var172
;
2881 ((struct instance_core__NativeArray
*)var170
)->values
[1]=var172
;
2883 var170
= varonce169
;
2887 var175
= ((val
*(*)(val
* self
))(var_recv_var
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_recv_var
); /* to_s on <var_recv_var:RuntimeVariable>*/
2889 ((struct instance_core__NativeArray
*)var170
)->values
[0]=var175
;
2891 var176
= ((val
*(*)(val
* self
))(var170
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var170
); /* native_to_s on <var170:NativeArray[String]>*/
2893 varonce169
= var170
;
2895 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var176
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2899 var177
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor__box_extern
]))(var_v
, var_recv_var
, var_return_mtype
); /* box_extern on <var_v:AbstractCompilerVisitor>*/
2901 var_recv_var
= var177
;
2903 nitc___nitc__AbstractCompilerVisitor___ret(var_v
, var_recv_var
); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on <var_v:AbstractCompilerVisitor>*/
2906 nitc__light___AMethPropdef___compile_ffi_support_to_c(self
, var_v
); /* Direct call light#AMethPropdef#compile_ffi_support_to_c on <self:AMethPropdef>*/
2913 /* method light#CCompilationUnit#write_as_nitni for (self: CCompilationUnit, MModule, String) */
2914 void nitc__light___CCompilationUnit___write_as_nitni(val
* self
, val
* p0
, val
* p1
) {
2915 val
* var_mmodule
/* var mmodule: MModule */;
2916 val
* var_compdir
/* var compdir: String */;
2917 val
* var
/* : NativeArray[String] */;
2918 static val
* varonce
;
2919 static val
* varonce1
;
2920 val
* var2
/* : String */;
2921 char* var3
/* : NativeString */;
2922 val
* var4
/* : String */;
2923 val
* var5
/* : String */;
2924 val
* var6
/* : String */;
2925 val
* var_base_name
/* var base_name: String */;
2926 val
* var8
/* : NativeArray[String] */;
2927 static val
* varonce7
;
2928 static val
* varonce9
;
2929 val
* var10
/* : String */;
2930 char* var11
/* : NativeString */;
2931 val
* var12
/* : String */;
2932 val
* var13
/* : String */;
2933 val
* var_h_file
/* var h_file: String */;
2934 val
* var15
/* : NativeArray[String] */;
2935 static val
* varonce14
;
2936 static val
* varonce16
;
2937 val
* var17
/* : String */;
2938 char* var18
/* : NativeString */;
2939 val
* var19
/* : String */;
2940 val
* var20
/* : String */;
2941 val
* var21
/* : Array[String] */;
2942 val
* var23
/* : NativeArray[String] */;
2943 static val
* varonce22
;
2944 static val
* varonce24
;
2945 val
* var25
/* : String */;
2946 char* var26
/* : NativeString */;
2947 val
* var27
/* : String */;
2948 val
* var28
/* : String */;
2949 val
* var29
/* : String */;
2950 val
* var30
/* : String */;
2951 val
* var31
/* : String */;
2952 val
* var33
/* : NativeArray[String] */;
2953 static val
* varonce32
;
2954 static val
* varonce34
;
2955 val
* var35
/* : String */;
2956 char* var36
/* : NativeString */;
2957 val
* var37
/* : String */;
2958 val
* var38
/* : String */;
2959 val
* var_c_file
/* var c_file: String */;
2960 val
* var40
/* : NativeArray[String] */;
2961 static val
* varonce39
;
2962 static val
* varonce41
;
2963 val
* var42
/* : String */;
2964 char* var43
/* : NativeString */;
2965 val
* var44
/* : String */;
2966 val
* var45
/* : String */;
2967 val
* var46
/* : Array[String] */;
2968 val
* var_
/* var : Array[String] */;
2969 val
* var48
/* : NativeArray[String] */;
2970 static val
* varonce47
;
2971 static val
* varonce49
;
2972 val
* var50
/* : String */;
2973 char* var51
/* : NativeString */;
2974 val
* var52
/* : String */;
2975 static val
* varonce53
;
2976 val
* var54
/* : String */;
2977 char* var55
/* : NativeString */;
2978 val
* var56
/* : String */;
2979 val
* var57
/* : String */;
2980 val
* var58
/* : Array[String] */;
2981 val
* var60
/* : Array[String] */;
2982 val
* var62
/* : NativeArray[String] */;
2983 static val
* varonce61
;
2984 static val
* varonce63
;
2985 val
* var64
/* : String */;
2986 char* var65
/* : NativeString */;
2987 val
* var66
/* : String */;
2988 val
* var67
/* : String */;
2991 if (unlikely(varonce
==NULL
)) {
2992 var
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
2993 if (likely(varonce1
!=NULL
)) {
2997 var4
= core__flat___NativeString___to_s_full(var3
, 7l, 7l);
3001 ((struct instance_core__NativeArray
*)var
)->values
[1]=var2
;
3007 var5
= nitc___nitc__MModule___nitc__model_base__MEntity__c_name(var_mmodule
);
3009 ((struct instance_core__NativeArray
*)var
)->values
[0]=var5
;
3011 var6
= ((val
*(*)(val
* self
))(var
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var
); /* native_to_s on <var:NativeArray[String]>*/
3014 var_base_name
= var6
;
3015 if (unlikely(varonce7
==NULL
)) {
3016 var8
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
3017 if (likely(varonce9
!=NULL
)) {
3021 var12
= core__flat___NativeString___to_s_full(var11
, 2l, 2l);
3025 ((struct instance_core__NativeArray
*)var8
)->values
[1]=var10
;
3030 ((struct instance_core__NativeArray
*)var8
)->values
[0]=var_base_name
;
3032 var13
= ((val
*(*)(val
* self
))(var8
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var8
); /* native_to_s on <var8:NativeArray[String]>*/
3036 if (unlikely(varonce14
==NULL
)) {
3037 var15
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
3038 if (likely(varonce16
!=NULL
)) {
3042 var19
= core__flat___NativeString___to_s_full(var18
, 1l, 1l);
3046 ((struct instance_core__NativeArray
*)var15
)->values
[1]=var17
;
3051 ((struct instance_core__NativeArray
*)var15
)->values
[0]=var_compdir
;
3052 ((struct instance_core__NativeArray
*)var15
)->values
[2]=var_h_file
;
3054 var20
= ((val
*(*)(val
* self
))(var15
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var15
); /* native_to_s on <var15:NativeArray[String]>*/
3057 var21
= NEW_core__Array(&type_core__Array__core__String
);
3059 core___core__Array___core__kernel__Object__init(var21
); /* Direct call array#Array#init on <var21:Array[String]>*/
3061 if (unlikely(varonce22
==NULL
)) {
3062 var23
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
3063 if (likely(varonce24
!=NULL
)) {
3066 var26
= "_NITG_NITNI_H";
3067 var27
= core__flat___NativeString___to_s_full(var26
, 13l, 13l);
3071 ((struct instance_core__NativeArray
*)var23
)->values
[1]=var25
;
3077 var28
= nitc___nitc__MModule___nitc__model_base__MEntity__c_name(var_mmodule
);
3080 var29
= core___core__String___Object__to_s(var28
);
3083 var30
= ((val
*(*)(val
* self
))(var29
->class->vft
[COLOR_core__abstract_text__String__to_upper
]))(var29
); /* to_upper on <var29:String>*/
3085 ((struct instance_core__NativeArray
*)var23
)->values
[0]=var30
;
3087 var31
= ((val
*(*)(val
* self
))(var23
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var23
); /* native_to_s on <var23:NativeArray[String]>*/
3091 nitc__light_ffi_base___CCompilationUnit___write_header_to_file(self
, var_mmodule
, var20
, var21
, var31
); /* Direct call light_ffi_base#CCompilationUnit#write_header_to_file on <self:CCompilationUnit>*/
3093 if (unlikely(varonce32
==NULL
)) {
3094 var33
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
3095 if (likely(varonce34
!=NULL
)) {
3099 var37
= core__flat___NativeString___to_s_full(var36
, 2l, 2l);
3103 ((struct instance_core__NativeArray
*)var33
)->values
[1]=var35
;
3108 ((struct instance_core__NativeArray
*)var33
)->values
[0]=var_base_name
;
3110 var38
= ((val
*(*)(val
* self
))(var33
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var33
); /* native_to_s on <var33:NativeArray[String]>*/
3114 if (unlikely(varonce39
==NULL
)) {
3115 var40
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
3116 if (likely(varonce41
!=NULL
)) {
3120 var44
= core__flat___NativeString___to_s_full(var43
, 1l, 1l);
3124 ((struct instance_core__NativeArray
*)var40
)->values
[1]=var42
;
3129 ((struct instance_core__NativeArray
*)var40
)->values
[0]=var_compdir
;
3130 ((struct instance_core__NativeArray
*)var40
)->values
[2]=var_c_file
;
3132 var45
= ((val
*(*)(val
* self
))(var40
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var40
); /* native_to_s on <var40:NativeArray[String]>*/
3135 var46
= NEW_core__Array(&type_core__Array__core__String
);
3137 core___core__Array___with_capacity(var46
, 1l); /* Direct call array#Array#with_capacity on <var46:Array[String]>*/
3140 if (unlikely(varonce47
==NULL
)) {
3141 var48
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
3142 if (likely(varonce49
!=NULL
)) {
3146 var52
= core__flat___NativeString___to_s_full(var51
, 1l, 1l);
3150 ((struct instance_core__NativeArray
*)var48
)->values
[0]=var50
;
3151 if (likely(varonce53
!=NULL
)) {
3155 var56
= core__flat___NativeString___to_s_full(var55
, 1l, 1l);
3159 ((struct instance_core__NativeArray
*)var48
)->values
[2]=var54
;
3164 ((struct instance_core__NativeArray
*)var48
)->values
[1]=var_h_file
;
3166 var57
= ((val
*(*)(val
* self
))(var48
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var48
); /* native_to_s on <var48:NativeArray[String]>*/
3170 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, var57
); /* Direct call array#AbstractArray#push on <var_:Array[String]>*/
3173 nitc__light_ffi_base___CCompilationUnit___write_body_to_file(self
, var_mmodule
, var45
, var_
); /* Direct call light_ffi_base#CCompilationUnit#write_body_to_file on <self:CCompilationUnit>*/
3176 { /* Inline c_tools#CCompilationUnit#files (self) on <self:CCompilationUnit> */
3177 var60
= self
->attrs
[COLOR_nitc__c_tools__CCompilationUnit___files
].val
; /* _files on <self:CCompilationUnit> */
3178 if (unlikely(var60
== NULL
)) {
3179 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
3180 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__c_tools
, 47);
3184 RET_LABEL59
:(void)0;
3187 if (unlikely(varonce61
==NULL
)) {
3188 var62
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
3189 if (likely(varonce63
!=NULL
)) {
3193 var66
= core__flat___NativeString___to_s_full(var65
, 1l, 1l);
3197 ((struct instance_core__NativeArray
*)var62
)->values
[1]=var64
;
3202 ((struct instance_core__NativeArray
*)var62
)->values
[0]=var_compdir
;
3203 ((struct instance_core__NativeArray
*)var62
)->values
[2]=var_c_file
;
3205 var67
= ((val
*(*)(val
* self
))(var62
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var62
); /* native_to_s on <var62:NativeArray[String]>*/
3209 core___core__Array___core__abstract_collection__SimpleCollection__add(var58
, var67
); /* Direct call array#Array#add on <var58:Array[String]>*/