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]>*/;
178 var10
= ((val
* (*)(val
*))(var_poe
->class->vft
[COLOR_poset__POSetElement__tos
]))(var_poe
) /* tos on <var_poe:POSetElement[Object]>*/;
179 ((void (*)(val
*, val
*))(var10
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var10
, var_e
) /* add on <var10:HashSet[Object]>*/;
180 var11
= ((val
* (*)(val
*))(var_poe
->class->vft
[COLOR_poset__POSetElement__froms
]))(var_poe
) /* froms on <var_poe:POSetElement[Object]>*/;
181 ((void (*)(val
*, val
*))(var11
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var11
, var_e
) /* add on <var11:HashSet[Object]>*/;
182 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
183 ((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]]>*/;
189 /* method poset#POSet#add_node for (self: Object, Object): POSetElement[Object] */
190 val
* VIRTUAL_poset__POSet__add_node(val
* self
, val
* p0
) {
191 val
* var
/* : POSetElement[Object] */;
192 val
* var1
/* : POSetElement[Object] */;
193 var1
= poset__POSet__add_node(self
, p0
);
198 /* method poset#POSet#[] for (self: POSet[Object], Object): POSetElement[Object] */
199 val
* poset__POSet___91d_93d(val
* self
, val
* p0
) {
200 val
* var
/* : POSetElement[Object] */;
201 short int var1
/* : Bool */;
204 const struct type
* type_struct
;
205 const char* var_class_name
;
206 val
* var_e
/* var e: Object */;
207 val
* var2
/* : HashMap[Object, POSetElement[Object]] */;
208 val
* var3
/* : Collection[Object] */;
209 short int var4
/* : Bool */;
210 val
* var5
/* : HashMap[Object, POSetElement[Object]] */;
211 val
* var6
/* : nullable Object */;
212 /* Covariant cast for argument 0 (e) <p0:Object> isa POSet#0 */
213 /* <p0:Object> isa POSet#0 */
214 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
215 cltype
= type_struct
->color
;
216 idtype
= type_struct
->id
;
217 if(cltype
>= p0
->type
->table_size
) {
220 var1
= p0
->type
->type_table
[cltype
] == idtype
;
223 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
224 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name
);
225 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 50);
229 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
230 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__MapRead__keys
]))(var2
) /* keys on <var2:HashMap[Object, POSetElement[Object]]>*/;
231 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]])>*/;
233 fprintf(stderr
, "Runtime error: %s", "Assert failed");
234 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 63);
237 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
238 var6
= ((val
* (*)(val
*, val
*))(var5
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var5
, var_e
) /* [] on <var5:HashMap[Object, POSetElement[Object]]>*/;
244 /* method poset#POSet#[] for (self: Object, Object): POSetElement[Object] */
245 val
* VIRTUAL_poset__POSet___91d_93d(val
* self
, val
* p0
) {
246 val
* var
/* : POSetElement[Object] */;
247 val
* var1
/* : POSetElement[Object] */;
248 var1
= poset__POSet___91d_93d(self
, p0
);
253 /* method poset#POSet#add_edge for (self: POSet[Object], Object, Object) */
254 void poset__POSet__add_edge(val
* self
, val
* p0
, val
* p1
) {
255 short int var
/* : Bool */;
258 const struct type
* type_struct
;
259 const char* var_class_name
;
260 short int var1
/* : Bool */;
263 const struct type
* type_struct4
;
264 const char* var_class_name5
;
265 val
* var_f
/* var f: Object */;
266 val
* var_t
/* var t: Object */;
267 val
* var6
/* : POSetElement[Object] */;
268 val
* var_fe
/* var fe: POSetElement[Object] */;
269 val
* var7
/* : POSetElement[Object] */;
270 val
* var_te
/* var te: POSetElement[Object] */;
271 val
* var8
/* : HashSet[Object] */;
272 short int var9
/* : Bool */;
273 val
* var10
/* : HashSet[Object] */;
274 val
* var11
/* : Iterator[nullable Object] */;
275 short int var12
/* : Bool */;
276 val
* var13
/* : nullable Object */;
277 val
* var_ff
/* var ff: Object */;
278 val
* var14
/* : HashMap[Object, POSetElement[Object]] */;
279 val
* var15
/* : nullable Object */;
280 val
* var_ffe
/* var ffe: POSetElement[Object] */;
281 val
* var16
/* : HashSet[Object] */;
282 val
* var17
/* : Iterator[nullable Object] */;
283 short int var18
/* : Bool */;
284 val
* var19
/* : nullable Object */;
285 val
* var_tt
/* var tt: Object */;
286 val
* var20
/* : HashMap[Object, POSetElement[Object]] */;
287 val
* var21
/* : nullable Object */;
288 val
* var_tte
/* var tte: POSetElement[Object] */;
289 val
* var22
/* : HashSet[Object] */;
290 val
* var23
/* : HashSet[Object] */;
291 val
* var25
/* : HashSet[Object] */;
292 short int var26
/* : Bool */;
293 val
* var27
/* : HashSet[Object] */;
294 val
* var28
/* : Array[nullable Object] */;
295 val
* var29
/* : Iterator[nullable Object] */;
296 short int var30
/* : Bool */;
297 val
* var31
/* : nullable Object */;
298 val
* var_x
/* var x: Object */;
299 val
* var32
/* : HashMap[Object, POSetElement[Object]] */;
300 val
* var33
/* : nullable Object */;
301 val
* var_xe
/* var xe: POSetElement[Object] */;
302 val
* var34
/* : HashSet[Object] */;
303 short int var35
/* : Bool */;
304 val
* var36
/* : HashSet[Object] */;
305 val
* var37
/* : HashSet[Object] */;
306 val
* var39
/* : HashSet[Object] */;
307 val
* var40
/* : Array[nullable Object] */;
308 val
* var41
/* : Iterator[nullable Object] */;
309 short int var42
/* : Bool */;
310 val
* var43
/* : nullable Object */;
311 val
* var_x44
/* var x: Object */;
312 val
* var45
/* : HashMap[Object, POSetElement[Object]] */;
313 val
* var46
/* : nullable Object */;
314 val
* var_xe47
/* var xe: POSetElement[Object] */;
315 val
* var48
/* : HashSet[Object] */;
316 short int var49
/* : Bool */;
317 val
* var50
/* : HashSet[Object] */;
318 val
* var51
/* : HashSet[Object] */;
319 val
* var53
/* : HashSet[Object] */;
320 val
* var54
/* : HashSet[Object] */;
321 /* Covariant cast for argument 0 (f) <p0:Object> isa POSet#0 */
322 /* <p0:Object> isa POSet#0 */
323 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
324 cltype
= type_struct
->color
;
325 idtype
= type_struct
->id
;
326 if(cltype
>= p0
->type
->table_size
) {
329 var
= p0
->type
->type_table
[cltype
] == idtype
;
332 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
333 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name
);
334 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 67);
337 /* Covariant cast for argument 1 (t) <p1:Object> isa POSet#0 */
338 /* <p1:Object> isa POSet#0 */
339 type_struct4
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
340 cltype2
= type_struct4
->color
;
341 idtype3
= type_struct4
->id
;
342 if(cltype2
>= p1
->type
->table_size
) {
345 var1
= p1
->type
->type_table
[cltype2
] == idtype3
;
348 var_class_name5
= p1
== NULL ?
"null" : p1
->type
->name
;
349 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name5
);
350 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 67);
355 var6
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_poset__POSet__add_node
]))(self
, var_f
) /* add_node on <self:POSet[Object]>*/;
357 var7
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_poset__POSet__add_node
]))(self
, var_t
) /* add_node on <self:POSet[Object]>*/;
359 var8
= ((val
* (*)(val
*))(var_fe
->class->vft
[COLOR_poset__POSetElement__tos
]))(var_fe
) /* tos on <var_fe:POSetElement[Object]>*/;
360 var9
= ((short int (*)(val
*, val
*))(var8
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var8
, var_t
) /* has on <var8:HashSet[Object]>*/;
365 var10
= ((val
* (*)(val
*))(var_fe
->class->vft
[COLOR_poset__POSetElement__froms
]))(var_fe
) /* froms on <var_fe:POSetElement[Object]>*/;
366 var11
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var10
) /* iterator on <var10:HashSet[Object]>*/;
368 var12
= ((short int (*)(val
*))(var11
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var11
) /* is_ok on <var11:Iterator[nullable Object]>*/;
370 var13
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var11
) /* item on <var11:Iterator[nullable Object]>*/;
372 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
373 var15
= ((val
* (*)(val
*, val
*))(var14
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var14
, var_ff
) /* [] on <var14:HashMap[Object, POSetElement[Object]]>*/;
375 var16
= ((val
* (*)(val
*))(var_te
->class->vft
[COLOR_poset__POSetElement__tos
]))(var_te
) /* tos on <var_te:POSetElement[Object]>*/;
376 var17
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var16
) /* iterator on <var16:HashSet[Object]>*/;
378 var18
= ((short int (*)(val
*))(var17
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var17
) /* is_ok on <var17:Iterator[nullable Object]>*/;
380 var19
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var17
) /* item on <var17:Iterator[nullable Object]>*/;
382 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
383 var21
= ((val
* (*)(val
*, val
*))(var20
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var20
, var_tt
) /* [] on <var20:HashMap[Object, POSetElement[Object]]>*/;
385 var22
= ((val
* (*)(val
*))(var_tte
->class->vft
[COLOR_poset__POSetElement__froms
]))(var_tte
) /* froms on <var_tte:POSetElement[Object]>*/;
386 ((void (*)(val
*, val
*))(var22
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var22
, var_ff
) /* add on <var22:HashSet[Object]>*/;
387 var23
= ((val
* (*)(val
*))(var_ffe
->class->vft
[COLOR_poset__POSetElement__tos
]))(var_ffe
) /* tos on <var_ffe:POSetElement[Object]>*/;
388 ((void (*)(val
*, val
*))(var23
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var23
, var_tt
) /* add on <var23:HashSet[Object]>*/;
389 CONTINUE_label
: (void)0;
390 ((void (*)(val
*))(var17
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var17
) /* next on <var17:Iterator[nullable Object]>*/;
392 BREAK_label
: (void)0;
393 CONTINUE_label24
: (void)0;
394 ((void (*)(val
*))(var11
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var11
) /* next on <var11:Iterator[nullable Object]>*/;
396 BREAK_label24
: (void)0;
397 var25
= ((val
* (*)(val
*))(var_te
->class->vft
[COLOR_poset__POSetElement__tos
]))(var_te
) /* tos on <var_te:POSetElement[Object]>*/;
398 var26
= ((short int (*)(val
*, val
*))(var25
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var25
, var_f
) /* has on <var25:HashSet[Object]>*/;
403 var27
= ((val
* (*)(val
*))(var_te
->class->vft
[COLOR_poset__POSetElement__dfroms
]))(var_te
) /* dfroms on <var_te:POSetElement[Object]>*/;
404 var28
= ((val
* (*)(val
*))(var27
->class->vft
[COLOR_array__Collection__to_a
]))(var27
) /* to_a on <var27:HashSet[Object]>*/;
405 var29
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var28
) /* iterator on <var28:Array[nullable Object](Array[Object])>*/;
407 var30
= ((short int (*)(val
*))(var29
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var29
) /* is_ok on <var29:Iterator[nullable Object]>*/;
409 var31
= ((val
* (*)(val
*))(var29
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var29
) /* item on <var29:Iterator[nullable Object]>*/;
411 var32
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
412 var33
= ((val
* (*)(val
*, val
*))(var32
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var32
, var_x
) /* [] on <var32:HashMap[Object, POSetElement[Object]]>*/;
414 var34
= ((val
* (*)(val
*))(var_xe
->class->vft
[COLOR_poset__POSetElement__tos
]))(var_xe
) /* tos on <var_xe:POSetElement[Object]>*/;
415 var35
= ((short int (*)(val
*, val
*))(var34
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var34
, var_f
) /* has on <var34:HashSet[Object]>*/;
417 var36
= ((val
* (*)(val
*))(var_te
->class->vft
[COLOR_poset__POSetElement__dfroms
]))(var_te
) /* dfroms on <var_te:POSetElement[Object]>*/;
418 ((void (*)(val
*, val
*))(var36
->class->vft
[COLOR_abstract_collection__RemovableCollection__remove
]))(var36
, var_x
) /* remove on <var36:HashSet[Object]>*/;
419 var37
= ((val
* (*)(val
*))(var_xe
->class->vft
[COLOR_poset__POSetElement__dtos
]))(var_xe
) /* dtos on <var_xe:POSetElement[Object]>*/;
420 ((void (*)(val
*, val
*))(var37
->class->vft
[COLOR_abstract_collection__RemovableCollection__remove
]))(var37
, var_t
) /* remove on <var37:HashSet[Object]>*/;
423 CONTINUE_label38
: (void)0;
424 ((void (*)(val
*))(var29
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var29
) /* next on <var29:Iterator[nullable Object]>*/;
426 BREAK_label38
: (void)0;
427 var39
= ((val
* (*)(val
*))(var_fe
->class->vft
[COLOR_poset__POSetElement__dtos
]))(var_fe
) /* dtos on <var_fe:POSetElement[Object]>*/;
428 var40
= ((val
* (*)(val
*))(var39
->class->vft
[COLOR_array__Collection__to_a
]))(var39
) /* to_a on <var39:HashSet[Object]>*/;
429 var41
= ((val
* (*)(val
*))(var40
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var40
) /* iterator on <var40:Array[nullable Object](Array[Object])>*/;
431 var42
= ((short int (*)(val
*))(var41
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var41
) /* is_ok on <var41:Iterator[nullable Object]>*/;
433 var43
= ((val
* (*)(val
*))(var41
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var41
) /* item on <var41:Iterator[nullable Object]>*/;
435 var45
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
436 var46
= ((val
* (*)(val
*, val
*))(var45
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var45
, var_x44
) /* [] on <var45:HashMap[Object, POSetElement[Object]]>*/;
438 var48
= ((val
* (*)(val
*))(var_xe47
->class->vft
[COLOR_poset__POSetElement__froms
]))(var_xe47
) /* froms on <var_xe47:POSetElement[Object]>*/;
439 var49
= ((short int (*)(val
*, val
*))(var48
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var48
, var_t
) /* has on <var48:HashSet[Object]>*/;
441 var50
= ((val
* (*)(val
*))(var_xe47
->class->vft
[COLOR_poset__POSetElement__dfroms
]))(var_xe47
) /* dfroms on <var_xe47:POSetElement[Object]>*/;
442 ((void (*)(val
*, val
*))(var50
->class->vft
[COLOR_abstract_collection__RemovableCollection__remove
]))(var50
, var_f
) /* remove on <var50:HashSet[Object]>*/;
443 var51
= ((val
* (*)(val
*))(var_fe
->class->vft
[COLOR_poset__POSetElement__dtos
]))(var_fe
) /* dtos on <var_fe:POSetElement[Object]>*/;
444 ((void (*)(val
*, val
*))(var51
->class->vft
[COLOR_abstract_collection__RemovableCollection__remove
]))(var51
, var_x44
) /* remove on <var51:HashSet[Object]>*/;
447 CONTINUE_label52
: (void)0;
448 ((void (*)(val
*))(var41
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var41
) /* next on <var41:Iterator[nullable Object]>*/;
450 BREAK_label52
: (void)0;
451 var53
= ((val
* (*)(val
*))(var_fe
->class->vft
[COLOR_poset__POSetElement__dtos
]))(var_fe
) /* dtos on <var_fe:POSetElement[Object]>*/;
452 ((void (*)(val
*, val
*))(var53
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var53
, var_t
) /* add on <var53:HashSet[Object]>*/;
453 var54
= ((val
* (*)(val
*))(var_te
->class->vft
[COLOR_poset__POSetElement__dfroms
]))(var_te
) /* dfroms on <var_te:POSetElement[Object]>*/;
454 ((void (*)(val
*, val
*))(var54
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var54
, var_f
) /* add on <var54:HashSet[Object]>*/;
457 /* method poset#POSet#add_edge for (self: Object, Object, Object) */
458 void VIRTUAL_poset__POSet__add_edge(val
* self
, val
* p0
, val
* p1
) {
459 poset__POSet__add_edge(self
, p0
, p1
);
462 /* method poset#POSet#has_edge for (self: POSet[Object], Object, Object): Bool */
463 short int poset__POSet__has_edge(val
* self
, val
* p0
, val
* p1
) {
464 short int var
/* : Bool */;
465 short int var1
/* : Bool */;
468 const struct type
* type_struct
;
469 const char* var_class_name
;
470 short int var2
/* : Bool */;
473 const struct type
* type_struct5
;
474 const char* var_class_name6
;
475 val
* var_f
/* var f: Object */;
476 val
* var_t
/* var t: Object */;
477 val
* var7
/* : HashMap[Object, POSetElement[Object]] */;
478 val
* var8
/* : Collection[Object] */;
479 short int var9
/* : Bool */;
480 short int var10
/* : Bool */;
481 short int var11
/* : Bool */;
482 val
* var12
/* : HashMap[Object, POSetElement[Object]] */;
483 val
* var13
/* : nullable Object */;
484 val
* var_fe
/* var fe: POSetElement[Object] */;
485 val
* var14
/* : HashSet[Object] */;
486 short int var15
/* : Bool */;
487 /* Covariant cast for argument 0 (f) <p0:Object> isa POSet#0 */
488 /* <p0:Object> isa POSet#0 */
489 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
490 cltype
= type_struct
->color
;
491 idtype
= type_struct
->id
;
492 if(cltype
>= p0
->type
->table_size
) {
495 var1
= p0
->type
->type_table
[cltype
] == idtype
;
498 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
499 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name
);
500 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 109);
503 /* Covariant cast for argument 1 (t) <p1:Object> isa POSet#0 */
504 /* <p1:Object> isa POSet#0 */
505 type_struct5
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
506 cltype3
= type_struct5
->color
;
507 idtype4
= type_struct5
->id
;
508 if(cltype3
>= p1
->type
->table_size
) {
511 var2
= p1
->type
->type_table
[cltype3
] == idtype4
;
514 var_class_name6
= p1
== NULL ?
"null" : p1
->type
->name
;
515 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name6
);
516 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 109);
521 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
522 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__MapRead__keys
]))(var7
) /* keys on <var7:HashMap[Object, POSetElement[Object]]>*/;
523 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]])>*/;
531 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
532 var13
= ((val
* (*)(val
*, val
*))(var12
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var12
, var_f
) /* [] on <var12:HashMap[Object, POSetElement[Object]]>*/;
534 var14
= ((val
* (*)(val
*))(var_fe
->class->vft
[COLOR_poset__POSetElement__tos
]))(var_fe
) /* tos on <var_fe:POSetElement[Object]>*/;
535 var15
= ((short int (*)(val
*, val
*))(var14
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var14
, var_t
) /* has on <var14:HashSet[Object]>*/;
541 /* method poset#POSet#has_edge for (self: Object, Object, Object): Bool */
542 short int VIRTUAL_poset__POSet__has_edge(val
* self
, val
* p0
, val
* p1
) {
543 short int var
/* : Bool */;
544 short int var1
/* : Bool */;
545 var1
= poset__POSet__has_edge(self
, p0
, p1
);
550 /* method poset#POSet#has_direct_edge for (self: POSet[Object], Object, Object): Bool */
551 short int poset__POSet__has_direct_edge(val
* self
, val
* p0
, val
* p1
) {
552 short int var
/* : Bool */;
553 short int var1
/* : Bool */;
556 const struct type
* type_struct
;
557 const char* var_class_name
;
558 short int var2
/* : Bool */;
561 const struct type
* type_struct5
;
562 const char* var_class_name6
;
563 val
* var_f
/* var f: Object */;
564 val
* var_t
/* var t: Object */;
565 val
* var7
/* : HashMap[Object, POSetElement[Object]] */;
566 val
* var8
/* : Collection[Object] */;
567 short int var9
/* : Bool */;
568 short int var10
/* : Bool */;
569 short int var11
/* : Bool */;
570 val
* var12
/* : HashMap[Object, POSetElement[Object]] */;
571 val
* var13
/* : nullable Object */;
572 val
* var_fe
/* var fe: POSetElement[Object] */;
573 val
* var14
/* : HashSet[Object] */;
574 short int var15
/* : Bool */;
575 /* Covariant cast for argument 0 (f) <p0:Object> isa POSet#0 */
576 /* <p0:Object> isa POSet#0 */
577 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
578 cltype
= type_struct
->color
;
579 idtype
= type_struct
->id
;
580 if(cltype
>= p0
->type
->table_size
) {
583 var1
= p0
->type
->type_table
[cltype
] == idtype
;
586 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
587 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name
);
588 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 118);
591 /* Covariant cast for argument 1 (t) <p1:Object> isa POSet#0 */
592 /* <p1:Object> isa POSet#0 */
593 type_struct5
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
594 cltype3
= type_struct5
->color
;
595 idtype4
= type_struct5
->id
;
596 if(cltype3
>= p1
->type
->table_size
) {
599 var2
= p1
->type
->type_table
[cltype3
] == idtype4
;
602 var_class_name6
= p1
== NULL ?
"null" : p1
->type
->name
;
603 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name6
);
604 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 118);
609 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
610 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__MapRead__keys
]))(var7
) /* keys on <var7:HashMap[Object, POSetElement[Object]]>*/;
611 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]])>*/;
619 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
620 var13
= ((val
* (*)(val
*, val
*))(var12
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var12
, var_f
) /* [] on <var12:HashMap[Object, POSetElement[Object]]>*/;
622 var14
= ((val
* (*)(val
*))(var_fe
->class->vft
[COLOR_poset__POSetElement__dtos
]))(var_fe
) /* dtos on <var_fe:POSetElement[Object]>*/;
623 var15
= ((short int (*)(val
*, val
*))(var14
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var14
, var_t
) /* has on <var14:HashSet[Object]>*/;
629 /* method poset#POSet#has_direct_edge for (self: Object, Object, Object): Bool */
630 short int VIRTUAL_poset__POSet__has_direct_edge(val
* self
, val
* p0
, val
* p1
) {
631 short int var
/* : Bool */;
632 short int var1
/* : Bool */;
633 var1
= poset__POSet__has_direct_edge(self
, p0
, p1
);
638 /* method poset#POSet#show_dot for (self: POSet[Object]) */
639 void poset__POSet__show_dot(val
* self
) {
640 val
* var
/* : OProcess */;
642 val
* var1
/* : String */;
643 char* var2
/* : NativeString */;
644 long var3
/* : Int */;
645 val
* var4
/* : String */;
646 static val
* varonce5
;
647 val
* var6
/* : String */;
648 char* var7
/* : NativeString */;
649 long var8
/* : Int */;
650 val
* var9
/* : String */;
651 val
* var10
/* : Array[String] */;
652 long var11
/* : Int */;
653 val
* var12
/* : NativeArray[String] */;
654 val
* var_f
/* var f: OProcess */;
655 static val
* varonce13
;
656 val
* var14
/* : String */;
657 char* var15
/* : NativeString */;
658 long var16
/* : Int */;
659 val
* var17
/* : String */;
660 val
* var18
/* : HashMap[Object, POSetElement[Object]] */;
661 val
* var19
/* : Collection[Object] */;
662 val
* var20
/* : Iterator[nullable Object] */;
663 short int var21
/* : Bool */;
664 val
* var22
/* : nullable Object */;
665 val
* var_x
/* var x: Object */;
666 static val
* varonce23
;
667 val
* var24
/* : String */;
668 char* var25
/* : NativeString */;
669 long var26
/* : Int */;
670 val
* var27
/* : String */;
671 static val
* varonce28
;
672 val
* var29
/* : String */;
673 char* var30
/* : NativeString */;
674 long var31
/* : Int */;
675 val
* var32
/* : String */;
676 val
* var33
/* : Array[Object] */;
677 long var34
/* : Int */;
678 val
* var35
/* : NativeArray[Object] */;
679 val
* var36
/* : String */;
680 val
* var37
/* : HashMap[Object, POSetElement[Object]] */;
681 val
* var38
/* : nullable Object */;
682 val
* var_xe
/* var xe: POSetElement[Object] */;
683 val
* var39
/* : HashSet[Object] */;
684 val
* var40
/* : Iterator[nullable Object] */;
685 short int var41
/* : Bool */;
686 val
* var42
/* : nullable Object */;
687 val
* var_y
/* var y: Object */;
688 short int var43
/* : Bool */;
689 static val
* varonce44
;
690 val
* var45
/* : String */;
691 char* var46
/* : NativeString */;
692 long var47
/* : Int */;
693 val
* var48
/* : String */;
694 static val
* varonce49
;
695 val
* var50
/* : String */;
696 char* var51
/* : NativeString */;
697 long var52
/* : Int */;
698 val
* var53
/* : String */;
699 static val
* varonce54
;
700 val
* var55
/* : String */;
701 char* var56
/* : NativeString */;
702 long var57
/* : Int */;
703 val
* var58
/* : String */;
704 val
* var59
/* : Array[Object] */;
705 long var60
/* : Int */;
706 val
* var61
/* : NativeArray[Object] */;
707 val
* var62
/* : String */;
708 static val
* varonce63
;
709 val
* var64
/* : String */;
710 char* var65
/* : NativeString */;
711 long var66
/* : Int */;
712 val
* var67
/* : String */;
713 static val
* varonce68
;
714 val
* var69
/* : String */;
715 char* var70
/* : NativeString */;
716 long var71
/* : Int */;
717 val
* var72
/* : String */;
718 static val
* varonce73
;
719 val
* var74
/* : String */;
720 char* var75
/* : NativeString */;
721 long var76
/* : Int */;
722 val
* var77
/* : String */;
723 val
* var78
/* : Array[Object] */;
724 long var79
/* : Int */;
725 val
* var80
/* : NativeArray[Object] */;
726 val
* var81
/* : String */;
727 static val
* varonce83
;
728 val
* var84
/* : String */;
729 char* var85
/* : NativeString */;
730 long var86
/* : Int */;
731 val
* var87
/* : String */;
732 var
= NEW_exec__OProcess(&type_exec__OProcess
);
738 var4
= string__NativeString__to_s_with_length(var2
, var3
);
747 var9
= string__NativeString__to_s_with_length(var7
, var8
);
751 var10
= NEW_array__Array(&type_array__Arraystring__String
);
752 { /* var10 = array_instance Array[String] */
754 var12
= NEW_array__NativeArray(var11
, &type_array__NativeArraystring__String
);
755 ((struct instance_array__NativeArray
*)var12
)->values
[0] = (val
*) var6
;
756 ((void (*)(val
*, val
*, long))(var10
->class->vft
[COLOR_array__Array__with_native
]))(var10
, var12
, var11
) /* with_native on <var10:Array[String]>*/;
758 ((void (*)(val
*, val
*, val
*))(var
->class->vft
[COLOR_exec__OProcess__init
]))(var
, var1
, var10
) /* init on <var:OProcess>*/;
763 var15
= "digraph {\n";
765 var17
= string__NativeString__to_s_with_length(var15
, var16
);
769 ((void (*)(val
*, val
*))(var_f
->class->vft
[COLOR_stream__OStream__write
]))(var_f
, var14
) /* write on <var_f:OProcess>*/;
770 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
771 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_abstract_collection__MapRead__keys
]))(var18
) /* keys on <var18:HashMap[Object, POSetElement[Object]]>*/;
772 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var19
) /* iterator on <var19:Collection[Object](HashMapKeys[Object, POSetElement[Object]])>*/;
774 var21
= ((short int (*)(val
*))(var20
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var20
) /* is_ok on <var20:Iterator[nullable Object]>*/;
776 var22
= ((val
* (*)(val
*))(var20
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var20
) /* item on <var20:Iterator[nullable Object]>*/;
783 var27
= string__NativeString__to_s_with_length(var25
, var26
);
792 var32
= string__NativeString__to_s_with_length(var30
, var31
);
796 var33
= NEW_array__Array(&type_array__Arraykernel__Object
);
797 { /* var33 = array_instance Array[Object] */
799 var35
= NEW_array__NativeArray(var34
, &type_array__NativeArraykernel__Object
);
800 ((struct instance_array__NativeArray
*)var35
)->values
[0] = (val
*) var24
;
801 ((struct instance_array__NativeArray
*)var35
)->values
[1] = (val
*) var_x
;
802 ((struct instance_array__NativeArray
*)var35
)->values
[2] = (val
*) var29
;
803 ((void (*)(val
*, val
*, long))(var33
->class->vft
[COLOR_array__Array__with_native
]))(var33
, var35
, var34
) /* with_native on <var33:Array[Object]>*/;
805 var36
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_string__Object__to_s
]))(var33
) /* to_s on <var33:Array[Object]>*/;
806 ((void (*)(val
*, val
*))(var_f
->class->vft
[COLOR_stream__OStream__write
]))(var_f
, var36
) /* write on <var_f:OProcess>*/;
807 var37
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
808 var38
= ((val
* (*)(val
*, val
*))(var37
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var37
, var_x
) /* [] on <var37:HashMap[Object, POSetElement[Object]]>*/;
810 var39
= ((val
* (*)(val
*))(var_xe
->class->vft
[COLOR_poset__POSetElement__dtos
]))(var_xe
) /* dtos on <var_xe:POSetElement[Object]>*/;
811 var40
= ((val
* (*)(val
*))(var39
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var39
) /* iterator on <var39:HashSet[Object]>*/;
813 var41
= ((short int (*)(val
*))(var40
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var40
) /* is_ok on <var40:Iterator[nullable Object]>*/;
815 var42
= ((val
* (*)(val
*))(var40
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var40
) /* item on <var40:Iterator[nullable Object]>*/;
817 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]>*/;
824 var48
= string__NativeString__to_s_with_length(var46
, var47
);
833 var53
= string__NativeString__to_s_with_length(var51
, var52
);
840 var56
= "\"[dir=both];\n";
842 var58
= string__NativeString__to_s_with_length(var56
, var57
);
846 var59
= NEW_array__Array(&type_array__Arraykernel__Object
);
847 { /* var59 = array_instance Array[Object] */
849 var61
= NEW_array__NativeArray(var60
, &type_array__NativeArraykernel__Object
);
850 ((struct instance_array__NativeArray
*)var61
)->values
[0] = (val
*) var45
;
851 ((struct instance_array__NativeArray
*)var61
)->values
[1] = (val
*) var_x
;
852 ((struct instance_array__NativeArray
*)var61
)->values
[2] = (val
*) var50
;
853 ((struct instance_array__NativeArray
*)var61
)->values
[3] = (val
*) var_y
;
854 ((struct instance_array__NativeArray
*)var61
)->values
[4] = (val
*) var55
;
855 ((void (*)(val
*, val
*, long))(var59
->class->vft
[COLOR_array__Array__with_native
]))(var59
, var61
, var60
) /* with_native on <var59:Array[Object]>*/;
857 var62
= ((val
* (*)(val
*))(var59
->class->vft
[COLOR_string__Object__to_s
]))(var59
) /* to_s on <var59:Array[Object]>*/;
858 ((void (*)(val
*, val
*))(var_f
->class->vft
[COLOR_stream__OStream__write
]))(var_f
, var62
) /* write on <var_f:OProcess>*/;
865 var67
= string__NativeString__to_s_with_length(var65
, var66
);
874 var72
= string__NativeString__to_s_with_length(var70
, var71
);
883 var77
= string__NativeString__to_s_with_length(var75
, var76
);
887 var78
= NEW_array__Array(&type_array__Arraykernel__Object
);
888 { /* var78 = array_instance Array[Object] */
890 var80
= NEW_array__NativeArray(var79
, &type_array__NativeArraykernel__Object
);
891 ((struct instance_array__NativeArray
*)var80
)->values
[0] = (val
*) var64
;
892 ((struct instance_array__NativeArray
*)var80
)->values
[1] = (val
*) var_x
;
893 ((struct instance_array__NativeArray
*)var80
)->values
[2] = (val
*) var69
;
894 ((struct instance_array__NativeArray
*)var80
)->values
[3] = (val
*) var_y
;
895 ((struct instance_array__NativeArray
*)var80
)->values
[4] = (val
*) var74
;
896 ((void (*)(val
*, val
*, long))(var78
->class->vft
[COLOR_array__Array__with_native
]))(var78
, var80
, var79
) /* with_native on <var78:Array[Object]>*/;
898 var81
= ((val
* (*)(val
*))(var78
->class->vft
[COLOR_string__Object__to_s
]))(var78
) /* to_s on <var78:Array[Object]>*/;
899 ((void (*)(val
*, val
*))(var_f
->class->vft
[COLOR_stream__OStream__write
]))(var_f
, var81
) /* write on <var_f:OProcess>*/;
901 CONTINUE_label
: (void)0;
902 ((void (*)(val
*))(var40
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var40
) /* next on <var40:Iterator[nullable Object]>*/;
904 BREAK_label
: (void)0;
905 CONTINUE_label82
: (void)0;
906 ((void (*)(val
*))(var20
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var20
) /* next on <var20:Iterator[nullable Object]>*/;
908 BREAK_label82
: (void)0;
914 var87
= string__NativeString__to_s_with_length(var85
, var86
);
918 ((void (*)(val
*, val
*))(var_f
->class->vft
[COLOR_stream__OStream__write
]))(var_f
, var84
) /* write on <var_f:OProcess>*/;
921 /* method poset#POSet#show_dot for (self: Object) */
922 void VIRTUAL_poset__POSet__show_dot(val
* self
) {
923 poset__POSet__show_dot(self
);
926 /* method poset#POSet#compare for (self: POSet[Object], Object, Object): Int */
927 long poset__POSet__compare(val
* self
, val
* p0
, val
* p1
) {
928 long var
/* : Int */;
929 short int var1
/* : Bool */;
932 const struct type
* type_struct
;
933 const char* var_class_name
;
934 short int var2
/* : Bool */;
937 const struct type
* type_struct5
;
938 const char* var_class_name6
;
939 val
* var_a
/* var a: Object */;
940 val
* var_b
/* var b: Object */;
941 val
* var7
/* : HashMap[Object, POSetElement[Object]] */;
942 val
* var8
/* : nullable Object */;
943 val
* var_ae
/* var ae: POSetElement[Object] */;
944 val
* var9
/* : HashMap[Object, POSetElement[Object]] */;
945 val
* var10
/* : nullable Object */;
946 val
* var_be
/* var be: POSetElement[Object] */;
947 val
* var11
/* : HashSet[Object] */;
948 long var12
/* : Int */;
949 val
* var13
/* : HashSet[Object] */;
950 long var14
/* : Int */;
951 long var15
/* : Int */;
952 long var_res
/* var res: Int */;
953 long var16
/* : Int */;
954 short int var17
/* : Bool */;
955 short int var19
/* : Bool */;
956 short int var20
/* : Bool */;
957 val
* var21
/* : HashMap[Object, POSetElement[Object]] */;
958 val
* var22
/* : nullable Object */;
959 long var23
/* : Int */;
960 val
* var24
/* : HashMap[Object, POSetElement[Object]] */;
961 val
* var25
/* : nullable Object */;
962 long var26
/* : Int */;
963 long var27
/* : Int */;
964 /* Covariant cast for argument 0 (a) <p0:Object> isa POSet#0 */
965 /* <p0:Object> isa POSet#0 */
966 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
967 cltype
= type_struct
->color
;
968 idtype
= type_struct
->id
;
969 if(cltype
>= p0
->type
->table_size
) {
972 var1
= p0
->type
->type_table
[cltype
] == idtype
;
975 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
976 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name
);
977 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 151);
980 /* Covariant cast for argument 1 (b) <p1:Object> isa POSet#0 */
981 /* <p1:Object> isa POSet#0 */
982 type_struct5
= self
->type
->resolution_table
->types
[COLOR_poset__POSet_FT0
];
983 cltype3
= type_struct5
->color
;
984 idtype4
= type_struct5
->id
;
985 if(cltype3
>= p1
->type
->table_size
) {
988 var2
= p1
->type
->type_table
[cltype3
] == idtype4
;
991 var_class_name6
= p1
== NULL ?
"null" : p1
->type
->name
;
992 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet#0", var_class_name6
);
993 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 151);
998 var7
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
999 var8
= ((val
* (*)(val
*, val
*))(var7
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var7
, var_a
) /* [] on <var7:HashMap[Object, POSetElement[Object]]>*/;
1001 var9
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
1002 var10
= ((val
* (*)(val
*, val
*))(var9
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var9
, var_b
) /* [] on <var9:HashMap[Object, POSetElement[Object]]>*/;
1004 var11
= ((val
* (*)(val
*))(var_ae
->class->vft
[COLOR_poset__POSetElement__tos
]))(var_ae
) /* tos on <var_ae:POSetElement[Object]>*/;
1005 var12
= ((long (*)(val
*))(var11
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var11
) /* length on <var11:HashSet[Object]>*/;
1006 var13
= ((val
* (*)(val
*))(var_be
->class->vft
[COLOR_poset__POSetElement__tos
]))(var_be
) /* tos on <var_be:POSetElement[Object]>*/;
1007 var14
= ((long (*)(val
*))(var13
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var13
) /* length on <var13:HashSet[Object]>*/;
1008 var15
= kernel__Int___60d_61d_62d(var12
, var14
);
1011 { /* Inline kernel#Int#!= (var_res,var16) */
1012 var19
= var_res
== var16
;
1016 RET_LABEL18
:(void)0;
1023 var21
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
1024 var22
= ((val
* (*)(val
*, val
*))(var21
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var21
, var_a
) /* [] on <var21:HashMap[Object, POSetElement[Object]]>*/;
1025 var23
= ((long (*)(val
*))(var22
->class->vft
[COLOR_poset__POSetElement__count
]))(var22
) /* count on <var22:nullable Object(POSetElement[Object])>*/;
1026 var24
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSet__elements
]))(self
) /* elements on <self:POSet[Object]>*/;
1027 var25
= ((val
* (*)(val
*, val
*))(var24
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var24
, var_b
) /* [] on <var24:HashMap[Object, POSetElement[Object]]>*/;
1028 var26
= ((long (*)(val
*))(var25
->class->vft
[COLOR_poset__POSetElement__count
]))(var25
) /* count on <var25:nullable Object(POSetElement[Object])>*/;
1029 var27
= kernel__Int___60d_61d_62d(var23
, var26
);
1035 /* method poset#POSet#compare for (self: Object, nullable Object, nullable Object): Int */
1036 long VIRTUAL_poset__POSet__compare(val
* self
, val
* p0
, val
* p1
) {
1037 long var
/* : Int */;
1038 long var1
/* : Int */;
1039 var1
= poset__POSet__compare(self
, p0
, p1
);
1044 /* method poset#POSet#init for (self: POSet[Object]) */
1045 void poset__POSet__init(val
* self
) {
1048 /* method poset#POSet#init for (self: Object) */
1049 void VIRTUAL_poset__POSet__init(val
* self
) {
1050 poset__POSet__init(self
);
1053 /* method poset#POSetElement#poset for (self: POSetElement[Object]): POSet[Object] */
1054 val
* poset__POSetElement__poset(val
* self
) {
1055 val
* var
/* : POSet[Object] */;
1056 val
* var1
/* : POSet[Object] */;
1057 var1
= self
->attrs
[COLOR_poset__POSetElement___64dposet
].val
; /* @poset on <self:POSetElement[Object]> */
1059 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @poset");
1060 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 181);
1067 /* method poset#POSetElement#poset for (self: Object): POSet[Object] */
1068 val
* VIRTUAL_poset__POSetElement__poset(val
* self
) {
1069 val
* var
/* : POSet[Object] */;
1070 val
* var1
/* : POSet[Object] */;
1071 var1
= poset__POSetElement__poset(self
);
1076 /* method poset#POSetElement#poset= for (self: POSetElement[Object], POSet[Object]) */
1077 void poset__POSetElement__poset_61d(val
* self
, val
* p0
) {
1078 short int var
/* : Bool */;
1081 const struct type
* type_struct
;
1082 const char* var_class_name
;
1083 /* Covariant cast for argument 0 (poset) <p0:POSet[Object]> isa POSet[POSetElement#0] */
1084 /* <p0:POSet[Object]> isa POSet[POSetElement#0] */
1085 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSetposet__POSetElement_FT0
];
1086 cltype
= type_struct
->color
;
1087 idtype
= type_struct
->id
;
1088 if(cltype
>= p0
->type
->table_size
) {
1091 var
= p0
->type
->type_table
[cltype
] == idtype
;
1094 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1095 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet[POSetElement#0]", var_class_name
);
1096 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 181);
1099 self
->attrs
[COLOR_poset__POSetElement___64dposet
].val
= p0
; /* @poset on <self:POSetElement[Object]> */
1102 /* method poset#POSetElement#poset= for (self: Object, POSet[Object]) */
1103 void VIRTUAL_poset__POSetElement__poset_61d(val
* self
, val
* p0
) {
1104 poset__POSetElement__poset_61d(self
, p0
);
1107 /* method poset#POSetElement#element for (self: POSetElement[Object]): Object */
1108 val
* poset__POSetElement__element(val
* self
) {
1109 val
* var
/* : Object */;
1110 val
* var1
/* : Object */;
1111 var1
= self
->attrs
[COLOR_poset__POSetElement___64delement
].val
; /* @element on <self:POSetElement[Object]> */
1113 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @element");
1114 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 184);
1121 /* method poset#POSetElement#element for (self: Object): Object */
1122 val
* VIRTUAL_poset__POSetElement__element(val
* self
) {
1123 val
* var
/* : Object */;
1124 val
* var1
/* : Object */;
1125 var1
= poset__POSetElement__element(self
);
1130 /* method poset#POSetElement#element= for (self: POSetElement[Object], Object) */
1131 void poset__POSetElement__element_61d(val
* self
, val
* p0
) {
1132 short int var
/* : Bool */;
1135 const struct type
* type_struct
;
1136 const char* var_class_name
;
1137 /* Covariant cast for argument 0 (element) <p0:Object> isa POSetElement#0 */
1138 /* <p0:Object> isa POSetElement#0 */
1139 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSetElement_FT0
];
1140 cltype
= type_struct
->color
;
1141 idtype
= type_struct
->id
;
1142 if(cltype
>= p0
->type
->table_size
) {
1145 var
= p0
->type
->type_table
[cltype
] == idtype
;
1148 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1149 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSetElement#0", var_class_name
);
1150 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 184);
1153 self
->attrs
[COLOR_poset__POSetElement___64delement
].val
= p0
; /* @element on <self:POSetElement[Object]> */
1156 /* method poset#POSetElement#element= for (self: Object, Object) */
1157 void VIRTUAL_poset__POSetElement__element_61d(val
* self
, val
* p0
) {
1158 poset__POSetElement__element_61d(self
, p0
);
1161 /* method poset#POSetElement#tos for (self: POSetElement[Object]): HashSet[Object] */
1162 val
* poset__POSetElement__tos(val
* self
) {
1163 val
* var
/* : HashSet[Object] */;
1164 val
* var1
/* : HashSet[Object] */;
1165 var1
= self
->attrs
[COLOR_poset__POSetElement___64dtos
].val
; /* @tos on <self:POSetElement[Object]> */
1167 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @tos");
1168 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 187);
1175 /* method poset#POSetElement#tos for (self: Object): HashSet[Object] */
1176 val
* VIRTUAL_poset__POSetElement__tos(val
* self
) {
1177 val
* var
/* : HashSet[Object] */;
1178 val
* var1
/* : HashSet[Object] */;
1179 var1
= poset__POSetElement__tos(self
);
1184 /* method poset#POSetElement#tos= for (self: POSetElement[Object], HashSet[Object]) */
1185 void poset__POSetElement__tos_61d(val
* self
, val
* p0
) {
1186 short int var
/* : Bool */;
1189 const struct type
* type_struct
;
1190 const char* var_class_name
;
1191 /* Covariant cast for argument 0 (tos) <p0:HashSet[Object]> isa HashSet[POSetElement#0] */
1192 /* <p0:HashSet[Object]> isa HashSet[POSetElement#0] */
1193 type_struct
= self
->type
->resolution_table
->types
[COLOR_hash_collection__HashSetposet__POSetElement_FT0
];
1194 cltype
= type_struct
->color
;
1195 idtype
= type_struct
->id
;
1196 if(cltype
>= p0
->type
->table_size
) {
1199 var
= p0
->type
->type_table
[cltype
] == idtype
;
1202 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1203 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "HashSet[POSetElement#0]", var_class_name
);
1204 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 187);
1207 self
->attrs
[COLOR_poset__POSetElement___64dtos
].val
= p0
; /* @tos on <self:POSetElement[Object]> */
1210 /* method poset#POSetElement#tos= for (self: Object, HashSet[Object]) */
1211 void VIRTUAL_poset__POSetElement__tos_61d(val
* self
, val
* p0
) {
1212 poset__POSetElement__tos_61d(self
, p0
);
1215 /* method poset#POSetElement#froms for (self: POSetElement[Object]): HashSet[Object] */
1216 val
* poset__POSetElement__froms(val
* self
) {
1217 val
* var
/* : HashSet[Object] */;
1218 val
* var1
/* : HashSet[Object] */;
1219 var1
= self
->attrs
[COLOR_poset__POSetElement___64dfroms
].val
; /* @froms on <self:POSetElement[Object]> */
1221 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @froms");
1222 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 188);
1229 /* method poset#POSetElement#froms for (self: Object): HashSet[Object] */
1230 val
* VIRTUAL_poset__POSetElement__froms(val
* self
) {
1231 val
* var
/* : HashSet[Object] */;
1232 val
* var1
/* : HashSet[Object] */;
1233 var1
= poset__POSetElement__froms(self
);
1238 /* method poset#POSetElement#froms= for (self: POSetElement[Object], HashSet[Object]) */
1239 void poset__POSetElement__froms_61d(val
* self
, val
* p0
) {
1240 short int var
/* : Bool */;
1243 const struct type
* type_struct
;
1244 const char* var_class_name
;
1245 /* Covariant cast for argument 0 (froms) <p0:HashSet[Object]> isa HashSet[POSetElement#0] */
1246 /* <p0:HashSet[Object]> isa HashSet[POSetElement#0] */
1247 type_struct
= self
->type
->resolution_table
->types
[COLOR_hash_collection__HashSetposet__POSetElement_FT0
];
1248 cltype
= type_struct
->color
;
1249 idtype
= type_struct
->id
;
1250 if(cltype
>= p0
->type
->table_size
) {
1253 var
= p0
->type
->type_table
[cltype
] == idtype
;
1256 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1257 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "HashSet[POSetElement#0]", var_class_name
);
1258 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 188);
1261 self
->attrs
[COLOR_poset__POSetElement___64dfroms
].val
= p0
; /* @froms on <self:POSetElement[Object]> */
1264 /* method poset#POSetElement#froms= for (self: Object, HashSet[Object]) */
1265 void VIRTUAL_poset__POSetElement__froms_61d(val
* self
, val
* p0
) {
1266 poset__POSetElement__froms_61d(self
, p0
);
1269 /* method poset#POSetElement#dtos for (self: POSetElement[Object]): HashSet[Object] */
1270 val
* poset__POSetElement__dtos(val
* self
) {
1271 val
* var
/* : HashSet[Object] */;
1272 val
* var1
/* : HashSet[Object] */;
1273 var1
= self
->attrs
[COLOR_poset__POSetElement___64ddtos
].val
; /* @dtos on <self:POSetElement[Object]> */
1275 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @dtos");
1276 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 189);
1283 /* method poset#POSetElement#dtos for (self: Object): HashSet[Object] */
1284 val
* VIRTUAL_poset__POSetElement__dtos(val
* self
) {
1285 val
* var
/* : HashSet[Object] */;
1286 val
* var1
/* : HashSet[Object] */;
1287 var1
= poset__POSetElement__dtos(self
);
1292 /* method poset#POSetElement#dtos= for (self: POSetElement[Object], HashSet[Object]) */
1293 void poset__POSetElement__dtos_61d(val
* self
, val
* p0
) {
1294 short int var
/* : Bool */;
1297 const struct type
* type_struct
;
1298 const char* var_class_name
;
1299 /* Covariant cast for argument 0 (dtos) <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 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1311 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "HashSet[POSetElement#0]", var_class_name
);
1312 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 189);
1315 self
->attrs
[COLOR_poset__POSetElement___64ddtos
].val
= p0
; /* @dtos on <self:POSetElement[Object]> */
1318 /* method poset#POSetElement#dtos= for (self: Object, HashSet[Object]) */
1319 void VIRTUAL_poset__POSetElement__dtos_61d(val
* self
, val
* p0
) {
1320 poset__POSetElement__dtos_61d(self
, p0
);
1323 /* method poset#POSetElement#dfroms for (self: POSetElement[Object]): HashSet[Object] */
1324 val
* poset__POSetElement__dfroms(val
* self
) {
1325 val
* var
/* : HashSet[Object] */;
1326 val
* var1
/* : HashSet[Object] */;
1327 var1
= self
->attrs
[COLOR_poset__POSetElement___64ddfroms
].val
; /* @dfroms on <self:POSetElement[Object]> */
1329 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @dfroms");
1330 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 190);
1337 /* method poset#POSetElement#dfroms for (self: Object): HashSet[Object] */
1338 val
* VIRTUAL_poset__POSetElement__dfroms(val
* self
) {
1339 val
* var
/* : HashSet[Object] */;
1340 val
* var1
/* : HashSet[Object] */;
1341 var1
= poset__POSetElement__dfroms(self
);
1346 /* method poset#POSetElement#dfroms= for (self: POSetElement[Object], HashSet[Object]) */
1347 void poset__POSetElement__dfroms_61d(val
* self
, val
* p0
) {
1348 short int var
/* : Bool */;
1351 const struct type
* type_struct
;
1352 const char* var_class_name
;
1353 /* Covariant cast for argument 0 (dfroms) <p0:HashSet[Object]> isa HashSet[POSetElement#0] */
1354 /* <p0:HashSet[Object]> isa HashSet[POSetElement#0] */
1355 type_struct
= self
->type
->resolution_table
->types
[COLOR_hash_collection__HashSetposet__POSetElement_FT0
];
1356 cltype
= type_struct
->color
;
1357 idtype
= type_struct
->id
;
1358 if(cltype
>= p0
->type
->table_size
) {
1361 var
= p0
->type
->type_table
[cltype
] == idtype
;
1364 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1365 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "HashSet[POSetElement#0]", var_class_name
);
1366 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 190);
1369 self
->attrs
[COLOR_poset__POSetElement___64ddfroms
].val
= p0
; /* @dfroms on <self:POSetElement[Object]> */
1372 /* method poset#POSetElement#dfroms= for (self: Object, HashSet[Object]) */
1373 void VIRTUAL_poset__POSetElement__dfroms_61d(val
* self
, val
* p0
) {
1374 poset__POSetElement__dfroms_61d(self
, p0
);
1377 /* method poset#POSetElement#count for (self: POSetElement[Object]): Int */
1378 long poset__POSetElement__count(val
* self
) {
1379 long var
/* : Int */;
1380 long var1
/* : Int */;
1381 var1
= self
->attrs
[COLOR_poset__POSetElement___64dcount
].l
; /* @count on <self:POSetElement[Object]> */
1386 /* method poset#POSetElement#count for (self: Object): Int */
1387 long VIRTUAL_poset__POSetElement__count(val
* self
) {
1388 long var
/* : Int */;
1389 long var1
/* : Int */;
1390 var1
= poset__POSetElement__count(self
);
1395 /* method poset#POSetElement#count= for (self: POSetElement[Object], Int) */
1396 void poset__POSetElement__count_61d(val
* self
, long p0
) {
1397 self
->attrs
[COLOR_poset__POSetElement___64dcount
].l
= p0
; /* @count on <self:POSetElement[Object]> */
1400 /* method poset#POSetElement#count= for (self: Object, Int) */
1401 void VIRTUAL_poset__POSetElement__count_61d(val
* self
, long p0
) {
1402 poset__POSetElement__count_61d(self
, p0
);
1405 /* method poset#POSetElement#greaters for (self: POSetElement[Object]): Collection[Object] */
1406 val
* poset__POSetElement__greaters(val
* self
) {
1407 val
* var
/* : Collection[Object] */;
1408 val
* var1
/* : HashSet[Object] */;
1409 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSetElement__tos
]))(self
) /* tos on <self:POSetElement[Object]>*/;
1415 /* method poset#POSetElement#greaters for (self: Object): Collection[Object] */
1416 val
* VIRTUAL_poset__POSetElement__greaters(val
* self
) {
1417 val
* var
/* : Collection[Object] */;
1418 val
* var1
/* : Collection[Object] */;
1419 var1
= poset__POSetElement__greaters(self
);
1424 /* method poset#POSetElement#direct_greaters for (self: POSetElement[Object]): Collection[Object] */
1425 val
* poset__POSetElement__direct_greaters(val
* self
) {
1426 val
* var
/* : Collection[Object] */;
1427 val
* var1
/* : HashSet[Object] */;
1428 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSetElement__dtos
]))(self
) /* dtos on <self:POSetElement[Object]>*/;
1434 /* method poset#POSetElement#direct_greaters for (self: Object): Collection[Object] */
1435 val
* VIRTUAL_poset__POSetElement__direct_greaters(val
* self
) {
1436 val
* var
/* : Collection[Object] */;
1437 val
* var1
/* : Collection[Object] */;
1438 var1
= poset__POSetElement__direct_greaters(self
);
1443 /* method poset#POSetElement#smallers for (self: POSetElement[Object]): Collection[Object] */
1444 val
* poset__POSetElement__smallers(val
* self
) {
1445 val
* var
/* : Collection[Object] */;
1446 val
* var1
/* : HashSet[Object] */;
1447 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSetElement__froms
]))(self
) /* froms on <self:POSetElement[Object]>*/;
1453 /* method poset#POSetElement#smallers for (self: Object): Collection[Object] */
1454 val
* VIRTUAL_poset__POSetElement__smallers(val
* self
) {
1455 val
* var
/* : Collection[Object] */;
1456 val
* var1
/* : Collection[Object] */;
1457 var1
= poset__POSetElement__smallers(self
);
1462 /* method poset#POSetElement#direct_smallers for (self: POSetElement[Object]): Collection[Object] */
1463 val
* poset__POSetElement__direct_smallers(val
* self
) {
1464 val
* var
/* : Collection[Object] */;
1465 val
* var1
/* : HashSet[Object] */;
1466 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSetElement__dfroms
]))(self
) /* dfroms on <self:POSetElement[Object]>*/;
1472 /* method poset#POSetElement#direct_smallers for (self: Object): Collection[Object] */
1473 val
* VIRTUAL_poset__POSetElement__direct_smallers(val
* self
) {
1474 val
* var
/* : Collection[Object] */;
1475 val
* var1
/* : Collection[Object] */;
1476 var1
= poset__POSetElement__direct_smallers(self
);
1481 /* method poset#POSetElement#<= for (self: POSetElement[Object], Object): Bool */
1482 short int poset__POSetElement___60d_61d(val
* self
, val
* p0
) {
1483 short int var
/* : Bool */;
1484 short int var1
/* : Bool */;
1487 const struct type
* type_struct
;
1488 const char* var_class_name
;
1489 val
* var_t
/* var t: Object */;
1490 val
* var2
/* : HashSet[Object] */;
1491 short int var3
/* : Bool */;
1492 /* Covariant cast for argument 0 (t) <p0:Object> isa POSetElement#0 */
1493 /* <p0:Object> isa POSetElement#0 */
1494 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSetElement_FT0
];
1495 cltype
= type_struct
->color
;
1496 idtype
= type_struct
->id
;
1497 if(cltype
>= p0
->type
->table_size
) {
1500 var1
= p0
->type
->type_table
[cltype
] == idtype
;
1503 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1504 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSetElement#0", var_class_name
);
1505 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 222);
1509 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSetElement__tos
]))(self
) /* tos on <self:POSetElement[Object]>*/;
1510 var3
= ((short int (*)(val
*, val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var2
, var_t
) /* has on <var2:HashSet[Object]>*/;
1516 /* method poset#POSetElement#<= for (self: Object, Object): Bool */
1517 short int VIRTUAL_poset__POSetElement___60d_61d(val
* self
, val
* p0
) {
1518 short int var
/* : Bool */;
1519 short int var1
/* : Bool */;
1520 var1
= poset__POSetElement___60d_61d(self
, p0
);
1525 /* method poset#POSetElement#< for (self: POSetElement[Object], Object): Bool */
1526 short int poset__POSetElement___60d(val
* self
, val
* p0
) {
1527 short int var
/* : Bool */;
1528 short int var1
/* : Bool */;
1531 const struct type
* type_struct
;
1532 const char* var_class_name
;
1533 val
* var_t
/* var t: Object */;
1534 short int var2
/* : Bool */;
1535 val
* var3
/* : Object */;
1536 short int var4
/* : Bool */;
1537 short int var_
/* var : Bool */;
1538 val
* var5
/* : HashSet[Object] */;
1539 short int var6
/* : Bool */;
1540 /* Covariant cast for argument 0 (t) <p0:Object> isa POSetElement#0 */
1541 /* <p0:Object> isa POSetElement#0 */
1542 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSetElement_FT0
];
1543 cltype
= type_struct
->color
;
1544 idtype
= type_struct
->id
;
1545 if(cltype
>= p0
->type
->table_size
) {
1548 var1
= p0
->type
->type_table
[cltype
] == idtype
;
1551 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1552 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSetElement#0", var_class_name
);
1553 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 228);
1557 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSetElement__element
]))(self
) /* element on <self:POSetElement[Object]>*/;
1558 var4
= ((short int (*)(val
*, val
*))(var_t
->class->vft
[COLOR_kernel__Object___33d_61d
]))(var_t
, var3
) /* != on <var_t:Object>*/;
1561 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_poset__POSetElement__tos
]))(self
) /* tos on <self:POSetElement[Object]>*/;
1562 var6
= ((short int (*)(val
*, val
*))(var5
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var5
, var_t
) /* has on <var5:HashSet[Object]>*/;
1572 /* method poset#POSetElement#< for (self: Object, Object): Bool */
1573 short int VIRTUAL_poset__POSetElement___60d(val
* self
, val
* p0
) {
1574 short int var
/* : Bool */;
1575 short int var1
/* : Bool */;
1576 var1
= poset__POSetElement___60d(self
, p0
);
1581 /* method poset#POSetElement#init for (self: POSetElement[Object], POSet[Object], Object, Int) */
1582 void poset__POSetElement__init(val
* self
, val
* p0
, val
* p1
, long p2
) {
1583 short int var
/* : Bool */;
1586 const struct type
* type_struct
;
1587 const char* var_class_name
;
1588 short int var1
/* : Bool */;
1591 const struct type
* type_struct4
;
1592 const char* var_class_name5
;
1593 /* Covariant cast for argument 0 (poset) <p0:POSet[Object]> isa POSet[POSetElement#0] */
1594 /* <p0:POSet[Object]> isa POSet[POSetElement#0] */
1595 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSetposet__POSetElement_FT0
];
1596 cltype
= type_struct
->color
;
1597 idtype
= type_struct
->id
;
1598 if(cltype
>= p0
->type
->table_size
) {
1601 var
= p0
->type
->type_table
[cltype
] == idtype
;
1604 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1605 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet[POSetElement#0]", var_class_name
);
1606 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 168);
1609 /* Covariant cast for argument 1 (element) <p1:Object> isa POSetElement#0 */
1610 /* <p1:Object> isa POSetElement#0 */
1611 type_struct4
= self
->type
->resolution_table
->types
[COLOR_poset__POSetElement_FT0
];
1612 cltype2
= type_struct4
->color
;
1613 idtype3
= type_struct4
->id
;
1614 if(cltype2
>= p1
->type
->table_size
) {
1617 var1
= p1
->type
->type_table
[cltype2
] == idtype3
;
1620 var_class_name5
= p1
== NULL ?
"null" : p1
->type
->name
;
1621 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "POSetElement#0", var_class_name5
);
1622 fprintf(stderr
, " (%s:%d)\n", "lib/poset.nit", 168);
1625 self
->attrs
[COLOR_poset__POSetElement___64dposet
].val
= p0
; /* @poset on <self:POSetElement[Object]> */
1626 self
->attrs
[COLOR_poset__POSetElement___64delement
].val
= p1
; /* @element on <self:POSetElement[Object]> */
1627 self
->attrs
[COLOR_poset__POSetElement___64dcount
].l
= p2
; /* @count on <self:POSetElement[Object]> */
1630 /* method poset#POSetElement#init for (self: Object, POSet[Object], Object, Int) */
1631 void VIRTUAL_poset__POSetElement__init(val
* self
, val
* p0
, val
* p1
, long p2
) {
1632 poset__POSetElement__init(self
, p0
, p1
, p2
);