1 #include "poset.sep.0.h"
2 /* method poset#POSet#iterator for (self: POSet[nullable Object]): Iterator[nullable Object] */
3 val
* poset___poset__POSet___core__abstract_collection__Collection__iterator(val
* self
) {
4 val
* var
/* : Iterator[nullable Object] */;
5 val
* var1
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
6 val
* var3
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
7 val
* var4
/* : RemovableCollection[nullable Object] */;
8 val
* var5
/* : Iterator[nullable Object] */;
10 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
11 var3
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
12 if (unlikely(var3
== NULL
)) {
13 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
14 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
22 var4
= core___core__HashMap___core__abstract_collection__MapRead__keys(var1
);
25 var5
= ((val
*(*)(val
* self
))((((long)var4
&3)?class_info
[((long)var4
&3)]:var4
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var4
); /* iterator on <var4:RemovableCollection[nullable Object]>*/
32 /* method poset#POSet#elements for (self: POSet[nullable Object]): HashMap[nullable Object, POSetElement[nullable Object]] */
33 val
* poset___poset__POSet___elements(val
* self
) {
34 val
* var
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
35 val
* var1
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
36 var1
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
37 if (unlikely(var1
== NULL
)) {
38 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
39 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
46 /* method poset#POSet#has for (self: POSet[nullable Object], nullable Object): Bool */
47 short int poset___poset__POSet___core__abstract_collection__Collection__has(val
* self
, val
* p0
) {
48 short int var
/* : Bool */;
49 val
* var_e
/* var e: nullable Object */;
50 val
* var1
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
51 val
* var3
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
52 val
* var4
/* : RemovableCollection[nullable Object] */;
53 short int var5
/* : Bool */;
56 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
57 var3
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
58 if (unlikely(var3
== NULL
)) {
59 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
60 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
68 var4
= core___core__HashMap___core__abstract_collection__MapRead__keys(var1
);
71 var5
= ((short int(*)(val
* self
, val
* p0
))((((long)var4
&3)?class_info
[((long)var4
&3)]:var4
->class)->vft
[COLOR_core__abstract_collection__Collection__has
]))(var4
, var_e
); /* has on <var4:RemovableCollection[nullable Object]>*/
78 /* method poset#POSet#add_node for (self: POSet[nullable Object], nullable Object): POSetElement[nullable Object] */
79 val
* poset___poset__POSet___add_node(val
* self
, val
* p0
) {
80 val
* var
/* : POSetElement[nullable Object] */;
81 short int var1
/* : Bool */;
84 const struct type
* type_struct
;
85 short int is_nullable
;
86 const char* var_class_name
;
87 val
* var_e
/* var e: nullable Object */;
88 val
* var2
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
89 val
* var4
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
90 val
* var5
/* : RemovableCollection[nullable Object] */;
91 short int var6
/* : Bool */;
92 val
* var7
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
93 val
* var9
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
94 val
* var10
/* : nullable Object */;
95 val
* var11
/* : POSetElement[nullable Object] */;
96 val
* var12
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
97 val
* var14
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
98 long var15
/* : Int */;
99 val
* var_poe
/* var poe: POSetElement[nullable Object] */;
100 val
* var16
/* : HashSet[nullable Object] */;
101 val
* var18
/* : HashSet[nullable Object] */;
102 val
* var19
/* : HashSet[nullable Object] */;
103 val
* var21
/* : HashSet[nullable Object] */;
104 val
* var22
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
105 val
* var24
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
106 /* Covariant cast for argument 0 (e) <p0:nullable Object> isa E */
107 /* <p0:nullable Object> isa E */
108 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet___35dE
];
109 cltype
= type_struct
->color
;
110 idtype
= type_struct
->id
;
111 is_nullable
= type_struct
->is_nullable
;
115 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
118 var1
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
121 if (unlikely(!var1
)) {
122 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
123 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
124 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 87);
129 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
130 var4
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
131 if (unlikely(var4
== NULL
)) {
132 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
133 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
141 var5
= core___core__HashMap___core__abstract_collection__MapRead__keys(var2
);
144 var6
= ((short int(*)(val
* self
, val
* p0
))((((long)var5
&3)?class_info
[((long)var5
&3)]:var5
->class)->vft
[COLOR_core__abstract_collection__Collection__has
]))(var5
, var_e
); /* has on <var5:RemovableCollection[nullable Object]>*/
148 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
149 var9
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
150 if (unlikely(var9
== NULL
)) {
151 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
152 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
160 var10
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var7
, var_e
);
166 var11
= NEW_poset__POSetElement(self
->type
->resolution_table
->types
[COLOR_poset__POSetElement__poset__POSet___35dE
]);
168 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
169 var14
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
170 if (unlikely(var14
== NULL
)) {
171 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
172 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
180 var15
= core___core__HashMap___core__abstract_collection__MapRead__length(var12
);
183 ((void(*)(val
* self
, val
* p0
))(var11
->class->vft
[COLOR_poset__POSetElement__poset_61d
]))(var11
, self
); /* poset= on <var11:POSetElement[nullable Object]>*/
186 ((void(*)(val
* self
, val
* p0
))(var11
->class->vft
[COLOR_poset__POSetElement__element_61d
]))(var11
, var_e
); /* element= on <var11:POSetElement[nullable Object]>*/
189 ((void(*)(val
* self
, long p0
))(var11
->class->vft
[COLOR_poset__POSetElement__count_61d
]))(var11
, var15
); /* count= on <var11:POSetElement[nullable Object]>*/
192 ((void(*)(val
* self
))(var11
->class->vft
[COLOR_core__kernel__Object__init
]))(var11
); /* init on <var11:POSetElement[nullable Object]>*/
196 { /* Inline poset#POSetElement#tos (var_poe) on <var_poe:POSetElement[nullable Object]> */
197 var18
= var_poe
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <var_poe:POSetElement[nullable Object]> */
198 if (unlikely(var18
== NULL
)) {
199 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
200 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 406);
208 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var16
, var_e
); /* Direct call hash_collection#HashSet#add on <var16:HashSet[nullable Object]>*/
211 { /* Inline poset#POSetElement#froms (var_poe) on <var_poe:POSetElement[nullable Object]> */
212 var21
= var_poe
->attrs
[COLOR_poset__POSetElement___froms
].val
; /* _froms on <var_poe:POSetElement[nullable Object]> */
213 if (unlikely(var21
== NULL
)) {
214 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _froms");
215 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 407);
223 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var19
, var_e
); /* Direct call hash_collection#HashSet#add on <var19:HashSet[nullable Object]>*/
226 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
227 var24
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
228 if (unlikely(var24
== NULL
)) {
229 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
230 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
238 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var22
, var_e
, var_poe
); /* Direct call hash_collection#HashMap#[]= on <var22:HashMap[nullable Object, POSetElement[nullable Object]]>*/
245 /* method poset#POSet#[] for (self: POSet[nullable Object], nullable Object): POSetElement[nullable Object] */
246 val
* poset___poset__POSet____91d_93d(val
* self
, val
* p0
) {
247 val
* var
/* : POSetElement[nullable Object] */;
248 short int var1
/* : Bool */;
251 const struct type
* type_struct
;
252 short int is_nullable
;
253 const char* var_class_name
;
254 val
* var_e
/* var e: nullable Object */;
255 val
* var2
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
256 val
* var4
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
257 val
* var5
/* : RemovableCollection[nullable Object] */;
258 short int var6
/* : Bool */;
259 val
* var7
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
260 val
* var9
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
261 val
* var10
/* : nullable Object */;
262 /* Covariant cast for argument 0 (e) <p0:nullable Object> isa E */
263 /* <p0:nullable Object> isa E */
264 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet___35dE
];
265 cltype
= type_struct
->color
;
266 idtype
= type_struct
->id
;
267 is_nullable
= type_struct
->is_nullable
;
271 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
274 var1
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
277 if (unlikely(!var1
)) {
278 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
279 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
280 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 101);
285 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
286 var4
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
287 if (unlikely(var4
== NULL
)) {
288 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
289 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
297 var5
= core___core__HashMap___core__abstract_collection__MapRead__keys(var2
);
300 var6
= ((short int(*)(val
* self
, val
* p0
))((((long)var5
&3)?class_info
[((long)var5
&3)]:var5
->class)->vft
[COLOR_core__abstract_collection__Collection__has
]))(var5
, var_e
); /* has on <var5:RemovableCollection[nullable Object]>*/
302 if (unlikely(!var6
)) {
303 PRINT_ERROR("Runtime error: %s", "Assert failed");
304 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 115);
308 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
309 var9
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
310 if (unlikely(var9
== NULL
)) {
311 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
312 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
320 var10
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var7
, var_e
);
327 /* method poset#POSet#add_edge for (self: POSet[nullable Object], nullable Object, nullable Object) */
328 void poset___poset__POSet___add_edge(val
* self
, val
* p0
, val
* p1
) {
329 short int var
/* : Bool */;
332 const struct type
* type_struct
;
333 short int is_nullable
;
334 const char* var_class_name
;
335 short int var1
/* : Bool */;
338 const struct type
* type_struct4
;
339 short int is_nullable5
;
340 const char* var_class_name6
;
341 val
* var_f
/* var f: nullable Object */;
342 val
* var_t
/* var t: nullable Object */;
343 val
* var7
/* : POSetElement[nullable Object] */;
344 val
* var_fe
/* var fe: POSetElement[nullable Object] */;
345 val
* var8
/* : POSetElement[nullable Object] */;
346 val
* var_te
/* var te: POSetElement[nullable Object] */;
347 val
* var9
/* : HashSet[nullable Object] */;
348 val
* var11
/* : HashSet[nullable Object] */;
349 short int var12
/* : Bool */;
350 val
* var13
/* : HashSet[nullable Object] */;
351 val
* var15
/* : HashSet[nullable Object] */;
352 val
* var_
/* var : HashSet[nullable Object] */;
353 val
* var16
/* : Iterator[nullable Object] */;
354 val
* var_17
/* var : Iterator[nullable Object] */;
355 short int var18
/* : Bool */;
356 val
* var19
/* : nullable Object */;
357 val
* var_ff
/* var ff: nullable Object */;
358 val
* var20
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
359 val
* var22
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
360 val
* var23
/* : nullable Object */;
361 val
* var_ffe
/* var ffe: POSetElement[nullable Object] */;
362 val
* var24
/* : HashSet[nullable Object] */;
363 val
* var26
/* : HashSet[nullable Object] */;
364 val
* var_27
/* var : HashSet[nullable Object] */;
365 val
* var28
/* : Iterator[nullable Object] */;
366 val
* var_29
/* var : Iterator[nullable Object] */;
367 short int var30
/* : Bool */;
368 val
* var32
/* : nullable Object */;
369 val
* var_tt
/* var tt: nullable Object */;
370 val
* var33
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
371 val
* var35
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
372 val
* var36
/* : nullable Object */;
373 val
* var_tte
/* var tte: POSetElement[nullable Object] */;
374 val
* var37
/* : HashSet[nullable Object] */;
375 val
* var39
/* : HashSet[nullable Object] */;
376 val
* var40
/* : HashSet[nullable Object] */;
377 val
* var42
/* : HashSet[nullable Object] */;
378 val
* var43
/* : HashSet[nullable Object] */;
379 val
* var45
/* : HashSet[nullable Object] */;
380 short int var46
/* : Bool */;
381 val
* var_to_remove
/* var to_remove: nullable Array[nullable Object] */;
382 val
* var47
/* : HashSet[nullable Object] */;
383 val
* var49
/* : HashSet[nullable Object] */;
384 val
* var_50
/* var : HashSet[nullable Object] */;
385 val
* var51
/* : Iterator[nullable Object] */;
386 val
* var_52
/* var : Iterator[nullable Object] */;
387 short int var53
/* : Bool */;
388 val
* var55
/* : nullable Object */;
389 val
* var_x
/* var x: nullable Object */;
390 val
* var56
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
391 val
* var58
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
392 val
* var59
/* : nullable Object */;
393 val
* var_xe
/* var xe: POSetElement[nullable Object] */;
394 val
* var60
/* : HashSet[nullable Object] */;
395 val
* var62
/* : HashSet[nullable Object] */;
396 short int var63
/* : Bool */;
397 short int var64
/* : Bool */;
398 short int var65
/* : Bool */;
399 val
* var66
/* : Array[nullable Object] */;
400 val
* var67
/* : HashSet[nullable Object] */;
401 val
* var69
/* : HashSet[nullable Object] */;
402 short int var70
/* : Bool */;
403 short int var71
/* : Bool */;
404 val
* var_other
/* var other: nullable Object */;
405 short int var73
/* : Bool */;
406 short int var74
/* : Bool */;
407 val
* var_75
/* var : Array[nullable Object] */;
408 val
* var76
/* : IndexedIterator[nullable Object] */;
409 val
* var_77
/* var : IndexedIterator[nullable Object] */;
410 short int var78
/* : Bool */;
411 val
* var80
/* : nullable Object */;
412 val
* var_x81
/* var x: nullable Object */;
413 val
* var82
/* : HashSet[nullable Object] */;
414 val
* var84
/* : HashSet[nullable Object] */;
415 val
* var85
/* : HashSet[nullable Object] */;
416 val
* var87
/* : HashSet[nullable Object] */;
417 val
* var_88
/* var : HashSet[nullable Object] */;
418 val
* var89
/* : Iterator[nullable Object] */;
419 val
* var_90
/* var : Iterator[nullable Object] */;
420 short int var91
/* : Bool */;
421 val
* var93
/* : nullable Object */;
422 val
* var_x94
/* var x: nullable Object */;
423 val
* var95
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
424 val
* var97
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
425 val
* var98
/* : nullable Object */;
426 val
* var_xe99
/* var xe: POSetElement[nullable Object] */;
427 val
* var100
/* : HashSet[nullable Object] */;
428 val
* var102
/* : HashSet[nullable Object] */;
429 short int var103
/* : Bool */;
430 val
* var104
/* : HashSet[nullable Object] */;
431 val
* var106
/* : HashSet[nullable Object] */;
432 short int var107
/* : Bool */;
433 short int var108
/* : Bool */;
434 val
* var109
/* : Array[nullable Object] */;
435 short int var110
/* : Bool */;
436 short int var111
/* : Bool */;
437 short int var113
/* : Bool */;
438 short int var114
/* : Bool */;
439 val
* var_115
/* var : Array[nullable Object] */;
440 val
* var116
/* : IndexedIterator[nullable Object] */;
441 val
* var_117
/* var : IndexedIterator[nullable Object] */;
442 short int var118
/* : Bool */;
443 val
* var120
/* : nullable Object */;
444 val
* var_x121
/* var x: nullable Object */;
445 val
* var122
/* : HashSet[nullable Object] */;
446 val
* var124
/* : HashSet[nullable Object] */;
447 val
* var125
/* : HashSet[nullable Object] */;
448 val
* var127
/* : HashSet[nullable Object] */;
449 val
* var128
/* : HashSet[nullable Object] */;
450 val
* var130
/* : HashSet[nullable Object] */;
451 /* Covariant cast for argument 0 (f) <p0:nullable Object> isa E */
452 /* <p0:nullable Object> isa E */
453 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet___35dE
];
454 cltype
= type_struct
->color
;
455 idtype
= type_struct
->id
;
456 is_nullable
= type_struct
->is_nullable
;
460 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
463 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
466 if (unlikely(!var
)) {
467 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
468 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
469 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 119);
472 /* Covariant cast for argument 1 (t) <p1:nullable Object> isa E */
473 /* <p1:nullable Object> isa E */
474 type_struct4
= self
->type
->resolution_table
->types
[COLOR_poset__POSet___35dE
];
475 cltype2
= type_struct4
->color
;
476 idtype3
= type_struct4
->id
;
477 is_nullable5
= type_struct4
->is_nullable
;
481 if(cltype2
>= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->table_size
) {
484 var1
= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->type_table
[cltype2
] == idtype3
;
487 if (unlikely(!var1
)) {
488 var_class_name6
= p1
== NULL ?
"null" : (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->name
;
489 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name6
);
490 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 119);
496 var7
= poset___poset__POSet___add_node(self
, var_f
);
500 var8
= poset___poset__POSet___add_node(self
, var_t
);
504 { /* Inline poset#POSetElement#tos (var_fe) on <var_fe:POSetElement[nullable Object]> */
505 var11
= var_fe
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <var_fe:POSetElement[nullable Object]> */
506 if (unlikely(var11
== NULL
)) {
507 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
508 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 406);
516 var12
= core___core__HashSet___core__abstract_collection__Collection__has(var9
, var_t
);
523 { /* Inline poset#POSetElement#froms (var_fe) on <var_fe:POSetElement[nullable Object]> */
524 var15
= var_fe
->attrs
[COLOR_poset__POSetElement___froms
].val
; /* _froms on <var_fe:POSetElement[nullable Object]> */
525 if (unlikely(var15
== NULL
)) {
526 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _froms");
527 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 407);
536 var16
= core___core__HashSet___core__abstract_collection__Collection__iterator(var_
);
541 var18
= ((short int(*)(val
* self
))((((long)var_17
&3)?class_info
[((long)var_17
&3)]:var_17
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_17
); /* is_ok on <var_17:Iterator[nullable Object]>*/
548 var19
= ((val
*(*)(val
* self
))((((long)var_17
&3)?class_info
[((long)var_17
&3)]:var_17
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_17
); /* item on <var_17:Iterator[nullable Object]>*/
552 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
553 var22
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
554 if (unlikely(var22
== NULL
)) {
555 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
556 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
564 var23
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var20
, var_ff
);
568 { /* Inline poset#POSetElement#tos (var_te) on <var_te:POSetElement[nullable Object]> */
569 var26
= var_te
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <var_te:POSetElement[nullable Object]> */
570 if (unlikely(var26
== NULL
)) {
571 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
572 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 406);
581 var28
= core___core__HashSet___core__abstract_collection__Collection__iterator(var_27
);
586 var30
= ((short int(*)(val
* self
))((((long)var_29
&3)?class_info
[((long)var_29
&3)]:var_29
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_29
); /* is_ok on <var_29:Iterator[nullable Object]>*/
593 var32
= ((val
*(*)(val
* self
))((((long)var_29
&3)?class_info
[((long)var_29
&3)]:var_29
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_29
); /* item on <var_29:Iterator[nullable Object]>*/
597 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
598 var35
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
599 if (unlikely(var35
== NULL
)) {
600 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
601 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
609 var36
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var33
, var_tt
);
613 { /* Inline poset#POSetElement#froms (var_tte) on <var_tte:POSetElement[nullable Object]> */
614 var39
= var_tte
->attrs
[COLOR_poset__POSetElement___froms
].val
; /* _froms on <var_tte:POSetElement[nullable Object]> */
615 if (unlikely(var39
== NULL
)) {
616 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _froms");
617 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 407);
625 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var37
, var_ff
); /* Direct call hash_collection#HashSet#add on <var37:HashSet[nullable Object]>*/
628 { /* Inline poset#POSetElement#tos (var_ffe) on <var_ffe:POSetElement[nullable Object]> */
629 var42
= var_ffe
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <var_ffe:POSetElement[nullable Object]> */
630 if (unlikely(var42
== NULL
)) {
631 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
632 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 406);
640 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var40
, var_tt
); /* Direct call hash_collection#HashSet#add on <var40:HashSet[nullable Object]>*/
643 ((void(*)(val
* self
))((((long)var_29
&3)?class_info
[((long)var_29
&3)]:var_29
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_29
); /* next on <var_29:Iterator[nullable Object]>*/
646 BREAK_label31
: (void)0;
648 ((void(*)(val
* self
))((((long)var_29
&3)?class_info
[((long)var_29
&3)]:var_29
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_29
); /* finish on <var_29:Iterator[nullable Object]>*/
651 ((void(*)(val
* self
))((((long)var_17
&3)?class_info
[((long)var_17
&3)]:var_17
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_17
); /* next on <var_17:Iterator[nullable Object]>*/
654 BREAK_label
: (void)0;
656 ((void(*)(val
* self
))((((long)var_17
&3)?class_info
[((long)var_17
&3)]:var_17
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_17
); /* finish on <var_17:Iterator[nullable Object]>*/
659 { /* Inline poset#POSetElement#tos (var_te) on <var_te:POSetElement[nullable Object]> */
660 var45
= var_te
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <var_te:POSetElement[nullable Object]> */
661 if (unlikely(var45
== NULL
)) {
662 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
663 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 406);
671 var46
= core___core__HashSet___core__abstract_collection__Collection__has(var43
, var_f
);
677 var_to_remove
= ((val
*)NULL
);
679 { /* Inline poset#POSetElement#dfroms (var_te) on <var_te:POSetElement[nullable Object]> */
680 var49
= var_te
->attrs
[COLOR_poset__POSetElement___dfroms
].val
; /* _dfroms on <var_te:POSetElement[nullable Object]> */
681 if (unlikely(var49
== NULL
)) {
682 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dfroms");
683 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 409);
692 var51
= core___core__HashSet___core__abstract_collection__Collection__iterator(var_50
);
697 var53
= ((short int(*)(val
* self
))((((long)var_52
&3)?class_info
[((long)var_52
&3)]:var_52
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_52
); /* is_ok on <var_52:Iterator[nullable Object]>*/
704 var55
= ((val
*(*)(val
* self
))((((long)var_52
&3)?class_info
[((long)var_52
&3)]:var_52
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_52
); /* item on <var_52:Iterator[nullable Object]>*/
708 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
709 var58
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
710 if (unlikely(var58
== NULL
)) {
711 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
712 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
720 var59
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var56
, var_x
);
724 { /* Inline poset#POSetElement#tos (var_xe) on <var_xe:POSetElement[nullable Object]> */
725 var62
= var_xe
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <var_xe:POSetElement[nullable Object]> */
726 if (unlikely(var62
== NULL
)) {
727 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
728 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 406);
736 var63
= core___core__HashSet___core__abstract_collection__Collection__has(var60
, var_f
);
739 if (var_to_remove
== NULL
) {
740 var64
= 1; /* is null */
742 var64
= 0; /* arg is null but recv is not */
745 var65
= core___core__Array___core__kernel__Object___61d_61d(var_to_remove
, ((val
*)NULL
));
749 var66
= NEW_core__Array(self
->type
->resolution_table
->types
[COLOR_core__Array__poset__POSet___35dE
]);
751 core___core__Array___core__kernel__Object__init(var66
); /* Direct call array#Array#init on <var66:Array[nullable Object]>*/
753 var_to_remove
= var66
;
757 core___core__Array___core__abstract_collection__SimpleCollection__add(var_to_remove
, var_x
); /* Direct call array#Array#add on <var_to_remove:nullable Array[nullable Object](Array[nullable Object])>*/
760 { /* Inline poset#POSetElement#dtos (var_xe) on <var_xe:POSetElement[nullable Object]> */
761 var69
= var_xe
->attrs
[COLOR_poset__POSetElement___dtos
].val
; /* _dtos on <var_xe:POSetElement[nullable Object]> */
762 if (unlikely(var69
== NULL
)) {
763 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dtos");
764 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 408);
772 core___core__HashSet___core__abstract_collection__RemovableCollection__remove(var67
, var_t
); /* Direct call hash_collection#HashSet#remove on <var67:HashSet[nullable Object]>*/
777 ((void(*)(val
* self
))((((long)var_52
&3)?class_info
[((long)var_52
&3)]:var_52
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_52
); /* next on <var_52:Iterator[nullable Object]>*/
780 BREAK_label54
: (void)0;
782 ((void(*)(val
* self
))((((long)var_52
&3)?class_info
[((long)var_52
&3)]:var_52
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_52
); /* finish on <var_52:Iterator[nullable Object]>*/
784 if (var_to_remove
== NULL
) {
785 var70
= 0; /* is null */
787 var70
= 1; /* arg is null and recv is not */
790 { /* Inline kernel#Object#!= (var_to_remove,((val*)NULL)) on <var_to_remove:nullable Array[nullable Object]> */
791 var_other
= ((val
*)NULL
);
793 var73
= ((short int(*)(val
* self
, val
* p0
))(var_to_remove
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_to_remove
, var_other
); /* == on <var_to_remove:nullable Array[nullable Object](Array[nullable Object])>*/
803 var_75
= var_to_remove
;
805 var76
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_75
);
810 var78
= ((short int(*)(val
* self
))((((long)var_77
&3)?class_info
[((long)var_77
&3)]:var_77
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_77
); /* is_ok on <var_77:IndexedIterator[nullable Object]>*/
817 var80
= ((val
*(*)(val
* self
))((((long)var_77
&3)?class_info
[((long)var_77
&3)]:var_77
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_77
); /* item on <var_77:IndexedIterator[nullable Object]>*/
821 { /* Inline poset#POSetElement#dfroms (var_te) on <var_te:POSetElement[nullable Object]> */
822 var84
= var_te
->attrs
[COLOR_poset__POSetElement___dfroms
].val
; /* _dfroms on <var_te:POSetElement[nullable Object]> */
823 if (unlikely(var84
== NULL
)) {
824 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dfroms");
825 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 409);
833 core___core__HashSet___core__abstract_collection__RemovableCollection__remove(var82
, var_x81
); /* Direct call hash_collection#HashSet#remove on <var82:HashSet[nullable Object]>*/
836 ((void(*)(val
* self
))((((long)var_77
&3)?class_info
[((long)var_77
&3)]:var_77
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_77
); /* next on <var_77:IndexedIterator[nullable Object]>*/
839 BREAK_label79
: (void)0;
841 ((void(*)(val
* self
))((((long)var_77
&3)?class_info
[((long)var_77
&3)]:var_77
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_77
); /* finish on <var_77:IndexedIterator[nullable Object]>*/
844 core___core__AbstractArray___core__abstract_collection__RemovableCollection__clear(var_to_remove
); /* Direct call array#AbstractArray#clear on <var_to_remove:nullable Array[nullable Object](Array[nullable Object])>*/
849 { /* Inline poset#POSetElement#dtos (var_fe) on <var_fe:POSetElement[nullable Object]> */
850 var87
= var_fe
->attrs
[COLOR_poset__POSetElement___dtos
].val
; /* _dtos on <var_fe:POSetElement[nullable Object]> */
851 if (unlikely(var87
== NULL
)) {
852 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dtos");
853 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 408);
862 var89
= core___core__HashSet___core__abstract_collection__Collection__iterator(var_88
);
867 var91
= ((short int(*)(val
* self
))((((long)var_90
&3)?class_info
[((long)var_90
&3)]:var_90
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_90
); /* is_ok on <var_90:Iterator[nullable Object]>*/
874 var93
= ((val
*(*)(val
* self
))((((long)var_90
&3)?class_info
[((long)var_90
&3)]:var_90
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_90
); /* item on <var_90:Iterator[nullable Object]>*/
878 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
879 var97
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
880 if (unlikely(var97
== NULL
)) {
881 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
882 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
890 var98
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var95
, var_x94
);
894 { /* Inline poset#POSetElement#froms (var_xe99) on <var_xe99:POSetElement[nullable Object]> */
895 var102
= var_xe99
->attrs
[COLOR_poset__POSetElement___froms
].val
; /* _froms on <var_xe99:POSetElement[nullable Object]> */
896 if (unlikely(var102
== NULL
)) {
897 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _froms");
898 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 407);
902 RET_LABEL101
:(void)0;
906 var103
= core___core__HashSet___core__abstract_collection__Collection__has(var100
, var_t
);
910 { /* Inline poset#POSetElement#dfroms (var_xe99) on <var_xe99:POSetElement[nullable Object]> */
911 var106
= var_xe99
->attrs
[COLOR_poset__POSetElement___dfroms
].val
; /* _dfroms on <var_xe99:POSetElement[nullable Object]> */
912 if (unlikely(var106
== NULL
)) {
913 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dfroms");
914 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 409);
918 RET_LABEL105
:(void)0;
922 core___core__HashSet___core__abstract_collection__RemovableCollection__remove(var104
, var_f
); /* Direct call hash_collection#HashSet#remove on <var104:HashSet[nullable Object]>*/
924 if (var_to_remove
== NULL
) {
925 var107
= 1; /* is null */
927 var107
= 0; /* arg is null but recv is not */
930 var108
= core___core__Array___core__kernel__Object___61d_61d(var_to_remove
, ((val
*)NULL
));
934 var109
= NEW_core__Array(self
->type
->resolution_table
->types
[COLOR_core__Array__poset__POSet___35dE
]);
936 core___core__Array___core__kernel__Object__init(var109
); /* Direct call array#Array#init on <var109:Array[nullable Object]>*/
938 var_to_remove
= var109
;
942 core___core__Array___core__abstract_collection__SimpleCollection__add(var_to_remove
, var_x94
); /* Direct call array#Array#add on <var_to_remove:nullable Array[nullable Object](Array[nullable Object])>*/
947 ((void(*)(val
* self
))((((long)var_90
&3)?class_info
[((long)var_90
&3)]:var_90
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_90
); /* next on <var_90:Iterator[nullable Object]>*/
950 BREAK_label92
: (void)0;
952 ((void(*)(val
* self
))((((long)var_90
&3)?class_info
[((long)var_90
&3)]:var_90
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_90
); /* finish on <var_90:Iterator[nullable Object]>*/
954 if (var_to_remove
== NULL
) {
955 var110
= 0; /* is null */
957 var110
= 1; /* arg is null and recv is not */
960 { /* Inline kernel#Object#!= (var_to_remove,((val*)NULL)) on <var_to_remove:nullable Array[nullable Object]> */
961 var_other
= ((val
*)NULL
);
963 var113
= ((short int(*)(val
* self
, val
* p0
))(var_to_remove
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_to_remove
, var_other
); /* == on <var_to_remove:nullable Array[nullable Object](Array[nullable Object])>*/
968 RET_LABEL112
:(void)0;
973 var_115
= var_to_remove
;
975 var116
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_115
);
980 var118
= ((short int(*)(val
* self
))((((long)var_117
&3)?class_info
[((long)var_117
&3)]:var_117
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_117
); /* is_ok on <var_117:IndexedIterator[nullable Object]>*/
987 var120
= ((val
*(*)(val
* self
))((((long)var_117
&3)?class_info
[((long)var_117
&3)]:var_117
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_117
); /* item on <var_117:IndexedIterator[nullable Object]>*/
991 { /* Inline poset#POSetElement#dtos (var_fe) on <var_fe:POSetElement[nullable Object]> */
992 var124
= var_fe
->attrs
[COLOR_poset__POSetElement___dtos
].val
; /* _dtos on <var_fe:POSetElement[nullable Object]> */
993 if (unlikely(var124
== NULL
)) {
994 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dtos");
995 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 408);
999 RET_LABEL123
:(void)0;
1003 core___core__HashSet___core__abstract_collection__RemovableCollection__remove(var122
, var_x121
); /* Direct call hash_collection#HashSet#remove on <var122:HashSet[nullable Object]>*/
1006 ((void(*)(val
* self
))((((long)var_117
&3)?class_info
[((long)var_117
&3)]:var_117
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_117
); /* next on <var_117:IndexedIterator[nullable Object]>*/
1009 BREAK_label119
: (void)0;
1011 ((void(*)(val
* self
))((((long)var_117
&3)?class_info
[((long)var_117
&3)]:var_117
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_117
); /* finish on <var_117:IndexedIterator[nullable Object]>*/
1016 { /* Inline poset#POSetElement#dtos (var_fe) on <var_fe:POSetElement[nullable Object]> */
1017 var127
= var_fe
->attrs
[COLOR_poset__POSetElement___dtos
].val
; /* _dtos on <var_fe:POSetElement[nullable Object]> */
1018 if (unlikely(var127
== NULL
)) {
1019 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dtos");
1020 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 408);
1024 RET_LABEL126
:(void)0;
1028 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var125
, var_t
); /* Direct call hash_collection#HashSet#add on <var125:HashSet[nullable Object]>*/
1031 { /* Inline poset#POSetElement#dfroms (var_te) on <var_te:POSetElement[nullable Object]> */
1032 var130
= var_te
->attrs
[COLOR_poset__POSetElement___dfroms
].val
; /* _dfroms on <var_te:POSetElement[nullable Object]> */
1033 if (unlikely(var130
== NULL
)) {
1034 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dfroms");
1035 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 409);
1039 RET_LABEL129
:(void)0;
1043 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var128
, var_f
); /* Direct call hash_collection#HashSet#add on <var128:HashSet[nullable Object]>*/
1047 /* method poset#POSet#has_edge for (self: POSet[nullable Object], nullable Object, nullable Object): Bool */
1048 short int poset___poset__POSet___has_edge(val
* self
, val
* p0
, val
* p1
) {
1049 short int var
/* : Bool */;
1050 short int var1
/* : Bool */;
1053 const struct type
* type_struct
;
1054 short int is_nullable
;
1055 const char* var_class_name
;
1056 short int var2
/* : Bool */;
1059 const struct type
* type_struct5
;
1060 short int is_nullable6
;
1061 const char* var_class_name7
;
1062 val
* var_f
/* var f: nullable Object */;
1063 val
* var_t
/* var t: nullable Object */;
1064 val
* var8
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
1065 val
* var10
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
1066 val
* var11
/* : RemovableCollection[nullable Object] */;
1067 short int var12
/* : Bool */;
1068 short int var13
/* : Bool */;
1069 val
* var14
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
1070 val
* var16
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
1071 val
* var17
/* : nullable Object */;
1072 val
* var_fe
/* var fe: POSetElement[nullable Object] */;
1073 val
* var18
/* : HashSet[nullable Object] */;
1074 val
* var20
/* : HashSet[nullable Object] */;
1075 short int var21
/* : Bool */;
1076 /* Covariant cast for argument 0 (f) <p0:nullable Object> isa E */
1077 /* <p0:nullable Object> isa E */
1078 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet___35dE
];
1079 cltype
= type_struct
->color
;
1080 idtype
= type_struct
->id
;
1081 is_nullable
= type_struct
->is_nullable
;
1085 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
1088 var1
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
1091 if (unlikely(!var1
)) {
1092 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
1093 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
1094 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 208);
1097 /* Covariant cast for argument 1 (t) <p1:nullable Object> isa E */
1098 /* <p1:nullable Object> isa E */
1099 type_struct5
= self
->type
->resolution_table
->types
[COLOR_poset__POSet___35dE
];
1100 cltype3
= type_struct5
->color
;
1101 idtype4
= type_struct5
->id
;
1102 is_nullable6
= type_struct5
->is_nullable
;
1104 var2
= is_nullable6
;
1106 if(cltype3
>= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->table_size
) {
1109 var2
= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->type_table
[cltype3
] == idtype4
;
1112 if (unlikely(!var2
)) {
1113 var_class_name7
= p1
== NULL ?
"null" : (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->name
;
1114 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name7
);
1115 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 208);
1121 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
1122 var10
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
1123 if (unlikely(var10
== NULL
)) {
1124 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
1125 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
1133 var11
= core___core__HashMap___core__abstract_collection__MapRead__keys(var8
);
1136 var12
= ((short int(*)(val
* self
, val
* p0
))((((long)var11
&3)?class_info
[((long)var11
&3)]:var11
->class)->vft
[COLOR_core__abstract_collection__Collection__has
]))(var11
, var_f
); /* has on <var11:RemovableCollection[nullable Object]>*/
1145 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
1146 var16
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
1147 if (unlikely(var16
== NULL
)) {
1148 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
1149 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
1153 RET_LABEL15
:(void)0;
1157 var17
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var14
, var_f
);
1161 { /* Inline poset#POSetElement#tos (var_fe) on <var_fe:POSetElement[nullable Object]> */
1162 var20
= var_fe
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <var_fe:POSetElement[nullable Object]> */
1163 if (unlikely(var20
== NULL
)) {
1164 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
1165 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 406);
1169 RET_LABEL19
:(void)0;
1173 var21
= core___core__HashSet___core__abstract_collection__Collection__has(var18
, var_t
);
1180 /* method poset#POSet#compare for (self: POSet[nullable Object], nullable Object, nullable Object): Int */
1181 long poset___poset__POSet___core__sorter__Comparator__compare(val
* self
, val
* p0
, val
* p1
) {
1182 long var
/* : Int */;
1183 short int var1
/* : Bool */;
1186 const struct type
* type_struct
;
1187 short int is_nullable
;
1188 const char* var_class_name
;
1189 short int var2
/* : Bool */;
1192 const struct type
* type_struct5
;
1193 short int is_nullable6
;
1194 const char* var_class_name7
;
1195 val
* var_a
/* var a: nullable Object */;
1196 val
* var_b
/* var b: nullable Object */;
1197 val
* var8
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
1198 val
* var10
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
1199 val
* var11
/* : nullable Object */;
1200 val
* var_ae
/* var ae: POSetElement[nullable Object] */;
1201 val
* var12
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
1202 val
* var14
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
1203 val
* var15
/* : nullable Object */;
1204 val
* var_be
/* var be: POSetElement[nullable Object] */;
1205 val
* var16
/* : HashSet[nullable Object] */;
1206 val
* var18
/* : HashSet[nullable Object] */;
1207 long var19
/* : Int */;
1208 val
* var20
/* : HashSet[nullable Object] */;
1209 val
* var22
/* : HashSet[nullable Object] */;
1210 long var23
/* : Int */;
1211 long var24
/* : Int */;
1212 long var_res
/* var res: Int */;
1213 short int var25
/* : Bool */;
1214 short int var27
/* : Bool */;
1215 short int var28
/* : Bool */;
1216 val
* var29
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
1217 val
* var31
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
1218 val
* var32
/* : nullable Object */;
1219 long var33
/* : Int */;
1220 long var35
/* : Int */;
1221 val
* var36
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
1222 val
* var38
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
1223 val
* var39
/* : nullable Object */;
1224 long var40
/* : Int */;
1225 long var42
/* : Int */;
1226 long var43
/* : Int */;
1227 /* Covariant cast for argument 0 (a) <p0:nullable Object> isa E */
1228 /* <p0:nullable Object> isa E */
1229 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet___35dE
];
1230 cltype
= type_struct
->color
;
1231 idtype
= type_struct
->id
;
1232 is_nullable
= type_struct
->is_nullable
;
1236 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
1239 var1
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
1242 if (unlikely(!var1
)) {
1243 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
1244 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
1245 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 284);
1248 /* Covariant cast for argument 1 (b) <p1:nullable Object> isa E */
1249 /* <p1:nullable Object> isa E */
1250 type_struct5
= self
->type
->resolution_table
->types
[COLOR_poset__POSet___35dE
];
1251 cltype3
= type_struct5
->color
;
1252 idtype4
= type_struct5
->id
;
1253 is_nullable6
= type_struct5
->is_nullable
;
1255 var2
= is_nullable6
;
1257 if(cltype3
>= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->table_size
) {
1260 var2
= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->type_table
[cltype3
] == idtype4
;
1263 if (unlikely(!var2
)) {
1264 var_class_name7
= p1
== NULL ?
"null" : (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->name
;
1265 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name7
);
1266 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 284);
1272 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
1273 var10
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
1274 if (unlikely(var10
== NULL
)) {
1275 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
1276 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
1284 var11
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var8
, var_a
);
1288 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
1289 var14
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
1290 if (unlikely(var14
== NULL
)) {
1291 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
1292 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
1296 RET_LABEL13
:(void)0;
1300 var15
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var12
, var_b
);
1304 { /* Inline poset#POSetElement#tos (var_ae) on <var_ae:POSetElement[nullable Object]> */
1305 var18
= var_ae
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <var_ae:POSetElement[nullable Object]> */
1306 if (unlikely(var18
== NULL
)) {
1307 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
1308 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 406);
1312 RET_LABEL17
:(void)0;
1316 var19
= core___core__HashSet___core__abstract_collection__Collection__length(var16
);
1319 { /* Inline poset#POSetElement#tos (var_be) on <var_be:POSetElement[nullable Object]> */
1320 var22
= var_be
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <var_be:POSetElement[nullable Object]> */
1321 if (unlikely(var22
== NULL
)) {
1322 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
1323 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 406);
1327 RET_LABEL21
:(void)0;
1331 var23
= core___core__HashSet___core__abstract_collection__Collection__length(var20
);
1334 var24
= core___core__Int___Comparable___60d_61d_62d(var19
, var23
);
1338 { /* Inline kernel#Int#!= (var_res,0l) on <var_res:Int> */
1339 var27
= var_res
== 0l;
1343 RET_LABEL26
:(void)0;
1352 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
1353 var31
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
1354 if (unlikely(var31
== NULL
)) {
1355 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
1356 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
1360 RET_LABEL30
:(void)0;
1364 var32
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var29
, var_a
);
1367 { /* Inline poset#POSetElement#count (var32) on <var32:nullable Object(POSetElement[nullable Object])> */
1368 var35
= var32
->attrs
[COLOR_poset__POSetElement___count
].l
; /* _count on <var32:nullable Object(POSetElement[nullable Object])> */
1370 RET_LABEL34
:(void)0;
1374 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
1375 var38
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
1376 if (unlikely(var38
== NULL
)) {
1377 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
1378 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
1382 RET_LABEL37
:(void)0;
1386 var39
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var36
, var_b
);
1389 { /* Inline poset#POSetElement#count (var39) on <var39:nullable Object(POSetElement[nullable Object])> */
1390 var42
= var39
->attrs
[COLOR_poset__POSetElement___count
].l
; /* _count on <var39:nullable Object(POSetElement[nullable Object])> */
1392 RET_LABEL41
:(void)0;
1396 var43
= core___core__Int___Comparable___60d_61d_62d(var33
, var40
);
1403 /* method poset#POSet#linearize for (self: POSet[nullable Object], Collection[nullable Object]): Array[nullable Object] */
1404 val
* poset___poset__POSet___linearize(val
* self
, val
* p0
) {
1405 val
* var
/* : Array[nullable Object] */;
1406 short int var1
/* : Bool */;
1409 const struct type
* type_struct
;
1410 const char* var_class_name
;
1411 val
* var_elements
/* var elements: Collection[nullable Object] */;
1412 val
* var2
/* : Array[nullable Object] */;
1413 val
* var_lin
/* var lin: Array[nullable Object] */;
1414 /* Covariant cast for argument 0 (elements) <p0:Collection[nullable Object]> isa Collection[E] */
1415 /* <p0:Collection[nullable Object]> isa Collection[E] */
1416 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__Collection__poset__POSet___35dE
];
1417 cltype
= type_struct
->color
;
1418 idtype
= type_struct
->id
;
1419 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
1422 var1
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
1424 if (unlikely(!var1
)) {
1425 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
1426 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[E]", var_class_name
);
1427 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 370);
1432 var2
= ((val
*(*)(val
* self
))((((long)var_elements
&3)?class_info
[((long)var_elements
&3)]:var_elements
->class)->vft
[COLOR_core__array__Collection__to_a
]))(var_elements
); /* to_a on <var_elements:Collection[nullable Object]>*/
1436 core___core__Comparator___sort(self
, var_lin
); /* Direct call sorter#Comparator#sort on <self:POSet[nullable Object]>*/
1443 /* method poset#POSetElement#poset for (self: POSetElement[nullable Object]): POSet[nullable Object] */
1444 val
* poset___poset__POSetElement___poset(val
* self
) {
1445 val
* var
/* : POSet[nullable Object] */;
1446 val
* var1
/* : POSet[nullable Object] */;
1447 var1
= self
->attrs
[COLOR_poset__POSetElement___poset
].val
; /* _poset on <self:POSetElement[nullable Object]> */
1448 if (unlikely(var1
== NULL
)) {
1449 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _poset");
1450 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 400);
1457 /* method poset#POSetElement#poset= for (self: POSetElement[nullable Object], POSet[nullable Object]) */
1458 void poset___poset__POSetElement___poset_61d(val
* self
, val
* p0
) {
1459 short int var
/* : Bool */;
1462 const struct type
* type_struct
;
1463 const char* var_class_name
;
1464 /* Covariant cast for argument 0 (poset) <p0:POSet[nullable Object]> isa POSet[E] */
1465 /* <p0:POSet[nullable Object]> isa POSet[E] */
1466 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet__poset__POSetElement___35dE
];
1467 cltype
= type_struct
->color
;
1468 idtype
= type_struct
->id
;
1469 if(cltype
>= p0
->type
->table_size
) {
1472 var
= p0
->type
->type_table
[cltype
] == idtype
;
1474 if (unlikely(!var
)) {
1475 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1476 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet[E]", var_class_name
);
1477 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 400);
1480 self
->attrs
[COLOR_poset__POSetElement___poset
].val
= p0
; /* _poset on <self:POSetElement[nullable Object]> */
1483 /* method poset#POSetElement#element for (self: POSetElement[nullable Object]): nullable Object */
1484 val
* poset___poset__POSetElement___element(val
* self
) {
1485 val
* var
/* : nullable Object */;
1486 val
* var1
/* : nullable Object */;
1487 var1
= self
->attrs
[COLOR_poset__POSetElement___element
].val
; /* _element on <self:POSetElement[nullable Object]> */
1492 /* method poset#POSetElement#element= for (self: POSetElement[nullable Object], nullable Object) */
1493 void poset___poset__POSetElement___element_61d(val
* self
, val
* p0
) {
1494 short int var
/* : Bool */;
1497 const struct type
* type_struct
;
1498 short int is_nullable
;
1499 const char* var_class_name
;
1500 /* Covariant cast for argument 0 (element) <p0:nullable Object> isa E */
1501 /* <p0:nullable Object> isa E */
1502 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSetElement___35dE
];
1503 cltype
= type_struct
->color
;
1504 idtype
= type_struct
->id
;
1505 is_nullable
= type_struct
->is_nullable
;
1509 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
1512 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
1515 if (unlikely(!var
)) {
1516 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
1517 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
1518 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 403);
1521 self
->attrs
[COLOR_poset__POSetElement___element
].val
= p0
; /* _element on <self:POSetElement[nullable Object]> */
1524 /* method poset#POSetElement#tos for (self: POSetElement[nullable Object]): HashSet[nullable Object] */
1525 val
* poset___poset__POSetElement___tos(val
* self
) {
1526 val
* var
/* : HashSet[nullable Object] */;
1527 val
* var1
/* : HashSet[nullable Object] */;
1528 var1
= self
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <self:POSetElement[nullable Object]> */
1529 if (unlikely(var1
== NULL
)) {
1530 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
1531 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 406);
1538 /* method poset#POSetElement#froms for (self: POSetElement[nullable Object]): HashSet[nullable Object] */
1539 val
* poset___poset__POSetElement___froms(val
* self
) {
1540 val
* var
/* : HashSet[nullable Object] */;
1541 val
* var1
/* : HashSet[nullable Object] */;
1542 var1
= self
->attrs
[COLOR_poset__POSetElement___froms
].val
; /* _froms on <self:POSetElement[nullable Object]> */
1543 if (unlikely(var1
== NULL
)) {
1544 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _froms");
1545 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 407);
1552 /* method poset#POSetElement#dtos for (self: POSetElement[nullable Object]): HashSet[nullable Object] */
1553 val
* poset___poset__POSetElement___dtos(val
* self
) {
1554 val
* var
/* : HashSet[nullable Object] */;
1555 val
* var1
/* : HashSet[nullable Object] */;
1556 var1
= self
->attrs
[COLOR_poset__POSetElement___dtos
].val
; /* _dtos on <self:POSetElement[nullable Object]> */
1557 if (unlikely(var1
== NULL
)) {
1558 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dtos");
1559 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 408);
1566 /* method poset#POSetElement#dfroms for (self: POSetElement[nullable Object]): HashSet[nullable Object] */
1567 val
* poset___poset__POSetElement___dfroms(val
* self
) {
1568 val
* var
/* : HashSet[nullable Object] */;
1569 val
* var1
/* : HashSet[nullable Object] */;
1570 var1
= self
->attrs
[COLOR_poset__POSetElement___dfroms
].val
; /* _dfroms on <self:POSetElement[nullable Object]> */
1571 if (unlikely(var1
== NULL
)) {
1572 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dfroms");
1573 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 409);
1580 /* method poset#POSetElement#count for (self: POSetElement[nullable Object]): Int */
1581 long poset___poset__POSetElement___count(val
* self
) {
1582 long var
/* : Int */;
1583 long var1
/* : Int */;
1584 var1
= self
->attrs
[COLOR_poset__POSetElement___count
].l
; /* _count on <self:POSetElement[nullable Object]> */
1589 /* method poset#POSetElement#count= for (self: POSetElement[nullable Object], Int) */
1590 void poset___poset__POSetElement___count_61d(val
* self
, long p0
) {
1591 self
->attrs
[COLOR_poset__POSetElement___count
].l
= p0
; /* _count on <self:POSetElement[nullable Object]> */
1594 /* method poset#POSetElement#greaters for (self: POSetElement[nullable Object]): Collection[nullable Object] */
1595 val
* poset___poset__POSetElement___greaters(val
* self
) {
1596 val
* var
/* : Collection[nullable Object] */;
1597 val
* var1
/* : HashSet[nullable Object] */;
1598 val
* var3
/* : HashSet[nullable Object] */;
1600 { /* Inline poset#POSetElement#tos (self) on <self:POSetElement[nullable Object]> */
1601 var3
= self
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <self:POSetElement[nullable Object]> */
1602 if (unlikely(var3
== NULL
)) {
1603 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
1604 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 406);
1616 /* method poset#POSetElement#direct_greaters for (self: POSetElement[nullable Object]): Collection[nullable Object] */
1617 val
* poset___poset__POSetElement___direct_greaters(val
* self
) {
1618 val
* var
/* : Collection[nullable Object] */;
1619 val
* var1
/* : HashSet[nullable Object] */;
1620 val
* var3
/* : HashSet[nullable Object] */;
1622 { /* Inline poset#POSetElement#dtos (self) on <self:POSetElement[nullable Object]> */
1623 var3
= self
->attrs
[COLOR_poset__POSetElement___dtos
].val
; /* _dtos on <self:POSetElement[nullable Object]> */
1624 if (unlikely(var3
== NULL
)) {
1625 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dtos");
1626 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 408);
1638 /* method poset#POSetElement#smallers for (self: POSetElement[nullable Object]): Collection[nullable Object] */
1639 val
* poset___poset__POSetElement___smallers(val
* self
) {
1640 val
* var
/* : Collection[nullable Object] */;
1641 val
* var1
/* : HashSet[nullable Object] */;
1642 val
* var3
/* : HashSet[nullable Object] */;
1644 { /* Inline poset#POSetElement#froms (self) on <self:POSetElement[nullable Object]> */
1645 var3
= self
->attrs
[COLOR_poset__POSetElement___froms
].val
; /* _froms on <self:POSetElement[nullable Object]> */
1646 if (unlikely(var3
== NULL
)) {
1647 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _froms");
1648 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 407);
1660 /* method poset#POSetElement#direct_smallers for (self: POSetElement[nullable Object]): Collection[nullable Object] */
1661 val
* poset___poset__POSetElement___direct_smallers(val
* self
) {
1662 val
* var
/* : Collection[nullable Object] */;
1663 val
* var1
/* : HashSet[nullable Object] */;
1664 val
* var3
/* : HashSet[nullable Object] */;
1666 { /* Inline poset#POSetElement#dfroms (self) on <self:POSetElement[nullable Object]> */
1667 var3
= self
->attrs
[COLOR_poset__POSetElement___dfroms
].val
; /* _dfroms on <self:POSetElement[nullable Object]> */
1668 if (unlikely(var3
== NULL
)) {
1669 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dfroms");
1670 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 409);
1682 /* method poset#POSetElement#<= for (self: POSetElement[nullable Object], nullable Object): Bool */
1683 short int poset___poset__POSetElement____60d_61d(val
* self
, val
* p0
) {
1684 short int var
/* : Bool */;
1685 short int var1
/* : Bool */;
1688 const struct type
* type_struct
;
1689 short int is_nullable
;
1690 const char* var_class_name
;
1691 val
* var_t
/* var t: nullable Object */;
1692 val
* var2
/* : HashSet[nullable Object] */;
1693 val
* var4
/* : HashSet[nullable Object] */;
1694 short int var5
/* : Bool */;
1695 /* Covariant cast for argument 0 (t) <p0:nullable Object> isa E */
1696 /* <p0:nullable Object> isa E */
1697 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSetElement___35dE
];
1698 cltype
= type_struct
->color
;
1699 idtype
= type_struct
->id
;
1700 is_nullable
= type_struct
->is_nullable
;
1704 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
1707 var1
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
1710 if (unlikely(!var1
)) {
1711 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
1712 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
1713 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 465);
1718 { /* Inline poset#POSetElement#tos (self) on <self:POSetElement[nullable Object]> */
1719 var4
= self
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <self:POSetElement[nullable Object]> */
1720 if (unlikely(var4
== NULL
)) {
1721 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
1722 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 406);
1730 var5
= core___core__HashSet___core__abstract_collection__Collection__has(var2
, var_t
);
1737 /* method poset#POSetElement#< for (self: POSetElement[nullable Object], nullable Object): Bool */
1738 short int poset___poset__POSetElement____60d(val
* self
, val
* p0
) {
1739 short int var
/* : Bool */;
1740 short int var1
/* : Bool */;
1743 const struct type
* type_struct
;
1744 short int is_nullable
;
1745 const char* var_class_name
;
1746 val
* var_t
/* var t: nullable Object */;
1747 short int var2
/* : Bool */;
1748 val
* var3
/* : nullable Object */;
1749 val
* var5
/* : nullable Object */;
1750 short int var6
/* : Bool */;
1751 short int var7
/* : Bool */;
1752 short int var_
/* var : Bool */;
1753 val
* var8
/* : HashSet[nullable Object] */;
1754 val
* var10
/* : HashSet[nullable Object] */;
1755 short int var11
/* : Bool */;
1756 /* Covariant cast for argument 0 (t) <p0:nullable Object> isa E */
1757 /* <p0:nullable Object> isa E */
1758 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSetElement___35dE
];
1759 cltype
= type_struct
->color
;
1760 idtype
= type_struct
->id
;
1761 is_nullable
= type_struct
->is_nullable
;
1765 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
1768 var1
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
1771 if (unlikely(!var1
)) {
1772 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
1773 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
1774 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 480);
1779 { /* Inline poset#POSetElement#element (self) on <self:POSetElement[nullable Object]> */
1780 var5
= self
->attrs
[COLOR_poset__POSetElement___element
].val
; /* _element on <self:POSetElement[nullable Object]> */
1785 if (var_t
== NULL
) {
1786 var6
= (var3
!= NULL
);
1788 var7
= ((short int(*)(val
* self
, val
* p0
))((((long)var_t
&3)?class_info
[((long)var_t
&3)]:var_t
->class)->vft
[COLOR_core__kernel__Object___33d_61d
]))(var_t
, var3
); /* != on <var_t:nullable Object>*/
1794 { /* Inline poset#POSetElement#tos (self) on <self:POSetElement[nullable Object]> */
1795 var10
= self
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <self:POSetElement[nullable Object]> */
1796 if (unlikely(var10
== NULL
)) {
1797 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
1798 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 406);
1806 var11
= core___core__HashSet___core__abstract_collection__Collection__has(var8
, var_t
);
1817 /* method poset#POSetElement#init for (self: POSetElement[nullable Object]) */
1818 void poset___poset__POSetElement___core__kernel__Object__init(val
* self
) {
1820 ((void(*)(val
* self
))(self
->class->vft
[COLOR_poset___poset__POSetElement___core__kernel__Object__init
]))(self
); /* init on <self:POSetElement[nullable Object]>*/