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", "Uninitialized attribute @elements");
32 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 31);
39 /* method poset#POSet#elements for (self: Object): HashMap[Object, POSetElement[Object]] */
40 val
* VIRTUAL_poset__POSet__elements(val
* self
) {
41 val
* var
/* : HashMap[Object, POSetElement[Object]] */;
42 val
* var1
/* : HashMap[Object, POSetElement[Object]] */;
43 var1
= poset__POSet__elements(self
);
48 /* method poset#POSet#elements= for (self: POSet[Object], HashMap[Object, POSetElement[Object]]) */
49 void poset__POSet__elements_61d(val
* self
, val
* p0
) {
50 short int var
/* : Bool */;
53 const struct type
* type_struct
;
54 const char* var_class_name
;
55 /* Covariant cast for argument 0 (elements) <p0:HashMap[Object, POSetElement[Object]]> isa HashMap[POSet#0, POSetElement[POSet#0]] */
56 /* <p0:HashMap[Object, POSetElement[Object]]> isa HashMap[POSet#0, POSetElement[POSet#0]] */
57 type_struct
= self
->type
->resolution_table
->types
[COLOR_hash_collection__HashMapposet__POSet_FT0poset__POSetElementposet__POSet_FT0
];
58 cltype
= type_struct
->color
;
59 idtype
= type_struct
->id
;
60 if(cltype
>= p0
->type
->table_size
) {
63 var
= p0
->type
->type_table
[cltype
] == idtype
;
66 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
67 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "HashMap[POSet#0, POSetElement[POSet#0]]", var_class_name
);
68 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 31);
71 self
->attrs
[COLOR_poset__POSet___64delements
].val
= p0
; /* @elements on <self:POSet[Object]> */
74 /* method poset#POSet#elements= for (self: Object, HashMap[Object, POSetElement[Object]]) */
75 void VIRTUAL_poset__POSet__elements_61d(val
* self
, val
* p0
) {
76 poset__POSet__elements_61d(self
, p0
);
79 /* method poset#POSet#has for (self: POSet[Object], Object): Bool */
80 short int poset__POSet__has(val
* self
, val
* p0
) {
81 short int var
/* : Bool */;
82 short int var1
/* : Bool */;
85 const struct type
* type_struct
;
86 const char* var_class_name
;
87 val
* var_e
/* var e: Object */;
88 val
* var2
/* : HashMap[Object, POSetElement[Object]] */;
89 val
* var3
/* : Collection[Object] */;
90 short int var4
/* : Bool */;
91 /* Covariant cast for argument 0 (e) <p0:Object> isa Collection#0 */
92 /* <p0:Object> isa Collection#0 */
93 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_collection__Collection_FT0
];
94 cltype
= type_struct
->color
;
95 idtype
= type_struct
->id
;
96 if(cltype
>= p0
->type
->table_size
) {
99 var1
= p0
->type
->type_table
[cltype
] == idtype
;
102 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
103 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection#0", var_class_name
);
104 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 34);
108 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
109 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__MapRead__keys
]))(var2
) /* keys on <var2:HashMap[Object, POSetElement[Object]]>*/;
110 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]])>*/;
116 /* method poset#POSet#has for (self: Object, nullable Object): Bool */
117 short int VIRTUAL_poset__POSet__has(val
* self
, val
* p0
) {
118 short int var
/* : Bool */;
119 short int var1
/* : Bool */;
120 var1
= poset__POSet__has(self
, p0
);
125 /* method poset#POSet#add_node for (self: POSet[Object], Object): POSetElement[Object] */
126 val
* poset__POSet__add_node(val
* self
, val
* p0
) {
127 val
* var
/* : POSetElement[Object] */;
128 short int var1
/* : Bool */;
131 const struct type
* type_struct
;
132 const char* var_class_name
;
133 val
* var_e
/* var e: Object */;
134 val
* var2
/* : HashMap[Object, POSetElement[Object]] */;
135 val
* var3
/* : Collection[Object] */;
136 short int var4
/* : Bool */;
137 val
* var5
/* : HashMap[Object, POSetElement[Object]] */;
138 val
* var6
/* : nullable Object */;
139 val
* var7
/* : POSetElement[Object] */;
140 val
* var8
/* : HashMap[Object, POSetElement[Object]] */;
141 long var9
/* : Int */;
142 val
* var_poe
/* var poe: POSetElement[Object] */;
143 val
* var10
/* : HashSet[Object] */;
144 val
* var11
/* : HashSet[Object] */;
145 val
* var12
/* : HashMap[Object, POSetElement[Object]] */;
146 /* Covariant cast for argument 0 (e) <p0:Object> isa POSet#0 */
147 /* <p0:Object> isa POSet#0 */
148 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
149 cltype
= type_struct
->color
;
150 idtype
= type_struct
->id
;
151 if(cltype
>= p0
->type
->table_size
) {
154 var1
= p0
->type
->type_table
[cltype
] == idtype
;
157 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
158 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name
);
159 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 36);
163 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
164 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__MapRead__keys
]))(var2
) /* keys on <var2:HashMap[Object, POSetElement[Object]]>*/;
165 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]])>*/;
167 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
168 var6
= ((val
* (*)(val
*, val
*))(var5
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var5
, var_e
) /* [] on <var5:HashMap[Object, POSetElement[Object]]>*/;
173 var7
= NEW_poset__POSetElement(self
->type
->resolution_table
->types
[COLOR_poset__POSetElementposet__POSet_FT0
]);
174 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
175 var9
= ((long (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__MapRead__length
]))(var8
) /* length on <var8:HashMap[Object, POSetElement[Object]]>*/;
176 ((void (*)(val
*, val
*, val
*, long))(var7
->class->vft
[COLOR_poset__POSetElement__init
]))(var7
, self
, var_e
, var9
) /* init on <var7:POSetElement[Object]>*/;
177 CHECK_NEW_poset__POSetElement(var7
);
179 var10
= ((val
* (*)(val
*))(var_poe
->class->vft
[COLOR_poset__POSetElement__tos
]))(var_poe
) /* tos on <var_poe:POSetElement[Object]>*/;
180 ((void (*)(val
*, val
*))(var10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var10
, var_e
) /* add on <var10:HashSet[Object]>*/;
181 var11
= ((val
* (*)(val
*))(var_poe
->class->vft
[COLOR_poset__POSetElement__froms
]))(var_poe
) /* froms on <var_poe:POSetElement[Object]>*/;
182 ((void (*)(val
*, val
*))(var11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var11
, var_e
) /* add on <var11:HashSet[Object]>*/;
183 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
184 ((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]]>*/;
190 /* method poset#POSet#add_node for (self: Object, Object): POSetElement[Object] */
191 val
* VIRTUAL_poset__POSet__add_node(val
* self
, val
* p0
) {
192 val
* var
/* : POSetElement[Object] */;
193 val
* var1
/* : POSetElement[Object] */;
194 var1
= poset__POSet__add_node(self
, p0
);
199 /* method poset#POSet#[] for (self: POSet[Object], Object): POSetElement[Object] */
200 val
* poset__POSet___91d_93d(val
* self
, val
* p0
) {
201 val
* var
/* : POSetElement[Object] */;
202 short int var1
/* : Bool */;
205 const struct type
* type_struct
;
206 const char* var_class_name
;
207 val
* var_e
/* var e: Object */;
208 val
* var2
/* : HashMap[Object, POSetElement[Object]] */;
209 val
* var3
/* : Collection[Object] */;
210 short int var4
/* : Bool */;
211 val
* var5
/* : HashMap[Object, POSetElement[Object]] */;
212 val
* var6
/* : nullable Object */;
213 /* Covariant cast for argument 0 (e) <p0:Object> isa POSet#0 */
214 /* <p0:Object> isa POSet#0 */
215 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
216 cltype
= type_struct
->color
;
217 idtype
= type_struct
->id
;
218 if(cltype
>= p0
->type
->table_size
) {
221 var1
= p0
->type
->type_table
[cltype
] == idtype
;
224 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
225 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name
);
226 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 50);
230 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
231 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__MapRead__keys
]))(var2
) /* keys on <var2:HashMap[Object, POSetElement[Object]]>*/;
232 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]])>*/;
234 fprintf(stderr
, "Runtime error: %s", "Assert failed");
235 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 63);
238 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
239 var6
= ((val
* (*)(val
*, val
*))(var5
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var5
, var_e
) /* [] on <var5:HashMap[Object, POSetElement[Object]]>*/;
245 /* method poset#POSet#[] for (self: Object, Object): POSetElement[Object] */
246 val
* VIRTUAL_poset__POSet___91d_93d(val
* self
, val
* p0
) {
247 val
* var
/* : POSetElement[Object] */;
248 val
* var1
/* : POSetElement[Object] */;
249 var1
= poset__POSet___91d_93d(self
, p0
);
254 /* method poset#POSet#add_edge for (self: POSet[Object], Object, Object) */
255 void poset__POSet__add_edge(val
* self
, val
* p0
, val
* p1
) {
256 short int var
/* : Bool */;
259 const struct type
* type_struct
;
260 const char* var_class_name
;
261 short int var1
/* : Bool */;
264 const struct type
* type_struct4
;
265 const char* var_class_name5
;
266 val
* var_f
/* var f: Object */;
267 val
* var_t
/* var t: Object */;
268 val
* var6
/* : POSetElement[Object] */;
269 val
* var_fe
/* var fe: POSetElement[Object] */;
270 val
* var7
/* : POSetElement[Object] */;
271 val
* var_te
/* var te: POSetElement[Object] */;
272 val
* var8
/* : HashSet[Object] */;
273 short int var9
/* : Bool */;
274 val
* var10
/* : HashSet[Object] */;
275 val
* var11
/* : Iterator[nullable Object] */;
276 short int var12
/* : Bool */;
277 val
* var13
/* : nullable Object */;
278 val
* var_ff
/* var ff: Object */;
279 val
* var14
/* : HashMap[Object, POSetElement[Object]] */;
280 val
* var15
/* : nullable Object */;
281 val
* var_ffe
/* var ffe: POSetElement[Object] */;
282 val
* var16
/* : HashSet[Object] */;
283 val
* var17
/* : Iterator[nullable Object] */;
284 short int var18
/* : Bool */;
285 val
* var19
/* : nullable Object */;
286 val
* var_tt
/* var tt: Object */;
287 val
* var20
/* : HashMap[Object, POSetElement[Object]] */;
288 val
* var21
/* : nullable Object */;
289 val
* var_tte
/* var tte: POSetElement[Object] */;
290 val
* var22
/* : HashSet[Object] */;
291 val
* var23
/* : HashSet[Object] */;
292 val
* var25
/* : HashSet[Object] */;
293 short int var26
/* : Bool */;
294 val
* var27
/* : HashSet[Object] */;
295 val
* var28
/* : Array[nullable Object] */;
296 val
* var29
/* : Iterator[nullable Object] */;
297 short int var30
/* : Bool */;
298 val
* var31
/* : nullable Object */;
299 val
* var_x
/* var x: Object */;
300 val
* var32
/* : HashMap[Object, POSetElement[Object]] */;
301 val
* var33
/* : nullable Object */;
302 val
* var_xe
/* var xe: POSetElement[Object] */;
303 val
* var34
/* : HashSet[Object] */;
304 short int var35
/* : Bool */;
305 val
* var36
/* : HashSet[Object] */;
306 val
* var37
/* : HashSet[Object] */;
307 val
* var39
/* : HashSet[Object] */;
308 val
* var40
/* : Array[nullable Object] */;
309 val
* var41
/* : Iterator[nullable Object] */;
310 short int var42
/* : Bool */;
311 val
* var43
/* : nullable Object */;
312 val
* var_x44
/* var x: Object */;
313 val
* var45
/* : HashMap[Object, POSetElement[Object]] */;
314 val
* var46
/* : nullable Object */;
315 val
* var_xe47
/* var xe: POSetElement[Object] */;
316 val
* var48
/* : HashSet[Object] */;
317 short int var49
/* : Bool */;
318 val
* var50
/* : HashSet[Object] */;
319 val
* var51
/* : HashSet[Object] */;
320 val
* var53
/* : HashSet[Object] */;
321 val
* var54
/* : HashSet[Object] */;
322 /* Covariant cast for argument 0 (f) <p0:Object> isa POSet#0 */
323 /* <p0:Object> isa POSet#0 */
324 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
325 cltype
= type_struct
->color
;
326 idtype
= type_struct
->id
;
327 if(cltype
>= p0
->type
->table_size
) {
330 var
= p0
->type
->type_table
[cltype
] == idtype
;
333 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
334 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name
);
335 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 67);
338 /* Covariant cast for argument 1 (t) <p1:Object> isa POSet#0 */
339 /* <p1:Object> isa POSet#0 */
340 type_struct4
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
341 cltype2
= type_struct4
->color
;
342 idtype3
= type_struct4
->id
;
343 if(cltype2
>= p1
->type
->table_size
) {
346 var1
= p1
->type
->type_table
[cltype2
] == idtype3
;
349 var_class_name5
= p1
== NULL ?
"null" : p1
->type
->name
;
350 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name5
);
351 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 67);
356 var6
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_poset__POSet__add_node
]))(self
, var_f
) /* add_node on <self:POSet[Object]>*/;
358 var7
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_poset__POSet__add_node
]))(self
, var_t
) /* add_node on <self:POSet[Object]>*/;
360 var8
= ((val
* (*)(val
*))(var_fe
->class->vft
[COLOR_poset__POSetElement__tos
]))(var_fe
) /* tos on <var_fe:POSetElement[Object]>*/;
361 var9
= ((short int (*)(val
*, val
*))(var8
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var8
, var_t
) /* has on <var8:HashSet[Object]>*/;
366 var10
= ((val
* (*)(val
*))(var_fe
->class->vft
[COLOR_poset__POSetElement__froms
]))(var_fe
) /* froms on <var_fe:POSetElement[Object]>*/;
367 var11
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var10
) /* iterator on <var10:HashSet[Object]>*/;
369 var12
= ((short int (*)(val
*))(var11
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var11
) /* is_ok on <var11:Iterator[nullable Object]>*/;
371 var13
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var11
) /* item on <var11:Iterator[nullable Object]>*/;
373 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
374 var15
= ((val
* (*)(val
*, val
*))(var14
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var14
, var_ff
) /* [] on <var14:HashMap[Object, POSetElement[Object]]>*/;
376 var16
= ((val
* (*)(val
*))(var_te
->class->vft
[COLOR_poset__POSetElement__tos
]))(var_te
) /* tos on <var_te:POSetElement[Object]>*/;
377 var17
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var16
) /* iterator on <var16:HashSet[Object]>*/;
379 var18
= ((short int (*)(val
*))(var17
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var17
) /* is_ok on <var17:Iterator[nullable Object]>*/;
381 var19
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var17
) /* item on <var17:Iterator[nullable Object]>*/;
383 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
384 var21
= ((val
* (*)(val
*, val
*))(var20
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var20
, var_tt
) /* [] on <var20:HashMap[Object, POSetElement[Object]]>*/;
386 var22
= ((val
* (*)(val
*))(var_tte
->class->vft
[COLOR_poset__POSetElement__froms
]))(var_tte
) /* froms on <var_tte:POSetElement[Object]>*/;
387 ((void (*)(val
*, val
*))(var22
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var22
, var_ff
) /* add on <var22:HashSet[Object]>*/;
388 var23
= ((val
* (*)(val
*))(var_ffe
->class->vft
[COLOR_poset__POSetElement__tos
]))(var_ffe
) /* tos on <var_ffe:POSetElement[Object]>*/;
389 ((void (*)(val
*, val
*))(var23
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var23
, var_tt
) /* add on <var23:HashSet[Object]>*/;
390 CONTINUE_label
: (void)0;
391 ((void (*)(val
*))(var17
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var17
) /* next on <var17:Iterator[nullable Object]>*/;
393 BREAK_label
: (void)0;
394 CONTINUE_label24
: (void)0;
395 ((void (*)(val
*))(var11
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var11
) /* next on <var11:Iterator[nullable Object]>*/;
397 BREAK_label24
: (void)0;
398 var25
= ((val
* (*)(val
*))(var_te
->class->vft
[COLOR_poset__POSetElement__tos
]))(var_te
) /* tos on <var_te:POSetElement[Object]>*/;
399 var26
= ((short int (*)(val
*, val
*))(var25
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var25
, var_f
) /* has on <var25:HashSet[Object]>*/;
404 var27
= ((val
* (*)(val
*))(var_te
->class->vft
[COLOR_poset__POSetElement__dfroms
]))(var_te
) /* dfroms on <var_te:POSetElement[Object]>*/;
405 var28
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_array__Collection__to_a
]))(var27
) /* to_a on <var27:HashSet[Object]>*/;
406 var29
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var28
) /* iterator on <var28:Array[nullable Object](Array[Object])>*/;
408 var30
= ((short int (*)(val
*))(var29
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var29
) /* is_ok on <var29:Iterator[nullable Object]>*/;
410 var31
= ((val
* (*)(val
*))(var29
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var29
) /* item on <var29:Iterator[nullable Object]>*/;
412 var32
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
413 var33
= ((val
* (*)(val
*, val
*))(var32
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var32
, var_x
) /* [] on <var32:HashMap[Object, POSetElement[Object]]>*/;
415 var34
= ((val
* (*)(val
*))(var_xe
->class->vft
[COLOR_poset__POSetElement__tos
]))(var_xe
) /* tos on <var_xe:POSetElement[Object]>*/;
416 var35
= ((short int (*)(val
*, val
*))(var34
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var34
, var_f
) /* has on <var34:HashSet[Object]>*/;
418 var36
= ((val
* (*)(val
*))(var_te
->class->vft
[COLOR_poset__POSetElement__dfroms
]))(var_te
) /* dfroms on <var_te:POSetElement[Object]>*/;
419 ((void (*)(val
*, val
*))(var36
->class->vft
[COLOR_abstract_collection__RemovableCollection__remove
]))(var36
, var_x
) /* remove on <var36:HashSet[Object]>*/;
420 var37
= ((val
* (*)(val
*))(var_xe
->class->vft
[COLOR_poset__POSetElement__dtos
]))(var_xe
) /* dtos on <var_xe:POSetElement[Object]>*/;
421 ((void (*)(val
*, val
*))(var37
->class->vft
[COLOR_abstract_collection__RemovableCollection__remove
]))(var37
, var_t
) /* remove on <var37:HashSet[Object]>*/;
424 CONTINUE_label38
: (void)0;
425 ((void (*)(val
*))(var29
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var29
) /* next on <var29:Iterator[nullable Object]>*/;
427 BREAK_label38
: (void)0;
428 var39
= ((val
* (*)(val
*))(var_fe
->class->vft
[COLOR_poset__POSetElement__dtos
]))(var_fe
) /* dtos on <var_fe:POSetElement[Object]>*/;
429 var40
= ((val
* (*)(val
*))(var39
->class->vft
[COLOR_array__Collection__to_a
]))(var39
) /* to_a on <var39:HashSet[Object]>*/;
430 var41
= ((val
* (*)(val
*))(var40
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var40
) /* iterator on <var40:Array[nullable Object](Array[Object])>*/;
432 var42
= ((short int (*)(val
*))(var41
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var41
) /* is_ok on <var41:Iterator[nullable Object]>*/;
434 var43
= ((val
* (*)(val
*))(var41
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var41
) /* item on <var41:Iterator[nullable Object]>*/;
436 var45
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
437 var46
= ((val
* (*)(val
*, val
*))(var45
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var45
, var_x44
) /* [] on <var45:HashMap[Object, POSetElement[Object]]>*/;
439 var48
= ((val
* (*)(val
*))(var_xe47
->class->vft
[COLOR_poset__POSetElement__froms
]))(var_xe47
) /* froms on <var_xe47:POSetElement[Object]>*/;
440 var49
= ((short int (*)(val
*, val
*))(var48
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var48
, var_t
) /* has on <var48:HashSet[Object]>*/;
442 var50
= ((val
* (*)(val
*))(var_xe47
->class->vft
[COLOR_poset__POSetElement__dfroms
]))(var_xe47
) /* dfroms on <var_xe47:POSetElement[Object]>*/;
443 ((void (*)(val
*, val
*))(var50
->class->vft
[COLOR_abstract_collection__RemovableCollection__remove
]))(var50
, var_f
) /* remove on <var50:HashSet[Object]>*/;
444 var51
= ((val
* (*)(val
*))(var_fe
->class->vft
[COLOR_poset__POSetElement__dtos
]))(var_fe
) /* dtos on <var_fe:POSetElement[Object]>*/;
445 ((void (*)(val
*, val
*))(var51
->class->vft
[COLOR_abstract_collection__RemovableCollection__remove
]))(var51
, var_x44
) /* remove on <var51:HashSet[Object]>*/;
448 CONTINUE_label52
: (void)0;
449 ((void (*)(val
*))(var41
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var41
) /* next on <var41:Iterator[nullable Object]>*/;
451 BREAK_label52
: (void)0;
452 var53
= ((val
* (*)(val
*))(var_fe
->class->vft
[COLOR_poset__POSetElement__dtos
]))(var_fe
) /* dtos on <var_fe:POSetElement[Object]>*/;
453 ((void (*)(val
*, val
*))(var53
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var53
, var_t
) /* add on <var53:HashSet[Object]>*/;
454 var54
= ((val
* (*)(val
*))(var_te
->class->vft
[COLOR_poset__POSetElement__dfroms
]))(var_te
) /* dfroms on <var_te:POSetElement[Object]>*/;
455 ((void (*)(val
*, val
*))(var54
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var54
, var_f
) /* add on <var54:HashSet[Object]>*/;
458 /* method poset#POSet#add_edge for (self: Object, Object, Object) */
459 void VIRTUAL_poset__POSet__add_edge(val
* self
, val
* p0
, val
* p1
) {
460 poset__POSet__add_edge(self
, p0
, p1
);
463 /* method poset#POSet#has_edge for (self: POSet[Object], Object, Object): Bool */
464 short int poset__POSet__has_edge(val
* self
, val
* p0
, val
* p1
) {
465 short int var
/* : Bool */;
466 short int var1
/* : Bool */;
469 const struct type
* type_struct
;
470 const char* var_class_name
;
471 short int var2
/* : Bool */;
474 const struct type
* type_struct5
;
475 const char* var_class_name6
;
476 val
* var_f
/* var f: Object */;
477 val
* var_t
/* var t: Object */;
478 val
* var7
/* : HashMap[Object, POSetElement[Object]] */;
479 val
* var8
/* : Collection[Object] */;
480 short int var9
/* : Bool */;
481 short int var10
/* : Bool */;
482 short int var11
/* : Bool */;
483 val
* var12
/* : HashMap[Object, POSetElement[Object]] */;
484 val
* var13
/* : nullable Object */;
485 val
* var_fe
/* var fe: POSetElement[Object] */;
486 val
* var14
/* : HashSet[Object] */;
487 short int var15
/* : Bool */;
488 /* Covariant cast for argument 0 (f) <p0:Object> isa POSet#0 */
489 /* <p0:Object> isa POSet#0 */
490 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
491 cltype
= type_struct
->color
;
492 idtype
= type_struct
->id
;
493 if(cltype
>= p0
->type
->table_size
) {
496 var1
= p0
->type
->type_table
[cltype
] == idtype
;
499 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
500 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name
);
501 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 109);
504 /* Covariant cast for argument 1 (t) <p1:Object> isa POSet#0 */
505 /* <p1:Object> isa POSet#0 */
506 type_struct5
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
507 cltype3
= type_struct5
->color
;
508 idtype4
= type_struct5
->id
;
509 if(cltype3
>= p1
->type
->table_size
) {
512 var2
= p1
->type
->type_table
[cltype3
] == idtype4
;
515 var_class_name6
= p1
== NULL ?
"null" : p1
->type
->name
;
516 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name6
);
517 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 109);
522 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
523 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__MapRead__keys
]))(var7
) /* keys on <var7:HashMap[Object, POSetElement[Object]]>*/;
524 var9
= ((short int (*)(val
*, val
*))(var8
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var8
, var_f
) /* has on <var8:Collection[Object](HashMapKeys[Object, POSetElement[Object]])>*/;
532 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
533 var13
= ((val
* (*)(val
*, val
*))(var12
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var12
, var_f
) /* [] on <var12:HashMap[Object, POSetElement[Object]]>*/;
535 var14
= ((val
* (*)(val
*))(var_fe
->class->vft
[COLOR_poset__POSetElement__tos
]))(var_fe
) /* tos on <var_fe:POSetElement[Object]>*/;
536 var15
= ((short int (*)(val
*, val
*))(var14
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var14
, var_t
) /* has on <var14:HashSet[Object]>*/;
542 /* method poset#POSet#has_edge for (self: Object, Object, Object): Bool */
543 short int VIRTUAL_poset__POSet__has_edge(val
* self
, val
* p0
, val
* p1
) {
544 short int var
/* : Bool */;
545 short int var1
/* : Bool */;
546 var1
= poset__POSet__has_edge(self
, p0
, p1
);
551 /* method poset#POSet#has_direct_edge for (self: POSet[Object], Object, Object): Bool */
552 short int poset__POSet__has_direct_edge(val
* self
, val
* p0
, val
* p1
) {
553 short int var
/* : Bool */;
554 short int var1
/* : Bool */;
557 const struct type
* type_struct
;
558 const char* var_class_name
;
559 short int var2
/* : Bool */;
562 const struct type
* type_struct5
;
563 const char* var_class_name6
;
564 val
* var_f
/* var f: Object */;
565 val
* var_t
/* var t: Object */;
566 val
* var7
/* : HashMap[Object, POSetElement[Object]] */;
567 val
* var8
/* : Collection[Object] */;
568 short int var9
/* : Bool */;
569 short int var10
/* : Bool */;
570 short int var11
/* : Bool */;
571 val
* var12
/* : HashMap[Object, POSetElement[Object]] */;
572 val
* var13
/* : nullable Object */;
573 val
* var_fe
/* var fe: POSetElement[Object] */;
574 val
* var14
/* : HashSet[Object] */;
575 short int var15
/* : Bool */;
576 /* Covariant cast for argument 0 (f) <p0:Object> isa POSet#0 */
577 /* <p0:Object> isa POSet#0 */
578 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
579 cltype
= type_struct
->color
;
580 idtype
= type_struct
->id
;
581 if(cltype
>= p0
->type
->table_size
) {
584 var1
= p0
->type
->type_table
[cltype
] == idtype
;
587 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
588 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name
);
589 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 118);
592 /* Covariant cast for argument 1 (t) <p1:Object> isa POSet#0 */
593 /* <p1:Object> isa POSet#0 */
594 type_struct5
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
595 cltype3
= type_struct5
->color
;
596 idtype4
= type_struct5
->id
;
597 if(cltype3
>= p1
->type
->table_size
) {
600 var2
= p1
->type
->type_table
[cltype3
] == idtype4
;
603 var_class_name6
= p1
== NULL ?
"null" : p1
->type
->name
;
604 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name6
);
605 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 118);
610 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
611 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__MapRead__keys
]))(var7
) /* keys on <var7:HashMap[Object, POSetElement[Object]]>*/;
612 var9
= ((short int (*)(val
*, val
*))(var8
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var8
, var_f
) /* has on <var8:Collection[Object](HashMapKeys[Object, POSetElement[Object]])>*/;
620 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
621 var13
= ((val
* (*)(val
*, val
*))(var12
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var12
, var_f
) /* [] on <var12:HashMap[Object, POSetElement[Object]]>*/;
623 var14
= ((val
* (*)(val
*))(var_fe
->class->vft
[COLOR_poset__POSetElement__dtos
]))(var_fe
) /* dtos on <var_fe:POSetElement[Object]>*/;
624 var15
= ((short int (*)(val
*, val
*))(var14
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var14
, var_t
) /* has on <var14:HashSet[Object]>*/;
630 /* method poset#POSet#has_direct_edge for (self: Object, Object, Object): Bool */
631 short int VIRTUAL_poset__POSet__has_direct_edge(val
* self
, val
* p0
, val
* p1
) {
632 short int var
/* : Bool */;
633 short int var1
/* : Bool */;
634 var1
= poset__POSet__has_direct_edge(self
, p0
, p1
);
639 /* method poset#POSet#show_dot for (self: POSet[Object]) */
640 void poset__POSet__show_dot(val
* self
) {
641 val
* var
/* : OProcess */;
643 val
* var1
/* : String */;
644 char* var2
/* : NativeString */;
645 long var3
/* : Int */;
646 val
* var4
/* : String */;
647 static val
* varonce5
;
648 val
* var6
/* : String */;
649 char* var7
/* : NativeString */;
650 long var8
/* : Int */;
651 val
* var9
/* : String */;
652 val
* var10
/* : Array[String] */;
653 long var11
/* : Int */;
654 val
* var12
/* : NativeArray[String] */;
655 val
* var_f
/* var f: OProcess */;
656 static val
* varonce13
;
657 val
* var14
/* : String */;
658 char* var15
/* : NativeString */;
659 long var16
/* : Int */;
660 val
* var17
/* : String */;
661 val
* var18
/* : HashMap[Object, POSetElement[Object]] */;
662 val
* var19
/* : Collection[Object] */;
663 val
* var20
/* : Iterator[nullable Object] */;
664 short int var21
/* : Bool */;
665 val
* var22
/* : nullable Object */;
666 val
* var_x
/* var x: Object */;
667 static val
* varonce23
;
668 val
* var24
/* : String */;
669 char* var25
/* : NativeString */;
670 long var26
/* : Int */;
671 val
* var27
/* : String */;
672 static val
* varonce28
;
673 val
* var29
/* : String */;
674 char* var30
/* : NativeString */;
675 long var31
/* : Int */;
676 val
* var32
/* : String */;
677 val
* var33
/* : Array[Object] */;
678 long var34
/* : Int */;
679 val
* var35
/* : NativeArray[Object] */;
680 val
* var36
/* : String */;
681 val
* var37
/* : HashMap[Object, POSetElement[Object]] */;
682 val
* var38
/* : nullable Object */;
683 val
* var_xe
/* var xe: POSetElement[Object] */;
684 val
* var39
/* : HashSet[Object] */;
685 val
* var40
/* : Iterator[nullable Object] */;
686 short int var41
/* : Bool */;
687 val
* var42
/* : nullable Object */;
688 val
* var_y
/* var y: Object */;
689 short int var43
/* : Bool */;
690 static val
* varonce44
;
691 val
* var45
/* : String */;
692 char* var46
/* : NativeString */;
693 long var47
/* : Int */;
694 val
* var48
/* : String */;
695 static val
* varonce49
;
696 val
* var50
/* : String */;
697 char* var51
/* : NativeString */;
698 long var52
/* : Int */;
699 val
* var53
/* : String */;
700 static val
* varonce54
;
701 val
* var55
/* : String */;
702 char* var56
/* : NativeString */;
703 long var57
/* : Int */;
704 val
* var58
/* : String */;
705 val
* var59
/* : Array[Object] */;
706 long var60
/* : Int */;
707 val
* var61
/* : NativeArray[Object] */;
708 val
* var62
/* : String */;
709 static val
* varonce63
;
710 val
* var64
/* : String */;
711 char* var65
/* : NativeString */;
712 long var66
/* : Int */;
713 val
* var67
/* : String */;
714 static val
* varonce68
;
715 val
* var69
/* : String */;
716 char* var70
/* : NativeString */;
717 long var71
/* : Int */;
718 val
* var72
/* : String */;
719 static val
* varonce73
;
720 val
* var74
/* : String */;
721 char* var75
/* : NativeString */;
722 long var76
/* : Int */;
723 val
* var77
/* : String */;
724 val
* var78
/* : Array[Object] */;
725 long var79
/* : Int */;
726 val
* var80
/* : NativeArray[Object] */;
727 val
* var81
/* : String */;
728 static val
* varonce83
;
729 val
* var84
/* : String */;
730 char* var85
/* : NativeString */;
731 long var86
/* : Int */;
732 val
* var87
/* : String */;
733 var
= NEW_exec__OProcess(&type_exec__OProcess
);
739 var4
= string__NativeString__to_s_with_length(var2
, var3
);
748 var9
= string__NativeString__to_s_with_length(var7
, var8
);
752 var10
= NEW_array__Array(&type_array__Arraystring__String
);
753 { /* var10 = array_instance Array[String] */
755 var12
= NEW_array__NativeArray(var11
, &type_array__NativeArraystring__String
);
756 ((struct instance_array__NativeArray
*)var12
)->values
[0] = (val
*) var6
;
757 ((void (*)(val
*, val
*, long))(var10
->class->vft
[COLOR_array__Array__with_native
]))(var10
, var12
, var11
) /* with_native on <var10:Array[String]>*/;
758 CHECK_NEW_array__Array(var10
);
760 ((void (*)(val
*, val
*, val
*))(var
->class->vft
[COLOR_exec__OProcess__init
]))(var
, var1
, var10
) /* init on <var:OProcess>*/;
761 CHECK_NEW_exec__OProcess(var
);
766 var15
= "digraph {\n";
768 var17
= string__NativeString__to_s_with_length(var15
, var16
);
772 ((void (*)(val
*, val
*))(var_f
->class->vft
[COLOR_stream__OStream__write
]))(var_f
, var14
) /* write on <var_f:OProcess>*/;
773 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
774 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_abstract_collection__MapRead__keys
]))(var18
) /* keys on <var18:HashMap[Object, POSetElement[Object]]>*/;
775 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var19
) /* iterator on <var19:Collection[Object](HashMapKeys[Object, POSetElement[Object]])>*/;
777 var21
= ((short int (*)(val
*))(var20
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var20
) /* is_ok on <var20:Iterator[nullable Object]>*/;
779 var22
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var20
) /* item on <var20:Iterator[nullable Object]>*/;
786 var27
= string__NativeString__to_s_with_length(var25
, var26
);
795 var32
= string__NativeString__to_s_with_length(var30
, var31
);
799 var33
= NEW_array__Array(&type_array__Arraykernel__Object
);
800 { /* var33 = array_instance Array[Object] */
802 var35
= NEW_array__NativeArray(var34
, &type_array__NativeArraykernel__Object
);
803 ((struct instance_array__NativeArray
*)var35
)->values
[0] = (val
*) var24
;
804 ((struct instance_array__NativeArray
*)var35
)->values
[1] = (val
*) var_x
;
805 ((struct instance_array__NativeArray
*)var35
)->values
[2] = (val
*) var29
;
806 ((void (*)(val
*, val
*, long))(var33
->class->vft
[COLOR_array__Array__with_native
]))(var33
, var35
, var34
) /* with_native on <var33:Array[Object]>*/;
807 CHECK_NEW_array__Array(var33
);
809 var36
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_string__Object__to_s
]))(var33
) /* to_s on <var33:Array[Object]>*/;
810 ((void (*)(val
*, val
*))(var_f
->class->vft
[COLOR_stream__OStream__write
]))(var_f
, var36
) /* write on <var_f:OProcess>*/;
811 var37
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
812 var38
= ((val
* (*)(val
*, val
*))(var37
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var37
, var_x
) /* [] on <var37:HashMap[Object, POSetElement[Object]]>*/;
814 var39
= ((val
* (*)(val
*))(var_xe
->class->vft
[COLOR_poset__POSetElement__dtos
]))(var_xe
) /* dtos on <var_xe:POSetElement[Object]>*/;
815 var40
= ((val
* (*)(val
*))(var39
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var39
) /* iterator on <var39:HashSet[Object]>*/;
817 var41
= ((short int (*)(val
*))(var40
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var40
) /* is_ok on <var40:Iterator[nullable Object]>*/;
819 var42
= ((val
* (*)(val
*))(var40
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var40
) /* item on <var40:Iterator[nullable Object]>*/;
821 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]>*/;
828 var48
= string__NativeString__to_s_with_length(var46
, var47
);
837 var53
= string__NativeString__to_s_with_length(var51
, var52
);
844 var56
= "\"[dir=both];\n";
846 var58
= string__NativeString__to_s_with_length(var56
, var57
);
850 var59
= NEW_array__Array(&type_array__Arraykernel__Object
);
851 { /* var59 = array_instance Array[Object] */
853 var61
= NEW_array__NativeArray(var60
, &type_array__NativeArraykernel__Object
);
854 ((struct instance_array__NativeArray
*)var61
)->values
[0] = (val
*) var45
;
855 ((struct instance_array__NativeArray
*)var61
)->values
[1] = (val
*) var_x
;
856 ((struct instance_array__NativeArray
*)var61
)->values
[2] = (val
*) var50
;
857 ((struct instance_array__NativeArray
*)var61
)->values
[3] = (val
*) var_y
;
858 ((struct instance_array__NativeArray
*)var61
)->values
[4] = (val
*) var55
;
859 ((void (*)(val
*, val
*, long))(var59
->class->vft
[COLOR_array__Array__with_native
]))(var59
, var61
, var60
) /* with_native on <var59:Array[Object]>*/;
860 CHECK_NEW_array__Array(var59
);
862 var62
= ((val
* (*)(val
*))(var59
->class->vft
[COLOR_string__Object__to_s
]))(var59
) /* to_s on <var59:Array[Object]>*/;
863 ((void (*)(val
*, val
*))(var_f
->class->vft
[COLOR_stream__OStream__write
]))(var_f
, var62
) /* write on <var_f:OProcess>*/;
870 var67
= string__NativeString__to_s_with_length(var65
, var66
);
879 var72
= string__NativeString__to_s_with_length(var70
, var71
);
888 var77
= string__NativeString__to_s_with_length(var75
, var76
);
892 var78
= NEW_array__Array(&type_array__Arraykernel__Object
);
893 { /* var78 = array_instance Array[Object] */
895 var80
= NEW_array__NativeArray(var79
, &type_array__NativeArraykernel__Object
);
896 ((struct instance_array__NativeArray
*)var80
)->values
[0] = (val
*) var64
;
897 ((struct instance_array__NativeArray
*)var80
)->values
[1] = (val
*) var_x
;
898 ((struct instance_array__NativeArray
*)var80
)->values
[2] = (val
*) var69
;
899 ((struct instance_array__NativeArray
*)var80
)->values
[3] = (val
*) var_y
;
900 ((struct instance_array__NativeArray
*)var80
)->values
[4] = (val
*) var74
;
901 ((void (*)(val
*, val
*, long))(var78
->class->vft
[COLOR_array__Array__with_native
]))(var78
, var80
, var79
) /* with_native on <var78:Array[Object]>*/;
902 CHECK_NEW_array__Array(var78
);
904 var81
= ((val
* (*)(val
*))(var78
->class->vft
[COLOR_string__Object__to_s
]))(var78
) /* to_s on <var78:Array[Object]>*/;
905 ((void (*)(val
*, val
*))(var_f
->class->vft
[COLOR_stream__OStream__write
]))(var_f
, var81
) /* write on <var_f:OProcess>*/;
907 CONTINUE_label
: (void)0;
908 ((void (*)(val
*))(var40
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var40
) /* next on <var40:Iterator[nullable Object]>*/;
910 BREAK_label
: (void)0;
911 CONTINUE_label82
: (void)0;
912 ((void (*)(val
*))(var20
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var20
) /* next on <var20:Iterator[nullable Object]>*/;
914 BREAK_label82
: (void)0;
920 var87
= string__NativeString__to_s_with_length(var85
, var86
);
924 ((void (*)(val
*, val
*))(var_f
->class->vft
[COLOR_stream__OStream__write
]))(var_f
, var84
) /* write on <var_f:OProcess>*/;
927 /* method poset#POSet#show_dot for (self: Object) */
928 void VIRTUAL_poset__POSet__show_dot(val
* self
) {
929 poset__POSet__show_dot(self
);
932 /* method poset#POSet#compare for (self: POSet[Object], Object, Object): Int */
933 long poset__POSet__compare(val
* self
, val
* p0
, val
* p1
) {
934 long var
/* : Int */;
935 short int var1
/* : Bool */;
938 const struct type
* type_struct
;
939 const char* var_class_name
;
940 short int var2
/* : Bool */;
943 const struct type
* type_struct5
;
944 const char* var_class_name6
;
945 val
* var_a
/* var a: Object */;
946 val
* var_b
/* var b: Object */;
947 val
* var7
/* : HashMap[Object, POSetElement[Object]] */;
948 val
* var8
/* : nullable Object */;
949 val
* var_ae
/* var ae: POSetElement[Object] */;
950 val
* var9
/* : HashMap[Object, POSetElement[Object]] */;
951 val
* var10
/* : nullable Object */;
952 val
* var_be
/* var be: POSetElement[Object] */;
953 val
* var11
/* : HashSet[Object] */;
954 long var12
/* : Int */;
955 val
* var13
/* : HashSet[Object] */;
956 long var14
/* : Int */;
957 long var15
/* : Int */;
958 long var_res
/* var res: Int */;
959 long var16
/* : Int */;
960 short int var17
/* : Bool */;
961 short int var19
/* : Bool */;
962 short int var20
/* : Bool */;
963 val
* var21
/* : HashMap[Object, POSetElement[Object]] */;
964 val
* var22
/* : nullable Object */;
965 long var23
/* : Int */;
966 val
* var24
/* : HashMap[Object, POSetElement[Object]] */;
967 val
* var25
/* : nullable Object */;
968 long var26
/* : Int */;
969 long var27
/* : Int */;
970 /* Covariant cast for argument 0 (a) <p0:Object> isa POSet#0 */
971 /* <p0:Object> isa POSet#0 */
972 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
973 cltype
= type_struct
->color
;
974 idtype
= type_struct
->id
;
975 if(cltype
>= p0
->type
->table_size
) {
978 var1
= p0
->type
->type_table
[cltype
] == idtype
;
981 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
982 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name
);
983 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 151);
986 /* Covariant cast for argument 1 (b) <p1:Object> isa POSet#0 */
987 /* <p1:Object> isa POSet#0 */
988 type_struct5
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
989 cltype3
= type_struct5
->color
;
990 idtype4
= type_struct5
->id
;
991 if(cltype3
>= p1
->type
->table_size
) {
994 var2
= p1
->type
->type_table
[cltype3
] == idtype4
;
997 var_class_name6
= p1
== NULL ?
"null" : p1
->type
->name
;
998 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name6
);
999 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 151);
1004 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
1005 var8
= ((val
* (*)(val
*, val
*))(var7
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var7
, var_a
) /* [] on <var7:HashMap[Object, POSetElement[Object]]>*/;
1007 var9
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
1008 var10
= ((val
* (*)(val
*, val
*))(var9
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var9
, var_b
) /* [] on <var9:HashMap[Object, POSetElement[Object]]>*/;
1010 var11
= ((val
* (*)(val
*))(var_ae
->class->vft
[COLOR_poset__POSetElement__tos
]))(var_ae
) /* tos on <var_ae:POSetElement[Object]>*/;
1011 var12
= ((long (*)(val
*))(var11
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var11
) /* length on <var11:HashSet[Object]>*/;
1012 var13
= ((val
* (*)(val
*))(var_be
->class->vft
[COLOR_poset__POSetElement__tos
]))(var_be
) /* tos on <var_be:POSetElement[Object]>*/;
1013 var14
= ((long (*)(val
*))(var13
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var13
) /* length on <var13:HashSet[Object]>*/;
1014 var15
= kernel__Int___60d_61d_62d(var12
, var14
);
1017 { /* Inline kernel#Int#!= (var_res,var16) */
1018 var19
= var_res
== var16
;
1022 RET_LABEL18
:(void)0;
1029 var21
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
1030 var22
= ((val
* (*)(val
*, val
*))(var21
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var21
, var_a
) /* [] on <var21:HashMap[Object, POSetElement[Object]]>*/;
1031 var23
= ((long (*)(val
*))(var22
->class->vft
[COLOR_poset__POSetElement__count
]))(var22
) /* count on <var22:nullable Object(POSetElement[Object])>*/;
1032 var24
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
1033 var25
= ((val
* (*)(val
*, val
*))(var24
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var24
, var_b
) /* [] on <var24:HashMap[Object, POSetElement[Object]]>*/;
1034 var26
= ((long (*)(val
*))(var25
->class->vft
[COLOR_poset__POSetElement__count
]))(var25
) /* count on <var25:nullable Object(POSetElement[Object])>*/;
1035 var27
= kernel__Int___60d_61d_62d(var23
, var26
);
1041 /* method poset#POSet#compare for (self: Object, nullable Object, nullable Object): Int */
1042 long VIRTUAL_poset__POSet__compare(val
* self
, val
* p0
, val
* p1
) {
1043 long var
/* : Int */;
1044 long var1
/* : Int */;
1045 var1
= poset__POSet__compare(self
, p0
, p1
);
1050 /* method poset#POSet#init for (self: POSet[Object]) */
1051 void poset__POSet__init(val
* self
) {
1054 /* method poset#POSet#init for (self: Object) */
1055 void VIRTUAL_poset__POSet__init(val
* self
) {
1056 poset__POSet__init(self
);
1059 /* method poset#POSetElement#poset for (self: POSetElement[Object]): POSet[Object] */
1060 val
* poset__POSetElement__poset(val
* self
) {
1061 val
* var
/* : POSet[Object] */;
1062 val
* var1
/* : POSet[Object] */;
1063 var1
= self
->attrs
[COLOR_poset__POSetElement___64dposet
].val
; /* @poset on <self:POSetElement[Object]> */
1065 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @poset");
1066 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 181);
1073 /* method poset#POSetElement#poset for (self: Object): POSet[Object] */
1074 val
* VIRTUAL_poset__POSetElement__poset(val
* self
) {
1075 val
* var
/* : POSet[Object] */;
1076 val
* var1
/* : POSet[Object] */;
1077 var1
= poset__POSetElement__poset(self
);
1082 /* method poset#POSetElement#poset= for (self: POSetElement[Object], POSet[Object]) */
1083 void poset__POSetElement__poset_61d(val
* self
, val
* p0
) {
1084 short int var
/* : Bool */;
1087 const struct type
* type_struct
;
1088 const char* var_class_name
;
1089 /* Covariant cast for argument 0 (poset) <p0:POSet[Object]> isa POSet[POSetElement#0] */
1090 /* <p0:POSet[Object]> isa POSet[POSetElement#0] */
1091 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSetposet__POSetElement_FT0
];
1092 cltype
= type_struct
->color
;
1093 idtype
= type_struct
->id
;
1094 if(cltype
>= p0
->type
->table_size
) {
1097 var
= p0
->type
->type_table
[cltype
] == idtype
;
1100 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1101 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet[POSetElement#0]", var_class_name
);
1102 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 181);
1105 self
->attrs
[COLOR_poset__POSetElement___64dposet
].val
= p0
; /* @poset on <self:POSetElement[Object]> */
1108 /* method poset#POSetElement#poset= for (self: Object, POSet[Object]) */
1109 void VIRTUAL_poset__POSetElement__poset_61d(val
* self
, val
* p0
) {
1110 poset__POSetElement__poset_61d(self
, p0
);
1113 /* method poset#POSetElement#element for (self: POSetElement[Object]): Object */
1114 val
* poset__POSetElement__element(val
* self
) {
1115 val
* var
/* : Object */;
1116 val
* var1
/* : Object */;
1117 var1
= self
->attrs
[COLOR_poset__POSetElement___64delement
].val
; /* @element on <self:POSetElement[Object]> */
1119 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @element");
1120 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 184);
1127 /* method poset#POSetElement#element for (self: Object): Object */
1128 val
* VIRTUAL_poset__POSetElement__element(val
* self
) {
1129 val
* var
/* : Object */;
1130 val
* var1
/* : Object */;
1131 var1
= poset__POSetElement__element(self
);
1136 /* method poset#POSetElement#element= for (self: POSetElement[Object], Object) */
1137 void poset__POSetElement__element_61d(val
* self
, val
* p0
) {
1138 short int var
/* : Bool */;
1141 const struct type
* type_struct
;
1142 const char* var_class_name
;
1143 /* Covariant cast for argument 0 (element) <p0:Object> isa POSetElement#0 */
1144 /* <p0:Object> isa POSetElement#0 */
1145 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSetElement_FT0
];
1146 cltype
= type_struct
->color
;
1147 idtype
= type_struct
->id
;
1148 if(cltype
>= p0
->type
->table_size
) {
1151 var
= p0
->type
->type_table
[cltype
] == idtype
;
1154 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1155 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSetElement#0", var_class_name
);
1156 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 184);
1159 self
->attrs
[COLOR_poset__POSetElement___64delement
].val
= p0
; /* @element on <self:POSetElement[Object]> */
1162 /* method poset#POSetElement#element= for (self: Object, Object) */
1163 void VIRTUAL_poset__POSetElement__element_61d(val
* self
, val
* p0
) {
1164 poset__POSetElement__element_61d(self
, p0
);
1167 /* method poset#POSetElement#tos for (self: POSetElement[Object]): HashSet[Object] */
1168 val
* poset__POSetElement__tos(val
* self
) {
1169 val
* var
/* : HashSet[Object] */;
1170 val
* var1
/* : HashSet[Object] */;
1171 var1
= self
->attrs
[COLOR_poset__POSetElement___64dtos
].val
; /* @tos on <self:POSetElement[Object]> */
1173 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @tos");
1174 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 187);
1181 /* method poset#POSetElement#tos for (self: Object): HashSet[Object] */
1182 val
* VIRTUAL_poset__POSetElement__tos(val
* self
) {
1183 val
* var
/* : HashSet[Object] */;
1184 val
* var1
/* : HashSet[Object] */;
1185 var1
= poset__POSetElement__tos(self
);
1190 /* method poset#POSetElement#tos= for (self: POSetElement[Object], HashSet[Object]) */
1191 void poset__POSetElement__tos_61d(val
* self
, val
* p0
) {
1192 short int var
/* : Bool */;
1195 const struct type
* type_struct
;
1196 const char* var_class_name
;
1197 /* Covariant cast for argument 0 (tos) <p0:HashSet[Object]> isa HashSet[POSetElement#0] */
1198 /* <p0:HashSet[Object]> isa HashSet[POSetElement#0] */
1199 type_struct
= self
->type
->resolution_table
->types
[COLOR_hash_collection__HashSetposet__POSetElement_FT0
];
1200 cltype
= type_struct
->color
;
1201 idtype
= type_struct
->id
;
1202 if(cltype
>= p0
->type
->table_size
) {
1205 var
= p0
->type
->type_table
[cltype
] == idtype
;
1208 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1209 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "HashSet[POSetElement#0]", var_class_name
);
1210 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 187);
1213 self
->attrs
[COLOR_poset__POSetElement___64dtos
].val
= p0
; /* @tos on <self:POSetElement[Object]> */
1216 /* method poset#POSetElement#tos= for (self: Object, HashSet[Object]) */
1217 void VIRTUAL_poset__POSetElement__tos_61d(val
* self
, val
* p0
) {
1218 poset__POSetElement__tos_61d(self
, p0
);
1221 /* method poset#POSetElement#froms for (self: POSetElement[Object]): HashSet[Object] */
1222 val
* poset__POSetElement__froms(val
* self
) {
1223 val
* var
/* : HashSet[Object] */;
1224 val
* var1
/* : HashSet[Object] */;
1225 var1
= self
->attrs
[COLOR_poset__POSetElement___64dfroms
].val
; /* @froms on <self:POSetElement[Object]> */
1227 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @froms");
1228 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 188);
1235 /* method poset#POSetElement#froms for (self: Object): HashSet[Object] */
1236 val
* VIRTUAL_poset__POSetElement__froms(val
* self
) {
1237 val
* var
/* : HashSet[Object] */;
1238 val
* var1
/* : HashSet[Object] */;
1239 var1
= poset__POSetElement__froms(self
);
1244 /* method poset#POSetElement#froms= for (self: POSetElement[Object], HashSet[Object]) */
1245 void poset__POSetElement__froms_61d(val
* self
, val
* p0
) {
1246 short int var
/* : Bool */;
1249 const struct type
* type_struct
;
1250 const char* var_class_name
;
1251 /* Covariant cast for argument 0 (froms) <p0:HashSet[Object]> isa HashSet[POSetElement#0] */
1252 /* <p0:HashSet[Object]> isa HashSet[POSetElement#0] */
1253 type_struct
= self
->type
->resolution_table
->types
[COLOR_hash_collection__HashSetposet__POSetElement_FT0
];
1254 cltype
= type_struct
->color
;
1255 idtype
= type_struct
->id
;
1256 if(cltype
>= p0
->type
->table_size
) {
1259 var
= p0
->type
->type_table
[cltype
] == idtype
;
1262 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1263 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "HashSet[POSetElement#0]", var_class_name
);
1264 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 188);
1267 self
->attrs
[COLOR_poset__POSetElement___64dfroms
].val
= p0
; /* @froms on <self:POSetElement[Object]> */
1270 /* method poset#POSetElement#froms= for (self: Object, HashSet[Object]) */
1271 void VIRTUAL_poset__POSetElement__froms_61d(val
* self
, val
* p0
) {
1272 poset__POSetElement__froms_61d(self
, p0
);
1275 /* method poset#POSetElement#dtos for (self: POSetElement[Object]): HashSet[Object] */
1276 val
* poset__POSetElement__dtos(val
* self
) {
1277 val
* var
/* : HashSet[Object] */;
1278 val
* var1
/* : HashSet[Object] */;
1279 var1
= self
->attrs
[COLOR_poset__POSetElement___64ddtos
].val
; /* @dtos on <self:POSetElement[Object]> */
1281 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @dtos");
1282 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 189);
1289 /* method poset#POSetElement#dtos for (self: Object): HashSet[Object] */
1290 val
* VIRTUAL_poset__POSetElement__dtos(val
* self
) {
1291 val
* var
/* : HashSet[Object] */;
1292 val
* var1
/* : HashSet[Object] */;
1293 var1
= poset__POSetElement__dtos(self
);
1298 /* method poset#POSetElement#dtos= for (self: POSetElement[Object], HashSet[Object]) */
1299 void poset__POSetElement__dtos_61d(val
* self
, val
* p0
) {
1300 short int var
/* : Bool */;
1303 const struct type
* type_struct
;
1304 const char* var_class_name
;
1305 /* Covariant cast for argument 0 (dtos) <p0:HashSet[Object]> isa HashSet[POSetElement#0] */
1306 /* <p0:HashSet[Object]> isa HashSet[POSetElement#0] */
1307 type_struct
= self
->type
->resolution_table
->types
[COLOR_hash_collection__HashSetposet__POSetElement_FT0
];
1308 cltype
= type_struct
->color
;
1309 idtype
= type_struct
->id
;
1310 if(cltype
>= p0
->type
->table_size
) {
1313 var
= p0
->type
->type_table
[cltype
] == idtype
;
1316 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1317 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "HashSet[POSetElement#0]", var_class_name
);
1318 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 189);
1321 self
->attrs
[COLOR_poset__POSetElement___64ddtos
].val
= p0
; /* @dtos on <self:POSetElement[Object]> */
1324 /* method poset#POSetElement#dtos= for (self: Object, HashSet[Object]) */
1325 void VIRTUAL_poset__POSetElement__dtos_61d(val
* self
, val
* p0
) {
1326 poset__POSetElement__dtos_61d(self
, p0
);
1329 /* method poset#POSetElement#dfroms for (self: POSetElement[Object]): HashSet[Object] */
1330 val
* poset__POSetElement__dfroms(val
* self
) {
1331 val
* var
/* : HashSet[Object] */;
1332 val
* var1
/* : HashSet[Object] */;
1333 var1
= self
->attrs
[COLOR_poset__POSetElement___64ddfroms
].val
; /* @dfroms on <self:POSetElement[Object]> */
1335 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @dfroms");
1336 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 190);
1343 /* method poset#POSetElement#dfroms for (self: Object): HashSet[Object] */
1344 val
* VIRTUAL_poset__POSetElement__dfroms(val
* self
) {
1345 val
* var
/* : HashSet[Object] */;
1346 val
* var1
/* : HashSet[Object] */;
1347 var1
= poset__POSetElement__dfroms(self
);
1352 /* method poset#POSetElement#dfroms= for (self: POSetElement[Object], HashSet[Object]) */
1353 void poset__POSetElement__dfroms_61d(val
* self
, val
* p0
) {
1354 short int var
/* : Bool */;
1357 const struct type
* type_struct
;
1358 const char* var_class_name
;
1359 /* Covariant cast for argument 0 (dfroms) <p0:HashSet[Object]> isa HashSet[POSetElement#0] */
1360 /* <p0:HashSet[Object]> isa HashSet[POSetElement#0] */
1361 type_struct
= self
->type
->resolution_table
->types
[COLOR_hash_collection__HashSetposet__POSetElement_FT0
];
1362 cltype
= type_struct
->color
;
1363 idtype
= type_struct
->id
;
1364 if(cltype
>= p0
->type
->table_size
) {
1367 var
= p0
->type
->type_table
[cltype
] == idtype
;
1370 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1371 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "HashSet[POSetElement#0]", var_class_name
);
1372 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 190);
1375 self
->attrs
[COLOR_poset__POSetElement___64ddfroms
].val
= p0
; /* @dfroms on <self:POSetElement[Object]> */
1378 /* method poset#POSetElement#dfroms= for (self: Object, HashSet[Object]) */
1379 void VIRTUAL_poset__POSetElement__dfroms_61d(val
* self
, val
* p0
) {
1380 poset__POSetElement__dfroms_61d(self
, p0
);
1383 /* method poset#POSetElement#count for (self: POSetElement[Object]): Int */
1384 long poset__POSetElement__count(val
* self
) {
1385 long var
/* : Int */;
1386 long var1
/* : Int */;
1387 var1
= self
->attrs
[COLOR_poset__POSetElement___64dcount
].l
; /* @count on <self:POSetElement[Object]> */
1392 /* method poset#POSetElement#count for (self: Object): Int */
1393 long VIRTUAL_poset__POSetElement__count(val
* self
) {
1394 long var
/* : Int */;
1395 long var1
/* : Int */;
1396 var1
= poset__POSetElement__count(self
);
1401 /* method poset#POSetElement#count= for (self: POSetElement[Object], Int) */
1402 void poset__POSetElement__count_61d(val
* self
, long p0
) {
1403 self
->attrs
[COLOR_poset__POSetElement___64dcount
].l
= p0
; /* @count on <self:POSetElement[Object]> */
1406 /* method poset#POSetElement#count= for (self: Object, Int) */
1407 void VIRTUAL_poset__POSetElement__count_61d(val
* self
, long p0
) {
1408 poset__POSetElement__count_61d(self
, p0
);
1411 /* method poset#POSetElement#greaters for (self: POSetElement[Object]): Collection[Object] */
1412 val
* poset__POSetElement__greaters(val
* self
) {
1413 val
* var
/* : Collection[Object] */;
1414 val
* var1
/* : HashSet[Object] */;
1415 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSetElement__tos
]))(self
) /* tos on <self:POSetElement[Object]>*/;
1421 /* method poset#POSetElement#greaters for (self: Object): Collection[Object] */
1422 val
* VIRTUAL_poset__POSetElement__greaters(val
* self
) {
1423 val
* var
/* : Collection[Object] */;
1424 val
* var1
/* : Collection[Object] */;
1425 var1
= poset__POSetElement__greaters(self
);
1430 /* method poset#POSetElement#direct_greaters for (self: POSetElement[Object]): Collection[Object] */
1431 val
* poset__POSetElement__direct_greaters(val
* self
) {
1432 val
* var
/* : Collection[Object] */;
1433 val
* var1
/* : HashSet[Object] */;
1434 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSetElement__dtos
]))(self
) /* dtos on <self:POSetElement[Object]>*/;
1440 /* method poset#POSetElement#direct_greaters for (self: Object): Collection[Object] */
1441 val
* VIRTUAL_poset__POSetElement__direct_greaters(val
* self
) {
1442 val
* var
/* : Collection[Object] */;
1443 val
* var1
/* : Collection[Object] */;
1444 var1
= poset__POSetElement__direct_greaters(self
);
1449 /* method poset#POSetElement#smallers for (self: POSetElement[Object]): Collection[Object] */
1450 val
* poset__POSetElement__smallers(val
* self
) {
1451 val
* var
/* : Collection[Object] */;
1452 val
* var1
/* : HashSet[Object] */;
1453 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSetElement__froms
]))(self
) /* froms on <self:POSetElement[Object]>*/;
1459 /* method poset#POSetElement#smallers for (self: Object): Collection[Object] */
1460 val
* VIRTUAL_poset__POSetElement__smallers(val
* self
) {
1461 val
* var
/* : Collection[Object] */;
1462 val
* var1
/* : Collection[Object] */;
1463 var1
= poset__POSetElement__smallers(self
);
1468 /* method poset#POSetElement#direct_smallers for (self: POSetElement[Object]): Collection[Object] */
1469 val
* poset__POSetElement__direct_smallers(val
* self
) {
1470 val
* var
/* : Collection[Object] */;
1471 val
* var1
/* : HashSet[Object] */;
1472 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSetElement__dfroms
]))(self
) /* dfroms on <self:POSetElement[Object]>*/;
1478 /* method poset#POSetElement#direct_smallers for (self: Object): Collection[Object] */
1479 val
* VIRTUAL_poset__POSetElement__direct_smallers(val
* self
) {
1480 val
* var
/* : Collection[Object] */;
1481 val
* var1
/* : Collection[Object] */;
1482 var1
= poset__POSetElement__direct_smallers(self
);
1487 /* method poset#POSetElement#<= for (self: POSetElement[Object], Object): Bool */
1488 short int poset__POSetElement___60d_61d(val
* self
, val
* p0
) {
1489 short int var
/* : Bool */;
1490 short int var1
/* : Bool */;
1493 const struct type
* type_struct
;
1494 const char* var_class_name
;
1495 val
* var_t
/* var t: Object */;
1496 val
* var2
/* : HashSet[Object] */;
1497 short int var3
/* : Bool */;
1498 /* Covariant cast for argument 0 (t) <p0:Object> isa POSetElement#0 */
1499 /* <p0:Object> isa POSetElement#0 */
1500 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSetElement_FT0
];
1501 cltype
= type_struct
->color
;
1502 idtype
= type_struct
->id
;
1503 if(cltype
>= p0
->type
->table_size
) {
1506 var1
= p0
->type
->type_table
[cltype
] == idtype
;
1509 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1510 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSetElement#0", var_class_name
);
1511 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 222);
1515 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSetElement__tos
]))(self
) /* tos on <self:POSetElement[Object]>*/;
1516 var3
= ((short int (*)(val
*, val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var2
, var_t
) /* has on <var2:HashSet[Object]>*/;
1522 /* method poset#POSetElement#<= for (self: Object, Object): Bool */
1523 short int VIRTUAL_poset__POSetElement___60d_61d(val
* self
, val
* p0
) {
1524 short int var
/* : Bool */;
1525 short int var1
/* : Bool */;
1526 var1
= poset__POSetElement___60d_61d(self
, p0
);
1531 /* method poset#POSetElement#< for (self: POSetElement[Object], Object): Bool */
1532 short int poset__POSetElement___60d(val
* self
, val
* p0
) {
1533 short int var
/* : Bool */;
1534 short int var1
/* : Bool */;
1537 const struct type
* type_struct
;
1538 const char* var_class_name
;
1539 val
* var_t
/* var t: Object */;
1540 short int var2
/* : Bool */;
1541 val
* var3
/* : Object */;
1542 short int var4
/* : Bool */;
1543 short int var_
/* var : Bool */;
1544 val
* var5
/* : HashSet[Object] */;
1545 short int var6
/* : Bool */;
1546 /* Covariant cast for argument 0 (t) <p0:Object> isa POSetElement#0 */
1547 /* <p0:Object> isa POSetElement#0 */
1548 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSetElement_FT0
];
1549 cltype
= type_struct
->color
;
1550 idtype
= type_struct
->id
;
1551 if(cltype
>= p0
->type
->table_size
) {
1554 var1
= p0
->type
->type_table
[cltype
] == idtype
;
1557 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1558 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSetElement#0", var_class_name
);
1559 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 228);
1563 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSetElement__element
]))(self
) /* element on <self:POSetElement[Object]>*/;
1564 var4
= ((short int (*)(val
*, val
*))(var_t
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_t
, var3
) /* != on <var_t:Object>*/;
1567 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSetElement__tos
]))(self
) /* tos on <self:POSetElement[Object]>*/;
1568 var6
= ((short int (*)(val
*, val
*))(var5
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var5
, var_t
) /* has on <var5:HashSet[Object]>*/;
1578 /* method poset#POSetElement#< for (self: Object, Object): Bool */
1579 short int VIRTUAL_poset__POSetElement___60d(val
* self
, val
* p0
) {
1580 short int var
/* : Bool */;
1581 short int var1
/* : Bool */;
1582 var1
= poset__POSetElement___60d(self
, p0
);
1587 /* method poset#POSetElement#init for (self: POSetElement[Object], POSet[Object], Object, Int) */
1588 void poset__POSetElement__init(val
* self
, val
* p0
, val
* p1
, long p2
) {
1589 short int var
/* : Bool */;
1592 const struct type
* type_struct
;
1593 const char* var_class_name
;
1594 short int var1
/* : Bool */;
1597 const struct type
* type_struct4
;
1598 const char* var_class_name5
;
1599 /* Covariant cast for argument 0 (poset) <p0:POSet[Object]> isa POSet[POSetElement#0] */
1600 /* <p0:POSet[Object]> isa POSet[POSetElement#0] */
1601 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSetposet__POSetElement_FT0
];
1602 cltype
= type_struct
->color
;
1603 idtype
= type_struct
->id
;
1604 if(cltype
>= p0
->type
->table_size
) {
1607 var
= p0
->type
->type_table
[cltype
] == idtype
;
1610 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1611 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet[POSetElement#0]", var_class_name
);
1612 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 168);
1615 /* Covariant cast for argument 1 (element) <p1:Object> isa POSetElement#0 */
1616 /* <p1:Object> isa POSetElement#0 */
1617 type_struct4
= self
->type
->resolution_table
->types
[COLOR_poset__POSetElement_FT0
];
1618 cltype2
= type_struct4
->color
;
1619 idtype3
= type_struct4
->id
;
1620 if(cltype2
>= p1
->type
->table_size
) {
1623 var1
= p1
->type
->type_table
[cltype2
] == idtype3
;
1626 var_class_name5
= p1
== NULL ?
"null" : p1
->type
->name
;
1627 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSetElement#0", var_class_name5
);
1628 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 168);
1631 self
->attrs
[COLOR_poset__POSetElement___64dposet
].val
= p0
; /* @poset on <self:POSetElement[Object]> */
1632 self
->attrs
[COLOR_poset__POSetElement___64delement
].val
= p1
; /* @element on <self:POSetElement[Object]> */
1633 self
->attrs
[COLOR_poset__POSetElement___64dcount
].l
= p2
; /* @count on <self:POSetElement[Object]> */
1636 /* method poset#POSetElement#init for (self: Object, POSet[Object], Object, Int) */
1637 void VIRTUAL_poset__POSetElement__init(val
* self
, val
* p0
, val
* p1
, long p2
) {
1638 poset__POSetElement__init(self
, p0
, p1
, p2
);