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
* var2
/* : Collection[Object] */;
7 val
* var3
/* : Iterator[nullable Object] */;
8 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
9 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__MapRead__keys
]))(var1
) /* keys on <var1:HashMap[Object, POSetElement[Object]]>*/;
10 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var2
) /* iterator on <var2:Collection[Object](HashMapKeys[Object, POSetElement[Object]])>*/;
16 /* method poset#POSet#iterator for (self: Object): Iterator[nullable Object] */
17 val
* VIRTUAL_poset__POSet__iterator(val
* self
) {
18 val
* var
/* : Iterator[nullable Object] */;
19 val
* var1
/* : Iterator[Object] */;
20 var1
= poset__POSet__iterator(self
);
25 /* method poset#POSet#elements for (self: POSet[Object]): HashMap[Object, POSetElement[Object]] */
26 val
* poset__POSet__elements(val
* self
) {
27 val
* var
/* : HashMap[Object, POSetElement[Object]] */;
28 val
* var1
/* : HashMap[Object, POSetElement[Object]] */;
29 var1
= self
->attrs
[COLOR_poset__POSet___64delements
].val
; /* @elements on <self:POSet[Object]> */
31 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @elements", "lib/poset.nit", 31);
38 /* method poset#POSet#elements for (self: Object): HashMap[Object, POSetElement[Object]] */
39 val
* VIRTUAL_poset__POSet__elements(val
* self
) {
40 val
* var
/* : HashMap[Object, POSetElement[Object]] */;
41 val
* var1
/* : HashMap[Object, POSetElement[Object]] */;
42 var1
= poset__POSet__elements(self
);
47 /* method poset#POSet#elements= for (self: POSet[Object], HashMap[Object, POSetElement[Object]]) */
48 void poset__POSet__elements_61d(val
* self
, val
* p0
) {
49 short int var
/* : Bool */;
52 const struct type
* type_struct
;
53 /* Covariant cast for argument 0 (elements) <p0:HashMap[Object, POSetElement[Object]]> isa HashMap[POSet#0, POSetElement[POSet#0]] */
54 /* <p0:HashMap[Object, POSetElement[Object]]> isa HashMap[POSet#0, POSetElement[POSet#0]] */
55 type_struct
= self
->type
->resolution_table
->types
[COLOR_hash_collection__HashMapposet__POSet_FT0poset__POSetElementposet__POSet_FT0
];
56 cltype
= type_struct
->color
;
57 idtype
= type_struct
->id
;
58 if(cltype
>= p0
->type
->table_size
) {
61 var
= p0
->type
->type_table
[cltype
] == idtype
;
64 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/poset.nit", 31);
67 self
->attrs
[COLOR_poset__POSet___64delements
].val
= p0
; /* @elements on <self:POSet[Object]> */
70 /* method poset#POSet#elements= for (self: Object, HashMap[Object, POSetElement[Object]]) */
71 void VIRTUAL_poset__POSet__elements_61d(val
* self
, val
* p0
) {
72 poset__POSet__elements_61d(self
, p0
);
75 /* method poset#POSet#has for (self: POSet[Object], Object): Bool */
76 short int poset__POSet__has(val
* self
, val
* p0
) {
77 short int var
/* : Bool */;
78 short int var1
/* : Bool */;
81 const struct type
* type_struct
;
82 val
* var_e
/* var e: Object */;
83 val
* var2
/* : HashMap[Object, POSetElement[Object]] */;
84 val
* var3
/* : Collection[Object] */;
85 short int var4
/* : Bool */;
86 /* Covariant cast for argument 0 (e) <p0:Object> isa Collection#0 */
87 /* <p0:Object> isa Collection#0 */
88 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
89 cltype
= type_struct
->color
;
90 idtype
= type_struct
->id
;
91 if(cltype
>= p0
->type
->table_size
) {
94 var1
= p0
->type
->type_table
[cltype
] == idtype
;
97 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/poset.nit", 34);
101 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
102 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__MapRead__keys
]))(var2
) /* keys on <var2:HashMap[Object, POSetElement[Object]]>*/;
103 var4
= ((short int (*)(val
*, val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var3
, var_e
) /* has on <var3:Collection[Object](HashMapKeys[Object, POSetElement[Object]])>*/;
109 /* method poset#POSet#has for (self: Object, nullable Object): Bool */
110 short int VIRTUAL_poset__POSet__has(val
* self
, val
* p0
) {
111 short int var
/* : Bool */;
112 short int var1
/* : Bool */;
113 var1
= poset__POSet__has(self
, p0
);
118 /* method poset#POSet#add_node for (self: POSet[Object], Object): POSetElement[Object] */
119 val
* poset__POSet__add_node(val
* self
, val
* p0
) {
120 val
* var
/* : POSetElement[Object] */;
121 short int var1
/* : Bool */;
124 const struct type
* type_struct
;
125 val
* var_e
/* var e: Object */;
126 val
* var2
/* : HashMap[Object, POSetElement[Object]] */;
127 val
* var3
/* : Collection[Object] */;
128 short int var4
/* : Bool */;
129 val
* var5
/* : HashMap[Object, POSetElement[Object]] */;
130 val
* var6
/* : nullable Object */;
131 val
* var7
/* : POSetElement[Object] */;
132 val
* var8
/* : HashMap[Object, POSetElement[Object]] */;
133 long var9
/* : Int */;
134 val
* var_poe
/* var poe: POSetElement[Object] */;
135 val
* var10
/* : HashSet[Object] */;
136 val
* var11
/* : HashSet[Object] */;
137 val
* var12
/* : HashMap[Object, POSetElement[Object]] */;
138 /* Covariant cast for argument 0 (e) <p0:Object> isa POSet#0 */
139 /* <p0:Object> isa POSet#0 */
140 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
141 cltype
= type_struct
->color
;
142 idtype
= type_struct
->id
;
143 if(cltype
>= p0
->type
->table_size
) {
146 var1
= p0
->type
->type_table
[cltype
] == idtype
;
149 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/poset.nit", 36);
153 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
154 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__MapRead__keys
]))(var2
) /* keys on <var2:HashMap[Object, POSetElement[Object]]>*/;
155 var4
= ((short int (*)(val
*, val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var3
, var_e
) /* has on <var3:Collection[Object](HashMapKeys[Object, POSetElement[Object]])>*/;
157 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
158 var6
= ((val
* (*)(val
*, val
*))(var5
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var5
, var_e
) /* [] on <var5:HashMap[Object, POSetElement[Object]]>*/;
163 var7
= NEW_poset__POSetElement(self
->type
->resolution_table
->types
[COLOR_poset__POSetElementposet__POSet_FT0
]);
164 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
165 var9
= ((long (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__MapRead__length
]))(var8
) /* length on <var8:HashMap[Object, POSetElement[Object]]>*/;
166 ((void (*)(val
*, val
*, val
*, long))(var7
->class->vft
[COLOR_poset__POSetElement__init
]))(var7
, self
, var_e
, var9
) /* init on <var7:POSetElement[Object]>*/;
167 CHECK_NEW_poset__POSetElement(var7
);
169 var10
= ((val
* (*)(val
*))(var_poe
->class->vft
[COLOR_poset__POSetElement__tos
]))(var_poe
) /* tos on <var_poe:POSetElement[Object]>*/;
170 ((void (*)(val
*, val
*))(var10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var10
, var_e
) /* add on <var10:HashSet[Object]>*/;
171 var11
= ((val
* (*)(val
*))(var_poe
->class->vft
[COLOR_poset__POSetElement__froms
]))(var_poe
) /* froms on <var_poe:POSetElement[Object]>*/;
172 ((void (*)(val
*, val
*))(var11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var11
, var_e
) /* add on <var11:HashSet[Object]>*/;
173 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
174 ((void (*)(val
*, val
*, val
*))(var12
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var12
, var_e
, var_poe
) /* []= on <var12:HashMap[Object, POSetElement[Object]]>*/;
180 /* method poset#POSet#add_node for (self: Object, Object): POSetElement[Object] */
181 val
* VIRTUAL_poset__POSet__add_node(val
* self
, val
* p0
) {
182 val
* var
/* : POSetElement[Object] */;
183 val
* var1
/* : POSetElement[Object] */;
184 var1
= poset__POSet__add_node(self
, p0
);
189 /* method poset#POSet#[] for (self: POSet[Object], Object): POSetElement[Object] */
190 val
* poset__POSet___91d_93d(val
* self
, val
* p0
) {
191 val
* var
/* : POSetElement[Object] */;
192 short int var1
/* : Bool */;
195 const struct type
* type_struct
;
196 val
* var_e
/* var e: Object */;
197 val
* var2
/* : HashMap[Object, POSetElement[Object]] */;
198 val
* var3
/* : Collection[Object] */;
199 short int var4
/* : Bool */;
200 val
* var5
/* : HashMap[Object, POSetElement[Object]] */;
201 val
* var6
/* : nullable Object */;
202 /* Covariant cast for argument 0 (e) <p0:Object> isa POSet#0 */
203 /* <p0:Object> isa POSet#0 */
204 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
205 cltype
= type_struct
->color
;
206 idtype
= type_struct
->id
;
207 if(cltype
>= p0
->type
->table_size
) {
210 var1
= p0
->type
->type_table
[cltype
] == idtype
;
213 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/poset.nit", 50);
217 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
218 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__MapRead__keys
]))(var2
) /* keys on <var2:HashMap[Object, POSetElement[Object]]>*/;
219 var4
= ((short int (*)(val
*, val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var3
, var_e
) /* has on <var3:Collection[Object](HashMapKeys[Object, POSetElement[Object]])>*/;
221 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "lib/poset.nit", 63);
224 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
225 var6
= ((val
* (*)(val
*, val
*))(var5
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var5
, var_e
) /* [] on <var5:HashMap[Object, POSetElement[Object]]>*/;
231 /* method poset#POSet#[] for (self: Object, Object): POSetElement[Object] */
232 val
* VIRTUAL_poset__POSet___91d_93d(val
* self
, val
* p0
) {
233 val
* var
/* : POSetElement[Object] */;
234 val
* var1
/* : POSetElement[Object] */;
235 var1
= poset__POSet___91d_93d(self
, p0
);
240 /* method poset#POSet#add_edge for (self: POSet[Object], Object, Object) */
241 void poset__POSet__add_edge(val
* self
, val
* p0
, val
* p1
) {
242 short int var
/* : Bool */;
245 const struct type
* type_struct
;
246 short int var1
/* : Bool */;
249 const struct type
* type_struct4
;
250 val
* var_f
/* var f: Object */;
251 val
* var_t
/* var t: Object */;
252 val
* var5
/* : POSetElement[Object] */;
253 val
* var_fe
/* var fe: POSetElement[Object] */;
254 val
* var6
/* : POSetElement[Object] */;
255 val
* var_te
/* var te: POSetElement[Object] */;
256 val
* var7
/* : HashSet[Object] */;
257 short int var8
/* : Bool */;
258 val
* var9
/* : HashSet[Object] */;
259 val
* var10
/* : Iterator[nullable Object] */;
260 short int var11
/* : Bool */;
261 val
* var12
/* : nullable Object */;
262 val
* var_ff
/* var ff: Object */;
263 val
* var13
/* : HashMap[Object, POSetElement[Object]] */;
264 val
* var14
/* : nullable Object */;
265 val
* var_ffe
/* var ffe: POSetElement[Object] */;
266 val
* var15
/* : HashSet[Object] */;
267 val
* var16
/* : Iterator[nullable Object] */;
268 short int var17
/* : Bool */;
269 val
* var18
/* : nullable Object */;
270 val
* var_tt
/* var tt: Object */;
271 val
* var19
/* : HashMap[Object, POSetElement[Object]] */;
272 val
* var20
/* : nullable Object */;
273 val
* var_tte
/* var tte: POSetElement[Object] */;
274 val
* var21
/* : HashSet[Object] */;
275 val
* var22
/* : HashSet[Object] */;
276 val
* var24
/* : HashSet[Object] */;
277 short int var25
/* : Bool */;
278 val
* var26
/* : HashSet[Object] */;
279 val
* var27
/* : Array[nullable Object] */;
280 val
* var28
/* : Iterator[nullable Object] */;
281 short int var29
/* : Bool */;
282 val
* var30
/* : nullable Object */;
283 val
* var_x
/* var x: Object */;
284 val
* var31
/* : HashMap[Object, POSetElement[Object]] */;
285 val
* var32
/* : nullable Object */;
286 val
* var_xe
/* var xe: POSetElement[Object] */;
287 val
* var33
/* : HashSet[Object] */;
288 short int var34
/* : Bool */;
289 val
* var35
/* : HashSet[Object] */;
290 val
* var36
/* : HashSet[Object] */;
291 val
* var38
/* : HashSet[Object] */;
292 val
* var39
/* : Array[nullable Object] */;
293 val
* var40
/* : Iterator[nullable Object] */;
294 short int var41
/* : Bool */;
295 val
* var42
/* : nullable Object */;
296 val
* var_x43
/* var x: Object */;
297 val
* var44
/* : HashMap[Object, POSetElement[Object]] */;
298 val
* var45
/* : nullable Object */;
299 val
* var_xe46
/* var xe: POSetElement[Object] */;
300 val
* var47
/* : HashSet[Object] */;
301 short int var48
/* : Bool */;
302 val
* var49
/* : HashSet[Object] */;
303 val
* var50
/* : HashSet[Object] */;
304 val
* var52
/* : HashSet[Object] */;
305 val
* var53
/* : HashSet[Object] */;
306 /* Covariant cast for argument 0 (f) <p0:Object> isa POSet#0 */
307 /* <p0:Object> isa POSet#0 */
308 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
309 cltype
= type_struct
->color
;
310 idtype
= type_struct
->id
;
311 if(cltype
>= p0
->type
->table_size
) {
314 var
= p0
->type
->type_table
[cltype
] == idtype
;
317 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/poset.nit", 67);
320 /* Covariant cast for argument 1 (t) <p1:Object> isa POSet#0 */
321 /* <p1:Object> isa POSet#0 */
322 type_struct4
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
323 cltype2
= type_struct4
->color
;
324 idtype3
= type_struct4
->id
;
325 if(cltype2
>= p1
->type
->table_size
) {
328 var1
= p1
->type
->type_table
[cltype2
] == idtype3
;
331 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/poset.nit", 67);
336 var5
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_poset__POSet__add_node
]))(self
, var_f
) /* add_node on <self:POSet[Object]>*/;
338 var6
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_poset__POSet__add_node
]))(self
, var_t
) /* add_node on <self:POSet[Object]>*/;
340 var7
= ((val
* (*)(val
*))(var_fe
->class->vft
[COLOR_poset__POSetElement__tos
]))(var_fe
) /* tos on <var_fe:POSetElement[Object]>*/;
341 var8
= ((short int (*)(val
*, val
*))(var7
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var7
, var_t
) /* has on <var7:HashSet[Object]>*/;
346 var9
= ((val
* (*)(val
*))(var_fe
->class->vft
[COLOR_poset__POSetElement__froms
]))(var_fe
) /* froms on <var_fe:POSetElement[Object]>*/;
347 var10
= ((val
* (*)(val
*))(var9
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var9
) /* iterator on <var9:HashSet[Object]>*/;
349 var11
= ((short int (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var10
) /* is_ok on <var10:Iterator[nullable Object]>*/;
351 var12
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var10
) /* item on <var10:Iterator[nullable Object]>*/;
353 var13
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
354 var14
= ((val
* (*)(val
*, val
*))(var13
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var13
, var_ff
) /* [] on <var13:HashMap[Object, POSetElement[Object]]>*/;
356 var15
= ((val
* (*)(val
*))(var_te
->class->vft
[COLOR_poset__POSetElement__tos
]))(var_te
) /* tos on <var_te:POSetElement[Object]>*/;
357 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var15
) /* iterator on <var15:HashSet[Object]>*/;
359 var17
= ((short int (*)(val
*))(var16
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var16
) /* is_ok on <var16:Iterator[nullable Object]>*/;
361 var18
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var16
) /* item on <var16:Iterator[nullable Object]>*/;
363 var19
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
364 var20
= ((val
* (*)(val
*, val
*))(var19
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var19
, var_tt
) /* [] on <var19:HashMap[Object, POSetElement[Object]]>*/;
366 var21
= ((val
* (*)(val
*))(var_tte
->class->vft
[COLOR_poset__POSetElement__froms
]))(var_tte
) /* froms on <var_tte:POSetElement[Object]>*/;
367 ((void (*)(val
*, val
*))(var21
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var21
, var_ff
) /* add on <var21:HashSet[Object]>*/;
368 var22
= ((val
* (*)(val
*))(var_ffe
->class->vft
[COLOR_poset__POSetElement__tos
]))(var_ffe
) /* tos on <var_ffe:POSetElement[Object]>*/;
369 ((void (*)(val
*, val
*))(var22
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var22
, var_tt
) /* add on <var22:HashSet[Object]>*/;
370 CONTINUE_label
: (void)0;
371 ((void (*)(val
*))(var16
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var16
) /* next on <var16:Iterator[nullable Object]>*/;
373 BREAK_label
: (void)0;
374 CONTINUE_label23
: (void)0;
375 ((void (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var10
) /* next on <var10:Iterator[nullable Object]>*/;
377 BREAK_label23
: (void)0;
378 var24
= ((val
* (*)(val
*))(var_te
->class->vft
[COLOR_poset__POSetElement__tos
]))(var_te
) /* tos on <var_te:POSetElement[Object]>*/;
379 var25
= ((short int (*)(val
*, val
*))(var24
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var24
, var_f
) /* has on <var24:HashSet[Object]>*/;
384 var26
= ((val
* (*)(val
*))(var_te
->class->vft
[COLOR_poset__POSetElement__dfroms
]))(var_te
) /* dfroms on <var_te:POSetElement[Object]>*/;
385 var27
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_array__Collection__to_a
]))(var26
) /* to_a on <var26:HashSet[Object]>*/;
386 var28
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var27
) /* iterator on <var27:Array[nullable Object](Array[Object])>*/;
388 var29
= ((short int (*)(val
*))(var28
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var28
) /* is_ok on <var28:Iterator[nullable Object]>*/;
390 var30
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var28
) /* item on <var28:Iterator[nullable Object]>*/;
392 var31
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
393 var32
= ((val
* (*)(val
*, val
*))(var31
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var31
, var_x
) /* [] on <var31:HashMap[Object, POSetElement[Object]]>*/;
395 var33
= ((val
* (*)(val
*))(var_xe
->class->vft
[COLOR_poset__POSetElement__tos
]))(var_xe
) /* tos on <var_xe:POSetElement[Object]>*/;
396 var34
= ((short int (*)(val
*, val
*))(var33
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var33
, var_f
) /* has on <var33:HashSet[Object]>*/;
398 var35
= ((val
* (*)(val
*))(var_te
->class->vft
[COLOR_poset__POSetElement__dfroms
]))(var_te
) /* dfroms on <var_te:POSetElement[Object]>*/;
399 ((void (*)(val
*, val
*))(var35
->class->vft
[COLOR_abstract_collection__RemovableCollection__remove
]))(var35
, var_x
) /* remove on <var35:HashSet[Object]>*/;
400 var36
= ((val
* (*)(val
*))(var_xe
->class->vft
[COLOR_poset__POSetElement__dtos
]))(var_xe
) /* dtos on <var_xe:POSetElement[Object]>*/;
401 ((void (*)(val
*, val
*))(var36
->class->vft
[COLOR_abstract_collection__RemovableCollection__remove
]))(var36
, var_t
) /* remove on <var36:HashSet[Object]>*/;
404 CONTINUE_label37
: (void)0;
405 ((void (*)(val
*))(var28
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var28
) /* next on <var28:Iterator[nullable Object]>*/;
407 BREAK_label37
: (void)0;
408 var38
= ((val
* (*)(val
*))(var_fe
->class->vft
[COLOR_poset__POSetElement__dtos
]))(var_fe
) /* dtos on <var_fe:POSetElement[Object]>*/;
409 var39
= ((val
* (*)(val
*))(var38
->class->vft
[COLOR_array__Collection__to_a
]))(var38
) /* to_a on <var38:HashSet[Object]>*/;
410 var40
= ((val
* (*)(val
*))(var39
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var39
) /* iterator on <var39:Array[nullable Object](Array[Object])>*/;
412 var41
= ((short int (*)(val
*))(var40
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var40
) /* is_ok on <var40:Iterator[nullable Object]>*/;
414 var42
= ((val
* (*)(val
*))(var40
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var40
) /* item on <var40:Iterator[nullable Object]>*/;
416 var44
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
417 var45
= ((val
* (*)(val
*, val
*))(var44
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var44
, var_x43
) /* [] on <var44:HashMap[Object, POSetElement[Object]]>*/;
419 var47
= ((val
* (*)(val
*))(var_xe46
->class->vft
[COLOR_poset__POSetElement__froms
]))(var_xe46
) /* froms on <var_xe46:POSetElement[Object]>*/;
420 var48
= ((short int (*)(val
*, val
*))(var47
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var47
, var_t
) /* has on <var47:HashSet[Object]>*/;
422 var49
= ((val
* (*)(val
*))(var_xe46
->class->vft
[COLOR_poset__POSetElement__dfroms
]))(var_xe46
) /* dfroms on <var_xe46:POSetElement[Object]>*/;
423 ((void (*)(val
*, val
*))(var49
->class->vft
[COLOR_abstract_collection__RemovableCollection__remove
]))(var49
, var_f
) /* remove on <var49:HashSet[Object]>*/;
424 var50
= ((val
* (*)(val
*))(var_fe
->class->vft
[COLOR_poset__POSetElement__dtos
]))(var_fe
) /* dtos on <var_fe:POSetElement[Object]>*/;
425 ((void (*)(val
*, val
*))(var50
->class->vft
[COLOR_abstract_collection__RemovableCollection__remove
]))(var50
, var_x43
) /* remove on <var50:HashSet[Object]>*/;
428 CONTINUE_label51
: (void)0;
429 ((void (*)(val
*))(var40
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var40
) /* next on <var40:Iterator[nullable Object]>*/;
431 BREAK_label51
: (void)0;
432 var52
= ((val
* (*)(val
*))(var_fe
->class->vft
[COLOR_poset__POSetElement__dtos
]))(var_fe
) /* dtos on <var_fe:POSetElement[Object]>*/;
433 ((void (*)(val
*, val
*))(var52
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var52
, var_t
) /* add on <var52:HashSet[Object]>*/;
434 var53
= ((val
* (*)(val
*))(var_te
->class->vft
[COLOR_poset__POSetElement__dfroms
]))(var_te
) /* dfroms on <var_te:POSetElement[Object]>*/;
435 ((void (*)(val
*, val
*))(var53
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var53
, var_f
) /* add on <var53:HashSet[Object]>*/;
438 /* method poset#POSet#add_edge for (self: Object, Object, Object) */
439 void VIRTUAL_poset__POSet__add_edge(val
* self
, val
* p0
, val
* p1
) {
440 poset__POSet__add_edge(self
, p0
, p1
);
443 /* method poset#POSet#has_edge for (self: POSet[Object], Object, Object): Bool */
444 short int poset__POSet__has_edge(val
* self
, val
* p0
, val
* p1
) {
445 short int var
/* : Bool */;
446 short int var1
/* : Bool */;
449 const struct type
* type_struct
;
450 short int var2
/* : Bool */;
453 const struct type
* type_struct5
;
454 val
* var_f
/* var f: Object */;
455 val
* var_t
/* var t: Object */;
456 val
* var6
/* : HashMap[Object, POSetElement[Object]] */;
457 val
* var7
/* : Collection[Object] */;
458 short int var8
/* : Bool */;
459 short int var9
/* : Bool */;
460 short int var10
/* : Bool */;
461 val
* var11
/* : HashMap[Object, POSetElement[Object]] */;
462 val
* var12
/* : nullable Object */;
463 val
* var_fe
/* var fe: POSetElement[Object] */;
464 val
* var13
/* : HashSet[Object] */;
465 short int var14
/* : Bool */;
466 /* Covariant cast for argument 0 (f) <p0:Object> isa POSet#0 */
467 /* <p0:Object> isa POSet#0 */
468 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
469 cltype
= type_struct
->color
;
470 idtype
= type_struct
->id
;
471 if(cltype
>= p0
->type
->table_size
) {
474 var1
= p0
->type
->type_table
[cltype
] == idtype
;
477 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/poset.nit", 109);
480 /* Covariant cast for argument 1 (t) <p1:Object> isa POSet#0 */
481 /* <p1:Object> isa POSet#0 */
482 type_struct5
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
483 cltype3
= type_struct5
->color
;
484 idtype4
= type_struct5
->id
;
485 if(cltype3
>= p1
->type
->table_size
) {
488 var2
= p1
->type
->type_table
[cltype3
] == idtype4
;
491 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/poset.nit", 109);
496 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
497 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__MapRead__keys
]))(var6
) /* keys on <var6:HashMap[Object, POSetElement[Object]]>*/;
498 var8
= ((short int (*)(val
*, val
*))(var7
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var7
, var_f
) /* has on <var7:Collection[Object](HashMapKeys[Object, POSetElement[Object]])>*/;
506 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
507 var12
= ((val
* (*)(val
*, val
*))(var11
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var11
, var_f
) /* [] on <var11:HashMap[Object, POSetElement[Object]]>*/;
509 var13
= ((val
* (*)(val
*))(var_fe
->class->vft
[COLOR_poset__POSetElement__tos
]))(var_fe
) /* tos on <var_fe:POSetElement[Object]>*/;
510 var14
= ((short int (*)(val
*, val
*))(var13
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var13
, var_t
) /* has on <var13:HashSet[Object]>*/;
516 /* method poset#POSet#has_edge for (self: Object, Object, Object): Bool */
517 short int VIRTUAL_poset__POSet__has_edge(val
* self
, val
* p0
, val
* p1
) {
518 short int var
/* : Bool */;
519 short int var1
/* : Bool */;
520 var1
= poset__POSet__has_edge(self
, p0
, p1
);
525 /* method poset#POSet#has_direct_edge for (self: POSet[Object], Object, Object): Bool */
526 short int poset__POSet__has_direct_edge(val
* self
, val
* p0
, val
* p1
) {
527 short int var
/* : Bool */;
528 short int var1
/* : Bool */;
531 const struct type
* type_struct
;
532 short int var2
/* : Bool */;
535 const struct type
* type_struct5
;
536 val
* var_f
/* var f: Object */;
537 val
* var_t
/* var t: Object */;
538 val
* var6
/* : HashMap[Object, POSetElement[Object]] */;
539 val
* var7
/* : Collection[Object] */;
540 short int var8
/* : Bool */;
541 short int var9
/* : Bool */;
542 short int var10
/* : Bool */;
543 val
* var11
/* : HashMap[Object, POSetElement[Object]] */;
544 val
* var12
/* : nullable Object */;
545 val
* var_fe
/* var fe: POSetElement[Object] */;
546 val
* var13
/* : HashSet[Object] */;
547 short int var14
/* : Bool */;
548 /* Covariant cast for argument 0 (f) <p0:Object> isa POSet#0 */
549 /* <p0:Object> isa POSet#0 */
550 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
551 cltype
= type_struct
->color
;
552 idtype
= type_struct
->id
;
553 if(cltype
>= p0
->type
->table_size
) {
556 var1
= p0
->type
->type_table
[cltype
] == idtype
;
559 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/poset.nit", 118);
562 /* Covariant cast for argument 1 (t) <p1:Object> isa POSet#0 */
563 /* <p1:Object> isa POSet#0 */
564 type_struct5
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
565 cltype3
= type_struct5
->color
;
566 idtype4
= type_struct5
->id
;
567 if(cltype3
>= p1
->type
->table_size
) {
570 var2
= p1
->type
->type_table
[cltype3
] == idtype4
;
573 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/poset.nit", 118);
578 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
579 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__MapRead__keys
]))(var6
) /* keys on <var6:HashMap[Object, POSetElement[Object]]>*/;
580 var8
= ((short int (*)(val
*, val
*))(var7
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var7
, var_f
) /* has on <var7:Collection[Object](HashMapKeys[Object, POSetElement[Object]])>*/;
588 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
589 var12
= ((val
* (*)(val
*, val
*))(var11
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var11
, var_f
) /* [] on <var11:HashMap[Object, POSetElement[Object]]>*/;
591 var13
= ((val
* (*)(val
*))(var_fe
->class->vft
[COLOR_poset__POSetElement__dtos
]))(var_fe
) /* dtos on <var_fe:POSetElement[Object]>*/;
592 var14
= ((short int (*)(val
*, val
*))(var13
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var13
, var_t
) /* has on <var13:HashSet[Object]>*/;
598 /* method poset#POSet#has_direct_edge for (self: Object, Object, Object): Bool */
599 short int VIRTUAL_poset__POSet__has_direct_edge(val
* self
, val
* p0
, val
* p1
) {
600 short int var
/* : Bool */;
601 short int var1
/* : Bool */;
602 var1
= poset__POSet__has_direct_edge(self
, p0
, p1
);
607 /* method poset#POSet#show_dot for (self: POSet[Object]) */
608 void poset__POSet__show_dot(val
* self
) {
609 val
* var
/* : OProcess */;
611 val
* var1
/* : String */;
612 char* var2
/* : NativeString */;
613 long var3
/* : Int */;
614 val
* var4
/* : String */;
615 static val
* varonce5
;
616 val
* var6
/* : String */;
617 char* var7
/* : NativeString */;
618 long var8
/* : Int */;
619 val
* var9
/* : String */;
620 val
* var10
/* : Array[String] */;
621 long var11
/* : Int */;
622 val
* var12
/* : NativeArray[String] */;
623 val
* var_f
/* var f: OProcess */;
624 static val
* varonce13
;
625 val
* var14
/* : String */;
626 char* var15
/* : NativeString */;
627 long var16
/* : Int */;
628 val
* var17
/* : String */;
629 val
* var18
/* : HashMap[Object, POSetElement[Object]] */;
630 val
* var19
/* : Collection[Object] */;
631 val
* var20
/* : Iterator[nullable Object] */;
632 short int var21
/* : Bool */;
633 val
* var22
/* : nullable Object */;
634 val
* var_x
/* var x: Object */;
635 static val
* varonce23
;
636 val
* var24
/* : String */;
637 char* var25
/* : NativeString */;
638 long var26
/* : Int */;
639 val
* var27
/* : String */;
640 static val
* varonce28
;
641 val
* var29
/* : String */;
642 char* var30
/* : NativeString */;
643 long var31
/* : Int */;
644 val
* var32
/* : String */;
645 val
* var33
/* : Array[Object] */;
646 long var34
/* : Int */;
647 val
* var35
/* : NativeArray[Object] */;
648 val
* var36
/* : String */;
649 val
* var37
/* : HashMap[Object, POSetElement[Object]] */;
650 val
* var38
/* : nullable Object */;
651 val
* var_xe
/* var xe: POSetElement[Object] */;
652 val
* var39
/* : HashSet[Object] */;
653 val
* var40
/* : Iterator[nullable Object] */;
654 short int var41
/* : Bool */;
655 val
* var42
/* : nullable Object */;
656 val
* var_y
/* var y: Object */;
657 short int var43
/* : Bool */;
658 static val
* varonce44
;
659 val
* var45
/* : String */;
660 char* var46
/* : NativeString */;
661 long var47
/* : Int */;
662 val
* var48
/* : String */;
663 static val
* varonce49
;
664 val
* var50
/* : String */;
665 char* var51
/* : NativeString */;
666 long var52
/* : Int */;
667 val
* var53
/* : String */;
668 static val
* varonce54
;
669 val
* var55
/* : String */;
670 char* var56
/* : NativeString */;
671 long var57
/* : Int */;
672 val
* var58
/* : String */;
673 val
* var59
/* : Array[Object] */;
674 long var60
/* : Int */;
675 val
* var61
/* : NativeArray[Object] */;
676 val
* var62
/* : String */;
677 static val
* varonce63
;
678 val
* var64
/* : String */;
679 char* var65
/* : NativeString */;
680 long var66
/* : Int */;
681 val
* var67
/* : String */;
682 static val
* varonce68
;
683 val
* var69
/* : String */;
684 char* var70
/* : NativeString */;
685 long var71
/* : Int */;
686 val
* var72
/* : String */;
687 static val
* varonce73
;
688 val
* var74
/* : String */;
689 char* var75
/* : NativeString */;
690 long var76
/* : Int */;
691 val
* var77
/* : String */;
692 val
* var78
/* : Array[Object] */;
693 long var79
/* : Int */;
694 val
* var80
/* : NativeArray[Object] */;
695 val
* var81
/* : String */;
696 static val
* varonce83
;
697 val
* var84
/* : String */;
698 char* var85
/* : NativeString */;
699 long var86
/* : Int */;
700 val
* var87
/* : String */;
701 var
= NEW_exec__OProcess(&type_exec__OProcess
);
707 var4
= string__NativeString__to_s_with_length(var2
, var3
);
716 var9
= string__NativeString__to_s_with_length(var7
, var8
);
720 var10
= NEW_array__Array(&type_array__Arraystring__String
);
721 { /* var10 = array_instance Array[String] */
723 var12
= NEW_array__NativeArray(var11
, &type_array__NativeArraystring__String
);
724 ((struct instance_array__NativeArray
*)var12
)->values
[0] = (val
*) var6
;
725 ((void (*)(val
*, val
*, long))(var10
->class->vft
[COLOR_array__Array__with_native
]))(var10
, var12
, var11
) /* with_native on <var10:Array[String]>*/;
726 CHECK_NEW_array__Array(var10
);
728 ((void (*)(val
*, val
*, val
*))(var
->class->vft
[COLOR_exec__OProcess__init
]))(var
, var1
, var10
) /* init on <var:OProcess>*/;
729 CHECK_NEW_exec__OProcess(var
);
734 var15
= "digraph {\n";
736 var17
= string__NativeString__to_s_with_length(var15
, var16
);
740 ((void (*)(val
*, val
*))(var_f
->class->vft
[COLOR_stream__OStream__write
]))(var_f
, var14
) /* write on <var_f:OProcess>*/;
741 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
742 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_abstract_collection__MapRead__keys
]))(var18
) /* keys on <var18:HashMap[Object, POSetElement[Object]]>*/;
743 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var19
) /* iterator on <var19:Collection[Object](HashMapKeys[Object, POSetElement[Object]])>*/;
745 var21
= ((short int (*)(val
*))(var20
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var20
) /* is_ok on <var20:Iterator[nullable Object]>*/;
747 var22
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var20
) /* item on <var20:Iterator[nullable Object]>*/;
754 var27
= string__NativeString__to_s_with_length(var25
, var26
);
763 var32
= string__NativeString__to_s_with_length(var30
, var31
);
767 var33
= NEW_array__Array(&type_array__Arraykernel__Object
);
768 { /* var33 = array_instance Array[Object] */
770 var35
= NEW_array__NativeArray(var34
, &type_array__NativeArraykernel__Object
);
771 ((struct instance_array__NativeArray
*)var35
)->values
[0] = (val
*) var24
;
772 ((struct instance_array__NativeArray
*)var35
)->values
[1] = (val
*) var_x
;
773 ((struct instance_array__NativeArray
*)var35
)->values
[2] = (val
*) var29
;
774 ((void (*)(val
*, val
*, long))(var33
->class->vft
[COLOR_array__Array__with_native
]))(var33
, var35
, var34
) /* with_native on <var33:Array[Object]>*/;
775 CHECK_NEW_array__Array(var33
);
777 var36
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_string__Object__to_s
]))(var33
) /* to_s on <var33:Array[Object]>*/;
778 ((void (*)(val
*, val
*))(var_f
->class->vft
[COLOR_stream__OStream__write
]))(var_f
, var36
) /* write on <var_f:OProcess>*/;
779 var37
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
780 var38
= ((val
* (*)(val
*, val
*))(var37
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var37
, var_x
) /* [] on <var37:HashMap[Object, POSetElement[Object]]>*/;
782 var39
= ((val
* (*)(val
*))(var_xe
->class->vft
[COLOR_poset__POSetElement__dtos
]))(var_xe
) /* dtos on <var_xe:POSetElement[Object]>*/;
783 var40
= ((val
* (*)(val
*))(var39
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var39
) /* iterator on <var39:HashSet[Object]>*/;
785 var41
= ((short int (*)(val
*))(var40
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var40
) /* is_ok on <var40:Iterator[nullable Object]>*/;
787 var42
= ((val
* (*)(val
*))(var40
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var40
) /* item on <var40:Iterator[nullable Object]>*/;
789 var43
= ((short int (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_poset__POSet__has_edge
]))(self
, var_y
, var_x
) /* has_edge on <self:POSet[Object]>*/;
796 var48
= string__NativeString__to_s_with_length(var46
, var47
);
805 var53
= string__NativeString__to_s_with_length(var51
, var52
);
812 var56
= "\"[dir=both];\n";
814 var58
= string__NativeString__to_s_with_length(var56
, var57
);
818 var59
= NEW_array__Array(&type_array__Arraykernel__Object
);
819 { /* var59 = array_instance Array[Object] */
821 var61
= NEW_array__NativeArray(var60
, &type_array__NativeArraykernel__Object
);
822 ((struct instance_array__NativeArray
*)var61
)->values
[0] = (val
*) var45
;
823 ((struct instance_array__NativeArray
*)var61
)->values
[1] = (val
*) var_x
;
824 ((struct instance_array__NativeArray
*)var61
)->values
[2] = (val
*) var50
;
825 ((struct instance_array__NativeArray
*)var61
)->values
[3] = (val
*) var_y
;
826 ((struct instance_array__NativeArray
*)var61
)->values
[4] = (val
*) var55
;
827 ((void (*)(val
*, val
*, long))(var59
->class->vft
[COLOR_array__Array__with_native
]))(var59
, var61
, var60
) /* with_native on <var59:Array[Object]>*/;
828 CHECK_NEW_array__Array(var59
);
830 var62
= ((val
* (*)(val
*))(var59
->class->vft
[COLOR_string__Object__to_s
]))(var59
) /* to_s on <var59:Array[Object]>*/;
831 ((void (*)(val
*, val
*))(var_f
->class->vft
[COLOR_stream__OStream__write
]))(var_f
, var62
) /* write on <var_f:OProcess>*/;
838 var67
= string__NativeString__to_s_with_length(var65
, var66
);
847 var72
= string__NativeString__to_s_with_length(var70
, var71
);
856 var77
= string__NativeString__to_s_with_length(var75
, var76
);
860 var78
= NEW_array__Array(&type_array__Arraykernel__Object
);
861 { /* var78 = array_instance Array[Object] */
863 var80
= NEW_array__NativeArray(var79
, &type_array__NativeArraykernel__Object
);
864 ((struct instance_array__NativeArray
*)var80
)->values
[0] = (val
*) var64
;
865 ((struct instance_array__NativeArray
*)var80
)->values
[1] = (val
*) var_x
;
866 ((struct instance_array__NativeArray
*)var80
)->values
[2] = (val
*) var69
;
867 ((struct instance_array__NativeArray
*)var80
)->values
[3] = (val
*) var_y
;
868 ((struct instance_array__NativeArray
*)var80
)->values
[4] = (val
*) var74
;
869 ((void (*)(val
*, val
*, long))(var78
->class->vft
[COLOR_array__Array__with_native
]))(var78
, var80
, var79
) /* with_native on <var78:Array[Object]>*/;
870 CHECK_NEW_array__Array(var78
);
872 var81
= ((val
* (*)(val
*))(var78
->class->vft
[COLOR_string__Object__to_s
]))(var78
) /* to_s on <var78:Array[Object]>*/;
873 ((void (*)(val
*, val
*))(var_f
->class->vft
[COLOR_stream__OStream__write
]))(var_f
, var81
) /* write on <var_f:OProcess>*/;
875 CONTINUE_label
: (void)0;
876 ((void (*)(val
*))(var40
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var40
) /* next on <var40:Iterator[nullable Object]>*/;
878 BREAK_label
: (void)0;
879 CONTINUE_label82
: (void)0;
880 ((void (*)(val
*))(var20
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var20
) /* next on <var20:Iterator[nullable Object]>*/;
882 BREAK_label82
: (void)0;
888 var87
= string__NativeString__to_s_with_length(var85
, var86
);
892 ((void (*)(val
*, val
*))(var_f
->class->vft
[COLOR_stream__OStream__write
]))(var_f
, var84
) /* write on <var_f:OProcess>*/;
895 /* method poset#POSet#show_dot for (self: Object) */
896 void VIRTUAL_poset__POSet__show_dot(val
* self
) {
897 poset__POSet__show_dot(self
);
900 /* method poset#POSet#compare for (self: POSet[Object], Object, Object): Int */
901 long poset__POSet__compare(val
* self
, val
* p0
, val
* p1
) {
902 long var
/* : Int */;
903 short int var1
/* : Bool */;
906 const struct type
* type_struct
;
907 short int var2
/* : Bool */;
910 const struct type
* type_struct5
;
911 val
* var_a
/* var a: Object */;
912 val
* var_b
/* var b: Object */;
913 val
* var6
/* : HashMap[Object, POSetElement[Object]] */;
914 val
* var7
/* : nullable Object */;
915 val
* var_ae
/* var ae: POSetElement[Object] */;
916 val
* var8
/* : HashMap[Object, POSetElement[Object]] */;
917 val
* var9
/* : nullable Object */;
918 val
* var_be
/* var be: POSetElement[Object] */;
919 val
* var10
/* : HashSet[Object] */;
920 long var11
/* : Int */;
921 val
* var12
/* : HashSet[Object] */;
922 long var13
/* : Int */;
923 long var14
/* : Int */;
924 long var_res
/* var res: Int */;
925 long var15
/* : Int */;
926 short int var16
/* : Bool */;
927 short int var18
/* : Bool */;
928 short int var19
/* : Bool */;
929 val
* var20
/* : HashMap[Object, POSetElement[Object]] */;
930 val
* var21
/* : nullable Object */;
931 long var22
/* : Int */;
932 val
* var23
/* : HashMap[Object, POSetElement[Object]] */;
933 val
* var24
/* : nullable Object */;
934 long var25
/* : Int */;
935 long var26
/* : Int */;
936 /* Covariant cast for argument 0 (a) <p0:Object> isa POSet#0 */
937 /* <p0:Object> isa POSet#0 */
938 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
939 cltype
= type_struct
->color
;
940 idtype
= type_struct
->id
;
941 if(cltype
>= p0
->type
->table_size
) {
944 var1
= p0
->type
->type_table
[cltype
] == idtype
;
947 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/poset.nit", 151);
950 /* Covariant cast for argument 1 (b) <p1:Object> isa POSet#0 */
951 /* <p1:Object> isa POSet#0 */
952 type_struct5
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
953 cltype3
= type_struct5
->color
;
954 idtype4
= type_struct5
->id
;
955 if(cltype3
>= p1
->type
->table_size
) {
958 var2
= p1
->type
->type_table
[cltype3
] == idtype4
;
961 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/poset.nit", 151);
966 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
967 var7
= ((val
* (*)(val
*, val
*))(var6
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var6
, var_a
) /* [] on <var6:HashMap[Object, POSetElement[Object]]>*/;
969 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
970 var9
= ((val
* (*)(val
*, val
*))(var8
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var8
, var_b
) /* [] on <var8:HashMap[Object, POSetElement[Object]]>*/;
972 var10
= ((val
* (*)(val
*))(var_ae
->class->vft
[COLOR_poset__POSetElement__tos
]))(var_ae
) /* tos on <var_ae:POSetElement[Object]>*/;
973 var11
= ((long (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var10
) /* length on <var10:HashSet[Object]>*/;
974 var12
= ((val
* (*)(val
*))(var_be
->class->vft
[COLOR_poset__POSetElement__tos
]))(var_be
) /* tos on <var_be:POSetElement[Object]>*/;
975 var13
= ((long (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var12
) /* length on <var12:HashSet[Object]>*/;
976 var14
= kernel__Int___60d_61d_62d(var11
, var13
);
979 { /* Inline kernel#Int#!= (var_res,var15) */
980 var18
= var_res
== var15
;
991 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
992 var21
= ((val
* (*)(val
*, val
*))(var20
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var20
, var_a
) /* [] on <var20:HashMap[Object, POSetElement[Object]]>*/;
993 var22
= ((long (*)(val
*))(var21
->class->vft
[COLOR_poset__POSetElement__count
]))(var21
) /* count on <var21:nullable Object(POSetElement[Object])>*/;
994 var23
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
995 var24
= ((val
* (*)(val
*, val
*))(var23
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var23
, var_b
) /* [] on <var23:HashMap[Object, POSetElement[Object]]>*/;
996 var25
= ((long (*)(val
*))(var24
->class->vft
[COLOR_poset__POSetElement__count
]))(var24
) /* count on <var24:nullable Object(POSetElement[Object])>*/;
997 var26
= kernel__Int___60d_61d_62d(var22
, var25
);
1003 /* method poset#POSet#compare for (self: Object, nullable Object, nullable Object): Int */
1004 long VIRTUAL_poset__POSet__compare(val
* self
, val
* p0
, val
* p1
) {
1005 long var
/* : Int */;
1006 long var1
/* : Int */;
1007 var1
= poset__POSet__compare(self
, p0
, p1
);
1012 /* method poset#POSet#init for (self: POSet[Object]) */
1013 void poset__POSet__init(val
* self
) {
1016 /* method poset#POSet#init for (self: Object) */
1017 void VIRTUAL_poset__POSet__init(val
* self
) {
1018 poset__POSet__init(self
);
1021 /* method poset#POSetElement#poset for (self: POSetElement[Object]): POSet[Object] */
1022 val
* poset__POSetElement__poset(val
* self
) {
1023 val
* var
/* : POSet[Object] */;
1024 val
* var1
/* : POSet[Object] */;
1025 var1
= self
->attrs
[COLOR_poset__POSetElement___64dposet
].val
; /* @poset on <self:POSetElement[Object]> */
1027 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @poset", "lib/poset.nit", 181);
1034 /* method poset#POSetElement#poset for (self: Object): POSet[Object] */
1035 val
* VIRTUAL_poset__POSetElement__poset(val
* self
) {
1036 val
* var
/* : POSet[Object] */;
1037 val
* var1
/* : POSet[Object] */;
1038 var1
= poset__POSetElement__poset(self
);
1043 /* method poset#POSetElement#poset= for (self: POSetElement[Object], POSet[Object]) */
1044 void poset__POSetElement__poset_61d(val
* self
, val
* p0
) {
1045 short int var
/* : Bool */;
1048 const struct type
* type_struct
;
1049 /* Covariant cast for argument 0 (poset) <p0:POSet[Object]> isa POSet[POSetElement#0] */
1050 /* <p0:POSet[Object]> isa POSet[POSetElement#0] */
1051 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSetposet__POSetElement_FT0
];
1052 cltype
= type_struct
->color
;
1053 idtype
= type_struct
->id
;
1054 if(cltype
>= p0
->type
->table_size
) {
1057 var
= p0
->type
->type_table
[cltype
] == idtype
;
1060 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/poset.nit", 181);
1063 self
->attrs
[COLOR_poset__POSetElement___64dposet
].val
= p0
; /* @poset on <self:POSetElement[Object]> */
1066 /* method poset#POSetElement#poset= for (self: Object, POSet[Object]) */
1067 void VIRTUAL_poset__POSetElement__poset_61d(val
* self
, val
* p0
) {
1068 poset__POSetElement__poset_61d(self
, p0
);
1071 /* method poset#POSetElement#element for (self: POSetElement[Object]): Object */
1072 val
* poset__POSetElement__element(val
* self
) {
1073 val
* var
/* : Object */;
1074 val
* var1
/* : Object */;
1075 var1
= self
->attrs
[COLOR_poset__POSetElement___64delement
].val
; /* @element on <self:POSetElement[Object]> */
1077 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @element", "lib/poset.nit", 184);
1084 /* method poset#POSetElement#element for (self: Object): Object */
1085 val
* VIRTUAL_poset__POSetElement__element(val
* self
) {
1086 val
* var
/* : Object */;
1087 val
* var1
/* : Object */;
1088 var1
= poset__POSetElement__element(self
);
1093 /* method poset#POSetElement#element= for (self: POSetElement[Object], Object) */
1094 void poset__POSetElement__element_61d(val
* self
, val
* p0
) {
1095 short int var
/* : Bool */;
1098 const struct type
* type_struct
;
1099 /* Covariant cast for argument 0 (element) <p0:Object> isa POSetElement#0 */
1100 /* <p0:Object> isa POSetElement#0 */
1101 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSetElement_FT0
];
1102 cltype
= type_struct
->color
;
1103 idtype
= type_struct
->id
;
1104 if(cltype
>= p0
->type
->table_size
) {
1107 var
= p0
->type
->type_table
[cltype
] == idtype
;
1110 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/poset.nit", 184);
1113 self
->attrs
[COLOR_poset__POSetElement___64delement
].val
= p0
; /* @element on <self:POSetElement[Object]> */
1116 /* method poset#POSetElement#element= for (self: Object, Object) */
1117 void VIRTUAL_poset__POSetElement__element_61d(val
* self
, val
* p0
) {
1118 poset__POSetElement__element_61d(self
, p0
);
1121 /* method poset#POSetElement#tos for (self: POSetElement[Object]): HashSet[Object] */
1122 val
* poset__POSetElement__tos(val
* self
) {
1123 val
* var
/* : HashSet[Object] */;
1124 val
* var1
/* : HashSet[Object] */;
1125 var1
= self
->attrs
[COLOR_poset__POSetElement___64dtos
].val
; /* @tos on <self:POSetElement[Object]> */
1127 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @tos", "lib/poset.nit", 187);
1134 /* method poset#POSetElement#tos for (self: Object): HashSet[Object] */
1135 val
* VIRTUAL_poset__POSetElement__tos(val
* self
) {
1136 val
* var
/* : HashSet[Object] */;
1137 val
* var1
/* : HashSet[Object] */;
1138 var1
= poset__POSetElement__tos(self
);
1143 /* method poset#POSetElement#tos= for (self: POSetElement[Object], HashSet[Object]) */
1144 void poset__POSetElement__tos_61d(val
* self
, val
* p0
) {
1145 short int var
/* : Bool */;
1148 const struct type
* type_struct
;
1149 /* Covariant cast for argument 0 (tos) <p0:HashSet[Object]> isa HashSet[POSetElement#0] */
1150 /* <p0:HashSet[Object]> isa HashSet[POSetElement#0] */
1151 type_struct
= self
->type
->resolution_table
->types
[COLOR_hash_collection__HashSetposet__POSetElement_FT0
];
1152 cltype
= type_struct
->color
;
1153 idtype
= type_struct
->id
;
1154 if(cltype
>= p0
->type
->table_size
) {
1157 var
= p0
->type
->type_table
[cltype
] == idtype
;
1160 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/poset.nit", 187);
1163 self
->attrs
[COLOR_poset__POSetElement___64dtos
].val
= p0
; /* @tos on <self:POSetElement[Object]> */
1166 /* method poset#POSetElement#tos= for (self: Object, HashSet[Object]) */
1167 void VIRTUAL_poset__POSetElement__tos_61d(val
* self
, val
* p0
) {
1168 poset__POSetElement__tos_61d(self
, p0
);
1171 /* method poset#POSetElement#froms for (self: POSetElement[Object]): HashSet[Object] */
1172 val
* poset__POSetElement__froms(val
* self
) {
1173 val
* var
/* : HashSet[Object] */;
1174 val
* var1
/* : HashSet[Object] */;
1175 var1
= self
->attrs
[COLOR_poset__POSetElement___64dfroms
].val
; /* @froms on <self:POSetElement[Object]> */
1177 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @froms", "lib/poset.nit", 188);
1184 /* method poset#POSetElement#froms for (self: Object): HashSet[Object] */
1185 val
* VIRTUAL_poset__POSetElement__froms(val
* self
) {
1186 val
* var
/* : HashSet[Object] */;
1187 val
* var1
/* : HashSet[Object] */;
1188 var1
= poset__POSetElement__froms(self
);
1193 /* method poset#POSetElement#froms= for (self: POSetElement[Object], HashSet[Object]) */
1194 void poset__POSetElement__froms_61d(val
* self
, val
* p0
) {
1195 short int var
/* : Bool */;
1198 const struct type
* type_struct
;
1199 /* Covariant cast for argument 0 (froms) <p0:HashSet[Object]> isa HashSet[POSetElement#0] */
1200 /* <p0:HashSet[Object]> isa HashSet[POSetElement#0] */
1201 type_struct
= self
->type
->resolution_table
->types
[COLOR_hash_collection__HashSetposet__POSetElement_FT0
];
1202 cltype
= type_struct
->color
;
1203 idtype
= type_struct
->id
;
1204 if(cltype
>= p0
->type
->table_size
) {
1207 var
= p0
->type
->type_table
[cltype
] == idtype
;
1210 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/poset.nit", 188);
1213 self
->attrs
[COLOR_poset__POSetElement___64dfroms
].val
= p0
; /* @froms on <self:POSetElement[Object]> */
1216 /* method poset#POSetElement#froms= for (self: Object, HashSet[Object]) */
1217 void VIRTUAL_poset__POSetElement__froms_61d(val
* self
, val
* p0
) {
1218 poset__POSetElement__froms_61d(self
, p0
);
1221 /* method poset#POSetElement#dtos for (self: POSetElement[Object]): HashSet[Object] */
1222 val
* poset__POSetElement__dtos(val
* self
) {
1223 val
* var
/* : HashSet[Object] */;
1224 val
* var1
/* : HashSet[Object] */;
1225 var1
= self
->attrs
[COLOR_poset__POSetElement___64ddtos
].val
; /* @dtos on <self:POSetElement[Object]> */
1227 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @dtos", "lib/poset.nit", 189);
1234 /* method poset#POSetElement#dtos for (self: Object): HashSet[Object] */
1235 val
* VIRTUAL_poset__POSetElement__dtos(val
* self
) {
1236 val
* var
/* : HashSet[Object] */;
1237 val
* var1
/* : HashSet[Object] */;
1238 var1
= poset__POSetElement__dtos(self
);
1243 /* method poset#POSetElement#dtos= for (self: POSetElement[Object], HashSet[Object]) */
1244 void poset__POSetElement__dtos_61d(val
* self
, val
* p0
) {
1245 short int var
/* : Bool */;
1248 const struct type
* type_struct
;
1249 /* Covariant cast for argument 0 (dtos) <p0:HashSet[Object]> isa HashSet[POSetElement#0] */
1250 /* <p0:HashSet[Object]> isa HashSet[POSetElement#0] */
1251 type_struct
= self
->type
->resolution_table
->types
[COLOR_hash_collection__HashSetposet__POSetElement_FT0
];
1252 cltype
= type_struct
->color
;
1253 idtype
= type_struct
->id
;
1254 if(cltype
>= p0
->type
->table_size
) {
1257 var
= p0
->type
->type_table
[cltype
] == idtype
;
1260 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/poset.nit", 189);
1263 self
->attrs
[COLOR_poset__POSetElement___64ddtos
].val
= p0
; /* @dtos on <self:POSetElement[Object]> */
1266 /* method poset#POSetElement#dtos= for (self: Object, HashSet[Object]) */
1267 void VIRTUAL_poset__POSetElement__dtos_61d(val
* self
, val
* p0
) {
1268 poset__POSetElement__dtos_61d(self
, p0
);
1271 /* method poset#POSetElement#dfroms for (self: POSetElement[Object]): HashSet[Object] */
1272 val
* poset__POSetElement__dfroms(val
* self
) {
1273 val
* var
/* : HashSet[Object] */;
1274 val
* var1
/* : HashSet[Object] */;
1275 var1
= self
->attrs
[COLOR_poset__POSetElement___64ddfroms
].val
; /* @dfroms on <self:POSetElement[Object]> */
1277 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @dfroms", "lib/poset.nit", 190);
1284 /* method poset#POSetElement#dfroms for (self: Object): HashSet[Object] */
1285 val
* VIRTUAL_poset__POSetElement__dfroms(val
* self
) {
1286 val
* var
/* : HashSet[Object] */;
1287 val
* var1
/* : HashSet[Object] */;
1288 var1
= poset__POSetElement__dfroms(self
);
1293 /* method poset#POSetElement#dfroms= for (self: POSetElement[Object], HashSet[Object]) */
1294 void poset__POSetElement__dfroms_61d(val
* self
, val
* p0
) {
1295 short int var
/* : Bool */;
1298 const struct type
* type_struct
;
1299 /* Covariant cast for argument 0 (dfroms) <p0:HashSet[Object]> isa HashSet[POSetElement#0] */
1300 /* <p0:HashSet[Object]> isa HashSet[POSetElement#0] */
1301 type_struct
= self
->type
->resolution_table
->types
[COLOR_hash_collection__HashSetposet__POSetElement_FT0
];
1302 cltype
= type_struct
->color
;
1303 idtype
= type_struct
->id
;
1304 if(cltype
>= p0
->type
->table_size
) {
1307 var
= p0
->type
->type_table
[cltype
] == idtype
;
1310 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/poset.nit", 190);
1313 self
->attrs
[COLOR_poset__POSetElement___64ddfroms
].val
= p0
; /* @dfroms on <self:POSetElement[Object]> */
1316 /* method poset#POSetElement#dfroms= for (self: Object, HashSet[Object]) */
1317 void VIRTUAL_poset__POSetElement__dfroms_61d(val
* self
, val
* p0
) {
1318 poset__POSetElement__dfroms_61d(self
, p0
);
1321 /* method poset#POSetElement#count for (self: POSetElement[Object]): Int */
1322 long poset__POSetElement__count(val
* self
) {
1323 long var
/* : Int */;
1324 long var1
/* : Int */;
1325 var1
= self
->attrs
[COLOR_poset__POSetElement___64dcount
].l
; /* @count on <self:POSetElement[Object]> */
1330 /* method poset#POSetElement#count for (self: Object): Int */
1331 long VIRTUAL_poset__POSetElement__count(val
* self
) {
1332 long var
/* : Int */;
1333 long var1
/* : Int */;
1334 var1
= poset__POSetElement__count(self
);
1339 /* method poset#POSetElement#count= for (self: POSetElement[Object], Int) */
1340 void poset__POSetElement__count_61d(val
* self
, long p0
) {
1341 self
->attrs
[COLOR_poset__POSetElement___64dcount
].l
= p0
; /* @count on <self:POSetElement[Object]> */
1344 /* method poset#POSetElement#count= for (self: Object, Int) */
1345 void VIRTUAL_poset__POSetElement__count_61d(val
* self
, long p0
) {
1346 poset__POSetElement__count_61d(self
, p0
);
1349 /* method poset#POSetElement#greaters for (self: POSetElement[Object]): Collection[Object] */
1350 val
* poset__POSetElement__greaters(val
* self
) {
1351 val
* var
/* : Collection[Object] */;
1352 val
* var1
/* : HashSet[Object] */;
1353 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSetElement__tos
]))(self
) /* tos on <self:POSetElement[Object]>*/;
1359 /* method poset#POSetElement#greaters for (self: Object): Collection[Object] */
1360 val
* VIRTUAL_poset__POSetElement__greaters(val
* self
) {
1361 val
* var
/* : Collection[Object] */;
1362 val
* var1
/* : Collection[Object] */;
1363 var1
= poset__POSetElement__greaters(self
);
1368 /* method poset#POSetElement#direct_greaters for (self: POSetElement[Object]): Collection[Object] */
1369 val
* poset__POSetElement__direct_greaters(val
* self
) {
1370 val
* var
/* : Collection[Object] */;
1371 val
* var1
/* : HashSet[Object] */;
1372 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSetElement__dtos
]))(self
) /* dtos on <self:POSetElement[Object]>*/;
1378 /* method poset#POSetElement#direct_greaters for (self: Object): Collection[Object] */
1379 val
* VIRTUAL_poset__POSetElement__direct_greaters(val
* self
) {
1380 val
* var
/* : Collection[Object] */;
1381 val
* var1
/* : Collection[Object] */;
1382 var1
= poset__POSetElement__direct_greaters(self
);
1387 /* method poset#POSetElement#smallers for (self: POSetElement[Object]): Collection[Object] */
1388 val
* poset__POSetElement__smallers(val
* self
) {
1389 val
* var
/* : Collection[Object] */;
1390 val
* var1
/* : HashSet[Object] */;
1391 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSetElement__froms
]))(self
) /* froms on <self:POSetElement[Object]>*/;
1397 /* method poset#POSetElement#smallers for (self: Object): Collection[Object] */
1398 val
* VIRTUAL_poset__POSetElement__smallers(val
* self
) {
1399 val
* var
/* : Collection[Object] */;
1400 val
* var1
/* : Collection[Object] */;
1401 var1
= poset__POSetElement__smallers(self
);
1406 /* method poset#POSetElement#direct_smallers for (self: POSetElement[Object]): Collection[Object] */
1407 val
* poset__POSetElement__direct_smallers(val
* self
) {
1408 val
* var
/* : Collection[Object] */;
1409 val
* var1
/* : HashSet[Object] */;
1410 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSetElement__dfroms
]))(self
) /* dfroms on <self:POSetElement[Object]>*/;
1416 /* method poset#POSetElement#direct_smallers for (self: Object): Collection[Object] */
1417 val
* VIRTUAL_poset__POSetElement__direct_smallers(val
* self
) {
1418 val
* var
/* : Collection[Object] */;
1419 val
* var1
/* : Collection[Object] */;
1420 var1
= poset__POSetElement__direct_smallers(self
);
1425 /* method poset#POSetElement#<= for (self: POSetElement[Object], Object): Bool */
1426 short int poset__POSetElement___60d_61d(val
* self
, val
* p0
) {
1427 short int var
/* : Bool */;
1428 short int var1
/* : Bool */;
1431 const struct type
* type_struct
;
1432 val
* var_t
/* var t: Object */;
1433 val
* var2
/* : HashSet[Object] */;
1434 short int var3
/* : Bool */;
1435 /* Covariant cast for argument 0 (t) <p0:Object> isa POSetElement#0 */
1436 /* <p0:Object> isa POSetElement#0 */
1437 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSetElement_FT0
];
1438 cltype
= type_struct
->color
;
1439 idtype
= type_struct
->id
;
1440 if(cltype
>= p0
->type
->table_size
) {
1443 var1
= p0
->type
->type_table
[cltype
] == idtype
;
1446 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/poset.nit", 222);
1450 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSetElement__tos
]))(self
) /* tos on <self:POSetElement[Object]>*/;
1451 var3
= ((short int (*)(val
*, val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var2
, var_t
) /* has on <var2:HashSet[Object]>*/;
1457 /* method poset#POSetElement#<= for (self: Object, Object): Bool */
1458 short int VIRTUAL_poset__POSetElement___60d_61d(val
* self
, val
* p0
) {
1459 short int var
/* : Bool */;
1460 short int var1
/* : Bool */;
1461 var1
= poset__POSetElement___60d_61d(self
, p0
);
1466 /* method poset#POSetElement#< for (self: POSetElement[Object], Object): Bool */
1467 short int poset__POSetElement___60d(val
* self
, val
* p0
) {
1468 short int var
/* : Bool */;
1469 short int var1
/* : Bool */;
1472 const struct type
* type_struct
;
1473 val
* var_t
/* var t: Object */;
1474 short int var2
/* : Bool */;
1475 val
* var3
/* : Object */;
1476 short int var4
/* : Bool */;
1477 short int var_
/* var : Bool */;
1478 val
* var5
/* : HashSet[Object] */;
1479 short int var6
/* : Bool */;
1480 /* Covariant cast for argument 0 (t) <p0:Object> isa POSetElement#0 */
1481 /* <p0:Object> isa POSetElement#0 */
1482 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSetElement_FT0
];
1483 cltype
= type_struct
->color
;
1484 idtype
= type_struct
->id
;
1485 if(cltype
>= p0
->type
->table_size
) {
1488 var1
= p0
->type
->type_table
[cltype
] == idtype
;
1491 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/poset.nit", 228);
1495 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSetElement__element
]))(self
) /* element on <self:POSetElement[Object]>*/;
1496 var4
= ((short int (*)(val
*, val
*))(var_t
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_t
, var3
) /* != on <var_t:Object>*/;
1499 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSetElement__tos
]))(self
) /* tos on <self:POSetElement[Object]>*/;
1500 var6
= ((short int (*)(val
*, val
*))(var5
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var5
, var_t
) /* has on <var5:HashSet[Object]>*/;
1510 /* method poset#POSetElement#< for (self: Object, Object): Bool */
1511 short int VIRTUAL_poset__POSetElement___60d(val
* self
, val
* p0
) {
1512 short int var
/* : Bool */;
1513 short int var1
/* : Bool */;
1514 var1
= poset__POSetElement___60d(self
, p0
);
1519 /* method poset#POSetElement#init for (self: POSetElement[Object], POSet[Object], Object, Int) */
1520 void poset__POSetElement__init(val
* self
, val
* p0
, val
* p1
, long p2
) {
1521 short int var
/* : Bool */;
1524 const struct type
* type_struct
;
1525 short int var1
/* : Bool */;
1528 const struct type
* type_struct4
;
1529 /* Covariant cast for argument 0 (poset) <p0:POSet[Object]> isa POSet[POSetElement#0] */
1530 /* <p0:POSet[Object]> isa POSet[POSetElement#0] */
1531 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSetposet__POSetElement_FT0
];
1532 cltype
= type_struct
->color
;
1533 idtype
= type_struct
->id
;
1534 if(cltype
>= p0
->type
->table_size
) {
1537 var
= p0
->type
->type_table
[cltype
] == idtype
;
1540 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/poset.nit", 168);
1543 /* Covariant cast for argument 1 (element) <p1:Object> isa POSetElement#0 */
1544 /* <p1:Object> isa POSetElement#0 */
1545 type_struct4
= self
->type
->resolution_table
->types
[COLOR_poset__POSetElement_FT0
];
1546 cltype2
= type_struct4
->color
;
1547 idtype3
= type_struct4
->id
;
1548 if(cltype2
>= p1
->type
->table_size
) {
1551 var1
= p1
->type
->type_table
[cltype2
] == idtype3
;
1554 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/poset.nit", 168);
1557 self
->attrs
[COLOR_poset__POSetElement___64dposet
].val
= p0
; /* @poset on <self:POSetElement[Object]> */
1558 self
->attrs
[COLOR_poset__POSetElement___64delement
].val
= p1
; /* @element on <self:POSetElement[Object]> */
1559 self
->attrs
[COLOR_poset__POSetElement___64dcount
].l
= p2
; /* @count on <self:POSetElement[Object]> */
1562 /* method poset#POSetElement#init for (self: Object, POSet[Object], Object, Int) */
1563 void VIRTUAL_poset__POSetElement__init(val
* self
, val
* p0
, val
* p1
, long p2
) {
1564 poset__POSetElement__init(self
, p0
, p1
, p2
);