1 #include "nitc__extern_classes.sep.0.h"
2 /* method extern_classes#ToolContext#extern_classes_typing_phase_ast for (self: ToolContext): Phase */
3 val
* nitc__extern_classes___ToolContext___extern_classes_typing_phase_ast(val
* self
) {
4 val
* var
/* : Phase */;
5 val
* var1
/* : Phase */;
6 var1
= self
->attrs
[COLOR_nitc__extern_classes__ToolContext___extern_classes_typing_phase_ast
].val
; /* _extern_classes_typing_phase_ast on <self:ToolContext> */
7 if (unlikely(var1
== NULL
)) {
8 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_classes_typing_phase_ast");
9 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__extern_classes
, 24);
16 /* method extern_classes#ExternClassesTypingPhaseAst#process_nclassdef for (self: ExternClassesTypingPhaseAst, AClassdef) */
17 void nitc__extern_classes___nitc__extern_classes__ExternClassesTypingPhaseAst___nitc__phase__Phase__process_nclassdef(val
* self
, val
* p0
) {
18 val
* var_nclassdef
/* var nclassdef: AClassdef */;
19 short int var
/* : Bool */;
22 short int var1
/* : Bool */;
23 val
* var2
/* : nullable AExternCodeBlock */;
24 val
* var4
/* : nullable AExternCodeBlock */;
25 val
* var_code_block
/* var code_block: nullable AExternCodeBlock */;
26 short int var5
/* : Bool */;
27 short int var6
/* : Bool */;
28 val
* var_other
/* var other: nullable Object */;
29 short int var8
/* : Bool */;
30 short int var10
/* : Bool */;
31 val
* var11
/* : nullable TKwredef */;
32 val
* var13
/* : nullable TKwredef */;
33 short int var14
/* : Bool */;
34 short int var15
/* : Bool */;
35 val
* var_other17
/* var other: nullable Object */;
36 short int var18
/* : Bool */;
37 short int var19
/* : Bool */;
38 val
* var20
/* : ToolContext */;
39 val
* var22
/* : ToolContext */;
40 val
* var23
/* : Location */;
41 val
* var25
/* : Location */;
43 val
* var26
/* : String */;
44 char* var27
/* : NativeString */;
45 val
* var28
/* : String */;
46 val
* var29
/* : Message */;
47 val
* var30
/* : nullable FFILanguage */;
48 val
* var32
/* : nullable FFILanguage */;
49 val
* var33
/* : ForeignType */;
50 val
* var_ftype
/* var ftype: ForeignType */;
51 val
* var34
/* : nullable MClassDef */;
52 val
* var36
/* : nullable MClassDef */;
53 val
* var38
/* : nullable MClassDef */;
54 val
* var40
/* : nullable MClassDef */;
56 /* <var_nclassdef:AClassdef> isa AStdClassdef */
57 cltype
= type_nitc__AStdClassdef
.color
;
58 idtype
= type_nitc__AStdClassdef
.id
;
59 if(cltype
>= var_nclassdef
->type
->table_size
) {
62 var
= var_nclassdef
->type
->type_table
[cltype
] == idtype
;
70 { /* Inline parser_nodes#AStdClassdef#n_extern_code_block (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
71 var4
= var_nclassdef
->attrs
[COLOR_nitc__parser_nodes__AStdClassdef___n_extern_code_block
].val
; /* _n_extern_code_block on <var_nclassdef:AClassdef(AStdClassdef)> */
76 var_code_block
= var2
;
77 if (var_code_block
== NULL
) {
78 var5
= 1; /* is null */
80 var5
= 0; /* arg is null but recv is not */
83 { /* Inline kernel#Object#== (var_code_block,((val*)NULL)) on <var_code_block:nullable AExternCodeBlock> */
84 var_other
= ((val
*)NULL
);
86 { /* Inline kernel#Object#is_same_instance (var_code_block,var_other) on <var_code_block:nullable AExternCodeBlock(AExternCodeBlock)> */
87 var10
= var_code_block
== var_other
;
104 { /* Inline parser_nodes#ADefinition#n_kwredef (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
105 var13
= var_nclassdef
->attrs
[COLOR_nitc__parser_nodes__ADefinition___n_kwredef
].val
; /* _n_kwredef on <var_nclassdef:AClassdef(AStdClassdef)> */
111 var14
= 0; /* is null */
113 var14
= 1; /* arg is null and recv is not */
116 { /* Inline kernel#Object#!= (var11,((val*)NULL)) on <var11:nullable TKwredef> */
117 var_other17
= ((val
*)NULL
);
119 var18
= ((short int(*)(val
* self
, val
* p0
))(var11
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var11
, var_other17
); /* == on <var11:nullable TKwredef(TKwredef)>*/
130 { /* Inline phase#Phase#toolcontext (self) on <self:ExternClassesTypingPhaseAst> */
131 var22
= self
->attrs
[COLOR_nitc__phase__Phase___toolcontext
].val
; /* _toolcontext on <self:ExternClassesTypingPhaseAst> */
132 if (unlikely(var22
== NULL
)) {
133 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
134 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase
, 200);
142 { /* Inline parser_nodes#ANode#location (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
143 var25
= var_nclassdef
->attrs
[COLOR_nitc__parser_nodes__ANode___location
].val
; /* _location on <var_nclassdef:AClassdef(AStdClassdef)> */
144 if (unlikely(var25
== NULL
)) {
145 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
146 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 24);
153 if (likely(varonce
!=NULL
)) {
156 var27
= "FFI Error: only the introduction of a class can declare an extern type.";
157 var28
= core__flat___NativeString___to_s_full(var27
, 71l, 71l);
162 var29
= nitc___nitc__ToolContext___error(var20
, var23
, var26
);
168 { /* Inline light_ffi_base#AExternCodeBlock#language (var_code_block) on <var_code_block:nullable AExternCodeBlock(AExternCodeBlock)> */
169 var32
= var_code_block
->attrs
[COLOR_nitc__light_ffi_base__AExternCodeBlock___language
].val
; /* _language on <var_code_block:nullable AExternCodeBlock(AExternCodeBlock)> */
175 PRINT_ERROR("Runtime error: %s", "Receiver is null");
176 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__extern_classes
, 47);
179 var33
= nitc___nitc__CLanguage___nitc__light_ffi_base__FFILanguage__get_ftype(var30
, var_code_block
, var_nclassdef
);
183 { /* Inline modelize_class#AClassdef#mclassdef (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
184 var36
= var_nclassdef
->attrs
[COLOR_nitc__modelize_class__AClassdef___mclassdef
].val
; /* _mclassdef on <var_nclassdef:AClassdef(AStdClassdef)> */
190 PRINT_ERROR("Runtime error: %s", "Receiver is null");
191 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__extern_classes
, 48);
194 { /* Inline extern_classes#MClassDef#ftype_cache= (var34,var_ftype) on <var34:nullable MClassDef> */
195 if (unlikely(var34
== NULL
)) {
196 PRINT_ERROR("Runtime error: %s", "Receiver is null");
197 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__extern_classes
, 54);
200 var34
->attrs
[COLOR_nitc__extern_classes__MClassDef___ftype_cache
].val
= var_ftype
; /* _ftype_cache on <var34:nullable MClassDef> */
205 { /* Inline modelize_class#AClassdef#mclassdef (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
206 var40
= var_nclassdef
->attrs
[COLOR_nitc__modelize_class__AClassdef___mclassdef
].val
; /* _mclassdef on <var_nclassdef:AClassdef(AStdClassdef)> */
212 PRINT_ERROR("Runtime error: %s", "Receiver is null");
213 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__extern_classes
, 49);
216 { /* Inline extern_classes#MClassDef#ftype_computed= (var38,1) on <var38:nullable MClassDef> */
217 if (unlikely(var38
== NULL
)) {
218 PRINT_ERROR("Runtime error: %s", "Receiver is null");
219 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__extern_classes
, 55);
222 var38
->attrs
[COLOR_nitc__extern_classes__MClassDef___ftype_computed
].s
= 1; /* _ftype_computed on <var38:nullable MClassDef> */
228 /* method extern_classes#MClassDef#ftype_cache for (self: MClassDef): nullable ForeignType */
229 val
* nitc__extern_classes___MClassDef___ftype_cache(val
* self
) {
230 val
* var
/* : nullable ForeignType */;
231 val
* var1
/* : nullable ForeignType */;
232 var1
= self
->attrs
[COLOR_nitc__extern_classes__MClassDef___ftype_cache
].val
; /* _ftype_cache on <self:MClassDef> */
237 /* method extern_classes#MClassDef#ftype_cache= for (self: MClassDef, nullable ForeignType) */
238 void nitc__extern_classes___MClassDef___ftype_cache_61d(val
* self
, val
* p0
) {
239 self
->attrs
[COLOR_nitc__extern_classes__MClassDef___ftype_cache
].val
= p0
; /* _ftype_cache on <self:MClassDef> */
242 /* method extern_classes#MClassDef#ftype_computed= for (self: MClassDef, Bool) */
243 void nitc__extern_classes___MClassDef___ftype_computed_61d(val
* self
, short int p0
) {
244 self
->attrs
[COLOR_nitc__extern_classes__MClassDef___ftype_computed
].s
= p0
; /* _ftype_computed on <self:MClassDef> */
247 /* method extern_classes#MClassDef#ftype for (self: MClassDef): nullable ForeignType */
248 val
* nitc__extern_classes___MClassDef___ftype(val
* self
) {
249 val
* var
/* : nullable ForeignType */;
250 val
* var1
/* : nullable ForeignType */;
251 val
* var3
/* : nullable ForeignType */;
253 { /* Inline extern_classes#MClassDef#ftype_cache (self) on <self:MClassDef> */
254 var3
= self
->attrs
[COLOR_nitc__extern_classes__MClassDef___ftype_cache
].val
; /* _ftype_cache on <self:MClassDef> */
264 /* method extern_classes#ExternClassesTypingPhaseModel#process_nclassdef for (self: ExternClassesTypingPhaseModel, AClassdef) */
265 void nitc__extern_classes___nitc__extern_classes__ExternClassesTypingPhaseModel___nitc__phase__Phase__process_nclassdef(val
* self
, val
* p0
) {
266 val
* var_nclassdef
/* var nclassdef: AClassdef */;
267 short int var
/* : Bool */;
270 short int var1
/* : Bool */;
271 val
* var2
/* : nullable MClassDef */;
272 val
* var4
/* : nullable MClassDef */;
273 val
* var_mclassdef
/* var mclassdef: nullable MClassDef */;
274 short int var5
/* : Bool */;
275 short int var6
/* : Bool */;
276 val
* var_other
/* var other: nullable Object */;
277 short int var8
/* : Bool */;
278 short int var10
/* : Bool */;
279 val
* var11
/* : MClass */;
280 val
* var13
/* : MClass */;
281 val
* var_mclass
/* var mclass: MClass */;
282 short int var14
/* : Bool */;
283 short int var15
/* : Bool */;
284 val
* var16
/* : MClassKind */;
285 val
* var18
/* : MClassKind */;
286 val
* var19
/* : Sys */;
287 val
* var20
/* : MClassKind */;
288 short int var21
/* : Bool */;
289 val
* var_other23
/* var other: nullable Object */;
290 short int var24
/* : Bool */;
291 short int var25
/* : Bool */;
292 val
* var26
/* : nullable ForeignType */;
294 /* <var_nclassdef:AClassdef> isa AStdClassdef */
295 cltype
= type_nitc__AStdClassdef
.color
;
296 idtype
= type_nitc__AStdClassdef
.id
;
297 if(cltype
>= var_nclassdef
->type
->table_size
) {
300 var
= var_nclassdef
->type
->type_table
[cltype
] == idtype
;
308 { /* Inline modelize_class#AClassdef#mclassdef (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
309 var4
= var_nclassdef
->attrs
[COLOR_nitc__modelize_class__AClassdef___mclassdef
].val
; /* _mclassdef on <var_nclassdef:AClassdef(AStdClassdef)> */
314 var_mclassdef
= var2
;
315 if (var_mclassdef
== NULL
) {
316 var5
= 1; /* is null */
318 var5
= 0; /* arg is null but recv is not */
321 { /* Inline kernel#Object#== (var_mclassdef,((val*)NULL)) on <var_mclassdef:nullable MClassDef> */
322 var_other
= ((val
*)NULL
);
324 { /* Inline kernel#Object#is_same_instance (var_mclassdef,var_other) on <var_mclassdef:nullable MClassDef(MClassDef)> */
325 var10
= var_mclassdef
== var_other
;
342 { /* Inline model#MClassDef#mclass (var_mclassdef) on <var_mclassdef:nullable MClassDef(MClassDef)> */
343 var13
= var_mclassdef
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:nullable MClassDef(MClassDef)> */
344 if (unlikely(var13
== NULL
)) {
345 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
346 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 576);
355 var14
= nitc___nitc__MClassDef___is_intro(var_mclassdef
);
363 { /* Inline model#MClass#kind (var_mclass) on <var_mclass:MClass> */
364 var18
= var_mclass
->attrs
[COLOR_nitc__model__MClass___kind
].val
; /* _kind on <var_mclass:MClass> */
365 if (unlikely(var18
== NULL
)) {
366 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
367 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 459);
376 var20
= nitc__model___core__Sys___extern_kind(var19
);
379 { /* Inline kernel#Object#!= (var16,var20) on <var16:MClassKind> */
382 var24
= ((short int(*)(val
* self
, val
* p0
))(var16
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var16
, var_other23
); /* == on <var16:MClassKind>*/
395 var26
= nitc__extern_classes___MClass___compute_ftype(var_mclass
, self
);
399 /* method extern_classes#MClass#ftype_cache for (self: MClass): nullable ForeignType */
400 val
* nitc__extern_classes___MClass___ftype_cache(val
* self
) {
401 val
* var
/* : nullable ForeignType */;
402 val
* var1
/* : nullable ForeignType */;
403 var1
= self
->attrs
[COLOR_nitc__extern_classes__MClass___ftype_cache
].val
; /* _ftype_cache on <self:MClass> */
408 /* method extern_classes#MClass#ftype_cache= for (self: MClass, nullable ForeignType) */
409 void nitc__extern_classes___MClass___ftype_cache_61d(val
* self
, val
* p0
) {
410 self
->attrs
[COLOR_nitc__extern_classes__MClass___ftype_cache
].val
= p0
; /* _ftype_cache on <self:MClass> */
413 /* method extern_classes#MClass#ftype_computed for (self: MClass): Bool */
414 short int nitc__extern_classes___MClass___ftype_computed(val
* self
) {
415 short int var
/* : Bool */;
416 short int var1
/* : Bool */;
417 var1
= self
->attrs
[COLOR_nitc__extern_classes__MClass___ftype_computed
].s
; /* _ftype_computed on <self:MClass> */
422 /* method extern_classes#MClass#ftype_computed= for (self: MClass, Bool) */
423 void nitc__extern_classes___MClass___ftype_computed_61d(val
* self
, short int p0
) {
424 self
->attrs
[COLOR_nitc__extern_classes__MClass___ftype_computed
].s
= p0
; /* _ftype_computed on <self:MClass> */
427 /* method extern_classes#MClass#ctype for (self: MClass): nullable String */
428 val
* nitc__extern_classes___MClass___ctype(val
* self
) {
429 val
* var
/* : nullable String */;
430 val
* var1
/* : nullable ForeignType */;
431 val
* var3
/* : nullable ForeignType */;
432 val
* var4
/* : String */;
434 { /* Inline extern_classes#MClass#ftype_cache (self) on <self:MClass> */
435 var3
= self
->attrs
[COLOR_nitc__extern_classes__MClass___ftype_cache
].val
; /* _ftype_cache on <self:MClass> */
441 PRINT_ERROR("Runtime error: %s", "Receiver is null");
442 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__extern_classes
, 91);
445 var4
= ((val
*(*)(val
* self
))(var1
->class->vft
[COLOR_nitc__light_ffi_base__ForeignType__ctype
]))(var1
); /* ctype on <var1:nullable ForeignType>*/
452 /* method extern_classes#MClass#compute_ftype for (self: MClass, ExternClassesTypingPhaseModel): nullable ForeignType */
453 val
* nitc__extern_classes___MClass___compute_ftype(val
* self
, val
* p0
) {
454 val
* var
/* : nullable ForeignType */;
455 val
* var_v
/* var v: ExternClassesTypingPhaseModel */;
456 short int var1
/* : Bool */;
457 short int var3
/* : Bool */;
458 val
* var4
/* : nullable ForeignType */;
459 val
* var6
/* : nullable ForeignType */;
460 val
* var7
/* : MClassKind */;
461 val
* var9
/* : MClassKind */;
462 val
* var10
/* : Sys */;
463 val
* var11
/* : MClassKind */;
464 short int var12
/* : Bool */;
465 val
* var_other
/* var other: nullable Object */;
466 short int var14
/* : Bool */;
467 short int var15
/* : Bool */;
468 val
* var16
/* : String */;
469 val
* var18
/* : String */;
471 val
* var19
/* : String */;
472 char* var20
/* : NativeString */;
473 val
* var21
/* : String */;
474 short int var22
/* : Bool */;
475 val
* var23
/* : ForeignType */;
476 val
* var26
/* : nullable ForeignType */;
477 val
* var28
/* : nullable ForeignType */;
478 val
* var29
/* : MClassDef */;
479 val
* var31
/* : MClassDef */;
480 val
* var32
/* : nullable ForeignType */;
481 val
* var_ftype
/* var ftype: nullable ForeignType */;
482 short int var33
/* : Bool */;
483 short int var34
/* : Bool */;
484 val
* var_other36
/* var other: nullable Object */;
485 short int var37
/* : Bool */;
486 short int var39
/* : Bool */;
487 val
* var_ftype_b
/* var ftype_b: nullable ForeignType */;
488 val
* var40
/* : MModule */;
489 val
* var42
/* : MModule */;
490 val
* var43
/* : POSetElement[MClass] */;
491 val
* var44
/* : Collection[nullable Object] */;
492 val
* var_
/* var : Collection[MClass] */;
493 val
* var45
/* : Iterator[nullable Object] */;
494 val
* var_46
/* var : Iterator[MClass] */;
495 short int var47
/* : Bool */;
496 val
* var48
/* : nullable Object */;
497 val
* var_s
/* var s: MClass */;
498 val
* var49
/* : nullable ForeignType */;
499 val
* var_super_ftype
/* var super_ftype: nullable ForeignType */;
500 short int var50
/* : Bool */;
501 short int var51
/* : Bool */;
502 short int var53
/* : Bool */;
503 short int var54
/* : Bool */;
504 short int var55
/* : Bool */;
505 short int var56
/* : Bool */;
506 short int var58
/* : Bool */;
507 short int var60
/* : Bool */;
508 short int var62
/* : Bool */;
509 short int var64
/* : Bool */;
510 short int var65
/* : Bool */;
511 val
* var66
/* : ToolContext */;
512 val
* var68
/* : ToolContext */;
513 val
* var70
/* : NativeArray[String] */;
514 static val
* varonce69
;
515 static val
* varonce71
;
516 val
* var72
/* : String */;
517 char* var73
/* : NativeString */;
518 val
* var74
/* : String */;
519 static val
* varonce75
;
520 val
* var76
/* : String */;
521 char* var77
/* : NativeString */;
522 val
* var78
/* : String */;
523 val
* var79
/* : String */;
524 val
* var80
/* : String */;
525 val
* var81
/* : Message */;
528 { /* Inline extern_classes#MClass#ftype_computed (self) on <self:MClass> */
529 var3
= self
->attrs
[COLOR_nitc__extern_classes__MClass___ftype_computed
].s
; /* _ftype_computed on <self:MClass> */
536 { /* Inline extern_classes#MClass#ftype_cache (self) on <self:MClass> */
537 var6
= self
->attrs
[COLOR_nitc__extern_classes__MClass___ftype_cache
].val
; /* _ftype_cache on <self:MClass> */
547 { /* Inline model#MClass#kind (self) on <self:MClass> */
548 var9
= self
->attrs
[COLOR_nitc__model__MClass___kind
].val
; /* _kind on <self:MClass> */
549 if (unlikely(var9
== NULL
)) {
550 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
551 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 459);
560 var11
= nitc__model___core__Sys___extern_kind(var10
);
563 { /* Inline kernel#Object#!= (var7,var11) on <var7:MClassKind> */
566 var14
= ((short int(*)(val
* self
, val
* p0
))(var7
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var7
, var_other
); /* == on <var7:MClassKind>*/
580 { /* Inline model#MClass#name (self) on <self:MClass> */
581 var18
= self
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <self:MClass> */
582 if (unlikely(var18
== NULL
)) {
583 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
584 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 385);
591 if (likely(varonce
!=NULL
)) {
595 var21
= core__flat___NativeString___to_s_full(var20
, 7l, 7l);
600 var22
= ((short int(*)(val
* self
, val
* p0
))(var16
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var16
, var19
); /* == on <var16:String>*/
603 var23
= NEW_nitc__ForeignType(&type_nitc__ForeignType
);
605 ((void(*)(val
* self
))(var23
->class->vft
[COLOR_core__kernel__Object__init
]))(var23
); /* init on <var23:ForeignType>*/
608 { /* Inline extern_classes#MClass#ftype_cache= (self,var23) on <self:MClass> */
609 self
->attrs
[COLOR_nitc__extern_classes__MClass___ftype_cache
].val
= var23
; /* _ftype_cache on <self:MClass> */
614 { /* Inline extern_classes#MClass#ftype_computed= (self,1) on <self:MClass> */
615 self
->attrs
[COLOR_nitc__extern_classes__MClass___ftype_computed
].s
= 1; /* _ftype_computed on <self:MClass> */
620 { /* Inline extern_classes#MClass#ftype_cache (self) on <self:MClass> */
621 var28
= self
->attrs
[COLOR_nitc__extern_classes__MClass___ftype_cache
].val
; /* _ftype_cache on <self:MClass> */
631 { /* Inline model#MClass#intro (self) on <self:MClass> */
632 var31
= self
->attrs
[COLOR_nitc__model__MClass___intro
].val
; /* _intro on <self:MClass> */
633 if (unlikely(var31
== NULL
)) {
634 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
635 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 483);
643 var32
= nitc__extern_classes___MClassDef___ftype(var29
);
646 if (var_ftype
== NULL
) {
647 var33
= 1; /* is null */
649 var33
= 0; /* arg is null but recv is not */
652 { /* Inline kernel#Object#== (var_ftype,((val*)NULL)) on <var_ftype:nullable ForeignType> */
653 var_other36
= ((val
*)NULL
);
655 { /* Inline kernel#Object#is_same_instance (var_ftype,var_other36) on <var_ftype:nullable ForeignType(ForeignType)> */
656 var39
= var_ftype
== var_other36
;
669 var_ftype_b
= ((val
*)NULL
);
671 { /* Inline model#MClass#intro_mmodule (self) on <self:MClass> */
672 var42
= self
->attrs
[COLOR_nitc__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <self:MClass> */
673 if (unlikely(var42
== NULL
)) {
674 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
675 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 380);
683 var43
= nitc___nitc__MClass___in_hierarchy(self
, var40
);
686 var44
= poset___poset__POSetElement___direct_greaters(var43
);
690 var45
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Collection[MClass]>*/
695 var47
= ((short int(*)(val
* self
))((((long)var_46
&3)?class_info
[((long)var_46
&3)]:var_46
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_46
); /* is_ok on <var_46:Iterator[MClass]>*/
702 var48
= ((val
*(*)(val
* self
))((((long)var_46
&3)?class_info
[((long)var_46
&3)]:var_46
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_46
); /* item on <var_46:Iterator[MClass]>*/
706 var49
= nitc__extern_classes___MClass___compute_ftype(var_s
, var_v
);
708 var_super_ftype
= var49
;
709 if (var_super_ftype
== NULL
) {
710 var50
= 0; /* is null */
712 var50
= 1; /* arg is null and recv is not */
715 { /* Inline kernel#Object#!= (var_super_ftype,((val*)NULL)) on <var_super_ftype:nullable ForeignType> */
716 var_other
= ((val
*)NULL
);
718 var53
= ((short int(*)(val
* self
, val
* p0
))(var_super_ftype
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_super_ftype
, var_other
); /* == on <var_super_ftype:nullable ForeignType(ForeignType)>*/
728 if (var_ftype_b
== NULL
) {
729 var55
= 1; /* is null */
731 var55
= 0; /* arg is null but recv is not */
734 { /* Inline kernel#Object#== (var_ftype_b,((val*)NULL)) on <var_ftype_b:nullable ForeignType> */
735 var_other36
= ((val
*)NULL
);
737 { /* Inline kernel#Object#is_same_instance (var_ftype_b,var_other36) on <var_ftype_b:nullable ForeignType(ForeignType)> */
738 var60
= var_ftype_b
== var_other36
;
751 var_ftype_b
= var_super_ftype
;
755 { /* Inline kernel#Object#!= (var_super_ftype,var_ftype_b) on <var_super_ftype:nullable ForeignType(ForeignType)> */
756 var_other
= var_ftype_b
;
758 var64
= ((short int(*)(val
* self
, val
* p0
))(var_super_ftype
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_super_ftype
, var_other
); /* == on <var_super_ftype:nullable ForeignType(ForeignType)>*/
768 { /* Inline phase#Phase#toolcontext (var_v) on <var_v:ExternClassesTypingPhaseModel> */
769 var68
= var_v
->attrs
[COLOR_nitc__phase__Phase___toolcontext
].val
; /* _toolcontext on <var_v:ExternClassesTypingPhaseModel> */
770 if (unlikely(var68
== NULL
)) {
771 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
772 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase
, 200);
779 if (unlikely(varonce69
==NULL
)) {
780 var70
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
781 if (likely(varonce71
!=NULL
)) {
784 var73
= "FFI Error: extern type conflict in `";
785 var74
= core__flat___NativeString___to_s_full(var73
, 36l, 36l);
789 ((struct instance_core__NativeArray
*)var70
)->values
[0]=var72
;
790 if (likely(varonce75
!=NULL
)) {
794 var78
= core__flat___NativeString___to_s_full(var77
, 2l, 2l);
798 ((struct instance_core__NativeArray
*)var70
)->values
[2]=var76
;
804 var79
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(self
); /* to_s on <self:MClass>*/
806 ((struct instance_core__NativeArray
*)var70
)->values
[1]=var79
;
808 var80
= ((val
*(*)(val
* self
))(var70
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var70
); /* native_to_s on <var70:NativeArray[String]>*/
812 var81
= nitc___nitc__ToolContext___error(var66
, ((val
*)NULL
), var80
);
821 BREAK_label61
: (void)0;
823 ((void(*)(val
* self
))((((long)var_46
&3)?class_info
[((long)var_46
&3)]:var_46
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_46
); /* next on <var_46:Iterator[MClass]>*/
826 BREAK_label
: (void)0;
828 ((void(*)(val
* self
))((((long)var_46
&3)?class_info
[((long)var_46
&3)]:var_46
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_46
); /* finish on <var_46:Iterator[MClass]>*/
830 var_ftype
= var_ftype_b
;
834 { /* Inline extern_classes#MClass#ftype_cache= (self,var_ftype) on <self:MClass> */
835 self
->attrs
[COLOR_nitc__extern_classes__MClass___ftype_cache
].val
= var_ftype
; /* _ftype_cache on <self:MClass> */
840 { /* Inline extern_classes#MClass#ftype_computed= (self,1) on <self:MClass> */
841 self
->attrs
[COLOR_nitc__extern_classes__MClass___ftype_computed
].s
= 1; /* _ftype_computed on <self:MClass> */