2 /* method cpp#FFILanguageAssignationPhase#cpp_language for (self: FFILanguageAssignationPhase): FFILanguage */
3 val
* cpp__FFILanguageAssignationPhase__cpp_language(val
* self
) {
4 val
* var
/* : FFILanguage */;
5 val
* var1
/* : FFILanguage */;
6 var1
= self
->attrs
[COLOR_cpp__FFILanguageAssignationPhase___64dcpp_language
].val
; /* @cpp_language on <self:FFILanguageAssignationPhase> */
8 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @cpp_language");
9 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/cpp.nit", 24);
16 /* method cpp#FFILanguageAssignationPhase#cpp_language for (self: Object): FFILanguage */
17 val
* VIRTUAL_cpp__FFILanguageAssignationPhase__cpp_language(val
* self
) {
18 val
* var
/* : FFILanguage */;
19 val
* var1
/* : FFILanguage */;
20 var1
= cpp__FFILanguageAssignationPhase__cpp_language(self
);
25 /* method cpp#FFILanguageAssignationPhase#cpp_language= for (self: FFILanguageAssignationPhase, FFILanguage) */
26 void cpp__FFILanguageAssignationPhase__cpp_language_61d(val
* self
, val
* p0
) {
27 self
->attrs
[COLOR_cpp__FFILanguageAssignationPhase___64dcpp_language
].val
= p0
; /* @cpp_language on <self:FFILanguageAssignationPhase> */
30 /* method cpp#FFILanguageAssignationPhase#cpp_language= for (self: Object, FFILanguage) */
31 void VIRTUAL_cpp__FFILanguageAssignationPhase__cpp_language_61d(val
* self
, val
* p0
) {
32 cpp__FFILanguageAssignationPhase__cpp_language_61d(self
, p0
);
35 /* method cpp#AModule#cpp_file for (self: AModule): nullable CPPCompilationUnit */
36 val
* cpp__AModule__cpp_file(val
* self
) {
37 val
* var
/* : nullable CPPCompilationUnit */;
38 val
* var1
/* : nullable CPPCompilationUnit */;
39 var1
= self
->attrs
[COLOR_cpp__AModule___64dcpp_file
].val
; /* @cpp_file on <self:AModule> */
44 /* method cpp#AModule#cpp_file for (self: Object): nullable CPPCompilationUnit */
45 val
* VIRTUAL_cpp__AModule__cpp_file(val
* self
) {
46 val
* var
/* : nullable CPPCompilationUnit */;
47 val
* var1
/* : nullable CPPCompilationUnit */;
48 var1
= cpp__AModule__cpp_file(self
);
53 /* method cpp#AModule#cpp_file= for (self: AModule, nullable CPPCompilationUnit) */
54 void cpp__AModule__cpp_file_61d(val
* self
, val
* p0
) {
55 self
->attrs
[COLOR_cpp__AModule___64dcpp_file
].val
= p0
; /* @cpp_file on <self:AModule> */
58 /* method cpp#AModule#cpp_file= for (self: Object, nullable CPPCompilationUnit) */
59 void VIRTUAL_cpp__AModule__cpp_file_61d(val
* self
, val
* p0
) {
60 cpp__AModule__cpp_file_61d(self
, p0
);
63 /* method cpp#AModule#cpp_compiler_options for (self: AModule): String */
64 val
* cpp__AModule__cpp_compiler_options(val
* self
) {
65 val
* var
/* : String */;
66 val
* var1
/* : String */;
67 var1
= self
->attrs
[COLOR_cpp__AModule___64dcpp_compiler_options
].val
; /* @cpp_compiler_options on <self:AModule> */
69 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @cpp_compiler_options");
70 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/cpp.nit", 29);
77 /* method cpp#AModule#cpp_compiler_options for (self: Object): String */
78 val
* VIRTUAL_cpp__AModule__cpp_compiler_options(val
* self
) {
79 val
* var
/* : String */;
80 val
* var1
/* : String */;
81 var1
= cpp__AModule__cpp_compiler_options(self
);
86 /* method cpp#AModule#cpp_compiler_options= for (self: AModule, String) */
87 void cpp__AModule__cpp_compiler_options_61d(val
* self
, val
* p0
) {
88 self
->attrs
[COLOR_cpp__AModule___64dcpp_compiler_options
].val
= p0
; /* @cpp_compiler_options on <self:AModule> */
91 /* method cpp#AModule#cpp_compiler_options= for (self: Object, String) */
92 void VIRTUAL_cpp__AModule__cpp_compiler_options_61d(val
* self
, val
* p0
) {
93 cpp__AModule__cpp_compiler_options_61d(self
, p0
);
96 /* method cpp#CPPLanguage#identify_language for (self: CPPLanguage, AExternCodeBlock): Bool */
97 short int cpp__CPPLanguage__identify_language(val
* self
, val
* p0
) {
98 short int var
/* : Bool */;
99 val
* var_n
/* var n: AExternCodeBlock */;
100 short int var1
/* : Bool */;
102 var1
= ((short int (*)(val
*))(var_n
->class->vft
[COLOR_cpp__AExternCodeBlock__is_cpp
]))(var_n
) /* is_cpp on <var_n:AExternCodeBlock>*/;
108 /* method cpp#CPPLanguage#identify_language for (self: Object, AExternCodeBlock): Bool */
109 short int VIRTUAL_cpp__CPPLanguage__identify_language(val
* self
, val
* p0
) {
110 short int var
/* : Bool */;
111 short int var1
/* : Bool */;
112 var1
= cpp__CPPLanguage__identify_language(self
, p0
);
117 /* method cpp#CPPLanguage#compile_module_block for (self: CPPLanguage, AExternCodeBlock, CCompilationUnit, AModule) */
118 void cpp__CPPLanguage__compile_module_block(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
119 val
* var_block
/* var block: AExternCodeBlock */;
120 val
* var_ecc
/* var ecc: CCompilationUnit */;
121 val
* var_nmodule
/* var nmodule: AModule */;
122 val
* var
/* : nullable CPPCompilationUnit */;
123 val
* var1
/* : null */;
124 short int var2
/* : Bool */;
125 val
* var3
/* : CPPCompilationUnit */;
126 short int var4
/* : Bool */;
127 val
* var5
/* : nullable CPPCompilationUnit */;
128 val
* var6
/* : Template */;
129 val
* var7
/* : Location */;
130 val
* var8
/* : String */;
131 val
* var9
/* : nullable CPPCompilationUnit */;
132 val
* var10
/* : Template */;
133 val
* var11
/* : String */;
134 short int var12
/* : Bool */;
135 val
* var13
/* : nullable CPPCompilationUnit */;
136 val
* var14
/* : Template */;
137 val
* var15
/* : Location */;
138 val
* var16
/* : String */;
139 val
* var17
/* : nullable CPPCompilationUnit */;
140 val
* var18
/* : Template */;
141 val
* var19
/* : String */;
145 var
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_cpp__AModule__cpp_file
]))(var_nmodule
) /* cpp_file on <var_nmodule:AModule>*/;
148 var2
= 1; /* is null */
150 var2
= 0; /* arg is null but recv is not */
153 var3
= NEW_cpp__CPPCompilationUnit(&type_cpp__CPPCompilationUnit
);
154 ((void (*)(val
*))(var3
->class->vft
[COLOR_cpp__CPPCompilationUnit__init
]))(var3
) /* init on <var3:CPPCompilationUnit>*/;
155 ((void (*)(val
*, val
*))(var_nmodule
->class->vft
[COLOR_cpp__AModule__cpp_file_61d
]))(var_nmodule
, var3
) /* cpp_file= on <var_nmodule:AModule>*/;
158 var4
= ((short int (*)(val
*))(var_block
->class->vft
[COLOR_cpp__AExternCodeBlock__is_cpp_header
]))(var_block
) /* is_cpp_header on <var_block:AExternCodeBlock>*/;
160 var5
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_cpp__AModule__cpp_file
]))(var_nmodule
) /* cpp_file on <var_nmodule:AModule>*/;
162 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
163 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/cpp.nit", 42);
166 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_c_tools__CCompilationUnit__header_custom
]))(var5
) /* header_custom on <var5:nullable CPPCompilationUnit>*/;
168 var7
= ((val
* (*)(val
*))(var_block
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var_block
) /* location on <var_block:AExternCodeBlock>*/;
169 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_c__Location__as_line_pragma
]))(var7
) /* as_line_pragma on <var7:Location>*/;
170 ((void (*)(val
*, val
*))(var6
->class->vft
[COLOR_template__Template__add
]))(var6
, var8
) /* add on <var6:Template>*/;
171 var9
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_cpp__AModule__cpp_file
]))(var_nmodule
) /* cpp_file on <var_nmodule:AModule>*/;
173 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
174 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/cpp.nit", 43);
177 var10
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_c_tools__CCompilationUnit__header_custom
]))(var9
) /* header_custom on <var9:nullable CPPCompilationUnit>*/;
179 var11
= ((val
* (*)(val
*))(var_block
->class->vft
[COLOR_ffi_base__AExternCodeBlock__code
]))(var_block
) /* code on <var_block:AExternCodeBlock>*/;
180 ((void (*)(val
*, val
*))(var10
->class->vft
[COLOR_template__Template__add
]))(var10
, var11
) /* add on <var10:Template>*/;
182 var12
= ((short int (*)(val
*))(var_block
->class->vft
[COLOR_cpp__AExternCodeBlock__is_cpp_body
]))(var_block
) /* is_cpp_body on <var_block:AExternCodeBlock>*/;
184 var13
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_cpp__AModule__cpp_file
]))(var_nmodule
) /* cpp_file on <var_nmodule:AModule>*/;
186 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
187 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/cpp.nit", 45);
190 var14
= ((val
* (*)(val
*))(var13
->class->vft
[COLOR_c_tools__CCompilationUnit__body_custom
]))(var13
) /* body_custom on <var13:nullable CPPCompilationUnit>*/;
192 var15
= ((val
* (*)(val
*))(var_block
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var_block
) /* location on <var_block:AExternCodeBlock>*/;
193 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_c__Location__as_line_pragma
]))(var15
) /* as_line_pragma on <var15:Location>*/;
194 ((void (*)(val
*, val
*))(var14
->class->vft
[COLOR_template__Template__add
]))(var14
, var16
) /* add on <var14:Template>*/;
195 var17
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_cpp__AModule__cpp_file
]))(var_nmodule
) /* cpp_file on <var_nmodule:AModule>*/;
197 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
198 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/cpp.nit", 46);
201 var18
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_c_tools__CCompilationUnit__body_custom
]))(var17
) /* body_custom on <var17:nullable CPPCompilationUnit>*/;
203 var19
= ((val
* (*)(val
*))(var_block
->class->vft
[COLOR_ffi_base__AExternCodeBlock__code
]))(var_block
) /* code on <var_block:AExternCodeBlock>*/;
204 ((void (*)(val
*, val
*))(var18
->class->vft
[COLOR_template__Template__add
]))(var18
, var19
) /* add on <var18:Template>*/;
210 /* method cpp#CPPLanguage#compile_module_block for (self: Object, AExternCodeBlock, CCompilationUnit, AModule) */
211 void VIRTUAL_cpp__CPPLanguage__compile_module_block(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
212 cpp__CPPLanguage__compile_module_block(self
, p0
, p1
, p2
);
215 /* method cpp#CPPLanguage#compile_extern_method for (self: CPPLanguage, AExternCodeBlock, AExternPropdef, CCompilationUnit, AModule) */
216 void cpp__CPPLanguage__compile_extern_method(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
217 val
* var_block
/* var block: AExternCodeBlock */;
218 val
* var_m
/* var m: AExternPropdef */;
219 val
* var_ecc
/* var ecc: CCompilationUnit */;
220 val
* var_nmodule
/* var nmodule: AModule */;
221 val
* var
/* : nullable CPPCompilationUnit */;
222 val
* var1
/* : null */;
223 short int var2
/* : Bool */;
224 val
* var3
/* : CPPCompilationUnit */;
225 val
* var4
/* : nullable MModule */;
226 val
* var_mmodule
/* var mmodule: MModule */;
227 val
* var5
/* : nullable ANode */;
228 short int var6
/* : Bool */;
231 const char* var_class_name
;
232 val
* var7
/* : nullable MClass */;
233 val
* var8
/* : MClassType */;
234 val
* var_mclass_type
/* var mclass_type: MClassType */;
235 val
* var9
/* : nullable MPropDef */;
236 val
* var10
/* : MProperty */;
237 val
* var_mproperty
/* var mproperty: MMethod */;
239 val
* var11
/* : String */;
240 char* var12
/* : NativeString */;
241 long var13
/* : Int */;
242 val
* var14
/* : String */;
243 val
* var15
/* : SignatureLength */;
244 val
* var16
/* : CallContext */;
245 val
* var17
/* : String */;
246 val
* var_indirection_sig
/* var indirection_sig: String */;
247 val
* var18
/* : Template */;
248 static val
* varonce19
;
249 val
* var20
/* : String */;
250 char* var21
/* : NativeString */;
251 long var22
/* : Int */;
252 val
* var23
/* : String */;
253 val
* var24
/* : Array[Object] */;
254 long var25
/* : Int */;
255 val
* var26
/* : NativeArray[Object] */;
256 val
* var27
/* : String */;
257 val
* var28
/* : ExternCFunction */;
258 val
* var_fc
/* var fc: CFunction */;
259 val
* var29
/* : Template */;
260 static val
* varonce30
;
261 val
* var31
/* : String */;
262 char* var32
/* : NativeString */;
263 long var33
/* : Int */;
264 val
* var34
/* : String */;
265 val
* var35
/* : SignatureLength */;
266 val
* var36
/* : CppCallContext */;
267 val
* var37
/* : null */;
268 val
* var38
/* : String */;
269 val
* var39
/* : Template */;
270 static val
* varonce40
;
271 val
* var41
/* : String */;
272 char* var42
/* : NativeString */;
273 long var43
/* : Int */;
274 val
* var44
/* : String */;
275 val
* var45
/* : nullable CPPCompilationUnit */;
276 val
* var46
/* : Template */;
277 static val
* varonce47
;
278 val
* var48
/* : String */;
279 char* var49
/* : NativeString */;
280 long var50
/* : Int */;
281 val
* var51
/* : String */;
282 val
* var52
/* : nullable CPPCompilationUnit */;
283 val
* var53
/* : Template */;
284 static val
* varonce54
;
285 val
* var55
/* : String */;
286 char* var56
/* : NativeString */;
287 long var57
/* : Int */;
288 val
* var58
/* : String */;
289 val
* var59
/* : Array[Object] */;
290 long var60
/* : Int */;
291 val
* var61
/* : NativeArray[Object] */;
292 val
* var62
/* : String */;
293 val
* var63
/* : nullable CPPCompilationUnit */;
294 val
* var64
/* : Template */;
295 static val
* varonce65
;
296 val
* var66
/* : String */;
297 char* var67
/* : NativeString */;
298 long var68
/* : Int */;
299 val
* var69
/* : String */;
300 val
* var70
/* : CFunction */;
301 short int var71
/* : Bool */;
302 short int var72
/* : Bool */;
303 static val
* varonce73
;
304 val
* var74
/* : String */;
305 char* var75
/* : NativeString */;
306 long var76
/* : Int */;
307 val
* var77
/* : String */;
308 val
* var_param_name
/* var param_name: String */;
309 val
* var78
/* : ToCppCallContext */;
310 val
* var79
/* : String */;
311 val
* var_type_name
/* var type_name: String */;
312 val
* var80
/* : MClass */;
313 val
* var81
/* : nullable ForeignType */;
314 short int var82
/* : Bool */;
317 val
* var85
/* : Template */;
318 static val
* varonce86
;
319 val
* var87
/* : String */;
320 char* var88
/* : NativeString */;
321 long var89
/* : Int */;
322 val
* var90
/* : String */;
323 static val
* varonce91
;
324 val
* var92
/* : String */;
325 char* var93
/* : NativeString */;
326 long var94
/* : Int */;
327 val
* var95
/* : String */;
328 static val
* varonce96
;
329 val
* var97
/* : String */;
330 char* var98
/* : NativeString */;
331 long var99
/* : Int */;
332 val
* var100
/* : String */;
333 static val
* varonce101
;
334 val
* var102
/* : String */;
335 char* var103
/* : NativeString */;
336 long var104
/* : Int */;
337 val
* var105
/* : String */;
338 val
* var106
/* : Array[Object] */;
339 long var107
/* : Int */;
340 val
* var108
/* : NativeArray[Object] */;
341 val
* var109
/* : String */;
342 val
* var110
/* : Template */;
343 static val
* varonce111
;
344 val
* var112
/* : String */;
345 char* var113
/* : NativeString */;
346 long var114
/* : Int */;
347 val
* var115
/* : String */;
348 static val
* varonce116
;
349 val
* var117
/* : String */;
350 char* var118
/* : NativeString */;
351 long var119
/* : Int */;
352 val
* var120
/* : String */;
353 static val
* varonce121
;
354 val
* var122
/* : String */;
355 char* var123
/* : NativeString */;
356 long var124
/* : Int */;
357 val
* var125
/* : String */;
358 val
* var126
/* : Array[Object] */;
359 long var127
/* : Int */;
360 val
* var128
/* : NativeArray[Object] */;
361 val
* var129
/* : String */;
362 val
* var130
/* : nullable MPropDef */;
363 val
* var131
/* : nullable MSignature */;
364 val
* var132
/* : Array[MParameter] */;
365 val
* var133
/* : Iterator[nullable Object] */;
366 short int var134
/* : Bool */;
367 val
* var135
/* : nullable Object */;
368 val
* var_param
/* var param: MParameter */;
369 val
* var136
/* : String */;
370 val
* var_param_name137
/* var param_name: String */;
371 val
* var138
/* : ToCppCallContext */;
372 val
* var139
/* : MType */;
373 val
* var140
/* : String */;
374 val
* var_type_name141
/* var type_name: String */;
375 val
* var142
/* : MClass */;
376 val
* var143
/* : nullable ForeignType */;
377 short int var144
/* : Bool */;
380 val
* var147
/* : Template */;
381 static val
* varonce148
;
382 val
* var149
/* : String */;
383 char* var150
/* : NativeString */;
384 long var151
/* : Int */;
385 val
* var152
/* : String */;
386 static val
* varonce153
;
387 val
* var154
/* : String */;
388 char* var155
/* : NativeString */;
389 long var156
/* : Int */;
390 val
* var157
/* : String */;
391 static val
* varonce158
;
392 val
* var159
/* : String */;
393 char* var160
/* : NativeString */;
394 long var161
/* : Int */;
395 val
* var162
/* : String */;
396 static val
* varonce163
;
397 val
* var164
/* : String */;
398 char* var165
/* : NativeString */;
399 long var166
/* : Int */;
400 val
* var167
/* : String */;
401 val
* var168
/* : Array[Object] */;
402 long var169
/* : Int */;
403 val
* var170
/* : NativeArray[Object] */;
404 val
* var171
/* : String */;
405 val
* var172
/* : Template */;
406 static val
* varonce173
;
407 val
* var174
/* : String */;
408 char* var175
/* : NativeString */;
409 long var176
/* : Int */;
410 val
* var177
/* : String */;
411 static val
* varonce178
;
412 val
* var179
/* : String */;
413 char* var180
/* : NativeString */;
414 long var181
/* : Int */;
415 val
* var182
/* : String */;
416 static val
* varonce183
;
417 val
* var184
/* : String */;
418 char* var185
/* : NativeString */;
419 long var186
/* : Int */;
420 val
* var187
/* : String */;
421 val
* var188
/* : Array[Object] */;
422 long var189
/* : Int */;
423 val
* var190
/* : NativeArray[Object] */;
424 val
* var191
/* : String */;
425 val
* var192
/* : Template */;
426 static val
* varonce193
;
427 val
* var194
/* : String */;
428 char* var195
/* : NativeString */;
429 long var196
/* : Int */;
430 val
* var197
/* : String */;
431 val
* var198
/* : SignatureLength */;
432 val
* var199
/* : CppCallContext */;
433 static val
* varonce200
;
434 val
* var201
/* : String */;
435 char* var202
/* : NativeString */;
436 long var203
/* : Int */;
437 val
* var204
/* : String */;
438 val
* var205
/* : String */;
439 val
* var206
/* : Template */;
440 static val
* varonce207
;
441 val
* var208
/* : String */;
442 char* var209
/* : NativeString */;
443 long var210
/* : Int */;
444 val
* var211
/* : String */;
445 val
* var212
/* : nullable CPPCompilationUnit */;
446 static val
* varonce213
;
447 val
* var214
/* : String */;
448 char* var215
/* : NativeString */;
449 long var216
/* : Int */;
450 val
* var217
/* : String */;
451 val
* var218
/* : SignatureLength */;
452 val
* var219
/* : CppCallContext */;
453 val
* var220
/* : String */;
454 val
* var_cpp_signature
/* var cpp_signature: String */;
455 val
* var221
/* : CFunction */;
456 val
* var222
/* : Template */;
457 val
* var223
/* : Location */;
458 val
* var224
/* : String */;
459 val
* var225
/* : Template */;
460 val
* var226
/* : String */;
461 val
* var227
/* : nullable CPPCompilationUnit */;
466 var
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_cpp__AModule__cpp_file
]))(var_nmodule
) /* cpp_file on <var_nmodule:AModule>*/;
469 var2
= 1; /* is null */
471 var2
= 0; /* arg is null but recv is not */
474 var3
= NEW_cpp__CPPCompilationUnit(&type_cpp__CPPCompilationUnit
);
475 ((void (*)(val
*))(var3
->class->vft
[COLOR_cpp__CPPCompilationUnit__init
]))(var3
) /* init on <var3:CPPCompilationUnit>*/;
476 ((void (*)(val
*, val
*))(var_nmodule
->class->vft
[COLOR_cpp__AModule__cpp_file_61d
]))(var_nmodule
, var3
) /* cpp_file= on <var_nmodule:AModule>*/;
479 var4
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_modelbuilder__AModule__mmodule
]))(var_nmodule
) /* mmodule on <var_nmodule:AModule>*/;
481 fprintf(stderr
, "Runtime error: %s", "Cast failed");
482 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/cpp.nit", 58);
486 var5
= ((val
* (*)(val
*))(var_m
->class->vft
[COLOR_parser_nodes__ANode__parent
]))(var_m
) /* parent on <var_m:AExternPropdef>*/;
487 /* <var5:nullable ANode> isa AClassdef */
488 cltype
= type_parser_nodes__AClassdef
.color
;
489 idtype
= type_parser_nodes__AClassdef
.id
;
493 if(cltype
>= var5
->type
->table_size
) {
496 var6
= var5
->type
->type_table
[cltype
] == idtype
;
500 var_class_name
= var5
== NULL ?
"null" : var5
->type
->name
;
501 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "AClassdef", var_class_name
);
502 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/cpp.nit", 59);
505 var7
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_modelize_class__AClassdef__mclass
]))(var5
) /* mclass on <var5:nullable ANode(AClassdef)>*/;
507 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
508 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/cpp.nit", 59);
511 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_model__MClass__mclass_type
]))(var7
) /* mclass_type on <var7:nullable MClass>*/;
513 var_mclass_type
= var8
;
514 var9
= ((val
* (*)(val
*))(var_m
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(var_m
) /* mpropdef on <var_m:AExternPropdef>*/;
516 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
517 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/cpp.nit", 60);
520 var10
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_model__MPropDef__mproperty
]))(var9
) /* mproperty on <var9:nullable MPropDef(nullable MMethodDef)>*/;
522 var_mproperty
= var10
;
526 var12
= "___cpp_impl_mid";
528 var14
= string__NativeString__to_s_with_length(var12
, var13
);
532 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_nitni_utilities__Object__long_signature
]))(self
) /* long_signature on <self:CPPLanguage>*/;
533 var16
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_nitni_utilities__Object__internal_call_context
]))(self
) /* internal_call_context on <self:CPPLanguage>*/;
534 var17
= ((val
* (*)(val
*, val
*, val
*, val
*, val
*, val
*))(var_mproperty
->class->vft
[COLOR_nitni_utilities__MMethod__build_csignature
]))(var_mproperty
, var_mclass_type
, var_mmodule
, var11
, var15
, var16
) /* build_csignature on <var_mproperty:MMethod>*/;
535 var_indirection_sig
= var17
;
536 var18
= ((val
* (*)(val
*))(var_ecc
->class->vft
[COLOR_c_tools__CCompilationUnit__body_decl
]))(var_ecc
) /* body_decl on <var_ecc:CCompilationUnit>*/;
542 var23
= string__NativeString__to_s_with_length(var21
, var22
);
546 var24
= NEW_array__Array(&type_array__Arraykernel__Object
);
547 { /* var24 = array_instance Array[Object] */
549 var26
= NEW_array__NativeArray(var25
, &type_array__NativeArraykernel__Object
);
550 ((struct instance_array__NativeArray
*)var26
)->values
[0] = (val
*) var_indirection_sig
;
551 ((struct instance_array__NativeArray
*)var26
)->values
[1] = (val
*) var20
;
552 ((void (*)(val
*, val
*, long))(var24
->class->vft
[COLOR_array__Array__with_native
]))(var24
, var26
, var25
) /* with_native on <var24:Array[Object]>*/;
554 var27
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_string__Object__to_s
]))(var24
) /* to_s on <var24:Array[Object]>*/;
555 ((void (*)(val
*, val
*))(var18
->class->vft
[COLOR_template__Template__add
]))(var18
, var27
) /* add on <var18:Template>*/;
556 var28
= NEW_c__ExternCFunction(&type_c__ExternCFunction
);
557 ((void (*)(val
*, val
*, val
*))(var28
->class->vft
[COLOR_c__ExternCFunction__init
]))(var28
, var_m
, var_mmodule
) /* init on <var28:ExternCFunction>*/;
559 var29
= ((val
* (*)(val
*))(var_fc
->class->vft
[COLOR_c_tools__CFunction__exprs
]))(var_fc
) /* exprs on <var_fc:CFunction>*/;
563 var32
= "___cpp_impl_mid";
565 var34
= string__NativeString__to_s_with_length(var32
, var33
);
569 var35
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_nitni_utilities__Object__long_signature
]))(self
) /* long_signature on <self:CPPLanguage>*/;
570 var36
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_cpp__Object__cpp_call_context
]))(self
) /* cpp_call_context on <self:CPPLanguage>*/;
572 var38
= ((val
* (*)(val
*, val
*, val
*, val
*, val
*, val
*, val
*))(var_mproperty
->class->vft
[COLOR_nitni_utilities__MMethod__build_ccall
]))(var_mproperty
, var_mclass_type
, var_mmodule
, var31
, var35
, var36
, var37
) /* build_ccall on <var_mproperty:MMethod>*/;
573 ((void (*)(val
*, val
*))(var29
->class->vft
[COLOR_template__Template__add
]))(var29
, var38
) /* add on <var29:Template>*/;
574 var39
= ((val
* (*)(val
*))(var_fc
->class->vft
[COLOR_c_tools__CFunction__exprs
]))(var_fc
) /* exprs on <var_fc:CFunction>*/;
580 var44
= string__NativeString__to_s_with_length(var42
, var43
);
584 ((void (*)(val
*, val
*))(var39
->class->vft
[COLOR_template__Template__add
]))(var39
, var41
) /* add on <var39:Template>*/;
585 ((void (*)(val
*, val
*))(var_ecc
->class->vft
[COLOR_c_tools__CCompilationUnit__add_exported_function
]))(var_ecc
, var_fc
) /* add_exported_function on <var_ecc:CCompilationUnit>*/;
586 var45
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_cpp__AModule__cpp_file
]))(var_nmodule
) /* cpp_file on <var_nmodule:AModule>*/;
588 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
589 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/cpp.nit", 79);
592 var46
= ((val
* (*)(val
*))(var45
->class->vft
[COLOR_c_tools__CCompilationUnit__header_decl
]))(var45
) /* header_decl on <var45:nullable CPPCompilationUnit>*/;
597 var49
= "extern \"C\" {\n";
599 var51
= string__NativeString__to_s_with_length(var49
, var50
);
603 ((void (*)(val
*, val
*))(var46
->class->vft
[COLOR_template__Template__add
]))(var46
, var48
) /* add on <var46:Template>*/;
604 var52
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_cpp__AModule__cpp_file
]))(var_nmodule
) /* cpp_file on <var_nmodule:AModule>*/;
606 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
607 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/cpp.nit", 80);
610 var53
= ((val
* (*)(val
*))(var52
->class->vft
[COLOR_c_tools__CCompilationUnit__header_decl
]))(var52
) /* header_decl on <var52:nullable CPPCompilationUnit>*/;
617 var58
= string__NativeString__to_s_with_length(var56
, var57
);
621 var59
= NEW_array__Array(&type_array__Arraykernel__Object
);
622 { /* var59 = array_instance Array[Object] */
624 var61
= NEW_array__NativeArray(var60
, &type_array__NativeArraykernel__Object
);
625 ((struct instance_array__NativeArray
*)var61
)->values
[0] = (val
*) var_indirection_sig
;
626 ((struct instance_array__NativeArray
*)var61
)->values
[1] = (val
*) var55
;
627 ((void (*)(val
*, val
*, long))(var59
->class->vft
[COLOR_array__Array__with_native
]))(var59
, var61
, var60
) /* with_native on <var59:Array[Object]>*/;
629 var62
= ((val
* (*)(val
*))(var59
->class->vft
[COLOR_string__Object__to_s
]))(var59
) /* to_s on <var59:Array[Object]>*/;
630 ((void (*)(val
*, val
*))(var53
->class->vft
[COLOR_template__Template__add
]))(var53
, var62
) /* add on <var53:Template>*/;
631 var63
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_cpp__AModule__cpp_file
]))(var_nmodule
) /* cpp_file on <var_nmodule:AModule>*/;
633 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
634 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/cpp.nit", 81);
637 var64
= ((val
* (*)(val
*))(var63
->class->vft
[COLOR_c_tools__CCompilationUnit__header_decl
]))(var63
) /* header_decl on <var63:nullable CPPCompilationUnit>*/;
644 var69
= string__NativeString__to_s_with_length(var67
, var68
);
648 ((void (*)(val
*, val
*))(var64
->class->vft
[COLOR_template__Template__add
]))(var64
, var66
) /* add on <var64:Template>*/;
649 var70
= NEW_c_tools__CFunction(&type_c_tools__CFunction
);
650 ((void (*)(val
*, val
*))(var70
->class->vft
[COLOR_c_tools__CFunction__init
]))(var70
, var_indirection_sig
) /* init on <var70:CFunction>*/;
652 var71
= ((short int (*)(val
*))(var_mproperty
->class->vft
[COLOR_model__MMethod__is_init
]))(var_mproperty
) /* is_init on <var_mproperty:MMethod>*/;
660 var77
= string__NativeString__to_s_with_length(var75
, var76
);
664 var_param_name
= var74
;
665 var78
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_cpp__Object__to_cpp_call_context
]))(self
) /* to_cpp_call_context on <self:CPPLanguage>*/;
666 var79
= ((val
* (*)(val
*, val
*))(var78
->class->vft
[COLOR_nitni_utilities__CallContext__name_mtype
]))(var78
, var_mclass_type
) /* name_mtype on <var78:ToCppCallContext>*/;
667 var_type_name
= var79
;
668 var80
= ((val
* (*)(val
*))(var_mclass_type
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mclass_type
) /* mclass on <var_mclass_type:MClassType>*/;
669 var81
= ((val
* (*)(val
*))(var80
->class->vft
[COLOR_extern_classes__MClass__ftype
]))(var80
) /* ftype on <var80:MClass>*/;
670 /* <var81:nullable ForeignType> isa ForeignCppType */
671 cltype83
= type_cpp__ForeignCppType
.color
;
672 idtype84
= type_cpp__ForeignCppType
.id
;
676 if(cltype83
>= var81
->type
->table_size
) {
679 var82
= var81
->type
->type_table
[cltype83
] == idtype84
;
683 var85
= ((val
* (*)(val
*))(var_fc
->class->vft
[COLOR_c_tools__CFunction__exprs
]))(var_fc
) /* exprs on <var_fc:CFunction>*/;
689 var90
= string__NativeString__to_s_with_length(var88
, var89
);
696 var93
= "_for_cpp = static_cast<";
698 var95
= string__NativeString__to_s_with_length(var93
, var94
);
707 var100
= string__NativeString__to_s_with_length(var98
, var99
);
716 var105
= string__NativeString__to_s_with_length(var103
, var104
);
720 var106
= NEW_array__Array(&type_array__Arraykernel__Object
);
721 { /* var106 = array_instance Array[Object] */
723 var108
= NEW_array__NativeArray(var107
, &type_array__NativeArraykernel__Object
);
724 ((struct instance_array__NativeArray
*)var108
)->values
[0] = (val
*) var_type_name
;
725 ((struct instance_array__NativeArray
*)var108
)->values
[1] = (val
*) var87
;
726 ((struct instance_array__NativeArray
*)var108
)->values
[2] = (val
*) var_param_name
;
727 ((struct instance_array__NativeArray
*)var108
)->values
[3] = (val
*) var92
;
728 ((struct instance_array__NativeArray
*)var108
)->values
[4] = (val
*) var_type_name
;
729 ((struct instance_array__NativeArray
*)var108
)->values
[5] = (val
*) var97
;
730 ((struct instance_array__NativeArray
*)var108
)->values
[6] = (val
*) var_param_name
;
731 ((struct instance_array__NativeArray
*)var108
)->values
[7] = (val
*) var102
;
732 ((void (*)(val
*, val
*, long))(var106
->class->vft
[COLOR_array__Array__with_native
]))(var106
, var108
, var107
) /* with_native on <var106:Array[Object]>*/;
734 var109
= ((val
* (*)(val
*))(var106
->class->vft
[COLOR_string__Object__to_s
]))(var106
) /* to_s on <var106:Array[Object]>*/;
735 ((void (*)(val
*, val
*))(var85
->class->vft
[COLOR_template__Template__add
]))(var85
, var109
) /* add on <var85:Template>*/;
737 var110
= ((val
* (*)(val
*))(var_fc
->class->vft
[COLOR_c_tools__CFunction__exprs
]))(var_fc
) /* exprs on <var_fc:CFunction>*/;
743 var115
= string__NativeString__to_s_with_length(var113
, var114
);
750 var118
= "_for_cpp = ";
752 var120
= string__NativeString__to_s_with_length(var118
, var119
);
761 var125
= string__NativeString__to_s_with_length(var123
, var124
);
765 var126
= NEW_array__Array(&type_array__Arraykernel__Object
);
766 { /* var126 = array_instance Array[Object] */
768 var128
= NEW_array__NativeArray(var127
, &type_array__NativeArraykernel__Object
);
769 ((struct instance_array__NativeArray
*)var128
)->values
[0] = (val
*) var_type_name
;
770 ((struct instance_array__NativeArray
*)var128
)->values
[1] = (val
*) var112
;
771 ((struct instance_array__NativeArray
*)var128
)->values
[2] = (val
*) var_param_name
;
772 ((struct instance_array__NativeArray
*)var128
)->values
[3] = (val
*) var117
;
773 ((struct instance_array__NativeArray
*)var128
)->values
[4] = (val
*) var_param_name
;
774 ((struct instance_array__NativeArray
*)var128
)->values
[5] = (val
*) var122
;
775 ((void (*)(val
*, val
*, long))(var126
->class->vft
[COLOR_array__Array__with_native
]))(var126
, var128
, var127
) /* with_native on <var126:Array[Object]>*/;
777 var129
= ((val
* (*)(val
*))(var126
->class->vft
[COLOR_string__Object__to_s
]))(var126
) /* to_s on <var126:Array[Object]>*/;
778 ((void (*)(val
*, val
*))(var110
->class->vft
[COLOR_template__Template__add
]))(var110
, var129
) /* add on <var110:Template>*/;
782 var130
= ((val
* (*)(val
*))(var_m
->class->vft
[COLOR_modelize_property__APropdef__mpropdef
]))(var_m
) /* mpropdef on <var_m:AExternPropdef>*/;
783 if (var130
== NULL
) {
784 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
785 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/cpp.nit", 95);
788 var131
= ((val
* (*)(val
*))(var130
->class->vft
[COLOR_model__MMethodDef__msignature
]))(var130
) /* msignature on <var130:nullable MPropDef(nullable MMethodDef)>*/;
790 if (var131
== NULL
) {
791 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
792 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/cpp.nit", 95);
795 var132
= ((val
* (*)(val
*))(var131
->class->vft
[COLOR_model__MSignature__mparameters
]))(var131
) /* mparameters on <var131:nullable MSignature>*/;
797 var133
= ((val
* (*)(val
*))(var132
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var132
) /* iterator on <var132:Array[MParameter]>*/;
799 var134
= ((short int (*)(val
*))(var133
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var133
) /* is_ok on <var133:Iterator[nullable Object]>*/;
801 var135
= ((val
* (*)(val
*))(var133
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var133
) /* item on <var133:Iterator[nullable Object]>*/;
803 var136
= ((val
* (*)(val
*))(var_param
->class->vft
[COLOR_model__MParameter__name
]))(var_param
) /* name on <var_param:MParameter>*/;
804 var_param_name137
= var136
;
805 var138
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_cpp__Object__to_cpp_call_context
]))(self
) /* to_cpp_call_context on <self:CPPLanguage>*/;
806 var139
= ((val
* (*)(val
*))(var_param
->class->vft
[COLOR_model__MParameter__mtype
]))(var_param
) /* mtype on <var_param:MParameter>*/;
807 var140
= ((val
* (*)(val
*, val
*))(var138
->class->vft
[COLOR_nitni_utilities__CallContext__name_mtype
]))(var138
, var139
) /* name_mtype on <var138:ToCppCallContext>*/;
808 var_type_name141
= var140
;
809 var142
= ((val
* (*)(val
*))(var_mclass_type
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mclass_type
) /* mclass on <var_mclass_type:MClassType>*/;
810 var143
= ((val
* (*)(val
*))(var142
->class->vft
[COLOR_extern_classes__MClass__ftype
]))(var142
) /* ftype on <var142:MClass>*/;
811 /* <var143:nullable ForeignType> isa ForeignCppType */
812 cltype145
= type_cpp__ForeignCppType
.color
;
813 idtype146
= type_cpp__ForeignCppType
.id
;
817 if(cltype145
>= var143
->type
->table_size
) {
820 var144
= var143
->type
->type_table
[cltype145
] == idtype146
;
824 var147
= ((val
* (*)(val
*))(var_fc
->class->vft
[COLOR_c_tools__CFunction__exprs
]))(var_fc
) /* exprs on <var_fc:CFunction>*/;
830 var152
= string__NativeString__to_s_with_length(var150
, var151
);
837 var155
= "_for_cpp = static_cast<";
839 var157
= string__NativeString__to_s_with_length(var155
, var156
);
848 var162
= string__NativeString__to_s_with_length(var160
, var161
);
857 var167
= string__NativeString__to_s_with_length(var165
, var166
);
861 var168
= NEW_array__Array(&type_array__Arraykernel__Object
);
862 { /* var168 = array_instance Array[Object] */
864 var170
= NEW_array__NativeArray(var169
, &type_array__NativeArraykernel__Object
);
865 ((struct instance_array__NativeArray
*)var170
)->values
[0] = (val
*) var_type_name141
;
866 ((struct instance_array__NativeArray
*)var170
)->values
[1] = (val
*) var149
;
867 ((struct instance_array__NativeArray
*)var170
)->values
[2] = (val
*) var_param_name137
;
868 ((struct instance_array__NativeArray
*)var170
)->values
[3] = (val
*) var154
;
869 ((struct instance_array__NativeArray
*)var170
)->values
[4] = (val
*) var_type_name141
;
870 ((struct instance_array__NativeArray
*)var170
)->values
[5] = (val
*) var159
;
871 ((struct instance_array__NativeArray
*)var170
)->values
[6] = (val
*) var_param_name137
;
872 ((struct instance_array__NativeArray
*)var170
)->values
[7] = (val
*) var164
;
873 ((void (*)(val
*, val
*, long))(var168
->class->vft
[COLOR_array__Array__with_native
]))(var168
, var170
, var169
) /* with_native on <var168:Array[Object]>*/;
875 var171
= ((val
* (*)(val
*))(var168
->class->vft
[COLOR_string__Object__to_s
]))(var168
) /* to_s on <var168:Array[Object]>*/;
876 ((void (*)(val
*, val
*))(var147
->class->vft
[COLOR_template__Template__add
]))(var147
, var171
) /* add on <var147:Template>*/;
878 var172
= ((val
* (*)(val
*))(var_fc
->class->vft
[COLOR_c_tools__CFunction__exprs
]))(var_fc
) /* exprs on <var_fc:CFunction>*/;
884 var177
= string__NativeString__to_s_with_length(var175
, var176
);
891 var180
= "_for_cpp = ";
893 var182
= string__NativeString__to_s_with_length(var180
, var181
);
902 var187
= string__NativeString__to_s_with_length(var185
, var186
);
906 var188
= NEW_array__Array(&type_array__Arraykernel__Object
);
907 { /* var188 = array_instance Array[Object] */
909 var190
= NEW_array__NativeArray(var189
, &type_array__NativeArraykernel__Object
);
910 ((struct instance_array__NativeArray
*)var190
)->values
[0] = (val
*) var_type_name141
;
911 ((struct instance_array__NativeArray
*)var190
)->values
[1] = (val
*) var174
;
912 ((struct instance_array__NativeArray
*)var190
)->values
[2] = (val
*) var_param_name137
;
913 ((struct instance_array__NativeArray
*)var190
)->values
[3] = (val
*) var179
;
914 ((struct instance_array__NativeArray
*)var190
)->values
[4] = (val
*) var_param_name137
;
915 ((struct instance_array__NativeArray
*)var190
)->values
[5] = (val
*) var184
;
916 ((void (*)(val
*, val
*, long))(var188
->class->vft
[COLOR_array__Array__with_native
]))(var188
, var190
, var189
) /* with_native on <var188:Array[Object]>*/;
918 var191
= ((val
* (*)(val
*))(var188
->class->vft
[COLOR_string__Object__to_s
]))(var188
) /* to_s on <var188:Array[Object]>*/;
919 ((void (*)(val
*, val
*))(var172
->class->vft
[COLOR_template__Template__add
]))(var172
, var191
) /* add on <var172:Template>*/;
921 CONTINUE_label
: (void)0;
922 ((void (*)(val
*))(var133
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var133
) /* next on <var133:Iterator[nullable Object]>*/;
924 BREAK_label
: (void)0;
925 var192
= ((val
* (*)(val
*))(var_fc
->class->vft
[COLOR_c_tools__CFunction__exprs
]))(var_fc
) /* exprs on <var_fc:CFunction>*/;
929 var195
= "___cpp_impl";
931 var197
= string__NativeString__to_s_with_length(var195
, var196
);
935 var198
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_nitni_utilities__Object__long_signature
]))(self
) /* long_signature on <self:CPPLanguage>*/;
936 var199
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_cpp__Object__cpp_call_context
]))(self
) /* cpp_call_context on <self:CPPLanguage>*/;
942 var204
= string__NativeString__to_s_with_length(var202
, var203
);
946 var205
= ((val
* (*)(val
*, val
*, val
*, val
*, val
*, val
*, val
*))(var_mproperty
->class->vft
[COLOR_nitni_utilities__MMethod__build_ccall
]))(var_mproperty
, var_mclass_type
, var_mmodule
, var194
, var198
, var199
, var201
) /* build_ccall on <var_mproperty:MMethod>*/;
947 ((void (*)(val
*, val
*))(var192
->class->vft
[COLOR_template__Template__add
]))(var192
, var205
) /* add on <var192:Template>*/;
948 var206
= ((val
* (*)(val
*))(var_fc
->class->vft
[COLOR_c_tools__CFunction__exprs
]))(var_fc
) /* exprs on <var_fc:CFunction>*/;
954 var211
= string__NativeString__to_s_with_length(var209
, var210
);
958 ((void (*)(val
*, val
*))(var206
->class->vft
[COLOR_template__Template__add
]))(var206
, var208
) /* add on <var206:Template>*/;
959 var212
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_cpp__AModule__cpp_file
]))(var_nmodule
) /* cpp_file on <var_nmodule:AModule>*/;
960 if (var212
== NULL
) {
961 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
962 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/cpp.nit", 106);
965 ((void (*)(val
*, val
*))(var212
->class->vft
[COLOR_c_tools__CCompilationUnit__add_local_function
]))(var212
, var_fc
) /* add_local_function on <var212:nullable CPPCompilationUnit>*/;
970 var215
= "___cpp_impl";
972 var217
= string__NativeString__to_s_with_length(var215
, var216
);
976 var218
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_nitni_utilities__Object__long_signature
]))(self
) /* long_signature on <self:CPPLanguage>*/;
977 var219
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_cpp__Object__cpp_call_context
]))(self
) /* cpp_call_context on <self:CPPLanguage>*/;
978 var220
= ((val
* (*)(val
*, val
*, val
*, val
*, val
*, val
*))(var_mproperty
->class->vft
[COLOR_nitni_utilities__MMethod__build_csignature
]))(var_mproperty
, var_mclass_type
, var_mmodule
, var214
, var218
, var219
) /* build_csignature on <var_mproperty:MMethod>*/;
979 var_cpp_signature
= var220
;
980 var221
= NEW_c_tools__CFunction(&type_c_tools__CFunction
);
981 ((void (*)(val
*, val
*))(var221
->class->vft
[COLOR_c_tools__CFunction__init
]))(var221
, var_cpp_signature
) /* init on <var221:CFunction>*/;
983 var222
= ((val
* (*)(val
*))(var_fc
->class->vft
[COLOR_c_tools__CFunction__decls
]))(var_fc
) /* decls on <var_fc:CFunction>*/;
984 var223
= ((val
* (*)(val
*))(var_block
->class->vft
[COLOR_parser_nodes__ANode__location
]))(var_block
) /* location on <var_block:AExternCodeBlock>*/;
985 var224
= ((val
* (*)(val
*))(var223
->class->vft
[COLOR_c__Location__as_line_pragma
]))(var223
) /* as_line_pragma on <var223:Location>*/;
986 ((void (*)(val
*, val
*))(var222
->class->vft
[COLOR_template__Template__add
]))(var222
, var224
) /* add on <var222:Template>*/;
987 var225
= ((val
* (*)(val
*))(var_fc
->class->vft
[COLOR_c_tools__CFunction__exprs
]))(var_fc
) /* exprs on <var_fc:CFunction>*/;
988 var226
= ((val
* (*)(val
*))(var_block
->class->vft
[COLOR_ffi_base__AExternCodeBlock__code
]))(var_block
) /* code on <var_block:AExternCodeBlock>*/;
989 ((void (*)(val
*, val
*))(var225
->class->vft
[COLOR_template__Template__add
]))(var225
, var226
) /* add on <var225:Template>*/;
990 var227
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_cpp__AModule__cpp_file
]))(var_nmodule
) /* cpp_file on <var_nmodule:AModule>*/;
991 if (var227
== NULL
) {
992 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
993 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/cpp.nit", 113);
996 ((void (*)(val
*, val
*))(var227
->class->vft
[COLOR_c_tools__CCompilationUnit__add_local_function
]))(var227
, var_fc
) /* add_local_function on <var227:nullable CPPCompilationUnit>*/;
1000 /* method cpp#CPPLanguage#compile_extern_method for (self: Object, AExternCodeBlock, AExternPropdef, CCompilationUnit, AModule) */
1001 void VIRTUAL_cpp__CPPLanguage__compile_extern_method(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
1002 cpp__CPPLanguage__compile_extern_method(self
, p0
, p1
, p2
, p3
);
1005 /* method cpp#CPPLanguage#compile_extern_class for (self: CPPLanguage, AExternCodeBlock, AClassdef, CCompilationUnit, AModule) */
1006 void cpp__CPPLanguage__compile_extern_class(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
1007 val
* var_block
/* var block: AExternCodeBlock */;
1008 val
* var_m
/* var m: AClassdef */;
1009 val
* var_ecc
/* var ecc: CCompilationUnit */;
1010 val
* var_nmodule
/* var nmodule: AModule */;
1017 /* method cpp#CPPLanguage#compile_extern_class for (self: Object, AExternCodeBlock, AClassdef, CCompilationUnit, AModule) */
1018 void VIRTUAL_cpp__CPPLanguage__compile_extern_class(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
1019 cpp__CPPLanguage__compile_extern_class(self
, p0
, p1
, p2
, p3
);
1022 /* method cpp#CPPLanguage#get_ftype for (self: CPPLanguage, AExternCodeBlock, AClassdef): ForeignType */
1023 val
* cpp__CPPLanguage__get_ftype(val
* self
, val
* p0
, val
* p1
) {
1024 val
* var
/* : ForeignType */;
1025 val
* var_block
/* var block: AExternCodeBlock */;
1026 val
* var_m
/* var m: AClassdef */;
1027 val
* var1
/* : ForeignCppType */;
1028 val
* var2
/* : String */;
1031 var1
= NEW_cpp__ForeignCppType(&type_cpp__ForeignCppType
);
1032 var2
= ((val
* (*)(val
*))(var_block
->class->vft
[COLOR_ffi_base__AExternCodeBlock__code
]))(var_block
) /* code on <var_block:AExternCodeBlock>*/;
1033 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_cpp__ForeignCppType__init
]))(var1
, var2
) /* init on <var1:ForeignCppType>*/;
1039 /* method cpp#CPPLanguage#get_ftype for (self: Object, AExternCodeBlock, AClassdef): ForeignType */
1040 val
* VIRTUAL_cpp__CPPLanguage__get_ftype(val
* self
, val
* p0
, val
* p1
) {
1041 val
* var
/* : ForeignType */;
1042 val
* var1
/* : ForeignType */;
1043 var1
= cpp__CPPLanguage__get_ftype(self
, p0
, p1
);
1048 /* method cpp#CPPLanguage#compile_to_files for (self: CPPLanguage, AModule, String) */
1049 void cpp__CPPLanguage__compile_to_files(val
* self
, val
* p0
, val
* p1
) {
1050 val
* var_nmodule
/* var nmodule: AModule */;
1051 val
* var_compdir
/* var compdir: String */;
1052 val
* var
/* : nullable CPPCompilationUnit */;
1053 val
* var_cpp_file
/* var cpp_file: nullable CPPCompilationUnit */;
1054 val
* var1
/* : null */;
1055 short int var2
/* : Bool */;
1056 val
* var3
/* : Template */;
1057 static val
* varonce
;
1058 val
* var4
/* : String */;
1059 char* var5
/* : NativeString */;
1060 long var6
/* : Int */;
1061 val
* var7
/* : String */;
1062 val
* var8
/* : Template */;
1063 static val
* varonce9
;
1064 val
* var10
/* : String */;
1065 char* var11
/* : NativeString */;
1066 long var12
/* : Int */;
1067 val
* var13
/* : String */;
1068 val
* var14
/* : nullable MModule */;
1069 val
* var15
/* : String */;
1070 static val
* varonce16
;
1071 val
* var17
/* : String */;
1072 char* var18
/* : NativeString */;
1073 long var19
/* : Int */;
1074 val
* var20
/* : String */;
1075 val
* var21
/* : Array[Object] */;
1076 long var22
/* : Int */;
1077 val
* var23
/* : NativeArray[Object] */;
1078 val
* var24
/* : String */;
1079 val
* var25
/* : Template */;
1080 static val
* varonce26
;
1081 val
* var27
/* : String */;
1082 char* var28
/* : NativeString */;
1083 long var29
/* : Int */;
1084 val
* var30
/* : String */;
1085 val
* var31
/* : ExternCppFile */;
1086 val
* var_file
/* var file: ExternCppFile */;
1087 val
* var32
/* : Array[ExternFile] */;
1088 val
* var33
/* : String */;
1089 static val
* varonce34
;
1090 val
* var35
/* : String */;
1091 char* var36
/* : NativeString */;
1092 long var37
/* : Int */;
1093 val
* var38
/* : String */;
1094 val
* var39
/* : Array[Object] */;
1095 long var40
/* : Int */;
1096 val
* var41
/* : NativeArray[Object] */;
1097 val
* var42
/* : String */;
1100 var
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_cpp__AModule__cpp_file
]))(var_nmodule
) /* cpp_file on <var_nmodule:AModule>*/;
1103 if (var_cpp_file
== NULL
) {
1104 var2
= 0; /* is null */
1106 var2
= 1; /* arg is null and recv is not */
1109 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1110 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/cpp.nit", 123);
1113 var3
= ((val
* (*)(val
*))(var_cpp_file
->class->vft
[COLOR_c_tools__CCompilationUnit__header_custom
]))(var_cpp_file
) /* header_custom on <var_cpp_file:nullable CPPCompilationUnit(CPPCompilationUnit)>*/;
1117 var5
= "extern \"C\" {\n";
1119 var7
= string__NativeString__to_s_with_length(var5
, var6
);
1123 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_template__Template__add
]))(var3
, var4
) /* add on <var3:Template>*/;
1124 var8
= ((val
* (*)(val
*))(var_cpp_file
->class->vft
[COLOR_c_tools__CCompilationUnit__header_custom
]))(var_cpp_file
) /* header_custom on <var_cpp_file:nullable CPPCompilationUnit(CPPCompilationUnit)>*/;
1128 var11
= "#include \"";
1130 var13
= string__NativeString__to_s_with_length(var11
, var12
);
1134 var14
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_modelbuilder__AModule__mmodule
]))(var_nmodule
) /* mmodule on <var_nmodule:AModule>*/;
1135 if (var14
== NULL
) {
1136 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
1137 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/cpp.nit", 127);
1140 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_mmodule__MModule__name
]))(var14
) /* name on <var14:nullable MModule>*/;
1145 var18
= "._ffi.h\"\n";
1147 var20
= string__NativeString__to_s_with_length(var18
, var19
);
1151 var21
= NEW_array__Array(&type_array__Arraykernel__Object
);
1152 { /* var21 = array_instance Array[Object] */
1154 var23
= NEW_array__NativeArray(var22
, &type_array__NativeArraykernel__Object
);
1155 ((struct instance_array__NativeArray
*)var23
)->values
[0] = (val
*) var10
;
1156 ((struct instance_array__NativeArray
*)var23
)->values
[1] = (val
*) var15
;
1157 ((struct instance_array__NativeArray
*)var23
)->values
[2] = (val
*) var17
;
1158 ((void (*)(val
*, val
*, long))(var21
->class->vft
[COLOR_array__Array__with_native
]))(var21
, var23
, var22
) /* with_native on <var21:Array[Object]>*/;
1160 var24
= ((val
* (*)(val
*))(var21
->class->vft
[COLOR_string__Object__to_s
]))(var21
) /* to_s on <var21:Array[Object]>*/;
1161 ((void (*)(val
*, val
*))(var8
->class->vft
[COLOR_template__Template__add
]))(var8
, var24
) /* add on <var8:Template>*/;
1162 var25
= ((val
* (*)(val
*))(var_cpp_file
->class->vft
[COLOR_c_tools__CCompilationUnit__header_custom
]))(var_cpp_file
) /* header_custom on <var_cpp_file:nullable CPPCompilationUnit(CPPCompilationUnit)>*/;
1168 var30
= string__NativeString__to_s_with_length(var28
, var29
);
1172 ((void (*)(val
*, val
*))(var25
->class->vft
[COLOR_template__Template__add
]))(var25
, var27
) /* add on <var25:Template>*/;
1173 var31
= ((val
* (*)(val
*, val
*, val
*))(var_cpp_file
->class->vft
[COLOR_cpp__CPPCompilationUnit__write_to_files
]))(var_cpp_file
, var_nmodule
, var_compdir
) /* write_to_files on <var_cpp_file:nullable CPPCompilationUnit(CPPCompilationUnit)>*/;
1175 var32
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_ffi_base__AModule__ffi_files
]))(var_nmodule
) /* ffi_files on <var_nmodule:AModule>*/;
1176 ((void (*)(val
*, val
*))(var32
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var32
, var_file
) /* add on <var32:Array[ExternFile]>*/;
1177 var33
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_c__AModule__c_linker_options
]))(var_nmodule
) /* c_linker_options on <var_nmodule:AModule>*/;
1181 var36
= " -lstdc++";
1183 var38
= string__NativeString__to_s_with_length(var36
, var37
);
1187 var39
= NEW_array__Array(&type_array__Arraykernel__Object
);
1188 { /* var39 = array_instance Array[Object] */
1190 var41
= NEW_array__NativeArray(var40
, &type_array__NativeArraykernel__Object
);
1191 ((struct instance_array__NativeArray
*)var41
)->values
[0] = (val
*) var33
;
1192 ((struct instance_array__NativeArray
*)var41
)->values
[1] = (val
*) var35
;
1193 ((void (*)(val
*, val
*, long))(var39
->class->vft
[COLOR_array__Array__with_native
]))(var39
, var41
, var40
) /* with_native on <var39:Array[Object]>*/;
1195 var42
= ((val
* (*)(val
*))(var39
->class->vft
[COLOR_string__Object__to_s
]))(var39
) /* to_s on <var39:Array[Object]>*/;
1196 ((void (*)(val
*, val
*))(var_nmodule
->class->vft
[COLOR_c__AModule__c_linker_options_61d
]))(var_nmodule
, var42
) /* c_linker_options= on <var_nmodule:AModule>*/;
1199 /* method cpp#CPPLanguage#compile_to_files for (self: Object, AModule, String) */
1200 void VIRTUAL_cpp__CPPLanguage__compile_to_files(val
* self
, val
* p0
, val
* p1
) {
1201 cpp__CPPLanguage__compile_to_files(self
, p0
, p1
);
1204 /* method cpp#CPPLanguage#compile_callback for (self: CPPLanguage, NitniCallback, AModule, MModule, CCompilationUnit) */
1205 void cpp__CPPLanguage__compile_callback(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
1206 val
* var_callback
/* var callback: NitniCallback */;
1207 val
* var_nmodule
/* var nmodule: AModule */;
1208 val
* var_mmodule
/* var mmodule: MModule */;
1209 val
* var_ecc
/* var ecc: CCompilationUnit */;
1214 ((void (*)(val
*, val
*, val
*))(var_callback
->class->vft
[COLOR_cpp__NitniCallback__compile_callback_to_cpp
]))(var_callback
, var_nmodule
, var_mmodule
) /* compile_callback_to_cpp on <var_callback:NitniCallback>*/;
1217 /* method cpp#CPPLanguage#compile_callback for (self: Object, NitniCallback, AModule, MModule, CCompilationUnit) */
1218 void VIRTUAL_cpp__CPPLanguage__compile_callback(val
* self
, val
* p0
, val
* p1
, val
* p2
, val
* p3
) {
1219 cpp__CPPLanguage__compile_callback(self
, p0
, p1
, p2
, p3
);
1222 /* method cpp#AExternCodeBlock#is_cpp for (self: AExternCodeBlock): Bool */
1223 short int cpp__AExternCodeBlock__is_cpp(val
* self
) {
1224 short int var
/* : Bool */;
1225 short int var1
/* : Bool */;
1226 val
* var2
/* : nullable String */;
1227 val
* var3
/* : null */;
1228 short int var4
/* : Bool */;
1229 short int var_
/* var : Bool */;
1230 short int var5
/* : Bool */;
1231 val
* var6
/* : nullable String */;
1232 static val
* varonce
;
1233 val
* var7
/* : String */;
1234 char* var8
/* : NativeString */;
1235 long var9
/* : Int */;
1236 val
* var10
/* : String */;
1237 short int var11
/* : Bool */;
1238 short int var_12
/* var : Bool */;
1239 val
* var13
/* : nullable String */;
1240 static val
* varonce14
;
1241 val
* var15
/* : String */;
1242 char* var16
/* : NativeString */;
1243 long var17
/* : Int */;
1244 val
* var18
/* : String */;
1245 short int var19
/* : Bool */;
1246 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_ffi_base__AExternCodeBlock__language_name
]))(self
) /* language_name on <self:AExternCodeBlock>*/;
1249 var4
= 0; /* is null */
1251 var4
= 1; /* arg is null and recv is not */
1255 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_ffi_base__AExternCodeBlock__language_name_lowered
]))(self
) /* language_name_lowered on <self:AExternCodeBlock>*/;
1261 var10
= string__NativeString__to_s_with_length(var8
, var9
);
1266 var11
= 0; /* <var7:String> cannot be null */
1268 var11
= ((short int (*)(val
*, val
*))(var6
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var6
, var7
) /* == on <var6:nullable String>*/;
1274 var13
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_ffi_base__AExternCodeBlock__language_name_lowered
]))(self
) /* language_name_lowered on <self:AExternCodeBlock>*/;
1280 var18
= string__NativeString__to_s_with_length(var16
, var17
);
1284 if (var13
== NULL
) {
1285 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
1286 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/cpp.nit", 147);
1289 var19
= ((short int (*)(val
*, val
*))(var13
->class->vft
[COLOR_string__AbstractString__has_prefix
]))(var13
, var15
) /* has_prefix on <var13:nullable String>*/;
1302 /* method cpp#AExternCodeBlock#is_cpp for (self: Object): Bool */
1303 short int VIRTUAL_cpp__AExternCodeBlock__is_cpp(val
* self
) {
1304 short int var
/* : Bool */;
1305 short int var1
/* : Bool */;
1306 var1
= cpp__AExternCodeBlock__is_cpp(self
);
1311 /* method cpp#AExternCodeBlock#is_cpp_body for (self: AExternCodeBlock): Bool */
1312 short int cpp__AExternCodeBlock__is_cpp_body(val
* self
) {
1313 short int var
/* : Bool */;
1314 short int var1
/* : Bool */;
1315 val
* var2
/* : nullable String */;
1316 val
* var3
/* : null */;
1317 short int var4
/* : Bool */;
1318 short int var_
/* var : Bool */;
1319 short int var5
/* : Bool */;
1320 val
* var6
/* : nullable String */;
1321 static val
* varonce
;
1322 val
* var7
/* : String */;
1323 char* var8
/* : NativeString */;
1324 long var9
/* : Int */;
1325 val
* var10
/* : String */;
1326 short int var11
/* : Bool */;
1327 short int var_12
/* var : Bool */;
1328 val
* var13
/* : nullable String */;
1329 static val
* varonce14
;
1330 val
* var15
/* : String */;
1331 char* var16
/* : NativeString */;
1332 long var17
/* : Int */;
1333 val
* var18
/* : String */;
1334 short int var19
/* : Bool */;
1335 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_ffi_base__AExternCodeBlock__language_name
]))(self
) /* language_name on <self:AExternCodeBlock>*/;
1338 var4
= 0; /* is null */
1340 var4
= 1; /* arg is null and recv is not */
1344 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_ffi_base__AExternCodeBlock__language_name_lowered
]))(self
) /* language_name_lowered on <self:AExternCodeBlock>*/;
1350 var10
= string__NativeString__to_s_with_length(var8
, var9
);
1355 var11
= 0; /* <var7:String> cannot be null */
1357 var11
= ((short int (*)(val
*, val
*))(var6
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var6
, var7
) /* == on <var6:nullable String>*/;
1363 var13
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_ffi_base__AExternCodeBlock__language_name_lowered
]))(self
) /* language_name_lowered on <self:AExternCodeBlock>*/;
1369 var18
= string__NativeString__to_s_with_length(var16
, var17
);
1373 if (var13
== NULL
) {
1374 var19
= 0; /* <var15:String> cannot be null */
1376 var19
= ((short int (*)(val
*, val
*))(var13
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var13
, var15
) /* == on <var13:nullable String>*/;
1389 /* method cpp#AExternCodeBlock#is_cpp_body for (self: Object): Bool */
1390 short int VIRTUAL_cpp__AExternCodeBlock__is_cpp_body(val
* self
) {
1391 short int var
/* : Bool */;
1392 short int var1
/* : Bool */;
1393 var1
= cpp__AExternCodeBlock__is_cpp_body(self
);
1398 /* method cpp#AExternCodeBlock#is_cpp_header for (self: AExternCodeBlock): Bool */
1399 short int cpp__AExternCodeBlock__is_cpp_header(val
* self
) {
1400 short int var
/* : Bool */;
1401 short int var1
/* : Bool */;
1402 val
* var2
/* : nullable String */;
1403 val
* var3
/* : null */;
1404 short int var4
/* : Bool */;
1405 short int var_
/* var : Bool */;
1406 val
* var5
/* : nullable String */;
1407 static val
* varonce
;
1408 val
* var6
/* : String */;
1409 char* var7
/* : NativeString */;
1410 long var8
/* : Int */;
1411 val
* var9
/* : String */;
1412 short int var10
/* : Bool */;
1413 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_ffi_base__AExternCodeBlock__language_name
]))(self
) /* language_name on <self:AExternCodeBlock>*/;
1416 var4
= 0; /* is null */
1418 var4
= 1; /* arg is null and recv is not */
1422 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_ffi_base__AExternCodeBlock__language_name_lowered
]))(self
) /* language_name_lowered on <self:AExternCodeBlock>*/;
1426 var7
= "c++ header";
1428 var9
= string__NativeString__to_s_with_length(var7
, var8
);
1433 var10
= 0; /* <var6:String> cannot be null */
1435 var10
= ((short int (*)(val
*, val
*))(var5
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var5
, var6
) /* == on <var5:nullable String>*/;
1446 /* method cpp#AExternCodeBlock#is_cpp_header for (self: Object): Bool */
1447 short int VIRTUAL_cpp__AExternCodeBlock__is_cpp_header(val
* self
) {
1448 short int var
/* : Bool */;
1449 short int var1
/* : Bool */;
1450 var1
= cpp__AExternCodeBlock__is_cpp_header(self
);
1455 /* method cpp#CPPCompilationUnit#write_to_files for (self: CPPCompilationUnit, AModule, String): ExternCppFile */
1456 val
* cpp__CPPCompilationUnit__write_to_files(val
* self
, val
* p0
, val
* p1
) {
1457 val
* var
/* : ExternCppFile */;
1458 val
* var_amodule
/* var amodule: AModule */;
1459 val
* var_compdir
/* var compdir: String */;
1460 val
* var1
/* : Array[Object] */;
1461 long var2
/* : Int */;
1462 val
* var_
/* var : Array[Object] */;
1463 static val
* varonce
;
1464 val
* var3
/* : String */;
1465 char* var4
/* : NativeString */;
1466 long var5
/* : Int */;
1467 val
* var6
/* : String */;
1468 val
* var7
/* : nullable MModule */;
1469 val
* var8
/* : String */;
1470 static val
* varonce9
;
1471 val
* var10
/* : String */;
1472 char* var11
/* : NativeString */;
1473 long var12
/* : Int */;
1474 val
* var13
/* : String */;
1475 val
* var14
/* : String */;
1476 val
* var_base_name
/* var base_name: String */;
1477 val
* var15
/* : Array[Object] */;
1478 long var16
/* : Int */;
1479 val
* var_17
/* var : Array[Object] */;
1480 static val
* varonce18
;
1481 val
* var19
/* : String */;
1482 char* var20
/* : NativeString */;
1483 long var21
/* : Int */;
1484 val
* var22
/* : String */;
1485 static val
* varonce23
;
1486 val
* var24
/* : String */;
1487 char* var25
/* : NativeString */;
1488 long var26
/* : Int */;
1489 val
* var27
/* : String */;
1490 val
* var28
/* : String */;
1491 val
* var_h_file
/* var h_file: String */;
1492 val
* var29
/* : Array[Object] */;
1493 long var30
/* : Int */;
1494 val
* var_31
/* var : Array[Object] */;
1495 static val
* varonce32
;
1496 val
* var33
/* : String */;
1497 char* var34
/* : NativeString */;
1498 long var35
/* : Int */;
1499 val
* var36
/* : String */;
1500 val
* var37
/* : String */;
1501 val
* var38
/* : String */;
1502 val
* var39
/* : String */;
1503 static val
* varonce40
;
1504 val
* var41
/* : String */;
1505 char* var42
/* : NativeString */;
1506 long var43
/* : Int */;
1507 val
* var44
/* : String */;
1508 val
* var45
/* : String */;
1509 val
* var_guard
/* var guard: String */;
1510 static val
* varonce46
;
1511 val
* var47
/* : String */;
1512 char* var48
/* : NativeString */;
1513 long var49
/* : Int */;
1514 val
* var50
/* : String */;
1515 val
* var51
/* : Array[Object] */;
1516 long var52
/* : Int */;
1517 val
* var53
/* : NativeArray[Object] */;
1518 val
* var54
/* : String */;
1519 val
* var55
/* : Array[String] */;
1520 val
* var56
/* : Array[Object] */;
1521 long var57
/* : Int */;
1522 val
* var_58
/* var : Array[Object] */;
1523 static val
* varonce59
;
1524 val
* var60
/* : String */;
1525 char* var61
/* : NativeString */;
1526 long var62
/* : Int */;
1527 val
* var63
/* : String */;
1528 static val
* varonce64
;
1529 val
* var65
/* : String */;
1530 char* var66
/* : NativeString */;
1531 long var67
/* : Int */;
1532 val
* var68
/* : String */;
1533 val
* var69
/* : String */;
1534 val
* var_c_file
/* var c_file: String */;
1535 static val
* varonce70
;
1536 val
* var71
/* : String */;
1537 char* var72
/* : NativeString */;
1538 long var73
/* : Int */;
1539 val
* var74
/* : String */;
1540 val
* var75
/* : Array[Object] */;
1541 long var76
/* : Int */;
1542 val
* var77
/* : NativeArray[Object] */;
1543 val
* var78
/* : String */;
1544 static val
* varonce79
;
1545 val
* var80
/* : String */;
1546 char* var81
/* : NativeString */;
1547 long var82
/* : Int */;
1548 val
* var83
/* : String */;
1549 static val
* varonce84
;
1550 val
* var85
/* : String */;
1551 char* var86
/* : NativeString */;
1552 long var87
/* : Int */;
1553 val
* var88
/* : String */;
1554 val
* var89
/* : Array[Object] */;
1555 long var90
/* : Int */;
1556 val
* var_91
/* var : Array[Object] */;
1557 static val
* varonce92
;
1558 val
* var93
/* : String */;
1559 char* var94
/* : NativeString */;
1560 long var95
/* : Int */;
1561 val
* var96
/* : String */;
1562 static val
* varonce97
;
1563 val
* var98
/* : String */;
1564 char* var99
/* : NativeString */;
1565 long var100
/* : Int */;
1566 val
* var101
/* : String */;
1567 val
* var102
/* : String */;
1568 val
* var103
/* : Array[String] */;
1569 long var104
/* : Int */;
1570 val
* var105
/* : NativeArray[String] */;
1571 val
* var106
/* : Array[String] */;
1572 static val
* varonce107
;
1573 val
* var108
/* : String */;
1574 char* var109
/* : NativeString */;
1575 long var110
/* : Int */;
1576 val
* var111
/* : String */;
1577 val
* var112
/* : Array[Object] */;
1578 long var113
/* : Int */;
1579 val
* var114
/* : NativeArray[Object] */;
1580 val
* var115
/* : String */;
1581 val
* var116
/* : ExternCppFile */;
1582 val
* var117
/* : Array[Object] */;
1583 long var118
/* : Int */;
1584 val
* var_119
/* var : Array[Object] */;
1585 static val
* varonce120
;
1586 val
* var121
/* : String */;
1587 char* var122
/* : NativeString */;
1588 long var123
/* : Int */;
1589 val
* var124
/* : String */;
1590 static val
* varonce125
;
1591 val
* var126
/* : String */;
1592 char* var127
/* : NativeString */;
1593 long var128
/* : Int */;
1594 val
* var129
/* : String */;
1595 static val
* varonce130
;
1596 val
* var131
/* : String */;
1597 char* var132
/* : NativeString */;
1598 long var133
/* : Int */;
1599 val
* var134
/* : String */;
1600 val
* var135
/* : String */;
1603 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
1605 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[Object]>*/;
1612 var6
= string__NativeString__to_s_with_length(var4
, var5
);
1616 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var3
) /* add on <var_:Array[Object]>*/;
1617 var7
= ((val
* (*)(val
*))(var_amodule
->class->vft
[COLOR_modelbuilder__AModule__mmodule
]))(var_amodule
) /* mmodule on <var_amodule:AModule>*/;
1619 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
1620 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/cpp.nit", 161);
1623 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_mmodule__MModule__name
]))(var7
) /* name on <var7:nullable MModule>*/;
1625 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var8
) /* add on <var_:Array[Object]>*/;
1631 var13
= string__NativeString__to_s_with_length(var11
, var12
);
1635 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var10
) /* add on <var_:Array[Object]>*/;
1636 var14
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
1637 var_base_name
= var14
;
1638 var15
= NEW_array__Array(&type_array__Arraykernel__Object
);
1640 ((void (*)(val
*, long))(var15
->class->vft
[COLOR_array__Array__with_capacity
]))(var15
, var16
) /* with_capacity on <var15:Array[Object]>*/;
1647 var22
= string__NativeString__to_s_with_length(var20
, var21
);
1651 ((void (*)(val
*, val
*))(var_17
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_17
, var19
) /* add on <var_17:Array[Object]>*/;
1652 ((void (*)(val
*, val
*))(var_17
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_17
, var_base_name
) /* add on <var_17:Array[Object]>*/;
1658 var27
= string__NativeString__to_s_with_length(var25
, var26
);
1662 ((void (*)(val
*, val
*))(var_17
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_17
, var24
) /* add on <var_17:Array[Object]>*/;
1663 var28
= ((val
* (*)(val
*))(var_17
->class->vft
[COLOR_string__Object__to_s
]))(var_17
) /* to_s on <var_17:Array[Object]>*/;
1665 var29
= NEW_array__Array(&type_array__Arraykernel__Object
);
1667 ((void (*)(val
*, long))(var29
->class->vft
[COLOR_array__Array__with_capacity
]))(var29
, var30
) /* with_capacity on <var29:Array[Object]>*/;
1674 var36
= string__NativeString__to_s_with_length(var34
, var35
);
1678 ((void (*)(val
*, val
*))(var_31
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_31
, var33
) /* add on <var_31:Array[Object]>*/;
1679 var37
= ((val
* (*)(val
*))(var_amodule
->class->vft
[COLOR_nitni_base__AModule__cname
]))(var_amodule
) /* cname on <var_amodule:AModule>*/;
1680 var38
= ((val
* (*)(val
*))(var37
->class->vft
[COLOR_string__Object__to_s
]))(var37
) /* to_s on <var37:String>*/;
1681 var39
= ((val
* (*)(val
*))(var38
->class->vft
[COLOR_string__AbstractString__to_upper
]))(var38
) /* to_upper on <var38:String>*/;
1682 ((void (*)(val
*, val
*))(var_31
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_31
, var39
) /* add on <var_31:Array[Object]>*/;
1688 var44
= string__NativeString__to_s_with_length(var42
, var43
);
1692 ((void (*)(val
*, val
*))(var_31
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_31
, var41
) /* add on <var_31:Array[Object]>*/;
1693 var45
= ((val
* (*)(val
*))(var_31
->class->vft
[COLOR_string__Object__to_s
]))(var_31
) /* to_s on <var_31:Array[Object]>*/;
1700 var50
= string__NativeString__to_s_with_length(var48
, var49
);
1704 var51
= NEW_array__Array(&type_array__Arraykernel__Object
);
1705 { /* var51 = array_instance Array[Object] */
1707 var53
= NEW_array__NativeArray(var52
, &type_array__NativeArraykernel__Object
);
1708 ((struct instance_array__NativeArray
*)var53
)->values
[0] = (val
*) var_compdir
;
1709 ((struct instance_array__NativeArray
*)var53
)->values
[1] = (val
*) var47
;
1710 ((struct instance_array__NativeArray
*)var53
)->values
[2] = (val
*) var_h_file
;
1711 ((void (*)(val
*, val
*, long))(var51
->class->vft
[COLOR_array__Array__with_native
]))(var51
, var53
, var52
) /* with_native on <var51:Array[Object]>*/;
1713 var54
= ((val
* (*)(val
*))(var51
->class->vft
[COLOR_string__Object__to_s
]))(var51
) /* to_s on <var51:Array[Object]>*/;
1714 var55
= NEW_array__Array(&type_array__Arraystring__String
);
1715 ((void (*)(val
*))(var55
->class->vft
[COLOR_array__Array__init
]))(var55
) /* init on <var55:Array[String]>*/;
1716 ((void (*)(val
*, val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_ffi_base__CCompilationUnit__write_header_to_file
]))(self
, var_amodule
, var54
, var55
, var_guard
) /* write_header_to_file on <self:CPPCompilationUnit>*/;
1717 var56
= NEW_array__Array(&type_array__Arraykernel__Object
);
1719 ((void (*)(val
*, long))(var56
->class->vft
[COLOR_array__Array__with_capacity
]))(var56
, var57
) /* with_capacity on <var56:Array[Object]>*/;
1726 var63
= string__NativeString__to_s_with_length(var61
, var62
);
1730 ((void (*)(val
*, val
*))(var_58
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_58
, var60
) /* add on <var_58:Array[Object]>*/;
1731 ((void (*)(val
*, val
*))(var_58
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_58
, var_base_name
) /* add on <var_58:Array[Object]>*/;
1737 var68
= string__NativeString__to_s_with_length(var66
, var67
);
1741 ((void (*)(val
*, val
*))(var_58
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_58
, var65
) /* add on <var_58:Array[Object]>*/;
1742 var69
= ((val
* (*)(val
*))(var_58
->class->vft
[COLOR_string__Object__to_s
]))(var_58
) /* to_s on <var_58:Array[Object]>*/;
1749 var74
= string__NativeString__to_s_with_length(var72
, var73
);
1753 var75
= NEW_array__Array(&type_array__Arraykernel__Object
);
1754 { /* var75 = array_instance Array[Object] */
1756 var77
= NEW_array__NativeArray(var76
, &type_array__NativeArraykernel__Object
);
1757 ((struct instance_array__NativeArray
*)var77
)->values
[0] = (val
*) var_compdir
;
1758 ((struct instance_array__NativeArray
*)var77
)->values
[1] = (val
*) var71
;
1759 ((struct instance_array__NativeArray
*)var77
)->values
[2] = (val
*) var_c_file
;
1760 ((void (*)(val
*, val
*, long))(var75
->class->vft
[COLOR_array__Array__with_native
]))(var75
, var77
, var76
) /* with_native on <var75:Array[Object]>*/;
1762 var78
= ((val
* (*)(val
*))(var75
->class->vft
[COLOR_string__Object__to_s
]))(var75
) /* to_s on <var75:Array[Object]>*/;
1768 var83
= string__NativeString__to_s_with_length(var81
, var82
);
1775 var86
= "<iostream>";
1777 var88
= string__NativeString__to_s_with_length(var86
, var87
);
1781 var89
= NEW_array__Array(&type_array__Arraykernel__Object
);
1783 ((void (*)(val
*, long))(var89
->class->vft
[COLOR_array__Array__with_capacity
]))(var89
, var90
) /* with_capacity on <var89:Array[Object]>*/;
1790 var96
= string__NativeString__to_s_with_length(var94
, var95
);
1794 ((void (*)(val
*, val
*))(var_91
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_91
, var93
) /* add on <var_91:Array[Object]>*/;
1795 ((void (*)(val
*, val
*))(var_91
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_91
, var_h_file
) /* add on <var_91:Array[Object]>*/;
1801 var101
= string__NativeString__to_s_with_length(var99
, var100
);
1805 ((void (*)(val
*, val
*))(var_91
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_91
, var98
) /* add on <var_91:Array[Object]>*/;
1806 var102
= ((val
* (*)(val
*))(var_91
->class->vft
[COLOR_string__Object__to_s
]))(var_91
) /* to_s on <var_91:Array[Object]>*/;
1807 var103
= NEW_array__Array(&type_array__Arraystring__String
);
1808 { /* var103 = array_instance Array[String] */
1810 var105
= NEW_array__NativeArray(var104
, &type_array__NativeArraystring__String
);
1811 ((struct instance_array__NativeArray
*)var105
)->values
[0] = (val
*) var80
;
1812 ((struct instance_array__NativeArray
*)var105
)->values
[1] = (val
*) var85
;
1813 ((struct instance_array__NativeArray
*)var105
)->values
[2] = (val
*) var102
;
1814 ((void (*)(val
*, val
*, long))(var103
->class->vft
[COLOR_array__Array__with_native
]))(var103
, var105
, var104
) /* with_native on <var103:Array[String]>*/;
1816 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_ffi_base__CCompilationUnit__write_body_to_file
]))(self
, var_amodule
, var78
, var103
) /* write_body_to_file on <self:CPPCompilationUnit>*/;
1817 var106
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_c_tools__CCompilationUnit__files
]))(self
) /* files on <self:CPPCompilationUnit>*/;
1819 var108
= varonce107
;
1823 var111
= string__NativeString__to_s_with_length(var109
, var110
);
1825 varonce107
= var108
;
1827 var112
= NEW_array__Array(&type_array__Arraykernel__Object
);
1828 { /* var112 = array_instance Array[Object] */
1830 var114
= NEW_array__NativeArray(var113
, &type_array__NativeArraykernel__Object
);
1831 ((struct instance_array__NativeArray
*)var114
)->values
[0] = (val
*) var_compdir
;
1832 ((struct instance_array__NativeArray
*)var114
)->values
[1] = (val
*) var108
;
1833 ((struct instance_array__NativeArray
*)var114
)->values
[2] = (val
*) var_c_file
;
1834 ((void (*)(val
*, val
*, long))(var112
->class->vft
[COLOR_array__Array__with_native
]))(var112
, var114
, var113
) /* with_native on <var112:Array[Object]>*/;
1836 var115
= ((val
* (*)(val
*))(var112
->class->vft
[COLOR_string__Object__to_s
]))(var112
) /* to_s on <var112:Array[Object]>*/;
1837 ((void (*)(val
*, val
*))(var106
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var106
, var115
) /* add on <var106:Array[String]>*/;
1838 var116
= NEW_cpp__ExternCppFile(&type_cpp__ExternCppFile
);
1839 var117
= NEW_array__Array(&type_array__Arraykernel__Object
);
1841 ((void (*)(val
*, long))(var117
->class->vft
[COLOR_array__Array__with_capacity
]))(var117
, var118
) /* with_capacity on <var117:Array[Object]>*/;
1844 var121
= varonce120
;
1848 var124
= string__NativeString__to_s_with_length(var122
, var123
);
1850 varonce120
= var121
;
1852 ((void (*)(val
*, val
*))(var_119
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_119
, var121
) /* add on <var_119:Array[Object]>*/;
1853 ((void (*)(val
*, val
*))(var_119
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_119
, var_compdir
) /* add on <var_119:Array[Object]>*/;
1855 var126
= varonce125
;
1859 var129
= string__NativeString__to_s_with_length(var127
, var128
);
1861 varonce125
= var126
;
1863 ((void (*)(val
*, val
*))(var_119
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_119
, var126
) /* add on <var_119:Array[Object]>*/;
1864 ((void (*)(val
*, val
*))(var_119
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_119
, var_c_file
) /* add on <var_119:Array[Object]>*/;
1866 var131
= varonce130
;
1870 var134
= string__NativeString__to_s_with_length(var132
, var133
);
1872 varonce130
= var131
;
1874 ((void (*)(val
*, val
*))(var_119
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_119
, var131
) /* add on <var_119:Array[Object]>*/;
1875 var135
= ((val
* (*)(val
*))(var_119
->class->vft
[COLOR_string__Object__to_s
]))(var_119
) /* to_s on <var_119:Array[Object]>*/;
1876 ((void (*)(val
*, val
*, val
*))(var116
->class->vft
[COLOR_cpp__ExternCppFile__init
]))(var116
, var135
, var_amodule
) /* init on <var116:ExternCppFile>*/;
1882 /* method cpp#CPPCompilationUnit#write_to_files for (self: Object, AModule, String): ExternCppFile */
1883 val
* VIRTUAL_cpp__CPPCompilationUnit__write_to_files(val
* self
, val
* p0
, val
* p1
) {
1884 val
* var
/* : ExternCppFile */;
1885 val
* var1
/* : ExternCppFile */;
1886 var1
= cpp__CPPCompilationUnit__write_to_files(self
, p0
, p1
);
1891 /* method cpp#CPPCompilationUnit#init for (self: CPPCompilationUnit) */
1892 void cpp__CPPCompilationUnit__init(val
* self
) {
1893 ((void (*)(val
*))(self
->class->vft
[COLOR_c_tools__CCompilationUnit__init
]))(self
) /* init on <self:CPPCompilationUnit>*/;
1896 /* method cpp#CPPCompilationUnit#init for (self: Object) */
1897 void VIRTUAL_cpp__CPPCompilationUnit__init(val
* self
) {
1898 cpp__CPPCompilationUnit__init(self
);
1901 /* method cpp#ExternCppFile#amodule for (self: ExternCppFile): AModule */
1902 val
* cpp__ExternCppFile__amodule(val
* self
) {
1903 val
* var
/* : AModule */;
1904 val
* var1
/* : AModule */;
1905 var1
= self
->attrs
[COLOR_cpp__ExternCppFile___64damodule
].val
; /* @amodule on <self:ExternCppFile> */
1907 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @amodule");
1908 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/cpp.nit", 180);
1915 /* method cpp#ExternCppFile#amodule for (self: Object): AModule */
1916 val
* VIRTUAL_cpp__ExternCppFile__amodule(val
* self
) {
1917 val
* var
/* : AModule */;
1918 val
* var1
/* : AModule */;
1919 var1
= cpp__ExternCppFile__amodule(self
);
1924 /* method cpp#ExternCppFile#amodule= for (self: ExternCppFile, AModule) */
1925 void cpp__ExternCppFile__amodule_61d(val
* self
, val
* p0
) {
1926 self
->attrs
[COLOR_cpp__ExternCppFile___64damodule
].val
= p0
; /* @amodule on <self:ExternCppFile> */
1929 /* method cpp#ExternCppFile#amodule= for (self: Object, AModule) */
1930 void VIRTUAL_cpp__ExternCppFile__amodule_61d(val
* self
, val
* p0
) {
1931 cpp__ExternCppFile__amodule_61d(self
, p0
);
1934 /* method cpp#ExternCppFile#init for (self: ExternCppFile, String, AModule) */
1935 void cpp__ExternCppFile__init(val
* self
, val
* p0
, val
* p1
) {
1936 val
* var_path
/* var path: String */;
1937 val
* var_amodule
/* var amodule: AModule */;
1940 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_ffi_base__ExternFile__init
]))(self
, p0
) /* init on <self:ExternCppFile>*/;
1941 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_cpp__ExternCppFile__amodule_61d
]))(self
, var_amodule
) /* amodule= on <self:ExternCppFile>*/;
1944 /* method cpp#ExternCppFile#init for (self: Object, String, AModule) */
1945 void VIRTUAL_cpp__ExternCppFile__init(val
* self
, val
* p0
, val
* p1
) {
1946 cpp__ExternCppFile__init(self
, p0
, p1
);
1949 /* method cpp#ExternCppFile#makefile_rule_name for (self: ExternCppFile): String */
1950 val
* cpp__ExternCppFile__makefile_rule_name(val
* self
) {
1951 val
* var
/* : String */;
1952 val
* var1
/* : Array[Object] */;
1953 long var2
/* : Int */;
1954 val
* var_
/* var : Array[Object] */;
1955 static val
* varonce
;
1956 val
* var3
/* : String */;
1957 char* var4
/* : NativeString */;
1958 long var5
/* : Int */;
1959 val
* var6
/* : String */;
1960 val
* var7
/* : String */;
1961 static val
* varonce8
;
1962 val
* var9
/* : String */;
1963 char* var10
/* : NativeString */;
1964 long var11
/* : Int */;
1965 val
* var12
/* : String */;
1966 val
* var13
/* : String */;
1967 static val
* varonce14
;
1968 val
* var15
/* : String */;
1969 char* var16
/* : NativeString */;
1970 long var17
/* : Int */;
1971 val
* var18
/* : String */;
1972 val
* var19
/* : String */;
1973 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
1975 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[Object]>*/;
1982 var6
= string__NativeString__to_s_with_length(var4
, var5
);
1986 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var3
) /* add on <var_:Array[Object]>*/;
1987 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_ffi_base__ExternFile__filename
]))(self
) /* filename on <self:ExternCppFile>*/;
1993 var12
= string__NativeString__to_s_with_length(var10
, var11
);
1997 var13
= ((val
* (*)(val
*, val
*))(var7
->class->vft
[COLOR_file__String__basename
]))(var7
, var9
) /* basename on <var7:String>*/;
1998 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var13
) /* add on <var_:Array[Object]>*/;
2004 var18
= string__NativeString__to_s_with_length(var16
, var17
);
2008 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var15
) /* add on <var_:Array[Object]>*/;
2009 var19
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
2015 /* method cpp#ExternCppFile#makefile_rule_name for (self: Object): String */
2016 val
* VIRTUAL_cpp__ExternCppFile__makefile_rule_name(val
* self
) {
2017 val
* var
/* : String */;
2018 val
* var1
/* : String */;
2019 var1
= cpp__ExternCppFile__makefile_rule_name(self
);
2024 /* method cpp#ExternCppFile#makefile_rule_content for (self: ExternCppFile): String */
2025 val
* cpp__ExternCppFile__makefile_rule_content(val
* self
) {
2026 val
* var
/* : String */;
2027 val
* var1
/* : Array[Object] */;
2028 long var2
/* : Int */;
2029 val
* var_
/* var : Array[Object] */;
2030 static val
* varonce
;
2031 val
* var3
/* : String */;
2032 char* var4
/* : NativeString */;
2033 long var5
/* : Int */;
2034 val
* var6
/* : String */;
2035 val
* var7
/* : AModule */;
2036 val
* var8
/* : String */;
2037 static val
* varonce9
;
2038 val
* var10
/* : String */;
2039 char* var11
/* : NativeString */;
2040 long var12
/* : Int */;
2041 val
* var13
/* : String */;
2042 val
* var14
/* : String */;
2043 static val
* varonce15
;
2044 val
* var16
/* : String */;
2045 char* var17
/* : NativeString */;
2046 long var18
/* : Int */;
2047 val
* var19
/* : String */;
2048 val
* var20
/* : String */;
2049 static val
* varonce21
;
2050 val
* var22
/* : String */;
2051 char* var23
/* : NativeString */;
2052 long var24
/* : Int */;
2053 val
* var25
/* : String */;
2054 val
* var26
/* : String */;
2055 static val
* varonce27
;
2056 val
* var28
/* : String */;
2057 char* var29
/* : NativeString */;
2058 long var30
/* : Int */;
2059 val
* var31
/* : String */;
2060 val
* var32
/* : String */;
2061 static val
* varonce33
;
2062 val
* var34
/* : String */;
2063 char* var35
/* : NativeString */;
2064 long var36
/* : Int */;
2065 val
* var37
/* : String */;
2066 val
* var38
/* : String */;
2067 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
2069 ((void (*)(val
*, long))(var1
->class->vft
[COLOR_array__Array__with_capacity
]))(var1
, var2
) /* with_capacity on <var1:Array[Object]>*/;
2076 var6
= string__NativeString__to_s_with_length(var4
, var5
);
2080 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var3
) /* add on <var_:Array[Object]>*/;
2081 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_cpp__ExternCppFile__amodule
]))(self
) /* amodule on <self:ExternCppFile>*/;
2082 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_cpp__AModule__cpp_compiler_options
]))(var7
) /* cpp_compiler_options on <var7:AModule>*/;
2083 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var8
) /* add on <var_:Array[Object]>*/;
2089 var13
= string__NativeString__to_s_with_length(var11
, var12
);
2093 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var10
) /* add on <var_:Array[Object]>*/;
2094 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_ffi_base__ExternFile__filename
]))(self
) /* filename on <self:ExternCppFile>*/;
2100 var19
= string__NativeString__to_s_with_length(var17
, var18
);
2104 var20
= ((val
* (*)(val
*, val
*))(var14
->class->vft
[COLOR_file__String__basename
]))(var14
, var16
) /* basename on <var14:String>*/;
2105 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var20
) /* add on <var_:Array[Object]>*/;
2111 var25
= string__NativeString__to_s_with_length(var23
, var24
);
2115 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var22
) /* add on <var_:Array[Object]>*/;
2116 var26
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_ffi_base__ExternFile__filename
]))(self
) /* filename on <self:ExternCppFile>*/;
2122 var31
= string__NativeString__to_s_with_length(var29
, var30
);
2126 var32
= ((val
* (*)(val
*, val
*))(var26
->class->vft
[COLOR_file__String__basename
]))(var26
, var28
) /* basename on <var26:String>*/;
2127 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var32
) /* add on <var_:Array[Object]>*/;
2133 var37
= string__NativeString__to_s_with_length(var35
, var36
);
2137 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var34
) /* add on <var_:Array[Object]>*/;
2138 var38
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
2144 /* method cpp#ExternCppFile#makefile_rule_content for (self: Object): String */
2145 val
* VIRTUAL_cpp__ExternCppFile__makefile_rule_content(val
* self
) {
2146 val
* var
/* : String */;
2147 val
* var1
/* : String */;
2148 var1
= cpp__ExternCppFile__makefile_rule_content(self
);
2153 /* method cpp#ForeignCppType#cpp_type for (self: ForeignCppType): String */
2154 val
* cpp__ForeignCppType__cpp_type(val
* self
) {
2155 val
* var
/* : String */;
2156 val
* var1
/* : String */;
2157 var1
= self
->attrs
[COLOR_cpp__ForeignCppType___64dcpp_type
].val
; /* @cpp_type on <self:ForeignCppType> */
2159 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @cpp_type");
2160 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/cpp.nit", 194);
2167 /* method cpp#ForeignCppType#cpp_type for (self: Object): String */
2168 val
* VIRTUAL_cpp__ForeignCppType__cpp_type(val
* self
) {
2169 val
* var
/* : String */;
2170 val
* var1
/* : String */;
2171 var1
= cpp__ForeignCppType__cpp_type(self
);
2176 /* method cpp#ForeignCppType#cpp_type= for (self: ForeignCppType, String) */
2177 void cpp__ForeignCppType__cpp_type_61d(val
* self
, val
* p0
) {
2178 self
->attrs
[COLOR_cpp__ForeignCppType___64dcpp_type
].val
= p0
; /* @cpp_type on <self:ForeignCppType> */
2181 /* method cpp#ForeignCppType#cpp_type= for (self: Object, String) */
2182 void VIRTUAL_cpp__ForeignCppType__cpp_type_61d(val
* self
, val
* p0
) {
2183 cpp__ForeignCppType__cpp_type_61d(self
, p0
);
2186 /* method cpp#ForeignCppType#init for (self: ForeignCppType, String) */
2187 void cpp__ForeignCppType__init(val
* self
, val
* p0
) {
2188 val
* var_cpp_type
/* var cpp_type: String */;
2190 ((void (*)(val
*))(self
->class->vft
[COLOR_ffi_base__ForeignType__init
]))(self
) /* init on <self:ForeignCppType>*/;
2191 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_cpp__ForeignCppType__cpp_type_61d
]))(self
, var_cpp_type
) /* cpp_type= on <self:ForeignCppType>*/;
2194 /* method cpp#ForeignCppType#init for (self: Object, String) */
2195 void VIRTUAL_cpp__ForeignCppType__init(val
* self
, val
* p0
) {
2196 cpp__ForeignCppType__init(self
, p0
);
2199 /* method cpp#NitniCallback#compile_callback_to_cpp for (self: NitniCallback, AModule, MModule) */
2200 void cpp__NitniCallback__compile_callback_to_cpp(val
* self
, val
* p0
, val
* p1
) {
2201 val
* var_nmodule
/* var nmodule: AModule */;
2202 val
* var_mmodule
/* var mmodule: MModule */;
2207 /* method cpp#NitniCallback#compile_callback_to_cpp for (self: Object, AModule, MModule) */
2208 void VIRTUAL_cpp__NitniCallback__compile_callback_to_cpp(val
* self
, val
* p0
, val
* p1
) {
2209 cpp__NitniCallback__compile_callback_to_cpp(self
, p0
, p1
);
2212 /* method cpp#Object#cpp_call_context for (self: Object): CppCallContext */
2213 val
* cpp__Object__cpp_call_context(val
* self
) {
2214 val
* var
/* : CppCallContext */;
2215 static val
* varonce
;
2216 static int varonce_guard
;
2217 val
* var1
/* : CppCallContext */;
2218 val
* var2
/* : CppCallContext */;
2219 if (varonce_guard
) {
2222 var2
= NEW_cpp__CppCallContext(&type_cpp__CppCallContext
);
2223 ((void (*)(val
*))(var2
->class->vft
[COLOR_cpp__CppCallContext__init
]))(var2
) /* init on <var2:CppCallContext>*/;
2233 /* method cpp#Object#cpp_call_context for (self: Object): CppCallContext */
2234 val
* VIRTUAL_cpp__Object__cpp_call_context(val
* self
) {
2235 val
* var
/* : CppCallContext */;
2236 val
* var1
/* : CppCallContext */;
2237 var1
= cpp__Object__cpp_call_context(self
);
2242 /* method cpp#Object#to_cpp_call_context for (self: Object): ToCppCallContext */
2243 val
* cpp__Object__to_cpp_call_context(val
* self
) {
2244 val
* var
/* : ToCppCallContext */;
2245 static val
* varonce
;
2246 static int varonce_guard
;
2247 val
* var1
/* : ToCppCallContext */;
2248 val
* var2
/* : ToCppCallContext */;
2249 if (varonce_guard
) {
2252 var2
= NEW_cpp__ToCppCallContext(&type_cpp__ToCppCallContext
);
2253 ((void (*)(val
*))(var2
->class->vft
[COLOR_cpp__ToCppCallContext__init
]))(var2
) /* init on <var2:ToCppCallContext>*/;
2263 /* method cpp#Object#to_cpp_call_context for (self: Object): ToCppCallContext */
2264 val
* VIRTUAL_cpp__Object__to_cpp_call_context(val
* self
) {
2265 val
* var
/* : ToCppCallContext */;
2266 val
* var1
/* : ToCppCallContext */;
2267 var1
= cpp__Object__to_cpp_call_context(self
);
2272 /* method cpp#Object#from_cpp_call_context for (self: Object): FromCppCallContext */
2273 val
* cpp__Object__from_cpp_call_context(val
* self
) {
2274 val
* var
/* : FromCppCallContext */;
2275 static val
* varonce
;
2276 static int varonce_guard
;
2277 val
* var1
/* : FromCppCallContext */;
2278 val
* var2
/* : FromCppCallContext */;
2279 if (varonce_guard
) {
2282 var2
= NEW_cpp__FromCppCallContext(&type_cpp__FromCppCallContext
);
2283 ((void (*)(val
*))(var2
->class->vft
[COLOR_cpp__FromCppCallContext__init
]))(var2
) /* init on <var2:FromCppCallContext>*/;
2293 /* method cpp#Object#from_cpp_call_context for (self: Object): FromCppCallContext */
2294 val
* VIRTUAL_cpp__Object__from_cpp_call_context(val
* self
) {
2295 val
* var
/* : FromCppCallContext */;
2296 val
* var1
/* : FromCppCallContext */;
2297 var1
= cpp__Object__from_cpp_call_context(self
);
2302 /* method cpp#MExplicitCall#compile_callback_to_cpp for (self: MExplicitCall, AModule, MModule) */
2303 void cpp__MExplicitCall__compile_callback_to_cpp(val
* self
, val
* p0
, val
* p1
) {
2304 val
* var_nmodule
/* var nmodule: AModule */;
2305 val
* var_mmodule
/* var mmodule: MModule */;
2306 val
* var
/* : MProperty */;
2307 val
* var_mproperty
/* var mproperty: MProperty */;
2308 short int var1
/* : Bool */;
2311 val
* var2
/* : MClassType */;
2312 val
* var3
/* : null */;
2313 val
* var4
/* : SignatureLength */;
2314 val
* var5
/* : FromCppCallContext */;
2315 val
* var6
/* : String */;
2316 val
* var_cpp_signature
/* var cpp_signature: String */;
2317 val
* var7
/* : MClassType */;
2318 val
* var8
/* : null */;
2319 val
* var9
/* : SignatureLength */;
2320 val
* var10
/* : FromCppCallContext */;
2321 val
* var11
/* : null */;
2322 val
* var12
/* : String */;
2323 val
* var_ccall
/* var ccall: String */;
2324 val
* var13
/* : CFunction */;
2325 val
* var_fc
/* var fc: CFunction */;
2326 val
* var14
/* : Template */;
2327 val
* var15
/* : nullable CPPCompilationUnit */;
2330 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_nitni_callbacks__MExplicitCall__mproperty
]))(self
) /* mproperty on <self:MExplicitCall>*/;
2331 var_mproperty
= var
;
2332 /* <var_mproperty:MProperty> isa MMethod */
2333 cltype
= type_model__MMethod
.color
;
2334 idtype
= type_model__MMethod
.id
;
2335 if(cltype
>= var_mproperty
->type
->table_size
) {
2338 var1
= var_mproperty
->type
->type_table
[cltype
] == idtype
;
2341 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2342 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/cpp.nit", 216);
2345 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_nitni_callbacks__MExplicitCall__recv_mtype
]))(self
) /* recv_mtype on <self:MExplicitCall>*/;
2347 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_nitni_utilities__Object__short_signature
]))(self
) /* short_signature on <self:MExplicitCall>*/;
2348 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_cpp__Object__from_cpp_call_context
]))(self
) /* from_cpp_call_context on <self:MExplicitCall>*/;
2349 var6
= ((val
* (*)(val
*, val
*, val
*, val
*, val
*, val
*))(var_mproperty
->class->vft
[COLOR_nitni_utilities__MMethod__build_csignature
]))(var_mproperty
, var2
, var_mmodule
, var3
, var4
, var5
) /* build_csignature on <var_mproperty:MProperty(MMethod)>*/;
2350 var_cpp_signature
= var6
;
2351 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_nitni_callbacks__MExplicitCall__recv_mtype
]))(self
) /* recv_mtype on <self:MExplicitCall>*/;
2353 var9
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_nitni_utilities__Object__long_signature
]))(self
) /* long_signature on <self:MExplicitCall>*/;
2354 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_cpp__Object__from_cpp_call_context
]))(self
) /* from_cpp_call_context on <self:MExplicitCall>*/;
2356 var12
= ((val
* (*)(val
*, val
*, val
*, val
*, val
*, val
*, val
*))(var_mproperty
->class->vft
[COLOR_nitni_utilities__MMethod__build_ccall
]))(var_mproperty
, var7
, var_mmodule
, var8
, var9
, var10
, var11
) /* build_ccall on <var_mproperty:MProperty(MMethod)>*/;
2358 var13
= NEW_c_tools__CFunction(&type_c_tools__CFunction
);
2359 ((void (*)(val
*, val
*))(var13
->class->vft
[COLOR_c_tools__CFunction__init
]))(var13
, var_cpp_signature
) /* init on <var13:CFunction>*/;
2361 var14
= ((val
* (*)(val
*))(var_fc
->class->vft
[COLOR_c_tools__CFunction__exprs
]))(var_fc
) /* exprs on <var_fc:CFunction>*/;
2362 ((void (*)(val
*, val
*))(var14
->class->vft
[COLOR_template__Template__add
]))(var14
, var_ccall
) /* add on <var14:Template>*/;
2363 var15
= ((val
* (*)(val
*))(var_nmodule
->class->vft
[COLOR_cpp__AModule__cpp_file
]))(var_nmodule
) /* cpp_file on <var_nmodule:AModule>*/;
2364 if (var15
== NULL
) {
2365 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
2366 fprintf(stderr
, " (%s:%d)\n", "src/common_ffi/cpp.nit", 222);
2369 ((void (*)(val
*, val
*))(var15
->class->vft
[COLOR_c_tools__CCompilationUnit__add_local_function
]))(var15
, var_fc
) /* add_local_function on <var15:nullable CPPCompilationUnit>*/;
2373 /* method cpp#MExplicitCall#compile_callback_to_cpp for (self: Object, AModule, MModule) */
2374 void VIRTUAL_cpp__MExplicitCall__compile_callback_to_cpp(val
* self
, val
* p0
, val
* p1
) {
2375 cpp__MExplicitCall__compile_callback_to_cpp(self
, p0
, p1
);
2378 /* method cpp#CppCallContext#name_mtype for (self: CppCallContext, MType): String */
2379 val
* cpp__CppCallContext__name_mtype(val
* self
, val
* p0
) {
2380 val
* var
/* : String */;
2381 val
* var_mtype
/* var mtype: MType */;
2382 short int var1
/* : Bool */;
2385 val
* var2
/* : MClass */;
2386 val
* var3
/* : nullable ForeignType */;
2387 val
* var_ftype
/* var ftype: nullable ForeignType */;
2388 short int var4
/* : Bool */;
2391 val
* var7
/* : String */;
2392 val
* var8
/* : String */;
2394 /* <var_mtype:MType> isa MClassType */
2395 cltype
= type_model__MClassType
.color
;
2396 idtype
= type_model__MClassType
.id
;
2397 if(cltype
>= var_mtype
->type
->table_size
) {
2400 var1
= var_mtype
->type
->type_table
[cltype
] == idtype
;
2403 var2
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MType(MClassType)>*/;
2404 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_extern_classes__MClass__ftype
]))(var2
) /* ftype on <var2:MClass>*/;
2406 /* <var_ftype:nullable ForeignType> isa ForeignCppType */
2407 cltype5
= type_cpp__ForeignCppType
.color
;
2408 idtype6
= type_cpp__ForeignCppType
.id
;
2409 if(var_ftype
== NULL
) {
2412 if(cltype5
>= var_ftype
->type
->table_size
) {
2415 var4
= var_ftype
->type
->type_table
[cltype5
] == idtype6
;
2419 var7
= ((val
* (*)(val
*))(var_ftype
->class->vft
[COLOR_cpp__ForeignCppType__cpp_type
]))(var_ftype
) /* cpp_type on <var_ftype:nullable ForeignType(ForeignCppType)>*/;
2426 var8
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_nitni_base__MType__cname
]))(var_mtype
) /* cname on <var_mtype:MType>*/;
2432 /* method cpp#CppCallContext#name_mtype for (self: Object, MType): String */
2433 val
* VIRTUAL_cpp__CppCallContext__name_mtype(val
* self
, val
* p0
) {
2434 val
* var
/* : String */;
2435 val
* var1
/* : String */;
2436 var1
= cpp__CppCallContext__name_mtype(self
, p0
);
2441 /* method cpp#CppCallContext#init for (self: CppCallContext) */
2442 void cpp__CppCallContext__init(val
* self
) {
2443 ((void (*)(val
*))(self
->class->vft
[COLOR_nitni_utilities__CallContext__init
]))(self
) /* init on <self:CppCallContext>*/;
2446 /* method cpp#CppCallContext#init for (self: Object) */
2447 void VIRTUAL_cpp__CppCallContext__init(val
* self
) {
2448 cpp__CppCallContext__init(self
);
2451 /* method cpp#ToCppCallContext#cast_to for (self: ToCppCallContext, MType, String): String */
2452 val
* cpp__ToCppCallContext__cast_to(val
* self
, val
* p0
, val
* p1
) {
2453 val
* var
/* : String */;
2454 val
* var_mtype
/* var mtype: MType */;
2455 val
* var_name
/* var name: String */;
2456 short int var1
/* : Bool */;
2457 short int var2
/* : Bool */;
2460 short int var_
/* var : Bool */;
2461 val
* var3
/* : MClass */;
2462 val
* var4
/* : nullable ForeignType */;
2463 short int var5
/* : Bool */;
2466 val
* var8
/* : Array[Object] */;
2467 long var9
/* : Int */;
2468 val
* var_10
/* var : Array[Object] */;
2469 static val
* varonce
;
2470 val
* var11
/* : String */;
2471 char* var12
/* : NativeString */;
2472 long var13
/* : Int */;
2473 val
* var14
/* : String */;
2474 static val
* varonce15
;
2475 val
* var16
/* : String */;
2476 char* var17
/* : NativeString */;
2477 long var18
/* : Int */;
2478 val
* var19
/* : String */;
2479 val
* var20
/* : String */;
2482 /* <var_mtype:MType> isa MClassType */
2483 cltype
= type_model__MClassType
.color
;
2484 idtype
= type_model__MClassType
.id
;
2485 if(cltype
>= var_mtype
->type
->table_size
) {
2488 var2
= var_mtype
->type
->type_table
[cltype
] == idtype
;
2492 var3
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MType(MClassType)>*/;
2493 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_extern_classes__MClass__ftype
]))(var3
) /* ftype on <var3:MClass>*/;
2494 /* <var4:nullable ForeignType> isa ForeignCppType */
2495 cltype6
= type_cpp__ForeignCppType
.color
;
2496 idtype7
= type_cpp__ForeignCppType
.id
;
2500 if(cltype6
>= var4
->type
->table_size
) {
2503 var5
= var4
->type
->type_table
[cltype6
] == idtype7
;
2511 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
2513 ((void (*)(val
*, long))(var8
->class->vft
[COLOR_array__Array__with_capacity
]))(var8
, var9
) /* with_capacity on <var8:Array[Object]>*/;
2520 var14
= string__NativeString__to_s_with_length(var12
, var13
);
2524 ((void (*)(val
*, val
*))(var_10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_10
, var11
) /* add on <var_10:Array[Object]>*/;
2525 ((void (*)(val
*, val
*))(var_10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_10
, var_name
) /* add on <var_10:Array[Object]>*/;
2531 var19
= string__NativeString__to_s_with_length(var17
, var18
);
2535 ((void (*)(val
*, val
*))(var_10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_10
, var16
) /* add on <var_10:Array[Object]>*/;
2536 var20
= ((val
* (*)(val
*))(var_10
->class->vft
[COLOR_string__Object__to_s
]))(var_10
) /* to_s on <var_10:Array[Object]>*/;
2546 /* method cpp#ToCppCallContext#cast_to for (self: Object, MType, String): String */
2547 val
* VIRTUAL_cpp__ToCppCallContext__cast_to(val
* self
, val
* p0
, val
* p1
) {
2548 val
* var
/* : String */;
2549 val
* var1
/* : String */;
2550 var1
= cpp__ToCppCallContext__cast_to(self
, p0
, p1
);
2555 /* method cpp#ToCppCallContext#init for (self: ToCppCallContext) */
2556 void cpp__ToCppCallContext__init(val
* self
) {
2557 ((void (*)(val
*))(self
->class->vft
[COLOR_cpp__CppCallContext__init
]))(self
) /* init on <self:ToCppCallContext>*/;
2560 /* method cpp#ToCppCallContext#init for (self: Object) */
2561 void VIRTUAL_cpp__ToCppCallContext__init(val
* self
) {
2562 cpp__ToCppCallContext__init(self
);
2565 /* method cpp#FromCppCallContext#cast_from for (self: FromCppCallContext, MType, String): String */
2566 val
* cpp__FromCppCallContext__cast_from(val
* self
, val
* p0
, val
* p1
) {
2567 val
* var
/* : String */;
2568 val
* var_mtype
/* var mtype: MType */;
2569 val
* var_name
/* var name: String */;
2570 short int var1
/* : Bool */;
2571 short int var2
/* : Bool */;
2574 short int var_
/* var : Bool */;
2575 val
* var3
/* : MClass */;
2576 val
* var4
/* : nullable ForeignType */;
2577 short int var5
/* : Bool */;
2580 val
* var8
/* : Array[Object] */;
2581 long var9
/* : Int */;
2582 val
* var_10
/* var : Array[Object] */;
2583 static val
* varonce
;
2584 val
* var11
/* : String */;
2585 char* var12
/* : NativeString */;
2586 long var13
/* : Int */;
2587 val
* var14
/* : String */;
2588 val
* var15
/* : String */;
2589 static val
* varonce16
;
2590 val
* var17
/* : String */;
2591 char* var18
/* : NativeString */;
2592 long var19
/* : Int */;
2593 val
* var20
/* : String */;
2594 static val
* varonce21
;
2595 val
* var22
/* : String */;
2596 char* var23
/* : NativeString */;
2597 long var24
/* : Int */;
2598 val
* var25
/* : String */;
2599 val
* var26
/* : String */;
2602 /* <var_mtype:MType> isa MClassType */
2603 cltype
= type_model__MClassType
.color
;
2604 idtype
= type_model__MClassType
.id
;
2605 if(cltype
>= var_mtype
->type
->table_size
) {
2608 var2
= var_mtype
->type
->type_table
[cltype
] == idtype
;
2612 var3
= ((val
* (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MClassType__mclass
]))(var_mtype
) /* mclass on <var_mtype:MType(MClassType)>*/;
2613 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_extern_classes__MClass__ftype
]))(var3
) /* ftype on <var3:MClass>*/;
2614 /* <var4:nullable ForeignType> isa ForeignCppType */
2615 cltype6
= type_cpp__ForeignCppType
.color
;
2616 idtype7
= type_cpp__ForeignCppType
.id
;
2620 if(cltype6
>= var4
->type
->table_size
) {
2623 var5
= var4
->type
->type_table
[cltype6
] == idtype7
;
2631 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
2633 ((void (*)(val
*, long))(var8
->class->vft
[COLOR_array__Array__with_capacity
]))(var8
, var9
) /* with_capacity on <var8:Array[Object]>*/;
2638 var12
= "static_cast<";
2640 var14
= string__NativeString__to_s_with_length(var12
, var13
);
2644 ((void (*)(val
*, val
*))(var_10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_10
, var11
) /* add on <var_10:Array[Object]>*/;
2645 var15
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_nitni_utilities__CallContext__name_mtype
]))(self
, var_mtype
) /* name_mtype on <self:FromCppCallContext>*/;
2646 ((void (*)(val
*, val
*))(var_10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_10
, var15
) /* add on <var_10:Array[Object]>*/;
2652 var20
= string__NativeString__to_s_with_length(var18
, var19
);
2656 ((void (*)(val
*, val
*))(var_10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_10
, var17
) /* add on <var_10:Array[Object]>*/;
2657 ((void (*)(val
*, val
*))(var_10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_10
, var_name
) /* add on <var_10:Array[Object]>*/;
2663 var25
= string__NativeString__to_s_with_length(var23
, var24
);
2667 ((void (*)(val
*, val
*))(var_10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_10
, var22
) /* add on <var_10:Array[Object]>*/;
2668 var26
= ((val
* (*)(val
*))(var_10
->class->vft
[COLOR_string__Object__to_s
]))(var_10
) /* to_s on <var_10:Array[Object]>*/;
2678 /* method cpp#FromCppCallContext#cast_from for (self: Object, MType, String): String */
2679 val
* VIRTUAL_cpp__FromCppCallContext__cast_from(val
* self
, val
* p0
, val
* p1
) {
2680 val
* var
/* : String */;
2681 val
* var1
/* : String */;
2682 var1
= cpp__FromCppCallContext__cast_from(self
, p0
, p1
);
2687 /* method cpp#FromCppCallContext#init for (self: FromCppCallContext) */
2688 void cpp__FromCppCallContext__init(val
* self
) {
2689 ((void (*)(val
*))(self
->class->vft
[COLOR_cpp__CppCallContext__init
]))(self
) /* init on <self:FromCppCallContext>*/;
2692 /* method cpp#FromCppCallContext#init for (self: Object) */
2693 void VIRTUAL_cpp__FromCppCallContext__init(val
* self
) {
2694 cpp__FromCppCallContext__init(self
);