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 if(catchStack
.cursor
>= 0){
9 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
11 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_classes_typing_phase_ast");
12 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__extern_classes
, 24);
19 /* method extern_classes$ExternClassesTypingPhaseAst$process_nclassdef for (self: ExternClassesTypingPhaseAst, AClassdef) */
20 void nitc__extern_classes___nitc__extern_classes__ExternClassesTypingPhaseAst___nitc__phase__Phase__process_nclassdef(val
* self
, val
* p0
) {
21 val
* var_nclassdef
/* var nclassdef: AClassdef */;
22 short int var
/* : Bool */;
25 short int var1
/* : Bool */;
26 val
* var2
/* : nullable AExternCodeBlock */;
27 val
* var4
/* : nullable AExternCodeBlock */;
28 val
* var_code_block
/* var code_block: nullable AExternCodeBlock */;
29 short int var5
/* : Bool */;
30 short int var6
/* : Bool */;
31 val
* var_other
/* var other: nullable Object */;
32 short int var8
/* : Bool */;
33 short int var10
/* : Bool */;
34 val
* var11
/* : nullable TKwredef */;
35 val
* var13
/* : nullable TKwredef */;
36 short int var14
/* : Bool */;
37 short int var15
/* : Bool */;
38 val
* var_other17
/* var other: nullable Object */;
39 short int var18
/* : Bool */;
40 short int var19
/* : Bool */;
41 val
* var20
/* : ToolContext */;
42 val
* var22
/* : ToolContext */;
43 val
* var23
/* : Location */;
44 val
* var25
/* : Location */;
46 val
* var26
/* : String */;
47 char* var27
/* : CString */;
48 val
* var28
/* : String */;
49 val
* var29
/* : nullable Int */;
50 val
* var30
/* : nullable Int */;
51 val
* var31
/* : nullable Bool */;
52 val
* var32
/* : nullable Bool */;
53 val
* var33
/* : Message */;
54 val
* var34
/* : nullable FFILanguage */;
55 val
* var36
/* : nullable FFILanguage */;
56 val
* var37
/* : ForeignType */;
57 val
* var_ftype
/* var ftype: ForeignType */;
58 val
* var38
/* : nullable MClassDef */;
59 val
* var40
/* : nullable MClassDef */;
60 val
* var42
/* : nullable MClassDef */;
61 val
* var44
/* : nullable MClassDef */;
63 /* <var_nclassdef:AClassdef> isa AStdClassdef */
64 cltype
= type_nitc__AStdClassdef
.color
;
65 idtype
= type_nitc__AStdClassdef
.id
;
66 if(cltype
>= var_nclassdef
->type
->table_size
) {
69 var
= var_nclassdef
->type
->type_table
[cltype
] == idtype
;
77 { /* Inline parser_nodes$AStdClassdef$n_extern_code_block (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
78 var4
= var_nclassdef
->attrs
[COLOR_nitc__parser_nodes__AStdClassdef___n_extern_code_block
].val
; /* _n_extern_code_block on <var_nclassdef:AClassdef(AStdClassdef)> */
83 var_code_block
= var2
;
84 if (var_code_block
== NULL
) {
85 var5
= 1; /* is null */
87 var5
= 0; /* arg is null but recv is not */
90 { /* Inline kernel$Object$== (var_code_block,((val*)NULL)) on <var_code_block:nullable AExternCodeBlock> */
91 var_other
= ((val
*)NULL
);
93 { /* Inline kernel$Object$is_same_instance (var_code_block,var_other) on <var_code_block:nullable AExternCodeBlock(AExternCodeBlock)> */
94 var10
= var_code_block
== var_other
;
111 { /* Inline parser_nodes$ADefinition$n_kwredef (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
112 var13
= var_nclassdef
->attrs
[COLOR_nitc__parser_nodes__ADefinition___n_kwredef
].val
; /* _n_kwredef on <var_nclassdef:AClassdef(AStdClassdef)> */
118 var14
= 0; /* is null */
120 var14
= 1; /* arg is null and recv is not */
123 { /* Inline kernel$Object$!= (var11,((val*)NULL)) on <var11:nullable TKwredef> */
124 var_other17
= ((val
*)NULL
);
126 var18
= ((short int(*)(val
* self
, val
* p0
))(var11
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var11
, var_other17
); /* == on <var11:nullable TKwredef(TKwredef)>*/
137 { /* Inline phase$Phase$toolcontext (self) on <self:ExternClassesTypingPhaseAst> */
138 var22
= self
->attrs
[COLOR_nitc__phase__Phase___toolcontext
].val
; /* _toolcontext on <self:ExternClassesTypingPhaseAst> */
139 if (unlikely(var22
== NULL
)) {
140 if(catchStack
.cursor
>= 0){
141 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
143 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
144 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase
, 210);
152 { /* Inline parser_nodes$ANode$location (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
153 var25
= var_nclassdef
->attrs
[COLOR_nitc__parser_nodes__ANode___location
].val
; /* _location on <var_nclassdef:AClassdef(AStdClassdef)> */
154 if (unlikely(var25
== NULL
)) {
155 if(catchStack
.cursor
>= 0){
156 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
158 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _location");
159 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__parser_nodes
, 25);
166 if (likely(varonce
!=NULL
)) {
169 var27
= "FFI Error: only the introduction of a class can declare an extern type.";
170 var29
= (val
*)(71l<<2|1);
171 var30
= (val
*)(71l<<2|1);
172 var31
= (val
*)((long)(0)<<2|3);
173 var32
= (val
*)((long)(0)<<2|3);
174 var28
= core__flat___CString___to_s_unsafe(var27
, var29
, var30
, var31
, var32
);
179 var33
= nitc___nitc__ToolContext___error(var20
, var23
, var26
);
185 { /* Inline light_ffi_base$AExternCodeBlock$language (var_code_block) on <var_code_block:nullable AExternCodeBlock(AExternCodeBlock)> */
186 var36
= var_code_block
->attrs
[COLOR_nitc__light_ffi_base__AExternCodeBlock___language
].val
; /* _language on <var_code_block:nullable AExternCodeBlock(AExternCodeBlock)> */
192 if(catchStack
.cursor
>= 0){
193 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
195 PRINT_ERROR("Runtime error: %s", "Receiver is null");
196 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__extern_classes
, 47);
199 var37
= nitc___nitc__CLanguage___nitc__light_ffi_base__FFILanguage__get_ftype(var34
, var_code_block
, var_nclassdef
);
203 { /* Inline modelize_class$AClassdef$mclassdef (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
204 var40
= var_nclassdef
->attrs
[COLOR_nitc__modelize_class__AClassdef___mclassdef
].val
; /* _mclassdef on <var_nclassdef:AClassdef(AStdClassdef)> */
210 if(catchStack
.cursor
>= 0){
211 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
213 PRINT_ERROR("Runtime error: %s", "Receiver is null");
214 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__extern_classes
, 48);
217 { /* Inline extern_classes$MClassDef$ftype_cache= (var38,var_ftype) on <var38:nullable MClassDef> */
218 if (unlikely(var38
== NULL
)) {
219 if(catchStack
.cursor
>= 0){
220 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
222 PRINT_ERROR("Runtime error: %s", "Receiver is null");
223 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__extern_classes
, 54);
226 var38
->attrs
[COLOR_nitc__extern_classes__MClassDef___ftype_cache
].val
= var_ftype
; /* _ftype_cache on <var38:nullable MClassDef> */
231 { /* Inline modelize_class$AClassdef$mclassdef (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
232 var44
= var_nclassdef
->attrs
[COLOR_nitc__modelize_class__AClassdef___mclassdef
].val
; /* _mclassdef on <var_nclassdef:AClassdef(AStdClassdef)> */
238 if(catchStack
.cursor
>= 0){
239 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
241 PRINT_ERROR("Runtime error: %s", "Receiver is null");
242 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__extern_classes
, 49);
245 { /* Inline extern_classes$MClassDef$ftype_computed= (var42,1) on <var42:nullable MClassDef> */
246 if (unlikely(var42
== NULL
)) {
247 if(catchStack
.cursor
>= 0){
248 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
250 PRINT_ERROR("Runtime error: %s", "Receiver is null");
251 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__extern_classes
, 55);
254 var42
->attrs
[COLOR_nitc__extern_classes__MClassDef___ftype_computed
].s
= 1; /* _ftype_computed on <var42:nullable MClassDef> */
260 /* method extern_classes$MClassDef$ftype_cache for (self: MClassDef): nullable ForeignType */
261 val
* nitc__extern_classes___MClassDef___ftype_cache(val
* self
) {
262 val
* var
/* : nullable ForeignType */;
263 val
* var1
/* : nullable ForeignType */;
264 var1
= self
->attrs
[COLOR_nitc__extern_classes__MClassDef___ftype_cache
].val
; /* _ftype_cache on <self:MClassDef> */
269 /* method extern_classes$MClassDef$ftype_cache= for (self: MClassDef, nullable ForeignType) */
270 void nitc__extern_classes___MClassDef___ftype_cache_61d(val
* self
, val
* p0
) {
271 self
->attrs
[COLOR_nitc__extern_classes__MClassDef___ftype_cache
].val
= p0
; /* _ftype_cache on <self:MClassDef> */
274 /* method extern_classes$MClassDef$ftype_computed= for (self: MClassDef, Bool) */
275 void nitc__extern_classes___MClassDef___ftype_computed_61d(val
* self
, short int p0
) {
276 self
->attrs
[COLOR_nitc__extern_classes__MClassDef___ftype_computed
].s
= p0
; /* _ftype_computed on <self:MClassDef> */
279 /* method extern_classes$MClassDef$ftype for (self: MClassDef): nullable ForeignType */
280 val
* nitc__extern_classes___MClassDef___ftype(val
* self
) {
281 val
* var
/* : nullable ForeignType */;
282 val
* var1
/* : nullable ForeignType */;
283 val
* var3
/* : nullable ForeignType */;
285 { /* Inline extern_classes$MClassDef$ftype_cache (self) on <self:MClassDef> */
286 var3
= self
->attrs
[COLOR_nitc__extern_classes__MClassDef___ftype_cache
].val
; /* _ftype_cache on <self:MClassDef> */
296 /* method extern_classes$ExternClassesTypingPhaseModel$process_nclassdef for (self: ExternClassesTypingPhaseModel, AClassdef) */
297 void nitc__extern_classes___nitc__extern_classes__ExternClassesTypingPhaseModel___nitc__phase__Phase__process_nclassdef(val
* self
, val
* p0
) {
298 val
* var_nclassdef
/* var nclassdef: AClassdef */;
299 short int var
/* : Bool */;
302 short int var1
/* : Bool */;
303 val
* var2
/* : nullable MClassDef */;
304 val
* var4
/* : nullable MClassDef */;
305 val
* var_mclassdef
/* var mclassdef: nullable MClassDef */;
306 short int var5
/* : Bool */;
307 short int var6
/* : Bool */;
308 val
* var_other
/* var other: nullable Object */;
309 short int var8
/* : Bool */;
310 short int var10
/* : Bool */;
311 val
* var11
/* : MClass */;
312 val
* var13
/* : MClass */;
313 val
* var_mclass
/* var mclass: MClass */;
314 short int var14
/* : Bool */;
315 short int var15
/* : Bool */;
316 val
* var16
/* : MClassKind */;
317 val
* var18
/* : MClassKind */;
318 val
* var19
/* : Sys */;
319 val
* var20
/* : MClassKind */;
320 short int var21
/* : Bool */;
321 val
* var_other23
/* var other: nullable Object */;
322 short int var24
/* : Bool */;
323 short int var25
/* : Bool */;
324 val
* var26
/* : nullable ForeignType */;
326 /* <var_nclassdef:AClassdef> isa AStdClassdef */
327 cltype
= type_nitc__AStdClassdef
.color
;
328 idtype
= type_nitc__AStdClassdef
.id
;
329 if(cltype
>= var_nclassdef
->type
->table_size
) {
332 var
= var_nclassdef
->type
->type_table
[cltype
] == idtype
;
340 { /* Inline modelize_class$AClassdef$mclassdef (var_nclassdef) on <var_nclassdef:AClassdef(AStdClassdef)> */
341 var4
= var_nclassdef
->attrs
[COLOR_nitc__modelize_class__AClassdef___mclassdef
].val
; /* _mclassdef on <var_nclassdef:AClassdef(AStdClassdef)> */
346 var_mclassdef
= var2
;
347 if (var_mclassdef
== NULL
) {
348 var5
= 1; /* is null */
350 var5
= 0; /* arg is null but recv is not */
353 { /* Inline kernel$Object$== (var_mclassdef,((val*)NULL)) on <var_mclassdef:nullable MClassDef> */
354 var_other
= ((val
*)NULL
);
356 { /* Inline kernel$Object$is_same_instance (var_mclassdef,var_other) on <var_mclassdef:nullable MClassDef(MClassDef)> */
357 var10
= var_mclassdef
== var_other
;
374 { /* Inline model$MClassDef$mclass (var_mclassdef) on <var_mclassdef:nullable MClassDef(MClassDef)> */
375 var13
= var_mclassdef
->attrs
[COLOR_nitc__model__MClassDef___mclass
].val
; /* _mclass on <var_mclassdef:nullable MClassDef(MClassDef)> */
376 if (unlikely(var13
== NULL
)) {
377 if(catchStack
.cursor
>= 0){
378 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
380 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
381 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 591);
390 var14
= nitc___nitc__MClassDef___is_intro(var_mclassdef
);
398 { /* Inline model$MClass$kind (var_mclass) on <var_mclass:MClass> */
399 var18
= var_mclass
->attrs
[COLOR_nitc__model__MClass___kind
].val
; /* _kind on <var_mclass:MClass> */
400 if (unlikely(var18
== NULL
)) {
401 if(catchStack
.cursor
>= 0){
402 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
404 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
405 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 472);
414 var20
= nitc__model___core__Sys___extern_kind(var19
);
417 { /* Inline kernel$Object$!= (var16,var20) on <var16:MClassKind> */
420 var24
= ((short int(*)(val
* self
, val
* p0
))(var16
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var16
, var_other23
); /* == on <var16:MClassKind>*/
433 var26
= nitc__extern_classes___MClass___compute_ftype(var_mclass
, self
);
437 /* method extern_classes$MClass$ftype_cache for (self: MClass): nullable ForeignType */
438 val
* nitc__extern_classes___MClass___ftype_cache(val
* self
) {
439 val
* var
/* : nullable ForeignType */;
440 val
* var1
/* : nullable ForeignType */;
441 var1
= self
->attrs
[COLOR_nitc__extern_classes__MClass___ftype_cache
].val
; /* _ftype_cache on <self:MClass> */
446 /* method extern_classes$MClass$ftype_cache= for (self: MClass, nullable ForeignType) */
447 void nitc__extern_classes___MClass___ftype_cache_61d(val
* self
, val
* p0
) {
448 self
->attrs
[COLOR_nitc__extern_classes__MClass___ftype_cache
].val
= p0
; /* _ftype_cache on <self:MClass> */
451 /* method extern_classes$MClass$ftype_computed for (self: MClass): Bool */
452 short int nitc__extern_classes___MClass___ftype_computed(val
* self
) {
453 short int var
/* : Bool */;
454 short int var1
/* : Bool */;
455 var1
= self
->attrs
[COLOR_nitc__extern_classes__MClass___ftype_computed
].s
; /* _ftype_computed on <self:MClass> */
460 /* method extern_classes$MClass$ftype_computed= for (self: MClass, Bool) */
461 void nitc__extern_classes___MClass___ftype_computed_61d(val
* self
, short int p0
) {
462 self
->attrs
[COLOR_nitc__extern_classes__MClass___ftype_computed
].s
= p0
; /* _ftype_computed on <self:MClass> */
465 /* method extern_classes$MClass$ctype for (self: MClass): nullable String */
466 val
* nitc__extern_classes___MClass___ctype(val
* self
) {
467 val
* var
/* : nullable String */;
468 val
* var1
/* : nullable ForeignType */;
469 val
* var3
/* : nullable ForeignType */;
470 val
* var4
/* : String */;
472 { /* Inline extern_classes$MClass$ftype_cache (self) on <self:MClass> */
473 var3
= self
->attrs
[COLOR_nitc__extern_classes__MClass___ftype_cache
].val
; /* _ftype_cache on <self:MClass> */
479 if(catchStack
.cursor
>= 0){
480 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
482 PRINT_ERROR("Runtime error: %s", "Receiver is null");
483 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__extern_classes
, 91);
486 var4
= ((val
*(*)(val
* self
))(var1
->class->vft
[COLOR_nitc__light_ffi_base__ForeignType__ctype
]))(var1
); /* ctype on <var1:nullable ForeignType>*/
493 /* method extern_classes$MClass$compute_ftype for (self: MClass, ExternClassesTypingPhaseModel): nullable ForeignType */
494 val
* nitc__extern_classes___MClass___compute_ftype(val
* self
, val
* p0
) {
495 val
* var
/* : nullable ForeignType */;
496 val
* var_v
/* var v: ExternClassesTypingPhaseModel */;
497 short int var1
/* : Bool */;
498 short int var3
/* : Bool */;
499 val
* var4
/* : nullable ForeignType */;
500 val
* var6
/* : nullable ForeignType */;
501 val
* var7
/* : MClassKind */;
502 val
* var9
/* : MClassKind */;
503 val
* var10
/* : Sys */;
504 val
* var11
/* : MClassKind */;
505 short int var12
/* : Bool */;
506 val
* var_other
/* var other: nullable Object */;
507 short int var14
/* : Bool */;
508 short int var15
/* : Bool */;
509 val
* var16
/* : String */;
510 val
* var18
/* : String */;
512 val
* var19
/* : String */;
513 char* var20
/* : CString */;
514 val
* var21
/* : String */;
515 val
* var22
/* : nullable Int */;
516 val
* var23
/* : nullable Int */;
517 val
* var24
/* : nullable Bool */;
518 val
* var25
/* : nullable Bool */;
519 short int var26
/* : Bool */;
520 val
* var27
/* : ForeignType */;
521 val
* var30
/* : nullable ForeignType */;
522 val
* var32
/* : nullable ForeignType */;
523 val
* var33
/* : MClassDef */;
524 val
* var35
/* : MClassDef */;
525 val
* var36
/* : nullable ForeignType */;
526 val
* var_ftype
/* var ftype: nullable ForeignType */;
527 short int var37
/* : Bool */;
528 short int var38
/* : Bool */;
529 val
* var_other40
/* var other: nullable Object */;
530 short int var41
/* : Bool */;
531 short int var43
/* : Bool */;
532 val
* var_ftype_b
/* var ftype_b: nullable ForeignType */;
533 val
* var44
/* : MModule */;
534 val
* var46
/* : MModule */;
535 val
* var47
/* : POSetElement[MClass] */;
536 val
* var48
/* : Collection[nullable Object] */;
537 val
* var_
/* var : Collection[MClass] */;
538 val
* var49
/* : Iterator[nullable Object] */;
539 val
* var_50
/* var : Iterator[MClass] */;
540 short int var51
/* : Bool */;
541 val
* var52
/* : nullable Object */;
542 val
* var_s
/* var s: MClass */;
543 val
* var53
/* : nullable ForeignType */;
544 val
* var_super_ftype
/* var super_ftype: nullable ForeignType */;
545 short int var54
/* : Bool */;
546 short int var55
/* : Bool */;
547 short int var57
/* : Bool */;
548 short int var58
/* : Bool */;
549 short int var59
/* : Bool */;
550 short int var60
/* : Bool */;
551 short int var62
/* : Bool */;
552 short int var64
/* : Bool */;
553 short int var66
/* : Bool */;
554 short int var68
/* : Bool */;
555 short int var69
/* : Bool */;
556 val
* var70
/* : ToolContext */;
557 val
* var72
/* : ToolContext */;
558 val
* var74
/* : NativeArray[String] */;
559 static val
* varonce73
;
560 static val
* varonce75
;
561 val
* var76
/* : String */;
562 char* var77
/* : CString */;
563 val
* var78
/* : String */;
564 val
* var79
/* : nullable Int */;
565 val
* var80
/* : nullable Int */;
566 val
* var81
/* : nullable Bool */;
567 val
* var82
/* : nullable Bool */;
568 static val
* varonce83
;
569 val
* var84
/* : String */;
570 char* var85
/* : CString */;
571 val
* var86
/* : String */;
572 val
* var87
/* : nullable Int */;
573 val
* var88
/* : nullable Int */;
574 val
* var89
/* : nullable Bool */;
575 val
* var90
/* : nullable Bool */;
576 val
* var91
/* : String */;
577 val
* var92
/* : String */;
578 val
* var93
/* : Message */;
581 { /* Inline extern_classes$MClass$ftype_computed (self) on <self:MClass> */
582 var3
= self
->attrs
[COLOR_nitc__extern_classes__MClass___ftype_computed
].s
; /* _ftype_computed on <self:MClass> */
589 { /* Inline extern_classes$MClass$ftype_cache (self) on <self:MClass> */
590 var6
= self
->attrs
[COLOR_nitc__extern_classes__MClass___ftype_cache
].val
; /* _ftype_cache on <self:MClass> */
600 { /* Inline model$MClass$kind (self) on <self:MClass> */
601 var9
= self
->attrs
[COLOR_nitc__model__MClass___kind
].val
; /* _kind on <self:MClass> */
602 if (unlikely(var9
== NULL
)) {
603 if(catchStack
.cursor
>= 0){
604 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
606 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _kind");
607 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 472);
616 var11
= nitc__model___core__Sys___extern_kind(var10
);
619 { /* Inline kernel$Object$!= (var7,var11) on <var7:MClassKind> */
622 var14
= ((short int(*)(val
* self
, val
* p0
))(var7
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var7
, var_other
); /* == on <var7:MClassKind>*/
636 { /* Inline model$MClass$name (self) on <self:MClass> */
637 var18
= self
->attrs
[COLOR_nitc__model__MClass___name
].val
; /* _name on <self:MClass> */
638 if (unlikely(var18
== NULL
)) {
639 if(catchStack
.cursor
>= 0){
640 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
642 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
643 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 396);
650 if (likely(varonce
!=NULL
)) {
654 var22
= (val
*)(7l<<2|1);
655 var23
= (val
*)(7l<<2|1);
656 var24
= (val
*)((long)(0)<<2|3);
657 var25
= (val
*)((long)(0)<<2|3);
658 var21
= core__flat___CString___to_s_unsafe(var20
, var22
, var23
, var24
, var25
);
663 var26
= ((short int(*)(val
* self
, val
* p0
))(var16
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var16
, var19
); /* == on <var16:String>*/
666 var27
= NEW_nitc__ForeignType(&type_nitc__ForeignType
);
668 ((void(*)(val
* self
))(var27
->class->vft
[COLOR_core__kernel__Object__init
]))(var27
); /* init on <var27:ForeignType>*/
671 { /* Inline extern_classes$MClass$ftype_cache= (self,var27) on <self:MClass> */
672 self
->attrs
[COLOR_nitc__extern_classes__MClass___ftype_cache
].val
= var27
; /* _ftype_cache on <self:MClass> */
677 { /* Inline extern_classes$MClass$ftype_computed= (self,1) on <self:MClass> */
678 self
->attrs
[COLOR_nitc__extern_classes__MClass___ftype_computed
].s
= 1; /* _ftype_computed on <self:MClass> */
683 { /* Inline extern_classes$MClass$ftype_cache (self) on <self:MClass> */
684 var32
= self
->attrs
[COLOR_nitc__extern_classes__MClass___ftype_cache
].val
; /* _ftype_cache on <self:MClass> */
694 { /* Inline model$MClass$intro (self) on <self:MClass> */
695 var35
= self
->attrs
[COLOR_nitc__model__MClass___intro
].val
; /* _intro on <self:MClass> */
696 if (unlikely(var35
== NULL
)) {
697 if(catchStack
.cursor
>= 0){
698 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
700 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro");
701 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 496);
709 var36
= nitc__extern_classes___MClassDef___ftype(var33
);
712 if (var_ftype
== NULL
) {
713 var37
= 1; /* is null */
715 var37
= 0; /* arg is null but recv is not */
718 { /* Inline kernel$Object$== (var_ftype,((val*)NULL)) on <var_ftype:nullable ForeignType> */
719 var_other40
= ((val
*)NULL
);
721 { /* Inline kernel$Object$is_same_instance (var_ftype,var_other40) on <var_ftype:nullable ForeignType(ForeignType)> */
722 var43
= var_ftype
== var_other40
;
735 var_ftype_b
= ((val
*)NULL
);
737 { /* Inline model$MClass$intro_mmodule (self) on <self:MClass> */
738 var46
= self
->attrs
[COLOR_nitc__model__MClass___intro_mmodule
].val
; /* _intro_mmodule on <self:MClass> */
739 if (unlikely(var46
== NULL
)) {
740 if(catchStack
.cursor
>= 0){
741 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
743 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _intro_mmodule");
744 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 390);
752 var47
= nitc___nitc__MClass___in_hierarchy(self
, var44
);
755 var48
= poset___poset__POSetElement___direct_greaters(var47
);
759 var49
= ((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]>*/
764 var51
= ((short int(*)(val
* self
))((((long)var_50
&3)?class_info
[((long)var_50
&3)]:var_50
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_50
); /* is_ok on <var_50:Iterator[MClass]>*/
771 var52
= ((val
*(*)(val
* self
))((((long)var_50
&3)?class_info
[((long)var_50
&3)]:var_50
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_50
); /* item on <var_50:Iterator[MClass]>*/
775 var53
= nitc__extern_classes___MClass___compute_ftype(var_s
, var_v
);
777 var_super_ftype
= var53
;
778 if (var_super_ftype
== NULL
) {
779 var54
= 0; /* is null */
781 var54
= 1; /* arg is null and recv is not */
784 { /* Inline kernel$Object$!= (var_super_ftype,((val*)NULL)) on <var_super_ftype:nullable ForeignType> */
785 var_other
= ((val
*)NULL
);
787 var57
= ((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)>*/
797 if (var_ftype_b
== NULL
) {
798 var59
= 1; /* is null */
800 var59
= 0; /* arg is null but recv is not */
803 { /* Inline kernel$Object$== (var_ftype_b,((val*)NULL)) on <var_ftype_b:nullable ForeignType> */
804 var_other40
= ((val
*)NULL
);
806 { /* Inline kernel$Object$is_same_instance (var_ftype_b,var_other40) on <var_ftype_b:nullable ForeignType(ForeignType)> */
807 var64
= var_ftype_b
== var_other40
;
820 var_ftype_b
= var_super_ftype
;
824 { /* Inline kernel$Object$!= (var_super_ftype,var_ftype_b) on <var_super_ftype:nullable ForeignType(ForeignType)> */
825 var_other
= var_ftype_b
;
827 var68
= ((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)>*/
837 { /* Inline phase$Phase$toolcontext (var_v) on <var_v:ExternClassesTypingPhaseModel> */
838 var72
= var_v
->attrs
[COLOR_nitc__phase__Phase___toolcontext
].val
; /* _toolcontext on <var_v:ExternClassesTypingPhaseModel> */
839 if (unlikely(var72
== NULL
)) {
840 if(catchStack
.cursor
>= 0){
841 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
843 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
844 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__phase
, 210);
851 if (unlikely(varonce73
==NULL
)) {
852 var74
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
853 if (likely(varonce75
!=NULL
)) {
856 var77
= "FFI Error: extern type conflict in `";
857 var79
= (val
*)(36l<<2|1);
858 var80
= (val
*)(36l<<2|1);
859 var81
= (val
*)((long)(0)<<2|3);
860 var82
= (val
*)((long)(0)<<2|3);
861 var78
= core__flat___CString___to_s_unsafe(var77
, var79
, var80
, var81
, var82
);
865 ((struct instance_core__NativeArray
*)var74
)->values
[0]=var76
;
866 if (likely(varonce83
!=NULL
)) {
870 var87
= (val
*)(2l<<2|1);
871 var88
= (val
*)(2l<<2|1);
872 var89
= (val
*)((long)(0)<<2|3);
873 var90
= (val
*)((long)(0)<<2|3);
874 var86
= core__flat___CString___to_s_unsafe(var85
, var87
, var88
, var89
, var90
);
878 ((struct instance_core__NativeArray
*)var74
)->values
[2]=var84
;
884 var91
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_core__abstract_text__Object__to_s
]))(self
); /* to_s on <self:MClass>*/
886 ((struct instance_core__NativeArray
*)var74
)->values
[1]=var91
;
888 var92
= ((val
*(*)(val
* self
))(var74
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var74
); /* native_to_s on <var74:NativeArray[String]>*/
892 var93
= nitc___nitc__ToolContext___error(var70
, ((val
*)NULL
), var92
);
901 BREAK_label65
: (void)0;
903 ((void(*)(val
* self
))((((long)var_50
&3)?class_info
[((long)var_50
&3)]:var_50
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_50
); /* next on <var_50:Iterator[MClass]>*/
906 BREAK_label
: (void)0;
908 ((void(*)(val
* self
))((((long)var_50
&3)?class_info
[((long)var_50
&3)]:var_50
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_50
); /* finish on <var_50:Iterator[MClass]>*/
910 var_ftype
= var_ftype_b
;
914 { /* Inline extern_classes$MClass$ftype_cache= (self,var_ftype) on <self:MClass> */
915 self
->attrs
[COLOR_nitc__extern_classes__MClass___ftype_cache
].val
= var_ftype
; /* _ftype_cache on <self:MClass> */
920 { /* Inline extern_classes$MClass$ftype_computed= (self,1) on <self:MClass> */
921 self
->attrs
[COLOR_nitc__extern_classes__MClass___ftype_computed
].s
= 1; /* _ftype_computed on <self:MClass> */