1 /* This C file is generated by NIT to compile module partial_order. */
2 #include "partial_order._sep.h"
3 val_t
partial_order___PartialOrder___iterator(val_t p0
){
4 struct {struct stack_frame_t me
;} fra
;
7 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8 fra
.me
.file
= LOCATE_partial_order
;
10 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___iterator
;
13 fra
.me
.REG
[0] = NIT_NULL
;
15 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrder____elements_list(fra
.me
.REG
[0])!=NIT_NULL
);
16 /* ./metamodel//partial_order.nit:54 */
17 if (UNTAG_Bool(REGB0
)) {
19 fprintf(stderr
, "Uninitialized attribute %s", "_elements_list");
20 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 54);
23 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrder____elements_list(fra
.me
.REG
[0]);
24 fra
.me
.REG
[0] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
27 stack_frame_head
= fra
.me
.prev
;
30 val_t
partial_order___PartialOrder___is_empty(val_t p0
){
31 struct {struct stack_frame_t me
;} fra
;
34 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
35 fra
.me
.file
= LOCATE_partial_order
;
37 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___is_empty
;
40 fra
.me
.REG
[0] = NIT_NULL
;
42 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
43 /* ./metamodel//partial_order.nit:35 */
44 if (UNTAG_Bool(REGB0
)) {
46 fprintf(stderr
, "Uninitialized attribute %s", "_elements");
47 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 35);
50 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
51 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
54 stack_frame_head
= fra
.me
.prev
;
57 val_t
partial_order___PartialOrder___length(val_t p0
){
58 struct {struct stack_frame_t me
;} fra
;
61 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
62 fra
.me
.file
= LOCATE_partial_order
;
64 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___length
;
67 fra
.me
.REG
[0] = NIT_NULL
;
69 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
70 /* ./metamodel//partial_order.nit:37 */
71 if (UNTAG_Bool(REGB0
)) {
73 fprintf(stderr
, "Uninitialized attribute %s", "_elements");
74 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 37);
77 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
78 REGB0
= CALL_abstract_collection___Collection___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
81 stack_frame_head
= fra
.me
.prev
;
84 val_t
partial_order___PartialOrder___has(val_t p0
, val_t p1
){
85 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
88 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
89 fra
.me
.file
= LOCATE_partial_order
;
91 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___has
;
94 fra
.me
.REG
[0] = NIT_NULL
;
95 fra
.me
.REG
[1] = NIT_NULL
;
98 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
99 /* ./metamodel//partial_order.nit:41 */
100 if (UNTAG_Bool(REGB0
)) {
102 fprintf(stderr
, "Uninitialized attribute %s", "_elements");
103 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 41);
106 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
107 REGB0
= CALL_abstract_collection___MapRead___has_key(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
110 stack_frame_head
= fra
.me
.prev
;
113 val_t
partial_order___PartialOrder___has_only(val_t p0
, val_t p1
){
114 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
119 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
120 fra
.me
.file
= LOCATE_partial_order
;
122 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___has_only
;
123 fra
.me
.has_broke
= 0;
125 fra
.me
.REG
[0] = NIT_NULL
;
126 fra
.me
.REG
[1] = NIT_NULL
;
127 fra
.me
.REG
[2] = NIT_NULL
;
130 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
131 /* ./metamodel//partial_order.nit:43 */
132 if (UNTAG_Bool(REGB0
)) {
134 fprintf(stderr
, "Uninitialized attribute %s", "_elements");
135 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 43);
138 fra
.me
.REG
[2] = ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
139 REGB0
= CALL_abstract_collection___Collection___length(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
141 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
142 if (UNTAG_Bool(REGB2
)) {
144 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
146 /* ./metamodel//partial_order.nit:43 */
148 if (UNTAG_Bool(REGB2
)) {
149 REGB2
= TAG_Bool(ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
150 if (UNTAG_Bool(REGB2
)) {
152 fprintf(stderr
, "Uninitialized attribute %s", "_elements");
153 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 43);
156 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
157 fra
.me
.REG
[0] = CALL_abstract_collection___Collection___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
158 REGB2
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[0],fra
.me
.REG
[1]));
159 if (UNTAG_Bool(REGB2
)) {
161 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
162 if (UNTAG_Bool(REGB1
)) {
163 REGB1
= TAG_Bool(false);
166 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
171 REGB1
= TAG_Bool(false);
176 stack_frame_head
= fra
.me
.prev
;
179 val_t
partial_order___PartialOrder___count(val_t p0
, val_t p1
){
180 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
184 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
185 fra
.me
.file
= LOCATE_partial_order
;
187 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___count
;
188 fra
.me
.has_broke
= 0;
190 fra
.me
.REG
[0] = NIT_NULL
;
191 fra
.me
.REG
[1] = NIT_NULL
;
194 REGB0
= CALL_abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
195 /* ./metamodel//partial_order.nit:47 */
196 if (UNTAG_Bool(REGB0
)) {
198 /* ./metamodel//partial_order.nit:48 */
203 /* ./metamodel//partial_order.nit:50 */
207 stack_frame_head
= fra
.me
.prev
;
210 val_t
partial_order___PartialOrder___first(val_t p0
){
211 struct {struct stack_frame_t me
;} fra
;
214 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
215 fra
.me
.file
= LOCATE_partial_order
;
217 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___first
;
218 fra
.me
.has_broke
= 0;
220 fra
.me
.REG
[0] = NIT_NULL
;
222 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrder____elements_list(fra
.me
.REG
[0])!=NIT_NULL
);
223 /* ./metamodel//partial_order.nit:39 */
224 if (UNTAG_Bool(REGB0
)) {
226 fprintf(stderr
, "Uninitialized attribute %s", "_elements_list");
227 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 39);
230 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrder____elements_list(fra
.me
.REG
[0]);
231 fra
.me
.REG
[0] = CALL_abstract_collection___Collection___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
234 stack_frame_head
= fra
.me
.prev
;
235 return fra
.me
.REG
[0];
237 val_t
partial_order___PartialOrder___roots(val_t p0
){
238 struct {struct stack_frame_t me
;} fra
;
241 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
242 fra
.me
.file
= LOCATE_partial_order
;
244 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___roots
;
245 fra
.me
.has_broke
= 0;
247 fra
.me
.REG
[0] = NIT_NULL
;
249 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrder____roots(fra
.me
.REG
[0])!=NIT_NULL
);
250 /* ./metamodel//partial_order.nit:30 */
251 if (UNTAG_Bool(REGB0
)) {
253 fprintf(stderr
, "Uninitialized attribute %s", "_roots");
254 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 30);
257 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrder____roots(fra
.me
.REG
[0]);
258 stack_frame_head
= fra
.me
.prev
;
259 return fra
.me
.REG
[0];
261 val_t
partial_order___PartialOrder_____bra(val_t p0
, val_t p1
){
262 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
265 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
266 fra
.me
.file
= LOCATE_partial_order
;
268 fra
.me
.meth
= LOCATE_partial_order___PartialOrder_____bra
;
269 fra
.me
.has_broke
= 0;
271 fra
.me
.REG
[0] = NIT_NULL
;
272 fra
.me
.REG
[1] = NIT_NULL
;
275 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
276 /* ./metamodel//partial_order.nit:61 */
277 if (UNTAG_Bool(REGB0
)) {
279 fprintf(stderr
, "Uninitialized attribute %s", "_elements");
280 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 61);
283 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
284 fra
.me
.REG
[1] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
287 stack_frame_head
= fra
.me
.prev
;
288 return fra
.me
.REG
[1];
290 val_t
partial_order___PartialOrder___to_dot(val_t p0
){
291 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
294 static val_t once_value_3
; /* Once value */
295 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
296 fra
.me
.file
= LOCATE_partial_order
;
298 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___to_dot
;
299 fra
.me
.has_broke
= 0;
301 fra
.me
.REG
[0] = NIT_NULL
;
302 fra
.me
.REG
[1] = NIT_NULL
;
303 fra
.me
.REG
[2] = NIT_NULL
;
304 fra
.me
.REG
[3] = NIT_NULL
;
305 fra
.me
.REG
[4] = NIT_NULL
;
306 fra
.me
.REG
[5] = NIT_NULL
;
307 fra
.me
.REG
[6] = NIT_NULL
;
309 fra
.me
.REG
[1] = NEW_Buffer_string___Buffer___init();
310 fra
.me
.REG
[2] = CALL_partial_order___PartialOrder___to_dot_header(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
311 /* ./metamodel//partial_order.nit:68 */
312 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
313 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
314 /* ./metamodel//partial_order.nit:69 */
315 if (UNTAG_Bool(REGB0
)) {
317 fprintf(stderr
, "Uninitialized attribute %s", "_elements");
318 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 69);
321 fra
.me
.REG
[2] = ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
322 fra
.me
.REG
[2] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
324 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
325 if (UNTAG_Bool(REGB0
)) {
326 fra
.me
.REG
[3] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
327 fra
.me
.REG
[4] = CALL_partial_order___PartialOrderElement___value(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
328 fra
.me
.REG
[4] = CALL_partial_order___PartialOrder___to_dot_node(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
329 /* ./metamodel//partial_order.nit:70 */
330 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
331 fra
.me
.REG
[4] = CALL_partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
332 fra
.me
.REG
[4] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
333 /* ./metamodel//partial_order.nit:71 */
335 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
336 if (UNTAG_Bool(REGB0
)) {
337 fra
.me
.REG
[5] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
338 fra
.me
.REG
[6] = CALL_partial_order___PartialOrderElement___value(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
339 fra
.me
.REG
[5] = CALL_partial_order___PartialOrder___to_dot_edge(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[6], fra
.me
.REG
[5]);
340 /* ./metamodel//partial_order.nit:72 */
341 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
343 /* ./metamodel//partial_order.nit:71 */
346 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
350 /* ./metamodel//partial_order.nit:69 */
353 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
356 /* ./metamodel//partial_order.nit:75 */
358 fra
.me
.REG
[2] = BOX_NativeString("}\n");
360 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
361 once_value_3
= fra
.me
.REG
[2];
362 register_static_object(&once_value_3
);
363 } else fra
.me
.REG
[2] = once_value_3
;
364 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
365 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
366 /* ./metamodel//partial_order.nit:76 */
369 stack_frame_head
= fra
.me
.prev
;
370 return fra
.me
.REG
[1];
372 val_t
partial_order___PartialOrder___to_dot_header(val_t p0
){
373 struct {struct stack_frame_t me
;} fra
;
376 static val_t once_value_1
; /* Once value */
377 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
378 fra
.me
.file
= LOCATE_partial_order
;
380 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___to_dot_header
;
381 fra
.me
.has_broke
= 0;
383 fra
.me
.REG
[0] = NIT_NULL
;
385 /* ./metamodel//partial_order.nit:82 */
387 fra
.me
.REG
[0] = BOX_NativeString("digraph G {\ngraph [rankdir=BT];\n");
389 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
390 once_value_1
= fra
.me
.REG
[0];
391 register_static_object(&once_value_1
);
392 } else fra
.me
.REG
[0] = once_value_1
;
395 stack_frame_head
= fra
.me
.prev
;
396 return fra
.me
.REG
[0];
398 val_t
partial_order___PartialOrder___to_dot_node(val_t p0
, val_t p1
){
399 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
402 static val_t once_value_1
; /* Once value */
403 static val_t once_value_2
; /* Once value */
404 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
405 fra
.me
.file
= LOCATE_partial_order
;
407 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___to_dot_node
;
408 fra
.me
.has_broke
= 0;
410 fra
.me
.REG
[0] = NIT_NULL
;
411 fra
.me
.REG
[1] = NIT_NULL
;
412 fra
.me
.REG
[2] = NIT_NULL
;
416 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB0
);
417 /* ./metamodel//partial_order.nit:88 */
419 fra
.me
.REG
[2] = BOX_NativeString("\"");
421 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
422 once_value_1
= fra
.me
.REG
[2];
423 register_static_object(&once_value_1
);
424 } else fra
.me
.REG
[2] = once_value_1
;
425 array___Array___add(fra
.me
.REG
[0], fra
.me
.REG
[2]);
426 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
427 array___Array___add(fra
.me
.REG
[0], fra
.me
.REG
[1]);
429 fra
.me
.REG
[1] = BOX_NativeString("\";\n");
431 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
432 once_value_2
= fra
.me
.REG
[1];
433 register_static_object(&once_value_2
);
434 } else fra
.me
.REG
[1] = once_value_2
;
435 array___Array___add(fra
.me
.REG
[0], fra
.me
.REG
[1]);
436 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
439 stack_frame_head
= fra
.me
.prev
;
440 return fra
.me
.REG
[0];
442 val_t
partial_order___PartialOrder___to_dot_edge(val_t p0
, val_t p1
, val_t p2
){
443 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
446 static val_t once_value_1
; /* Once value */
447 static val_t once_value_2
; /* Once value */
448 static val_t once_value_3
; /* Once value */
449 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
450 fra
.me
.file
= LOCATE_partial_order
;
452 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___to_dot_edge
;
453 fra
.me
.has_broke
= 0;
455 fra
.me
.REG
[0] = NIT_NULL
;
456 fra
.me
.REG
[1] = NIT_NULL
;
457 fra
.me
.REG
[2] = NIT_NULL
;
458 fra
.me
.REG
[3] = NIT_NULL
;
463 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB0
);
464 /* ./metamodel//partial_order.nit:94 */
466 fra
.me
.REG
[3] = BOX_NativeString("\"");
468 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
469 once_value_1
= fra
.me
.REG
[3];
470 register_static_object(&once_value_1
);
471 } else fra
.me
.REG
[3] = once_value_1
;
472 array___Array___add(fra
.me
.REG
[0], fra
.me
.REG
[3]);
473 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
474 array___Array___add(fra
.me
.REG
[0], fra
.me
.REG
[1]);
476 fra
.me
.REG
[1] = BOX_NativeString("\" -> \"");
478 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
479 once_value_2
= fra
.me
.REG
[1];
480 register_static_object(&once_value_2
);
481 } else fra
.me
.REG
[1] = once_value_2
;
482 array___Array___add(fra
.me
.REG
[0], fra
.me
.REG
[1]);
483 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
484 array___Array___add(fra
.me
.REG
[0], fra
.me
.REG
[2]);
486 fra
.me
.REG
[2] = BOX_NativeString("\";\n");
488 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
489 once_value_3
= fra
.me
.REG
[2];
490 register_static_object(&once_value_3
);
491 } else fra
.me
.REG
[2] = once_value_3
;
492 array___Array___add(fra
.me
.REG
[0], fra
.me
.REG
[2]);
493 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
496 stack_frame_head
= fra
.me
.prev
;
497 return fra
.me
.REG
[0];
499 val_t
partial_order___PartialOrder___select_smallests(val_t p0
, val_t p1
){
500 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
504 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
505 fra
.me
.file
= LOCATE_partial_order
;
507 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___select_smallests
;
508 fra
.me
.has_broke
= 0;
510 fra
.me
.REG
[0] = NIT_NULL
;
511 fra
.me
.REG
[1] = NIT_NULL
;
512 fra
.me
.REG
[2] = NIT_NULL
;
513 fra
.me
.REG
[3] = NIT_NULL
;
514 fra
.me
.REG
[4] = NIT_NULL
;
515 fra
.me
.REG
[5] = NIT_NULL
;
518 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
519 /* ./metamodel//partial_order.nit:100 */
520 if (UNTAG_Bool(REGB0
)) {
522 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
523 if (UNTAG_Bool(REGB1
)) {
524 REGB1
= TAG_Bool(false);
527 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
531 if (UNTAG_Bool(REGB0
)) {
532 fra
.me
.REG
[2] = NEW_Array_array___Array___init();
535 REGB0
= CALL_partial_order___PartialOrder___has_all(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
536 /* ./metamodel//partial_order.nit:101 */
537 if (UNTAG_Bool(REGB0
)) {
539 fprintf(stderr
, "Assert failed");
540 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 101);
543 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
544 /* ./metamodel//partial_order.nit:102 */
545 if (UNTAG_Bool(REGB0
)) {
546 fprintf(stderr
, "Reciever is null");
547 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 102);
550 REGB0
= CALL_abstract_collection___Collection___length(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
551 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
552 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
553 /* ./metamodel//partial_order.nit:103 */
554 if (UNTAG_Bool(REGB0
)) {
555 fprintf(stderr
, "Reciever is null");
556 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 103);
559 REGB0
= CALL_abstract_collection___Collection___length(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
560 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
561 fra
.me
.REG
[1] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
562 /* ./metamodel//partial_order.nit:104 */
564 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
565 if (UNTAG_Bool(REGB0
)) {
566 fra
.me
.REG
[5] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
567 REGB0
= CALL_partial_order___PartialOrder___add_to_smallests(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5], fra
.me
.REG
[3], fra
.me
.REG
[4]);
568 /* ./metamodel//partial_order.nit:107 */
569 if (UNTAG_Bool(REGB0
)) {
570 fra
.me
.REG
[5] = fra
.me
.REG
[4];
571 fra
.me
.REG
[4] = fra
.me
.REG
[3];
572 fra
.me
.REG
[3] = fra
.me
.REG
[5];
573 /* ./metamodel//partial_order.nit:112 */
576 /* ./metamodel//partial_order.nit:104 */
579 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
582 fra
.me
.REG
[2] = fra
.me
.REG
[3];
583 /* ./metamodel//partial_order.nit:115 */
586 stack_frame_head
= fra
.me
.prev
;
587 return fra
.me
.REG
[2];
589 val_t
partial_order___PartialOrder___add(val_t p0
, val_t p1
, val_t p2
){
590 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
594 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
595 fra
.me
.file
= LOCATE_partial_order
;
597 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___add
;
598 fra
.me
.has_broke
= 0;
600 fra
.me
.REG
[0] = NIT_NULL
;
601 fra
.me
.REG
[1] = NIT_NULL
;
602 fra
.me
.REG
[2] = NIT_NULL
;
603 fra
.me
.REG
[3] = NIT_NULL
;
604 fra
.me
.REG
[4] = NIT_NULL
;
608 REGB0
= CALL_abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
609 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
610 /* ./metamodel//partial_order.nit:121 */
611 if (UNTAG_Bool(REGB0
)) {
613 fprintf(stderr
, "Assert failed");
614 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 121);
617 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
618 /* ./metamodel//partial_order.nit:122 */
619 if (UNTAG_Bool(REGB0
)) {
621 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
622 if (UNTAG_Bool(REGB1
)) {
623 REGB1
= TAG_Bool(false);
626 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
630 if (UNTAG_Bool(REGB0
)) {
631 REGB0
= TAG_Bool(true);
633 REGB1
= CALL_partial_order___PartialOrder___has_all(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
636 if (UNTAG_Bool(REGB0
)) {
638 fprintf(stderr
, "Assert failed");
639 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 122);
642 fra
.me
.REG
[3] = CALL_partial_order___PartialOrder___select_smallests(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
643 fra
.me
.REG
[3] = CALL_partial_order___PartialOrder___new_poe(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[3]);
644 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
645 /* ./metamodel//partial_order.nit:125 */
646 if (UNTAG_Bool(REGB0
)) {
648 fprintf(stderr
, "Uninitialized attribute %s", "_elements");
649 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 125);
652 fra
.me
.REG
[4] = ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
653 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1], fra
.me
.REG
[3]);
654 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrder____elements_list(fra
.me
.REG
[0])!=NIT_NULL
);
655 /* ./metamodel//partial_order.nit:126 */
656 if (UNTAG_Bool(REGB0
)) {
658 fprintf(stderr
, "Uninitialized attribute %s", "_elements_list");
659 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 126);
662 fra
.me
.REG
[4] = ATTR_partial_order___PartialOrder____elements_list(fra
.me
.REG
[0]);
663 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[1]);
664 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
665 /* ./metamodel//partial_order.nit:127 */
666 if (UNTAG_Bool(REGB0
)) {
668 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
669 if (UNTAG_Bool(REGB1
)) {
670 REGB1
= TAG_Bool(false);
673 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
677 if (UNTAG_Bool(REGB0
)) {
678 REGB0
= TAG_Bool(true);
680 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
681 if (UNTAG_Bool(REGB1
)) {
682 fprintf(stderr
, "Reciever is null");
683 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 127);
686 REGB1
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
689 if (UNTAG_Bool(REGB0
)) {
690 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrder____roots(fra
.me
.REG
[0])!=NIT_NULL
);
691 /* ./metamodel//partial_order.nit:128 */
692 if (UNTAG_Bool(REGB0
)) {
694 fprintf(stderr
, "Uninitialized attribute %s", "_roots");
695 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 128);
698 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrder____roots(fra
.me
.REG
[0]);
699 array___Array___add(fra
.me
.REG
[0], fra
.me
.REG
[1]);
701 /* ./metamodel//partial_order.nit:130 */
704 stack_frame_head
= fra
.me
.prev
;
705 return fra
.me
.REG
[3];
707 val_t
partial_order___PartialOrder___has_all(val_t p0
, val_t p1
){
708 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
712 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
713 fra
.me
.file
= LOCATE_partial_order
;
715 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___has_all
;
716 fra
.me
.has_broke
= 0;
718 fra
.me
.REG
[0] = NIT_NULL
;
719 fra
.me
.REG
[1] = NIT_NULL
;
720 fra
.me
.REG
[2] = NIT_NULL
;
723 fra
.me
.REG
[1] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
724 /* ./metamodel//partial_order.nit:136 */
726 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
727 if (UNTAG_Bool(REGB0
)) {
728 fra
.me
.REG
[2] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
729 REGB0
= CALL_abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
730 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
731 /* ./metamodel//partial_order.nit:137 */
732 if (UNTAG_Bool(REGB0
)) {
733 REGB0
= TAG_Bool(false);
734 /* ./metamodel//partial_order.nit:138 */
738 /* ./metamodel//partial_order.nit:136 */
741 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
744 REGB1
= TAG_Bool(true);
746 /* ./metamodel//partial_order.nit:141 */
749 stack_frame_head
= fra
.me
.prev
;
752 val_t
partial_order___PartialOrder___new_poe(val_t p0
, val_t p1
, val_t p2
){
753 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
755 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
756 fra
.me
.file
= LOCATE_partial_order
;
758 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___new_poe
;
759 fra
.me
.has_broke
= 0;
761 fra
.me
.REG
[0] = NIT_NULL
;
762 fra
.me
.REG
[1] = NIT_NULL
;
763 fra
.me
.REG
[2] = NIT_NULL
;
767 fra
.me
.REG
[2] = NEW_PartialOrderElement_partial_order___PartialOrderElement___init(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
768 /* ./metamodel//partial_order.nit:147 */
771 stack_frame_head
= fra
.me
.prev
;
772 return fra
.me
.REG
[2];
774 val_t
partial_order___PartialOrder___add_to_smallests(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
775 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
779 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
780 fra
.me
.file
= LOCATE_partial_order
;
782 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___add_to_smallests
;
783 fra
.me
.has_broke
= 0;
785 fra
.me
.REG
[0] = NIT_NULL
;
786 fra
.me
.REG
[1] = NIT_NULL
;
787 fra
.me
.REG
[2] = NIT_NULL
;
788 fra
.me
.REG
[3] = NIT_NULL
;
789 fra
.me
.REG
[4] = NIT_NULL
;
794 /* ./metamodel//partial_order.nit:157 */
795 CALL_abstract_collection___RemovableCollection___clear(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
796 fra
.me
.REG
[0] = CALL_partial_order___PartialOrder_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
797 fra
.me
.REG
[2] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
798 /* ./metamodel//partial_order.nit:159 */
800 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
801 if (UNTAG_Bool(REGB0
)) {
802 fra
.me
.REG
[4] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
803 REGB0
= CALL_partial_order___PartialOrderElement_____g(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
804 /* ./metamodel//partial_order.nit:160 */
805 if (UNTAG_Bool(REGB0
)) {
806 REGB0
= TAG_Bool(false);
807 /* ./metamodel//partial_order.nit:161 */
810 REGB1
= CALL_partial_order___PartialOrderElement_____l(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
811 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
812 /* ./metamodel//partial_order.nit:163 */
813 if (UNTAG_Bool(REGB1
)) {
814 /* ./metamodel//partial_order.nit:164 */
815 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
818 /* ./metamodel//partial_order.nit:159 */
821 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
824 /* ./metamodel//partial_order.nit:167 */
825 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[1]);
826 REGB1
= TAG_Bool(true);
828 /* ./metamodel//partial_order.nit:168 */
831 stack_frame_head
= fra
.me
.prev
;
834 void partial_order___PartialOrder___compute_smallers_for(val_t p0
, val_t p1
, val_t p2
){
835 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
838 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
839 fra
.me
.file
= LOCATE_partial_order
;
841 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___compute_smallers_for
;
842 fra
.me
.has_broke
= 0;
844 fra
.me
.REG
[0] = NIT_NULL
;
845 fra
.me
.REG
[1] = NIT_NULL
;
846 fra
.me
.REG
[2] = NIT_NULL
;
847 fra
.me
.REG
[3] = NIT_NULL
;
851 fra
.me
.REG
[1] = CALL_partial_order___PartialOrderElement___value(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
852 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
853 /* ./metamodel//partial_order.nit:174 */
854 if (UNTAG_Bool(REGB0
)) {
856 fprintf(stderr
, "Uninitialized attribute %s", "_elements");
857 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 174);
860 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
861 fra
.me
.REG
[0] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
863 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
864 if (UNTAG_Bool(REGB0
)) {
865 fra
.me
.REG
[3] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
866 REGB0
= CALL_partial_order___PartialOrderElement_____l(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
867 /* ./metamodel//partial_order.nit:175 */
868 if (UNTAG_Bool(REGB0
)) {
869 fra
.me
.REG
[3] = CALL_partial_order___PartialOrderElement___value(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
870 /* ./metamodel//partial_order.nit:176 */
871 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
874 /* ./metamodel//partial_order.nit:174 */
877 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
880 stack_frame_head
= fra
.me
.prev
;
883 void partial_order___PartialOrder___init(val_t p0
, int* init_table
){
884 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_PartialOrder
].i
;
885 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
887 if (init_table
[itpos0
]) return;
888 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
889 fra
.me
.file
= LOCATE_partial_order
;
891 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___init
;
892 fra
.me
.has_broke
= 0;
894 fra
.me
.REG
[0] = NIT_NULL
;
895 fra
.me
.REG
[1] = NIT_NULL
;
897 fra
.me
.REG
[1] = NEW_HashMap_hash_collection___HashMap___init();
898 /* ./metamodel//partial_order.nit:183 */
899 ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
900 fra
.me
.REG
[1] = NEW_Array_array___Array___init();
901 /* ./metamodel//partial_order.nit:184 */
902 ATTR_partial_order___PartialOrder____elements_list(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
903 fra
.me
.REG
[1] = NEW_Array_array___Array___init();
904 /* ./metamodel//partial_order.nit:185 */
905 ATTR_partial_order___PartialOrder____roots(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
906 stack_frame_head
= fra
.me
.prev
;
907 init_table
[itpos0
] = 1;
910 val_t
partial_order___PartialOrderElement___order(val_t p0
){
911 struct {struct stack_frame_t me
;} fra
;
914 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
915 fra
.me
.file
= LOCATE_partial_order
;
917 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement___order
;
918 fra
.me
.has_broke
= 0;
920 fra
.me
.REG
[0] = NIT_NULL
;
922 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
923 /* ./metamodel//partial_order.nit:190 */
924 if (UNTAG_Bool(REGB0
)) {
926 fprintf(stderr
, "Uninitialized attribute %s", "_order");
927 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 190);
930 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
931 stack_frame_head
= fra
.me
.prev
;
932 return fra
.me
.REG
[0];
934 val_t
partial_order___PartialOrderElement___value(val_t p0
){
935 struct {struct stack_frame_t me
;} fra
;
937 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
938 fra
.me
.file
= LOCATE_partial_order
;
940 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement___value
;
941 fra
.me
.has_broke
= 0;
943 fra
.me
.REG
[0] = NIT_NULL
;
945 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrderElement____value(fra
.me
.REG
[0]);
946 /* ./metamodel//partial_order.nit:193 */
947 stack_frame_head
= fra
.me
.prev
;
948 return fra
.me
.REG
[0];
950 val_t
partial_order___PartialOrderElement___rank(val_t p0
){
951 struct {struct stack_frame_t me
;} fra
;
954 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
955 fra
.me
.file
= LOCATE_partial_order
;
957 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement___rank
;
958 fra
.me
.has_broke
= 0;
960 fra
.me
.REG
[0] = NIT_NULL
;
962 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrderElement____rank(fra
.me
.REG
[0])!=NIT_NULL
);
963 /* ./metamodel//partial_order.nit:196 */
964 if (UNTAG_Bool(REGB0
)) {
966 fprintf(stderr
, "Uninitialized attribute %s", "_rank");
967 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 196);
970 REGB0
= ATTR_partial_order___PartialOrderElement____rank(fra
.me
.REG
[0]);
971 stack_frame_head
= fra
.me
.prev
;
974 val_t
partial_order___PartialOrderElement___direct_greaters(val_t p0
){
975 struct {struct stack_frame_t me
;} fra
;
978 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
979 fra
.me
.file
= LOCATE_partial_order
;
981 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement___direct_greaters
;
982 fra
.me
.has_broke
= 0;
984 fra
.me
.REG
[0] = NIT_NULL
;
986 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrderElement____direct_greaters(fra
.me
.REG
[0])!=NIT_NULL
);
987 /* ./metamodel//partial_order.nit:202 */
988 if (UNTAG_Bool(REGB0
)) {
990 fprintf(stderr
, "Uninitialized attribute %s", "_direct_greaters");
991 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 202);
994 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrderElement____direct_greaters(fra
.me
.REG
[0]);
995 stack_frame_head
= fra
.me
.prev
;
996 return fra
.me
.REG
[0];
998 val_t
partial_order___PartialOrderElement___direct_smallers(val_t p0
){
999 struct {struct stack_frame_t me
;} fra
;
1002 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1003 fra
.me
.file
= LOCATE_partial_order
;
1005 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement___direct_smallers
;
1006 fra
.me
.has_broke
= 0;
1007 fra
.me
.REG_size
= 1;
1008 fra
.me
.REG
[0] = NIT_NULL
;
1010 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrderElement____direct_smallers(fra
.me
.REG
[0])!=NIT_NULL
);
1011 /* ./metamodel//partial_order.nit:205 */
1012 if (UNTAG_Bool(REGB0
)) {
1014 fprintf(stderr
, "Uninitialized attribute %s", "_direct_smallers");
1015 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 205);
1018 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrderElement____direct_smallers(fra
.me
.REG
[0]);
1019 stack_frame_head
= fra
.me
.prev
;
1020 return fra
.me
.REG
[0];
1022 val_t
partial_order___PartialOrderElement___greaters(val_t p0
){
1023 struct {struct stack_frame_t me
;} fra
;
1026 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1027 fra
.me
.file
= LOCATE_partial_order
;
1029 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement___greaters
;
1030 fra
.me
.has_broke
= 0;
1031 fra
.me
.REG_size
= 1;
1032 fra
.me
.REG
[0] = NIT_NULL
;
1034 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0])!=NIT_NULL
);
1035 /* ./metamodel//partial_order.nit:208 */
1036 if (UNTAG_Bool(REGB0
)) {
1038 fprintf(stderr
, "Uninitialized attribute %s", "_greaters");
1039 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 208);
1042 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0]);
1043 stack_frame_head
= fra
.me
.prev
;
1044 return fra
.me
.REG
[0];
1046 val_t
partial_order___PartialOrderElement___greaters_and_self(val_t p0
){
1047 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1051 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1052 fra
.me
.file
= LOCATE_partial_order
;
1054 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement___greaters_and_self
;
1055 fra
.me
.has_broke
= 0;
1056 fra
.me
.REG_size
= 3;
1057 fra
.me
.REG
[0] = NIT_NULL
;
1058 fra
.me
.REG
[1] = NIT_NULL
;
1059 fra
.me
.REG
[2] = NIT_NULL
;
1061 fra
.me
.REG
[1] = ATTR_partial_order___PartialOrderElement____greaters_and_self_cache(fra
.me
.REG
[0]);
1062 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1063 /* ./metamodel//partial_order.nit:217 */
1064 if (UNTAG_Bool(REGB0
)) {
1066 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1067 if (UNTAG_Bool(REGB1
)) {
1068 REGB1
= TAG_Bool(false);
1071 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
1075 if (UNTAG_Bool(REGB0
)) {
1076 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0])!=NIT_NULL
);
1077 /* ./metamodel//partial_order.nit:218 */
1078 if (UNTAG_Bool(REGB0
)) {
1080 fprintf(stderr
, "Uninitialized attribute %s", "_greaters");
1081 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 218);
1084 fra
.me
.REG
[1] = ATTR_partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0]);
1085 fra
.me
.REG
[1] = CALL_array___Collection___to_a(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1086 ATTR_partial_order___PartialOrderElement____greaters_and_self_cache(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1087 fra
.me
.REG
[1] = ATTR_partial_order___PartialOrderElement____greaters_and_self_cache(fra
.me
.REG
[0]);
1088 fra
.me
.REG
[2] = ATTR_partial_order___PartialOrderElement____value(fra
.me
.REG
[0]);
1089 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1090 /* ./metamodel//partial_order.nit:219 */
1091 if (UNTAG_Bool(REGB0
)) {
1092 fprintf(stderr
, "Reciever is null");
1093 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 219);
1096 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1098 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrderElement____greaters_and_self_cache(fra
.me
.REG
[0]);
1099 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
1100 /* ./metamodel//partial_order.nit:221 */
1101 if (UNTAG_Bool(REGB0
)) {
1103 fprintf(stderr
, "Cast failed");
1104 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 221);
1109 stack_frame_head
= fra
.me
.prev
;
1110 return fra
.me
.REG
[0];
1112 val_t
partial_order___PartialOrderElement___smallers(val_t p0
){
1113 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1117 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1118 fra
.me
.file
= LOCATE_partial_order
;
1120 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement___smallers
;
1121 fra
.me
.has_broke
= 0;
1122 fra
.me
.REG_size
= 3;
1123 fra
.me
.REG
[0] = NIT_NULL
;
1124 fra
.me
.REG
[1] = NIT_NULL
;
1125 fra
.me
.REG
[2] = NIT_NULL
;
1127 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrderElement____smallers_last_length(fra
.me
.REG
[0])!=NIT_NULL
);
1128 /* ./metamodel//partial_order.nit:233 */
1129 if (UNTAG_Bool(REGB0
)) {
1131 fprintf(stderr
, "Uninitialized attribute %s", "_smallers_last_length");
1132 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 233);
1135 REGB0
= ATTR_partial_order___PartialOrderElement____smallers_last_length(fra
.me
.REG
[0]);
1136 REGB1
= TAG_Bool(ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1137 if (UNTAG_Bool(REGB1
)) {
1139 fprintf(stderr
, "Uninitialized attribute %s", "_order");
1140 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 233);
1143 fra
.me
.REG
[1] = ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1144 REGB1
= CALL_abstract_collection___Collection___length(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1145 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1146 /* ./metamodel//partial_order.nit:233 */
1147 if (UNTAG_Bool(REGB1
)) {
1148 REGB1
= TAG_Bool(ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1149 /* ./metamodel//partial_order.nit:234 */
1150 if (UNTAG_Bool(REGB1
)) {
1152 fprintf(stderr
, "Uninitialized attribute %s", "_order");
1153 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 234);
1156 fra
.me
.REG
[1] = ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1157 REGB1
= TAG_Bool(ATTR_partial_order___PartialOrderElement____smallers_cache(fra
.me
.REG
[0])!=NIT_NULL
);
1158 if (UNTAG_Bool(REGB1
)) {
1160 fprintf(stderr
, "Uninitialized attribute %s", "_smallers_cache");
1161 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 234);
1164 fra
.me
.REG
[2] = ATTR_partial_order___PartialOrderElement____smallers_cache(fra
.me
.REG
[0]);
1165 CALL_partial_order___PartialOrder___compute_smallers_for(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
1166 REGB1
= TAG_Bool(ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1167 /* ./metamodel//partial_order.nit:235 */
1168 if (UNTAG_Bool(REGB1
)) {
1170 fprintf(stderr
, "Uninitialized attribute %s", "_order");
1171 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 235);
1174 fra
.me
.REG
[2] = ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1175 REGB1
= CALL_abstract_collection___Collection___length(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1176 ATTR_partial_order___PartialOrderElement____smallers_last_length(fra
.me
.REG
[0]) = REGB1
;
1178 REGB1
= TAG_Bool(ATTR_partial_order___PartialOrderElement____smallers_cache(fra
.me
.REG
[0])!=NIT_NULL
);
1179 /* ./metamodel//partial_order.nit:237 */
1180 if (UNTAG_Bool(REGB1
)) {
1182 fprintf(stderr
, "Uninitialized attribute %s", "_smallers_cache");
1183 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 237);
1186 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrderElement____smallers_cache(fra
.me
.REG
[0]);
1189 stack_frame_head
= fra
.me
.prev
;
1190 return fra
.me
.REG
[0];
1192 val_t
partial_order___PartialOrderElement___linear_extension(val_t p0
){
1193 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1197 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1198 fra
.me
.file
= LOCATE_partial_order
;
1200 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement___linear_extension
;
1201 fra
.me
.has_broke
= 0;
1202 fra
.me
.REG_size
= 7;
1203 fra
.me
.REG
[0] = NIT_NULL
;
1204 fra
.me
.REG
[1] = NIT_NULL
;
1205 fra
.me
.REG
[2] = NIT_NULL
;
1206 fra
.me
.REG
[3] = NIT_NULL
;
1207 fra
.me
.REG
[4] = NIT_NULL
;
1208 fra
.me
.REG
[5] = NIT_NULL
;
1209 fra
.me
.REG
[6] = NIT_NULL
;
1211 fra
.me
.REG
[1] = ATTR_partial_order___PartialOrderElement____linear_extension_cache(fra
.me
.REG
[0]);
1212 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1213 /* ./metamodel//partial_order.nit:247 */
1214 if (UNTAG_Bool(REGB0
)) {
1216 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1217 if (UNTAG_Bool(REGB1
)) {
1218 REGB1
= TAG_Bool(false);
1221 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
1225 if (UNTAG_Bool(REGB0
)) {
1226 fra
.me
.REG
[1] = NEW_Array_array___Array___init();
1227 fra
.me
.REG
[2] = NEW_Array_array___Array___init();
1228 fra
.me
.REG
[3] = CALL_partial_order___PartialOrderElement___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1229 /* ./metamodel//partial_order.nit:250 */
1230 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1231 fra
.me
.REG
[3] = CALL_partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1232 fra
.me
.REG
[3] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1233 /* ./metamodel//partial_order.nit:251 */
1235 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1236 if (UNTAG_Bool(REGB0
)) {
1237 fra
.me
.REG
[4] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1238 fra
.me
.REG
[5] = CALL_partial_order___PartialOrderElement___order(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1239 fra
.me
.REG
[4] = CALL_partial_order___PartialOrder_____bra(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
1240 fra
.me
.REG
[4] = CALL_partial_order___PartialOrderElement___linear_extension(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1241 /* ./metamodel//partial_order.nit:253 */
1242 CALL_abstract_collection___RemovableCollection___clear(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1243 fra
.me
.REG
[5] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1244 /* ./metamodel//partial_order.nit:254 */
1246 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1247 if (UNTAG_Bool(REGB0
)) {
1248 fra
.me
.REG
[6] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1249 REGB0
= CALL_abstract_collection___Collection___has(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
1250 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1251 /* ./metamodel//partial_order.nit:255 */
1252 if (UNTAG_Bool(REGB0
)) {
1253 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[6]);
1256 /* ./metamodel//partial_order.nit:254 */
1259 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1262 /* ./metamodel//partial_order.nit:257 */
1263 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1264 fra
.me
.REG
[4] = fra
.me
.REG
[1];
1265 fra
.me
.REG
[1] = fra
.me
.REG
[2];
1266 fra
.me
.REG
[2] = fra
.me
.REG
[4];
1267 /* ./metamodel//partial_order.nit:261 */
1269 /* ./metamodel//partial_order.nit:251 */
1272 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1275 /* ./metamodel//partial_order.nit:263 */
1276 ATTR_partial_order___PartialOrderElement____linear_extension_cache(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1278 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrderElement____linear_extension_cache(fra
.me
.REG
[0]);
1279 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
1280 /* ./metamodel//partial_order.nit:265 */
1281 if (UNTAG_Bool(REGB0
)) {
1283 fprintf(stderr
, "Cast failed");
1284 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 265);
1289 stack_frame_head
= fra
.me
.prev
;
1290 return fra
.me
.REG
[0];
1292 val_t
partial_order___PartialOrderElement___reverse_linear_extension(val_t p0
){
1293 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1297 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1298 fra
.me
.file
= LOCATE_partial_order
;
1300 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement___reverse_linear_extension
;
1301 fra
.me
.has_broke
= 0;
1302 fra
.me
.REG_size
= 5;
1303 fra
.me
.REG
[0] = NIT_NULL
;
1304 fra
.me
.REG
[1] = NIT_NULL
;
1305 fra
.me
.REG
[2] = NIT_NULL
;
1306 fra
.me
.REG
[3] = NIT_NULL
;
1307 fra
.me
.REG
[4] = NIT_NULL
;
1309 fra
.me
.REG
[1] = ATTR_partial_order___PartialOrderElement____reverse_linear_extension_cache(fra
.me
.REG
[0]);
1310 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1311 /* ./metamodel//partial_order.nit:275 */
1312 if (UNTAG_Bool(REGB0
)) {
1314 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1315 if (UNTAG_Bool(REGB1
)) {
1316 REGB1
= TAG_Bool(false);
1319 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
1323 if (UNTAG_Bool(REGB0
)) {
1324 fra
.me
.REG
[1] = NEW_HashSet_hash_collection___HashSet___init();
1325 fra
.me
.REG
[2] = CALL_partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1326 fra
.me
.REG
[2] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1327 /* ./metamodel//partial_order.nit:277 */
1329 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1330 if (UNTAG_Bool(REGB0
)) {
1331 fra
.me
.REG
[3] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1332 fra
.me
.REG
[4] = CALL_partial_order___PartialOrderElement___order(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1333 fra
.me
.REG
[3] = CALL_partial_order___PartialOrder_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1334 fra
.me
.REG
[3] = CALL_partial_order___PartialOrderElement___linear_extension(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1335 /* ./metamodel//partial_order.nit:279 */
1336 CALL_abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1338 /* ./metamodel//partial_order.nit:277 */
1341 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1344 fra
.me
.REG
[2] = CALL_partial_order___PartialOrderElement___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1345 /* ./metamodel//partial_order.nit:281 */
1346 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1347 fra
.me
.REG
[1] = CALL_array___Collection___to_a(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1348 /* ./metamodel//partial_order.nit:282 */
1349 ATTR_partial_order___PartialOrderElement____linear_extension_cache(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1351 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrderElement____linear_extension_cache(fra
.me
.REG
[0]);
1352 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
1353 /* ./metamodel//partial_order.nit:284 */
1354 if (UNTAG_Bool(REGB0
)) {
1356 fprintf(stderr
, "Cast failed");
1357 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 284);
1362 stack_frame_head
= fra
.me
.prev
;
1363 return fra
.me
.REG
[0];
1365 val_t
partial_order___PartialOrderElement_____l(val_t p0
, val_t p1
){
1366 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1369 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1370 fra
.me
.file
= LOCATE_partial_order
;
1372 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement_____l
;
1373 fra
.me
.has_broke
= 0;
1374 fra
.me
.REG_size
= 2;
1375 fra
.me
.REG
[0] = NIT_NULL
;
1376 fra
.me
.REG
[1] = NIT_NULL
;
1379 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0])!=NIT_NULL
);
1380 /* ./metamodel//partial_order.nit:290 */
1381 if (UNTAG_Bool(REGB0
)) {
1383 fprintf(stderr
, "Uninitialized attribute %s", "_greaters");
1384 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 290);
1387 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0]);
1388 REGB0
= CALL_abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1391 stack_frame_head
= fra
.me
.prev
;
1394 val_t
partial_order___PartialOrderElement_____leq(val_t p0
, val_t p1
){
1395 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1399 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1400 fra
.me
.file
= LOCATE_partial_order
;
1402 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement_____leq
;
1403 fra
.me
.has_broke
= 0;
1404 fra
.me
.REG_size
= 3;
1405 fra
.me
.REG
[0] = NIT_NULL
;
1406 fra
.me
.REG
[1] = NIT_NULL
;
1407 fra
.me
.REG
[2] = NIT_NULL
;
1410 fra
.me
.REG
[2] = ATTR_partial_order___PartialOrderElement____value(fra
.me
.REG
[0]);
1411 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[1]));
1412 /* ./metamodel//partial_order.nit:296 */
1413 if (UNTAG_Bool(REGB0
)) {
1415 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1416 if (UNTAG_Bool(REGB1
)) {
1417 REGB1
= TAG_Bool(false);
1420 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1424 if (UNTAG_Bool(REGB0
)) {
1425 REGB0
= TAG_Bool(true);
1427 REGB1
= TAG_Bool(ATTR_partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0])!=NIT_NULL
);
1428 if (UNTAG_Bool(REGB1
)) {
1430 fprintf(stderr
, "Uninitialized attribute %s", "_greaters");
1431 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 296);
1434 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0]);
1435 REGB1
= CALL_abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1440 stack_frame_head
= fra
.me
.prev
;
1443 val_t
partial_order___PartialOrderElement_____g(val_t p0
, val_t p1
){
1444 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1447 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1448 fra
.me
.file
= LOCATE_partial_order
;
1450 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement_____g
;
1451 fra
.me
.has_broke
= 0;
1452 fra
.me
.REG_size
= 3;
1453 fra
.me
.REG
[0] = NIT_NULL
;
1454 fra
.me
.REG
[1] = NIT_NULL
;
1455 fra
.me
.REG
[2] = NIT_NULL
;
1458 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1459 /* ./metamodel//partial_order.nit:302 */
1460 if (UNTAG_Bool(REGB0
)) {
1462 fprintf(stderr
, "Uninitialized attribute %s", "_order");
1463 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 302);
1466 fra
.me
.REG
[2] = ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1467 fra
.me
.REG
[1] = CALL_partial_order___PartialOrder_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1468 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrderElement____value(fra
.me
.REG
[0]);
1469 REGB0
= CALL_partial_order___PartialOrderElement_____l(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1472 stack_frame_head
= fra
.me
.prev
;
1475 val_t
partial_order___PartialOrderElement_____geq(val_t p0
, val_t p1
){
1476 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1480 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1481 fra
.me
.file
= LOCATE_partial_order
;
1483 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement_____geq
;
1484 fra
.me
.has_broke
= 0;
1485 fra
.me
.REG_size
= 3;
1486 fra
.me
.REG
[0] = NIT_NULL
;
1487 fra
.me
.REG
[1] = NIT_NULL
;
1488 fra
.me
.REG
[2] = NIT_NULL
;
1491 fra
.me
.REG
[2] = ATTR_partial_order___PartialOrderElement____value(fra
.me
.REG
[0]);
1492 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[1]));
1493 /* ./metamodel//partial_order.nit:308 */
1494 if (UNTAG_Bool(REGB0
)) {
1496 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1497 if (UNTAG_Bool(REGB1
)) {
1498 REGB1
= TAG_Bool(false);
1501 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1505 if (UNTAG_Bool(REGB0
)) {
1506 REGB0
= TAG_Bool(true);
1508 REGB1
= TAG_Bool(ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1509 if (UNTAG_Bool(REGB1
)) {
1511 fprintf(stderr
, "Uninitialized attribute %s", "_order");
1512 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 308);
1515 fra
.me
.REG
[2] = ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1516 fra
.me
.REG
[1] = CALL_partial_order___PartialOrder_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1517 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrderElement____value(fra
.me
.REG
[0]);
1518 REGB1
= CALL_partial_order___PartialOrderElement_____l(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1523 stack_frame_head
= fra
.me
.prev
;
1526 void partial_order___PartialOrderElement___register_direct_smallers(val_t p0
, val_t p1
){
1527 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1530 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1531 fra
.me
.file
= LOCATE_partial_order
;
1533 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement___register_direct_smallers
;
1534 fra
.me
.has_broke
= 0;
1535 fra
.me
.REG_size
= 2;
1536 fra
.me
.REG
[0] = NIT_NULL
;
1537 fra
.me
.REG
[1] = NIT_NULL
;
1540 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrderElement____direct_smallers(fra
.me
.REG
[0])!=NIT_NULL
);
1541 /* ./metamodel//partial_order.nit:313 */
1542 if (UNTAG_Bool(REGB0
)) {
1544 fprintf(stderr
, "Uninitialized attribute %s", "_direct_smallers");
1545 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 313);
1548 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrderElement____direct_smallers(fra
.me
.REG
[0]);
1549 array___Array___add(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1550 stack_frame_head
= fra
.me
.prev
;
1553 void partial_order___PartialOrderElement___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
1554 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_PartialOrderElement
].i
;
1555 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
1560 if (init_table
[itpos1
]) return;
1561 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1562 fra
.me
.file
= LOCATE_partial_order
;
1564 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement___init
;
1565 fra
.me
.has_broke
= 0;
1566 fra
.me
.REG_size
= 6;
1567 fra
.me
.REG
[0] = NIT_NULL
;
1568 fra
.me
.REG
[1] = NIT_NULL
;
1569 fra
.me
.REG
[2] = NIT_NULL
;
1570 fra
.me
.REG
[3] = NIT_NULL
;
1571 fra
.me
.REG
[4] = NIT_NULL
;
1572 fra
.me
.REG
[5] = NIT_NULL
;
1577 /* ./metamodel//partial_order.nit:318 */
1578 ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1579 /* ./metamodel//partial_order.nit:319 */
1580 ATTR_partial_order___PartialOrderElement____value(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
1581 /* ./metamodel//partial_order.nit:320 */
1582 ATTR_partial_order___PartialOrderElement____direct_greaters(fra
.me
.REG
[0]) = fra
.me
.REG
[3];
1583 fra
.me
.REG
[1] = NEW_Array_array___Array___init();
1584 /* ./metamodel//partial_order.nit:321 */
1585 ATTR_partial_order___PartialOrderElement____direct_smallers(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1586 fra
.me
.REG
[1] = NEW_HashSet_hash_collection___HashSet___init();
1587 /* ./metamodel//partial_order.nit:323 */
1588 ATTR_partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1589 fra
.me
.REG
[1] = NEW_HashSet_hash_collection___HashSet___init();
1590 /* ./metamodel//partial_order.nit:324 */
1591 ATTR_partial_order___PartialOrderElement____smallers_cache(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1592 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0])!=NIT_NULL
);
1593 /* ./metamodel//partial_order.nit:326 */
1594 if (UNTAG_Bool(REGB0
)) {
1596 fprintf(stderr
, "Uninitialized attribute %s", "_greaters");
1597 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 326);
1600 fra
.me
.REG
[1] = ATTR_partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0]);
1602 fra
.me
.REG
[3] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1603 /* ./metamodel//partial_order.nit:328 */
1605 REGB1
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1606 if (UNTAG_Bool(REGB1
)) {
1607 fra
.me
.REG
[4] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1608 /* ./metamodel//partial_order.nit:329 */
1609 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
1610 REGB1
= TAG_Bool(ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1611 /* ./metamodel//partial_order.nit:330 */
1612 if (UNTAG_Bool(REGB1
)) {
1614 fprintf(stderr
, "Uninitialized attribute %s", "_order");
1615 fprintf(stderr
, " (%s:%d)\n", LOCATE_partial_order
, 330);
1618 fra
.me
.REG
[5] = ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1619 fra
.me
.REG
[4] = CALL_partial_order___PartialOrder_____bra(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
1620 REGB1
= CALL_partial_order___PartialOrderElement___rank(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1621 REGB1
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
1622 /* ./metamodel//partial_order.nit:331 */
1623 if (UNTAG_Bool(REGB1
)) {
1624 REGB1
= CALL_partial_order___PartialOrderElement___rank(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1626 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
1628 /* ./metamodel//partial_order.nit:332 */
1630 /* ./metamodel//partial_order.nit:334 */
1631 CALL_partial_order___PartialOrderElement___register_direct_smallers(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
1632 fra
.me
.REG
[4] = CALL_partial_order___PartialOrderElement___greaters(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1633 fra
.me
.REG
[4] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1634 /* ./metamodel//partial_order.nit:335 */
1636 REGB2
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1637 if (UNTAG_Bool(REGB2
)) {
1638 fra
.me
.REG
[5] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1639 /* ./metamodel//partial_order.nit:336 */
1640 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
1642 /* ./metamodel//partial_order.nit:335 */
1645 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1649 /* ./metamodel//partial_order.nit:328 */
1652 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1655 /* ./metamodel//partial_order.nit:339 */
1656 ATTR_partial_order___PartialOrderElement____rank(fra
.me
.REG
[0]) = REGB0
;
1657 stack_frame_head
= fra
.me
.prev
;
1658 init_table
[itpos1
] = 1;