1 #include "poset.sep.0.h"
2 /* method poset#POSet#iterator for (self: POSet[nullable Object]): Iterator[nullable Object] */
3 val
* poset___poset__POSet___standard__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
= standard___standard__HashMap___standard__abstract_collection__MapRead__keys(var1
);
25 var5
= ((val
*(*)(val
* self
))((((long)var4
&3)?class_info
[((long)var4
&3)]:var4
->class)->vft
[COLOR_standard__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___standard__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
= standard___standard__HashMap___standard__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_standard__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
= standard___standard__HashMap___standard__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_standard__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
= standard___standard__HashMap___standard__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
= standard___standard__HashMap___standard__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_standard__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 standard___standard__HashSet___standard__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 standard___standard__HashSet___standard__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 standard___standard__HashMap___standard__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
= standard___standard__HashMap___standard__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_standard__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
= standard___standard__HashMap___standard__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
* var31
/* : nullable Object */;
369 val
* var_tt
/* var tt: nullable Object */;
370 val
* var32
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
371 val
* var34
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
372 val
* var35
/* : nullable Object */;
373 val
* var_tte
/* var tte: POSetElement[nullable Object] */;
374 val
* var36
/* : HashSet[nullable Object] */;
375 val
* var38
/* : HashSet[nullable Object] */;
376 val
* var39
/* : HashSet[nullable Object] */;
377 val
* var41
/* : 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
* var54
/* : nullable Object */;
389 val
* var_x
/* var x: nullable Object */;
390 val
* var55
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
391 val
* var57
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
392 val
* var58
/* : nullable Object */;
393 val
* var_xe
/* var xe: POSetElement[nullable Object] */;
394 val
* var59
/* : HashSet[nullable Object] */;
395 val
* var61
/* : HashSet[nullable Object] */;
396 short int var62
/* : Bool */;
397 short int var63
/* : Bool */;
398 short int var64
/* : Bool */;
399 val
* var65
/* : Array[nullable Object] */;
400 val
* var66
/* : HashSet[nullable Object] */;
401 val
* var68
/* : 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
/* : ArrayIterator[nullable Object] */;
409 val
* var_77
/* var : ArrayIterator[nullable Object] */;
410 short int var78
/* : Bool */;
411 val
* var79
/* : nullable Object */;
412 val
* var_x80
/* var x: nullable Object */;
413 val
* var81
/* : HashSet[nullable Object] */;
414 val
* var83
/* : 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
* var92
/* : nullable Object */;
422 val
* var_x93
/* var x: nullable Object */;
423 val
* var94
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
424 val
* var96
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
425 val
* var97
/* : nullable Object */;
426 val
* var_xe98
/* var xe: POSetElement[nullable Object] */;
427 val
* var99
/* : HashSet[nullable Object] */;
428 val
* var101
/* : HashSet[nullable Object] */;
429 short int var102
/* : Bool */;
430 val
* var103
/* : HashSet[nullable Object] */;
431 val
* var105
/* : HashSet[nullable Object] */;
432 short int var106
/* : Bool */;
433 short int var107
/* : Bool */;
434 val
* var108
/* : 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
/* : ArrayIterator[nullable Object] */;
441 val
* var_117
/* var : ArrayIterator[nullable Object] */;
442 short int var118
/* : Bool */;
443 val
* var119
/* : nullable Object */;
444 val
* var_x120
/* var x: nullable Object */;
445 val
* var121
/* : HashSet[nullable Object] */;
446 val
* var123
/* : 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
= standard___standard__HashSet___standard__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
= standard___standard__HashSet___standard__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_standard__abstract_collection__Iterator__is_ok
]))(var_17
); /* is_ok on <var_17:Iterator[nullable Object]>*/
545 var19
= ((val
*(*)(val
* self
))((((long)var_17
&3)?class_info
[((long)var_17
&3)]:var_17
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_17
); /* item on <var_17:Iterator[nullable Object]>*/
549 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
550 var22
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
551 if (unlikely(var22
== NULL
)) {
552 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
553 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
561 var23
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var20
, var_ff
);
565 { /* Inline poset#POSetElement#tos (var_te) on <var_te:POSetElement[nullable Object]> */
566 var26
= var_te
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <var_te:POSetElement[nullable Object]> */
567 if (unlikely(var26
== NULL
)) {
568 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
569 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 406);
578 var28
= standard___standard__HashSet___standard__abstract_collection__Collection__iterator(var_27
);
583 var30
= ((short int(*)(val
* self
))((((long)var_29
&3)?class_info
[((long)var_29
&3)]:var_29
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_29
); /* is_ok on <var_29:Iterator[nullable Object]>*/
587 var31
= ((val
*(*)(val
* self
))((((long)var_29
&3)?class_info
[((long)var_29
&3)]:var_29
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_29
); /* item on <var_29:Iterator[nullable Object]>*/
591 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
592 var34
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
593 if (unlikely(var34
== NULL
)) {
594 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
595 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
603 var35
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var32
, var_tt
);
607 { /* Inline poset#POSetElement#froms (var_tte) on <var_tte:POSetElement[nullable Object]> */
608 var38
= var_tte
->attrs
[COLOR_poset__POSetElement___froms
].val
; /* _froms on <var_tte:POSetElement[nullable Object]> */
609 if (unlikely(var38
== NULL
)) {
610 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _froms");
611 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 407);
619 standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var36
, var_ff
); /* Direct call hash_collection#HashSet#add on <var36:HashSet[nullable Object]>*/
622 { /* Inline poset#POSetElement#tos (var_ffe) on <var_ffe:POSetElement[nullable Object]> */
623 var41
= var_ffe
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <var_ffe:POSetElement[nullable Object]> */
624 if (unlikely(var41
== NULL
)) {
625 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
626 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 406);
634 standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var39
, var_tt
); /* Direct call hash_collection#HashSet#add on <var39:HashSet[nullable Object]>*/
637 ((void(*)(val
* self
))((((long)var_29
&3)?class_info
[((long)var_29
&3)]:var_29
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_29
); /* next on <var_29:Iterator[nullable Object]>*/
643 BREAK_label
: (void)0;
645 ((void(*)(val
* self
))((((long)var_29
&3)?class_info
[((long)var_29
&3)]:var_29
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_29
); /* finish on <var_29:Iterator[nullable Object]>*/
648 ((void(*)(val
* self
))((((long)var_17
&3)?class_info
[((long)var_17
&3)]:var_17
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_17
); /* next on <var_17:Iterator[nullable Object]>*/
654 BREAK_label42
: (void)0;
656 ((void(*)(val
* self
))((((long)var_17
&3)?class_info
[((long)var_17
&3)]:var_17
->class)->vft
[COLOR_standard__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
= standard___standard__HashSet___standard__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
= standard___standard__HashSet___standard__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_standard__abstract_collection__Iterator__is_ok
]))(var_52
); /* is_ok on <var_52:Iterator[nullable Object]>*/
701 var54
= ((val
*(*)(val
* self
))((((long)var_52
&3)?class_info
[((long)var_52
&3)]:var_52
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_52
); /* item on <var_52:Iterator[nullable Object]>*/
705 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
706 var57
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
707 if (unlikely(var57
== NULL
)) {
708 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
709 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
717 var58
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var55
, var_x
);
721 { /* Inline poset#POSetElement#tos (var_xe) on <var_xe:POSetElement[nullable Object]> */
722 var61
= var_xe
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <var_xe:POSetElement[nullable Object]> */
723 if (unlikely(var61
== NULL
)) {
724 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
725 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 406);
733 var62
= standard___standard__HashSet___standard__abstract_collection__Collection__has(var59
, var_f
);
736 if (var_to_remove
== NULL
) {
737 var63
= 1; /* is null */
739 var63
= 0; /* arg is null but recv is not */
742 var64
= standard___standard__Array___standard__kernel__Object___61d_61d(var_to_remove
, ((val
*)NULL
));
746 var65
= NEW_standard__Array(self
->type
->resolution_table
->types
[COLOR_standard__Array__poset__POSet___35dE
]);
748 standard___standard__Array___standard__kernel__Object__init(var65
); /* Direct call array#Array#init on <var65:Array[nullable Object]>*/
750 var_to_remove
= var65
;
754 standard___standard__Array___standard__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])>*/
757 { /* Inline poset#POSetElement#dtos (var_xe) on <var_xe:POSetElement[nullable Object]> */
758 var68
= var_xe
->attrs
[COLOR_poset__POSetElement___dtos
].val
; /* _dtos on <var_xe:POSetElement[nullable Object]> */
759 if (unlikely(var68
== NULL
)) {
760 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dtos");
761 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 408);
769 standard___standard__HashSet___standard__abstract_collection__RemovableCollection__remove(var66
, var_t
); /* Direct call hash_collection#HashSet#remove on <var66:HashSet[nullable Object]>*/
774 ((void(*)(val
* self
))((((long)var_52
&3)?class_info
[((long)var_52
&3)]:var_52
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_52
); /* next on <var_52:Iterator[nullable Object]>*/
780 BREAK_label69
: (void)0;
782 ((void(*)(val
* self
))((((long)var_52
&3)?class_info
[((long)var_52
&3)]:var_52
->class)->vft
[COLOR_standard__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_standard__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
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_75
);
810 var78
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_77
);
814 var79
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_77
);
818 { /* Inline poset#POSetElement#dfroms (var_te) on <var_te:POSetElement[nullable Object]> */
819 var83
= var_te
->attrs
[COLOR_poset__POSetElement___dfroms
].val
; /* _dfroms on <var_te:POSetElement[nullable Object]> */
820 if (unlikely(var83
== NULL
)) {
821 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dfroms");
822 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 409);
830 standard___standard__HashSet___standard__abstract_collection__RemovableCollection__remove(var81
, var_x80
); /* Direct call hash_collection#HashSet#remove on <var81:HashSet[nullable Object]>*/
833 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_77
); /* Direct call array#ArrayIterator#next on <var_77:ArrayIterator[nullable Object]>*/
839 BREAK_label84
: (void)0;
841 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_77
); /* Direct call array#ArrayIterator#finish on <var_77:ArrayIterator[nullable Object]>*/
844 standard___standard__AbstractArray___standard__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
= standard___standard__HashSet___standard__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_standard__abstract_collection__Iterator__is_ok
]))(var_90
); /* is_ok on <var_90:Iterator[nullable Object]>*/
871 var92
= ((val
*(*)(val
* self
))((((long)var_90
&3)?class_info
[((long)var_90
&3)]:var_90
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_90
); /* item on <var_90:Iterator[nullable Object]>*/
875 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
876 var96
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
877 if (unlikely(var96
== NULL
)) {
878 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
879 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
887 var97
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var94
, var_x93
);
891 { /* Inline poset#POSetElement#froms (var_xe98) on <var_xe98:POSetElement[nullable Object]> */
892 var101
= var_xe98
->attrs
[COLOR_poset__POSetElement___froms
].val
; /* _froms on <var_xe98:POSetElement[nullable Object]> */
893 if (unlikely(var101
== NULL
)) {
894 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _froms");
895 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 407);
899 RET_LABEL100
:(void)0;
903 var102
= standard___standard__HashSet___standard__abstract_collection__Collection__has(var99
, var_t
);
907 { /* Inline poset#POSetElement#dfroms (var_xe98) on <var_xe98:POSetElement[nullable Object]> */
908 var105
= var_xe98
->attrs
[COLOR_poset__POSetElement___dfroms
].val
; /* _dfroms on <var_xe98:POSetElement[nullable Object]> */
909 if (unlikely(var105
== NULL
)) {
910 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dfroms");
911 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 409);
915 RET_LABEL104
:(void)0;
919 standard___standard__HashSet___standard__abstract_collection__RemovableCollection__remove(var103
, var_f
); /* Direct call hash_collection#HashSet#remove on <var103:HashSet[nullable Object]>*/
921 if (var_to_remove
== NULL
) {
922 var106
= 1; /* is null */
924 var106
= 0; /* arg is null but recv is not */
927 var107
= standard___standard__Array___standard__kernel__Object___61d_61d(var_to_remove
, ((val
*)NULL
));
931 var108
= NEW_standard__Array(self
->type
->resolution_table
->types
[COLOR_standard__Array__poset__POSet___35dE
]);
933 standard___standard__Array___standard__kernel__Object__init(var108
); /* Direct call array#Array#init on <var108:Array[nullable Object]>*/
935 var_to_remove
= var108
;
939 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_to_remove
, var_x93
); /* Direct call array#Array#add on <var_to_remove:nullable Array[nullable Object](Array[nullable Object])>*/
944 ((void(*)(val
* self
))((((long)var_90
&3)?class_info
[((long)var_90
&3)]:var_90
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_90
); /* next on <var_90:Iterator[nullable Object]>*/
950 BREAK_label109
: (void)0;
952 ((void(*)(val
* self
))((((long)var_90
&3)?class_info
[((long)var_90
&3)]:var_90
->class)->vft
[COLOR_standard__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_standard__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
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_115
);
980 var118
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_117
);
984 var119
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_117
);
988 { /* Inline poset#POSetElement#dtos (var_fe) on <var_fe:POSetElement[nullable Object]> */
989 var123
= var_fe
->attrs
[COLOR_poset__POSetElement___dtos
].val
; /* _dtos on <var_fe:POSetElement[nullable Object]> */
990 if (unlikely(var123
== NULL
)) {
991 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dtos");
992 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 408);
996 RET_LABEL122
:(void)0;
1000 standard___standard__HashSet___standard__abstract_collection__RemovableCollection__remove(var121
, var_x120
); /* Direct call hash_collection#HashSet#remove on <var121:HashSet[nullable Object]>*/
1003 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_117
); /* Direct call array#ArrayIterator#next on <var_117:ArrayIterator[nullable Object]>*/
1006 goto BREAK_label124
;
1009 BREAK_label124
: (void)0;
1011 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_117
); /* Direct call array#ArrayIterator#finish on <var_117:ArrayIterator[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 standard___standard__HashSet___standard__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 standard___standard__HashSet___standard__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
= standard___standard__HashMap___standard__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_standard__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
= standard___standard__HashMap___standard__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
= standard___standard__HashSet___standard__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___standard__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
= standard___standard__HashMap___standard__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
= standard___standard__HashMap___standard__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
= standard___standard__HashSet___standard__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
= standard___standard__HashSet___standard__abstract_collection__Collection__length(var20
);
1334 var24
= standard___standard__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
= standard___standard__HashMap___standard__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
= standard___standard__HashMap___standard__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
= standard___standard__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_standard__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_standard__array__Collection__to_a
]))(var_elements
); /* to_a on <var_elements:Collection[nullable Object]>*/
1436 standard___standard__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#direct_smallers for (self: POSetElement[nullable Object]): Collection[nullable Object] */
1639 val
* poset___poset__POSetElement___direct_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#dfroms (self) on <self:POSetElement[nullable Object]> */
1645 var3
= self
->attrs
[COLOR_poset__POSetElement___dfroms
].val
; /* _dfroms on <self:POSetElement[nullable Object]> */
1646 if (unlikely(var3
== NULL
)) {
1647 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dfroms");
1648 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 409);
1660 /* method poset#POSetElement#<= for (self: POSetElement[nullable Object], nullable Object): Bool */
1661 short int poset___poset__POSetElement____60d_61d(val
* self
, val
* p0
) {
1662 short int var
/* : Bool */;
1663 short int var1
/* : Bool */;
1666 const struct type
* type_struct
;
1667 short int is_nullable
;
1668 const char* var_class_name
;
1669 val
* var_t
/* var t: nullable Object */;
1670 val
* var2
/* : HashSet[nullable Object] */;
1671 val
* var4
/* : HashSet[nullable Object] */;
1672 short int var5
/* : Bool */;
1673 /* Covariant cast for argument 0 (t) <p0:nullable Object> isa E */
1674 /* <p0:nullable Object> isa E */
1675 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSetElement___35dE
];
1676 cltype
= type_struct
->color
;
1677 idtype
= type_struct
->id
;
1678 is_nullable
= type_struct
->is_nullable
;
1682 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
1685 var1
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
1688 if (unlikely(!var1
)) {
1689 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
1690 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
1691 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 465);
1696 { /* Inline poset#POSetElement#tos (self) on <self:POSetElement[nullable Object]> */
1697 var4
= self
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <self:POSetElement[nullable Object]> */
1698 if (unlikely(var4
== NULL
)) {
1699 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
1700 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 406);
1708 var5
= standard___standard__HashSet___standard__abstract_collection__Collection__has(var2
, var_t
);
1715 /* method poset#POSetElement#< for (self: POSetElement[nullable Object], nullable Object): Bool */
1716 short int poset___poset__POSetElement____60d(val
* self
, val
* p0
) {
1717 short int var
/* : Bool */;
1718 short int var1
/* : Bool */;
1721 const struct type
* type_struct
;
1722 short int is_nullable
;
1723 const char* var_class_name
;
1724 val
* var_t
/* var t: nullable Object */;
1725 short int var2
/* : Bool */;
1726 val
* var3
/* : nullable Object */;
1727 val
* var5
/* : nullable Object */;
1728 short int var6
/* : Bool */;
1729 short int var7
/* : Bool */;
1730 short int var_
/* var : Bool */;
1731 val
* var8
/* : HashSet[nullable Object] */;
1732 val
* var10
/* : HashSet[nullable Object] */;
1733 short int var11
/* : Bool */;
1734 /* Covariant cast for argument 0 (t) <p0:nullable Object> isa E */
1735 /* <p0:nullable Object> isa E */
1736 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSetElement___35dE
];
1737 cltype
= type_struct
->color
;
1738 idtype
= type_struct
->id
;
1739 is_nullable
= type_struct
->is_nullable
;
1743 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
1746 var1
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
1749 if (unlikely(!var1
)) {
1750 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
1751 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
1752 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 480);
1757 { /* Inline poset#POSetElement#element (self) on <self:POSetElement[nullable Object]> */
1758 var5
= self
->attrs
[COLOR_poset__POSetElement___element
].val
; /* _element on <self:POSetElement[nullable Object]> */
1763 if (var_t
== NULL
) {
1764 var6
= (var3
!= NULL
);
1766 var7
= ((short int(*)(val
* self
, val
* p0
))((((long)var_t
&3)?class_info
[((long)var_t
&3)]:var_t
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_t
, var3
); /* != on <var_t:nullable Object>*/
1772 { /* Inline poset#POSetElement#tos (self) on <self:POSetElement[nullable Object]> */
1773 var10
= self
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <self:POSetElement[nullable Object]> */
1774 if (unlikely(var10
== NULL
)) {
1775 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
1776 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 406);
1784 var11
= standard___standard__HashSet___standard__abstract_collection__Collection__has(var8
, var_t
);
1795 /* method poset#POSetElement#init for (self: POSetElement[nullable Object]) */
1796 void poset___poset__POSetElement___standard__kernel__Object__init(val
* self
) {
1798 ((void(*)(val
* self
))(self
->class->vft
[COLOR_poset___poset__POSetElement___standard__kernel__Object__init
]))(self
); /* init on <self:POSetElement[nullable Object]>*/