1 #include "poset.sep.0.h"
2 /* method poset#POSet#iterator for (self: POSet[Object]): Iterator[Object] */
3 val
* poset__POSet__iterator(val
* self
) {
4 val
* var
/* : Iterator[Object] */;
5 val
* var1
/* : HashMap[Object, POSetElement[Object]] */;
6 val
* var3
/* : HashMap[Object, POSetElement[Object]] */;
7 val
* var4
/* : RemovableCollection[Object] */;
8 val
* var6
/* : RemovableCollection[Object] */;
9 val
* var7
/* : Iterator[nullable Object] */;
11 { /* Inline poset#POSet#elements (self) on <self:POSet[Object]> */
12 var3
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[Object]> */
13 if (unlikely(var3
== NULL
)) {
14 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
15 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 31);
23 { /* Inline hash_collection#HashMap#keys (var1) on <var1:HashMap[Object, POSetElement[Object]]> */
24 var6
= var1
->attrs
[COLOR_hash_collection__HashMap___keys
].val
; /* _keys on <var1:HashMap[Object, POSetElement[Object]]> */
25 if (unlikely(var6
== NULL
)) {
26 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _keys");
27 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/hash_collection.nit", 245);
35 var7
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var4
) /* iterator on <var4:RemovableCollection[Object]>*/;
42 /* method poset#POSet#iterator for (self: Object): Iterator[nullable Object] */
43 val
* VIRTUAL_poset__POSet__iterator(val
* self
) {
44 val
* var
/* : Iterator[nullable Object] */;
45 val
* var1
/* : Iterator[Object] */;
46 var1
= poset__POSet__iterator(self
);
51 /* method poset#POSet#elements for (self: POSet[Object]): HashMap[Object, POSetElement[Object]] */
52 val
* poset__POSet__elements(val
* self
) {
53 val
* var
/* : HashMap[Object, POSetElement[Object]] */;
54 val
* var1
/* : HashMap[Object, POSetElement[Object]] */;
55 var1
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[Object]> */
56 if (unlikely(var1
== NULL
)) {
57 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
58 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 31);
65 /* method poset#POSet#elements for (self: Object): HashMap[Object, POSetElement[Object]] */
66 val
* VIRTUAL_poset__POSet__elements(val
* self
) {
67 val
* var
/* : HashMap[Object, POSetElement[Object]] */;
68 val
* var1
/* : HashMap[Object, POSetElement[Object]] */;
69 val
* var3
/* : HashMap[Object, POSetElement[Object]] */;
70 { /* Inline poset#POSet#elements (self) on <self:Object(POSet[Object])> */
71 var3
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:Object(POSet[Object])> */
72 if (unlikely(var3
== NULL
)) {
73 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
74 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 31);
84 /* method poset#POSet#has for (self: POSet[Object], Object): Bool */
85 short int poset__POSet__has(val
* self
, val
* p0
) {
86 short int var
/* : Bool */;
87 short int var1
/* : Bool */;
90 const struct type
* type_struct
;
91 const char* var_class_name
;
92 val
* var_e
/* var e: Object */;
93 val
* var2
/* : HashMap[Object, POSetElement[Object]] */;
94 val
* var4
/* : HashMap[Object, POSetElement[Object]] */;
95 val
* var5
/* : RemovableCollection[Object] */;
96 val
* var7
/* : RemovableCollection[Object] */;
97 short int var8
/* : Bool */;
98 /* Covariant cast for argument 0 (e) <p0:Object> isa Collection#0 */
99 /* <p0:Object> isa Collection#0 */
100 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
101 cltype
= type_struct
->color
;
102 idtype
= type_struct
->id
;
103 if(cltype
>= p0
->type
->table_size
) {
106 var1
= p0
->type
->type_table
[cltype
] == idtype
;
108 if (unlikely(!var1
)) {
109 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
110 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name
);
111 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 34);
116 { /* Inline poset#POSet#elements (self) on <self:POSet[Object]> */
117 var4
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[Object]> */
118 if (unlikely(var4
== NULL
)) {
119 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
120 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 31);
128 { /* Inline hash_collection#HashMap#keys (var2) on <var2:HashMap[Object, POSetElement[Object]]> */
129 var7
= var2
->attrs
[COLOR_hash_collection__HashMap___keys
].val
; /* _keys on <var2:HashMap[Object, POSetElement[Object]]> */
130 if (unlikely(var7
== NULL
)) {
131 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _keys");
132 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/hash_collection.nit", 245);
140 var8
= ((short int (*)(val
*, val
*))(var5
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var5
, var_e
) /* has on <var5:RemovableCollection[Object]>*/;
147 /* method poset#POSet#has for (self: Object, nullable Object): Bool */
148 short int VIRTUAL_poset__POSet__has(val
* self
, val
* p0
) {
149 short int var
/* : Bool */;
150 short int var1
/* : Bool */;
151 var1
= poset__POSet__has(self
, p0
);
156 /* method poset#POSet#add_node for (self: POSet[Object], Object): POSetElement[Object] */
157 val
* poset__POSet__add_node(val
* self
, val
* p0
) {
158 val
* var
/* : POSetElement[Object] */;
159 short int var1
/* : Bool */;
162 const struct type
* type_struct
;
163 const char* var_class_name
;
164 val
* var_e
/* var e: Object */;
165 val
* var2
/* : HashMap[Object, POSetElement[Object]] */;
166 val
* var4
/* : HashMap[Object, POSetElement[Object]] */;
167 val
* var5
/* : RemovableCollection[Object] */;
168 val
* var7
/* : RemovableCollection[Object] */;
169 short int var8
/* : Bool */;
170 val
* var9
/* : HashMap[Object, POSetElement[Object]] */;
171 val
* var11
/* : HashMap[Object, POSetElement[Object]] */;
172 val
* var12
/* : nullable Object */;
173 val
* var13
/* : POSetElement[Object] */;
174 val
* var14
/* : HashMap[Object, POSetElement[Object]] */;
175 val
* var16
/* : HashMap[Object, POSetElement[Object]] */;
176 long var17
/* : Int */;
177 short int var19
/* : Bool */;
180 const struct type
* type_struct22
;
181 const char* var_class_name23
;
182 short int var24
/* : Bool */;
185 const struct type
* type_struct27
;
186 const char* var_class_name28
;
187 val
* var_poe
/* var poe: POSetElement[Object] */;
188 val
* var29
/* : HashSet[Object] */;
189 val
* var31
/* : HashSet[Object] */;
190 val
* var32
/* : HashSet[Object] */;
191 val
* var34
/* : HashSet[Object] */;
192 val
* var35
/* : HashMap[Object, POSetElement[Object]] */;
193 val
* var37
/* : HashMap[Object, POSetElement[Object]] */;
194 /* Covariant cast for argument 0 (e) <p0:Object> isa POSet#0 */
195 /* <p0:Object> isa POSet#0 */
196 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
197 cltype
= type_struct
->color
;
198 idtype
= type_struct
->id
;
199 if(cltype
>= p0
->type
->table_size
) {
202 var1
= p0
->type
->type_table
[cltype
] == idtype
;
204 if (unlikely(!var1
)) {
205 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
206 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name
);
207 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 36);
212 { /* Inline poset#POSet#elements (self) on <self:POSet[Object]> */
213 var4
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[Object]> */
214 if (unlikely(var4
== NULL
)) {
215 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
216 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 31);
224 { /* Inline hash_collection#HashMap#keys (var2) on <var2:HashMap[Object, POSetElement[Object]]> */
225 var7
= var2
->attrs
[COLOR_hash_collection__HashMap___keys
].val
; /* _keys on <var2:HashMap[Object, POSetElement[Object]]> */
226 if (unlikely(var7
== NULL
)) {
227 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _keys");
228 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/hash_collection.nit", 245);
236 var8
= ((short int (*)(val
*, val
*))(var5
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var5
, var_e
) /* has on <var5:RemovableCollection[Object]>*/;
240 { /* Inline poset#POSet#elements (self) on <self:POSet[Object]> */
241 var11
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[Object]> */
242 if (unlikely(var11
== NULL
)) {
243 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
244 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 31);
252 var12
= hash_collection__HashMap___91d_93d(var9
, var_e
);
258 var13
= NEW_poset__POSetElement(self
->type
->resolution_table
->types
[COLOR_poset__POSetElementposet__POSet_FT0
]);
260 { /* Inline poset#POSet#elements (self) on <self:POSet[Object]> */
261 var16
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[Object]> */
262 if (unlikely(var16
== NULL
)) {
263 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
264 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 31);
272 var17
= hash_collection__HashMap__length(var14
);
275 { /* Inline poset#POSetElement#init (var13,self,var_e,var17) on <var13:POSetElement[Object]> */
276 /* Covariant cast for argument 0 (poset) <self:POSet[Object]> isa POSet[POSetElement#0] */
277 /* <self:POSet[Object]> isa POSet[POSetElement#0] */
278 type_struct22
= var13
->type
->resolution_table
->types
[COLOR_poset__POSetposet__POSetElement_FT0
];
279 cltype20
= type_struct22
->color
;
280 idtype21
= type_struct22
->id
;
281 if(cltype20
>= self
->type
->table_size
) {
284 var19
= self
->type
->type_table
[cltype20
] == idtype21
;
286 if (unlikely(!var19
)) {
287 var_class_name23
= self
== NULL ?
"null" : self
->type
->name
;
288 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet[POSetElement#0]", var_class_name23
);
289 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 175);
292 /* Covariant cast for argument 1 (element) <var_e:Object> isa POSetElement#0 */
293 /* <var_e:Object> isa POSetElement#0 */
294 type_struct27
= var13
->type
->resolution_table
->types
[COLOR_poset__POSetElement_FT0
];
295 cltype25
= type_struct27
->color
;
296 idtype26
= type_struct27
->id
;
297 if(cltype25
>= var_e
->type
->table_size
) {
300 var24
= var_e
->type
->type_table
[cltype25
] == idtype26
;
302 if (unlikely(!var24
)) {
303 var_class_name28
= var_e
== NULL ?
"null" : var_e
->type
->name
;
304 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "POSetElement#0", var_class_name28
);
305 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 175);
308 var13
->attrs
[COLOR_poset__POSetElement___poset
].val
= self
; /* _poset on <var13:POSetElement[Object]> */
309 var13
->attrs
[COLOR_poset__POSetElement___element
].val
= var_e
; /* _element on <var13:POSetElement[Object]> */
310 var13
->attrs
[COLOR_poset__POSetElement___count
].l
= var17
; /* _count on <var13:POSetElement[Object]> */
316 { /* Inline poset#POSetElement#tos (var_poe) on <var_poe:POSetElement[Object]> */
317 var31
= var_poe
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <var_poe:POSetElement[Object]> */
318 if (unlikely(var31
== NULL
)) {
319 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
320 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 194);
328 hash_collection__HashSet__add(var29
, var_e
); /* Direct call hash_collection#HashSet#add on <var29:HashSet[Object]>*/
331 { /* Inline poset#POSetElement#froms (var_poe) on <var_poe:POSetElement[Object]> */
332 var34
= var_poe
->attrs
[COLOR_poset__POSetElement___froms
].val
; /* _froms on <var_poe:POSetElement[Object]> */
333 if (unlikely(var34
== NULL
)) {
334 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _froms");
335 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 195);
343 hash_collection__HashSet__add(var32
, var_e
); /* Direct call hash_collection#HashSet#add on <var32:HashSet[Object]>*/
346 { /* Inline poset#POSet#elements (self) on <self:POSet[Object]> */
347 var37
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[Object]> */
348 if (unlikely(var37
== NULL
)) {
349 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
350 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 31);
358 hash_collection__HashMap___91d_93d_61d(var35
, var_e
, var_poe
); /* Direct call hash_collection#HashMap#[]= on <var35:HashMap[Object, POSetElement[Object]]>*/
365 /* method poset#POSet#add_node for (self: Object, Object): POSetElement[Object] */
366 val
* VIRTUAL_poset__POSet__add_node(val
* self
, val
* p0
) {
367 val
* var
/* : POSetElement[Object] */;
368 val
* var1
/* : POSetElement[Object] */;
369 var1
= poset__POSet__add_node(self
, p0
);
374 /* method poset#POSet#[] for (self: POSet[Object], Object): POSetElement[Object] */
375 val
* poset__POSet___91d_93d(val
* self
, val
* p0
) {
376 val
* var
/* : POSetElement[Object] */;
377 short int var1
/* : Bool */;
380 const struct type
* type_struct
;
381 const char* var_class_name
;
382 val
* var_e
/* var e: Object */;
383 val
* var2
/* : HashMap[Object, POSetElement[Object]] */;
384 val
* var4
/* : HashMap[Object, POSetElement[Object]] */;
385 val
* var5
/* : RemovableCollection[Object] */;
386 val
* var7
/* : RemovableCollection[Object] */;
387 short int var8
/* : Bool */;
388 val
* var9
/* : HashMap[Object, POSetElement[Object]] */;
389 val
* var11
/* : HashMap[Object, POSetElement[Object]] */;
390 val
* var12
/* : nullable Object */;
391 /* Covariant cast for argument 0 (e) <p0:Object> isa POSet#0 */
392 /* <p0:Object> isa POSet#0 */
393 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
394 cltype
= type_struct
->color
;
395 idtype
= type_struct
->id
;
396 if(cltype
>= p0
->type
->table_size
) {
399 var1
= p0
->type
->type_table
[cltype
] == idtype
;
401 if (unlikely(!var1
)) {
402 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
403 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name
);
404 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 50);
409 { /* Inline poset#POSet#elements (self) on <self:POSet[Object]> */
410 var4
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[Object]> */
411 if (unlikely(var4
== NULL
)) {
412 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
413 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 31);
421 { /* Inline hash_collection#HashMap#keys (var2) on <var2:HashMap[Object, POSetElement[Object]]> */
422 var7
= var2
->attrs
[COLOR_hash_collection__HashMap___keys
].val
; /* _keys on <var2:HashMap[Object, POSetElement[Object]]> */
423 if (unlikely(var7
== NULL
)) {
424 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _keys");
425 PRINT_ERROR(" (%s:%d)\n", "lib/standard/collection/hash_collection.nit", 245);
433 var8
= ((short int (*)(val
*, val
*))(var5
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var5
, var_e
) /* has on <var5:RemovableCollection[Object]>*/;
435 if (unlikely(!var8
)) {
436 PRINT_ERROR("Runtime error: %s", "Assert failed");
437 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 63);
441 { /* Inline poset#POSet#elements (self) on <self:POSet[Object]> */
442 var11
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[Object]> */
443 if (unlikely(var11
== NULL
)) {
444 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
445 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 31);
453 var12
= hash_collection__HashMap___91d_93d(var9
, var_e
);
460 /* method poset#POSet#[] for (self: Object, Object): POSetElement[Object] */
461 val
* VIRTUAL_poset__POSet___91d_93d(val
* self
, val
* p0
) {
462 val
* var
/* : POSetElement[Object] */;
463 val
* var1
/* : POSetElement[Object] */;
464 var1
= poset__POSet___91d_93d(self
, p0
);
469 /* method poset#POSet#add_edge for (self: POSet[Object], Object, Object) */
470 void poset__POSet__add_edge(val
* self
, val
* p0
, val
* p1
) {
471 short int var
/* : Bool */;
474 const struct type
* type_struct
;
475 const char* var_class_name
;
476 short int var1
/* : Bool */;
479 const struct type
* type_struct4
;
480 const char* var_class_name5
;
481 val
* var_f
/* var f: Object */;
482 val
* var_t
/* var t: Object */;
483 val
* var6
/* : POSetElement[Object] */;
484 val
* var_fe
/* var fe: POSetElement[Object] */;
485 val
* var7
/* : POSetElement[Object] */;
486 val
* var_te
/* var te: POSetElement[Object] */;
487 val
* var8
/* : HashSet[Object] */;
488 val
* var10
/* : HashSet[Object] */;
489 short int var11
/* : Bool */;
490 val
* var12
/* : HashSet[Object] */;
491 val
* var14
/* : HashSet[Object] */;
492 val
* var15
/* : Iterator[Object] */;
493 short int var16
/* : Bool */;
494 val
* var17
/* : nullable Object */;
495 val
* var_ff
/* var ff: Object */;
496 val
* var18
/* : HashMap[Object, POSetElement[Object]] */;
497 val
* var20
/* : HashMap[Object, POSetElement[Object]] */;
498 val
* var21
/* : nullable Object */;
499 val
* var_ffe
/* var ffe: POSetElement[Object] */;
500 val
* var22
/* : HashSet[Object] */;
501 val
* var24
/* : HashSet[Object] */;
502 val
* var25
/* : Iterator[Object] */;
503 short int var26
/* : Bool */;
504 val
* var27
/* : nullable Object */;
505 val
* var_tt
/* var tt: Object */;
506 val
* var28
/* : HashMap[Object, POSetElement[Object]] */;
507 val
* var30
/* : HashMap[Object, POSetElement[Object]] */;
508 val
* var31
/* : nullable Object */;
509 val
* var_tte
/* var tte: POSetElement[Object] */;
510 val
* var32
/* : HashSet[Object] */;
511 val
* var34
/* : HashSet[Object] */;
512 val
* var35
/* : HashSet[Object] */;
513 val
* var37
/* : HashSet[Object] */;
514 val
* var39
/* : HashSet[Object] */;
515 val
* var41
/* : HashSet[Object] */;
516 short int var42
/* : Bool */;
517 val
* var43
/* : HashSet[Object] */;
518 val
* var45
/* : HashSet[Object] */;
519 val
* var46
/* : Array[nullable Object] */;
520 val
* var47
/* : ArrayIterator[nullable Object] */;
521 short int var48
/* : Bool */;
522 val
* var49
/* : nullable Object */;
523 val
* var_x
/* var x: Object */;
524 val
* var50
/* : HashMap[Object, POSetElement[Object]] */;
525 val
* var52
/* : HashMap[Object, POSetElement[Object]] */;
526 val
* var53
/* : nullable Object */;
527 val
* var_xe
/* var xe: POSetElement[Object] */;
528 val
* var54
/* : HashSet[Object] */;
529 val
* var56
/* : HashSet[Object] */;
530 short int var57
/* : Bool */;
531 val
* var58
/* : HashSet[Object] */;
532 val
* var60
/* : HashSet[Object] */;
533 val
* var61
/* : HashSet[Object] */;
534 val
* var63
/* : HashSet[Object] */;
535 val
* var65
/* : HashSet[Object] */;
536 val
* var67
/* : HashSet[Object] */;
537 val
* var68
/* : Array[nullable Object] */;
538 val
* var69
/* : ArrayIterator[nullable Object] */;
539 short int var70
/* : Bool */;
540 val
* var71
/* : nullable Object */;
541 val
* var_x72
/* var x: Object */;
542 val
* var73
/* : HashMap[Object, POSetElement[Object]] */;
543 val
* var75
/* : HashMap[Object, POSetElement[Object]] */;
544 val
* var76
/* : nullable Object */;
545 val
* var_xe77
/* var xe: POSetElement[Object] */;
546 val
* var78
/* : HashSet[Object] */;
547 val
* var80
/* : HashSet[Object] */;
548 short int var81
/* : Bool */;
549 val
* var82
/* : HashSet[Object] */;
550 val
* var84
/* : HashSet[Object] */;
551 val
* var85
/* : HashSet[Object] */;
552 val
* var87
/* : HashSet[Object] */;
553 val
* var89
/* : HashSet[Object] */;
554 val
* var91
/* : HashSet[Object] */;
555 val
* var92
/* : HashSet[Object] */;
556 val
* var94
/* : HashSet[Object] */;
557 /* Covariant cast for argument 0 (f) <p0:Object> isa POSet#0 */
558 /* <p0:Object> isa POSet#0 */
559 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
560 cltype
= type_struct
->color
;
561 idtype
= type_struct
->id
;
562 if(cltype
>= p0
->type
->table_size
) {
565 var
= p0
->type
->type_table
[cltype
] == idtype
;
567 if (unlikely(!var
)) {
568 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
569 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name
);
570 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 67);
573 /* Covariant cast for argument 1 (t) <p1:Object> isa POSet#0 */
574 /* <p1:Object> isa POSet#0 */
575 type_struct4
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
576 cltype2
= type_struct4
->color
;
577 idtype3
= type_struct4
->id
;
578 if(cltype2
>= p1
->type
->table_size
) {
581 var1
= p1
->type
->type_table
[cltype2
] == idtype3
;
583 if (unlikely(!var1
)) {
584 var_class_name5
= p1
== NULL ?
"null" : p1
->type
->name
;
585 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name5
);
586 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 67);
592 var6
= poset__POSet__add_node(self
, var_f
);
596 var7
= poset__POSet__add_node(self
, var_t
);
600 { /* Inline poset#POSetElement#tos (var_fe) on <var_fe:POSetElement[Object]> */
601 var10
= var_fe
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <var_fe:POSetElement[Object]> */
602 if (unlikely(var10
== NULL
)) {
603 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
604 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 194);
612 var11
= hash_collection__HashSet__has(var8
, var_t
);
619 { /* Inline poset#POSetElement#froms (var_fe) on <var_fe:POSetElement[Object]> */
620 var14
= var_fe
->attrs
[COLOR_poset__POSetElement___froms
].val
; /* _froms on <var_fe:POSetElement[Object]> */
621 if (unlikely(var14
== NULL
)) {
622 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _froms");
623 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 195);
631 var15
= hash_collection__HashSet__iterator(var12
);
635 var16
= ((short int (*)(val
*))(var15
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var15
) /* is_ok on <var15:Iterator[Object]>*/;
639 var17
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var15
) /* item on <var15:Iterator[Object]>*/;
643 { /* Inline poset#POSet#elements (self) on <self:POSet[Object]> */
644 var20
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[Object]> */
645 if (unlikely(var20
== NULL
)) {
646 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
647 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 31);
655 var21
= hash_collection__HashMap___91d_93d(var18
, var_ff
);
659 { /* Inline poset#POSetElement#tos (var_te) on <var_te:POSetElement[Object]> */
660 var24
= var_te
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <var_te:POSetElement[Object]> */
661 if (unlikely(var24
== NULL
)) {
662 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
663 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 194);
671 var25
= hash_collection__HashSet__iterator(var22
);
675 var26
= ((short int (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var25
) /* is_ok on <var25:Iterator[Object]>*/;
679 var27
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var25
) /* item on <var25:Iterator[Object]>*/;
683 { /* Inline poset#POSet#elements (self) on <self:POSet[Object]> */
684 var30
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[Object]> */
685 if (unlikely(var30
== NULL
)) {
686 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
687 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 31);
695 var31
= hash_collection__HashMap___91d_93d(var28
, var_tt
);
699 { /* Inline poset#POSetElement#froms (var_tte) on <var_tte:POSetElement[Object]> */
700 var34
= var_tte
->attrs
[COLOR_poset__POSetElement___froms
].val
; /* _froms on <var_tte:POSetElement[Object]> */
701 if (unlikely(var34
== NULL
)) {
702 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _froms");
703 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 195);
711 hash_collection__HashSet__add(var32
, var_ff
); /* Direct call hash_collection#HashSet#add on <var32:HashSet[Object]>*/
714 { /* Inline poset#POSetElement#tos (var_ffe) on <var_ffe:POSetElement[Object]> */
715 var37
= var_ffe
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <var_ffe:POSetElement[Object]> */
716 if (unlikely(var37
== NULL
)) {
717 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
718 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 194);
726 hash_collection__HashSet__add(var35
, var_tt
); /* Direct call hash_collection#HashSet#add on <var35:HashSet[Object]>*/
728 CONTINUE_label
: (void)0;
730 ((void (*)(val
*))(var25
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var25
) /* next on <var25:Iterator[Object]>*/;
733 BREAK_label
: (void)0;
734 CONTINUE_label38
: (void)0;
736 ((void (*)(val
*))(var15
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var15
) /* next on <var15:Iterator[Object]>*/;
739 BREAK_label38
: (void)0;
741 { /* Inline poset#POSetElement#tos (var_te) on <var_te:POSetElement[Object]> */
742 var41
= var_te
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <var_te:POSetElement[Object]> */
743 if (unlikely(var41
== NULL
)) {
744 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
745 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 194);
753 var42
= hash_collection__HashSet__has(var39
, var_f
);
760 { /* Inline poset#POSetElement#dfroms (var_te) on <var_te:POSetElement[Object]> */
761 var45
= var_te
->attrs
[COLOR_poset__POSetElement___dfroms
].val
; /* _dfroms on <var_te:POSetElement[Object]> */
762 if (unlikely(var45
== NULL
)) {
763 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dfroms");
764 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 197);
772 var46
= array__Collection__to_a(var43
);
775 var47
= array__AbstractArrayRead__iterator(var46
);
779 var48
= array__ArrayIterator__is_ok(var47
);
783 var49
= array__ArrayIterator__item(var47
);
787 { /* Inline poset#POSet#elements (self) on <self:POSet[Object]> */
788 var52
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[Object]> */
789 if (unlikely(var52
== NULL
)) {
790 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
791 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 31);
799 var53
= hash_collection__HashMap___91d_93d(var50
, var_x
);
803 { /* Inline poset#POSetElement#tos (var_xe) on <var_xe:POSetElement[Object]> */
804 var56
= var_xe
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <var_xe:POSetElement[Object]> */
805 if (unlikely(var56
== NULL
)) {
806 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
807 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 194);
815 var57
= hash_collection__HashSet__has(var54
, var_f
);
819 { /* Inline poset#POSetElement#dfroms (var_te) on <var_te:POSetElement[Object]> */
820 var60
= var_te
->attrs
[COLOR_poset__POSetElement___dfroms
].val
; /* _dfroms on <var_te:POSetElement[Object]> */
821 if (unlikely(var60
== NULL
)) {
822 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dfroms");
823 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 197);
831 hash_collection__HashSet__remove(var58
, var_x
); /* Direct call hash_collection#HashSet#remove on <var58:HashSet[Object]>*/
834 { /* Inline poset#POSetElement#dtos (var_xe) on <var_xe:POSetElement[Object]> */
835 var63
= var_xe
->attrs
[COLOR_poset__POSetElement___dtos
].val
; /* _dtos on <var_xe:POSetElement[Object]> */
836 if (unlikely(var63
== NULL
)) {
837 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dtos");
838 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 196);
846 hash_collection__HashSet__remove(var61
, var_t
); /* Direct call hash_collection#HashSet#remove on <var61:HashSet[Object]>*/
850 CONTINUE_label64
: (void)0;
852 array__ArrayIterator__next(var47
); /* Direct call array#ArrayIterator#next on <var47:ArrayIterator[nullable Object]>*/
855 BREAK_label64
: (void)0;
857 { /* Inline poset#POSetElement#dtos (var_fe) on <var_fe:POSetElement[Object]> */
858 var67
= var_fe
->attrs
[COLOR_poset__POSetElement___dtos
].val
; /* _dtos on <var_fe:POSetElement[Object]> */
859 if (unlikely(var67
== NULL
)) {
860 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dtos");
861 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 196);
869 var68
= array__Collection__to_a(var65
);
872 var69
= array__AbstractArrayRead__iterator(var68
);
876 var70
= array__ArrayIterator__is_ok(var69
);
880 var71
= array__ArrayIterator__item(var69
);
884 { /* Inline poset#POSet#elements (self) on <self:POSet[Object]> */
885 var75
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[Object]> */
886 if (unlikely(var75
== NULL
)) {
887 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
888 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 31);
896 var76
= hash_collection__HashMap___91d_93d(var73
, var_x72
);
900 { /* Inline poset#POSetElement#froms (var_xe77) on <var_xe77:POSetElement[Object]> */
901 var80
= var_xe77
->attrs
[COLOR_poset__POSetElement___froms
].val
; /* _froms on <var_xe77:POSetElement[Object]> */
902 if (unlikely(var80
== NULL
)) {
903 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _froms");
904 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 195);
912 var81
= hash_collection__HashSet__has(var78
, var_t
);
916 { /* Inline poset#POSetElement#dfroms (var_xe77) on <var_xe77:POSetElement[Object]> */
917 var84
= var_xe77
->attrs
[COLOR_poset__POSetElement___dfroms
].val
; /* _dfroms on <var_xe77:POSetElement[Object]> */
918 if (unlikely(var84
== NULL
)) {
919 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dfroms");
920 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 197);
928 hash_collection__HashSet__remove(var82
, var_f
); /* Direct call hash_collection#HashSet#remove on <var82:HashSet[Object]>*/
931 { /* Inline poset#POSetElement#dtos (var_fe) on <var_fe:POSetElement[Object]> */
932 var87
= var_fe
->attrs
[COLOR_poset__POSetElement___dtos
].val
; /* _dtos on <var_fe:POSetElement[Object]> */
933 if (unlikely(var87
== NULL
)) {
934 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dtos");
935 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 196);
943 hash_collection__HashSet__remove(var85
, var_x72
); /* Direct call hash_collection#HashSet#remove on <var85:HashSet[Object]>*/
947 CONTINUE_label88
: (void)0;
949 array__ArrayIterator__next(var69
); /* Direct call array#ArrayIterator#next on <var69:ArrayIterator[nullable Object]>*/
952 BREAK_label88
: (void)0;
954 { /* Inline poset#POSetElement#dtos (var_fe) on <var_fe:POSetElement[Object]> */
955 var91
= var_fe
->attrs
[COLOR_poset__POSetElement___dtos
].val
; /* _dtos on <var_fe:POSetElement[Object]> */
956 if (unlikely(var91
== NULL
)) {
957 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dtos");
958 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 196);
966 hash_collection__HashSet__add(var89
, var_t
); /* Direct call hash_collection#HashSet#add on <var89:HashSet[Object]>*/
969 { /* Inline poset#POSetElement#dfroms (var_te) on <var_te:POSetElement[Object]> */
970 var94
= var_te
->attrs
[COLOR_poset__POSetElement___dfroms
].val
; /* _dfroms on <var_te:POSetElement[Object]> */
971 if (unlikely(var94
== NULL
)) {
972 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dfroms");
973 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 197);
981 hash_collection__HashSet__add(var92
, var_f
); /* Direct call hash_collection#HashSet#add on <var92:HashSet[Object]>*/
985 /* method poset#POSet#add_edge for (self: Object, Object, Object) */
986 void VIRTUAL_poset__POSet__add_edge(val
* self
, val
* p0
, val
* p1
) {
987 poset__POSet__add_edge(self
, p0
, p1
); /* Direct call poset#POSet#add_edge on <self:Object(POSet[Object])>*/
990 /* method poset#POSet#compare for (self: POSet[Object], Object, Object): Int */
991 long poset__POSet__compare(val
* self
, val
* p0
, val
* p1
) {
992 long var
/* : Int */;
993 short int var1
/* : Bool */;
996 const struct type
* type_struct
;
997 const char* var_class_name
;
998 short int var2
/* : Bool */;
1001 const struct type
* type_struct5
;
1002 const char* var_class_name6
;
1003 val
* var_a
/* var a: Object */;
1004 val
* var_b
/* var b: Object */;
1005 val
* var7
/* : HashMap[Object, POSetElement[Object]] */;
1006 val
* var9
/* : HashMap[Object, POSetElement[Object]] */;
1007 val
* var10
/* : nullable Object */;
1008 val
* var_ae
/* var ae: POSetElement[Object] */;
1009 val
* var11
/* : HashMap[Object, POSetElement[Object]] */;
1010 val
* var13
/* : HashMap[Object, POSetElement[Object]] */;
1011 val
* var14
/* : nullable Object */;
1012 val
* var_be
/* var be: POSetElement[Object] */;
1013 val
* var15
/* : HashSet[Object] */;
1014 val
* var17
/* : HashSet[Object] */;
1015 long var18
/* : Int */;
1016 val
* var19
/* : HashSet[Object] */;
1017 val
* var21
/* : HashSet[Object] */;
1018 long var22
/* : Int */;
1019 long var23
/* : Int */;
1020 long var_res
/* var res: Int */;
1021 long var24
/* : Int */;
1022 short int var25
/* : Bool */;
1023 short int var26
/* : Bool */;
1024 short int var28
/* : Bool */;
1025 short int var29
/* : Bool */;
1026 val
* var30
/* : HashMap[Object, POSetElement[Object]] */;
1027 val
* var32
/* : HashMap[Object, POSetElement[Object]] */;
1028 val
* var33
/* : nullable Object */;
1029 long var34
/* : Int */;
1030 long var36
/* : Int */;
1031 val
* var37
/* : HashMap[Object, POSetElement[Object]] */;
1032 val
* var39
/* : HashMap[Object, POSetElement[Object]] */;
1033 val
* var40
/* : nullable Object */;
1034 long var41
/* : Int */;
1035 long var43
/* : Int */;
1036 long var44
/* : Int */;
1037 /* Covariant cast for argument 0 (a) <p0:Object> isa POSet#0 */
1038 /* <p0:Object> isa POSet#0 */
1039 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
1040 cltype
= type_struct
->color
;
1041 idtype
= type_struct
->id
;
1042 if(cltype
>= p0
->type
->table_size
) {
1045 var1
= p0
->type
->type_table
[cltype
] == idtype
;
1047 if (unlikely(!var1
)) {
1048 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1049 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name
);
1050 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 151);
1053 /* Covariant cast for argument 1 (b) <p1:Object> isa POSet#0 */
1054 /* <p1:Object> isa POSet#0 */
1055 type_struct5
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
1056 cltype3
= type_struct5
->color
;
1057 idtype4
= type_struct5
->id
;
1058 if(cltype3
>= p1
->type
->table_size
) {
1061 var2
= p1
->type
->type_table
[cltype3
] == idtype4
;
1063 if (unlikely(!var2
)) {
1064 var_class_name6
= p1
== NULL ?
"null" : p1
->type
->name
;
1065 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name6
);
1066 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 151);
1072 { /* Inline poset#POSet#elements (self) on <self:POSet[Object]> */
1073 var9
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[Object]> */
1074 if (unlikely(var9
== NULL
)) {
1075 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
1076 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 31);
1084 var10
= hash_collection__HashMap___91d_93d(var7
, var_a
);
1088 { /* Inline poset#POSet#elements (self) on <self:POSet[Object]> */
1089 var13
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[Object]> */
1090 if (unlikely(var13
== NULL
)) {
1091 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
1092 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 31);
1096 RET_LABEL12
:(void)0;
1100 var14
= hash_collection__HashMap___91d_93d(var11
, var_b
);
1104 { /* Inline poset#POSetElement#tos (var_ae) on <var_ae:POSetElement[Object]> */
1105 var17
= var_ae
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <var_ae:POSetElement[Object]> */
1106 if (unlikely(var17
== NULL
)) {
1107 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
1108 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 194);
1112 RET_LABEL16
:(void)0;
1116 var18
= hash_collection__HashSet__length(var15
);
1119 { /* Inline poset#POSetElement#tos (var_be) on <var_be:POSetElement[Object]> */
1120 var21
= var_be
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <var_be:POSetElement[Object]> */
1121 if (unlikely(var21
== NULL
)) {
1122 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
1123 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 194);
1127 RET_LABEL20
:(void)0;
1131 var22
= hash_collection__HashSet__length(var19
);
1134 var23
= kernel__Int___60d_61d_62d(var18
, var22
);
1139 { /* Inline kernel#Int#!= (var_res,var24) on <var_res:Int> */
1140 var28
= var_res
== var24
;
1144 RET_LABEL27
:(void)0;
1154 { /* Inline poset#POSet#elements (self) on <self:POSet[Object]> */
1155 var32
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[Object]> */
1156 if (unlikely(var32
== NULL
)) {
1157 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
1158 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 31);
1162 RET_LABEL31
:(void)0;
1166 var33
= hash_collection__HashMap___91d_93d(var30
, var_a
);
1169 { /* Inline poset#POSetElement#count (var33) on <var33:nullable Object(POSetElement[Object])> */
1170 var36
= var33
->attrs
[COLOR_poset__POSetElement___count
].l
; /* _count on <var33:nullable Object(POSetElement[Object])> */
1172 RET_LABEL35
:(void)0;
1176 { /* Inline poset#POSet#elements (self) on <self:POSet[Object]> */
1177 var39
= self
->attrs
[COLOR_poset__POSet___elements
].val
; /* _elements on <self:POSet[Object]> */
1178 if (unlikely(var39
== NULL
)) {
1179 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _elements");
1180 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 31);
1184 RET_LABEL38
:(void)0;
1188 var40
= hash_collection__HashMap___91d_93d(var37
, var_b
);
1191 { /* Inline poset#POSetElement#count (var40) on <var40:nullable Object(POSetElement[Object])> */
1192 var43
= var40
->attrs
[COLOR_poset__POSetElement___count
].l
; /* _count on <var40:nullable Object(POSetElement[Object])> */
1194 RET_LABEL42
:(void)0;
1198 var44
= kernel__Int___60d_61d_62d(var34
, var41
);
1205 /* method poset#POSet#compare for (self: Object, nullable Object, nullable Object): Int */
1206 long VIRTUAL_poset__POSet__compare(val
* self
, val
* p0
, val
* p1
) {
1207 long var
/* : Int */;
1208 long var1
/* : Int */;
1209 var1
= poset__POSet__compare(self
, p0
, p1
);
1214 /* method poset#POSet#linearize for (self: POSet[Object], Collection[Object]): Array[Object] */
1215 val
* poset__POSet__linearize(val
* self
, val
* p0
) {
1216 val
* var
/* : Array[Object] */;
1217 short int var1
/* : Bool */;
1220 const struct type
* type_struct
;
1221 const char* var_class_name
;
1222 val
* var_elements
/* var elements: Collection[Object] */;
1223 val
* var2
/* : Array[nullable Object] */;
1224 val
* var_lin
/* var lin: Array[Object] */;
1225 /* Covariant cast for argument 0 (elements) <p0:Collection[Object]> isa Collection[POSet#0] */
1226 /* <p0:Collection[Object]> isa Collection[POSet#0] */
1227 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collectionposet__POSet_FT0
];
1228 cltype
= type_struct
->color
;
1229 idtype
= type_struct
->id
;
1230 if(cltype
>= p0
->type
->table_size
) {
1233 var1
= p0
->type
->type_table
[cltype
] == idtype
;
1235 if (unlikely(!var1
)) {
1236 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1237 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[POSet#0]", var_class_name
);
1238 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 167);
1243 var2
= array__Collection__to_a(var_elements
);
1247 sorter__Comparator__sort(self
, var_lin
); /* Direct call sorter#Comparator#sort on <self:POSet[Object]>*/
1254 /* method poset#POSet#linearize for (self: Object, Collection[Object]): Array[Object] */
1255 val
* VIRTUAL_poset__POSet__linearize(val
* self
, val
* p0
) {
1256 val
* var
/* : Array[Object] */;
1257 val
* var1
/* : Array[Object] */;
1258 var1
= poset__POSet__linearize(self
, p0
);
1263 /* method poset#POSet#init for (self: POSet[Object]) */
1264 void poset__POSet__init(val
* self
) {
1267 /* method poset#POSet#init for (self: Object) */
1268 void VIRTUAL_poset__POSet__init(val
* self
) {
1269 { /* Inline poset#POSet#init (self) on <self:Object(POSet[Object])> */
1274 /* method poset#POSetElement#poset for (self: POSetElement[Object]): POSet[Object] */
1275 val
* poset__POSetElement__poset(val
* self
) {
1276 val
* var
/* : POSet[Object] */;
1277 val
* var1
/* : POSet[Object] */;
1278 var1
= self
->attrs
[COLOR_poset__POSetElement___poset
].val
; /* _poset on <self:POSetElement[Object]> */
1279 if (unlikely(var1
== NULL
)) {
1280 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _poset");
1281 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 188);
1288 /* method poset#POSetElement#poset for (self: Object): POSet[Object] */
1289 val
* VIRTUAL_poset__POSetElement__poset(val
* self
) {
1290 val
* var
/* : POSet[Object] */;
1291 val
* var1
/* : POSet[Object] */;
1292 val
* var3
/* : POSet[Object] */;
1293 { /* Inline poset#POSetElement#poset (self) on <self:Object(POSetElement[Object])> */
1294 var3
= self
->attrs
[COLOR_poset__POSetElement___poset
].val
; /* _poset on <self:Object(POSetElement[Object])> */
1295 if (unlikely(var3
== NULL
)) {
1296 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _poset");
1297 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 188);
1307 /* method poset#POSetElement#element for (self: POSetElement[Object]): Object */
1308 val
* poset__POSetElement__element(val
* self
) {
1309 val
* var
/* : Object */;
1310 val
* var1
/* : Object */;
1311 var1
= self
->attrs
[COLOR_poset__POSetElement___element
].val
; /* _element on <self:POSetElement[Object]> */
1312 if (unlikely(var1
== NULL
)) {
1313 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _element");
1314 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 191);
1321 /* method poset#POSetElement#element for (self: Object): Object */
1322 val
* VIRTUAL_poset__POSetElement__element(val
* self
) {
1323 val
* var
/* : Object */;
1324 val
* var1
/* : Object */;
1325 val
* var3
/* : Object */;
1326 { /* Inline poset#POSetElement#element (self) on <self:Object(POSetElement[Object])> */
1327 var3
= self
->attrs
[COLOR_poset__POSetElement___element
].val
; /* _element on <self:Object(POSetElement[Object])> */
1328 if (unlikely(var3
== NULL
)) {
1329 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _element");
1330 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 191);
1340 /* method poset#POSetElement#tos for (self: POSetElement[Object]): HashSet[Object] */
1341 val
* poset__POSetElement__tos(val
* self
) {
1342 val
* var
/* : HashSet[Object] */;
1343 val
* var1
/* : HashSet[Object] */;
1344 var1
= self
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <self:POSetElement[Object]> */
1345 if (unlikely(var1
== NULL
)) {
1346 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
1347 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 194);
1354 /* method poset#POSetElement#tos for (self: Object): HashSet[Object] */
1355 val
* VIRTUAL_poset__POSetElement__tos(val
* self
) {
1356 val
* var
/* : HashSet[Object] */;
1357 val
* var1
/* : HashSet[Object] */;
1358 val
* var3
/* : HashSet[Object] */;
1359 { /* Inline poset#POSetElement#tos (self) on <self:Object(POSetElement[Object])> */
1360 var3
= self
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <self:Object(POSetElement[Object])> */
1361 if (unlikely(var3
== NULL
)) {
1362 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
1363 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 194);
1373 /* method poset#POSetElement#froms for (self: POSetElement[Object]): HashSet[Object] */
1374 val
* poset__POSetElement__froms(val
* self
) {
1375 val
* var
/* : HashSet[Object] */;
1376 val
* var1
/* : HashSet[Object] */;
1377 var1
= self
->attrs
[COLOR_poset__POSetElement___froms
].val
; /* _froms on <self:POSetElement[Object]> */
1378 if (unlikely(var1
== NULL
)) {
1379 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _froms");
1380 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 195);
1387 /* method poset#POSetElement#froms for (self: Object): HashSet[Object] */
1388 val
* VIRTUAL_poset__POSetElement__froms(val
* self
) {
1389 val
* var
/* : HashSet[Object] */;
1390 val
* var1
/* : HashSet[Object] */;
1391 val
* var3
/* : HashSet[Object] */;
1392 { /* Inline poset#POSetElement#froms (self) on <self:Object(POSetElement[Object])> */
1393 var3
= self
->attrs
[COLOR_poset__POSetElement___froms
].val
; /* _froms on <self:Object(POSetElement[Object])> */
1394 if (unlikely(var3
== NULL
)) {
1395 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _froms");
1396 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 195);
1406 /* method poset#POSetElement#dtos for (self: POSetElement[Object]): HashSet[Object] */
1407 val
* poset__POSetElement__dtos(val
* self
) {
1408 val
* var
/* : HashSet[Object] */;
1409 val
* var1
/* : HashSet[Object] */;
1410 var1
= self
->attrs
[COLOR_poset__POSetElement___dtos
].val
; /* _dtos on <self:POSetElement[Object]> */
1411 if (unlikely(var1
== NULL
)) {
1412 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dtos");
1413 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 196);
1420 /* method poset#POSetElement#dtos for (self: Object): HashSet[Object] */
1421 val
* VIRTUAL_poset__POSetElement__dtos(val
* self
) {
1422 val
* var
/* : HashSet[Object] */;
1423 val
* var1
/* : HashSet[Object] */;
1424 val
* var3
/* : HashSet[Object] */;
1425 { /* Inline poset#POSetElement#dtos (self) on <self:Object(POSetElement[Object])> */
1426 var3
= self
->attrs
[COLOR_poset__POSetElement___dtos
].val
; /* _dtos on <self:Object(POSetElement[Object])> */
1427 if (unlikely(var3
== NULL
)) {
1428 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dtos");
1429 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 196);
1439 /* method poset#POSetElement#dfroms for (self: POSetElement[Object]): HashSet[Object] */
1440 val
* poset__POSetElement__dfroms(val
* self
) {
1441 val
* var
/* : HashSet[Object] */;
1442 val
* var1
/* : HashSet[Object] */;
1443 var1
= self
->attrs
[COLOR_poset__POSetElement___dfroms
].val
; /* _dfroms on <self:POSetElement[Object]> */
1444 if (unlikely(var1
== NULL
)) {
1445 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dfroms");
1446 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 197);
1453 /* method poset#POSetElement#dfroms for (self: Object): HashSet[Object] */
1454 val
* VIRTUAL_poset__POSetElement__dfroms(val
* self
) {
1455 val
* var
/* : HashSet[Object] */;
1456 val
* var1
/* : HashSet[Object] */;
1457 val
* var3
/* : HashSet[Object] */;
1458 { /* Inline poset#POSetElement#dfroms (self) on <self:Object(POSetElement[Object])> */
1459 var3
= self
->attrs
[COLOR_poset__POSetElement___dfroms
].val
; /* _dfroms on <self:Object(POSetElement[Object])> */
1460 if (unlikely(var3
== NULL
)) {
1461 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dfroms");
1462 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 197);
1472 /* method poset#POSetElement#count for (self: POSetElement[Object]): Int */
1473 long poset__POSetElement__count(val
* self
) {
1474 long var
/* : Int */;
1475 long var1
/* : Int */;
1476 var1
= self
->attrs
[COLOR_poset__POSetElement___count
].l
; /* _count on <self:POSetElement[Object]> */
1481 /* method poset#POSetElement#count for (self: Object): Int */
1482 long VIRTUAL_poset__POSetElement__count(val
* self
) {
1483 long var
/* : Int */;
1484 long var1
/* : Int */;
1485 long var3
/* : Int */;
1486 { /* Inline poset#POSetElement#count (self) on <self:Object(POSetElement[Object])> */
1487 var3
= self
->attrs
[COLOR_poset__POSetElement___count
].l
; /* _count on <self:Object(POSetElement[Object])> */
1495 /* method poset#POSetElement#greaters for (self: POSetElement[Object]): Collection[Object] */
1496 val
* poset__POSetElement__greaters(val
* self
) {
1497 val
* var
/* : Collection[Object] */;
1498 val
* var1
/* : HashSet[Object] */;
1499 val
* var3
/* : HashSet[Object] */;
1501 { /* Inline poset#POSetElement#tos (self) on <self:POSetElement[Object]> */
1502 var3
= self
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <self:POSetElement[Object]> */
1503 if (unlikely(var3
== NULL
)) {
1504 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
1505 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 194);
1517 /* method poset#POSetElement#greaters for (self: Object): Collection[Object] */
1518 val
* VIRTUAL_poset__POSetElement__greaters(val
* self
) {
1519 val
* var
/* : Collection[Object] */;
1520 val
* var1
/* : Collection[Object] */;
1521 var1
= poset__POSetElement__greaters(self
);
1526 /* method poset#POSetElement#direct_greaters for (self: POSetElement[Object]): Collection[Object] */
1527 val
* poset__POSetElement__direct_greaters(val
* self
) {
1528 val
* var
/* : Collection[Object] */;
1529 val
* var1
/* : HashSet[Object] */;
1530 val
* var3
/* : HashSet[Object] */;
1532 { /* Inline poset#POSetElement#dtos (self) on <self:POSetElement[Object]> */
1533 var3
= self
->attrs
[COLOR_poset__POSetElement___dtos
].val
; /* _dtos on <self:POSetElement[Object]> */
1534 if (unlikely(var3
== NULL
)) {
1535 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dtos");
1536 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 196);
1548 /* method poset#POSetElement#direct_greaters for (self: Object): Collection[Object] */
1549 val
* VIRTUAL_poset__POSetElement__direct_greaters(val
* self
) {
1550 val
* var
/* : Collection[Object] */;
1551 val
* var1
/* : Collection[Object] */;
1552 var1
= poset__POSetElement__direct_greaters(self
);
1557 /* method poset#POSetElement#smallers for (self: POSetElement[Object]): Collection[Object] */
1558 val
* poset__POSetElement__smallers(val
* self
) {
1559 val
* var
/* : Collection[Object] */;
1560 val
* var1
/* : HashSet[Object] */;
1561 val
* var3
/* : HashSet[Object] */;
1563 { /* Inline poset#POSetElement#froms (self) on <self:POSetElement[Object]> */
1564 var3
= self
->attrs
[COLOR_poset__POSetElement___froms
].val
; /* _froms on <self:POSetElement[Object]> */
1565 if (unlikely(var3
== NULL
)) {
1566 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _froms");
1567 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 195);
1579 /* method poset#POSetElement#smallers for (self: Object): Collection[Object] */
1580 val
* VIRTUAL_poset__POSetElement__smallers(val
* self
) {
1581 val
* var
/* : Collection[Object] */;
1582 val
* var1
/* : Collection[Object] */;
1583 var1
= poset__POSetElement__smallers(self
);
1588 /* method poset#POSetElement#direct_smallers for (self: POSetElement[Object]): Collection[Object] */
1589 val
* poset__POSetElement__direct_smallers(val
* self
) {
1590 val
* var
/* : Collection[Object] */;
1591 val
* var1
/* : HashSet[Object] */;
1592 val
* var3
/* : HashSet[Object] */;
1594 { /* Inline poset#POSetElement#dfroms (self) on <self:POSetElement[Object]> */
1595 var3
= self
->attrs
[COLOR_poset__POSetElement___dfroms
].val
; /* _dfroms on <self:POSetElement[Object]> */
1596 if (unlikely(var3
== NULL
)) {
1597 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _dfroms");
1598 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 197);
1610 /* method poset#POSetElement#direct_smallers for (self: Object): Collection[Object] */
1611 val
* VIRTUAL_poset__POSetElement__direct_smallers(val
* self
) {
1612 val
* var
/* : Collection[Object] */;
1613 val
* var1
/* : Collection[Object] */;
1614 var1
= poset__POSetElement__direct_smallers(self
);
1619 /* method poset#POSetElement#<= for (self: POSetElement[Object], Object): Bool */
1620 short int poset__POSetElement___60d_61d(val
* self
, val
* p0
) {
1621 short int var
/* : Bool */;
1622 short int var1
/* : Bool */;
1625 const struct type
* type_struct
;
1626 const char* var_class_name
;
1627 val
* var_t
/* var t: Object */;
1628 val
* var2
/* : HashSet[Object] */;
1629 val
* var4
/* : HashSet[Object] */;
1630 short int var5
/* : Bool */;
1631 /* Covariant cast for argument 0 (t) <p0:Object> isa POSetElement#0 */
1632 /* <p0:Object> isa POSetElement#0 */
1633 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSetElement_FT0
];
1634 cltype
= type_struct
->color
;
1635 idtype
= type_struct
->id
;
1636 if(cltype
>= p0
->type
->table_size
) {
1639 var1
= p0
->type
->type_table
[cltype
] == idtype
;
1641 if (unlikely(!var1
)) {
1642 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1643 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "POSetElement#0", var_class_name
);
1644 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 229);
1649 { /* Inline poset#POSetElement#tos (self) on <self:POSetElement[Object]> */
1650 var4
= self
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <self:POSetElement[Object]> */
1651 if (unlikely(var4
== NULL
)) {
1652 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
1653 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 194);
1661 var5
= hash_collection__HashSet__has(var2
, var_t
);
1668 /* method poset#POSetElement#<= for (self: Object, Object): Bool */
1669 short int VIRTUAL_poset__POSetElement___60d_61d(val
* self
, val
* p0
) {
1670 short int var
/* : Bool */;
1671 short int var1
/* : Bool */;
1672 var1
= poset__POSetElement___60d_61d(self
, p0
);
1677 /* method poset#POSetElement#< for (self: POSetElement[Object], Object): Bool */
1678 short int poset__POSetElement___60d(val
* self
, val
* p0
) {
1679 short int var
/* : Bool */;
1680 short int var1
/* : Bool */;
1683 const struct type
* type_struct
;
1684 const char* var_class_name
;
1685 val
* var_t
/* var t: Object */;
1686 short int var2
/* : Bool */;
1687 val
* var3
/* : Object */;
1688 val
* var5
/* : Object */;
1689 short int var6
/* : Bool */;
1690 short int var7
/* : Bool */;
1691 short int var_
/* var : Bool */;
1692 val
* var8
/* : HashSet[Object] */;
1693 val
* var10
/* : HashSet[Object] */;
1694 short int var11
/* : Bool */;
1695 /* Covariant cast for argument 0 (t) <p0:Object> isa POSetElement#0 */
1696 /* <p0:Object> isa POSetElement#0 */
1697 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSetElement_FT0
];
1698 cltype
= type_struct
->color
;
1699 idtype
= type_struct
->id
;
1700 if(cltype
>= p0
->type
->table_size
) {
1703 var1
= p0
->type
->type_table
[cltype
] == idtype
;
1705 if (unlikely(!var1
)) {
1706 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1707 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "POSetElement#0", var_class_name
);
1708 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 235);
1713 { /* Inline poset#POSetElement#element (self) on <self:POSetElement[Object]> */
1714 var5
= self
->attrs
[COLOR_poset__POSetElement___element
].val
; /* _element on <self:POSetElement[Object]> */
1715 if (unlikely(var5
== NULL
)) {
1716 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _element");
1717 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 191);
1725 var7
= ((short int (*)(val
*, val
*))(var_t
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_t
, var3
) /* != on <var_t:Object>*/;
1731 { /* Inline poset#POSetElement#tos (self) on <self:POSetElement[Object]> */
1732 var10
= self
->attrs
[COLOR_poset__POSetElement___tos
].val
; /* _tos on <self:POSetElement[Object]> */
1733 if (unlikely(var10
== NULL
)) {
1734 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tos");
1735 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 194);
1743 var11
= hash_collection__HashSet__has(var8
, var_t
);
1754 /* method poset#POSetElement#< for (self: Object, Object): Bool */
1755 short int VIRTUAL_poset__POSetElement___60d(val
* self
, val
* p0
) {
1756 short int var
/* : Bool */;
1757 short int var1
/* : Bool */;
1758 var1
= poset__POSetElement___60d(self
, p0
);
1763 /* method poset#POSetElement#init for (self: POSetElement[Object], POSet[Object], Object, Int) */
1764 void poset__POSetElement__init(val
* self
, val
* p0
, val
* p1
, long p2
) {
1765 short int var
/* : Bool */;
1768 const struct type
* type_struct
;
1769 const char* var_class_name
;
1770 short int var1
/* : Bool */;
1773 const struct type
* type_struct4
;
1774 const char* var_class_name5
;
1775 /* Covariant cast for argument 0 (poset) <p0:POSet[Object]> isa POSet[POSetElement#0] */
1776 /* <p0:POSet[Object]> isa POSet[POSetElement#0] */
1777 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSetposet__POSetElement_FT0
];
1778 cltype
= type_struct
->color
;
1779 idtype
= type_struct
->id
;
1780 if(cltype
>= p0
->type
->table_size
) {
1783 var
= p0
->type
->type_table
[cltype
] == idtype
;
1785 if (unlikely(!var
)) {
1786 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1787 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet[POSetElement#0]", var_class_name
);
1788 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 175);
1791 /* Covariant cast for argument 1 (element) <p1:Object> isa POSetElement#0 */
1792 /* <p1:Object> isa POSetElement#0 */
1793 type_struct4
= self
->type
->resolution_table
->types
[COLOR_poset__POSetElement_FT0
];
1794 cltype2
= type_struct4
->color
;
1795 idtype3
= type_struct4
->id
;
1796 if(cltype2
>= p1
->type
->table_size
) {
1799 var1
= p1
->type
->type_table
[cltype2
] == idtype3
;
1801 if (unlikely(!var1
)) {
1802 var_class_name5
= p1
== NULL ?
"null" : p1
->type
->name
;
1803 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "POSetElement#0", var_class_name5
);
1804 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 175);
1807 self
->attrs
[COLOR_poset__POSetElement___poset
].val
= p0
; /* _poset on <self:POSetElement[Object]> */
1808 self
->attrs
[COLOR_poset__POSetElement___element
].val
= p1
; /* _element on <self:POSetElement[Object]> */
1809 self
->attrs
[COLOR_poset__POSetElement___count
].l
= p2
; /* _count on <self:POSetElement[Object]> */
1812 /* method poset#POSetElement#init for (self: Object, POSet[Object], Object, Int) */
1813 void VIRTUAL_poset__POSetElement__init(val
* self
, val
* p0
, val
* p1
, long p2
) {
1814 short int var
/* : Bool */;
1817 const struct type
* type_struct
;
1818 const char* var_class_name
;
1819 short int var2
/* : Bool */;
1822 const struct type
* type_struct5
;
1823 const char* var_class_name6
;
1824 { /* Inline poset#POSetElement#init (self,p0,p1,p2) on <self:Object(POSetElement[Object])> */
1825 /* Covariant cast for argument 0 (poset) <p0:POSet[Object]> isa POSet[POSetElement#0] */
1826 /* <p0:POSet[Object]> isa POSet[POSetElement#0] */
1827 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSetposet__POSetElement_FT0
];
1828 cltype
= type_struct
->color
;
1829 idtype
= type_struct
->id
;
1830 if(cltype
>= p0
->type
->table_size
) {
1833 var
= p0
->type
->type_table
[cltype
] == idtype
;
1835 if (unlikely(!var
)) {
1836 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1837 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet[POSetElement#0]", var_class_name
);
1838 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 175);
1841 /* Covariant cast for argument 1 (element) <p1:Object> isa POSetElement#0 */
1842 /* <p1:Object> isa POSetElement#0 */
1843 type_struct5
= self
->type
->resolution_table
->types
[COLOR_poset__POSetElement_FT0
];
1844 cltype3
= type_struct5
->color
;
1845 idtype4
= type_struct5
->id
;
1846 if(cltype3
>= p1
->type
->table_size
) {
1849 var2
= p1
->type
->type_table
[cltype3
] == idtype4
;
1851 if (unlikely(!var2
)) {
1852 var_class_name6
= p1
== NULL ?
"null" : p1
->type
->name
;
1853 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "POSetElement#0", var_class_name6
);
1854 PRINT_ERROR(" (%s:%d)\n", "lib/poset.nit", 175);
1857 self
->attrs
[COLOR_poset__POSetElement___poset
].val
= p0
; /* _poset on <self:Object(POSetElement[Object])> */
1858 self
->attrs
[COLOR_poset__POSetElement___element
].val
= p1
; /* _element on <self:Object(POSetElement[Object])> */
1859 self
->attrs
[COLOR_poset__POSetElement___count
].l
= p2
; /* _count on <self:Object(POSetElement[Object])> */