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
* var6
/* : RemovableCollection[nullable Object] */;
9 val
* var7
/* : Iterator[nullable Object] */;
11 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
12 var3
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
13 if (unlikely(var3
== NULL
)) {
14 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
15 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
23 { /* Inline hash_collection#HashMap#keys (var1) on <var1:HashMap[nullable Object, POSetElement[nullable Object]]> */
24 var6
= var1
->attrs
[COLOR_standard__hash_collection__HashMap___keys
].val
; /* _keys on <var1:HashMap[nullable Object, POSetElement[nullable Object]]> */
25 if (unlikely(var6
== NULL
)) {
26 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _keys");
27 PRINT_ERROR(" (%s:%d)\n", FILE_standard__hash_collection
, 275);
35 var7
= ((val
* (*)(val
* self
))(var4
->class->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var4
) /* iterator on <var4:RemovableCollection[nullable Object]>*/;
42 /* method poset#POSet#elements for (self: POSet[nullable Object]): HashMap[nullable Object, POSetElement[nullable Object]] */
43 val
* poset___poset__POSet___elements(val
* self
) {
44 val
* var
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
45 val
* var1
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
46 var1
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
47 if (unlikely(var1
== NULL
)) {
48 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
49 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
56 /* method poset#POSet#has for (self: POSet[nullable Object], nullable Object): Bool */
57 short int poset___poset__POSet___standard__abstract_collection__Collection__has(val
* self
, val
* p0
) {
58 short int var
/* : Bool */;
59 short int var1
/* : Bool */;
62 const struct type
* type_struct
;
63 short int is_nullable
;
64 const char* var_class_name
;
65 val
* var_e
/* var e: nullable Object */;
66 val
* var2
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
67 val
* var4
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
68 val
* var5
/* : RemovableCollection[nullable Object] */;
69 val
* var7
/* : RemovableCollection[nullable Object] */;
70 short int var8
/* : Bool */;
71 /* Covariant cast for argument 0 (e) <p0:nullable Object> isa E */
72 /* <p0:nullable Object> isa E */
73 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet___35dE
];
74 cltype
= type_struct
->color
;
75 idtype
= type_struct
->id
;
76 is_nullable
= type_struct
->is_nullable
;
80 if(cltype
>= p0
->type
->table_size
) {
83 var1
= p0
->type
->type_table
[cltype
] == idtype
;
86 if (unlikely(!var1
)) {
87 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
88 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
89 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 85);
94 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
95 var4
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
96 if (unlikely(var4
== NULL
)) {
97 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
98 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
106 { /* Inline hash_collection#HashMap#keys (var2) on <var2:HashMap[nullable Object, POSetElement[nullable Object]]> */
107 var7
= var2
->attrs
[COLOR_standard__hash_collection__HashMap___keys
].val
; /* _keys on <var2:HashMap[nullable Object, POSetElement[nullable Object]]> */
108 if (unlikely(var7
== NULL
)) {
109 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _keys");
110 PRINT_ERROR(" (%s:%d)\n", FILE_standard__hash_collection
, 275);
118 var8
= ((short int (*)(val
* self
, val
* p0
))(var5
->class->vft
[COLOR_standard__abstract_collection__Collection__has
]))(var5
, var_e
) /* has on <var5:RemovableCollection[nullable Object]>*/;
125 /* method poset#POSet#add_node for (self: POSet[nullable Object], nullable Object): POSetElement[nullable Object] */
126 val
* poset___poset__POSet___add_node(val
* self
, val
* p0
) {
127 val
* var
/* : POSetElement[nullable Object] */;
128 short int var1
/* : Bool */;
131 const struct type
* type_struct
;
132 short int is_nullable
;
133 const char* var_class_name
;
134 val
* var_e
/* var e: nullable Object */;
135 val
* var2
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
136 val
* var4
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
137 val
* var5
/* : RemovableCollection[nullable Object] */;
138 val
* var7
/* : RemovableCollection[nullable Object] */;
139 short int var8
/* : Bool */;
140 val
* var9
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
141 val
* var11
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
142 val
* var12
/* : nullable Object */;
143 val
* var13
/* : POSetElement[nullable Object] */;
144 val
* var14
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
145 val
* var16
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
146 long var17
/* : Int */;
147 val
* var_poe
/* var poe: POSetElement[nullable Object] */;
148 val
* var18
/* : HashSet[nullable Object] */;
149 val
* var20
/* : HashSet[nullable Object] */;
150 val
* var21
/* : HashSet[nullable Object] */;
151 val
* var23
/* : HashSet[nullable Object] */;
152 val
* var24
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
153 val
* var26
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
154 /* Covariant cast for argument 0 (e) <p0:nullable Object> isa E */
155 /* <p0:nullable Object> isa E */
156 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet___35dE
];
157 cltype
= type_struct
->color
;
158 idtype
= type_struct
->id
;
159 is_nullable
= type_struct
->is_nullable
;
163 if(cltype
>= p0
->type
->table_size
) {
166 var1
= p0
->type
->type_table
[cltype
] == idtype
;
169 if (unlikely(!var1
)) {
170 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
171 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
172 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 87);
177 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
178 var4
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
179 if (unlikely(var4
== NULL
)) {
180 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
181 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
189 { /* Inline hash_collection#HashMap#keys (var2) on <var2:HashMap[nullable Object, POSetElement[nullable Object]]> */
190 var7
= var2
->attrs
[COLOR_standard__hash_collection__HashMap___keys
].val
; /* _keys on <var2:HashMap[nullable Object, POSetElement[nullable Object]]> */
191 if (unlikely(var7
== NULL
)) {
192 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _keys");
193 PRINT_ERROR(" (%s:%d)\n", FILE_standard__hash_collection
, 275);
201 var8
= ((short int (*)(val
* self
, val
* p0
))(var5
->class->vft
[COLOR_standard__abstract_collection__Collection__has
]))(var5
, var_e
) /* has on <var5:RemovableCollection[nullable Object]>*/;
205 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
206 var11
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
207 if (unlikely(var11
== NULL
)) {
208 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
209 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
217 var12
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var9
, var_e
);
223 var13
= NEW_poset__POSetElement(self
->type
->resolution_table
->types
[COLOR_poset__POSetElement__poset__POSet___35dE
]);
225 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
226 var16
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
227 if (unlikely(var16
== NULL
)) {
228 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
229 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
237 var17
= standard___standard__HashMap___standard__abstract_collection__MapRead__length(var14
);
240 ((void (*)(val
* self
, val
* p0
))(var13
->class->vft
[COLOR_poset__POSetElement__poset_61d
]))(var13
, self
) /* poset= on <var13:POSetElement[nullable Object]>*/;
243 ((void (*)(val
* self
, val
* p0
))(var13
->class->vft
[COLOR_poset__POSetElement__element_61d
]))(var13
, var_e
) /* element= on <var13:POSetElement[nullable Object]>*/;
246 ((void (*)(val
* self
, long p0
))(var13
->class->vft
[COLOR_poset__POSetElement__count_61d
]))(var13
, var17
) /* count= on <var13:POSetElement[nullable Object]>*/;
249 ((void (*)(val
* self
))(var13
->class->vft
[COLOR_standard__kernel__Object__init
]))(var13
) /* init on <var13:POSetElement[nullable Object]>*/;
253 { /* Inline poset#POSetElement#tos (var_poe) on <var_poe:POSetElement[nullable Object]> */
254 var20
= var_poe
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <var_poe:POSetElement[nullable Object]> */
255 if (unlikely(var20
== NULL
)) {
256 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
257 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 389);
265 standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var18
, var_e
); /* Direct call hash_collection#HashSet#add on <var18:HashSet[nullable Object]>*/
268 { /* Inline poset#POSetElement#froms (var_poe) on <var_poe:POSetElement[nullable Object]> */
269 var23
= var_poe
->attrs
[COLOR_poset__POSetElement___froms
].val
; /* _froms on <var_poe:POSetElement[nullable Object]> */
270 if (unlikely(var23
== NULL
)) {
271 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _froms");
272 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 390);
280 standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var21
, var_e
); /* Direct call hash_collection#HashSet#add on <var21:HashSet[nullable Object]>*/
283 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
284 var26
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
285 if (unlikely(var26
== NULL
)) {
286 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
287 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
295 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var24
, var_e
, var_poe
); /* Direct call hash_collection#HashMap#[]= on <var24:HashMap[nullable Object, POSetElement[nullable Object]]>*/
302 /* method poset#POSet#[] for (self: POSet[nullable Object], nullable Object): POSetElement[nullable Object] */
303 val
* poset___poset__POSet____91d_93d(val
* self
, val
* p0
) {
304 val
* var
/* : POSetElement[nullable Object] */;
305 short int var1
/* : Bool */;
308 const struct type
* type_struct
;
309 short int is_nullable
;
310 const char* var_class_name
;
311 val
* var_e
/* var e: nullable Object */;
312 val
* var2
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
313 val
* var4
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
314 val
* var5
/* : RemovableCollection[nullable Object] */;
315 val
* var7
/* : RemovableCollection[nullable Object] */;
316 short int var8
/* : Bool */;
317 val
* var9
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
318 val
* var11
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
319 val
* var12
/* : nullable Object */;
320 /* Covariant cast for argument 0 (e) <p0:nullable Object> isa E */
321 /* <p0:nullable Object> isa E */
322 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet___35dE
];
323 cltype
= type_struct
->color
;
324 idtype
= type_struct
->id
;
325 is_nullable
= type_struct
->is_nullable
;
329 if(cltype
>= p0
->type
->table_size
) {
332 var1
= p0
->type
->type_table
[cltype
] == idtype
;
335 if (unlikely(!var1
)) {
336 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
337 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
338 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 101);
343 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
344 var4
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
345 if (unlikely(var4
== NULL
)) {
346 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
347 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
355 { /* Inline hash_collection#HashMap#keys (var2) on <var2:HashMap[nullable Object, POSetElement[nullable Object]]> */
356 var7
= var2
->attrs
[COLOR_standard__hash_collection__HashMap___keys
].val
; /* _keys on <var2:HashMap[nullable Object, POSetElement[nullable Object]]> */
357 if (unlikely(var7
== NULL
)) {
358 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _keys");
359 PRINT_ERROR(" (%s:%d)\n", FILE_standard__hash_collection
, 275);
367 var8
= ((short int (*)(val
* self
, val
* p0
))(var5
->class->vft
[COLOR_standard__abstract_collection__Collection__has
]))(var5
, var_e
) /* has on <var5:RemovableCollection[nullable Object]>*/;
369 if (unlikely(!var8
)) {
370 PRINT_ERROR("Runtime error: %s", "Assert failed");
371 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 115);
375 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
376 var11
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
377 if (unlikely(var11
== NULL
)) {
378 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
379 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
387 var12
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var9
, var_e
);
394 /* method poset#POSet#add_edge for (self: POSet[nullable Object], nullable Object, nullable Object) */
395 void poset___poset__POSet___add_edge(val
* self
, val
* p0
, val
* p1
) {
396 short int var
/* : Bool */;
399 const struct type
* type_struct
;
400 short int is_nullable
;
401 const char* var_class_name
;
402 short int var1
/* : Bool */;
405 const struct type
* type_struct4
;
406 short int is_nullable5
;
407 const char* var_class_name6
;
408 val
* var_f
/* var f: nullable Object */;
409 val
* var_t
/* var t: nullable Object */;
410 val
* var7
/* : POSetElement[nullable Object] */;
411 val
* var_fe
/* var fe: POSetElement[nullable Object] */;
412 val
* var8
/* : POSetElement[nullable Object] */;
413 val
* var_te
/* var te: POSetElement[nullable Object] */;
414 val
* var9
/* : HashSet[nullable Object] */;
415 val
* var11
/* : HashSet[nullable Object] */;
416 short int var12
/* : Bool */;
417 val
* var13
/* : HashSet[nullable Object] */;
418 val
* var15
/* : HashSet[nullable Object] */;
419 val
* var_
/* var : HashSet[nullable Object] */;
420 val
* var16
/* : Iterator[nullable Object] */;
421 val
* var_17
/* var : Iterator[nullable Object] */;
422 short int var18
/* : Bool */;
423 val
* var19
/* : nullable Object */;
424 val
* var_ff
/* var ff: nullable Object */;
425 val
* var20
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
426 val
* var22
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
427 val
* var23
/* : nullable Object */;
428 val
* var_ffe
/* var ffe: POSetElement[nullable Object] */;
429 val
* var24
/* : HashSet[nullable Object] */;
430 val
* var26
/* : HashSet[nullable Object] */;
431 val
* var_27
/* var : HashSet[nullable Object] */;
432 val
* var28
/* : Iterator[nullable Object] */;
433 val
* var_29
/* var : Iterator[nullable Object] */;
434 short int var30
/* : Bool */;
435 val
* var31
/* : nullable Object */;
436 val
* var_tt
/* var tt: nullable Object */;
437 val
* var32
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
438 val
* var34
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
439 val
* var35
/* : nullable Object */;
440 val
* var_tte
/* var tte: POSetElement[nullable Object] */;
441 val
* var36
/* : HashSet[nullable Object] */;
442 val
* var38
/* : HashSet[nullable Object] */;
443 val
* var39
/* : HashSet[nullable Object] */;
444 val
* var41
/* : HashSet[nullable Object] */;
445 val
* var45
/* : HashSet[nullable Object] */;
446 val
* var47
/* : HashSet[nullable Object] */;
447 short int var48
/* : Bool */;
448 val
* var49
/* : HashSet[nullable Object] */;
449 val
* var51
/* : HashSet[nullable Object] */;
450 val
* var52
/* : Array[nullable Object] */;
451 val
* var_53
/* var : Array[nullable Object] */;
452 val
* var54
/* : ArrayIterator[nullable Object] */;
453 val
* var_55
/* var : ArrayIterator[nullable Object] */;
454 short int var56
/* : Bool */;
455 val
* var57
/* : nullable Object */;
456 val
* var_x
/* var x: nullable Object */;
457 val
* var58
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
458 val
* var60
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
459 val
* var61
/* : nullable Object */;
460 val
* var_xe
/* var xe: POSetElement[nullable Object] */;
461 val
* var62
/* : HashSet[nullable Object] */;
462 val
* var64
/* : HashSet[nullable Object] */;
463 short int var65
/* : Bool */;
464 val
* var66
/* : HashSet[nullable Object] */;
465 val
* var68
/* : HashSet[nullable Object] */;
466 val
* var69
/* : HashSet[nullable Object] */;
467 val
* var71
/* : HashSet[nullable Object] */;
468 val
* var74
/* : HashSet[nullable Object] */;
469 val
* var76
/* : HashSet[nullable Object] */;
470 val
* var77
/* : Array[nullable Object] */;
471 val
* var_78
/* var : Array[nullable Object] */;
472 val
* var79
/* : ArrayIterator[nullable Object] */;
473 val
* var_80
/* var : ArrayIterator[nullable Object] */;
474 short int var81
/* : Bool */;
475 val
* var82
/* : nullable Object */;
476 val
* var_x83
/* var x: nullable Object */;
477 val
* var84
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
478 val
* var86
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
479 val
* var87
/* : nullable Object */;
480 val
* var_xe88
/* var xe: POSetElement[nullable Object] */;
481 val
* var89
/* : HashSet[nullable Object] */;
482 val
* var91
/* : HashSet[nullable Object] */;
483 short int var92
/* : Bool */;
484 val
* var93
/* : HashSet[nullable Object] */;
485 val
* var95
/* : HashSet[nullable Object] */;
486 val
* var96
/* : HashSet[nullable Object] */;
487 val
* var98
/* : HashSet[nullable Object] */;
488 val
* var101
/* : HashSet[nullable Object] */;
489 val
* var103
/* : HashSet[nullable Object] */;
490 val
* var104
/* : HashSet[nullable Object] */;
491 val
* var106
/* : HashSet[nullable Object] */;
492 /* Covariant cast for argument 0 (f) <p0:nullable Object> isa E */
493 /* <p0:nullable Object> isa E */
494 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet___35dE
];
495 cltype
= type_struct
->color
;
496 idtype
= type_struct
->id
;
497 is_nullable
= type_struct
->is_nullable
;
501 if(cltype
>= p0
->type
->table_size
) {
504 var
= p0
->type
->type_table
[cltype
] == idtype
;
507 if (unlikely(!var
)) {
508 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
509 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
510 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 119);
513 /* Covariant cast for argument 1 (t) <p1:nullable Object> isa E */
514 /* <p1:nullable Object> isa E */
515 type_struct4
= self
->type
->resolution_table
->types
[COLOR_poset__POSet___35dE
];
516 cltype2
= type_struct4
->color
;
517 idtype3
= type_struct4
->id
;
518 is_nullable5
= type_struct4
->is_nullable
;
522 if(cltype2
>= p1
->type
->table_size
) {
525 var1
= p1
->type
->type_table
[cltype2
] == idtype3
;
528 if (unlikely(!var1
)) {
529 var_class_name6
= p1
== NULL ?
"null" : p1
->type
->name
;
530 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name6
);
531 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 119);
537 var7
= poset___poset__POSet___add_node(self
, var_f
);
541 var8
= poset___poset__POSet___add_node(self
, var_t
);
545 { /* Inline poset#POSetElement#tos (var_fe) on <var_fe:POSetElement[nullable Object]> */
546 var11
= var_fe
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <var_fe:POSetElement[nullable Object]> */
547 if (unlikely(var11
== NULL
)) {
548 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
549 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 389);
557 var12
= standard___standard__HashSet___standard__abstract_collection__Collection__has(var9
, var_t
);
564 { /* Inline poset#POSetElement#froms (var_fe) on <var_fe:POSetElement[nullable Object]> */
565 var15
= var_fe
->attrs
[COLOR_poset__POSetElement___froms
].val
; /* _froms on <var_fe:POSetElement[nullable Object]> */
566 if (unlikely(var15
== NULL
)) {
567 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _froms");
568 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 390);
577 var16
= standard___standard__HashSet___standard__abstract_collection__Collection__iterator(var_
);
582 var18
= ((short int (*)(val
* self
))(var_17
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_17
) /* is_ok on <var_17:Iterator[nullable Object]>*/;
586 var19
= ((val
* (*)(val
* self
))(var_17
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_17
) /* item on <var_17:Iterator[nullable Object]>*/;
590 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
591 var22
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
592 if (unlikely(var22
== NULL
)) {
593 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
594 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
602 var23
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var20
, var_ff
);
606 { /* Inline poset#POSetElement#tos (var_te) on <var_te:POSetElement[nullable Object]> */
607 var26
= var_te
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <var_te:POSetElement[nullable Object]> */
608 if (unlikely(var26
== NULL
)) {
609 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
610 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 389);
619 var28
= standard___standard__HashSet___standard__abstract_collection__Collection__iterator(var_27
);
624 var30
= ((short int (*)(val
* self
))(var_29
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_29
) /* is_ok on <var_29:Iterator[nullable Object]>*/;
628 var31
= ((val
* (*)(val
* self
))(var_29
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_29
) /* item on <var_29:Iterator[nullable Object]>*/;
632 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
633 var34
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
634 if (unlikely(var34
== NULL
)) {
635 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
636 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
644 var35
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var32
, var_tt
);
648 { /* Inline poset#POSetElement#froms (var_tte) on <var_tte:POSetElement[nullable Object]> */
649 var38
= var_tte
->attrs
[COLOR_poset__POSetElement___froms
].val
; /* _froms on <var_tte:POSetElement[nullable Object]> */
650 if (unlikely(var38
== NULL
)) {
651 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _froms");
652 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 390);
660 standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var36
, var_ff
); /* Direct call hash_collection#HashSet#add on <var36:HashSet[nullable Object]>*/
663 { /* Inline poset#POSetElement#tos (var_ffe) on <var_ffe:POSetElement[nullable Object]> */
664 var41
= var_ffe
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <var_ffe:POSetElement[nullable Object]> */
665 if (unlikely(var41
== NULL
)) {
666 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
667 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 389);
675 standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var39
, var_tt
); /* Direct call hash_collection#HashSet#add on <var39:HashSet[nullable Object]>*/
678 ((void (*)(val
* self
))(var_29
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_29
) /* next on <var_29:Iterator[nullable Object]>*/;
684 BREAK_label
: (void)0;
686 { /* Inline abstract_collection#Iterator#finish (var_29) on <var_29:Iterator[nullable Object]> */
691 ((void (*)(val
* self
))(var_17
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_17
) /* next on <var_17:Iterator[nullable Object]>*/;
697 BREAK_label43
: (void)0;
699 { /* Inline abstract_collection#Iterator#finish (var_17) on <var_17:Iterator[nullable Object]> */
704 { /* Inline poset#POSetElement#tos (var_te) on <var_te:POSetElement[nullable Object]> */
705 var47
= var_te
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <var_te:POSetElement[nullable Object]> */
706 if (unlikely(var47
== NULL
)) {
707 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
708 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 389);
716 var48
= standard___standard__HashSet___standard__abstract_collection__Collection__has(var45
, var_f
);
723 { /* Inline poset#POSetElement#dfroms (var_te) on <var_te:POSetElement[nullable Object]> */
724 var51
= var_te
->attrs
[COLOR_poset__POSetElement___dfroms
].val
; /* _dfroms on <var_te:POSetElement[nullable Object]> */
725 if (unlikely(var51
== NULL
)) {
726 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dfroms");
727 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 392);
735 var52
= standard__array___Collection___to_a(var49
);
739 var54
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_53
);
744 var56
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_55
);
748 var57
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_55
);
752 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
753 var60
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
754 if (unlikely(var60
== NULL
)) {
755 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
756 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
764 var61
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var58
, var_x
);
768 { /* Inline poset#POSetElement#tos (var_xe) on <var_xe:POSetElement[nullable Object]> */
769 var64
= var_xe
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <var_xe:POSetElement[nullable Object]> */
770 if (unlikely(var64
== NULL
)) {
771 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
772 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 389);
780 var65
= standard___standard__HashSet___standard__abstract_collection__Collection__has(var62
, var_f
);
784 { /* Inline poset#POSetElement#dfroms (var_te) on <var_te:POSetElement[nullable Object]> */
785 var68
= var_te
->attrs
[COLOR_poset__POSetElement___dfroms
].val
; /* _dfroms on <var_te:POSetElement[nullable Object]> */
786 if (unlikely(var68
== NULL
)) {
787 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dfroms");
788 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 392);
796 standard___standard__HashSet___standard__abstract_collection__RemovableCollection__remove(var66
, var_x
); /* Direct call hash_collection#HashSet#remove on <var66:HashSet[nullable Object]>*/
799 { /* Inline poset#POSetElement#dtos (var_xe) on <var_xe:POSetElement[nullable Object]> */
800 var71
= var_xe
->attrs
[COLOR_poset__POSetElement___dtos
].val
; /* _dtos on <var_xe:POSetElement[nullable Object]> */
801 if (unlikely(var71
== NULL
)) {
802 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dtos");
803 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 391);
811 standard___standard__HashSet___standard__abstract_collection__RemovableCollection__remove(var69
, var_t
); /* Direct call hash_collection#HashSet#remove on <var69:HashSet[nullable Object]>*/
816 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_55
); /* Direct call array#ArrayIterator#next on <var_55:ArrayIterator[nullable Object]>*/
822 BREAK_label72
: (void)0;
824 { /* Inline abstract_collection#Iterator#finish (var_55) on <var_55:ArrayIterator[nullable Object]> */
829 { /* Inline poset#POSetElement#dtos (var_fe) on <var_fe:POSetElement[nullable Object]> */
830 var76
= var_fe
->attrs
[COLOR_poset__POSetElement___dtos
].val
; /* _dtos on <var_fe:POSetElement[nullable Object]> */
831 if (unlikely(var76
== NULL
)) {
832 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dtos");
833 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 391);
841 var77
= standard__array___Collection___to_a(var74
);
845 var79
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_78
);
850 var81
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_80
);
854 var82
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_80
);
858 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
859 var86
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
860 if (unlikely(var86
== NULL
)) {
861 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
862 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
870 var87
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var84
, var_x83
);
874 { /* Inline poset#POSetElement#froms (var_xe88) on <var_xe88:POSetElement[nullable Object]> */
875 var91
= var_xe88
->attrs
[COLOR_poset__POSetElement___froms
].val
; /* _froms on <var_xe88:POSetElement[nullable Object]> */
876 if (unlikely(var91
== NULL
)) {
877 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _froms");
878 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 390);
886 var92
= standard___standard__HashSet___standard__abstract_collection__Collection__has(var89
, var_t
);
890 { /* Inline poset#POSetElement#dfroms (var_xe88) on <var_xe88:POSetElement[nullable Object]> */
891 var95
= var_xe88
->attrs
[COLOR_poset__POSetElement___dfroms
].val
; /* _dfroms on <var_xe88:POSetElement[nullable Object]> */
892 if (unlikely(var95
== NULL
)) {
893 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dfroms");
894 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 392);
902 standard___standard__HashSet___standard__abstract_collection__RemovableCollection__remove(var93
, var_f
); /* Direct call hash_collection#HashSet#remove on <var93:HashSet[nullable Object]>*/
905 { /* Inline poset#POSetElement#dtos (var_fe) on <var_fe:POSetElement[nullable Object]> */
906 var98
= var_fe
->attrs
[COLOR_poset__POSetElement___dtos
].val
; /* _dtos on <var_fe:POSetElement[nullable Object]> */
907 if (unlikely(var98
== NULL
)) {
908 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dtos");
909 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 391);
917 standard___standard__HashSet___standard__abstract_collection__RemovableCollection__remove(var96
, var_x83
); /* Direct call hash_collection#HashSet#remove on <var96:HashSet[nullable Object]>*/
922 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_80
); /* Direct call array#ArrayIterator#next on <var_80:ArrayIterator[nullable Object]>*/
928 BREAK_label99
: (void)0;
930 { /* Inline abstract_collection#Iterator#finish (var_80) on <var_80:ArrayIterator[nullable Object]> */
931 RET_LABEL100
:(void)0;
935 { /* Inline poset#POSetElement#dtos (var_fe) on <var_fe:POSetElement[nullable Object]> */
936 var103
= var_fe
->attrs
[COLOR_poset__POSetElement___dtos
].val
; /* _dtos on <var_fe:POSetElement[nullable Object]> */
937 if (unlikely(var103
== NULL
)) {
938 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dtos");
939 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 391);
943 RET_LABEL102
:(void)0;
947 standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var101
, var_t
); /* Direct call hash_collection#HashSet#add on <var101:HashSet[nullable Object]>*/
950 { /* Inline poset#POSetElement#dfroms (var_te) on <var_te:POSetElement[nullable Object]> */
951 var106
= var_te
->attrs
[COLOR_poset__POSetElement___dfroms
].val
; /* _dfroms on <var_te:POSetElement[nullable Object]> */
952 if (unlikely(var106
== NULL
)) {
953 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dfroms");
954 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 392);
958 RET_LABEL105
:(void)0;
962 standard___standard__HashSet___standard__abstract_collection__SimpleCollection__add(var104
, var_f
); /* Direct call hash_collection#HashSet#add on <var104:HashSet[nullable Object]>*/
966 /* method poset#POSet#compare for (self: POSet[nullable Object], nullable Object, nullable Object): Int */
967 long poset___poset__POSet___standard__sorter__Comparator__compare(val
* self
, val
* p0
, val
* p1
) {
968 long var
/* : Int */;
969 short int var1
/* : Bool */;
972 const struct type
* type_struct
;
973 short int is_nullable
;
974 const char* var_class_name
;
975 short int var2
/* : Bool */;
978 const struct type
* type_struct5
;
979 short int is_nullable6
;
980 const char* var_class_name7
;
981 val
* var_a
/* var a: nullable Object */;
982 val
* var_b
/* var b: nullable Object */;
983 val
* var8
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
984 val
* var10
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
985 val
* var11
/* : nullable Object */;
986 val
* var_ae
/* var ae: POSetElement[nullable Object] */;
987 val
* var12
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
988 val
* var14
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
989 val
* var15
/* : nullable Object */;
990 val
* var_be
/* var be: POSetElement[nullable Object] */;
991 val
* var16
/* : HashSet[nullable Object] */;
992 val
* var18
/* : HashSet[nullable Object] */;
993 long var19
/* : Int */;
994 val
* var20
/* : HashSet[nullable Object] */;
995 val
* var22
/* : HashSet[nullable Object] */;
996 long var23
/* : Int */;
997 long var24
/* : Int */;
998 long var_res
/* var res: Int */;
999 long var25
/* : Int */;
1000 short int var26
/* : Bool */;
1001 short int var28
/* : Bool */;
1002 short int var29
/* : Bool */;
1003 val
* var30
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
1004 val
* var32
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
1005 val
* var33
/* : nullable Object */;
1006 long var34
/* : Int */;
1007 long var36
/* : Int */;
1008 val
* var37
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
1009 val
* var39
/* : HashMap[nullable Object, POSetElement[nullable Object]] */;
1010 val
* var40
/* : nullable Object */;
1011 long var41
/* : Int */;
1012 long var43
/* : Int */;
1013 long var44
/* : Int */;
1014 /* Covariant cast for argument 0 (a) <p0:nullable Object> isa E */
1015 /* <p0:nullable Object> isa E */
1016 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet___35dE
];
1017 cltype
= type_struct
->color
;
1018 idtype
= type_struct
->id
;
1019 is_nullable
= type_struct
->is_nullable
;
1023 if(cltype
>= p0
->type
->table_size
) {
1026 var1
= p0
->type
->type_table
[cltype
] == idtype
;
1029 if (unlikely(!var1
)) {
1030 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1031 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
1032 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 267);
1035 /* Covariant cast for argument 1 (b) <p1:nullable Object> isa E */
1036 /* <p1:nullable Object> isa E */
1037 type_struct5
= self
->type
->resolution_table
->types
[COLOR_poset__POSet___35dE
];
1038 cltype3
= type_struct5
->color
;
1039 idtype4
= type_struct5
->id
;
1040 is_nullable6
= type_struct5
->is_nullable
;
1042 var2
= is_nullable6
;
1044 if(cltype3
>= p1
->type
->table_size
) {
1047 var2
= p1
->type
->type_table
[cltype3
] == idtype4
;
1050 if (unlikely(!var2
)) {
1051 var_class_name7
= p1
== NULL ?
"null" : p1
->type
->name
;
1052 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name7
);
1053 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 267);
1059 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
1060 var10
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
1061 if (unlikely(var10
== NULL
)) {
1062 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
1063 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
1071 var11
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var8
, var_a
);
1075 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
1076 var14
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
1077 if (unlikely(var14
== NULL
)) {
1078 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
1079 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
1083 RET_LABEL13
:(void)0;
1087 var15
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var12
, var_b
);
1091 { /* Inline poset#POSetElement#tos (var_ae) on <var_ae:POSetElement[nullable Object]> */
1092 var18
= var_ae
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <var_ae:POSetElement[nullable Object]> */
1093 if (unlikely(var18
== NULL
)) {
1094 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
1095 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 389);
1099 RET_LABEL17
:(void)0;
1103 var19
= standard___standard__HashSet___standard__abstract_collection__Collection__length(var16
);
1106 { /* Inline poset#POSetElement#tos (var_be) on <var_be:POSetElement[nullable Object]> */
1107 var22
= var_be
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <var_be:POSetElement[nullable Object]> */
1108 if (unlikely(var22
== NULL
)) {
1109 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
1110 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 389);
1114 RET_LABEL21
:(void)0;
1118 var23
= standard___standard__HashSet___standard__abstract_collection__Collection__length(var20
);
1121 var24
= standard___standard__Int___Comparable___60d_61d_62d(var19
, var23
);
1126 { /* Inline kernel#Int#!= (var_res,var25) on <var_res:Int> */
1127 var28
= var_res
== var25
;
1131 RET_LABEL27
:(void)0;
1140 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
1141 var32
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
1142 if (unlikely(var32
== NULL
)) {
1143 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
1144 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
1148 RET_LABEL31
:(void)0;
1152 var33
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var30
, var_a
);
1155 { /* Inline poset#POSetElement#count (var33) on <var33:nullable Object(POSetElement[nullable Object])> */
1156 var36
= var33
->attrs
[COLOR_poset__POSetElement___count
].l
; /* _count on <var33:nullable Object(POSetElement[nullable Object])> */
1158 RET_LABEL35
:(void)0;
1162 { /* Inline poset#POSet#elements (self) on <self:POSet[nullable Object]> */
1163 var39
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[nullable Object]> */
1164 if (unlikely(var39
== NULL
)) {
1165 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
1166 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 82);
1170 RET_LABEL38
:(void)0;
1174 var40
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var37
, var_b
);
1177 { /* Inline poset#POSetElement#count (var40) on <var40:nullable Object(POSetElement[nullable Object])> */
1178 var43
= var40
->attrs
[COLOR_poset__POSetElement___count
].l
; /* _count on <var40:nullable Object(POSetElement[nullable Object])> */
1180 RET_LABEL42
:(void)0;
1184 var44
= standard___standard__Int___Comparable___60d_61d_62d(var34
, var41
);
1191 /* method poset#POSet#linearize for (self: POSet[nullable Object], Collection[nullable Object]): Array[nullable Object] */
1192 val
* poset___poset__POSet___linearize(val
* self
, val
* p0
) {
1193 val
* var
/* : Array[nullable Object] */;
1194 short int var1
/* : Bool */;
1197 const struct type
* type_struct
;
1198 const char* var_class_name
;
1199 val
* var_elements
/* var elements: Collection[nullable Object] */;
1200 val
* var2
/* : Array[nullable Object] */;
1201 val
* var_lin
/* var lin: Array[nullable Object] */;
1202 /* Covariant cast for argument 0 (elements) <p0:Collection[nullable Object]> isa Collection[E] */
1203 /* <p0:Collection[nullable Object]> isa Collection[E] */
1204 type_struct
= self
->type
->resolution_table
->types
[COLOR_standard__Collection__poset__POSet___35dE
];
1205 cltype
= type_struct
->color
;
1206 idtype
= type_struct
->id
;
1207 if(cltype
>= p0
->type
->table_size
) {
1210 var1
= p0
->type
->type_table
[cltype
] == idtype
;
1212 if (unlikely(!var1
)) {
1213 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1214 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[E]", var_class_name
);
1215 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 353);
1220 var2
= standard__array___Collection___to_a(var_elements
);
1224 standard___standard__Comparator___sort(self
, var_lin
); /* Direct call sorter#Comparator#sort on <self:POSet[nullable Object]>*/
1231 /* method poset#POSetElement#poset for (self: POSetElement[nullable Object]): POSet[nullable Object] */
1232 val
* poset___poset__POSetElement___poset(val
* self
) {
1233 val
* var
/* : POSet[nullable Object] */;
1234 val
* var1
/* : POSet[nullable Object] */;
1235 var1
= self
->attrs
[COLOR_poset__POSetElement___poset
].val
; /* _poset on <self:POSetElement[nullable Object]> */
1236 if (unlikely(var1
== NULL
)) {
1237 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _poset");
1238 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 383);
1245 /* method poset#POSetElement#poset= for (self: POSetElement[nullable Object], POSet[nullable Object]) */
1246 void poset___poset__POSetElement___poset_61d(val
* self
, val
* p0
) {
1247 short int var
/* : Bool */;
1250 const struct type
* type_struct
;
1251 const char* var_class_name
;
1252 /* Covariant cast for argument 0 (poset) <p0:POSet[nullable Object]> isa POSet[E] */
1253 /* <p0:POSet[nullable Object]> isa POSet[E] */
1254 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet__poset__POSetElement___35dE
];
1255 cltype
= type_struct
->color
;
1256 idtype
= type_struct
->id
;
1257 if(cltype
>= p0
->type
->table_size
) {
1260 var
= p0
->type
->type_table
[cltype
] == idtype
;
1262 if (unlikely(!var
)) {
1263 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1264 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet[E]", var_class_name
);
1265 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 383);
1268 self
->attrs
[COLOR_poset__POSetElement___poset
].val
= p0
; /* _poset on <self:POSetElement[nullable Object]> */
1271 /* method poset#POSetElement#element for (self: POSetElement[nullable Object]): nullable Object */
1272 val
* poset___poset__POSetElement___element(val
* self
) {
1273 val
* var
/* : nullable Object */;
1274 val
* var1
/* : nullable Object */;
1275 var1
= self
->attrs
[COLOR_poset__POSetElement___element
].val
; /* _element on <self:POSetElement[nullable Object]> */
1280 /* method poset#POSetElement#element= for (self: POSetElement[nullable Object], nullable Object) */
1281 void poset___poset__POSetElement___element_61d(val
* self
, val
* p0
) {
1282 short int var
/* : Bool */;
1285 const struct type
* type_struct
;
1286 short int is_nullable
;
1287 const char* var_class_name
;
1288 /* Covariant cast for argument 0 (element) <p0:nullable Object> isa E */
1289 /* <p0:nullable Object> isa E */
1290 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSetElement___35dE
];
1291 cltype
= type_struct
->color
;
1292 idtype
= type_struct
->id
;
1293 is_nullable
= type_struct
->is_nullable
;
1297 if(cltype
>= p0
->type
->table_size
) {
1300 var
= p0
->type
->type_table
[cltype
] == idtype
;
1303 if (unlikely(!var
)) {
1304 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1305 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
1306 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 386);
1309 self
->attrs
[COLOR_poset__POSetElement___element
].val
= p0
; /* _element on <self:POSetElement[nullable Object]> */
1312 /* method poset#POSetElement#tos for (self: POSetElement[nullable Object]): HashSet[nullable Object] */
1313 val
* poset___poset__POSetElement___tos(val
* self
) {
1314 val
* var
/* : HashSet[nullable Object] */;
1315 val
* var1
/* : HashSet[nullable Object] */;
1316 var1
= self
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <self:POSetElement[nullable Object]> */
1317 if (unlikely(var1
== NULL
)) {
1318 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
1319 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 389);
1326 /* method poset#POSetElement#froms for (self: POSetElement[nullable Object]): HashSet[nullable Object] */
1327 val
* poset___poset__POSetElement___froms(val
* self
) {
1328 val
* var
/* : HashSet[nullable Object] */;
1329 val
* var1
/* : HashSet[nullable Object] */;
1330 var1
= self
->attrs
[COLOR_poset__POSetElement___froms
].val
; /* _froms on <self:POSetElement[nullable Object]> */
1331 if (unlikely(var1
== NULL
)) {
1332 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _froms");
1333 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 390);
1340 /* method poset#POSetElement#dtos for (self: POSetElement[nullable Object]): HashSet[nullable Object] */
1341 val
* poset___poset__POSetElement___dtos(val
* self
) {
1342 val
* var
/* : HashSet[nullable Object] */;
1343 val
* var1
/* : HashSet[nullable Object] */;
1344 var1
= self
->attrs
[COLOR_poset__POSetElement___dtos
].val
; /* _dtos on <self:POSetElement[nullable Object]> */
1345 if (unlikely(var1
== NULL
)) {
1346 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dtos");
1347 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 391);
1354 /* method poset#POSetElement#dfroms for (self: POSetElement[nullable Object]): HashSet[nullable Object] */
1355 val
* poset___poset__POSetElement___dfroms(val
* self
) {
1356 val
* var
/* : HashSet[nullable Object] */;
1357 val
* var1
/* : HashSet[nullable Object] */;
1358 var1
= self
->attrs
[COLOR_poset__POSetElement___dfroms
].val
; /* _dfroms on <self:POSetElement[nullable Object]> */
1359 if (unlikely(var1
== NULL
)) {
1360 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dfroms");
1361 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 392);
1368 /* method poset#POSetElement#count for (self: POSetElement[nullable Object]): Int */
1369 long poset___poset__POSetElement___count(val
* self
) {
1370 long var
/* : Int */;
1371 long var1
/* : Int */;
1372 var1
= self
->attrs
[COLOR_poset__POSetElement___count
].l
; /* _count on <self:POSetElement[nullable Object]> */
1377 /* method poset#POSetElement#count= for (self: POSetElement[nullable Object], Int) */
1378 void poset___poset__POSetElement___count_61d(val
* self
, long p0
) {
1379 self
->attrs
[COLOR_poset__POSetElement___count
].l
= p0
; /* _count on <self:POSetElement[nullable Object]> */
1382 /* method poset#POSetElement#greaters for (self: POSetElement[nullable Object]): Collection[nullable Object] */
1383 val
* poset___poset__POSetElement___greaters(val
* self
) {
1384 val
* var
/* : Collection[nullable Object] */;
1385 val
* var1
/* : HashSet[nullable Object] */;
1386 val
* var3
/* : HashSet[nullable Object] */;
1388 { /* Inline poset#POSetElement#tos (self) on <self:POSetElement[nullable Object]> */
1389 var3
= self
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <self:POSetElement[nullable Object]> */
1390 if (unlikely(var3
== NULL
)) {
1391 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
1392 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 389);
1404 /* method poset#POSetElement#direct_greaters for (self: POSetElement[nullable Object]): Collection[nullable Object] */
1405 val
* poset___poset__POSetElement___direct_greaters(val
* self
) {
1406 val
* var
/* : Collection[nullable Object] */;
1407 val
* var1
/* : HashSet[nullable Object] */;
1408 val
* var3
/* : HashSet[nullable Object] */;
1410 { /* Inline poset#POSetElement#dtos (self) on <self:POSetElement[nullable Object]> */
1411 var3
= self
->attrs
[COLOR_poset__POSetElement___dtos
].val
; /* _dtos on <self:POSetElement[nullable Object]> */
1412 if (unlikely(var3
== NULL
)) {
1413 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dtos");
1414 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 391);
1426 /* method poset#POSetElement#smallers for (self: POSetElement[nullable Object]): Collection[nullable Object] */
1427 val
* poset___poset__POSetElement___smallers(val
* self
) {
1428 val
* var
/* : Collection[nullable Object] */;
1429 val
* var1
/* : HashSet[nullable Object] */;
1430 val
* var3
/* : HashSet[nullable Object] */;
1432 { /* Inline poset#POSetElement#froms (self) on <self:POSetElement[nullable Object]> */
1433 var3
= self
->attrs
[COLOR_poset__POSetElement___froms
].val
; /* _froms on <self:POSetElement[nullable Object]> */
1434 if (unlikely(var3
== NULL
)) {
1435 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _froms");
1436 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 390);
1448 /* method poset#POSetElement#direct_smallers for (self: POSetElement[nullable Object]): Collection[nullable Object] */
1449 val
* poset___poset__POSetElement___direct_smallers(val
* self
) {
1450 val
* var
/* : Collection[nullable Object] */;
1451 val
* var1
/* : HashSet[nullable Object] */;
1452 val
* var3
/* : HashSet[nullable Object] */;
1454 { /* Inline poset#POSetElement#dfroms (self) on <self:POSetElement[nullable Object]> */
1455 var3
= self
->attrs
[COLOR_poset__POSetElement___dfroms
].val
; /* _dfroms on <self:POSetElement[nullable Object]> */
1456 if (unlikely(var3
== NULL
)) {
1457 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dfroms");
1458 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 392);
1470 /* method poset#POSetElement#<= for (self: POSetElement[nullable Object], nullable Object): Bool */
1471 short int poset___poset__POSetElement____60d_61d(val
* self
, val
* p0
) {
1472 short int var
/* : Bool */;
1473 short int var1
/* : Bool */;
1476 const struct type
* type_struct
;
1477 short int is_nullable
;
1478 const char* var_class_name
;
1479 val
* var_t
/* var t: nullable Object */;
1480 val
* var2
/* : HashSet[nullable Object] */;
1481 val
* var4
/* : HashSet[nullable Object] */;
1482 short int var5
/* : Bool */;
1483 /* Covariant cast for argument 0 (t) <p0:nullable Object> isa E */
1484 /* <p0:nullable Object> isa E */
1485 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSetElement___35dE
];
1486 cltype
= type_struct
->color
;
1487 idtype
= type_struct
->id
;
1488 is_nullable
= type_struct
->is_nullable
;
1492 if(cltype
>= p0
->type
->table_size
) {
1495 var1
= p0
->type
->type_table
[cltype
] == idtype
;
1498 if (unlikely(!var1
)) {
1499 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1500 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
1501 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 448);
1506 { /* Inline poset#POSetElement#tos (self) on <self:POSetElement[nullable Object]> */
1507 var4
= self
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <self:POSetElement[nullable Object]> */
1508 if (unlikely(var4
== NULL
)) {
1509 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
1510 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 389);
1518 var5
= standard___standard__HashSet___standard__abstract_collection__Collection__has(var2
, var_t
);
1525 /* method poset#POSetElement#< for (self: POSetElement[nullable Object], nullable Object): Bool */
1526 short int poset___poset__POSetElement____60d(val
* self
, val
* p0
) {
1527 short int var
/* : Bool */;
1528 short int var1
/* : Bool */;
1531 const struct type
* type_struct
;
1532 short int is_nullable
;
1533 const char* var_class_name
;
1534 val
* var_t
/* var t: nullable Object */;
1535 short int var2
/* : Bool */;
1536 val
* var3
/* : nullable Object */;
1537 val
* var5
/* : nullable Object */;
1538 short int var6
/* : Bool */;
1539 short int var7
/* : Bool */;
1540 short int var_
/* var : Bool */;
1541 val
* var8
/* : HashSet[nullable Object] */;
1542 val
* var10
/* : HashSet[nullable Object] */;
1543 short int var11
/* : Bool */;
1544 /* Covariant cast for argument 0 (t) <p0:nullable Object> isa E */
1545 /* <p0:nullable Object> isa E */
1546 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSetElement___35dE
];
1547 cltype
= type_struct
->color
;
1548 idtype
= type_struct
->id
;
1549 is_nullable
= type_struct
->is_nullable
;
1553 if(cltype
>= p0
->type
->table_size
) {
1556 var1
= p0
->type
->type_table
[cltype
] == idtype
;
1559 if (unlikely(!var1
)) {
1560 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1561 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
1562 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 463);
1567 { /* Inline poset#POSetElement#element (self) on <self:POSetElement[nullable Object]> */
1568 var5
= self
->attrs
[COLOR_poset__POSetElement___element
].val
; /* _element on <self:POSetElement[nullable Object]> */
1573 if (var_t
== NULL
) {
1574 var6
= (var3
!= NULL
);
1576 var7
= ((short int (*)(val
* self
, val
* p0
))(var_t
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_t
, var3
) /* != on <var_t:nullable Object>*/;
1582 { /* Inline poset#POSetElement#tos (self) on <self:POSetElement[nullable Object]> */
1583 var10
= self
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <self:POSetElement[nullable Object]> */
1584 if (unlikely(var10
== NULL
)) {
1585 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
1586 PRINT_ERROR(" (%s:%d)\n", FILE_poset
, 389);
1594 var11
= standard___standard__HashSet___standard__abstract_collection__Collection__has(var8
, var_t
);
1605 /* method poset#POSetElement#init for (self: POSetElement[nullable Object]) */
1606 void poset___poset__POSetElement___standard__kernel__Object__init(val
* self
) {
1608 ((void (*)(val
* self
))(self
->class->vft
[COLOR_poset___poset__POSetElement___standard__kernel__Object__init
]))(self
) /* init on <self:POSetElement[nullable Object]>*/;