1 #include "nit__light.sep.0.h"
2 /* method light#MModule#nitni_ccu for (self: MModule): nullable CCompilationUnit */
3 val
* nit__light___MModule___nitni_ccu(val
* self
) {
4 val
* var
/* : nullable CCompilationUnit */;
5 val
* var1
/* : nullable CCompilationUnit */;
6 var1
= self
->attrs
[COLOR_nit__light__MModule___nitni_ccu
].val
; /* _nitni_ccu on <self:MModule> */
11 /* method light#MModule#nitni_ccu= for (self: MModule, nullable CCompilationUnit) */
12 void nit__light___MModule___nitni_ccu_61d(val
* self
, val
* p0
) {
13 self
->attrs
[COLOR_nit__light__MModule___nitni_ccu
].val
= p0
; /* _nitni_ccu on <self:MModule> */
16 /* method light#MModule#nmodule for (self: MModule, AbstractCompilerVisitor): nullable AModule */
17 val
* nit__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_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
29 if (unlikely(var3
== NULL
)) {
30 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
31 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
39 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var1) on <var1:AbstractCompiler> */
40 var6
= var1
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var1:AbstractCompiler> */
41 if (unlikely(var6
== NULL
)) {
42 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
43 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
51 var7
= nit__loader___ModelBuilder___mmodule2node(var4
, self
);
58 /* method light#MModule#finalize_ffi for (self: MModule, AbstractCompiler) */
59 void nit__light___MModule___finalize_ffi(val
* self
, val
* p0
) {
60 val
* var_compiler
/* var compiler: AbstractCompiler */;
61 short int var
/* : Bool */;
62 short int var2
/* : Bool */;
63 short int var3
/* : Bool */;
64 val
* var4
/* : AbstractCompilerVisitor */;
65 val
* var_v
/* var v: AbstractCompilerVisitor */;
66 val
* var5
/* : nullable AModule */;
67 val
* var_n
/* var n: nullable AModule */;
68 short int var6
/* : Bool */;
69 short int var7
/* : Bool */;
70 val
* var_other
/* var other: nullable Object */;
71 short int var9
/* : Bool */;
72 short int var11
/* : Bool */;
73 val
* var12
/* : AbstractCompiler */;
74 val
* var14
/* : AbstractCompiler */;
75 val
* var15
/* : Toolchain */;
76 val
* var17
/* : Toolchain */;
77 val
* var18
/* : String */;
78 val
* var19
/* : AbstractCompiler */;
79 val
* var21
/* : AbstractCompiler */;
80 val
* var22
/* : MModule */;
81 val
* var24
/* : MModule */;
82 val
* var25
/* : Array[ExternFile] */;
83 val
* var27
/* : Array[ExternFile] */;
84 val
* var_
/* var : Array[ExternFile] */;
85 val
* var28
/* : ArrayIterator[nullable Object] */;
86 val
* var_29
/* var : ArrayIterator[ExternFile] */;
87 short int var30
/* : Bool */;
88 val
* var31
/* : nullable Object */;
89 val
* var_file
/* var file: ExternFile */;
90 val
* var32
/* : AbstractCompiler */;
91 val
* var34
/* : AbstractCompiler */;
92 val
* var35
/* : Array[ExternFile] */;
93 val
* var37
/* : Array[ExternFile] */;
94 val
* var38
/* : nullable CCompilationUnit */;
95 val
* var40
/* : nullable CCompilationUnit */;
96 val
* var41
/* : Template */;
97 val
* var43
/* : Template */;
98 val
* var44
/* : NativeArray[String] */;
100 static val
* varonce45
;
101 val
* var46
/* : String */;
102 char* var47
/* : NativeString */;
103 val
* var48
/* : FlatString */;
104 static val
* varonce49
;
105 val
* var50
/* : String */;
106 char* var51
/* : NativeString */;
107 val
* var52
/* : FlatString */;
108 val
* var53
/* : String */;
109 val
* var54
/* : String */;
110 val
* var55
/* : nullable CCompilationUnit */;
111 val
* var57
/* : nullable CCompilationUnit */;
112 val
* var58
/* : Template */;
113 val
* var60
/* : Template */;
114 static val
* varonce61
;
115 val
* var62
/* : String */;
116 char* var63
/* : NativeString */;
117 val
* var64
/* : FlatString */;
118 val
* var65
/* : nullable CCompilationUnit */;
119 val
* var67
/* : nullable CCompilationUnit */;
120 val
* var68
/* : Template */;
121 val
* var70
/* : Template */;
122 static val
* varonce71
;
123 val
* var72
/* : String */;
124 char* var73
/* : NativeString */;
125 val
* var74
/* : FlatString */;
126 val
* var75
/* : MultiHashMap[String, String] */;
127 val
* var77
/* : MultiHashMap[String, String] */;
128 static val
* varonce78
;
129 val
* var79
/* : String */;
130 char* var80
/* : NativeString */;
131 val
* var81
/* : FlatString */;
132 val
* var82
/* : nullable Object */;
133 static val
* varonce83
;
134 val
* var84
/* : String */;
135 char* var85
/* : NativeString */;
136 val
* var86
/* : FlatString */;
137 val
* var87
/* : String */;
138 val
* var_cflags
/* var cflags: String */;
139 val
* var88
/* : nullable CCompilationUnit */;
140 val
* var90
/* : nullable CCompilationUnit */;
141 val
* var91
/* : AbstractCompiler */;
142 val
* var93
/* : AbstractCompiler */;
143 val
* var94
/* : Toolchain */;
144 val
* var96
/* : Toolchain */;
145 val
* var97
/* : String */;
146 val
* var98
/* : nullable CCompilationUnit */;
147 val
* var100
/* : nullable CCompilationUnit */;
148 val
* var101
/* : Array[String] */;
149 val
* var103
/* : Array[String] */;
150 val
* var_104
/* var : Array[String] */;
151 val
* var105
/* : ArrayIterator[nullable Object] */;
152 val
* var_106
/* var : ArrayIterator[String] */;
153 short int var107
/* : Bool */;
154 val
* var108
/* : nullable Object */;
155 val
* var_file109
/* var file: String */;
156 val
* var110
/* : ExternCFile */;
157 val
* var_f
/* var f: ExternCFile */;
158 val
* var111
/* : Array[String] */;
159 val
* var113
/* : Array[String] */;
160 val
* var114
/* : Array[String] */;
161 val
* var116
/* : Array[String] */;
162 val
* var117
/* : AbstractCompiler */;
163 val
* var119
/* : AbstractCompiler */;
164 val
* var120
/* : Array[ExternFile] */;
165 val
* var122
/* : Array[ExternFile] */;
166 val
* var125
/* : HashSet[AMethPropdef] */;
167 val
* var127
/* : HashSet[AMethPropdef] */;
168 val
* var129
/* : Array[ExternFile] */;
169 val
* var131
/* : Array[ExternFile] */;
172 { /* Inline light_ffi#MModule#uses_ffi (self) on <self:MModule> */
173 var2
= self
->attrs
[COLOR_nit__light_ffi__MModule___uses_ffi
].s
; /* _uses_ffi on <self:MModule> */
184 var4
= ((val
*(*)(val
* self
))(var_compiler
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompiler__new_visitor
]))(var_compiler
); /* new_visitor on <var_compiler:AbstractCompiler>*/
188 var5
= nit__light___MModule___nmodule(self
, var_v
);
192 var6
= 1; /* is null */
194 var6
= 0; /* arg is null but recv is not */
197 { /* Inline kernel#Object#== (var_n,((val*)NULL)) on <var_n:nullable AModule> */
198 var_other
= ((val
*)NULL
);
200 { /* Inline kernel#Object#is_same_instance (var_n,var_other) on <var_n:nullable AModule(AModule)> */
201 var11
= var_n
== var_other
;
218 nit__light_ffi___AModule___ensure_compile_ffi_wrapper(var_n
); /* Direct call light_ffi#AModule#ensure_compile_ffi_wrapper on <var_n:nullable AModule(AModule)>*/
221 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
222 var14
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
223 if (unlikely(var14
== NULL
)) {
224 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
225 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
233 { /* Inline abstract_compiler#AbstractCompiler#toolchain (var12) on <var12:AbstractCompiler> */
234 var17
= var12
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___toolchain
].val
; /* _toolchain on <var12:AbstractCompiler> */
235 if (unlikely(var17
== NULL
)) {
236 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolchain");
237 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 525);
245 var18
= nit___nit__Toolchain___compile_dir(var15
);
248 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
249 var21
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
250 if (unlikely(var21
== NULL
)) {
251 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
252 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
260 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var19) on <var19:AbstractCompiler> */
261 var24
= var19
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var19:AbstractCompiler> */
262 if (unlikely(var24
== NULL
)) {
263 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
264 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
272 nit__light_ffi___MModule___finalize_ffi_wrapper(self
, var18
, var22
); /* Direct call light_ffi#MModule#finalize_ffi_wrapper on <self:MModule>*/
275 { /* Inline light_ffi_base#MModule#ffi_files (self) on <self:MModule> */
276 var27
= self
->attrs
[COLOR_nit__light_ffi_base__MModule___ffi_files
].val
; /* _ffi_files on <self:MModule> */
277 if (unlikely(var27
== NULL
)) {
278 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ffi_files");
279 PRINT_ERROR(" (%s:%d)\n", FILE_nit__light_ffi_base
, 82);
288 var28
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
293 var30
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_29
);
297 var31
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_29
);
301 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
302 var34
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
303 if (unlikely(var34
== NULL
)) {
304 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
305 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
313 { /* Inline abstract_compiler#AbstractCompiler#extern_bodies (var32) on <var32:AbstractCompiler> */
314 var37
= var32
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <var32:AbstractCompiler> */
315 if (unlikely(var37
== NULL
)) {
316 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
317 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 979);
325 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var35
, var_file
); /* Direct call array#Array#add on <var35:Array[ExternFile]>*/
328 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_29
); /* Direct call array#ArrayIterator#next on <var_29:ArrayIterator[ExternFile]>*/
334 BREAK_label
: (void)0;
336 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_29
); /* Direct call array#ArrayIterator#finish on <var_29:ArrayIterator[ExternFile]>*/
339 nit__light___MModule___ensure_compile_nitni_base(self
, var_v
); /* Direct call light#MModule#ensure_compile_nitni_base on <self:MModule>*/
342 { /* Inline light#MModule#nitni_ccu (self) on <self:MModule> */
343 var40
= self
->attrs
[COLOR_nit__light__MModule___nitni_ccu
].val
; /* _nitni_ccu on <self:MModule> */
349 PRINT_ERROR("Runtime error: %s", "Receiver is null");
350 PRINT_ERROR(" (%s:%d)\n", FILE_nit__light
, 45);
353 { /* Inline c_tools#CCompilationUnit#header_c_types (var38) on <var38:nullable CCompilationUnit> */
354 if (unlikely(var38
== NULL
)) {
355 PRINT_ERROR("Runtime error: %s", "Receiver is null");
356 PRINT_ERROR(" (%s:%d)\n", FILE_nit__c_tools
, 31);
359 var43
= var38
->attrs
[COLOR_nit__c_tools__CCompilationUnit___header_c_types
].val
; /* _header_c_types on <var38:nullable CCompilationUnit> */
360 if (unlikely(var43
== NULL
)) {
361 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header_c_types");
362 PRINT_ERROR(" (%s:%d)\n", FILE_nit__c_tools
, 31);
369 if (unlikely(varonce
==NULL
)) {
370 var44
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
371 if (likely(varonce45
!=NULL
)) {
374 var47
= "#include \"";
375 var48
= standard___standard__NativeString___to_s_with_length(var47
, 10l);
379 ((struct instance_standard__NativeArray
*)var44
)->values
[0]=var46
;
380 if (likely(varonce49
!=NULL
)) {
383 var51
= "._ffi.h\"\n";
384 var52
= standard___standard__NativeString___to_s_with_length(var51
, 9l);
388 ((struct instance_standard__NativeArray
*)var44
)->values
[2]=var50
;
394 var53
= nit___nit__MModule___nit__model_base__MEntity__c_name(self
);
396 ((struct instance_standard__NativeArray
*)var44
)->values
[1]=var53
;
398 var54
= ((val
*(*)(val
* self
))(var44
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var44
); /* native_to_s on <var44:NativeArray[String]>*/
402 template___template__Template___add(var41
, var54
); /* Direct call template#Template#add on <var41:Template>*/
405 { /* Inline light#MModule#nitni_ccu (self) on <self:MModule> */
406 var57
= self
->attrs
[COLOR_nit__light__MModule___nitni_ccu
].val
; /* _nitni_ccu on <self:MModule> */
412 PRINT_ERROR("Runtime error: %s", "Receiver is null");
413 PRINT_ERROR(" (%s:%d)\n", FILE_nit__light
, 46);
416 { /* Inline c_tools#CCompilationUnit#header_c_types (var55) on <var55:nullable CCompilationUnit> */
417 if (unlikely(var55
== NULL
)) {
418 PRINT_ERROR("Runtime error: %s", "Receiver is null");
419 PRINT_ERROR(" (%s:%d)\n", FILE_nit__c_tools
, 31);
422 var60
= var55
->attrs
[COLOR_nit__c_tools__CCompilationUnit___header_c_types
].val
; /* _header_c_types on <var55:nullable CCompilationUnit> */
423 if (unlikely(var60
== NULL
)) {
424 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header_c_types");
425 PRINT_ERROR(" (%s:%d)\n", FILE_nit__c_tools
, 31);
432 if (likely(varonce61
!=NULL
)) {
435 var63
= "#include <stdint.h>\n";
436 var64
= standard___standard__NativeString___to_s_with_length(var63
, 20l);
441 template___template__Template___add(var58
, var62
); /* Direct call template#Template#add on <var58:Template>*/
444 { /* Inline light#MModule#nitni_ccu (self) on <self:MModule> */
445 var67
= self
->attrs
[COLOR_nit__light__MModule___nitni_ccu
].val
; /* _nitni_ccu on <self:MModule> */
451 PRINT_ERROR("Runtime error: %s", "Receiver is null");
452 PRINT_ERROR(" (%s:%d)\n", FILE_nit__light
, 47);
455 { /* Inline c_tools#CCompilationUnit#header_c_types (var65) on <var65:nullable CCompilationUnit> */
456 if (unlikely(var65
== NULL
)) {
457 PRINT_ERROR("Runtime error: %s", "Receiver is null");
458 PRINT_ERROR(" (%s:%d)\n", FILE_nit__c_tools
, 31);
461 var70
= var65
->attrs
[COLOR_nit__c_tools__CCompilationUnit___header_c_types
].val
; /* _header_c_types on <var65:nullable CCompilationUnit> */
462 if (unlikely(var70
== NULL
)) {
463 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header_c_types");
464 PRINT_ERROR(" (%s:%d)\n", FILE_nit__c_tools
, 31);
471 if (likely(varonce71
!=NULL
)) {
474 var73
= "extern void nitni_global_ref_incr(void*);\nextern void nitni_global_ref_decr(void*);\n";
475 var74
= standard___standard__NativeString___to_s_with_length(var73
, 84l);
480 template___template__Template___add(var68
, var72
); /* Direct call template#Template#add on <var68:Template>*/
483 { /* Inline light_c#MModule#cflags (self) on <self:MModule> */
484 var77
= self
->attrs
[COLOR_nit__light_c__MModule___cflags
].val
; /* _cflags on <self:MModule> */
485 if (unlikely(var77
== NULL
)) {
486 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _cflags");
487 PRINT_ERROR(" (%s:%d)\n", FILE_nit__light_c
, 77);
494 if (likely(varonce78
!=NULL
)) {
498 var81
= standard___standard__NativeString___to_s_with_length(var80
, 0l);
503 var82
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var75
, var79
);
505 if (likely(varonce83
!=NULL
)) {
509 var86
= standard___standard__NativeString___to_s_with_length(var85
, 1l);
514 var87
= standard__string___Collection___join(var82
, var84
);
518 { /* Inline light#MModule#nitni_ccu (self) on <self:MModule> */
519 var90
= self
->attrs
[COLOR_nit__light__MModule___nitni_ccu
].val
; /* _nitni_ccu on <self:MModule> */
525 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
526 var93
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
527 if (unlikely(var93
== NULL
)) {
528 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
529 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
537 { /* Inline abstract_compiler#AbstractCompiler#toolchain (var91) on <var91:AbstractCompiler> */
538 var96
= var91
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___toolchain
].val
; /* _toolchain on <var91:AbstractCompiler> */
539 if (unlikely(var96
== NULL
)) {
540 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolchain");
541 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 525);
549 var97
= nit___nit__Toolchain___compile_dir(var94
);
552 PRINT_ERROR("Runtime error: %s", "Receiver is null");
553 PRINT_ERROR(" (%s:%d)\n", FILE_nit__light
, 53);
556 nit__light___CCompilationUnit___write_as_nitni(var88
, self
, var97
); /* Direct call light#CCompilationUnit#write_as_nitni on <var88:nullable CCompilationUnit>*/
559 { /* Inline light#MModule#nitni_ccu (self) on <self:MModule> */
560 var100
= self
->attrs
[COLOR_nit__light__MModule___nitni_ccu
].val
; /* _nitni_ccu on <self:MModule> */
566 PRINT_ERROR("Runtime error: %s", "Receiver is null");
567 PRINT_ERROR(" (%s:%d)\n", FILE_nit__light
, 55);
570 { /* Inline c_tools#CCompilationUnit#files (var98) on <var98:nullable CCompilationUnit> */
571 if (unlikely(var98
== NULL
)) {
572 PRINT_ERROR("Runtime error: %s", "Receiver is null");
573 PRINT_ERROR(" (%s:%d)\n", FILE_nit__c_tools
, 47);
576 var103
= var98
->attrs
[COLOR_nit__c_tools__CCompilationUnit___files
].val
; /* _files on <var98:nullable CCompilationUnit> */
577 if (unlikely(var103
== NULL
)) {
578 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
579 PRINT_ERROR(" (%s:%d)\n", FILE_nit__c_tools
, 47);
583 RET_LABEL102
:(void)0;
588 var105
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_104
);
593 var107
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_106
);
597 var108
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_106
);
599 var_file109
= var108
;
600 var110
= NEW_nit__ExternCFile(&type_nit__ExternCFile
);
602 ((void(*)(val
* self
, val
* p0
))(var110
->class->vft
[COLOR_nit__c_tools__ExternFile__filename_61d
]))(var110
, var_file109
); /* filename= on <var110:ExternCFile>*/
605 ((void(*)(val
* self
, val
* p0
))(var110
->class->vft
[COLOR_nit__c_tools__ExternCFile__cflags_61d
]))(var110
, var_cflags
); /* cflags= on <var110:ExternCFile>*/
608 ((void(*)(val
* self
))(var110
->class->vft
[COLOR_standard__kernel__Object__init
]))(var110
); /* init on <var110:ExternCFile>*/
612 { /* Inline c_tools#ExternFile#pkgconfigs (var_f) on <var_f:ExternCFile> */
613 var113
= var_f
->attrs
[COLOR_nit__c_tools__ExternFile___pkgconfigs
].val
; /* _pkgconfigs on <var_f:ExternCFile> */
614 if (unlikely(var113
== NULL
)) {
615 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _pkgconfigs");
616 PRINT_ERROR(" (%s:%d)\n", FILE_nit__c_tools
, 123);
620 RET_LABEL112
:(void)0;
624 { /* Inline light_c#MModule#pkgconfigs (self) on <self:MModule> */
625 var116
= self
->attrs
[COLOR_nit__light_c__MModule___pkgconfigs
].val
; /* _pkgconfigs on <self:MModule> */
626 if (unlikely(var116
== NULL
)) {
627 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _pkgconfigs");
628 PRINT_ERROR(" (%s:%d)\n", FILE_nit__light_c
, 83);
632 RET_LABEL115
:(void)0;
636 standard___standard__Array___standard__abstract_collection__SimpleCollection__add_all(var111
, var114
); /* Direct call array#Array#add_all on <var111:Array[String]>*/
639 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
640 var119
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
641 if (unlikely(var119
== NULL
)) {
642 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
643 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
647 RET_LABEL118
:(void)0;
651 { /* Inline abstract_compiler#AbstractCompiler#extern_bodies (var117) on <var117:AbstractCompiler> */
652 var122
= var117
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <var117:AbstractCompiler> */
653 if (unlikely(var122
== NULL
)) {
654 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
655 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 979);
659 RET_LABEL121
:(void)0;
663 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var120
, var_f
); /* Direct call array#Array#add on <var120:Array[ExternFile]>*/
666 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_106
); /* Direct call array#ArrayIterator#next on <var_106:ArrayIterator[String]>*/
672 BREAK_label123
: (void)0;
674 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_106
); /* Direct call array#ArrayIterator#finish on <var_106:ArrayIterator[String]>*/
677 { /* Inline light#MModule#nitni_ccu= (self,((val*)NULL)) on <self:MModule> */
678 self
->attrs
[COLOR_nit__light__MModule___nitni_ccu
].val
= ((val
*)NULL
); /* _nitni_ccu on <self:MModule> */
679 RET_LABEL124
:(void)0;
683 { /* Inline light_ffi#MModule#compiled_ffi_methods (self) on <self:MModule> */
684 var127
= self
->attrs
[COLOR_nit__light_ffi__MModule___compiled_ffi_methods
].val
; /* _compiled_ffi_methods on <self:MModule> */
685 if (unlikely(var127
== NULL
)) {
686 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiled_ffi_methods");
687 PRINT_ERROR(" (%s:%d)\n", FILE_nit__light_ffi
, 66);
691 RET_LABEL126
:(void)0;
695 standard___standard__HashSet___standard__abstract_collection__RemovableCollection__clear(var125
); /* Direct call hash_collection#HashSet#clear on <var125:HashSet[AMethPropdef]>*/
698 { /* Inline light_ffi#MModule#ffi_ccu= (self,((val*)NULL)) on <self:MModule> */
699 self
->attrs
[COLOR_nit__light_ffi__MModule___ffi_ccu
].val
= ((val
*)NULL
); /* _ffi_ccu on <self:MModule> */
700 RET_LABEL128
:(void)0;
704 { /* Inline light_ffi_base#MModule#ffi_files (self) on <self:MModule> */
705 var131
= self
->attrs
[COLOR_nit__light_ffi_base__MModule___ffi_files
].val
; /* _ffi_files on <self:MModule> */
706 if (unlikely(var131
== NULL
)) {
707 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ffi_files");
708 PRINT_ERROR(" (%s:%d)\n", FILE_nit__light_ffi_base
, 82);
712 RET_LABEL130
:(void)0;
716 standard___standard__AbstractArray___standard__abstract_collection__RemovableCollection__clear(var129
); /* Direct call array#AbstractArray#clear on <var129:Array[ExternFile]>*/
720 /* method light#MModule#ensure_compile_nitni_base for (self: MModule, AbstractCompilerVisitor) */
721 void nit__light___MModule___ensure_compile_nitni_base(val
* self
, val
* p0
) {
722 val
* var_v
/* var v: AbstractCompilerVisitor */;
723 val
* var
/* : nullable CCompilationUnit */;
724 val
* var2
/* : nullable CCompilationUnit */;
725 short int var3
/* : Bool */;
726 short int var4
/* : Bool */;
727 val
* var_other
/* var other: nullable Object */;
728 short int var6
/* : Bool */;
729 short int var7
/* : Bool */;
730 val
* var8
/* : CCompilationUnit */;
733 { /* Inline light#MModule#nitni_ccu (self) on <self:MModule> */
734 var2
= self
->attrs
[COLOR_nit__light__MModule___nitni_ccu
].val
; /* _nitni_ccu on <self:MModule> */
740 var3
= 0; /* is null */
742 var3
= 1; /* arg is null and recv is not */
745 { /* Inline kernel#Object#!= (var,((val*)NULL)) on <var:nullable CCompilationUnit> */
746 var_other
= ((val
*)NULL
);
748 var6
= ((short int(*)(val
* self
, val
* p0
))(var
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var
, var_other
); /* == on <var:nullable CCompilationUnit(CCompilationUnit)>*/
761 var8
= NEW_nit__CCompilationUnit(&type_nit__CCompilationUnit
);
763 { /* Inline kernel#Object#init (var8) on <var8:CCompilationUnit> */
768 { /* Inline light#MModule#nitni_ccu= (self,var8) on <self:MModule> */
769 self
->attrs
[COLOR_nit__light__MModule___nitni_ccu
].val
= var8
; /* _nitni_ccu on <self:MModule> */
775 /* method light#MModule#collect_linker_libs for (self: MModule): nullable Array[String] */
776 val
* nit__light___MModule___collect_linker_libs(val
* self
) {
777 val
* var
/* : nullable Array[String] */;
778 val
* var1
/* : MultiHashMap[String, String] */;
779 val
* var3
/* : MultiHashMap[String, String] */;
780 val
* var4
/* : RemovableCollection[nullable Object] */;
782 val
* var5
/* : String */;
783 char* var6
/* : NativeString */;
784 val
* var7
/* : FlatString */;
785 short int var8
/* : Bool */;
786 short int var9
/* : Bool */;
787 val
* var10
/* : MultiHashMap[String, String] */;
788 val
* var12
/* : MultiHashMap[String, String] */;
789 static val
* varonce13
;
790 val
* var14
/* : String */;
791 char* var15
/* : NativeString */;
792 val
* var16
/* : FlatString */;
793 val
* var17
/* : nullable Object */;
795 { /* Inline light_c#MModule#ldflags (self) on <self:MModule> */
796 var3
= self
->attrs
[COLOR_nit__light_c__MModule___ldflags
].val
; /* _ldflags on <self:MModule> */
797 if (unlikely(var3
== NULL
)) {
798 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ldflags");
799 PRINT_ERROR(" (%s:%d)\n", FILE_nit__light_c
, 80);
807 var4
= standard___standard__HashMap___standard__abstract_collection__MapRead__keys(var1
);
809 if (likely(varonce
!=NULL
)) {
813 var7
= standard___standard__NativeString___to_s_with_length(var6
, 0l);
818 var8
= ((short int(*)(val
* self
, val
* p0
))((((long)var4
&3)?class_info
[((long)var4
&3)]:var4
->class)->vft
[COLOR_standard__abstract_collection__Collection__has
]))(var4
, var5
); /* has on <var4:RemovableCollection[nullable Object](RemovableCollection[String])>*/
827 { /* Inline light_c#MModule#ldflags (self) on <self:MModule> */
828 var12
= self
->attrs
[COLOR_nit__light_c__MModule___ldflags
].val
; /* _ldflags on <self:MModule> */
829 if (unlikely(var12
== NULL
)) {
830 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ldflags");
831 PRINT_ERROR(" (%s:%d)\n", FILE_nit__light_c
, 80);
838 if (likely(varonce13
!=NULL
)) {
842 var16
= standard___standard__NativeString___to_s_with_length(var15
, 0l);
847 var17
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var10
, var14
);
854 /* method light#AMethPropdef#compile_ffi_support_to_c for (self: AMethPropdef, AbstractCompilerVisitor) */
855 void nit__light___AMethPropdef___compile_ffi_support_to_c(val
* self
, val
* p0
) {
856 val
* var_v
/* var v: AbstractCompilerVisitor */;
857 val
* var
/* : nullable MPropDef */;
858 val
* var2
/* : nullable MPropDef */;
859 val
* var3
/* : MClassDef */;
860 val
* var5
/* : MClassDef */;
861 val
* var6
/* : MModule */;
862 val
* var8
/* : MModule */;
863 val
* var_mmodule
/* var mmodule: MModule */;
864 val
* var9
/* : AbstractCompiler */;
865 val
* var11
/* : AbstractCompiler */;
866 val
* var12
/* : ModelBuilder */;
867 val
* var14
/* : ModelBuilder */;
868 val
* var15
/* : nullable AModule */;
869 val
* var_amodule
/* var amodule: nullable AModule */;
870 val
* var16
/* : nullable MPropDef */;
871 val
* var18
/* : nullable MPropDef */;
872 val
* var19
/* : MClassDef */;
873 val
* var21
/* : MClassDef */;
874 val
* var22
/* : MClassType */;
875 val
* var24
/* : MClassType */;
876 val
* var_mclass_type
/* var mclass_type: MClassType */;
877 val
* var25
/* : nullable MPropDef */;
878 val
* var27
/* : nullable MPropDef */;
879 val
* var28
/* : MProperty */;
880 val
* var30
/* : MProperty */;
882 val
* var31
/* : String */;
883 char* var32
/* : NativeString */;
884 val
* var33
/* : FlatString */;
885 val
* var34
/* : SignatureLength */;
886 val
* var35
/* : CallContext */;
887 val
* var36
/* : String */;
888 val
* var_csignature
/* var csignature: String */;
889 val
* var38
/* : NativeArray[String] */;
890 static val
* varonce37
;
891 static val
* varonce39
;
892 val
* var40
/* : String */;
893 char* var41
/* : NativeString */;
894 val
* var42
/* : FlatString */;
895 val
* var43
/* : String */;
898 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AMethPropdef> */
899 var2
= self
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
905 PRINT_ERROR("Runtime error: %s", "Receiver is null");
906 PRINT_ERROR(" (%s:%d)\n", FILE_nit__light
, 86);
909 { /* Inline model#MPropDef#mclassdef (var) on <var:nullable MPropDef(nullable MMethodDef)> */
910 if (unlikely(var
== NULL
)) {
911 PRINT_ERROR("Runtime error: %s", "Receiver is null");
912 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
915 var5
= var
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var:nullable MPropDef(nullable MMethodDef)> */
916 if (unlikely(var5
== NULL
)) {
917 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
918 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
926 { /* Inline model#MClassDef#mmodule (var3) on <var3:MClassDef> */
927 var8
= var3
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var3:MClassDef> */
928 if (unlikely(var8
== NULL
)) {
929 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
930 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
939 { /* Inline abstract_compiler#AbstractCompilerVisitor#compiler (var_v) on <var_v:AbstractCompilerVisitor> */
940 var11
= var_v
->attrs
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor___compiler
].val
; /* _compiler on <var_v:AbstractCompilerVisitor> */
941 if (unlikely(var11
== NULL
)) {
942 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
943 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1102);
951 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (var9) on <var9:AbstractCompiler> */
952 var14
= var9
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <var9:AbstractCompiler> */
953 if (unlikely(var14
== NULL
)) {
954 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
955 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
963 var15
= nit__loader___ModelBuilder___mmodule2node(var12
, var_mmodule
);
967 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AMethPropdef> */
968 var18
= self
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
974 PRINT_ERROR("Runtime error: %s", "Receiver is null");
975 PRINT_ERROR(" (%s:%d)\n", FILE_nit__light
, 88);
978 { /* Inline model#MPropDef#mclassdef (var16) on <var16:nullable MPropDef(nullable MMethodDef)> */
979 if (unlikely(var16
== NULL
)) {
980 PRINT_ERROR("Runtime error: %s", "Receiver is null");
981 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
984 var21
= var16
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var16:nullable MPropDef(nullable MMethodDef)> */
985 if (unlikely(var21
== NULL
)) {
986 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
987 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
995 { /* Inline model#MClassDef#bound_mtype (var19) on <var19:MClassDef> */
996 var24
= var19
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var19:MClassDef> */
997 if (unlikely(var24
== NULL
)) {
998 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
999 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
1003 RET_LABEL23
:(void)0;
1006 var_mclass_type
= var22
;
1008 { /* Inline modelize_property#APropdef#mpropdef (self) on <self:AMethPropdef> */
1009 var27
= self
->attrs
[COLOR_nit__modelize_property__APropdef___mpropdef
].val
; /* _mpropdef on <self:AMethPropdef> */
1011 RET_LABEL26
:(void)0;
1014 if (var25
== NULL
) {
1015 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1016 PRINT_ERROR(" (%s:%d)\n", FILE_nit__light
, 91);
1019 { /* Inline model#MPropDef#mproperty (var25) on <var25:nullable MPropDef(nullable MMethodDef)> */
1020 if (unlikely(var25
== NULL
)) {
1021 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1022 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2212);
1025 var30
= var25
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var25:nullable MPropDef(nullable MMethodDef)> */
1026 if (unlikely(var30
== NULL
)) {
1027 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1028 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2212);
1032 RET_LABEL29
:(void)0;
1035 if (likely(varonce
!=NULL
)) {
1039 var33
= standard___standard__NativeString___to_s_with_length(var32
, 7l);
1044 var34
= nit__nitni_utilities___standard__Object___long_signature(self
);
1047 var35
= nit__nitni_utilities___standard__Object___internal_call_context(self
);
1050 var36
= nit__nitni_utilities___MMethod___build_csignature(var28
, var_mclass_type
, var_mmodule
, var31
, var34
, var35
);
1052 var_csignature
= var36
;
1053 if (unlikely(varonce37
==NULL
)) {
1054 var38
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
1055 if (likely(varonce39
!=NULL
)) {
1059 var42
= standard___standard__NativeString___to_s_with_length(var41
, 1l);
1063 ((struct instance_standard__NativeArray
*)var38
)->values
[1]=var40
;
1068 ((struct instance_standard__NativeArray
*)var38
)->values
[0]=var_csignature
;
1070 var43
= ((val
*(*)(val
* self
))(var38
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var38
); /* native_to_s on <var38:NativeArray[String]>*/
1074 nit___nit__AbstractCompilerVisitor___declare_once(var_v
, var43
); /* Direct call abstract_compiler#AbstractCompilerVisitor#declare_once on <var_v:AbstractCompilerVisitor>*/
1076 if (var_amodule
== NULL
) {
1077 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1078 PRINT_ERROR(" (%s:%d)\n", FILE_nit__light
, 95);
1081 nit__light_ffi___AModule___ensure_compile_ffi_wrapper(var_amodule
); /* Direct call light_ffi#AModule#ensure_compile_ffi_wrapper on <var_amodule:nullable AModule>*/
1084 nit__light_ffi___AMethPropdef___compile_ffi_method(self
, var_mmodule
); /* Direct call light_ffi#AMethPropdef#compile_ffi_method on <self:AMethPropdef>*/
1087 nit__light___MModule___ensure_compile_nitni_base(var_mmodule
, var_v
); /* Direct call light#MModule#ensure_compile_nitni_base on <var_mmodule:MModule>*/
1091 /* method light#AMethPropdef#compile_externmeth_to_c for (self: AMethPropdef, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]): Bool */
1092 short int nit__light___AMethPropdef___compile_externmeth_to_c(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1093 short int var
/* : Bool */;
1094 val
* var_v
/* var v: AbstractCompilerVisitor */;
1095 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
1096 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
1097 val
* var1
/* : nullable AExternCodeBlock */;
1098 val
* var3
/* : nullable AExternCodeBlock */;
1099 short int var4
/* : Bool */;
1100 short int var5
/* : Bool */;
1101 val
* var_other
/* var other: nullable Object */;
1102 short int var7
/* : Bool */;
1103 short int var9
/* : Bool */;
1104 short int var10
/* : Bool */;
1105 short int var11
/* : Bool */;
1106 short int var12
/* : Bool */;
1107 val
* var13
/* : MClassDef */;
1108 val
* var15
/* : MClassDef */;
1109 val
* var16
/* : MModule */;
1110 val
* var18
/* : MModule */;
1111 val
* var_mmodule
/* var mmodule: MModule */;
1112 val
* var20
/* : MClassDef */;
1113 val
* var22
/* : MClassDef */;
1114 val
* var23
/* : MClassType */;
1115 val
* var25
/* : MClassType */;
1116 val
* var_mclass_type
/* var mclass_type: MClassType */;
1117 val
* var26
/* : MProperty */;
1118 val
* var28
/* : MProperty */;
1119 val
* var29
/* : MClassDef */;
1120 val
* var31
/* : MClassDef */;
1121 val
* var32
/* : MClassType */;
1122 val
* var34
/* : MClassType */;
1123 static val
* varonce
;
1124 val
* var35
/* : String */;
1125 char* var36
/* : NativeString */;
1126 val
* var37
/* : FlatString */;
1127 val
* var38
/* : SignatureLength */;
1128 val
* var39
/* : String */;
1129 val
* var_externname
/* var externname: String */;
1130 val
* var_recv_var
/* var recv_var: nullable RuntimeVariable */;
1131 val
* var40
/* : nullable MSignature */;
1132 val
* var42
/* : nullable MSignature */;
1133 val
* var43
/* : nullable MType */;
1134 val
* var45
/* : nullable MType */;
1135 val
* var_return_mtype
/* var return_mtype: nullable MType */;
1136 short int var46
/* : Bool */;
1137 short int var47
/* : Bool */;
1138 val
* var_other49
/* var other: nullable Object */;
1139 short int var50
/* : Bool */;
1140 short int var51
/* : Bool */;
1141 val
* var52
/* : MType */;
1142 val
* var53
/* : RuntimeVariable */;
1143 val
* var54
/* : Array[String] */;
1144 val
* var_arguments_for_c
/* var arguments_for_c: Array[String] */;
1145 long var_a
/* var a: Int */;
1146 long var55
/* : Int */;
1147 long var57
/* : Int */;
1148 long var_
/* var : Int */;
1149 short int var58
/* : Bool */;
1150 short int var60
/* : Bool */;
1153 const char* var_class_name
;
1154 short int var61
/* : Bool */;
1155 val
* var62
/* : nullable Object */;
1156 val
* var_arg
/* var arg: RuntimeVariable */;
1157 short int var63
/* : Bool */;
1158 short int var65
/* : Bool */;
1159 val
* var66
/* : MClassDef */;
1160 val
* var68
/* : MClassDef */;
1161 val
* var69
/* : MClass */;
1162 val
* var71
/* : MClass */;
1163 val
* var72
/* : MClassType */;
1164 val
* var74
/* : MClassType */;
1165 val
* var_param_mtype
/* var param_mtype: MType */;
1166 val
* var75
/* : nullable MSignature */;
1167 val
* var77
/* : nullable MSignature */;
1168 val
* var78
/* : Array[MParameter] */;
1169 val
* var80
/* : Array[MParameter] */;
1170 long var81
/* : Int */;
1171 short int var83
/* : Bool */;
1174 const char* var_class_name86
;
1175 long var87
/* : Int */;
1176 val
* var88
/* : nullable Object */;
1177 val
* var89
/* : MType */;
1178 val
* var91
/* : MType */;
1179 val
* var92
/* : MType */;
1180 short int var93
/* : Bool */;
1181 val
* var94
/* : String */;
1182 val
* var96
/* : String */;
1183 val
* var98
/* : NativeArray[String] */;
1184 static val
* varonce97
;
1185 static val
* varonce99
;
1186 val
* var100
/* : String */;
1187 char* var101
/* : NativeString */;
1188 val
* var102
/* : FlatString */;
1189 static val
* varonce103
;
1190 val
* var104
/* : String */;
1191 char* var105
/* : NativeString */;
1192 val
* var106
/* : FlatString */;
1193 val
* var107
/* : String */;
1194 val
* var108
/* : String */;
1195 val
* var110
/* : NativeArray[String] */;
1196 static val
* varonce109
;
1197 static val
* varonce111
;
1198 val
* var112
/* : String */;
1199 char* var113
/* : NativeString */;
1200 val
* var114
/* : FlatString */;
1201 static val
* varonce115
;
1202 val
* var116
/* : String */;
1203 char* var117
/* : NativeString */;
1204 val
* var118
/* : FlatString */;
1205 val
* var119
/* : String */;
1206 val
* var120
/* : String */;
1207 val
* var122
/* : NativeArray[String] */;
1208 static val
* varonce121
;
1209 static val
* varonce123
;
1210 val
* var124
/* : String */;
1211 char* var125
/* : NativeString */;
1212 val
* var126
/* : FlatString */;
1213 static val
* varonce127
;
1214 val
* var128
/* : String */;
1215 char* var129
/* : NativeString */;
1216 val
* var130
/* : FlatString */;
1217 static val
* varonce131
;
1218 val
* var132
/* : String */;
1219 char* var133
/* : NativeString */;
1220 val
* var134
/* : FlatString */;
1221 val
* var135
/* : String */;
1222 val
* var136
/* : String */;
1223 val
* var138
/* : String */;
1224 val
* var139
/* : String */;
1225 val
* var141
/* : NativeArray[String] */;
1226 static val
* varonce140
;
1227 static val
* varonce142
;
1228 val
* var143
/* : String */;
1229 char* var144
/* : NativeString */;
1230 val
* var145
/* : FlatString */;
1231 val
* var146
/* : String */;
1232 val
* var147
/* : String */;
1233 long var148
/* : Int */;
1234 short int var149
/* : Bool */;
1235 short int var150
/* : Bool */;
1236 short int var152
/* : Bool */;
1237 short int var154
/* : Bool */;
1238 val
* var156
/* : NativeArray[String] */;
1239 static val
* varonce155
;
1240 static val
* varonce157
;
1241 val
* var158
/* : String */;
1242 char* var159
/* : NativeString */;
1243 val
* var160
/* : FlatString */;
1244 static val
* varonce161
;
1245 val
* var162
/* : String */;
1246 char* var163
/* : NativeString */;
1247 val
* var164
/* : FlatString */;
1248 static val
* varonce165
;
1249 val
* var166
/* : String */;
1250 char* var167
/* : NativeString */;
1251 val
* var168
/* : FlatString */;
1252 val
* var169
/* : String */;
1253 val
* var170
/* : String */;
1254 short int var171
/* : Bool */;
1255 short int var172
/* : Bool */;
1256 short int var174
/* : Bool */;
1257 short int var175
/* : Bool */;
1258 short int var176
/* : Bool */;
1259 val
* var178
/* : NativeArray[String] */;
1260 static val
* varonce177
;
1261 static val
* varonce179
;
1262 val
* var180
/* : String */;
1263 char* var181
/* : NativeString */;
1264 val
* var182
/* : FlatString */;
1265 static val
* varonce183
;
1266 val
* var184
/* : String */;
1267 char* var185
/* : NativeString */;
1268 val
* var186
/* : FlatString */;
1269 static val
* varonce187
;
1270 val
* var188
/* : String */;
1271 char* var189
/* : NativeString */;
1272 val
* var190
/* : FlatString */;
1273 val
* var191
/* : String */;
1274 static val
* varonce192
;
1275 val
* var193
/* : String */;
1276 char* var194
/* : NativeString */;
1277 val
* var195
/* : FlatString */;
1278 val
* var196
/* : String */;
1279 val
* var197
/* : String */;
1280 static val
* varonce198
;
1281 val
* var199
/* : String */;
1282 char* var200
/* : NativeString */;
1283 val
* var201
/* : FlatString */;
1284 val
* var203
/* : NativeArray[String] */;
1285 static val
* varonce202
;
1286 static val
* varonce204
;
1287 val
* var205
/* : String */;
1288 char* var206
/* : NativeString */;
1289 val
* var207
/* : FlatString */;
1290 static val
* varonce208
;
1291 val
* var209
/* : String */;
1292 char* var210
/* : NativeString */;
1293 val
* var211
/* : FlatString */;
1294 static val
* varonce212
;
1295 val
* var213
/* : String */;
1296 char* var214
/* : NativeString */;
1297 val
* var215
/* : FlatString */;
1298 static val
* varonce216
;
1299 val
* var217
/* : String */;
1300 char* var218
/* : NativeString */;
1301 val
* var219
/* : FlatString */;
1302 val
* var220
/* : String */;
1303 val
* var221
/* : String */;
1304 val
* var223
/* : NativeArray[String] */;
1305 static val
* varonce222
;
1306 static val
* varonce224
;
1307 val
* var225
/* : String */;
1308 char* var226
/* : NativeString */;
1309 val
* var227
/* : FlatString */;
1310 val
* var228
/* : String */;
1311 val
* var229
/* : String */;
1312 val
* var230
/* : RuntimeVariable */;
1317 { /* Inline parser_nodes#AMethPropdef#n_extern_code_block (self) on <self:AMethPropdef> */
1318 var3
= self
->attrs
[COLOR_nit__parser_nodes__AMethPropdef___n_extern_code_block
].val
; /* _n_extern_code_block on <self:AMethPropdef> */
1324 var4
= 1; /* is null */
1326 var4
= 0; /* arg is null but recv is not */
1329 { /* Inline kernel#Object#== (var1,((val*)NULL)) on <var1:nullable AExternCodeBlock> */
1330 var_other
= ((val
*)NULL
);
1332 { /* Inline kernel#Object#is_same_instance (var1,var_other) on <var1:nullable AExternCodeBlock(AExternCodeBlock)> */
1333 var9
= var1
== var_other
;
1347 var10
= ((short int(*)(val
* self
, val
* p0
, val
* p1
, val
* p2
))(self
->class->vft
[COLOR_nit__light___AMethPropdef___compile_externmeth_to_c
]))(self
, p0
, p1
, p2
); /* compile_externmeth_to_c on <self:AMethPropdef>*/
1354 var11
= nit__light_only___AMethPropdef___accept_externmeth(self
);
1363 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MMethodDef> */
1364 var15
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MMethodDef> */
1365 if (unlikely(var15
== NULL
)) {
1366 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
1367 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
1371 RET_LABEL14
:(void)0;
1375 { /* Inline model#MClassDef#mmodule (var13) on <var13:MClassDef> */
1376 var18
= var13
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var13:MClassDef> */
1377 if (unlikely(var18
== NULL
)) {
1378 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
1379 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
1383 RET_LABEL17
:(void)0;
1386 var_mmodule
= var16
;
1388 { /* Inline light_ffi#MModule#uses_ffi= (var_mmodule,1) on <var_mmodule:MModule> */
1389 var_mmodule
->attrs
[COLOR_nit__light_ffi__MModule___uses_ffi
].s
= 1; /* _uses_ffi on <var_mmodule:MModule> */
1390 RET_LABEL19
:(void)0;
1394 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MMethodDef> */
1395 var22
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MMethodDef> */
1396 if (unlikely(var22
== NULL
)) {
1397 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
1398 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
1402 RET_LABEL21
:(void)0;
1406 { /* Inline model#MClassDef#bound_mtype (var20) on <var20:MClassDef> */
1407 var25
= var20
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var20:MClassDef> */
1408 if (unlikely(var25
== NULL
)) {
1409 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
1410 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
1414 RET_LABEL24
:(void)0;
1417 var_mclass_type
= var23
;
1419 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
1420 var28
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MMethodDef> */
1421 if (unlikely(var28
== NULL
)) {
1422 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
1423 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2212);
1427 RET_LABEL27
:(void)0;
1431 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MMethodDef> */
1432 var31
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MMethodDef> */
1433 if (unlikely(var31
== NULL
)) {
1434 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
1435 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
1439 RET_LABEL30
:(void)0;
1443 { /* Inline model#MClassDef#bound_mtype (var29) on <var29:MClassDef> */
1444 var34
= var29
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var29:MClassDef> */
1445 if (unlikely(var34
== NULL
)) {
1446 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
1447 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
1451 RET_LABEL33
:(void)0;
1454 if (likely(varonce
!=NULL
)) {
1458 var37
= standard___standard__NativeString___to_s_with_length(var36
, 7l);
1463 var38
= nit__nitni_utilities___standard__Object___long_signature(self
);
1466 var39
= nit__nitni_utilities___MMethod___build_cname(var26
, var32
, var_mmodule
, var35
, var38
);
1468 var_externname
= var39
;
1469 var_recv_var
= ((val
*)NULL
);
1471 { /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:MMethodDef> */
1472 var42
= var_mpropdef
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:MMethodDef> */
1474 RET_LABEL41
:(void)0;
1477 if (var40
== NULL
) {
1478 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1479 PRINT_ERROR(" (%s:%d)\n", FILE_nit__light
, 122);
1482 { /* Inline model#MSignature#return_mtype (var40) on <var40:nullable MSignature> */
1483 if (unlikely(var40
== NULL
)) {
1484 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1485 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1768);
1488 var45
= var40
->attrs
[COLOR_nit__model__MSignature___return_mtype
].val
; /* _return_mtype on <var40:nullable MSignature> */
1490 RET_LABEL44
:(void)0;
1493 var_return_mtype
= var43
;
1494 if (var_return_mtype
== NULL
) {
1495 var46
= 0; /* is null */
1497 var46
= 1; /* arg is null and recv is not */
1500 { /* Inline kernel#Object#!= (var_return_mtype,((val*)NULL)) on <var_return_mtype:nullable MType> */
1501 var_other49
= ((val
*)NULL
);
1503 var50
= ((short int(*)(val
* self
, val
* p0
))(var_return_mtype
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_return_mtype
, var_other49
); /* == on <var_return_mtype:nullable MType(MType)>*/
1508 RET_LABEL48
:(void)0;
1514 var52
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_return_mtype
->class->vft
[COLOR_nit__model__MType__anchor_to
]))(var_return_mtype
, var_mmodule
, var_mclass_type
); /* anchor_to on <var_return_mtype:nullable MType(MType)>*/
1516 var_return_mtype
= var52
;
1518 var53
= nit___nit__AbstractCompilerVisitor___new_var(var_v
, var_return_mtype
);
1520 var_recv_var
= var53
;
1524 nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__adapt_signature(var_v
, var_mpropdef
, var_arguments
); /* Direct call separate_compiler#SeparateCompilerVisitor#adapt_signature on <var_v:AbstractCompilerVisitor>*/
1527 nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__unbox_signature_extern(var_v
, var_mpropdef
, var_arguments
); /* Direct call separate_compiler#SeparateCompilerVisitor#unbox_signature_extern on <var_v:AbstractCompilerVisitor>*/
1529 var54
= NEW_standard__Array(&type_standard__Array__standard__String
);
1531 standard___standard__Array___standard__kernel__Object__init(var54
); /* Direct call array#Array#init on <var54:Array[String]>*/
1533 var_arguments_for_c
= var54
;
1536 { /* Inline array#AbstractArrayRead#length (var_arguments) on <var_arguments:Array[RuntimeVariable]> */
1537 var57
= var_arguments
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_arguments:Array[RuntimeVariable]> */
1539 RET_LABEL56
:(void)0;
1545 { /* Inline kernel#Int#< (var_a,var_) on <var_a:Int> */
1546 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
1547 /* <var_:Int> isa OTHER */
1548 var60
= 1; /* easy <var_:Int> isa OTHER*/
1549 if (unlikely(!var60
)) {
1550 var_class_name
= type_standard__Int
.name
;
1551 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1552 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 534);
1555 var61
= var_a
< var_
;
1558 RET_LABEL59
:(void)0;
1563 var62
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments
, var_a
);
1567 { /* Inline kernel#Int#== (var_a,0l) on <var_a:Int> */
1568 var65
= var_a
== 0l;
1571 RET_LABEL64
:(void)0;
1576 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MMethodDef> */
1577 var68
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MMethodDef> */
1578 if (unlikely(var68
== NULL
)) {
1579 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
1580 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
1584 RET_LABEL67
:(void)0;
1588 { /* Inline model#MClassDef#mclass (var66) on <var66:MClassDef> */
1589 var71
= var66
->attrs
[COLOR_nit__model__MClassDef___mclass
].val
; /* _mclass on <var66:MClassDef> */
1590 if (unlikely(var71
== NULL
)) {
1591 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
1592 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 553);
1596 RET_LABEL70
:(void)0;
1600 { /* Inline model#MClass#mclass_type (var69) on <var69:MClass> */
1601 var74
= var69
->attrs
[COLOR_nit__model__MClass___mclass_type
].val
; /* _mclass_type on <var69:MClass> */
1602 if (unlikely(var74
== NULL
)) {
1603 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass_type");
1604 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 484);
1608 RET_LABEL73
:(void)0;
1611 var_param_mtype
= var72
;
1614 { /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:MMethodDef> */
1615 var77
= var_mpropdef
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:MMethodDef> */
1617 RET_LABEL76
:(void)0;
1620 if (var75
== NULL
) {
1621 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1622 PRINT_ERROR(" (%s:%d)\n", FILE_nit__light
, 137);
1625 { /* Inline model#MSignature#mparameters (var75) on <var75:nullable MSignature> */
1626 if (unlikely(var75
== NULL
)) {
1627 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1628 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1756);
1631 var80
= var75
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <var75:nullable MSignature> */
1632 if (unlikely(var80
== NULL
)) {
1633 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
1634 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1756);
1638 RET_LABEL79
:(void)0;
1642 { /* Inline kernel#Int#- (var_a,1l) on <var_a:Int> */
1643 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1644 /* <1l:Int> isa OTHER */
1645 var83
= 1; /* easy <1l:Int> isa OTHER*/
1646 if (unlikely(!var83
)) {
1647 var_class_name86
= type_standard__Int
.name
;
1648 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name86
);
1649 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 540);
1655 RET_LABEL82
:(void)0;
1659 var88
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var78
, var81
);
1662 { /* Inline model#MParameter#mtype (var88) on <var88:nullable Object(MParameter)> */
1663 var91
= var88
->attrs
[COLOR_nit__model__MParameter___mtype
].val
; /* _mtype on <var88:nullable Object(MParameter)> */
1664 if (unlikely(var91
== NULL
)) {
1665 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
1666 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1879);
1670 RET_LABEL90
:(void)0;
1673 var_param_mtype
= var89
;
1676 var92
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_param_mtype
->class->vft
[COLOR_nit__model__MType__anchor_to
]))(var_param_mtype
, var_mmodule
, var_mclass_type
); /* anchor_to on <var_param_mtype:MType>*/
1678 var_param_mtype
= var92
;
1680 var93
= ((short int(*)(val
* self
))(var_param_mtype
->class->vft
[COLOR_nit__nitni_base__MType__is_cprimitive
]))(var_param_mtype
); /* is_cprimitive on <var_param_mtype:MType>*/
1684 { /* Inline abstract_compiler#RuntimeVariable#name (var_arg) on <var_arg:RuntimeVariable> */
1685 var96
= var_arg
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___name
].val
; /* _name on <var_arg:RuntimeVariable> */
1686 if (unlikely(var96
== NULL
)) {
1687 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1688 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1781);
1692 RET_LABEL95
:(void)0;
1696 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_arguments_for_c
, var94
); /* Direct call array#Array#add on <var_arguments_for_c:Array[String]>*/
1699 if (unlikely(varonce97
==NULL
)) {
1700 var98
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
1701 if (likely(varonce99
!=NULL
)) {
1704 var101
= "struct nitni_instance* var_for_c_";
1705 var102
= standard___standard__NativeString___to_s_with_length(var101
, 33l);
1709 ((struct instance_standard__NativeArray
*)var98
)->values
[0]=var100
;
1710 if (likely(varonce103
!=NULL
)) {
1711 var104
= varonce103
;
1714 var106
= standard___standard__NativeString___to_s_with_length(var105
, 1l);
1716 varonce103
= var104
;
1718 ((struct instance_standard__NativeArray
*)var98
)->values
[2]=var104
;
1723 var107
= standard__string___Int___Object__to_s(var_a
);
1724 ((struct instance_standard__NativeArray
*)var98
)->values
[1]=var107
;
1726 var108
= ((val
*(*)(val
* self
))(var98
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var98
); /* native_to_s on <var98:NativeArray[String]>*/
1730 nit___nit__AbstractCompilerVisitor___add(var_v
, var108
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1732 if (unlikely(varonce109
==NULL
)) {
1733 var110
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
1734 if (likely(varonce111
!=NULL
)) {
1735 var112
= varonce111
;
1737 var113
= "var_for_c_";
1738 var114
= standard___standard__NativeString___to_s_with_length(var113
, 10l);
1740 varonce111
= var112
;
1742 ((struct instance_standard__NativeArray
*)var110
)->values
[0]=var112
;
1743 if (likely(varonce115
!=NULL
)) {
1744 var116
= varonce115
;
1746 var117
= " = nit_alloc(sizeof(struct nitni_instance));";
1747 var118
= standard___standard__NativeString___to_s_with_length(var117
, 44l);
1749 varonce115
= var116
;
1751 ((struct instance_standard__NativeArray
*)var110
)->values
[2]=var116
;
1753 var110
= varonce109
;
1756 var119
= standard__string___Int___Object__to_s(var_a
);
1757 ((struct instance_standard__NativeArray
*)var110
)->values
[1]=var119
;
1759 var120
= ((val
*(*)(val
* self
))(var110
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var110
); /* native_to_s on <var110:NativeArray[String]>*/
1761 varonce109
= var110
;
1763 nit___nit__AbstractCompilerVisitor___add(var_v
, var120
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1765 if (unlikely(varonce121
==NULL
)) {
1766 var122
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
1767 if (likely(varonce123
!=NULL
)) {
1768 var124
= varonce123
;
1770 var125
= "var_for_c_";
1771 var126
= standard___standard__NativeString___to_s_with_length(var125
, 10l);
1773 varonce123
= var124
;
1775 ((struct instance_standard__NativeArray
*)var122
)->values
[0]=var124
;
1776 if (likely(varonce127
!=NULL
)) {
1777 var128
= varonce127
;
1779 var129
= "->value = ";
1780 var130
= standard___standard__NativeString___to_s_with_length(var129
, 10l);
1782 varonce127
= var128
;
1784 ((struct instance_standard__NativeArray
*)var122
)->values
[2]=var128
;
1785 if (likely(varonce131
!=NULL
)) {
1786 var132
= varonce131
;
1789 var134
= standard___standard__NativeString___to_s_with_length(var133
, 1l);
1791 varonce131
= var132
;
1793 ((struct instance_standard__NativeArray
*)var122
)->values
[4]=var132
;
1795 var122
= varonce121
;
1798 var135
= standard__string___Int___Object__to_s(var_a
);
1799 ((struct instance_standard__NativeArray
*)var122
)->values
[1]=var135
;
1801 { /* Inline abstract_compiler#RuntimeVariable#name (var_arg) on <var_arg:RuntimeVariable> */
1802 var138
= var_arg
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___name
].val
; /* _name on <var_arg:RuntimeVariable> */
1803 if (unlikely(var138
== NULL
)) {
1804 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
1805 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1781);
1809 RET_LABEL137
:(void)0;
1812 ((struct instance_standard__NativeArray
*)var122
)->values
[3]=var136
;
1814 var139
= ((val
*(*)(val
* self
))(var122
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var122
); /* native_to_s on <var122:NativeArray[String]>*/
1816 varonce121
= var122
;
1818 nit___nit__AbstractCompilerVisitor___add(var_v
, var139
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1820 if (unlikely(varonce140
==NULL
)) {
1821 var141
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
1822 if (likely(varonce142
!=NULL
)) {
1823 var143
= varonce142
;
1825 var144
= "var_for_c_";
1826 var145
= standard___standard__NativeString___to_s_with_length(var144
, 10l);
1828 varonce142
= var143
;
1830 ((struct instance_standard__NativeArray
*)var141
)->values
[0]=var143
;
1832 var141
= varonce140
;
1835 var146
= standard__string___Int___Object__to_s(var_a
);
1836 ((struct instance_standard__NativeArray
*)var141
)->values
[1]=var146
;
1838 var147
= ((val
*(*)(val
* self
))(var141
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var141
); /* native_to_s on <var141:NativeArray[String]>*/
1840 varonce140
= var141
;
1842 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_arguments_for_c
, var147
); /* Direct call array#Array#add on <var_arguments_for_c:Array[String]>*/
1846 var148
= standard___standard__Int___Discrete__successor(var_a
, 1l);
1853 BREAK_label
: (void)0;
1854 if (var_recv_var
== NULL
) {
1855 var149
= 1; /* is null */
1857 var149
= 0; /* arg is null but recv is not */
1860 { /* Inline kernel#Object#== (var_recv_var,((val*)NULL)) on <var_recv_var:nullable RuntimeVariable> */
1861 var_other
= ((val
*)NULL
);
1863 { /* Inline kernel#Object#is_same_instance (var_recv_var,var_other) on <var_recv_var:nullable RuntimeVariable(RuntimeVariable)> */
1864 var154
= var_recv_var
== var_other
;
1867 RET_LABEL153
:(void)0;
1872 RET_LABEL151
:(void)0;
1877 if (unlikely(varonce155
==NULL
)) {
1878 var156
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
1879 if (likely(varonce157
!=NULL
)) {
1880 var158
= varonce157
;
1883 var160
= standard___standard__NativeString___to_s_with_length(var159
, 1l);
1885 varonce157
= var158
;
1887 ((struct instance_standard__NativeArray
*)var156
)->values
[1]=var158
;
1888 if (likely(varonce161
!=NULL
)) {
1889 var162
= varonce161
;
1892 var164
= standard___standard__NativeString___to_s_with_length(var163
, 2l);
1894 varonce161
= var162
;
1896 ((struct instance_standard__NativeArray
*)var156
)->values
[3]=var162
;
1898 var156
= varonce155
;
1901 ((struct instance_standard__NativeArray
*)var156
)->values
[0]=var_externname
;
1902 if (likely(varonce165
!=NULL
)) {
1903 var166
= varonce165
;
1906 var168
= standard___standard__NativeString___to_s_with_length(var167
, 2l);
1908 varonce165
= var166
;
1911 var169
= standard__string___Collection___join(var_arguments_for_c
, var166
);
1913 ((struct instance_standard__NativeArray
*)var156
)->values
[2]=var169
;
1915 var170
= ((val
*(*)(val
* self
))(var156
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var156
); /* native_to_s on <var156:NativeArray[String]>*/
1917 varonce155
= var156
;
1919 nit___nit__AbstractCompilerVisitor___add(var_v
, var170
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
1922 if (var_return_mtype
== NULL
) {
1923 var171
= 0; /* is null */
1925 var171
= 1; /* arg is null and recv is not */
1928 { /* Inline kernel#Object#!= (var_return_mtype,((val*)NULL)) on <var_return_mtype:nullable MType> */
1929 var_other49
= ((val
*)NULL
);
1931 var174
= ((short int(*)(val
* self
, val
* p0
))(var_return_mtype
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_return_mtype
, var_other49
); /* == on <var_return_mtype:nullable MType(MType)>*/
1936 RET_LABEL173
:(void)0;
1940 if (unlikely(!var171
)) {
1941 PRINT_ERROR("Runtime error: %s", "Assert failed");
1942 PRINT_ERROR(" (%s:%d)\n", FILE_nit__light
, 154);
1946 var176
= ((short int(*)(val
* self
))(var_return_mtype
->class->vft
[COLOR_nit__nitni_base__MType__is_cprimitive
]))(var_return_mtype
); /* is_cprimitive on <var_return_mtype:nullable MType(MType)>*/
1949 if (unlikely(varonce177
==NULL
)) {
1950 var178
= NEW_standard__NativeArray(6l, &type_standard__NativeArray__standard__String
);
1951 if (likely(varonce179
!=NULL
)) {
1952 var180
= varonce179
;
1955 var182
= standard___standard__NativeString___to_s_with_length(var181
, 3l);
1957 varonce179
= var180
;
1959 ((struct instance_standard__NativeArray
*)var178
)->values
[1]=var180
;
1960 if (likely(varonce183
!=NULL
)) {
1961 var184
= varonce183
;
1964 var186
= standard___standard__NativeString___to_s_with_length(var185
, 1l);
1966 varonce183
= var184
;
1968 ((struct instance_standard__NativeArray
*)var178
)->values
[3]=var184
;
1969 if (likely(varonce187
!=NULL
)) {
1970 var188
= varonce187
;
1973 var190
= standard___standard__NativeString___to_s_with_length(var189
, 2l);
1975 varonce187
= var188
;
1977 ((struct instance_standard__NativeArray
*)var178
)->values
[5]=var188
;
1979 var178
= varonce177
;
1983 var191
= ((val
*(*)(val
* self
))(var_recv_var
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_recv_var
); /* to_s on <var_recv_var:nullable RuntimeVariable(RuntimeVariable)>*/
1985 ((struct instance_standard__NativeArray
*)var178
)->values
[0]=var191
;
1986 ((struct instance_standard__NativeArray
*)var178
)->values
[2]=var_externname
;
1987 if (likely(varonce192
!=NULL
)) {
1988 var193
= varonce192
;
1991 var195
= standard___standard__NativeString___to_s_with_length(var194
, 2l);
1993 varonce192
= var193
;
1996 var196
= standard__string___Collection___join(var_arguments_for_c
, var193
);
1998 ((struct instance_standard__NativeArray
*)var178
)->values
[4]=var196
;
2000 var197
= ((val
*(*)(val
* self
))(var178
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var178
); /* native_to_s on <var178:NativeArray[String]>*/
2002 varonce177
= var178
;
2004 nit___nit__AbstractCompilerVisitor___add(var_v
, var197
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2007 if (likely(varonce198
!=NULL
)) {
2008 var199
= varonce198
;
2010 var200
= "struct nitni_instance* ret_var;";
2011 var201
= standard___standard__NativeString___to_s_with_length(var200
, 31l);
2013 varonce198
= var199
;
2016 nit___nit__AbstractCompilerVisitor___add(var_v
, var199
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2018 if (unlikely(varonce202
==NULL
)) {
2019 var203
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
2020 if (likely(varonce204
!=NULL
)) {
2021 var205
= varonce204
;
2023 var206
= "ret_var = ";
2024 var207
= standard___standard__NativeString___to_s_with_length(var206
, 10l);
2026 varonce204
= var205
;
2028 ((struct instance_standard__NativeArray
*)var203
)->values
[0]=var205
;
2029 if (likely(varonce208
!=NULL
)) {
2030 var209
= varonce208
;
2033 var211
= standard___standard__NativeString___to_s_with_length(var210
, 1l);
2035 varonce208
= var209
;
2037 ((struct instance_standard__NativeArray
*)var203
)->values
[2]=var209
;
2038 if (likely(varonce212
!=NULL
)) {
2039 var213
= varonce212
;
2042 var215
= standard___standard__NativeString___to_s_with_length(var214
, 2l);
2044 varonce212
= var213
;
2046 ((struct instance_standard__NativeArray
*)var203
)->values
[4]=var213
;
2048 var203
= varonce202
;
2051 ((struct instance_standard__NativeArray
*)var203
)->values
[1]=var_externname
;
2052 if (likely(varonce216
!=NULL
)) {
2053 var217
= varonce216
;
2056 var219
= standard___standard__NativeString___to_s_with_length(var218
, 2l);
2058 varonce216
= var217
;
2061 var220
= standard__string___Collection___join(var_arguments_for_c
, var217
);
2063 ((struct instance_standard__NativeArray
*)var203
)->values
[3]=var220
;
2065 var221
= ((val
*(*)(val
* self
))(var203
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var203
); /* native_to_s on <var203:NativeArray[String]>*/
2067 varonce202
= var203
;
2069 nit___nit__AbstractCompilerVisitor___add(var_v
, var221
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2071 if (unlikely(varonce222
==NULL
)) {
2072 var223
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
2073 if (likely(varonce224
!=NULL
)) {
2074 var225
= varonce224
;
2076 var226
= " = ret_var->value;";
2077 var227
= standard___standard__NativeString___to_s_with_length(var226
, 18l);
2079 varonce224
= var225
;
2081 ((struct instance_standard__NativeArray
*)var223
)->values
[1]=var225
;
2083 var223
= varonce222
;
2087 var228
= ((val
*(*)(val
* self
))(var_recv_var
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_recv_var
); /* to_s on <var_recv_var:nullable RuntimeVariable(RuntimeVariable)>*/
2089 ((struct instance_standard__NativeArray
*)var223
)->values
[0]=var228
;
2091 var229
= ((val
*(*)(val
* self
))(var223
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var223
); /* native_to_s on <var223:NativeArray[String]>*/
2093 varonce222
= var223
;
2095 nit___nit__AbstractCompilerVisitor___add(var_v
, var229
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2099 var230
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__box_extern
]))(var_v
, var_recv_var
, var_return_mtype
); /* box_extern on <var_v:AbstractCompilerVisitor>*/
2101 var_recv_var
= var230
;
2103 nit___nit__AbstractCompilerVisitor___ret(var_v
, var_recv_var
); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on <var_v:AbstractCompilerVisitor>*/
2107 nit__light___AMethPropdef___compile_ffi_support_to_c(self
, var_v
); /* Direct call light#AMethPropdef#compile_ffi_support_to_c on <self:AMethPropdef>*/
2114 /* method light#AMethPropdef#compile_externinit_to_c for (self: AMethPropdef, AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]): Bool */
2115 short int nit__light___AMethPropdef___compile_externinit_to_c(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2116 short int var
/* : Bool */;
2117 val
* var_v
/* var v: AbstractCompilerVisitor */;
2118 val
* var_mpropdef
/* var mpropdef: MMethodDef */;
2119 val
* var_arguments
/* var arguments: Array[RuntimeVariable] */;
2120 val
* var1
/* : nullable AExternCodeBlock */;
2121 val
* var3
/* : nullable AExternCodeBlock */;
2122 short int var4
/* : Bool */;
2123 short int var5
/* : Bool */;
2124 val
* var_other
/* var other: nullable Object */;
2125 short int var7
/* : Bool */;
2126 short int var9
/* : Bool */;
2127 short int var10
/* : Bool */;
2128 short int var11
/* : Bool */;
2129 short int var12
/* : Bool */;
2130 val
* var13
/* : MClassDef */;
2131 val
* var15
/* : MClassDef */;
2132 val
* var16
/* : MModule */;
2133 val
* var18
/* : MModule */;
2134 val
* var_mmodule
/* var mmodule: MModule */;
2135 val
* var20
/* : MClassDef */;
2136 val
* var22
/* : MClassDef */;
2137 val
* var23
/* : MClassType */;
2138 val
* var25
/* : MClassType */;
2139 val
* var_mclass_type
/* var mclass_type: MClassType */;
2140 val
* var26
/* : MProperty */;
2141 val
* var28
/* : MProperty */;
2142 val
* var29
/* : MClassDef */;
2143 val
* var31
/* : MClassDef */;
2144 val
* var32
/* : MClassType */;
2145 val
* var34
/* : MClassType */;
2146 static val
* varonce
;
2147 val
* var35
/* : String */;
2148 char* var36
/* : NativeString */;
2149 val
* var37
/* : FlatString */;
2150 val
* var38
/* : SignatureLength */;
2151 val
* var39
/* : String */;
2152 val
* var_externname
/* var externname: String */;
2153 val
* var40
/* : nullable Object */;
2154 val
* var41
/* : MType */;
2155 val
* var43
/* : MType */;
2156 val
* var_return_mtype
/* var return_mtype: MType */;
2157 val
* var44
/* : RuntimeVariable */;
2158 val
* var_recv_var
/* var recv_var: RuntimeVariable */;
2159 val
* var45
/* : nullable Object */;
2160 val
* var46
/* : Array[String] */;
2161 val
* var_arguments_for_c
/* var arguments_for_c: Array[String] */;
2162 long var_a
/* var a: Int */;
2163 long var47
/* : Int */;
2164 long var49
/* : Int */;
2165 long var_
/* var : Int */;
2166 short int var50
/* : Bool */;
2167 short int var52
/* : Bool */;
2170 const char* var_class_name
;
2171 short int var53
/* : Bool */;
2172 val
* var54
/* : nullable Object */;
2173 val
* var_arg
/* var arg: RuntimeVariable */;
2174 val
* var55
/* : nullable MSignature */;
2175 val
* var57
/* : nullable MSignature */;
2176 val
* var58
/* : Array[MParameter] */;
2177 val
* var60
/* : Array[MParameter] */;
2178 val
* var61
/* : nullable Object */;
2179 val
* var62
/* : MType */;
2180 val
* var64
/* : MType */;
2181 val
* var_param_mtype
/* var param_mtype: MType */;
2182 val
* var65
/* : MType */;
2183 short int var66
/* : Bool */;
2184 val
* var67
/* : String */;
2185 val
* var69
/* : String */;
2186 val
* var71
/* : NativeArray[String] */;
2187 static val
* varonce70
;
2188 static val
* varonce72
;
2189 val
* var73
/* : String */;
2190 char* var74
/* : NativeString */;
2191 val
* var75
/* : FlatString */;
2192 static val
* varonce76
;
2193 val
* var77
/* : String */;
2194 char* var78
/* : NativeString */;
2195 val
* var79
/* : FlatString */;
2196 val
* var80
/* : String */;
2197 val
* var81
/* : String */;
2198 val
* var83
/* : NativeArray[String] */;
2199 static val
* varonce82
;
2200 static val
* varonce84
;
2201 val
* var85
/* : String */;
2202 char* var86
/* : NativeString */;
2203 val
* var87
/* : FlatString */;
2204 static val
* varonce88
;
2205 val
* var89
/* : String */;
2206 char* var90
/* : NativeString */;
2207 val
* var91
/* : FlatString */;
2208 val
* var92
/* : String */;
2209 val
* var93
/* : String */;
2210 val
* var95
/* : NativeArray[String] */;
2211 static val
* varonce94
;
2212 static val
* varonce96
;
2213 val
* var97
/* : String */;
2214 char* var98
/* : NativeString */;
2215 val
* var99
/* : FlatString */;
2216 static val
* varonce100
;
2217 val
* var101
/* : String */;
2218 char* var102
/* : NativeString */;
2219 val
* var103
/* : FlatString */;
2220 static val
* varonce104
;
2221 val
* var105
/* : String */;
2222 char* var106
/* : NativeString */;
2223 val
* var107
/* : FlatString */;
2224 val
* var108
/* : String */;
2225 val
* var109
/* : String */;
2226 val
* var111
/* : String */;
2227 val
* var112
/* : String */;
2228 val
* var114
/* : NativeArray[String] */;
2229 static val
* varonce113
;
2230 static val
* varonce115
;
2231 val
* var116
/* : String */;
2232 char* var117
/* : NativeString */;
2233 val
* var118
/* : FlatString */;
2234 val
* var119
/* : String */;
2235 val
* var120
/* : String */;
2236 long var121
/* : Int */;
2237 short int var122
/* : Bool */;
2238 val
* var124
/* : NativeArray[String] */;
2239 static val
* varonce123
;
2240 static val
* varonce125
;
2241 val
* var126
/* : String */;
2242 char* var127
/* : NativeString */;
2243 val
* var128
/* : FlatString */;
2244 static val
* varonce129
;
2245 val
* var130
/* : String */;
2246 char* var131
/* : NativeString */;
2247 val
* var132
/* : FlatString */;
2248 static val
* varonce133
;
2249 val
* var134
/* : String */;
2250 char* var135
/* : NativeString */;
2251 val
* var136
/* : FlatString */;
2252 val
* var137
/* : String */;
2253 static val
* varonce138
;
2254 val
* var139
/* : String */;
2255 char* var140
/* : NativeString */;
2256 val
* var141
/* : FlatString */;
2257 val
* var142
/* : String */;
2258 val
* var143
/* : String */;
2259 static val
* varonce144
;
2260 val
* var145
/* : String */;
2261 char* var146
/* : NativeString */;
2262 val
* var147
/* : FlatString */;
2263 val
* var149
/* : NativeArray[String] */;
2264 static val
* varonce148
;
2265 static val
* varonce150
;
2266 val
* var151
/* : String */;
2267 char* var152
/* : NativeString */;
2268 val
* var153
/* : FlatString */;
2269 static val
* varonce154
;
2270 val
* var155
/* : String */;
2271 char* var156
/* : NativeString */;
2272 val
* var157
/* : FlatString */;
2273 static val
* varonce158
;
2274 val
* var159
/* : String */;
2275 char* var160
/* : NativeString */;
2276 val
* var161
/* : FlatString */;
2277 static val
* varonce162
;
2278 val
* var163
/* : String */;
2279 char* var164
/* : NativeString */;
2280 val
* var165
/* : FlatString */;
2281 val
* var166
/* : String */;
2282 val
* var167
/* : String */;
2283 val
* var169
/* : NativeArray[String] */;
2284 static val
* varonce168
;
2285 static val
* varonce170
;
2286 val
* var171
/* : String */;
2287 char* var172
/* : NativeString */;
2288 val
* var173
/* : FlatString */;
2289 val
* var174
/* : String */;
2290 val
* var175
/* : String */;
2291 val
* var176
/* : RuntimeVariable */;
2296 { /* Inline parser_nodes#AMethPropdef#n_extern_code_block (self) on <self:AMethPropdef> */
2297 var3
= self
->attrs
[COLOR_nit__parser_nodes__AMethPropdef___n_extern_code_block
].val
; /* _n_extern_code_block on <self:AMethPropdef> */
2303 var4
= 1; /* is null */
2305 var4
= 0; /* arg is null but recv is not */
2308 { /* Inline kernel#Object#== (var1,((val*)NULL)) on <var1:nullable AExternCodeBlock> */
2309 var_other
= ((val
*)NULL
);
2311 { /* Inline kernel#Object#is_same_instance (var1,var_other) on <var1:nullable AExternCodeBlock(AExternCodeBlock)> */
2312 var9
= var1
== var_other
;
2326 var10
= ((short int(*)(val
* self
, val
* p0
, val
* p1
, val
* p2
))(self
->class->vft
[COLOR_nit__light___AMethPropdef___compile_externinit_to_c
]))(self
, p0
, p1
, p2
); /* compile_externinit_to_c on <self:AMethPropdef>*/
2333 var11
= nit__light_only___AMethPropdef___accept_externmeth(self
);
2342 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MMethodDef> */
2343 var15
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MMethodDef> */
2344 if (unlikely(var15
== NULL
)) {
2345 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
2346 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
2350 RET_LABEL14
:(void)0;
2354 { /* Inline model#MClassDef#mmodule (var13) on <var13:MClassDef> */
2355 var18
= var13
->attrs
[COLOR_nit__model__MClassDef___mmodule
].val
; /* _mmodule on <var13:MClassDef> */
2356 if (unlikely(var18
== NULL
)) {
2357 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mmodule");
2358 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 550);
2362 RET_LABEL17
:(void)0;
2365 var_mmodule
= var16
;
2367 { /* Inline light_ffi#MModule#uses_ffi= (var_mmodule,1) on <var_mmodule:MModule> */
2368 var_mmodule
->attrs
[COLOR_nit__light_ffi__MModule___uses_ffi
].s
= 1; /* _uses_ffi on <var_mmodule:MModule> */
2369 RET_LABEL19
:(void)0;
2373 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MMethodDef> */
2374 var22
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MMethodDef> */
2375 if (unlikely(var22
== NULL
)) {
2376 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
2377 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
2381 RET_LABEL21
:(void)0;
2385 { /* Inline model#MClassDef#bound_mtype (var20) on <var20:MClassDef> */
2386 var25
= var20
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var20:MClassDef> */
2387 if (unlikely(var25
== NULL
)) {
2388 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
2389 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
2393 RET_LABEL24
:(void)0;
2396 var_mclass_type
= var23
;
2398 { /* Inline model#MPropDef#mproperty (var_mpropdef) on <var_mpropdef:MMethodDef> */
2399 var28
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mproperty
].val
; /* _mproperty on <var_mpropdef:MMethodDef> */
2400 if (unlikely(var28
== NULL
)) {
2401 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mproperty");
2402 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2212);
2406 RET_LABEL27
:(void)0;
2410 { /* Inline model#MPropDef#mclassdef (var_mpropdef) on <var_mpropdef:MMethodDef> */
2411 var31
= var_mpropdef
->attrs
[COLOR_nit__model__MPropDef___mclassdef
].val
; /* _mclassdef on <var_mpropdef:MMethodDef> */
2412 if (unlikely(var31
== NULL
)) {
2413 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclassdef");
2414 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 2209);
2418 RET_LABEL30
:(void)0;
2422 { /* Inline model#MClassDef#bound_mtype (var29) on <var29:MClassDef> */
2423 var34
= var29
->attrs
[COLOR_nit__model__MClassDef___bound_mtype
].val
; /* _bound_mtype on <var29:MClassDef> */
2424 if (unlikely(var34
== NULL
)) {
2425 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _bound_mtype");
2426 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 556);
2430 RET_LABEL33
:(void)0;
2433 if (likely(varonce
!=NULL
)) {
2437 var37
= standard___standard__NativeString___to_s_with_length(var36
, 7l);
2442 var38
= nit__nitni_utilities___standard__Object___long_signature(self
);
2445 var39
= nit__nitni_utilities___MMethod___build_cname(var26
, var32
, var_mmodule
, var35
, var38
);
2447 var_externname
= var39
;
2449 var40
= standard___standard__SequenceRead___Collection__first(var_arguments
);
2452 { /* Inline abstract_compiler#RuntimeVariable#mtype (var40) on <var40:nullable Object(RuntimeVariable)> */
2453 var43
= var40
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___mtype
].val
; /* _mtype on <var40:nullable Object(RuntimeVariable)> */
2454 if (unlikely(var43
== NULL
)) {
2455 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2456 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1784);
2460 RET_LABEL42
:(void)0;
2463 var_return_mtype
= var41
;
2465 var44
= nit___nit__AbstractCompilerVisitor___new_var(var_v
, var_return_mtype
);
2467 var_recv_var
= var44
;
2469 nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__adapt_signature(var_v
, var_mpropdef
, var_arguments
); /* Direct call separate_compiler#SeparateCompilerVisitor#adapt_signature on <var_v:AbstractCompilerVisitor>*/
2472 nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__unbox_signature_extern(var_v
, var_mpropdef
, var_arguments
); /* Direct call separate_compiler#SeparateCompilerVisitor#unbox_signature_extern on <var_v:AbstractCompilerVisitor>*/
2475 var45
= standard___standard__AbstractArray___standard__abstract_collection__Sequence__shift(var_arguments
);
2477 var46
= NEW_standard__Array(&type_standard__Array__standard__String
);
2479 standard___standard__Array___standard__kernel__Object__init(var46
); /* Direct call array#Array#init on <var46:Array[String]>*/
2481 var_arguments_for_c
= var46
;
2484 { /* Inline array#AbstractArrayRead#length (var_arguments) on <var_arguments:Array[RuntimeVariable]> */
2485 var49
= var_arguments
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_arguments:Array[RuntimeVariable]> */
2487 RET_LABEL48
:(void)0;
2493 { /* Inline kernel#Int#< (var_a,var_) on <var_a:Int> */
2494 /* Covariant cast for argument 0 (i) <var_:Int> isa OTHER */
2495 /* <var_:Int> isa OTHER */
2496 var52
= 1; /* easy <var_:Int> isa OTHER*/
2497 if (unlikely(!var52
)) {
2498 var_class_name
= type_standard__Int
.name
;
2499 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2500 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 534);
2503 var53
= var_a
< var_
;
2506 RET_LABEL51
:(void)0;
2511 var54
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var_arguments
, var_a
);
2515 { /* Inline model#MMethodDef#msignature (var_mpropdef) on <var_mpropdef:MMethodDef> */
2516 var57
= var_mpropdef
->attrs
[COLOR_nit__model__MMethodDef___msignature
].val
; /* _msignature on <var_mpropdef:MMethodDef> */
2518 RET_LABEL56
:(void)0;
2521 if (var55
== NULL
) {
2522 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2523 PRINT_ERROR(" (%s:%d)\n", FILE_nit__light
, 195);
2526 { /* Inline model#MSignature#mparameters (var55) on <var55:nullable MSignature> */
2527 if (unlikely(var55
== NULL
)) {
2528 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2529 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1756);
2532 var60
= var55
->attrs
[COLOR_nit__model__MSignature___mparameters
].val
; /* _mparameters on <var55:nullable MSignature> */
2533 if (unlikely(var60
== NULL
)) {
2534 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mparameters");
2535 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1756);
2539 RET_LABEL59
:(void)0;
2543 var61
= standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var58
, var_a
);
2546 { /* Inline model#MParameter#mtype (var61) on <var61:nullable Object(MParameter)> */
2547 var64
= var61
->attrs
[COLOR_nit__model__MParameter___mtype
].val
; /* _mtype on <var61:nullable Object(MParameter)> */
2548 if (unlikely(var64
== NULL
)) {
2549 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mtype");
2550 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1879);
2554 RET_LABEL63
:(void)0;
2557 var_param_mtype
= var62
;
2559 var65
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_param_mtype
->class->vft
[COLOR_nit__model__MType__anchor_to
]))(var_param_mtype
, var_mmodule
, var_mclass_type
); /* anchor_to on <var_param_mtype:MType>*/
2561 var_param_mtype
= var65
;
2563 var66
= ((short int(*)(val
* self
))(var_param_mtype
->class->vft
[COLOR_nit__nitni_base__MType__is_cprimitive
]))(var_param_mtype
); /* is_cprimitive on <var_param_mtype:MType>*/
2567 { /* Inline abstract_compiler#RuntimeVariable#name (var_arg) on <var_arg:RuntimeVariable> */
2568 var69
= var_arg
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___name
].val
; /* _name on <var_arg:RuntimeVariable> */
2569 if (unlikely(var69
== NULL
)) {
2570 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2571 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1781);
2575 RET_LABEL68
:(void)0;
2579 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_arguments_for_c
, var67
); /* Direct call array#Array#add on <var_arguments_for_c:Array[String]>*/
2582 if (unlikely(varonce70
==NULL
)) {
2583 var71
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2584 if (likely(varonce72
!=NULL
)) {
2587 var74
= "struct nitni_instance* var_for_c_";
2588 var75
= standard___standard__NativeString___to_s_with_length(var74
, 33l);
2592 ((struct instance_standard__NativeArray
*)var71
)->values
[0]=var73
;
2593 if (likely(varonce76
!=NULL
)) {
2597 var79
= standard___standard__NativeString___to_s_with_length(var78
, 1l);
2601 ((struct instance_standard__NativeArray
*)var71
)->values
[2]=var77
;
2606 var80
= standard__string___Int___Object__to_s(var_a
);
2607 ((struct instance_standard__NativeArray
*)var71
)->values
[1]=var80
;
2609 var81
= ((val
*(*)(val
* self
))(var71
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var71
); /* native_to_s on <var71:NativeArray[String]>*/
2613 nit___nit__AbstractCompilerVisitor___add(var_v
, var81
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2615 if (unlikely(varonce82
==NULL
)) {
2616 var83
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2617 if (likely(varonce84
!=NULL
)) {
2620 var86
= "var_for_c_";
2621 var87
= standard___standard__NativeString___to_s_with_length(var86
, 10l);
2625 ((struct instance_standard__NativeArray
*)var83
)->values
[0]=var85
;
2626 if (likely(varonce88
!=NULL
)) {
2629 var90
= " = nit_alloc(sizeof(struct nitni_instance));";
2630 var91
= standard___standard__NativeString___to_s_with_length(var90
, 44l);
2634 ((struct instance_standard__NativeArray
*)var83
)->values
[2]=var89
;
2639 var92
= standard__string___Int___Object__to_s(var_a
);
2640 ((struct instance_standard__NativeArray
*)var83
)->values
[1]=var92
;
2642 var93
= ((val
*(*)(val
* self
))(var83
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var83
); /* native_to_s on <var83:NativeArray[String]>*/
2646 nit___nit__AbstractCompilerVisitor___add(var_v
, var93
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2648 if (unlikely(varonce94
==NULL
)) {
2649 var95
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
2650 if (likely(varonce96
!=NULL
)) {
2653 var98
= "var_for_c_";
2654 var99
= standard___standard__NativeString___to_s_with_length(var98
, 10l);
2658 ((struct instance_standard__NativeArray
*)var95
)->values
[0]=var97
;
2659 if (likely(varonce100
!=NULL
)) {
2660 var101
= varonce100
;
2662 var102
= "->value = ";
2663 var103
= standard___standard__NativeString___to_s_with_length(var102
, 10l);
2665 varonce100
= var101
;
2667 ((struct instance_standard__NativeArray
*)var95
)->values
[2]=var101
;
2668 if (likely(varonce104
!=NULL
)) {
2669 var105
= varonce104
;
2672 var107
= standard___standard__NativeString___to_s_with_length(var106
, 1l);
2674 varonce104
= var105
;
2676 ((struct instance_standard__NativeArray
*)var95
)->values
[4]=var105
;
2681 var108
= standard__string___Int___Object__to_s(var_a
);
2682 ((struct instance_standard__NativeArray
*)var95
)->values
[1]=var108
;
2684 { /* Inline abstract_compiler#RuntimeVariable#name (var_arg) on <var_arg:RuntimeVariable> */
2685 var111
= var_arg
->attrs
[COLOR_nit__abstract_compiler__RuntimeVariable___name
].val
; /* _name on <var_arg:RuntimeVariable> */
2686 if (unlikely(var111
== NULL
)) {
2687 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2688 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1781);
2692 RET_LABEL110
:(void)0;
2695 ((struct instance_standard__NativeArray
*)var95
)->values
[3]=var109
;
2697 var112
= ((val
*(*)(val
* self
))(var95
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var95
); /* native_to_s on <var95:NativeArray[String]>*/
2701 nit___nit__AbstractCompilerVisitor___add(var_v
, var112
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2703 if (unlikely(varonce113
==NULL
)) {
2704 var114
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
2705 if (likely(varonce115
!=NULL
)) {
2706 var116
= varonce115
;
2708 var117
= "var_for_c_";
2709 var118
= standard___standard__NativeString___to_s_with_length(var117
, 10l);
2711 varonce115
= var116
;
2713 ((struct instance_standard__NativeArray
*)var114
)->values
[0]=var116
;
2715 var114
= varonce113
;
2718 var119
= standard__string___Int___Object__to_s(var_a
);
2719 ((struct instance_standard__NativeArray
*)var114
)->values
[1]=var119
;
2721 var120
= ((val
*(*)(val
* self
))(var114
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var114
); /* native_to_s on <var114:NativeArray[String]>*/
2723 varonce113
= var114
;
2725 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_arguments_for_c
, var120
); /* Direct call array#Array#add on <var_arguments_for_c:Array[String]>*/
2729 var121
= standard___standard__Int___Discrete__successor(var_a
, 1l);
2736 BREAK_label
: (void)0;
2738 var122
= ((short int(*)(val
* self
))(var_return_mtype
->class->vft
[COLOR_nit__nitni_base__MType__is_cprimitive
]))(var_return_mtype
); /* is_cprimitive on <var_return_mtype:MType>*/
2741 if (unlikely(varonce123
==NULL
)) {
2742 var124
= NEW_standard__NativeArray(6l, &type_standard__NativeArray__standard__String
);
2743 if (likely(varonce125
!=NULL
)) {
2744 var126
= varonce125
;
2747 var128
= standard___standard__NativeString___to_s_with_length(var127
, 3l);
2749 varonce125
= var126
;
2751 ((struct instance_standard__NativeArray
*)var124
)->values
[1]=var126
;
2752 if (likely(varonce129
!=NULL
)) {
2753 var130
= varonce129
;
2756 var132
= standard___standard__NativeString___to_s_with_length(var131
, 1l);
2758 varonce129
= var130
;
2760 ((struct instance_standard__NativeArray
*)var124
)->values
[3]=var130
;
2761 if (likely(varonce133
!=NULL
)) {
2762 var134
= varonce133
;
2765 var136
= standard___standard__NativeString___to_s_with_length(var135
, 2l);
2767 varonce133
= var134
;
2769 ((struct instance_standard__NativeArray
*)var124
)->values
[5]=var134
;
2771 var124
= varonce123
;
2775 var137
= ((val
*(*)(val
* self
))(var_recv_var
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_recv_var
); /* to_s on <var_recv_var:RuntimeVariable>*/
2777 ((struct instance_standard__NativeArray
*)var124
)->values
[0]=var137
;
2778 ((struct instance_standard__NativeArray
*)var124
)->values
[2]=var_externname
;
2779 if (likely(varonce138
!=NULL
)) {
2780 var139
= varonce138
;
2783 var141
= standard___standard__NativeString___to_s_with_length(var140
, 2l);
2785 varonce138
= var139
;
2788 var142
= standard__string___Collection___join(var_arguments_for_c
, var139
);
2790 ((struct instance_standard__NativeArray
*)var124
)->values
[4]=var142
;
2792 var143
= ((val
*(*)(val
* self
))(var124
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var124
); /* native_to_s on <var124:NativeArray[String]>*/
2794 varonce123
= var124
;
2796 nit___nit__AbstractCompilerVisitor___add(var_v
, var143
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2799 if (likely(varonce144
!=NULL
)) {
2800 var145
= varonce144
;
2802 var146
= "struct nitni_instance* ret_var;";
2803 var147
= standard___standard__NativeString___to_s_with_length(var146
, 31l);
2805 varonce144
= var145
;
2808 nit___nit__AbstractCompilerVisitor___add(var_v
, var145
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2810 if (unlikely(varonce148
==NULL
)) {
2811 var149
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
2812 if (likely(varonce150
!=NULL
)) {
2813 var151
= varonce150
;
2815 var152
= "ret_var = ";
2816 var153
= standard___standard__NativeString___to_s_with_length(var152
, 10l);
2818 varonce150
= var151
;
2820 ((struct instance_standard__NativeArray
*)var149
)->values
[0]=var151
;
2821 if (likely(varonce154
!=NULL
)) {
2822 var155
= varonce154
;
2825 var157
= standard___standard__NativeString___to_s_with_length(var156
, 1l);
2827 varonce154
= var155
;
2829 ((struct instance_standard__NativeArray
*)var149
)->values
[2]=var155
;
2830 if (likely(varonce158
!=NULL
)) {
2831 var159
= varonce158
;
2834 var161
= standard___standard__NativeString___to_s_with_length(var160
, 2l);
2836 varonce158
= var159
;
2838 ((struct instance_standard__NativeArray
*)var149
)->values
[4]=var159
;
2840 var149
= varonce148
;
2843 ((struct instance_standard__NativeArray
*)var149
)->values
[1]=var_externname
;
2844 if (likely(varonce162
!=NULL
)) {
2845 var163
= varonce162
;
2848 var165
= standard___standard__NativeString___to_s_with_length(var164
, 2l);
2850 varonce162
= var163
;
2853 var166
= standard__string___Collection___join(var_arguments_for_c
, var163
);
2855 ((struct instance_standard__NativeArray
*)var149
)->values
[3]=var166
;
2857 var167
= ((val
*(*)(val
* self
))(var149
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var149
); /* native_to_s on <var149:NativeArray[String]>*/
2859 varonce148
= var149
;
2861 nit___nit__AbstractCompilerVisitor___add(var_v
, var167
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2863 if (unlikely(varonce168
==NULL
)) {
2864 var169
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
2865 if (likely(varonce170
!=NULL
)) {
2866 var171
= varonce170
;
2868 var172
= " = ret_var->value;";
2869 var173
= standard___standard__NativeString___to_s_with_length(var172
, 18l);
2871 varonce170
= var171
;
2873 ((struct instance_standard__NativeArray
*)var169
)->values
[1]=var171
;
2875 var169
= varonce168
;
2879 var174
= ((val
*(*)(val
* self
))(var_recv_var
->class->vft
[COLOR_standard__string__Object__to_s
]))(var_recv_var
); /* to_s on <var_recv_var:RuntimeVariable>*/
2881 ((struct instance_standard__NativeArray
*)var169
)->values
[0]=var174
;
2883 var175
= ((val
*(*)(val
* self
))(var169
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var169
); /* native_to_s on <var169:NativeArray[String]>*/
2885 varonce168
= var169
;
2887 nit___nit__AbstractCompilerVisitor___add(var_v
, var175
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/
2891 var176
= ((val
*(*)(val
* self
, val
* p0
, val
* p1
))(var_v
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompilerVisitor__box_extern
]))(var_v
, var_recv_var
, var_return_mtype
); /* box_extern on <var_v:AbstractCompilerVisitor>*/
2893 var_recv_var
= var176
;
2895 nit___nit__AbstractCompilerVisitor___ret(var_v
, var_recv_var
); /* Direct call abstract_compiler#AbstractCompilerVisitor#ret on <var_v:AbstractCompilerVisitor>*/
2898 nit__light___AMethPropdef___compile_ffi_support_to_c(self
, var_v
); /* Direct call light#AMethPropdef#compile_ffi_support_to_c on <self:AMethPropdef>*/
2905 /* method light#CCompilationUnit#write_as_nitni for (self: CCompilationUnit, MModule, String) */
2906 void nit__light___CCompilationUnit___write_as_nitni(val
* self
, val
* p0
, val
* p1
) {
2907 val
* var_mmodule
/* var mmodule: MModule */;
2908 val
* var_compdir
/* var compdir: String */;
2909 val
* var
/* : NativeArray[String] */;
2910 static val
* varonce
;
2911 static val
* varonce1
;
2912 val
* var2
/* : String */;
2913 char* var3
/* : NativeString */;
2914 val
* var4
/* : FlatString */;
2915 val
* var5
/* : String */;
2916 val
* var6
/* : String */;
2917 val
* var_base_name
/* var base_name: String */;
2918 val
* var8
/* : NativeArray[String] */;
2919 static val
* varonce7
;
2920 static val
* varonce9
;
2921 val
* var10
/* : String */;
2922 char* var11
/* : NativeString */;
2923 val
* var12
/* : FlatString */;
2924 val
* var13
/* : String */;
2925 val
* var_h_file
/* var h_file: String */;
2926 val
* var15
/* : NativeArray[String] */;
2927 static val
* varonce14
;
2928 static val
* varonce16
;
2929 val
* var17
/* : String */;
2930 char* var18
/* : NativeString */;
2931 val
* var19
/* : FlatString */;
2932 val
* var20
/* : String */;
2933 val
* var21
/* : Array[String] */;
2934 val
* var23
/* : NativeArray[String] */;
2935 static val
* varonce22
;
2936 static val
* varonce24
;
2937 val
* var25
/* : String */;
2938 char* var26
/* : NativeString */;
2939 val
* var27
/* : FlatString */;
2940 val
* var28
/* : String */;
2941 val
* var29
/* : String */;
2942 val
* var30
/* : String */;
2943 val
* var31
/* : String */;
2944 val
* var33
/* : NativeArray[String] */;
2945 static val
* varonce32
;
2946 static val
* varonce34
;
2947 val
* var35
/* : String */;
2948 char* var36
/* : NativeString */;
2949 val
* var37
/* : FlatString */;
2950 val
* var38
/* : String */;
2951 val
* var_c_file
/* var c_file: String */;
2952 val
* var40
/* : NativeArray[String] */;
2953 static val
* varonce39
;
2954 static val
* varonce41
;
2955 val
* var42
/* : String */;
2956 char* var43
/* : NativeString */;
2957 val
* var44
/* : FlatString */;
2958 val
* var45
/* : String */;
2959 val
* var46
/* : Array[String] */;
2960 val
* var_
/* var : Array[String] */;
2961 val
* var48
/* : NativeArray[String] */;
2962 static val
* varonce47
;
2963 static val
* varonce49
;
2964 val
* var50
/* : String */;
2965 char* var51
/* : NativeString */;
2966 val
* var52
/* : FlatString */;
2967 static val
* varonce53
;
2968 val
* var54
/* : String */;
2969 char* var55
/* : NativeString */;
2970 val
* var56
/* : FlatString */;
2971 val
* var57
/* : String */;
2972 val
* var58
/* : Array[String] */;
2973 val
* var60
/* : Array[String] */;
2974 val
* var62
/* : NativeArray[String] */;
2975 static val
* varonce61
;
2976 static val
* varonce63
;
2977 val
* var64
/* : String */;
2978 char* var65
/* : NativeString */;
2979 val
* var66
/* : FlatString */;
2980 val
* var67
/* : String */;
2983 if (unlikely(varonce
==NULL
)) {
2984 var
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
2985 if (likely(varonce1
!=NULL
)) {
2989 var4
= standard___standard__NativeString___to_s_with_length(var3
, 7l);
2993 ((struct instance_standard__NativeArray
*)var
)->values
[1]=var2
;
2999 var5
= nit___nit__MModule___nit__model_base__MEntity__c_name(var_mmodule
);
3001 ((struct instance_standard__NativeArray
*)var
)->values
[0]=var5
;
3003 var6
= ((val
*(*)(val
* self
))(var
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var
); /* native_to_s on <var:NativeArray[String]>*/
3006 var_base_name
= var6
;
3007 if (unlikely(varonce7
==NULL
)) {
3008 var8
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
3009 if (likely(varonce9
!=NULL
)) {
3013 var12
= standard___standard__NativeString___to_s_with_length(var11
, 2l);
3017 ((struct instance_standard__NativeArray
*)var8
)->values
[1]=var10
;
3022 ((struct instance_standard__NativeArray
*)var8
)->values
[0]=var_base_name
;
3024 var13
= ((val
*(*)(val
* self
))(var8
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var8
); /* native_to_s on <var8:NativeArray[String]>*/
3028 if (unlikely(varonce14
==NULL
)) {
3029 var15
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
3030 if (likely(varonce16
!=NULL
)) {
3034 var19
= standard___standard__NativeString___to_s_with_length(var18
, 1l);
3038 ((struct instance_standard__NativeArray
*)var15
)->values
[1]=var17
;
3043 ((struct instance_standard__NativeArray
*)var15
)->values
[0]=var_compdir
;
3044 ((struct instance_standard__NativeArray
*)var15
)->values
[2]=var_h_file
;
3046 var20
= ((val
*(*)(val
* self
))(var15
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var15
); /* native_to_s on <var15:NativeArray[String]>*/
3049 var21
= NEW_standard__Array(&type_standard__Array__standard__String
);
3051 standard___standard__Array___standard__kernel__Object__init(var21
); /* Direct call array#Array#init on <var21:Array[String]>*/
3053 if (unlikely(varonce22
==NULL
)) {
3054 var23
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
3055 if (likely(varonce24
!=NULL
)) {
3058 var26
= "_NITG_NITNI_H";
3059 var27
= standard___standard__NativeString___to_s_with_length(var26
, 13l);
3063 ((struct instance_standard__NativeArray
*)var23
)->values
[1]=var25
;
3069 var28
= nit___nit__MModule___nit__model_base__MEntity__c_name(var_mmodule
);
3072 var29
= standard___standard__String___Object__to_s(var28
);
3075 var30
= ((val
*(*)(val
* self
))(var29
->class->vft
[COLOR_standard__string__String__to_upper
]))(var29
); /* to_upper on <var29:String>*/
3077 ((struct instance_standard__NativeArray
*)var23
)->values
[0]=var30
;
3079 var31
= ((val
*(*)(val
* self
))(var23
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var23
); /* native_to_s on <var23:NativeArray[String]>*/
3083 nit__light_ffi_base___CCompilationUnit___write_header_to_file(self
, var_mmodule
, var20
, var21
, var31
); /* Direct call light_ffi_base#CCompilationUnit#write_header_to_file on <self:CCompilationUnit>*/
3085 if (unlikely(varonce32
==NULL
)) {
3086 var33
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
3087 if (likely(varonce34
!=NULL
)) {
3091 var37
= standard___standard__NativeString___to_s_with_length(var36
, 2l);
3095 ((struct instance_standard__NativeArray
*)var33
)->values
[1]=var35
;
3100 ((struct instance_standard__NativeArray
*)var33
)->values
[0]=var_base_name
;
3102 var38
= ((val
*(*)(val
* self
))(var33
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var33
); /* native_to_s on <var33:NativeArray[String]>*/
3106 if (unlikely(varonce39
==NULL
)) {
3107 var40
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
3108 if (likely(varonce41
!=NULL
)) {
3112 var44
= standard___standard__NativeString___to_s_with_length(var43
, 1l);
3116 ((struct instance_standard__NativeArray
*)var40
)->values
[1]=var42
;
3121 ((struct instance_standard__NativeArray
*)var40
)->values
[0]=var_compdir
;
3122 ((struct instance_standard__NativeArray
*)var40
)->values
[2]=var_c_file
;
3124 var45
= ((val
*(*)(val
* self
))(var40
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var40
); /* native_to_s on <var40:NativeArray[String]>*/
3127 var46
= NEW_standard__Array(&type_standard__Array__standard__String
);
3129 standard___standard__Array___with_capacity(var46
, 1l); /* Direct call array#Array#with_capacity on <var46:Array[String]>*/
3132 if (unlikely(varonce47
==NULL
)) {
3133 var48
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
3134 if (likely(varonce49
!=NULL
)) {
3138 var52
= standard___standard__NativeString___to_s_with_length(var51
, 1l);
3142 ((struct instance_standard__NativeArray
*)var48
)->values
[0]=var50
;
3143 if (likely(varonce53
!=NULL
)) {
3147 var56
= standard___standard__NativeString___to_s_with_length(var55
, 1l);
3151 ((struct instance_standard__NativeArray
*)var48
)->values
[2]=var54
;
3156 ((struct instance_standard__NativeArray
*)var48
)->values
[1]=var_h_file
;
3158 var57
= ((val
*(*)(val
* self
))(var48
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var48
); /* native_to_s on <var48:NativeArray[String]>*/
3162 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var57
); /* Direct call array#AbstractArray#push on <var_:Array[String]>*/
3165 nit__light_ffi_base___CCompilationUnit___write_body_to_file(self
, var_mmodule
, var45
, var_
); /* Direct call light_ffi_base#CCompilationUnit#write_body_to_file on <self:CCompilationUnit>*/
3168 { /* Inline c_tools#CCompilationUnit#files (self) on <self:CCompilationUnit> */
3169 var60
= self
->attrs
[COLOR_nit__c_tools__CCompilationUnit___files
].val
; /* _files on <self:CCompilationUnit> */
3170 if (unlikely(var60
== NULL
)) {
3171 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
3172 PRINT_ERROR(" (%s:%d)\n", FILE_nit__c_tools
, 47);
3176 RET_LABEL59
:(void)0;
3179 if (unlikely(varonce61
==NULL
)) {
3180 var62
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
3181 if (likely(varonce63
!=NULL
)) {
3185 var66
= standard___standard__NativeString___to_s_with_length(var65
, 1l);
3189 ((struct instance_standard__NativeArray
*)var62
)->values
[1]=var64
;
3194 ((struct instance_standard__NativeArray
*)var62
)->values
[0]=var_compdir
;
3195 ((struct instance_standard__NativeArray
*)var62
)->values
[2]=var_c_file
;
3197 var67
= ((val
*(*)(val
* self
))(var62
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var62
); /* native_to_s on <var62:NativeArray[String]>*/
3201 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var58
, var67
); /* Direct call array#Array#add on <var58:Array[String]>*/