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 if(catchStack
.cursor
>= 0){
31 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
33 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
34 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1214);
42 { /* Inline abstract_compiler$AbstractCompiler$modelbuilder (var1) on <var1:AbstractCompiler> */
43 var6
= var1
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var1:AbstractCompiler> */
44 if (unlikely(var6
== NULL
)) {
45 if(catchStack
.cursor
>= 0){
46 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
48 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
49 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 552);
57 var7
= nitc__loader___ModelBuilder___mmodule2node(var4
, self
);
64 /* method light$MModule$finalize_ffi for (self: MModule, AbstractCompiler) */
65 void nitc__light___MModule___finalize_ffi(val
* self
, val
* p0
) {
66 val
* var_compiler
/* var compiler: AbstractCompiler */;
67 short int var
/* : Bool */;
68 short int var2
/* : Bool */;
69 short int var3
/* : Bool */;
70 val
* var4
/* : AbstractCompilerVisitor */;
71 val
* var_v
/* var v: AbstractCompilerVisitor */;
72 val
* var5
/* : nullable AModule */;
73 val
* var_n
/* var n: nullable AModule */;
74 short int var6
/* : Bool */;
75 short int var7
/* : Bool */;
76 val
* var_other
/* var other: nullable Object */;
77 short int var9
/* : Bool */;
78 short int var11
/* : Bool */;
79 val
* var12
/* : AbstractCompiler */;
80 val
* var14
/* : AbstractCompiler */;
81 val
* var15
/* : Toolchain */;
82 val
* var17
/* : Toolchain */;
83 val
* var18
/* : String */;
84 val
* var19
/* : AbstractCompiler */;
85 val
* var21
/* : AbstractCompiler */;
86 val
* var22
/* : MModule */;
87 val
* var24
/* : MModule */;
88 val
* var25
/* : Array[ExternFile] */;
89 val
* var27
/* : Array[ExternFile] */;
90 val
* var_
/* var : Array[ExternFile] */;
91 val
* var28
/* : IndexedIterator[nullable Object] */;
92 val
* var_29
/* var : IndexedIterator[ExternFile] */;
93 short int var30
/* : Bool */;
94 val
* var31
/* : nullable Object */;
95 val
* var_file
/* var file: ExternFile */;
96 val
* var32
/* : AbstractCompiler */;
97 val
* var34
/* : AbstractCompiler */;
98 val
* var35
/* : Array[ExternFile] */;
99 val
* var37
/* : Array[ExternFile] */;
100 val
* var38
/* : nullable CCompilationUnit */;
101 val
* var40
/* : nullable CCompilationUnit */;
102 val
* var41
/* : Template */;
103 val
* var43
/* : Template */;
104 val
* var44
/* : NativeArray[String] */;
106 static val
* varonce45
;
107 val
* var46
/* : String */;
108 char* var47
/* : CString */;
109 val
* var48
/* : String */;
110 val
* var49
/* : nullable Int */;
111 val
* var50
/* : nullable Int */;
112 val
* var51
/* : nullable Bool */;
113 val
* var52
/* : nullable Bool */;
114 static val
* varonce53
;
115 val
* var54
/* : String */;
116 char* var55
/* : CString */;
117 val
* var56
/* : String */;
118 val
* var57
/* : nullable Int */;
119 val
* var58
/* : nullable Int */;
120 val
* var59
/* : nullable Bool */;
121 val
* var60
/* : nullable Bool */;
122 val
* var61
/* : String */;
123 val
* var62
/* : String */;
124 val
* var63
/* : nullable CCompilationUnit */;
125 val
* var65
/* : nullable CCompilationUnit */;
126 val
* var66
/* : Template */;
127 val
* var68
/* : Template */;
128 static val
* varonce69
;
129 val
* var70
/* : String */;
130 char* var71
/* : CString */;
131 val
* var72
/* : String */;
132 val
* var73
/* : nullable Int */;
133 val
* var74
/* : nullable Int */;
134 val
* var75
/* : nullable Bool */;
135 val
* var76
/* : nullable Bool */;
136 val
* var77
/* : nullable CCompilationUnit */;
137 val
* var79
/* : nullable CCompilationUnit */;
138 val
* var80
/* : Template */;
139 val
* var82
/* : Template */;
140 static val
* varonce83
;
141 val
* var84
/* : String */;
142 char* var85
/* : CString */;
143 val
* var86
/* : String */;
144 val
* var87
/* : nullable Int */;
145 val
* var88
/* : nullable Int */;
146 val
* var89
/* : nullable Bool */;
147 val
* var90
/* : nullable Bool */;
148 val
* var91
/* : MultiHashMap[String, String] */;
149 val
* var93
/* : MultiHashMap[String, String] */;
150 static val
* varonce94
;
151 val
* var95
/* : String */;
152 char* var96
/* : CString */;
153 val
* var97
/* : String */;
154 val
* var98
/* : nullable Int */;
155 val
* var99
/* : nullable Int */;
156 val
* var100
/* : nullable Bool */;
157 val
* var101
/* : nullable Bool */;
158 val
* var102
/* : nullable Object */;
159 static val
* varonce103
;
160 val
* var104
/* : String */;
161 char* var105
/* : CString */;
162 val
* var106
/* : String */;
163 val
* var107
/* : nullable Int */;
164 val
* var108
/* : nullable Int */;
165 val
* var109
/* : nullable Bool */;
166 val
* var110
/* : nullable Bool */;
167 val
* var111
/* : String */;
168 val
* var_cflags
/* var cflags: String */;
169 val
* var112
/* : nullable CCompilationUnit */;
170 val
* var114
/* : nullable CCompilationUnit */;
171 val
* var115
/* : AbstractCompiler */;
172 val
* var117
/* : AbstractCompiler */;
173 val
* var118
/* : Toolchain */;
174 val
* var120
/* : Toolchain */;
175 val
* var121
/* : String */;
176 val
* var122
/* : nullable CCompilationUnit */;
177 val
* var124
/* : nullable CCompilationUnit */;
178 val
* var125
/* : Array[String] */;
179 val
* var127
/* : Array[String] */;
180 val
* var_128
/* var : Array[String] */;
181 val
* var129
/* : IndexedIterator[nullable Object] */;
182 val
* var_130
/* var : IndexedIterator[String] */;
183 short int var131
/* : Bool */;
184 val
* var133
/* : nullable Object */;
185 val
* var_file134
/* var file: String */;
186 val
* var135
/* : ExternCFile */;
187 val
* var_f
/* var f: ExternCFile */;
188 val
* var136
/* : Array[String] */;
189 val
* var138
/* : Array[String] */;
190 val
* var139
/* : Array[String] */;
191 val
* var141
/* : Array[String] */;
192 val
* var142
/* : AbstractCompiler */;
193 val
* var144
/* : AbstractCompiler */;
194 val
* var145
/* : Array[ExternFile] */;
195 val
* var147
/* : Array[ExternFile] */;
196 val
* var149
/* : HashSet[AMethPropdef] */;
197 val
* var151
/* : HashSet[AMethPropdef] */;
198 val
* var153
/* : Array[ExternFile] */;
199 val
* var155
/* : Array[ExternFile] */;
202 { /* Inline light_ffi$MModule$uses_ffi (self) on <self:MModule> */
203 var2
= self
->attrs
[COLOR_nitc__light_ffi__MModule___uses_ffi
].s
; /* _uses_ffi on <self:MModule> */
214 var4
= ((val
*(*)(val
* self
))(var_compiler
->class->vft
[COLOR_nitc__abstract_compiler__AbstractCompiler__new_visitor
]))(var_compiler
); /* new_visitor on <var_compiler:AbstractCompiler>*/
218 var5
= nitc__light___MModule___nmodule(self
, var_v
);
222 var6
= 1; /* is null */
224 var6
= 0; /* arg is null but recv is not */
227 { /* Inline kernel$Object$== (var_n,((val*)NULL)) on <var_n:nullable AModule> */
228 var_other
= ((val
*)NULL
);
230 { /* Inline kernel$Object$is_same_instance (var_n,var_other) on <var_n:nullable AModule(AModule)> */
231 var11
= var_n
== var_other
;
248 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)>*/
251 { /* Inline abstract_compiler$AbstractCompilerVisitor$compiler (var_v) on <var_v:AbstractCompilerVisitor> */
252 var14
= var_v
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
253 if (unlikely(var14
== NULL
)) {
254 if(catchStack
.cursor
>= 0){
255 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
257 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
258 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1214);
266 { /* Inline abstract_compiler$AbstractCompiler$toolchain (var12) on <var12:AbstractCompiler> */
267 var17
= var12
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___toolchain
].val
; /* _toolchain on <var12:AbstractCompiler> */
268 if (unlikely(var17
== NULL
)) {
269 if(catchStack
.cursor
>= 0){
270 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
272 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolchain");
273 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 555);
281 var18
= nitc___nitc__Toolchain___compile_dir(var15
);
284 { /* Inline abstract_compiler$AbstractCompilerVisitor$compiler (var_v) on <var_v:AbstractCompilerVisitor> */
285 var21
= var_v
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
286 if (unlikely(var21
== NULL
)) {
287 if(catchStack
.cursor
>= 0){
288 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
290 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
291 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1214);
299 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (var19) on <var19:AbstractCompiler> */
300 var24
= var19
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var19:AbstractCompiler> */
301 if (unlikely(var24
== NULL
)) {
302 if(catchStack
.cursor
>= 0){
303 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
305 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
306 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
314 nitc__light_ffi___MModule___finalize_ffi_wrapper(self
, var18
, var22
); /* Direct call light_ffi$MModule$finalize_ffi_wrapper on <self:MModule>*/
317 { /* Inline light_ffi_base$MModule$ffi_files (self) on <self:MModule> */
318 var27
= self
->attrs
[COLOR_nitc__light_ffi_base__MModule___ffi_files
].val
; /* _ffi_files on <self:MModule> */
319 if (unlikely(var27
== NULL
)) {
320 if(catchStack
.cursor
>= 0){
321 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
323 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ffi_files");
324 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light_ffi_base
, 82);
333 var28
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
338 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]>*/
345 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]>*/
349 { /* Inline abstract_compiler$AbstractCompilerVisitor$compiler (var_v) on <var_v:AbstractCompilerVisitor> */
350 var34
= var_v
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
351 if (unlikely(var34
== NULL
)) {
352 if(catchStack
.cursor
>= 0){
353 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
355 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
356 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1214);
364 { /* Inline abstract_compiler$AbstractCompiler$extern_bodies (var32) on <var32:AbstractCompiler> */
365 var37
= var32
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <var32:AbstractCompiler> */
366 if (unlikely(var37
== NULL
)) {
367 if(catchStack
.cursor
>= 0){
368 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
370 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
371 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1075);
379 core___core__Array___core__abstract_collection__SimpleCollection__add(var35
, var_file
); /* Direct call array$Array$add on <var35:Array[ExternFile]>*/
382 ((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]>*/
385 BREAK_label
: (void)0;
387 ((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]>*/
390 nitc__light___MModule___ensure_compile_nitni_base(self
, var_v
); /* Direct call light$MModule$ensure_compile_nitni_base on <self:MModule>*/
393 { /* Inline light$MModule$nitni_ccu (self) on <self:MModule> */
394 var40
= self
->attrs
[COLOR_nitc__light__MModule___nitni_ccu
].val
; /* _nitni_ccu on <self:MModule> */
400 if(catchStack
.cursor
>= 0){
401 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
403 PRINT_ERROR("Runtime error: %s", "Receiver is null");
404 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light
, 45);
407 { /* Inline c_tools$CCompilationUnit$header_c_types (var38) on <var38:nullable CCompilationUnit> */
408 if (unlikely(var38
== NULL
)) {
409 if(catchStack
.cursor
>= 0){
410 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
412 PRINT_ERROR("Runtime error: %s", "Receiver is null");
413 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__c_tools
, 31);
416 var43
= var38
->attrs
[COLOR_nitc__c_tools__CCompilationUnit___header_c_types
].val
; /* _header_c_types on <var38:nullable CCompilationUnit> */
417 if (unlikely(var43
== NULL
)) {
418 if(catchStack
.cursor
>= 0){
419 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
421 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header_c_types");
422 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__c_tools
, 31);
429 if (unlikely(varonce
==NULL
)) {
430 var44
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
431 if (likely(varonce45
!=NULL
)) {
434 var47
= "#include \"";
435 var49
= (val
*)(10l<<2|1);
436 var50
= (val
*)(10l<<2|1);
437 var51
= (val
*)((long)(0)<<2|3);
438 var52
= (val
*)((long)(0)<<2|3);
439 var48
= core__flat___CString___to_s_unsafe(var47
, var49
, var50
, var51
, var52
);
443 ((struct instance_core__NativeArray
*)var44
)->values
[0]=var46
;
444 if (likely(varonce53
!=NULL
)) {
447 var55
= "._ffi.h\"\n";
448 var57
= (val
*)(9l<<2|1);
449 var58
= (val
*)(9l<<2|1);
450 var59
= (val
*)((long)(0)<<2|3);
451 var60
= (val
*)((long)(0)<<2|3);
452 var56
= core__flat___CString___to_s_unsafe(var55
, var57
, var58
, var59
, var60
);
456 ((struct instance_core__NativeArray
*)var44
)->values
[2]=var54
;
462 var61
= nitc___nitc__MModule___nitc__model_base__MEntity__c_name(self
);
464 ((struct instance_core__NativeArray
*)var44
)->values
[1]=var61
;
466 var62
= ((val
*(*)(val
* self
))(var44
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var44
); /* native_to_s on <var44:NativeArray[String]>*/
470 template___template__Template___add(var41
, var62
); /* Direct call template$Template$add on <var41:Template>*/
473 { /* Inline light$MModule$nitni_ccu (self) on <self:MModule> */
474 var65
= self
->attrs
[COLOR_nitc__light__MModule___nitni_ccu
].val
; /* _nitni_ccu on <self:MModule> */
480 if(catchStack
.cursor
>= 0){
481 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
483 PRINT_ERROR("Runtime error: %s", "Receiver is null");
484 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light
, 46);
487 { /* Inline c_tools$CCompilationUnit$header_c_types (var63) on <var63:nullable CCompilationUnit> */
488 if (unlikely(var63
== NULL
)) {
489 if(catchStack
.cursor
>= 0){
490 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
492 PRINT_ERROR("Runtime error: %s", "Receiver is null");
493 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__c_tools
, 31);
496 var68
= var63
->attrs
[COLOR_nitc__c_tools__CCompilationUnit___header_c_types
].val
; /* _header_c_types on <var63:nullable CCompilationUnit> */
497 if (unlikely(var68
== NULL
)) {
498 if(catchStack
.cursor
>= 0){
499 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
501 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header_c_types");
502 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__c_tools
, 31);
509 if (likely(varonce69
!=NULL
)) {
512 var71
= "#include <stdint.h>\n";
513 var73
= (val
*)(20l<<2|1);
514 var74
= (val
*)(20l<<2|1);
515 var75
= (val
*)((long)(0)<<2|3);
516 var76
= (val
*)((long)(0)<<2|3);
517 var72
= core__flat___CString___to_s_unsafe(var71
, var73
, var74
, var75
, var76
);
522 template___template__Template___add(var66
, var70
); /* Direct call template$Template$add on <var66:Template>*/
525 { /* Inline light$MModule$nitni_ccu (self) on <self:MModule> */
526 var79
= self
->attrs
[COLOR_nitc__light__MModule___nitni_ccu
].val
; /* _nitni_ccu on <self:MModule> */
532 if(catchStack
.cursor
>= 0){
533 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
535 PRINT_ERROR("Runtime error: %s", "Receiver is null");
536 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light
, 47);
539 { /* Inline c_tools$CCompilationUnit$header_c_types (var77) on <var77:nullable CCompilationUnit> */
540 if (unlikely(var77
== NULL
)) {
541 if(catchStack
.cursor
>= 0){
542 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
544 PRINT_ERROR("Runtime error: %s", "Receiver is null");
545 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__c_tools
, 31);
548 var82
= var77
->attrs
[COLOR_nitc__c_tools__CCompilationUnit___header_c_types
].val
; /* _header_c_types on <var77:nullable CCompilationUnit> */
549 if (unlikely(var82
== NULL
)) {
550 if(catchStack
.cursor
>= 0){
551 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
553 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header_c_types");
554 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__c_tools
, 31);
561 if (likely(varonce83
!=NULL
)) {
564 var85
= "extern void nitni_global_ref_incr(void*);\nextern void nitni_global_ref_decr(void*);\n";
565 var87
= (val
*)(84l<<2|1);
566 var88
= (val
*)(84l<<2|1);
567 var89
= (val
*)((long)(0)<<2|3);
568 var90
= (val
*)((long)(0)<<2|3);
569 var86
= core__flat___CString___to_s_unsafe(var85
, var87
, var88
, var89
, var90
);
574 template___template__Template___add(var80
, var84
); /* Direct call template$Template$add on <var80:Template>*/
577 { /* Inline light_c$MModule$cflags (self) on <self:MModule> */
578 var93
= self
->attrs
[COLOR_nitc__light_c__MModule___cflags
].val
; /* _cflags on <self:MModule> */
579 if (unlikely(var93
== NULL
)) {
580 if(catchStack
.cursor
>= 0){
581 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
583 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _cflags");
584 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light_c
, 77);
591 if (likely(varonce94
!=NULL
)) {
595 var98
= (val
*)(0l<<2|1);
596 var99
= (val
*)(0l<<2|1);
597 var100
= (val
*)((long)(0)<<2|3);
598 var101
= (val
*)((long)(0)<<2|3);
599 var97
= core__flat___CString___to_s_unsafe(var96
, var98
, var99
, var100
, var101
);
604 var102
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var91
, var95
);
606 if (likely(varonce103
!=NULL
)) {
610 var107
= (val
*)(1l<<2|1);
611 var108
= (val
*)(1l<<2|1);
612 var109
= (val
*)((long)(0)<<2|3);
613 var110
= (val
*)((long)(0)<<2|3);
614 var106
= core__flat___CString___to_s_unsafe(var105
, var107
, var108
, var109
, var110
);
619 var111
= core__abstract_text___Collection___join(var102
, var104
, ((val
*)NULL
));
623 { /* Inline light$MModule$nitni_ccu (self) on <self:MModule> */
624 var114
= self
->attrs
[COLOR_nitc__light__MModule___nitni_ccu
].val
; /* _nitni_ccu on <self:MModule> */
626 RET_LABEL113
:(void)0;
630 { /* Inline abstract_compiler$AbstractCompilerVisitor$compiler (var_v) on <var_v:AbstractCompilerVisitor> */
631 var117
= var_v
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
632 if (unlikely(var117
== NULL
)) {
633 if(catchStack
.cursor
>= 0){
634 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
636 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
637 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1214);
641 RET_LABEL116
:(void)0;
645 { /* Inline abstract_compiler$AbstractCompiler$toolchain (var115) on <var115:AbstractCompiler> */
646 var120
= var115
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___toolchain
].val
; /* _toolchain on <var115:AbstractCompiler> */
647 if (unlikely(var120
== NULL
)) {
648 if(catchStack
.cursor
>= 0){
649 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
651 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolchain");
652 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 555);
656 RET_LABEL119
:(void)0;
660 var121
= nitc___nitc__Toolchain___compile_dir(var118
);
662 if (var112
== NULL
) {
663 if(catchStack
.cursor
>= 0){
664 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
666 PRINT_ERROR("Runtime error: %s", "Receiver is null");
667 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light
, 53);
670 nitc__light___CCompilationUnit___write_as_nitni(var112
, self
, var121
); /* Direct call light$CCompilationUnit$write_as_nitni on <var112:nullable CCompilationUnit>*/
673 { /* Inline light$MModule$nitni_ccu (self) on <self:MModule> */
674 var124
= self
->attrs
[COLOR_nitc__light__MModule___nitni_ccu
].val
; /* _nitni_ccu on <self:MModule> */
676 RET_LABEL123
:(void)0;
679 if (var122
== NULL
) {
680 if(catchStack
.cursor
>= 0){
681 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
683 PRINT_ERROR("Runtime error: %s", "Receiver is null");
684 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light
, 55);
687 { /* Inline c_tools$CCompilationUnit$files (var122) on <var122:nullable CCompilationUnit> */
688 if (unlikely(var122
== NULL
)) {
689 if(catchStack
.cursor
>= 0){
690 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
692 PRINT_ERROR("Runtime error: %s", "Receiver is null");
693 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__c_tools
, 47);
696 var127
= var122
->attrs
[COLOR_nitc__c_tools__CCompilationUnit___files
].val
; /* _files on <var122:nullable CCompilationUnit> */
697 if (unlikely(var127
== NULL
)) {
698 if(catchStack
.cursor
>= 0){
699 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
701 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
702 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__c_tools
, 47);
706 RET_LABEL126
:(void)0;
711 var129
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_128
);
716 var131
= ((short int(*)(val
* self
))((((long)var_130
&3)?class_info
[((long)var_130
&3)]:var_130
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_130
); /* is_ok on <var_130:IndexedIterator[String]>*/
723 var133
= ((val
*(*)(val
* self
))((((long)var_130
&3)?class_info
[((long)var_130
&3)]:var_130
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_130
); /* item on <var_130:IndexedIterator[String]>*/
725 var_file134
= var133
;
726 var135
= NEW_nitc__ExternCFile(&type_nitc__ExternCFile
);
728 ((void(*)(val
* self
, val
* p0
))(var135
->class->vft
[COLOR_nitc__c_tools__ExternFile__filename_61d
]))(var135
, var_file134
); /* filename= on <var135:ExternCFile>*/
731 ((void(*)(val
* self
, val
* p0
))(var135
->class->vft
[COLOR_nitc__c_tools__ExternCFile__cflags_61d
]))(var135
, var_cflags
); /* cflags= on <var135:ExternCFile>*/
734 ((void(*)(val
* self
))(var135
->class->vft
[COLOR_core__kernel__Object__init
]))(var135
); /* init on <var135:ExternCFile>*/
738 { /* Inline c_tools$ExternFile$pkgconfigs (var_f) on <var_f:ExternCFile> */
739 var138
= var_f
->attrs
[COLOR_nitc__c_tools__ExternFile___pkgconfigs
].val
; /* _pkgconfigs on <var_f:ExternCFile> */
740 if (unlikely(var138
== NULL
)) {
741 if(catchStack
.cursor
>= 0){
742 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
744 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _pkgconfigs");
745 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__c_tools
, 123);
749 RET_LABEL137
:(void)0;
753 { /* Inline light_c$MModule$pkgconfigs (self) on <self:MModule> */
754 var141
= self
->attrs
[COLOR_nitc__light_c__MModule___pkgconfigs
].val
; /* _pkgconfigs on <self:MModule> */
755 if (unlikely(var141
== NULL
)) {
756 if(catchStack
.cursor
>= 0){
757 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
759 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _pkgconfigs");
760 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light_c
, 83);
764 RET_LABEL140
:(void)0;
768 core___core__Array___core__abstract_collection__SimpleCollection__add_all(var136
, var139
); /* Direct call array$Array$add_all on <var136:Array[String]>*/
771 { /* Inline abstract_compiler$AbstractCompilerVisitor$compiler (var_v) on <var_v:AbstractCompilerVisitor> */
772 var144
= var_v
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
773 if (unlikely(var144
== NULL
)) {
774 if(catchStack
.cursor
>= 0){
775 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
777 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
778 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1214);
782 RET_LABEL143
:(void)0;
786 { /* Inline abstract_compiler$AbstractCompiler$extern_bodies (var142) on <var142:AbstractCompiler> */
787 var147
= var142
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <var142:AbstractCompiler> */
788 if (unlikely(var147
== NULL
)) {
789 if(catchStack
.cursor
>= 0){
790 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
792 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
793 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1075);
797 RET_LABEL146
:(void)0;
801 core___core__Array___core__abstract_collection__SimpleCollection__add(var145
, var_f
); /* Direct call array$Array$add on <var145:Array[ExternFile]>*/
804 ((void(*)(val
* self
))((((long)var_130
&3)?class_info
[((long)var_130
&3)]:var_130
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_130
); /* next on <var_130:IndexedIterator[String]>*/
807 BREAK_label132
: (void)0;
809 ((void(*)(val
* self
))((((long)var_130
&3)?class_info
[((long)var_130
&3)]:var_130
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_130
); /* finish on <var_130:IndexedIterator[String]>*/
812 { /* Inline light$MModule$nitni_ccu= (self,((val*)NULL)) on <self:MModule> */
813 self
->attrs
[COLOR_nitc__light__MModule___nitni_ccu
].val
= ((val
*)NULL
); /* _nitni_ccu on <self:MModule> */
814 RET_LABEL148
:(void)0;
818 { /* Inline light_ffi$MModule$compiled_ffi_methods (self) on <self:MModule> */
819 var151
= self
->attrs
[COLOR_nitc__light_ffi__MModule___compiled_ffi_methods
].val
; /* _compiled_ffi_methods on <self:MModule> */
820 if (unlikely(var151
== NULL
)) {
821 if(catchStack
.cursor
>= 0){
822 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
824 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiled_ffi_methods");
825 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light_ffi
, 66);
829 RET_LABEL150
:(void)0;
833 core___core__HashSet___core__abstract_collection__RemovableCollection__clear(var149
); /* Direct call hash_collection$HashSet$clear on <var149:HashSet[AMethPropdef]>*/
836 { /* Inline light_ffi$MModule$ffi_ccu= (self,((val*)NULL)) on <self:MModule> */
837 self
->attrs
[COLOR_nitc__light_ffi__MModule___ffi_ccu
].val
= ((val
*)NULL
); /* _ffi_ccu on <self:MModule> */
838 RET_LABEL152
:(void)0;
842 { /* Inline light_ffi_base$MModule$ffi_files (self) on <self:MModule> */
843 var155
= self
->attrs
[COLOR_nitc__light_ffi_base__MModule___ffi_files
].val
; /* _ffi_files on <self:MModule> */
844 if (unlikely(var155
== NULL
)) {
845 if(catchStack
.cursor
>= 0){
846 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
848 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ffi_files");
849 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light_ffi_base
, 82);
853 RET_LABEL154
:(void)0;
857 core___core__AbstractArray___core__abstract_collection__RemovableCollection__clear(var153
); /* Direct call array$AbstractArray$clear on <var153:Array[ExternFile]>*/
861 /* method light$MModule$ensure_compile_nitni_base for (self: MModule, AbstractCompilerVisitor) */
862 void nitc__light___MModule___ensure_compile_nitni_base(val
* self
, val
* p0
) {
863 val
* var_v
/* var v: AbstractCompilerVisitor */;
864 val
* var
/* : nullable CCompilationUnit */;
865 val
* var2
/* : nullable CCompilationUnit */;
866 short int var3
/* : Bool */;
867 short int var4
/* : Bool */;
868 val
* var_other
/* var other: nullable Object */;
869 short int var6
/* : Bool */;
870 short int var7
/* : Bool */;
871 val
* var8
/* : CCompilationUnit */;
874 { /* Inline light$MModule$nitni_ccu (self) on <self:MModule> */
875 var2
= self
->attrs
[COLOR_nitc__light__MModule___nitni_ccu
].val
; /* _nitni_ccu on <self:MModule> */
881 var3
= 0; /* is null */
883 var3
= 1; /* arg is null and recv is not */
886 { /* Inline kernel$Object$!= (var,((val*)NULL)) on <var:nullable CCompilationUnit> */
887 var_other
= ((val
*)NULL
);
889 var6
= ((short int(*)(val
* self
, val
* p0
))(var
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var
, var_other
); /* == on <var:nullable CCompilationUnit(CCompilationUnit)>*/
902 var8
= NEW_nitc__CCompilationUnit(&type_nitc__CCompilationUnit
);
904 { /* Inline kernel$Object$init (var8) on <var8:CCompilationUnit> */
909 { /* Inline light$MModule$nitni_ccu= (self,var8) on <self:MModule> */
910 self
->attrs
[COLOR_nitc__light__MModule___nitni_ccu
].val
= var8
; /* _nitni_ccu on <self:MModule> */
916 /* method light$MModule$collect_linker_libs for (self: MModule): nullable Array[String] */
917 val
* nitc__light___MModule___collect_linker_libs(val
* self
) {
918 val
* var
/* : nullable Array[String] */;
919 val
* var1
/* : MultiHashMap[String, String] */;
920 val
* var3
/* : MultiHashMap[String, String] */;
921 val
* var4
/* : RemovableCollection[nullable Object] */;
923 val
* var5
/* : String */;
924 char* var6
/* : CString */;
925 val
* var7
/* : String */;
926 val
* var8
/* : nullable Int */;
927 val
* var9
/* : nullable Int */;
928 val
* var10
/* : nullable Bool */;
929 val
* var11
/* : nullable Bool */;
930 short int var12
/* : Bool */;
931 short int var13
/* : Bool */;
932 val
* var14
/* : MultiHashMap[String, String] */;
933 val
* var16
/* : MultiHashMap[String, String] */;
934 static val
* varonce17
;
935 val
* var18
/* : String */;
936 char* var19
/* : CString */;
937 val
* var20
/* : String */;
938 val
* var21
/* : nullable Int */;
939 val
* var22
/* : nullable Int */;
940 val
* var23
/* : nullable Bool */;
941 val
* var24
/* : nullable Bool */;
942 val
* var25
/* : nullable Object */;
944 { /* Inline light_c$MModule$ldflags (self) on <self:MModule> */
945 var3
= self
->attrs
[COLOR_nitc__light_c__MModule___ldflags
].val
; /* _ldflags on <self:MModule> */
946 if (unlikely(var3
== NULL
)) {
947 if(catchStack
.cursor
>= 0){
948 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
950 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ldflags");
951 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light_c
, 80);
959 var4
= core___core__HashMap___core__abstract_collection__MapRead__keys(var1
);
961 if (likely(varonce
!=NULL
)) {
965 var8
= (val
*)(0l<<2|1);
966 var9
= (val
*)(0l<<2|1);
967 var10
= (val
*)((long)(0)<<2|3);
968 var11
= (val
*)((long)(0)<<2|3);
969 var7
= core__flat___CString___to_s_unsafe(var6
, var8
, var9
, var10
, var11
);
974 var12
= ((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])>*/
983 { /* Inline light_c$MModule$ldflags (self) on <self:MModule> */
984 var16
= self
->attrs
[COLOR_nitc__light_c__MModule___ldflags
].val
; /* _ldflags on <self:MModule> */
985 if (unlikely(var16
== NULL
)) {
986 if(catchStack
.cursor
>= 0){
987 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
989 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ldflags");
990 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light_c
, 80);
997 if (likely(varonce17
!=NULL
)) {
1001 var21
= (val
*)(0l<<2|1);
1002 var22
= (val
*)(0l<<2|1);
1003 var23
= (val
*)((long)(0)<<2|3);
1004 var24
= (val
*)((long)(0)<<2|3);
1005 var20
= core__flat___CString___to_s_unsafe(var19
, var21
, var22
, var23
, var24
);
1010 var25
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var14
, var18
);
1017 /* method light$AMethPropdef$compile_ffi_support_to_c for (self: AMethPropdef, AbstractCompilerVisitor) */
1018 void nitc__light___AMethPropdef___compile_ffi_support_to_c(val
* self
, val
* p0
) {
1019 val
* var_v
/* var v: AbstractCompilerVisitor */;
1020 val
* var
/* : nullable MPropDef */;
1021 val
* var2
/* : nullable MPropDef */;
1022 val
* var3
/* : MClassDef */;
1023 val
* var5
/* : MClassDef */;
1024 val
* var6
/* : MModule */;
1025 val
* var8
/* : MModule */;
1026 val
* var_mmodule
/* var mmodule: MModule */;
1027 val
* var9
/* : AbstractCompiler */;
1028 val
* var11
/* : AbstractCompiler */;
1029 val
* var12
/* : ModelBuilder */;
1030 val
* var14
/* : ModelBuilder */;
1031 val
* var15
/* : nullable AModule */;
1032 val
* var_amodule
/* var amodule: nullable AModule */;
1033 val
* var16
/* : nullable MPropDef */;
1034 val
* var18
/* : nullable MPropDef */;
1035 val
* var19
/* : MClassDef */;
1036 val
* var21
/* : MClassDef */;
1037 val
* var22
/* : MClassType */;
1038 val
* var24
/* : MClassType */;
1039 val
* var_mclass_type
/* var mclass_type: MClassType */;
1040 val
* var25
/* : nullable MPropDef */;
1041 val
* var27
/* : nullable MPropDef */;
1042 val
* var28
/* : MProperty */;
1043 val
* var30
/* : MProperty */;
1044 static val
* varonce
;
1045 val
* var31
/* : String */;
1046 char* var32
/* : CString */;
1047 val
* var33
/* : String */;
1048 val
* var34
/* : nullable Int */;
1049 val
* var35
/* : nullable Int */;
1050 val
* var36
/* : nullable Bool */;
1051 val
* var37
/* : nullable Bool */;
1052 val
* var38
/* : Sys */;
1053 val
* var39
/* : SignatureLength */;
1054 val
* var40
/* : Sys */;
1055 val
* var41
/* : CallContext */;
1056 val
* var42
/* : String */;
1057 val
* var_csignature
/* var csignature: String */;
1058 val
* var44
/* : NativeArray[String] */;
1059 static val
* varonce43
;
1060 static val
* varonce45
;
1061 val
* var46
/* : String */;
1062 char* var47
/* : CString */;
1063 val
* var48
/* : String */;
1064 val
* var49
/* : nullable Int */;
1065 val
* var50
/* : nullable Int */;
1066 val
* var51
/* : nullable Bool */;
1067 val
* var52
/* : nullable Bool */;
1068 val
* var53
/* : String */;
1071 { /* Inline modelize_property$APropdef$mpropdef (self) on <self:AMethPropdef> */
1072 var2
= self
->attrs
[COLOR_nitc__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
1078 if(catchStack
.cursor
>= 0){
1079 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1081 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1082 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light
, 86);
1085 { /* Inline model$MPropDef$mclassdef (var) on <var:nullable MPropDef(nullable MMethodDef)> */
1086 if (unlikely(var
== NULL
)) {
1087 if(catchStack
.cursor
>= 0){
1088 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1090 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1091 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2354);
1094 var5
= var
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var:nullable MPropDef(nullable MMethodDef)> */
1095 if (unlikely(var5
== NULL
)) {
1096 if(catchStack
.cursor
>= 0){
1097 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1099 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
1100 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2354);
1108 { /* Inline model$MClassDef$mmodule (var3) on <var3:MClassDef> */
1109 var8
= var3
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <var3:MClassDef> */
1110 if (unlikely(var8
== NULL
)) {
1111 if(catchStack
.cursor
>= 0){
1112 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1114 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
1115 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 588);
1124 { /* Inline abstract_compiler$AbstractCompilerVisitor$compiler (var_v) on <var_v:AbstractCompilerVisitor> */
1125 var11
= var_v
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
1126 if (unlikely(var11
== NULL
)) {
1127 if(catchStack
.cursor
>= 0){
1128 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1130 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1131 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1214);
1135 RET_LABEL10
:(void)0;
1139 { /* Inline abstract_compiler$AbstractCompiler$modelbuilder (var9) on <var9:AbstractCompiler> */
1140 var14
= var9
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var9:AbstractCompiler> */
1141 if (unlikely(var14
== NULL
)) {
1142 if(catchStack
.cursor
>= 0){
1143 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1145 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
1146 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 552);
1150 RET_LABEL13
:(void)0;
1154 var15
= nitc__loader___ModelBuilder___mmodule2node(var12
, var_mmodule
);
1156 var_amodule
= var15
;
1158 { /* Inline modelize_property$APropdef$mpropdef (self) on <self:AMethPropdef> */
1159 var18
= self
->attrs
[COLOR_nitc__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
1161 RET_LABEL17
:(void)0;
1164 if (var16
== NULL
) {
1165 if(catchStack
.cursor
>= 0){
1166 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1168 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1169 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light
, 88);
1172 { /* Inline model$MPropDef$mclassdef (var16) on <var16:nullable MPropDef(nullable MMethodDef)> */
1173 if (unlikely(var16
== NULL
)) {
1174 if(catchStack
.cursor
>= 0){
1175 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1177 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1178 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2354);
1181 var21
= var16
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var16:nullable MPropDef(nullable MMethodDef)> */
1182 if (unlikely(var21
== NULL
)) {
1183 if(catchStack
.cursor
>= 0){
1184 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1186 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
1187 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2354);
1191 RET_LABEL20
:(void)0;
1195 { /* Inline model$MClassDef$bound_mtype (var19) on <var19:MClassDef> */
1196 var24
= var19
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var19:MClassDef> */
1197 if (unlikely(var24
== NULL
)) {
1198 if(catchStack
.cursor
>= 0){
1199 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1201 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
1202 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 594);
1206 RET_LABEL23
:(void)0;
1209 var_mclass_type
= var22
;
1211 { /* Inline modelize_property$APropdef$mpropdef (self) on <self:AMethPropdef> */
1212 var27
= self
->attrs
[COLOR_nitc__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
1214 RET_LABEL26
:(void)0;
1217 if (var25
== NULL
) {
1218 if(catchStack
.cursor
>= 0){
1219 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1221 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1222 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light
, 91);
1225 { /* Inline model$MPropDef$mproperty (var25) on <var25:nullable MPropDef(nullable MMethodDef)> */
1226 if (unlikely(var25
== NULL
)) {
1227 if(catchStack
.cursor
>= 0){
1228 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1230 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1231 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2357);
1234 var30
= var25
->attrs
[COLOR_nitc__model__MPropDef___mproperty
].val
; /* _mproperty on <var25:nullable MPropDef(nullable MMethodDef)> */
1235 if (unlikely(var30
== NULL
)) {
1236 if(catchStack
.cursor
>= 0){
1237 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1239 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1240 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2357);
1244 RET_LABEL29
:(void)0;
1247 if (likely(varonce
!=NULL
)) {
1251 var34
= (val
*)(7l<<2|1);
1252 var35
= (val
*)(7l<<2|1);
1253 var36
= (val
*)((long)(0)<<2|3);
1254 var37
= (val
*)((long)(0)<<2|3);
1255 var33
= core__flat___CString___to_s_unsafe(var32
, var34
, var35
, var36
, var37
);
1261 var39
= nitc__nitni_utilities___core__Sys___long_signature(var38
);
1265 var41
= nitc__nitni_utilities___core__Sys___internal_call_context(var40
);
1268 var42
= nitc__nitni_utilities___MMethod___build_csignature(var28
, var_mclass_type
, var_mmodule
, var31
, var39
, var41
);
1270 var_csignature
= var42
;
1271 if (unlikely(varonce43
==NULL
)) {
1272 var44
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
1273 if (likely(varonce45
!=NULL
)) {
1277 var49
= (val
*)(1l<<2|1);
1278 var50
= (val
*)(1l<<2|1);
1279 var51
= (val
*)((long)(0)<<2|3);
1280 var52
= (val
*)((long)(0)<<2|3);
1281 var48
= core__flat___CString___to_s_unsafe(var47
, var49
, var50
, var51
, var52
);
1285 ((struct instance_core__NativeArray
*)var44
)->values
[1]=var46
;
1290 ((struct instance_core__NativeArray
*)var44
)->values
[0]=var_csignature
;
1292 var53
= ((val
*(*)(val
* self
))(var44
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var44
); /* native_to_s on <var44:NativeArray[String]>*/
1296 nitc___nitc__AbstractCompilerVisitor___declare_once(var_v
, var53
); /* Direct call abstract_compiler$AbstractCompilerVisitor$declare_once on <var_v:AbstractCompilerVisitor>*/
1298 if (var_amodule
== NULL
) {
1299 if(catchStack
.cursor
>= 0){
1300 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1302 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1303 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light
, 95);
1306 nitc__light_ffi___AModule___ensure_compile_ffi_wrapper(var_amodule
); /* Direct call light_ffi$AModule$ensure_compile_ffi_wrapper on <var_amodule:nullable AModule>*/
1309 nitc__light_ffi___AMethPropdef___compile_ffi_method(self
, var_mmodule
); /* Direct call light_ffi$AMethPropdef$compile_ffi_method on <self:AMethPropdef>*/
1312 nitc__light___MModule___ensure_compile_nitni_base(var_mmodule
, var_v
); /* Direct call light$MModule$ensure_compile_nitni_base on <var_mmodule:MModule>*/
1316 /* method light$AMethPropdef$compile_externmeth_to_c for (self: AMethPropdef, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]): Bool */
1317 short int nitc__light___AMethPropdef___compile_externmeth_to_c(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1318 short int var
/* : Bool */;
1319 val
* var_v
/* var v: AbstractCompilerVisitor */;
1320 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
1321 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
1322 val
* var1
/* : nullable AExternCodeBlock */;
1323 val
* var3
/* : nullable AExternCodeBlock */;
1324 short int var4
/* : Bool */;
1325 short int var5
/* : Bool */;
1326 val
* var_other
/* var other: nullable Object */;
1327 short int var7
/* : Bool */;
1328 short int var9
/* : Bool */;
1329 short int var10
/* : Bool */;
1330 short int var11
/* : Bool */;
1331 short int var12
/* : Bool */;
1332 val
* var13
/* : MClassDef */;
1333 val
* var15
/* : MClassDef */;
1334 val
* var16
/* : MModule */;
1335 val
* var18
/* : MModule */;
1336 val
* var_mmodule
/* var mmodule: MModule */;
1337 val
* var20
/* : MClassDef */;
1338 val
* var22
/* : MClassDef */;
1339 val
* var23
/* : MClassType */;
1340 val
* var25
/* : MClassType */;
1341 val
* var_mclass_type
/* var mclass_type: MClassType */;
1342 val
* var26
/* : MProperty */;
1343 val
* var28
/* : MProperty */;
1344 val
* var29
/* : MClassDef */;
1345 val
* var31
/* : MClassDef */;
1346 val
* var32
/* : MClassType */;
1347 val
* var34
/* : MClassType */;
1348 static val
* varonce
;
1349 val
* var35
/* : String */;
1350 char* var36
/* : CString */;
1351 val
* var37
/* : String */;
1352 val
* var38
/* : nullable Int */;
1353 val
* var39
/* : nullable Int */;
1354 val
* var40
/* : nullable Bool */;
1355 val
* var41
/* : nullable Bool */;
1356 val
* var42
/* : Sys */;
1357 val
* var43
/* : SignatureLength */;
1358 val
* var44
/* : String */;
1359 val
* var_externname
/* var externname: String */;
1360 val
* var_recv_var
/* var recv_var: nullable RuntimeVariable */;
1361 val
* var45
/* : nullable MSignature */;
1362 val
* var47
/* : nullable MSignature */;
1363 val
* var48
/* : nullable MType */;
1364 val
* var50
/* : nullable MType */;
1365 val
* var_return_mtype
/* var return_mtype: nullable MType */;
1366 short int var51
/* : Bool */;
1367 short int var52
/* : Bool */;
1368 val
* var_other54
/* var other: nullable Object */;
1369 short int var55
/* : Bool */;
1370 short int var56
/* : Bool */;
1371 val
* var57
/* : MType */;
1372 val
* var58
/* : RuntimeVariable */;
1373 val
* var59
/* : Array[String] */;
1374 val
* var_arguments_for_c
/* var arguments_for_c: Array[String] */;
1375 long var_a
/* var a: Int */;
1376 long var60
/* : Int */;
1377 long var62
/* : Int */;
1378 long var_
/* var : Int */;
1379 short int var63
/* : Bool */;
1380 short int var65
/* : Bool */;
1383 const char* var_class_name
;
1384 short int var66
/* : Bool */;
1385 val
* var67
/* : nullable Object */;
1386 val
* var_arg
/* var arg: RuntimeVariable */;
1387 short int var68
/* : Bool */;
1388 short int var70
/* : Bool */;
1389 val
* var71
/* : MClassDef */;
1390 val
* var73
/* : MClassDef */;
1391 val
* var74
/* : MClass */;
1392 val
* var76
/* : MClass */;
1393 val
* var77
/* : MClassType */;
1394 val
* var79
/* : MClassType */;
1395 val
* var_param_mtype
/* var param_mtype: MType */;
1396 val
* var80
/* : nullable MSignature */;
1397 val
* var82
/* : nullable MSignature */;
1398 val
* var83
/* : Array[MParameter] */;
1399 val
* var85
/* : Array[MParameter] */;
1400 long var86
/* : Int */;
1401 short int var88
/* : Bool */;
1404 const char* var_class_name91
;
1405 long var92
/* : Int */;
1406 val
* var93
/* : nullable Object */;
1407 val
* var94
/* : MType */;
1408 val
* var96
/* : MType */;
1409 val
* var97
/* : MType */;
1410 short int var98
/* : Bool */;
1411 val
* var99
/* : String */;
1412 val
* var101
/* : String */;
1413 val
* var103
/* : NativeArray[String] */;
1414 static val
* varonce102
;
1415 static val
* varonce104
;
1416 val
* var105
/* : String */;
1417 char* var106
/* : CString */;
1418 val
* var107
/* : String */;
1419 val
* var108
/* : nullable Int */;
1420 val
* var109
/* : nullable Int */;
1421 val
* var110
/* : nullable Bool */;
1422 val
* var111
/* : nullable Bool */;
1423 static val
* varonce112
;
1424 val
* var113
/* : String */;
1425 char* var114
/* : CString */;
1426 val
* var115
/* : String */;
1427 val
* var116
/* : nullable Int */;
1428 val
* var117
/* : nullable Int */;
1429 val
* var118
/* : nullable Bool */;
1430 val
* var119
/* : nullable Bool */;
1431 val
* var120
/* : String */;
1432 val
* var121
/* : String */;
1433 val
* var123
/* : NativeArray[String] */;
1434 static val
* varonce122
;
1435 static val
* varonce124
;
1436 val
* var125
/* : String */;
1437 char* var126
/* : CString */;
1438 val
* var127
/* : String */;
1439 val
* var128
/* : nullable Int */;
1440 val
* var129
/* : nullable Int */;
1441 val
* var130
/* : nullable Bool */;
1442 val
* var131
/* : nullable Bool */;
1443 static val
* varonce132
;
1444 val
* var133
/* : String */;
1445 char* var134
/* : CString */;
1446 val
* var135
/* : String */;
1447 val
* var136
/* : nullable Int */;
1448 val
* var137
/* : nullable Int */;
1449 val
* var138
/* : nullable Bool */;
1450 val
* var139
/* : nullable Bool */;
1451 val
* var140
/* : String */;
1452 val
* var141
/* : String */;
1453 val
* var143
/* : NativeArray[String] */;
1454 static val
* varonce142
;
1455 static val
* varonce144
;
1456 val
* var145
/* : String */;
1457 char* var146
/* : CString */;
1458 val
* var147
/* : String */;
1459 val
* var148
/* : nullable Int */;
1460 val
* var149
/* : nullable Int */;
1461 val
* var150
/* : nullable Bool */;
1462 val
* var151
/* : nullable Bool */;
1463 static val
* varonce152
;
1464 val
* var153
/* : String */;
1465 char* var154
/* : CString */;
1466 val
* var155
/* : String */;
1467 val
* var156
/* : nullable Int */;
1468 val
* var157
/* : nullable Int */;
1469 val
* var158
/* : nullable Bool */;
1470 val
* var159
/* : nullable Bool */;
1471 static val
* varonce160
;
1472 val
* var161
/* : String */;
1473 char* var162
/* : CString */;
1474 val
* var163
/* : String */;
1475 val
* var164
/* : nullable Int */;
1476 val
* var165
/* : nullable Int */;
1477 val
* var166
/* : nullable Bool */;
1478 val
* var167
/* : nullable Bool */;
1479 val
* var168
/* : String */;
1480 val
* var169
/* : String */;
1481 val
* var171
/* : String */;
1482 val
* var172
/* : String */;
1483 val
* var174
/* : NativeArray[String] */;
1484 static val
* varonce173
;
1485 static val
* varonce175
;
1486 val
* var176
/* : String */;
1487 char* var177
/* : CString */;
1488 val
* var178
/* : String */;
1489 val
* var179
/* : nullable Int */;
1490 val
* var180
/* : nullable Int */;
1491 val
* var181
/* : nullable Bool */;
1492 val
* var182
/* : nullable Bool */;
1493 val
* var183
/* : String */;
1494 val
* var184
/* : String */;
1495 long var185
/* : Int */;
1496 short int var186
/* : Bool */;
1497 short int var187
/* : Bool */;
1498 short int var189
/* : Bool */;
1499 short int var191
/* : Bool */;
1500 val
* var193
/* : NativeArray[String] */;
1501 static val
* varonce192
;
1502 static val
* varonce194
;
1503 val
* var195
/* : String */;
1504 char* var196
/* : CString */;
1505 val
* var197
/* : String */;
1506 val
* var198
/* : nullable Int */;
1507 val
* var199
/* : nullable Int */;
1508 val
* var200
/* : nullable Bool */;
1509 val
* var201
/* : nullable Bool */;
1510 static val
* varonce202
;
1511 val
* var203
/* : String */;
1512 char* var204
/* : CString */;
1513 val
* var205
/* : String */;
1514 val
* var206
/* : nullable Int */;
1515 val
* var207
/* : nullable Int */;
1516 val
* var208
/* : nullable Bool */;
1517 val
* var209
/* : nullable Bool */;
1518 static val
* varonce210
;
1519 val
* var211
/* : String */;
1520 char* var212
/* : CString */;
1521 val
* var213
/* : String */;
1522 val
* var214
/* : nullable Int */;
1523 val
* var215
/* : nullable Int */;
1524 val
* var216
/* : nullable Bool */;
1525 val
* var217
/* : nullable Bool */;
1526 val
* var218
/* : String */;
1527 val
* var219
/* : String */;
1528 short int var220
/* : Bool */;
1529 short int var221
/* : Bool */;
1530 short int var223
/* : Bool */;
1531 short int var224
/* : Bool */;
1532 short int var225
/* : Bool */;
1533 val
* var227
/* : NativeArray[String] */;
1534 static val
* varonce226
;
1535 static val
* varonce228
;
1536 val
* var229
/* : String */;
1537 char* var230
/* : CString */;
1538 val
* var231
/* : String */;
1539 val
* var232
/* : nullable Int */;
1540 val
* var233
/* : nullable Int */;
1541 val
* var234
/* : nullable Bool */;
1542 val
* var235
/* : nullable Bool */;
1543 static val
* varonce236
;
1544 val
* var237
/* : String */;
1545 char* var238
/* : CString */;
1546 val
* var239
/* : String */;
1547 val
* var240
/* : nullable Int */;
1548 val
* var241
/* : nullable Int */;
1549 val
* var242
/* : nullable Bool */;
1550 val
* var243
/* : nullable Bool */;
1551 static val
* varonce244
;
1552 val
* var245
/* : String */;
1553 char* var246
/* : CString */;
1554 val
* var247
/* : String */;
1555 val
* var248
/* : nullable Int */;
1556 val
* var249
/* : nullable Int */;
1557 val
* var250
/* : nullable Bool */;
1558 val
* var251
/* : nullable Bool */;
1559 val
* var252
/* : String */;
1560 static val
* varonce253
;
1561 val
* var254
/* : String */;
1562 char* var255
/* : CString */;
1563 val
* var256
/* : String */;
1564 val
* var257
/* : nullable Int */;
1565 val
* var258
/* : nullable Int */;
1566 val
* var259
/* : nullable Bool */;
1567 val
* var260
/* : nullable Bool */;
1568 val
* var261
/* : String */;
1569 val
* var262
/* : String */;
1570 static val
* varonce263
;
1571 val
* var264
/* : String */;
1572 char* var265
/* : CString */;
1573 val
* var266
/* : String */;
1574 val
* var267
/* : nullable Int */;
1575 val
* var268
/* : nullable Int */;
1576 val
* var269
/* : nullable Bool */;
1577 val
* var270
/* : nullable Bool */;
1578 val
* var272
/* : NativeArray[String] */;
1579 static val
* varonce271
;
1580 static val
* varonce273
;
1581 val
* var274
/* : String */;
1582 char* var275
/* : CString */;
1583 val
* var276
/* : String */;
1584 val
* var277
/* : nullable Int */;
1585 val
* var278
/* : nullable Int */;
1586 val
* var279
/* : nullable Bool */;
1587 val
* var280
/* : nullable Bool */;
1588 static val
* varonce281
;
1589 val
* var282
/* : String */;
1590 char* var283
/* : CString */;
1591 val
* var284
/* : String */;
1592 val
* var285
/* : nullable Int */;
1593 val
* var286
/* : nullable Int */;
1594 val
* var287
/* : nullable Bool */;
1595 val
* var288
/* : nullable Bool */;
1596 static val
* varonce289
;
1597 val
* var290
/* : String */;
1598 char* var291
/* : CString */;
1599 val
* var292
/* : String */;
1600 val
* var293
/* : nullable Int */;
1601 val
* var294
/* : nullable Int */;
1602 val
* var295
/* : nullable Bool */;
1603 val
* var296
/* : nullable Bool */;
1604 static val
* varonce297
;
1605 val
* var298
/* : String */;
1606 char* var299
/* : CString */;
1607 val
* var300
/* : String */;
1608 val
* var301
/* : nullable Int */;
1609 val
* var302
/* : nullable Int */;
1610 val
* var303
/* : nullable Bool */;
1611 val
* var304
/* : nullable Bool */;
1612 val
* var305
/* : String */;
1613 val
* var306
/* : String */;
1614 val
* var308
/* : NativeArray[String] */;
1615 static val
* varonce307
;
1616 static val
* varonce309
;
1617 val
* var310
/* : String */;
1618 char* var311
/* : CString */;
1619 val
* var312
/* : String */;
1620 val
* var313
/* : nullable Int */;
1621 val
* var314
/* : nullable Int */;
1622 val
* var315
/* : nullable Bool */;
1623 val
* var316
/* : nullable Bool */;
1624 val
* var317
/* : String */;
1625 val
* var318
/* : String */;
1626 val
* var319
/* : RuntimeVariable */;
1631 { /* Inline parser_nodes$AMethPropdef$n_extern_code_block (self) on <self:AMethPropdef> */
1632 var3
= self
->attrs
[COLOR_nitc__parser_nodes__AMethPropdef___n_extern_code_block
].val
; /* _n_extern_code_block on <self:AMethPropdef> */
1638 var4
= 1; /* is null */
1640 var4
= 0; /* arg is null but recv is not */
1643 { /* Inline kernel$Object$== (var1,((val*)NULL)) on <var1:nullable AExternCodeBlock> */
1644 var_other
= ((val
*)NULL
);
1646 { /* Inline kernel$Object$is_same_instance (var1,var_other) on <var1:nullable AExternCodeBlock(AExternCodeBlock)> */
1647 var9
= var1
== var_other
;
1661 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>*/
1668 var11
= nitc__light_only___AMethPropdef___accept_externmeth(self
);
1677 { /* Inline model$MPropDef$mclassdef (var_mpropdef) on <var_mpropdef:MMethodDef> */
1678 var15
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MMethodDef> */
1679 if (unlikely(var15
== NULL
)) {
1680 if(catchStack
.cursor
>= 0){
1681 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1683 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
1684 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2354);
1688 RET_LABEL14
:(void)0;
1692 { /* Inline model$MClassDef$mmodule (var13) on <var13:MClassDef> */
1693 var18
= var13
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <var13:MClassDef> */
1694 if (unlikely(var18
== NULL
)) {
1695 if(catchStack
.cursor
>= 0){
1696 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1698 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
1699 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 588);
1703 RET_LABEL17
:(void)0;
1706 var_mmodule
= var16
;
1708 { /* Inline light_ffi$MModule$uses_ffi= (var_mmodule,1) on <var_mmodule:MModule> */
1709 var_mmodule
->attrs
[COLOR_nitc__light_ffi__MModule___uses_ffi
].s
= 1; /* _uses_ffi on <var_mmodule:MModule> */
1710 RET_LABEL19
:(void)0;
1714 { /* Inline model$MPropDef$mclassdef (var_mpropdef) on <var_mpropdef:MMethodDef> */
1715 var22
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MMethodDef> */
1716 if (unlikely(var22
== NULL
)) {
1717 if(catchStack
.cursor
>= 0){
1718 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1720 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
1721 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2354);
1725 RET_LABEL21
:(void)0;
1729 { /* Inline model$MClassDef$bound_mtype (var20) on <var20:MClassDef> */
1730 var25
= var20
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var20:MClassDef> */
1731 if (unlikely(var25
== NULL
)) {
1732 if(catchStack
.cursor
>= 0){
1733 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1735 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
1736 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 594);
1740 RET_LABEL24
:(void)0;
1743 var_mclass_type
= var23
;
1745 { /* Inline model$MPropDef$mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
1746 var28
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MMethodDef> */
1747 if (unlikely(var28
== NULL
)) {
1748 if(catchStack
.cursor
>= 0){
1749 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1751 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1752 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2357);
1756 RET_LABEL27
:(void)0;
1760 { /* Inline model$MPropDef$mclassdef (var_mpropdef) on <var_mpropdef:MMethodDef> */
1761 var31
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MMethodDef> */
1762 if (unlikely(var31
== NULL
)) {
1763 if(catchStack
.cursor
>= 0){
1764 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1766 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
1767 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2354);
1771 RET_LABEL30
:(void)0;
1775 { /* Inline model$MClassDef$bound_mtype (var29) on <var29:MClassDef> */
1776 var34
= var29
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var29:MClassDef> */
1777 if (unlikely(var34
== NULL
)) {
1778 if(catchStack
.cursor
>= 0){
1779 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1781 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
1782 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 594);
1786 RET_LABEL33
:(void)0;
1789 if (likely(varonce
!=NULL
)) {
1793 var38
= (val
*)(7l<<2|1);
1794 var39
= (val
*)(7l<<2|1);
1795 var40
= (val
*)((long)(0)<<2|3);
1796 var41
= (val
*)((long)(0)<<2|3);
1797 var37
= core__flat___CString___to_s_unsafe(var36
, var38
, var39
, var40
, var41
);
1803 var43
= nitc__nitni_utilities___core__Sys___long_signature(var42
);
1806 var44
= nitc__nitni_utilities___MMethod___build_cname(var26
, var32
, var_mmodule
, var35
, var43
);
1808 var_externname
= var44
;
1809 var_recv_var
= ((val
*)NULL
);
1811 { /* Inline model$MMethodDef$msignature (var_mpropdef) on <var_mpropdef:MMethodDef> */
1812 var47
= var_mpropdef
->attrs
[COLOR_nitc__model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:MMethodDef> */
1814 RET_LABEL46
:(void)0;
1817 if (var45
== NULL
) {
1818 if(catchStack
.cursor
>= 0){
1819 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1821 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1822 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light
, 122);
1825 { /* Inline model$MSignature$return_mtype (var45) on <var45:nullable MSignature> */
1826 if (unlikely(var45
== NULL
)) {
1827 if(catchStack
.cursor
>= 0){
1828 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1830 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1831 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1891);
1834 var50
= var45
->attrs
[COLOR_nitc__model__MSignature___return_mtype
].val
; /* _return_mtype on <var45:nullable MSignature> */
1836 RET_LABEL49
:(void)0;
1839 var_return_mtype
= var48
;
1840 if (var_return_mtype
== NULL
) {
1841 var51
= 0; /* is null */
1843 var51
= 1; /* arg is null and recv is not */
1846 { /* Inline kernel$Object$!= (var_return_mtype,((val*)NULL)) on <var_return_mtype:nullable MType> */
1847 var_other54
= ((val
*)NULL
);
1849 var55
= ((short int(*)(val
* self
, val
* p0
))(var_return_mtype
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_return_mtype
, var_other54
); /* == on <var_return_mtype:nullable MType(MType)>*/
1854 RET_LABEL53
:(void)0;
1860 var57
= ((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)>*/
1862 var_return_mtype
= var57
;
1864 var58
= nitc___nitc__AbstractCompilerVisitor___new_var(var_v
, var_return_mtype
);
1866 var_recv_var
= var58
;
1870 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>*/
1873 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>*/
1875 var59
= NEW_core__Array(&type_core__Array__core__String
);
1877 core___core__Array___core__kernel__Object__init(var59
); /* Direct call array$Array$init on <var59:Array[String]>*/
1879 var_arguments_for_c
= var59
;
1882 { /* Inline array$AbstractArrayRead$length (var_arguments) on <var_arguments:Array[RuntimeVariable]> */
1883 var62
= var_arguments
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_arguments:Array[RuntimeVariable]> */
1885 RET_LABEL61
:(void)0;
1891 { /* Inline kernel$Int$< (var_a,var_) on <var_a:Int> */
1892 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
1893 /* <var_:Int> isa OTHER */
1894 var65
= 1; /* easy <var_:Int> isa OTHER*/
1895 if (unlikely(!var65
)) {
1896 var_class_name
= type_core__Int
.name
;
1897 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1898 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 725);
1901 var66
= var_a
< var_
;
1904 RET_LABEL64
:(void)0;
1912 var67
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_arguments
, var_a
);
1916 { /* Inline kernel$Int$== (var_a,0l) on <var_a:Int> */
1917 var70
= var_a
== 0l;
1920 RET_LABEL69
:(void)0;
1925 { /* Inline model$MPropDef$mclassdef (var_mpropdef) on <var_mpropdef:MMethodDef> */
1926 var73
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MMethodDef> */
1927 if (unlikely(var73
== NULL
)) {
1928 if(catchStack
.cursor
>= 0){
1929 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1931 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
1932 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2354);
1936 RET_LABEL72
:(void)0;
1940 { /* Inline model$MClassDef$mclass (var71) on <var71:MClassDef> */
1941 var76
= var71
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <var71:MClassDef> */
1942 if (unlikely(var76
== NULL
)) {
1943 if(catchStack
.cursor
>= 0){
1944 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1946 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1947 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 591);
1951 RET_LABEL75
:(void)0;
1955 { /* Inline model$MClass$mclass_type (var74) on <var74:MClass> */
1956 var79
= var74
->attrs
[COLOR_nitc__model__MClass___mclass_type
].val
; /* _mclass_type on <var74:MClass> */
1957 if (unlikely(var79
== NULL
)) {
1958 if(catchStack
.cursor
>= 0){
1959 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1961 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
1962 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 520);
1966 RET_LABEL78
:(void)0;
1969 var_param_mtype
= var77
;
1972 { /* Inline model$MMethodDef$msignature (var_mpropdef) on <var_mpropdef:MMethodDef> */
1973 var82
= var_mpropdef
->attrs
[COLOR_nitc__model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:MMethodDef> */
1975 RET_LABEL81
:(void)0;
1978 if (var80
== NULL
) {
1979 if(catchStack
.cursor
>= 0){
1980 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1982 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1983 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light
, 137);
1986 { /* Inline model$MSignature$mparameters (var80) on <var80:nullable MSignature> */
1987 if (unlikely(var80
== NULL
)) {
1988 if(catchStack
.cursor
>= 0){
1989 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1991 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1992 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1879);
1995 var85
= var80
->attrs
[COLOR_nitc__model__MSignature___mparameters
].val
; /* _mparameters on <var80:nullable MSignature> */
1996 if (unlikely(var85
== NULL
)) {
1997 if(catchStack
.cursor
>= 0){
1998 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2000 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
2001 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1879);
2005 RET_LABEL84
:(void)0;
2009 { /* Inline kernel$Int$- (var_a,1l) on <var_a:Int> */
2010 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2011 /* <1l:Int> isa OTHER */
2012 var88
= 1; /* easy <1l:Int> isa OTHER*/
2013 if (unlikely(!var88
)) {
2014 var_class_name91
= type_core__Int
.name
;
2015 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name91
);
2016 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
2022 RET_LABEL87
:(void)0;
2026 var93
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var83
, var86
);
2029 { /* Inline model$MParameter$mtype (var93) on <var93:nullable Object(MParameter)> */
2030 var96
= var93
->attrs
[COLOR_nitc__model__MParameter___mtype
].val
; /* _mtype on <var93:nullable Object(MParameter)> */
2031 if (unlikely(var96
== NULL
)) {
2032 if(catchStack
.cursor
>= 0){
2033 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2035 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2036 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1996);
2040 RET_LABEL95
:(void)0;
2043 var_param_mtype
= var94
;
2046 var97
= ((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>*/
2048 var_param_mtype
= var97
;
2050 var98
= ((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>*/
2054 { /* Inline abstract_compiler$RuntimeVariable$name (var_arg) on <var_arg:RuntimeVariable> */
2055 var101
= var_arg
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___name
].val
; /* _name on <var_arg:RuntimeVariable> */
2056 if (unlikely(var101
== NULL
)) {
2057 if(catchStack
.cursor
>= 0){
2058 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2060 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2061 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1980);
2065 RET_LABEL100
:(void)0;
2069 core___core__Array___core__abstract_collection__SimpleCollection__add(var_arguments_for_c
, var99
); /* Direct call array$Array$add on <var_arguments_for_c:Array[String]>*/
2072 if (unlikely(varonce102
==NULL
)) {
2073 var103
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
2074 if (likely(varonce104
!=NULL
)) {
2075 var105
= varonce104
;
2077 var106
= "struct nitni_instance* var_for_c_";
2078 var108
= (val
*)(33l<<2|1);
2079 var109
= (val
*)(33l<<2|1);
2080 var110
= (val
*)((long)(0)<<2|3);
2081 var111
= (val
*)((long)(0)<<2|3);
2082 var107
= core__flat___CString___to_s_unsafe(var106
, var108
, var109
, var110
, var111
);
2084 varonce104
= var105
;
2086 ((struct instance_core__NativeArray
*)var103
)->values
[0]=var105
;
2087 if (likely(varonce112
!=NULL
)) {
2088 var113
= varonce112
;
2091 var116
= (val
*)(1l<<2|1);
2092 var117
= (val
*)(1l<<2|1);
2093 var118
= (val
*)((long)(0)<<2|3);
2094 var119
= (val
*)((long)(0)<<2|3);
2095 var115
= core__flat___CString___to_s_unsafe(var114
, var116
, var117
, var118
, var119
);
2097 varonce112
= var113
;
2099 ((struct instance_core__NativeArray
*)var103
)->values
[2]=var113
;
2101 var103
= varonce102
;
2104 var120
= core__flat___Int___core__abstract_text__Object__to_s(var_a
);
2105 ((struct instance_core__NativeArray
*)var103
)->values
[1]=var120
;
2107 var121
= ((val
*(*)(val
* self
))(var103
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var103
); /* native_to_s on <var103:NativeArray[String]>*/
2109 varonce102
= var103
;
2111 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var121
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
2113 if (unlikely(varonce122
==NULL
)) {
2114 var123
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
2115 if (likely(varonce124
!=NULL
)) {
2116 var125
= varonce124
;
2118 var126
= "var_for_c_";
2119 var128
= (val
*)(10l<<2|1);
2120 var129
= (val
*)(10l<<2|1);
2121 var130
= (val
*)((long)(0)<<2|3);
2122 var131
= (val
*)((long)(0)<<2|3);
2123 var127
= core__flat___CString___to_s_unsafe(var126
, var128
, var129
, var130
, var131
);
2125 varonce124
= var125
;
2127 ((struct instance_core__NativeArray
*)var123
)->values
[0]=var125
;
2128 if (likely(varonce132
!=NULL
)) {
2129 var133
= varonce132
;
2131 var134
= " = nit_alloc(sizeof(struct nitni_instance));";
2132 var136
= (val
*)(44l<<2|1);
2133 var137
= (val
*)(44l<<2|1);
2134 var138
= (val
*)((long)(0)<<2|3);
2135 var139
= (val
*)((long)(0)<<2|3);
2136 var135
= core__flat___CString___to_s_unsafe(var134
, var136
, var137
, var138
, var139
);
2138 varonce132
= var133
;
2140 ((struct instance_core__NativeArray
*)var123
)->values
[2]=var133
;
2142 var123
= varonce122
;
2145 var140
= core__flat___Int___core__abstract_text__Object__to_s(var_a
);
2146 ((struct instance_core__NativeArray
*)var123
)->values
[1]=var140
;
2148 var141
= ((val
*(*)(val
* self
))(var123
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var123
); /* native_to_s on <var123:NativeArray[String]>*/
2150 varonce122
= var123
;
2152 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var141
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
2154 if (unlikely(varonce142
==NULL
)) {
2155 var143
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
2156 if (likely(varonce144
!=NULL
)) {
2157 var145
= varonce144
;
2159 var146
= "var_for_c_";
2160 var148
= (val
*)(10l<<2|1);
2161 var149
= (val
*)(10l<<2|1);
2162 var150
= (val
*)((long)(0)<<2|3);
2163 var151
= (val
*)((long)(0)<<2|3);
2164 var147
= core__flat___CString___to_s_unsafe(var146
, var148
, var149
, var150
, var151
);
2166 varonce144
= var145
;
2168 ((struct instance_core__NativeArray
*)var143
)->values
[0]=var145
;
2169 if (likely(varonce152
!=NULL
)) {
2170 var153
= varonce152
;
2172 var154
= "->value = ";
2173 var156
= (val
*)(10l<<2|1);
2174 var157
= (val
*)(10l<<2|1);
2175 var158
= (val
*)((long)(0)<<2|3);
2176 var159
= (val
*)((long)(0)<<2|3);
2177 var155
= core__flat___CString___to_s_unsafe(var154
, var156
, var157
, var158
, var159
);
2179 varonce152
= var153
;
2181 ((struct instance_core__NativeArray
*)var143
)->values
[2]=var153
;
2182 if (likely(varonce160
!=NULL
)) {
2183 var161
= varonce160
;
2186 var164
= (val
*)(1l<<2|1);
2187 var165
= (val
*)(1l<<2|1);
2188 var166
= (val
*)((long)(0)<<2|3);
2189 var167
= (val
*)((long)(0)<<2|3);
2190 var163
= core__flat___CString___to_s_unsafe(var162
, var164
, var165
, var166
, var167
);
2192 varonce160
= var161
;
2194 ((struct instance_core__NativeArray
*)var143
)->values
[4]=var161
;
2196 var143
= varonce142
;
2199 var168
= core__flat___Int___core__abstract_text__Object__to_s(var_a
);
2200 ((struct instance_core__NativeArray
*)var143
)->values
[1]=var168
;
2202 { /* Inline abstract_compiler$RuntimeVariable$name (var_arg) on <var_arg:RuntimeVariable> */
2203 var171
= var_arg
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___name
].val
; /* _name on <var_arg:RuntimeVariable> */
2204 if (unlikely(var171
== NULL
)) {
2205 if(catchStack
.cursor
>= 0){
2206 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2208 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2209 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1980);
2213 RET_LABEL170
:(void)0;
2216 ((struct instance_core__NativeArray
*)var143
)->values
[3]=var169
;
2218 var172
= ((val
*(*)(val
* self
))(var143
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var143
); /* native_to_s on <var143:NativeArray[String]>*/
2220 varonce142
= var143
;
2222 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var172
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
2224 if (unlikely(varonce173
==NULL
)) {
2225 var174
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
2226 if (likely(varonce175
!=NULL
)) {
2227 var176
= varonce175
;
2229 var177
= "var_for_c_";
2230 var179
= (val
*)(10l<<2|1);
2231 var180
= (val
*)(10l<<2|1);
2232 var181
= (val
*)((long)(0)<<2|3);
2233 var182
= (val
*)((long)(0)<<2|3);
2234 var178
= core__flat___CString___to_s_unsafe(var177
, var179
, var180
, var181
, var182
);
2236 varonce175
= var176
;
2238 ((struct instance_core__NativeArray
*)var174
)->values
[0]=var176
;
2240 var174
= varonce173
;
2243 var183
= core__flat___Int___core__abstract_text__Object__to_s(var_a
);
2244 ((struct instance_core__NativeArray
*)var174
)->values
[1]=var183
;
2246 var184
= ((val
*(*)(val
* self
))(var174
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var174
); /* native_to_s on <var174:NativeArray[String]>*/
2248 varonce173
= var174
;
2250 core___core__Array___core__abstract_collection__SimpleCollection__add(var_arguments_for_c
, var184
); /* Direct call array$Array$add on <var_arguments_for_c:Array[String]>*/
2254 var185
= core___core__Int___Discrete__successor(var_a
, 1l);
2258 BREAK_label
: (void)0;
2259 if (var_recv_var
== NULL
) {
2260 var186
= 1; /* is null */
2262 var186
= 0; /* arg is null but recv is not */
2265 { /* Inline kernel$Object$== (var_recv_var,((val*)NULL)) on <var_recv_var:nullable RuntimeVariable> */
2266 var_other
= ((val
*)NULL
);
2268 { /* Inline kernel$Object$is_same_instance (var_recv_var,var_other) on <var_recv_var:nullable RuntimeVariable(RuntimeVariable)> */
2269 var191
= var_recv_var
== var_other
;
2272 RET_LABEL190
:(void)0;
2277 RET_LABEL188
:(void)0;
2282 if (unlikely(varonce192
==NULL
)) {
2283 var193
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
2284 if (likely(varonce194
!=NULL
)) {
2285 var195
= varonce194
;
2288 var198
= (val
*)(1l<<2|1);
2289 var199
= (val
*)(1l<<2|1);
2290 var200
= (val
*)((long)(0)<<2|3);
2291 var201
= (val
*)((long)(0)<<2|3);
2292 var197
= core__flat___CString___to_s_unsafe(var196
, var198
, var199
, var200
, var201
);
2294 varonce194
= var195
;
2296 ((struct instance_core__NativeArray
*)var193
)->values
[1]=var195
;
2297 if (likely(varonce202
!=NULL
)) {
2298 var203
= varonce202
;
2301 var206
= (val
*)(2l<<2|1);
2302 var207
= (val
*)(2l<<2|1);
2303 var208
= (val
*)((long)(0)<<2|3);
2304 var209
= (val
*)((long)(0)<<2|3);
2305 var205
= core__flat___CString___to_s_unsafe(var204
, var206
, var207
, var208
, var209
);
2307 varonce202
= var203
;
2309 ((struct instance_core__NativeArray
*)var193
)->values
[3]=var203
;
2311 var193
= varonce192
;
2314 ((struct instance_core__NativeArray
*)var193
)->values
[0]=var_externname
;
2315 if (likely(varonce210
!=NULL
)) {
2316 var211
= varonce210
;
2319 var214
= (val
*)(2l<<2|1);
2320 var215
= (val
*)(2l<<2|1);
2321 var216
= (val
*)((long)(0)<<2|3);
2322 var217
= (val
*)((long)(0)<<2|3);
2323 var213
= core__flat___CString___to_s_unsafe(var212
, var214
, var215
, var216
, var217
);
2325 varonce210
= var211
;
2328 var218
= core__abstract_text___Collection___join(var_arguments_for_c
, var211
, ((val
*)NULL
));
2330 ((struct instance_core__NativeArray
*)var193
)->values
[2]=var218
;
2332 var219
= ((val
*(*)(val
* self
))(var193
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var193
); /* native_to_s on <var193:NativeArray[String]>*/
2334 varonce192
= var193
;
2336 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var219
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
2339 if (var_return_mtype
== NULL
) {
2340 var220
= 0; /* is null */
2342 var220
= 1; /* arg is null and recv is not */
2345 { /* Inline kernel$Object$!= (var_return_mtype,((val*)NULL)) on <var_return_mtype:nullable MType> */
2346 var_other54
= ((val
*)NULL
);
2348 var223
= ((short int(*)(val
* self
, val
* p0
))(var_return_mtype
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_return_mtype
, var_other54
); /* == on <var_return_mtype:nullable MType(MType)>*/
2353 RET_LABEL222
:(void)0;
2357 if (unlikely(!var220
)) {
2358 if(catchStack
.cursor
>= 0){
2359 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2361 PRINT_ERROR("Runtime error: %s", "Assert failed");
2362 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light
, 154);
2366 var225
= ((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)>*/
2369 if (unlikely(varonce226
==NULL
)) {
2370 var227
= NEW_core__NativeArray((int)6l, &type_core__NativeArray__core__String
);
2371 if (likely(varonce228
!=NULL
)) {
2372 var229
= varonce228
;
2375 var232
= (val
*)(3l<<2|1);
2376 var233
= (val
*)(3l<<2|1);
2377 var234
= (val
*)((long)(0)<<2|3);
2378 var235
= (val
*)((long)(0)<<2|3);
2379 var231
= core__flat___CString___to_s_unsafe(var230
, var232
, var233
, var234
, var235
);
2381 varonce228
= var229
;
2383 ((struct instance_core__NativeArray
*)var227
)->values
[1]=var229
;
2384 if (likely(varonce236
!=NULL
)) {
2385 var237
= varonce236
;
2388 var240
= (val
*)(1l<<2|1);
2389 var241
= (val
*)(1l<<2|1);
2390 var242
= (val
*)((long)(0)<<2|3);
2391 var243
= (val
*)((long)(0)<<2|3);
2392 var239
= core__flat___CString___to_s_unsafe(var238
, var240
, var241
, var242
, var243
);
2394 varonce236
= var237
;
2396 ((struct instance_core__NativeArray
*)var227
)->values
[3]=var237
;
2397 if (likely(varonce244
!=NULL
)) {
2398 var245
= varonce244
;
2401 var248
= (val
*)(2l<<2|1);
2402 var249
= (val
*)(2l<<2|1);
2403 var250
= (val
*)((long)(0)<<2|3);
2404 var251
= (val
*)((long)(0)<<2|3);
2405 var247
= core__flat___CString___to_s_unsafe(var246
, var248
, var249
, var250
, var251
);
2407 varonce244
= var245
;
2409 ((struct instance_core__NativeArray
*)var227
)->values
[5]=var245
;
2411 var227
= varonce226
;
2415 var252
= ((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)>*/
2417 ((struct instance_core__NativeArray
*)var227
)->values
[0]=var252
;
2418 ((struct instance_core__NativeArray
*)var227
)->values
[2]=var_externname
;
2419 if (likely(varonce253
!=NULL
)) {
2420 var254
= varonce253
;
2423 var257
= (val
*)(2l<<2|1);
2424 var258
= (val
*)(2l<<2|1);
2425 var259
= (val
*)((long)(0)<<2|3);
2426 var260
= (val
*)((long)(0)<<2|3);
2427 var256
= core__flat___CString___to_s_unsafe(var255
, var257
, var258
, var259
, var260
);
2429 varonce253
= var254
;
2432 var261
= core__abstract_text___Collection___join(var_arguments_for_c
, var254
, ((val
*)NULL
));
2434 ((struct instance_core__NativeArray
*)var227
)->values
[4]=var261
;
2436 var262
= ((val
*(*)(val
* self
))(var227
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var227
); /* native_to_s on <var227:NativeArray[String]>*/
2438 varonce226
= var227
;
2440 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var262
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
2443 if (likely(varonce263
!=NULL
)) {
2444 var264
= varonce263
;
2446 var265
= "struct nitni_instance* ret_var;";
2447 var267
= (val
*)(31l<<2|1);
2448 var268
= (val
*)(31l<<2|1);
2449 var269
= (val
*)((long)(0)<<2|3);
2450 var270
= (val
*)((long)(0)<<2|3);
2451 var266
= core__flat___CString___to_s_unsafe(var265
, var267
, var268
, var269
, var270
);
2453 varonce263
= var264
;
2456 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var264
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
2458 if (unlikely(varonce271
==NULL
)) {
2459 var272
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
2460 if (likely(varonce273
!=NULL
)) {
2461 var274
= varonce273
;
2463 var275
= "ret_var = ";
2464 var277
= (val
*)(10l<<2|1);
2465 var278
= (val
*)(10l<<2|1);
2466 var279
= (val
*)((long)(0)<<2|3);
2467 var280
= (val
*)((long)(0)<<2|3);
2468 var276
= core__flat___CString___to_s_unsafe(var275
, var277
, var278
, var279
, var280
);
2470 varonce273
= var274
;
2472 ((struct instance_core__NativeArray
*)var272
)->values
[0]=var274
;
2473 if (likely(varonce281
!=NULL
)) {
2474 var282
= varonce281
;
2477 var285
= (val
*)(1l<<2|1);
2478 var286
= (val
*)(1l<<2|1);
2479 var287
= (val
*)((long)(0)<<2|3);
2480 var288
= (val
*)((long)(0)<<2|3);
2481 var284
= core__flat___CString___to_s_unsafe(var283
, var285
, var286
, var287
, var288
);
2483 varonce281
= var282
;
2485 ((struct instance_core__NativeArray
*)var272
)->values
[2]=var282
;
2486 if (likely(varonce289
!=NULL
)) {
2487 var290
= varonce289
;
2490 var293
= (val
*)(2l<<2|1);
2491 var294
= (val
*)(2l<<2|1);
2492 var295
= (val
*)((long)(0)<<2|3);
2493 var296
= (val
*)((long)(0)<<2|3);
2494 var292
= core__flat___CString___to_s_unsafe(var291
, var293
, var294
, var295
, var296
);
2496 varonce289
= var290
;
2498 ((struct instance_core__NativeArray
*)var272
)->values
[4]=var290
;
2500 var272
= varonce271
;
2503 ((struct instance_core__NativeArray
*)var272
)->values
[1]=var_externname
;
2504 if (likely(varonce297
!=NULL
)) {
2505 var298
= varonce297
;
2508 var301
= (val
*)(2l<<2|1);
2509 var302
= (val
*)(2l<<2|1);
2510 var303
= (val
*)((long)(0)<<2|3);
2511 var304
= (val
*)((long)(0)<<2|3);
2512 var300
= core__flat___CString___to_s_unsafe(var299
, var301
, var302
, var303
, var304
);
2514 varonce297
= var298
;
2517 var305
= core__abstract_text___Collection___join(var_arguments_for_c
, var298
, ((val
*)NULL
));
2519 ((struct instance_core__NativeArray
*)var272
)->values
[3]=var305
;
2521 var306
= ((val
*(*)(val
* self
))(var272
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var272
); /* native_to_s on <var272:NativeArray[String]>*/
2523 varonce271
= var272
;
2525 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var306
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
2527 if (unlikely(varonce307
==NULL
)) {
2528 var308
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
2529 if (likely(varonce309
!=NULL
)) {
2530 var310
= varonce309
;
2532 var311
= " = ret_var->value;";
2533 var313
= (val
*)(18l<<2|1);
2534 var314
= (val
*)(18l<<2|1);
2535 var315
= (val
*)((long)(0)<<2|3);
2536 var316
= (val
*)((long)(0)<<2|3);
2537 var312
= core__flat___CString___to_s_unsafe(var311
, var313
, var314
, var315
, var316
);
2539 varonce309
= var310
;
2541 ((struct instance_core__NativeArray
*)var308
)->values
[1]=var310
;
2543 var308
= varonce307
;
2547 var317
= ((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)>*/
2549 ((struct instance_core__NativeArray
*)var308
)->values
[0]=var317
;
2551 var318
= ((val
*(*)(val
* self
))(var308
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var308
); /* native_to_s on <var308:NativeArray[String]>*/
2553 varonce307
= var308
;
2555 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var318
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
2559 var319
= ((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>*/
2561 var_recv_var
= var319
;
2563 nitc___nitc__AbstractCompilerVisitor___ret(var_v
, var_recv_var
); /* Direct call abstract_compiler$AbstractCompilerVisitor$ret on <var_v:AbstractCompilerVisitor>*/
2567 nitc__light___AMethPropdef___compile_ffi_support_to_c(self
, var_v
); /* Direct call light$AMethPropdef$compile_ffi_support_to_c on <self:AMethPropdef>*/
2574 /* method light$AMethPropdef$compile_externinit_to_c for (self: AMethPropdef, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]): Bool */
2575 short int nitc__light___AMethPropdef___compile_externinit_to_c(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2576 short int var
/* : Bool */;
2577 val
* var_v
/* var v: AbstractCompilerVisitor */;
2578 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
2579 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
2580 val
* var1
/* : nullable AExternCodeBlock */;
2581 val
* var3
/* : nullable AExternCodeBlock */;
2582 short int var4
/* : Bool */;
2583 short int var5
/* : Bool */;
2584 val
* var_other
/* var other: nullable Object */;
2585 short int var7
/* : Bool */;
2586 short int var9
/* : Bool */;
2587 short int var10
/* : Bool */;
2588 short int var11
/* : Bool */;
2589 short int var12
/* : Bool */;
2590 val
* var13
/* : MClassDef */;
2591 val
* var15
/* : MClassDef */;
2592 val
* var16
/* : MModule */;
2593 val
* var18
/* : MModule */;
2594 val
* var_mmodule
/* var mmodule: MModule */;
2595 val
* var20
/* : MClassDef */;
2596 val
* var22
/* : MClassDef */;
2597 val
* var23
/* : MClassType */;
2598 val
* var25
/* : MClassType */;
2599 val
* var_mclass_type
/* var mclass_type: MClassType */;
2600 val
* var26
/* : MProperty */;
2601 val
* var28
/* : MProperty */;
2602 val
* var29
/* : MClassDef */;
2603 val
* var31
/* : MClassDef */;
2604 val
* var32
/* : MClassType */;
2605 val
* var34
/* : MClassType */;
2606 static val
* varonce
;
2607 val
* var35
/* : String */;
2608 char* var36
/* : CString */;
2609 val
* var37
/* : String */;
2610 val
* var38
/* : nullable Int */;
2611 val
* var39
/* : nullable Int */;
2612 val
* var40
/* : nullable Bool */;
2613 val
* var41
/* : nullable Bool */;
2614 val
* var42
/* : Sys */;
2615 val
* var43
/* : SignatureLength */;
2616 val
* var44
/* : String */;
2617 val
* var_externname
/* var externname: String */;
2618 val
* var45
/* : nullable Object */;
2619 val
* var46
/* : MType */;
2620 val
* var48
/* : MType */;
2621 val
* var_return_mtype
/* var return_mtype: MType */;
2622 val
* var49
/* : RuntimeVariable */;
2623 val
* var_recv_var
/* var recv_var: RuntimeVariable */;
2624 val
* var50
/* : nullable Object */;
2625 val
* var51
/* : Array[String] */;
2626 val
* var_arguments_for_c
/* var arguments_for_c: Array[String] */;
2627 long var_a
/* var a: Int */;
2628 long var52
/* : Int */;
2629 long var54
/* : Int */;
2630 long var_
/* var : Int */;
2631 short int var55
/* : Bool */;
2632 short int var57
/* : Bool */;
2635 const char* var_class_name
;
2636 short int var58
/* : Bool */;
2637 val
* var59
/* : nullable Object */;
2638 val
* var_arg
/* var arg: RuntimeVariable */;
2639 val
* var60
/* : nullable MSignature */;
2640 val
* var62
/* : nullable MSignature */;
2641 val
* var63
/* : Array[MParameter] */;
2642 val
* var65
/* : Array[MParameter] */;
2643 val
* var66
/* : nullable Object */;
2644 val
* var67
/* : MType */;
2645 val
* var69
/* : MType */;
2646 val
* var_param_mtype
/* var param_mtype: MType */;
2647 val
* var70
/* : MType */;
2648 short int var71
/* : Bool */;
2649 val
* var72
/* : String */;
2650 val
* var74
/* : String */;
2651 val
* var76
/* : NativeArray[String] */;
2652 static val
* varonce75
;
2653 static val
* varonce77
;
2654 val
* var78
/* : String */;
2655 char* var79
/* : CString */;
2656 val
* var80
/* : String */;
2657 val
* var81
/* : nullable Int */;
2658 val
* var82
/* : nullable Int */;
2659 val
* var83
/* : nullable Bool */;
2660 val
* var84
/* : nullable Bool */;
2661 static val
* varonce85
;
2662 val
* var86
/* : String */;
2663 char* var87
/* : CString */;
2664 val
* var88
/* : String */;
2665 val
* var89
/* : nullable Int */;
2666 val
* var90
/* : nullable Int */;
2667 val
* var91
/* : nullable Bool */;
2668 val
* var92
/* : nullable Bool */;
2669 val
* var93
/* : String */;
2670 val
* var94
/* : String */;
2671 val
* var96
/* : NativeArray[String] */;
2672 static val
* varonce95
;
2673 static val
* varonce97
;
2674 val
* var98
/* : String */;
2675 char* var99
/* : CString */;
2676 val
* var100
/* : String */;
2677 val
* var101
/* : nullable Int */;
2678 val
* var102
/* : nullable Int */;
2679 val
* var103
/* : nullable Bool */;
2680 val
* var104
/* : nullable Bool */;
2681 static val
* varonce105
;
2682 val
* var106
/* : String */;
2683 char* var107
/* : CString */;
2684 val
* var108
/* : String */;
2685 val
* var109
/* : nullable Int */;
2686 val
* var110
/* : nullable Int */;
2687 val
* var111
/* : nullable Bool */;
2688 val
* var112
/* : nullable Bool */;
2689 val
* var113
/* : String */;
2690 val
* var114
/* : String */;
2691 val
* var116
/* : NativeArray[String] */;
2692 static val
* varonce115
;
2693 static val
* varonce117
;
2694 val
* var118
/* : String */;
2695 char* var119
/* : CString */;
2696 val
* var120
/* : String */;
2697 val
* var121
/* : nullable Int */;
2698 val
* var122
/* : nullable Int */;
2699 val
* var123
/* : nullable Bool */;
2700 val
* var124
/* : nullable Bool */;
2701 static val
* varonce125
;
2702 val
* var126
/* : String */;
2703 char* var127
/* : CString */;
2704 val
* var128
/* : String */;
2705 val
* var129
/* : nullable Int */;
2706 val
* var130
/* : nullable Int */;
2707 val
* var131
/* : nullable Bool */;
2708 val
* var132
/* : nullable Bool */;
2709 static val
* varonce133
;
2710 val
* var134
/* : String */;
2711 char* var135
/* : CString */;
2712 val
* var136
/* : String */;
2713 val
* var137
/* : nullable Int */;
2714 val
* var138
/* : nullable Int */;
2715 val
* var139
/* : nullable Bool */;
2716 val
* var140
/* : nullable Bool */;
2717 val
* var141
/* : String */;
2718 val
* var142
/* : String */;
2719 val
* var144
/* : String */;
2720 val
* var145
/* : String */;
2721 val
* var147
/* : NativeArray[String] */;
2722 static val
* varonce146
;
2723 static val
* varonce148
;
2724 val
* var149
/* : String */;
2725 char* var150
/* : CString */;
2726 val
* var151
/* : String */;
2727 val
* var152
/* : nullable Int */;
2728 val
* var153
/* : nullable Int */;
2729 val
* var154
/* : nullable Bool */;
2730 val
* var155
/* : nullable Bool */;
2731 val
* var156
/* : String */;
2732 val
* var157
/* : String */;
2733 long var158
/* : Int */;
2734 short int var159
/* : Bool */;
2735 val
* var161
/* : NativeArray[String] */;
2736 static val
* varonce160
;
2737 static val
* varonce162
;
2738 val
* var163
/* : String */;
2739 char* var164
/* : CString */;
2740 val
* var165
/* : String */;
2741 val
* var166
/* : nullable Int */;
2742 val
* var167
/* : nullable Int */;
2743 val
* var168
/* : nullable Bool */;
2744 val
* var169
/* : nullable Bool */;
2745 static val
* varonce170
;
2746 val
* var171
/* : String */;
2747 char* var172
/* : CString */;
2748 val
* var173
/* : String */;
2749 val
* var174
/* : nullable Int */;
2750 val
* var175
/* : nullable Int */;
2751 val
* var176
/* : nullable Bool */;
2752 val
* var177
/* : nullable Bool */;
2753 static val
* varonce178
;
2754 val
* var179
/* : String */;
2755 char* var180
/* : CString */;
2756 val
* var181
/* : String */;
2757 val
* var182
/* : nullable Int */;
2758 val
* var183
/* : nullable Int */;
2759 val
* var184
/* : nullable Bool */;
2760 val
* var185
/* : nullable Bool */;
2761 val
* var186
/* : String */;
2762 static val
* varonce187
;
2763 val
* var188
/* : String */;
2764 char* var189
/* : CString */;
2765 val
* var190
/* : String */;
2766 val
* var191
/* : nullable Int */;
2767 val
* var192
/* : nullable Int */;
2768 val
* var193
/* : nullable Bool */;
2769 val
* var194
/* : nullable Bool */;
2770 val
* var195
/* : String */;
2771 val
* var196
/* : String */;
2772 static val
* varonce197
;
2773 val
* var198
/* : String */;
2774 char* var199
/* : CString */;
2775 val
* var200
/* : String */;
2776 val
* var201
/* : nullable Int */;
2777 val
* var202
/* : nullable Int */;
2778 val
* var203
/* : nullable Bool */;
2779 val
* var204
/* : nullable Bool */;
2780 val
* var206
/* : NativeArray[String] */;
2781 static val
* varonce205
;
2782 static val
* varonce207
;
2783 val
* var208
/* : String */;
2784 char* var209
/* : CString */;
2785 val
* var210
/* : String */;
2786 val
* var211
/* : nullable Int */;
2787 val
* var212
/* : nullable Int */;
2788 val
* var213
/* : nullable Bool */;
2789 val
* var214
/* : nullable Bool */;
2790 static val
* varonce215
;
2791 val
* var216
/* : String */;
2792 char* var217
/* : CString */;
2793 val
* var218
/* : String */;
2794 val
* var219
/* : nullable Int */;
2795 val
* var220
/* : nullable Int */;
2796 val
* var221
/* : nullable Bool */;
2797 val
* var222
/* : nullable Bool */;
2798 static val
* varonce223
;
2799 val
* var224
/* : String */;
2800 char* var225
/* : CString */;
2801 val
* var226
/* : String */;
2802 val
* var227
/* : nullable Int */;
2803 val
* var228
/* : nullable Int */;
2804 val
* var229
/* : nullable Bool */;
2805 val
* var230
/* : nullable Bool */;
2806 static val
* varonce231
;
2807 val
* var232
/* : String */;
2808 char* var233
/* : CString */;
2809 val
* var234
/* : String */;
2810 val
* var235
/* : nullable Int */;
2811 val
* var236
/* : nullable Int */;
2812 val
* var237
/* : nullable Bool */;
2813 val
* var238
/* : nullable Bool */;
2814 val
* var239
/* : String */;
2815 val
* var240
/* : String */;
2816 val
* var242
/* : NativeArray[String] */;
2817 static val
* varonce241
;
2818 static val
* varonce243
;
2819 val
* var244
/* : String */;
2820 char* var245
/* : CString */;
2821 val
* var246
/* : String */;
2822 val
* var247
/* : nullable Int */;
2823 val
* var248
/* : nullable Int */;
2824 val
* var249
/* : nullable Bool */;
2825 val
* var250
/* : nullable Bool */;
2826 val
* var251
/* : String */;
2827 val
* var252
/* : String */;
2828 val
* var253
/* : RuntimeVariable */;
2833 { /* Inline parser_nodes$AMethPropdef$n_extern_code_block (self) on <self:AMethPropdef> */
2834 var3
= self
->attrs
[COLOR_nitc__parser_nodes__AMethPropdef___n_extern_code_block
].val
; /* _n_extern_code_block on <self:AMethPropdef> */
2840 var4
= 1; /* is null */
2842 var4
= 0; /* arg is null but recv is not */
2845 { /* Inline kernel$Object$== (var1,((val*)NULL)) on <var1:nullable AExternCodeBlock> */
2846 var_other
= ((val
*)NULL
);
2848 { /* Inline kernel$Object$is_same_instance (var1,var_other) on <var1:nullable AExternCodeBlock(AExternCodeBlock)> */
2849 var9
= var1
== var_other
;
2863 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>*/
2870 var11
= nitc__light_only___AMethPropdef___accept_externmeth(self
);
2879 { /* Inline model$MPropDef$mclassdef (var_mpropdef) on <var_mpropdef:MMethodDef> */
2880 var15
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MMethodDef> */
2881 if (unlikely(var15
== NULL
)) {
2882 if(catchStack
.cursor
>= 0){
2883 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2885 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
2886 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2354);
2890 RET_LABEL14
:(void)0;
2894 { /* Inline model$MClassDef$mmodule (var13) on <var13:MClassDef> */
2895 var18
= var13
->attrs
[COLOR_nitc__model__MClassDef___mmodule
].val
; /* _mmodule on <var13:MClassDef> */
2896 if (unlikely(var18
== NULL
)) {
2897 if(catchStack
.cursor
>= 0){
2898 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2900 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2901 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 588);
2905 RET_LABEL17
:(void)0;
2908 var_mmodule
= var16
;
2910 { /* Inline light_ffi$MModule$uses_ffi= (var_mmodule,1) on <var_mmodule:MModule> */
2911 var_mmodule
->attrs
[COLOR_nitc__light_ffi__MModule___uses_ffi
].s
= 1; /* _uses_ffi on <var_mmodule:MModule> */
2912 RET_LABEL19
:(void)0;
2916 { /* Inline model$MPropDef$mclassdef (var_mpropdef) on <var_mpropdef:MMethodDef> */
2917 var22
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MMethodDef> */
2918 if (unlikely(var22
== NULL
)) {
2919 if(catchStack
.cursor
>= 0){
2920 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2922 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
2923 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2354);
2927 RET_LABEL21
:(void)0;
2931 { /* Inline model$MClassDef$bound_mtype (var20) on <var20:MClassDef> */
2932 var25
= var20
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var20:MClassDef> */
2933 if (unlikely(var25
== NULL
)) {
2934 if(catchStack
.cursor
>= 0){
2935 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2937 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
2938 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 594);
2942 RET_LABEL24
:(void)0;
2945 var_mclass_type
= var23
;
2947 { /* Inline model$MPropDef$mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
2948 var28
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MMethodDef> */
2949 if (unlikely(var28
== NULL
)) {
2950 if(catchStack
.cursor
>= 0){
2951 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2953 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
2954 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2357);
2958 RET_LABEL27
:(void)0;
2962 { /* Inline model$MPropDef$mclassdef (var_mpropdef) on <var_mpropdef:MMethodDef> */
2963 var31
= var_mpropdef
->attrs
[COLOR_nitc__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MMethodDef> */
2964 if (unlikely(var31
== NULL
)) {
2965 if(catchStack
.cursor
>= 0){
2966 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2968 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
2969 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 2354);
2973 RET_LABEL30
:(void)0;
2977 { /* Inline model$MClassDef$bound_mtype (var29) on <var29:MClassDef> */
2978 var34
= var29
->attrs
[COLOR_nitc__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var29:MClassDef> */
2979 if (unlikely(var34
== NULL
)) {
2980 if(catchStack
.cursor
>= 0){
2981 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2983 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
2984 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 594);
2988 RET_LABEL33
:(void)0;
2991 if (likely(varonce
!=NULL
)) {
2995 var38
= (val
*)(7l<<2|1);
2996 var39
= (val
*)(7l<<2|1);
2997 var40
= (val
*)((long)(0)<<2|3);
2998 var41
= (val
*)((long)(0)<<2|3);
2999 var37
= core__flat___CString___to_s_unsafe(var36
, var38
, var39
, var40
, var41
);
3005 var43
= nitc__nitni_utilities___core__Sys___long_signature(var42
);
3008 var44
= nitc__nitni_utilities___MMethod___build_cname(var26
, var32
, var_mmodule
, var35
, var43
);
3010 var_externname
= var44
;
3012 var45
= core___core__SequenceRead___Collection__first(var_arguments
);
3015 { /* Inline abstract_compiler$RuntimeVariable$mtype (var45) on <var45:nullable Object(RuntimeVariable)> */
3016 var48
= var45
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var45:nullable Object(RuntimeVariable)> */
3017 if (unlikely(var48
== NULL
)) {
3018 if(catchStack
.cursor
>= 0){
3019 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3021 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3022 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1983);
3026 RET_LABEL47
:(void)0;
3029 var_return_mtype
= var46
;
3031 var49
= nitc___nitc__AbstractCompilerVisitor___new_var(var_v
, var_return_mtype
);
3033 var_recv_var
= var49
;
3035 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>*/
3038 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>*/
3041 var50
= core___core__AbstractArray___core__abstract_collection__Sequence__shift(var_arguments
);
3043 var51
= NEW_core__Array(&type_core__Array__core__String
);
3045 core___core__Array___core__kernel__Object__init(var51
); /* Direct call array$Array$init on <var51:Array[String]>*/
3047 var_arguments_for_c
= var51
;
3050 { /* Inline array$AbstractArrayRead$length (var_arguments) on <var_arguments:Array[RuntimeVariable]> */
3051 var54
= var_arguments
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_arguments:Array[RuntimeVariable]> */
3053 RET_LABEL53
:(void)0;
3059 { /* Inline kernel$Int$< (var_a,var_) on <var_a:Int> */
3060 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
3061 /* <var_:Int> isa OTHER */
3062 var57
= 1; /* easy <var_:Int> isa OTHER*/
3063 if (unlikely(!var57
)) {
3064 var_class_name
= type_core__Int
.name
;
3065 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3066 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 725);
3069 var58
= var_a
< var_
;
3072 RET_LABEL56
:(void)0;
3080 var59
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_arguments
, var_a
);
3084 { /* Inline model$MMethodDef$msignature (var_mpropdef) on <var_mpropdef:MMethodDef> */
3085 var62
= var_mpropdef
->attrs
[COLOR_nitc__model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:MMethodDef> */
3087 RET_LABEL61
:(void)0;
3090 if (var60
== NULL
) {
3091 if(catchStack
.cursor
>= 0){
3092 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3094 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3095 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__light
, 195);
3098 { /* Inline model$MSignature$mparameters (var60) on <var60:nullable MSignature> */
3099 if (unlikely(var60
== NULL
)) {
3100 if(catchStack
.cursor
>= 0){
3101 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3103 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3104 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1879);
3107 var65
= var60
->attrs
[COLOR_nitc__model__MSignature___mparameters
].val
; /* _mparameters on <var60:nullable MSignature> */
3108 if (unlikely(var65
== NULL
)) {
3109 if(catchStack
.cursor
>= 0){
3110 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3112 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
3113 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1879);
3117 RET_LABEL64
:(void)0;
3121 var66
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var63
, var_a
);
3124 { /* Inline model$MParameter$mtype (var66) on <var66:nullable Object(MParameter)> */
3125 var69
= var66
->attrs
[COLOR_nitc__model__MParameter___mtype
].val
; /* _mtype on <var66:nullable Object(MParameter)> */
3126 if (unlikely(var69
== NULL
)) {
3127 if(catchStack
.cursor
>= 0){
3128 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3130 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
3131 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1996);
3135 RET_LABEL68
:(void)0;
3138 var_param_mtype
= var67
;
3140 var70
= ((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>*/
3142 var_param_mtype
= var70
;
3144 var71
= ((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>*/
3148 { /* Inline abstract_compiler$RuntimeVariable$name (var_arg) on <var_arg:RuntimeVariable> */
3149 var74
= var_arg
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___name
].val
; /* _name on <var_arg:RuntimeVariable> */
3150 if (unlikely(var74
== NULL
)) {
3151 if(catchStack
.cursor
>= 0){
3152 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3154 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3155 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1980);
3159 RET_LABEL73
:(void)0;
3163 core___core__Array___core__abstract_collection__SimpleCollection__add(var_arguments_for_c
, var72
); /* Direct call array$Array$add on <var_arguments_for_c:Array[String]>*/
3166 if (unlikely(varonce75
==NULL
)) {
3167 var76
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
3168 if (likely(varonce77
!=NULL
)) {
3171 var79
= "struct nitni_instance* var_for_c_";
3172 var81
= (val
*)(33l<<2|1);
3173 var82
= (val
*)(33l<<2|1);
3174 var83
= (val
*)((long)(0)<<2|3);
3175 var84
= (val
*)((long)(0)<<2|3);
3176 var80
= core__flat___CString___to_s_unsafe(var79
, var81
, var82
, var83
, var84
);
3180 ((struct instance_core__NativeArray
*)var76
)->values
[0]=var78
;
3181 if (likely(varonce85
!=NULL
)) {
3185 var89
= (val
*)(1l<<2|1);
3186 var90
= (val
*)(1l<<2|1);
3187 var91
= (val
*)((long)(0)<<2|3);
3188 var92
= (val
*)((long)(0)<<2|3);
3189 var88
= core__flat___CString___to_s_unsafe(var87
, var89
, var90
, var91
, var92
);
3193 ((struct instance_core__NativeArray
*)var76
)->values
[2]=var86
;
3198 var93
= core__flat___Int___core__abstract_text__Object__to_s(var_a
);
3199 ((struct instance_core__NativeArray
*)var76
)->values
[1]=var93
;
3201 var94
= ((val
*(*)(val
* self
))(var76
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var76
); /* native_to_s on <var76:NativeArray[String]>*/
3205 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var94
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
3207 if (unlikely(varonce95
==NULL
)) {
3208 var96
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
3209 if (likely(varonce97
!=NULL
)) {
3212 var99
= "var_for_c_";
3213 var101
= (val
*)(10l<<2|1);
3214 var102
= (val
*)(10l<<2|1);
3215 var103
= (val
*)((long)(0)<<2|3);
3216 var104
= (val
*)((long)(0)<<2|3);
3217 var100
= core__flat___CString___to_s_unsafe(var99
, var101
, var102
, var103
, var104
);
3221 ((struct instance_core__NativeArray
*)var96
)->values
[0]=var98
;
3222 if (likely(varonce105
!=NULL
)) {
3223 var106
= varonce105
;
3225 var107
= " = nit_alloc(sizeof(struct nitni_instance));";
3226 var109
= (val
*)(44l<<2|1);
3227 var110
= (val
*)(44l<<2|1);
3228 var111
= (val
*)((long)(0)<<2|3);
3229 var112
= (val
*)((long)(0)<<2|3);
3230 var108
= core__flat___CString___to_s_unsafe(var107
, var109
, var110
, var111
, var112
);
3232 varonce105
= var106
;
3234 ((struct instance_core__NativeArray
*)var96
)->values
[2]=var106
;
3239 var113
= core__flat___Int___core__abstract_text__Object__to_s(var_a
);
3240 ((struct instance_core__NativeArray
*)var96
)->values
[1]=var113
;
3242 var114
= ((val
*(*)(val
* self
))(var96
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var96
); /* native_to_s on <var96:NativeArray[String]>*/
3246 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var114
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
3248 if (unlikely(varonce115
==NULL
)) {
3249 var116
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
3250 if (likely(varonce117
!=NULL
)) {
3251 var118
= varonce117
;
3253 var119
= "var_for_c_";
3254 var121
= (val
*)(10l<<2|1);
3255 var122
= (val
*)(10l<<2|1);
3256 var123
= (val
*)((long)(0)<<2|3);
3257 var124
= (val
*)((long)(0)<<2|3);
3258 var120
= core__flat___CString___to_s_unsafe(var119
, var121
, var122
, var123
, var124
);
3260 varonce117
= var118
;
3262 ((struct instance_core__NativeArray
*)var116
)->values
[0]=var118
;
3263 if (likely(varonce125
!=NULL
)) {
3264 var126
= varonce125
;
3266 var127
= "->value = ";
3267 var129
= (val
*)(10l<<2|1);
3268 var130
= (val
*)(10l<<2|1);
3269 var131
= (val
*)((long)(0)<<2|3);
3270 var132
= (val
*)((long)(0)<<2|3);
3271 var128
= core__flat___CString___to_s_unsafe(var127
, var129
, var130
, var131
, var132
);
3273 varonce125
= var126
;
3275 ((struct instance_core__NativeArray
*)var116
)->values
[2]=var126
;
3276 if (likely(varonce133
!=NULL
)) {
3277 var134
= varonce133
;
3280 var137
= (val
*)(1l<<2|1);
3281 var138
= (val
*)(1l<<2|1);
3282 var139
= (val
*)((long)(0)<<2|3);
3283 var140
= (val
*)((long)(0)<<2|3);
3284 var136
= core__flat___CString___to_s_unsafe(var135
, var137
, var138
, var139
, var140
);
3286 varonce133
= var134
;
3288 ((struct instance_core__NativeArray
*)var116
)->values
[4]=var134
;
3290 var116
= varonce115
;
3293 var141
= core__flat___Int___core__abstract_text__Object__to_s(var_a
);
3294 ((struct instance_core__NativeArray
*)var116
)->values
[1]=var141
;
3296 { /* Inline abstract_compiler$RuntimeVariable$name (var_arg) on <var_arg:RuntimeVariable> */
3297 var144
= var_arg
->attrs
[COLOR_nitc__abstract_compiler__RuntimeVariable___name
].val
; /* _name on <var_arg:RuntimeVariable> */
3298 if (unlikely(var144
== NULL
)) {
3299 if(catchStack
.cursor
>= 0){
3300 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3302 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3303 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1980);
3307 RET_LABEL143
:(void)0;
3310 ((struct instance_core__NativeArray
*)var116
)->values
[3]=var142
;
3312 var145
= ((val
*(*)(val
* self
))(var116
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var116
); /* native_to_s on <var116:NativeArray[String]>*/
3314 varonce115
= var116
;
3316 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var145
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
3318 if (unlikely(varonce146
==NULL
)) {
3319 var147
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
3320 if (likely(varonce148
!=NULL
)) {
3321 var149
= varonce148
;
3323 var150
= "var_for_c_";
3324 var152
= (val
*)(10l<<2|1);
3325 var153
= (val
*)(10l<<2|1);
3326 var154
= (val
*)((long)(0)<<2|3);
3327 var155
= (val
*)((long)(0)<<2|3);
3328 var151
= core__flat___CString___to_s_unsafe(var150
, var152
, var153
, var154
, var155
);
3330 varonce148
= var149
;
3332 ((struct instance_core__NativeArray
*)var147
)->values
[0]=var149
;
3334 var147
= varonce146
;
3337 var156
= core__flat___Int___core__abstract_text__Object__to_s(var_a
);
3338 ((struct instance_core__NativeArray
*)var147
)->values
[1]=var156
;
3340 var157
= ((val
*(*)(val
* self
))(var147
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var147
); /* native_to_s on <var147:NativeArray[String]>*/
3342 varonce146
= var147
;
3344 core___core__Array___core__abstract_collection__SimpleCollection__add(var_arguments_for_c
, var157
); /* Direct call array$Array$add on <var_arguments_for_c:Array[String]>*/
3348 var158
= core___core__Int___Discrete__successor(var_a
, 1l);
3352 BREAK_label
: (void)0;
3354 var159
= ((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>*/
3357 if (unlikely(varonce160
==NULL
)) {
3358 var161
= NEW_core__NativeArray((int)6l, &type_core__NativeArray__core__String
);
3359 if (likely(varonce162
!=NULL
)) {
3360 var163
= varonce162
;
3363 var166
= (val
*)(3l<<2|1);
3364 var167
= (val
*)(3l<<2|1);
3365 var168
= (val
*)((long)(0)<<2|3);
3366 var169
= (val
*)((long)(0)<<2|3);
3367 var165
= core__flat___CString___to_s_unsafe(var164
, var166
, var167
, var168
, var169
);
3369 varonce162
= var163
;
3371 ((struct instance_core__NativeArray
*)var161
)->values
[1]=var163
;
3372 if (likely(varonce170
!=NULL
)) {
3373 var171
= varonce170
;
3376 var174
= (val
*)(1l<<2|1);
3377 var175
= (val
*)(1l<<2|1);
3378 var176
= (val
*)((long)(0)<<2|3);
3379 var177
= (val
*)((long)(0)<<2|3);
3380 var173
= core__flat___CString___to_s_unsafe(var172
, var174
, var175
, var176
, var177
);
3382 varonce170
= var171
;
3384 ((struct instance_core__NativeArray
*)var161
)->values
[3]=var171
;
3385 if (likely(varonce178
!=NULL
)) {
3386 var179
= varonce178
;
3389 var182
= (val
*)(2l<<2|1);
3390 var183
= (val
*)(2l<<2|1);
3391 var184
= (val
*)((long)(0)<<2|3);
3392 var185
= (val
*)((long)(0)<<2|3);
3393 var181
= core__flat___CString___to_s_unsafe(var180
, var182
, var183
, var184
, var185
);
3395 varonce178
= var179
;
3397 ((struct instance_core__NativeArray
*)var161
)->values
[5]=var179
;
3399 var161
= varonce160
;
3403 var186
= ((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>*/
3405 ((struct instance_core__NativeArray
*)var161
)->values
[0]=var186
;
3406 ((struct instance_core__NativeArray
*)var161
)->values
[2]=var_externname
;
3407 if (likely(varonce187
!=NULL
)) {
3408 var188
= varonce187
;
3411 var191
= (val
*)(2l<<2|1);
3412 var192
= (val
*)(2l<<2|1);
3413 var193
= (val
*)((long)(0)<<2|3);
3414 var194
= (val
*)((long)(0)<<2|3);
3415 var190
= core__flat___CString___to_s_unsafe(var189
, var191
, var192
, var193
, var194
);
3417 varonce187
= var188
;
3420 var195
= core__abstract_text___Collection___join(var_arguments_for_c
, var188
, ((val
*)NULL
));
3422 ((struct instance_core__NativeArray
*)var161
)->values
[4]=var195
;
3424 var196
= ((val
*(*)(val
* self
))(var161
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var161
); /* native_to_s on <var161:NativeArray[String]>*/
3426 varonce160
= var161
;
3428 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var196
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
3431 if (likely(varonce197
!=NULL
)) {
3432 var198
= varonce197
;
3434 var199
= "struct nitni_instance* ret_var;";
3435 var201
= (val
*)(31l<<2|1);
3436 var202
= (val
*)(31l<<2|1);
3437 var203
= (val
*)((long)(0)<<2|3);
3438 var204
= (val
*)((long)(0)<<2|3);
3439 var200
= core__flat___CString___to_s_unsafe(var199
, var201
, var202
, var203
, var204
);
3441 varonce197
= var198
;
3444 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var198
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
3446 if (unlikely(varonce205
==NULL
)) {
3447 var206
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
3448 if (likely(varonce207
!=NULL
)) {
3449 var208
= varonce207
;
3451 var209
= "ret_var = ";
3452 var211
= (val
*)(10l<<2|1);
3453 var212
= (val
*)(10l<<2|1);
3454 var213
= (val
*)((long)(0)<<2|3);
3455 var214
= (val
*)((long)(0)<<2|3);
3456 var210
= core__flat___CString___to_s_unsafe(var209
, var211
, var212
, var213
, var214
);
3458 varonce207
= var208
;
3460 ((struct instance_core__NativeArray
*)var206
)->values
[0]=var208
;
3461 if (likely(varonce215
!=NULL
)) {
3462 var216
= varonce215
;
3465 var219
= (val
*)(1l<<2|1);
3466 var220
= (val
*)(1l<<2|1);
3467 var221
= (val
*)((long)(0)<<2|3);
3468 var222
= (val
*)((long)(0)<<2|3);
3469 var218
= core__flat___CString___to_s_unsafe(var217
, var219
, var220
, var221
, var222
);
3471 varonce215
= var216
;
3473 ((struct instance_core__NativeArray
*)var206
)->values
[2]=var216
;
3474 if (likely(varonce223
!=NULL
)) {
3475 var224
= varonce223
;
3478 var227
= (val
*)(2l<<2|1);
3479 var228
= (val
*)(2l<<2|1);
3480 var229
= (val
*)((long)(0)<<2|3);
3481 var230
= (val
*)((long)(0)<<2|3);
3482 var226
= core__flat___CString___to_s_unsafe(var225
, var227
, var228
, var229
, var230
);
3484 varonce223
= var224
;
3486 ((struct instance_core__NativeArray
*)var206
)->values
[4]=var224
;
3488 var206
= varonce205
;
3491 ((struct instance_core__NativeArray
*)var206
)->values
[1]=var_externname
;
3492 if (likely(varonce231
!=NULL
)) {
3493 var232
= varonce231
;
3496 var235
= (val
*)(2l<<2|1);
3497 var236
= (val
*)(2l<<2|1);
3498 var237
= (val
*)((long)(0)<<2|3);
3499 var238
= (val
*)((long)(0)<<2|3);
3500 var234
= core__flat___CString___to_s_unsafe(var233
, var235
, var236
, var237
, var238
);
3502 varonce231
= var232
;
3505 var239
= core__abstract_text___Collection___join(var_arguments_for_c
, var232
, ((val
*)NULL
));
3507 ((struct instance_core__NativeArray
*)var206
)->values
[3]=var239
;
3509 var240
= ((val
*(*)(val
* self
))(var206
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var206
); /* native_to_s on <var206:NativeArray[String]>*/
3511 varonce205
= var206
;
3513 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var240
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
3515 if (unlikely(varonce241
==NULL
)) {
3516 var242
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
3517 if (likely(varonce243
!=NULL
)) {
3518 var244
= varonce243
;
3520 var245
= " = ret_var->value;";
3521 var247
= (val
*)(18l<<2|1);
3522 var248
= (val
*)(18l<<2|1);
3523 var249
= (val
*)((long)(0)<<2|3);
3524 var250
= (val
*)((long)(0)<<2|3);
3525 var246
= core__flat___CString___to_s_unsafe(var245
, var247
, var248
, var249
, var250
);
3527 varonce243
= var244
;
3529 ((struct instance_core__NativeArray
*)var242
)->values
[1]=var244
;
3531 var242
= varonce241
;
3535 var251
= ((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>*/
3537 ((struct instance_core__NativeArray
*)var242
)->values
[0]=var251
;
3539 var252
= ((val
*(*)(val
* self
))(var242
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var242
); /* native_to_s on <var242:NativeArray[String]>*/
3541 varonce241
= var242
;
3543 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var252
); /* Direct call abstract_compiler$AbstractCompilerVisitor$add on <var_v:AbstractCompilerVisitor>*/
3547 var253
= ((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>*/
3549 var_recv_var
= var253
;
3551 nitc___nitc__AbstractCompilerVisitor___ret(var_v
, var_recv_var
); /* Direct call abstract_compiler$AbstractCompilerVisitor$ret on <var_v:AbstractCompilerVisitor>*/
3554 nitc__light___AMethPropdef___compile_ffi_support_to_c(self
, var_v
); /* Direct call light$AMethPropdef$compile_ffi_support_to_c on <self:AMethPropdef>*/
3561 /* method light$CCompilationUnit$write_as_nitni for (self: CCompilationUnit, MModule, String) */
3562 void nitc__light___CCompilationUnit___write_as_nitni(val
* self
, val
* p0
, val
* p1
) {
3563 val
* var_mmodule
/* var mmodule: MModule */;
3564 val
* var_compdir
/* var compdir: String */;
3565 val
* var
/* : NativeArray[String] */;
3566 static val
* varonce
;
3567 static val
* varonce1
;
3568 val
* var2
/* : String */;
3569 char* var3
/* : CString */;
3570 val
* var4
/* : String */;
3571 val
* var5
/* : nullable Int */;
3572 val
* var6
/* : nullable Int */;
3573 val
* var7
/* : nullable Bool */;
3574 val
* var8
/* : nullable Bool */;
3575 val
* var9
/* : String */;
3576 val
* var10
/* : String */;
3577 val
* var_base_name
/* var base_name: String */;
3578 val
* var12
/* : NativeArray[String] */;
3579 static val
* varonce11
;
3580 static val
* varonce13
;
3581 val
* var14
/* : String */;
3582 char* var15
/* : CString */;
3583 val
* var16
/* : String */;
3584 val
* var17
/* : nullable Int */;
3585 val
* var18
/* : nullable Int */;
3586 val
* var19
/* : nullable Bool */;
3587 val
* var20
/* : nullable Bool */;
3588 val
* var21
/* : String */;
3589 val
* var_h_file
/* var h_file: String */;
3590 val
* var23
/* : NativeArray[String] */;
3591 static val
* varonce22
;
3592 static val
* varonce24
;
3593 val
* var25
/* : String */;
3594 char* var26
/* : CString */;
3595 val
* var27
/* : String */;
3596 val
* var28
/* : nullable Int */;
3597 val
* var29
/* : nullable Int */;
3598 val
* var30
/* : nullable Bool */;
3599 val
* var31
/* : nullable Bool */;
3600 val
* var32
/* : String */;
3601 val
* var33
/* : Array[String] */;
3602 val
* var35
/* : NativeArray[String] */;
3603 static val
* varonce34
;
3604 static val
* varonce36
;
3605 val
* var37
/* : String */;
3606 char* var38
/* : CString */;
3607 val
* var39
/* : String */;
3608 val
* var40
/* : nullable Int */;
3609 val
* var41
/* : nullable Int */;
3610 val
* var42
/* : nullable Bool */;
3611 val
* var43
/* : nullable Bool */;
3612 val
* var44
/* : String */;
3613 val
* var45
/* : String */;
3614 val
* var46
/* : Text */;
3615 val
* var47
/* : String */;
3616 val
* var49
/* : NativeArray[String] */;
3617 static val
* varonce48
;
3618 static val
* varonce50
;
3619 val
* var51
/* : String */;
3620 char* var52
/* : CString */;
3621 val
* var53
/* : String */;
3622 val
* var54
/* : nullable Int */;
3623 val
* var55
/* : nullable Int */;
3624 val
* var56
/* : nullable Bool */;
3625 val
* var57
/* : nullable Bool */;
3626 val
* var58
/* : String */;
3627 val
* var_c_file
/* var c_file: String */;
3628 val
* var60
/* : NativeArray[String] */;
3629 static val
* varonce59
;
3630 static val
* varonce61
;
3631 val
* var62
/* : String */;
3632 char* var63
/* : CString */;
3633 val
* var64
/* : String */;
3634 val
* var65
/* : nullable Int */;
3635 val
* var66
/* : nullable Int */;
3636 val
* var67
/* : nullable Bool */;
3637 val
* var68
/* : nullable Bool */;
3638 val
* var69
/* : String */;
3639 val
* var70
/* : Array[String] */;
3640 val
* var_
/* var : Array[String] */;
3641 val
* var72
/* : NativeArray[String] */;
3642 static val
* varonce71
;
3643 static val
* varonce73
;
3644 val
* var74
/* : String */;
3645 char* var75
/* : CString */;
3646 val
* var76
/* : String */;
3647 val
* var77
/* : nullable Int */;
3648 val
* var78
/* : nullable Int */;
3649 val
* var79
/* : nullable Bool */;
3650 val
* var80
/* : nullable Bool */;
3651 static val
* varonce81
;
3652 val
* var82
/* : String */;
3653 char* var83
/* : CString */;
3654 val
* var84
/* : String */;
3655 val
* var85
/* : nullable Int */;
3656 val
* var86
/* : nullable Int */;
3657 val
* var87
/* : nullable Bool */;
3658 val
* var88
/* : nullable Bool */;
3659 val
* var89
/* : String */;
3660 val
* var90
/* : Array[String] */;
3661 val
* var92
/* : Array[String] */;
3662 val
* var94
/* : NativeArray[String] */;
3663 static val
* varonce93
;
3664 static val
* varonce95
;
3665 val
* var96
/* : String */;
3666 char* var97
/* : CString */;
3667 val
* var98
/* : String */;
3668 val
* var99
/* : nullable Int */;
3669 val
* var100
/* : nullable Int */;
3670 val
* var101
/* : nullable Bool */;
3671 val
* var102
/* : nullable Bool */;
3672 val
* var103
/* : String */;
3675 if (unlikely(varonce
==NULL
)) {
3676 var
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
3677 if (likely(varonce1
!=NULL
)) {
3681 var5
= (val
*)(7l<<2|1);
3682 var6
= (val
*)(7l<<2|1);
3683 var7
= (val
*)((long)(0)<<2|3);
3684 var8
= (val
*)((long)(0)<<2|3);
3685 var4
= core__flat___CString___to_s_unsafe(var3
, var5
, var6
, var7
, var8
);
3689 ((struct instance_core__NativeArray
*)var
)->values
[1]=var2
;
3695 var9
= nitc___nitc__MModule___nitc__model_base__MEntity__c_name(var_mmodule
);
3697 ((struct instance_core__NativeArray
*)var
)->values
[0]=var9
;
3699 var10
= ((val
*(*)(val
* self
))(var
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var
); /* native_to_s on <var:NativeArray[String]>*/
3702 var_base_name
= var10
;
3703 if (unlikely(varonce11
==NULL
)) {
3704 var12
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
3705 if (likely(varonce13
!=NULL
)) {
3709 var17
= (val
*)(2l<<2|1);
3710 var18
= (val
*)(2l<<2|1);
3711 var19
= (val
*)((long)(0)<<2|3);
3712 var20
= (val
*)((long)(0)<<2|3);
3713 var16
= core__flat___CString___to_s_unsafe(var15
, var17
, var18
, var19
, var20
);
3717 ((struct instance_core__NativeArray
*)var12
)->values
[1]=var14
;
3722 ((struct instance_core__NativeArray
*)var12
)->values
[0]=var_base_name
;
3724 var21
= ((val
*(*)(val
* self
))(var12
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var12
); /* native_to_s on <var12:NativeArray[String]>*/
3728 if (unlikely(varonce22
==NULL
)) {
3729 var23
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
3730 if (likely(varonce24
!=NULL
)) {
3734 var28
= (val
*)(1l<<2|1);
3735 var29
= (val
*)(1l<<2|1);
3736 var30
= (val
*)((long)(0)<<2|3);
3737 var31
= (val
*)((long)(0)<<2|3);
3738 var27
= core__flat___CString___to_s_unsafe(var26
, var28
, var29
, var30
, var31
);
3742 ((struct instance_core__NativeArray
*)var23
)->values
[1]=var25
;
3747 ((struct instance_core__NativeArray
*)var23
)->values
[0]=var_compdir
;
3748 ((struct instance_core__NativeArray
*)var23
)->values
[2]=var_h_file
;
3750 var32
= ((val
*(*)(val
* self
))(var23
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var23
); /* native_to_s on <var23:NativeArray[String]>*/
3753 var33
= NEW_core__Array(&type_core__Array__core__String
);
3755 core___core__Array___core__kernel__Object__init(var33
); /* Direct call array$Array$init on <var33:Array[String]>*/
3757 if (unlikely(varonce34
==NULL
)) {
3758 var35
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
3759 if (likely(varonce36
!=NULL
)) {
3762 var38
= "_NITG_NITNI_H";
3763 var40
= (val
*)(13l<<2|1);
3764 var41
= (val
*)(13l<<2|1);
3765 var42
= (val
*)((long)(0)<<2|3);
3766 var43
= (val
*)((long)(0)<<2|3);
3767 var39
= core__flat___CString___to_s_unsafe(var38
, var40
, var41
, var42
, var43
);
3771 ((struct instance_core__NativeArray
*)var35
)->values
[1]=var37
;
3777 var44
= nitc___nitc__MModule___nitc__model_base__MEntity__c_name(var_mmodule
);
3780 var45
= core___core__String___Object__to_s(var44
);
3783 var46
= ((val
*(*)(val
* self
))(var45
->class->vft
[COLOR_core__abstract_text__Text__to_upper
]))(var45
); /* to_upper on <var45:String>*/
3785 ((struct instance_core__NativeArray
*)var35
)->values
[0]=var46
;
3787 var47
= ((val
*(*)(val
* self
))(var35
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var35
); /* native_to_s on <var35:NativeArray[String]>*/
3791 nitc__light_ffi_base___CCompilationUnit___write_header_to_file(self
, var_mmodule
, var32
, var33
, var47
); /* Direct call light_ffi_base$CCompilationUnit$write_header_to_file on <self:CCompilationUnit>*/
3793 if (unlikely(varonce48
==NULL
)) {
3794 var49
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
3795 if (likely(varonce50
!=NULL
)) {
3799 var54
= (val
*)(2l<<2|1);
3800 var55
= (val
*)(2l<<2|1);
3801 var56
= (val
*)((long)(0)<<2|3);
3802 var57
= (val
*)((long)(0)<<2|3);
3803 var53
= core__flat___CString___to_s_unsafe(var52
, var54
, var55
, var56
, var57
);
3807 ((struct instance_core__NativeArray
*)var49
)->values
[1]=var51
;
3812 ((struct instance_core__NativeArray
*)var49
)->values
[0]=var_base_name
;
3814 var58
= ((val
*(*)(val
* self
))(var49
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var49
); /* native_to_s on <var49:NativeArray[String]>*/
3818 if (unlikely(varonce59
==NULL
)) {
3819 var60
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
3820 if (likely(varonce61
!=NULL
)) {
3824 var65
= (val
*)(1l<<2|1);
3825 var66
= (val
*)(1l<<2|1);
3826 var67
= (val
*)((long)(0)<<2|3);
3827 var68
= (val
*)((long)(0)<<2|3);
3828 var64
= core__flat___CString___to_s_unsafe(var63
, var65
, var66
, var67
, var68
);
3832 ((struct instance_core__NativeArray
*)var60
)->values
[1]=var62
;
3837 ((struct instance_core__NativeArray
*)var60
)->values
[0]=var_compdir
;
3838 ((struct instance_core__NativeArray
*)var60
)->values
[2]=var_c_file
;
3840 var69
= ((val
*(*)(val
* self
))(var60
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var60
); /* native_to_s on <var60:NativeArray[String]>*/
3843 var70
= NEW_core__Array(&type_core__Array__core__String
);
3845 core___core__Array___with_capacity(var70
, 1l); /* Direct call array$Array$with_capacity on <var70:Array[String]>*/
3848 if (unlikely(varonce71
==NULL
)) {
3849 var72
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
3850 if (likely(varonce73
!=NULL
)) {
3854 var77
= (val
*)(1l<<2|1);
3855 var78
= (val
*)(1l<<2|1);
3856 var79
= (val
*)((long)(0)<<2|3);
3857 var80
= (val
*)((long)(0)<<2|3);
3858 var76
= core__flat___CString___to_s_unsafe(var75
, var77
, var78
, var79
, var80
);
3862 ((struct instance_core__NativeArray
*)var72
)->values
[0]=var74
;
3863 if (likely(varonce81
!=NULL
)) {
3867 var85
= (val
*)(1l<<2|1);
3868 var86
= (val
*)(1l<<2|1);
3869 var87
= (val
*)((long)(0)<<2|3);
3870 var88
= (val
*)((long)(0)<<2|3);
3871 var84
= core__flat___CString___to_s_unsafe(var83
, var85
, var86
, var87
, var88
);
3875 ((struct instance_core__NativeArray
*)var72
)->values
[2]=var82
;
3880 ((struct instance_core__NativeArray
*)var72
)->values
[1]=var_h_file
;
3882 var89
= ((val
*(*)(val
* self
))(var72
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var72
); /* native_to_s on <var72:NativeArray[String]>*/
3886 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, var89
); /* Direct call array$AbstractArray$push on <var_:Array[String]>*/
3889 nitc__light_ffi_base___CCompilationUnit___write_body_to_file(self
, var_mmodule
, var69
, var_
); /* Direct call light_ffi_base$CCompilationUnit$write_body_to_file on <self:CCompilationUnit>*/
3892 { /* Inline c_tools$CCompilationUnit$files (self) on <self:CCompilationUnit> */
3893 var92
= self
->attrs
[COLOR_nitc__c_tools__CCompilationUnit___files
].val
; /* _files on <self:CCompilationUnit> */
3894 if (unlikely(var92
== NULL
)) {
3895 if(catchStack
.cursor
>= 0){
3896 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3898 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
3899 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__c_tools
, 47);
3903 RET_LABEL91
:(void)0;
3906 if (unlikely(varonce93
==NULL
)) {
3907 var94
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
3908 if (likely(varonce95
!=NULL
)) {
3912 var99
= (val
*)(1l<<2|1);
3913 var100
= (val
*)(1l<<2|1);
3914 var101
= (val
*)((long)(0)<<2|3);
3915 var102
= (val
*)((long)(0)<<2|3);
3916 var98
= core__flat___CString___to_s_unsafe(var97
, var99
, var100
, var101
, var102
);
3920 ((struct instance_core__NativeArray
*)var94
)->values
[1]=var96
;
3925 ((struct instance_core__NativeArray
*)var94
)->values
[0]=var_compdir
;
3926 ((struct instance_core__NativeArray
*)var94
)->values
[2]=var_c_file
;
3928 var103
= ((val
*(*)(val
* self
))(var94
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var94
); /* native_to_s on <var94:NativeArray[String]>*/
3932 core___core__Array___core__abstract_collection__SimpleCollection__add(var90
, var103
); /* Direct call array$Array$add on <var90:Array[String]>*/