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___roots(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___roots
;
13 fra
.me
.REG
[0] = NIT_NULL
;
15 /* ./metamodel//partial_order.nit:30 */
16 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrder____roots(fra
.me
.REG
[0])!=NIT_NULL
);
17 if (UNTAG_Bool(REGB0
)) {
19 nit_abort("Uninitialized attribute %s", "_roots", LOCATE_partial_order
, 30);
21 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrder____roots(fra
.me
.REG
[0]);
22 stack_frame_head
= fra
.me
.prev
;
25 val_t
partial_order___PartialOrder___is_empty(val_t p0
){
26 struct {struct stack_frame_t me
;} fra
;
29 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
30 fra
.me
.file
= LOCATE_partial_order
;
32 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___is_empty
;
35 fra
.me
.REG
[0] = NIT_NULL
;
37 /* ./metamodel//partial_order.nit:35 */
38 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
39 if (UNTAG_Bool(REGB0
)) {
41 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_partial_order
, 35);
43 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
44 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
47 stack_frame_head
= fra
.me
.prev
;
50 val_t
partial_order___PartialOrder___length(val_t p0
){
51 struct {struct stack_frame_t me
;} fra
;
54 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
55 fra
.me
.file
= LOCATE_partial_order
;
57 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___length
;
60 fra
.me
.REG
[0] = NIT_NULL
;
62 /* ./metamodel//partial_order.nit:37 */
63 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
64 if (UNTAG_Bool(REGB0
)) {
66 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_partial_order
, 37);
68 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
69 REGB0
= CALL_abstract_collection___Collection___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
72 stack_frame_head
= fra
.me
.prev
;
75 val_t
partial_order___PartialOrder___first(val_t p0
){
76 struct {struct stack_frame_t me
;} fra
;
79 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
80 fra
.me
.file
= LOCATE_partial_order
;
82 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___first
;
85 fra
.me
.REG
[0] = NIT_NULL
;
87 /* ./metamodel//partial_order.nit:39 */
88 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrder____elements_list(fra
.me
.REG
[0])!=NIT_NULL
);
89 if (UNTAG_Bool(REGB0
)) {
91 nit_abort("Uninitialized attribute %s", "_elements_list", LOCATE_partial_order
, 39);
93 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrder____elements_list(fra
.me
.REG
[0]);
94 fra
.me
.REG
[0] = CALL_abstract_collection___Collection___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
97 stack_frame_head
= fra
.me
.prev
;
100 val_t
partial_order___PartialOrder___has(val_t p0
, val_t p1
){
101 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
104 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
105 fra
.me
.file
= LOCATE_partial_order
;
107 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___has
;
108 fra
.me
.has_broke
= 0;
110 fra
.me
.REG
[0] = NIT_NULL
;
111 fra
.me
.REG
[1] = NIT_NULL
;
114 /* ./metamodel//partial_order.nit:41 */
115 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
116 if (UNTAG_Bool(REGB0
)) {
118 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_partial_order
, 41);
120 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
121 REGB0
= CALL_abstract_collection___MapRead___has_key(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
124 stack_frame_head
= fra
.me
.prev
;
127 val_t
partial_order___PartialOrder___has_only(val_t p0
, val_t p1
){
128 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
133 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
134 fra
.me
.file
= LOCATE_partial_order
;
136 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___has_only
;
137 fra
.me
.has_broke
= 0;
139 fra
.me
.REG
[0] = NIT_NULL
;
140 fra
.me
.REG
[1] = NIT_NULL
;
141 fra
.me
.REG
[2] = NIT_NULL
;
144 /* ./metamodel//partial_order.nit:43 */
145 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
146 if (UNTAG_Bool(REGB0
)) {
148 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_partial_order
, 43);
150 fra
.me
.REG
[2] = ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
151 REGB0
= CALL_abstract_collection___Collection___length(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
153 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
154 if (UNTAG_Bool(REGB2
)) {
156 /* ./../lib/standard//kernel.nit:207 */
157 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
158 /* ./metamodel//partial_order.nit:43 */
161 if (UNTAG_Bool(REGB2
)) {
162 REGB2
= TAG_Bool(ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
163 if (UNTAG_Bool(REGB2
)) {
165 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_partial_order
, 43);
167 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
168 fra
.me
.REG
[0] = CALL_abstract_collection___Collection___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
169 REGB2
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[1],fra
.me
.REG
[0]));
170 if (UNTAG_Bool(REGB2
)) {
172 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
173 if (UNTAG_Bool(REGB1
)) {
174 REGB1
= TAG_Bool(false);
177 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
182 REGB1
= TAG_Bool(false);
187 stack_frame_head
= fra
.me
.prev
;
190 val_t
partial_order___PartialOrder___count(val_t p0
, val_t p1
){
191 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
195 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
196 fra
.me
.file
= LOCATE_partial_order
;
198 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___count
;
199 fra
.me
.has_broke
= 0;
201 fra
.me
.REG
[0] = NIT_NULL
;
202 fra
.me
.REG
[1] = NIT_NULL
;
205 /* ./metamodel//partial_order.nit:47 */
206 REGB0
= CALL_abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
207 if (UNTAG_Bool(REGB0
)) {
208 /* ./metamodel//partial_order.nit:48 */
212 /* ./metamodel//partial_order.nit:50 */
218 stack_frame_head
= fra
.me
.prev
;
221 val_t
partial_order___PartialOrder___iterator(val_t p0
){
222 struct {struct stack_frame_t me
;} fra
;
225 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
226 fra
.me
.file
= LOCATE_partial_order
;
228 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___iterator
;
229 fra
.me
.has_broke
= 0;
231 fra
.me
.REG
[0] = NIT_NULL
;
233 /* ./metamodel//partial_order.nit:54 */
234 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrder____elements_list(fra
.me
.REG
[0])!=NIT_NULL
);
235 if (UNTAG_Bool(REGB0
)) {
237 nit_abort("Uninitialized attribute %s", "_elements_list", LOCATE_partial_order
, 54);
239 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrder____elements_list(fra
.me
.REG
[0]);
240 fra
.me
.REG
[0] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
243 stack_frame_head
= fra
.me
.prev
;
244 return fra
.me
.REG
[0];
246 val_t
partial_order___PartialOrder_____bra(val_t p0
, val_t p1
){
247 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
250 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
251 fra
.me
.file
= LOCATE_partial_order
;
253 fra
.me
.meth
= LOCATE_partial_order___PartialOrder_____bra
;
254 fra
.me
.has_broke
= 0;
256 fra
.me
.REG
[0] = NIT_NULL
;
257 fra
.me
.REG
[1] = NIT_NULL
;
260 /* ./metamodel//partial_order.nit:61 */
261 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
262 if (UNTAG_Bool(REGB0
)) {
264 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_partial_order
, 61);
266 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
267 fra
.me
.REG
[1] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
270 stack_frame_head
= fra
.me
.prev
;
271 return fra
.me
.REG
[1];
273 val_t
partial_order___PartialOrder___to_dot(val_t p0
){
274 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
277 static val_t once_value_3
; /* Once value */
278 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
279 fra
.me
.file
= LOCATE_partial_order
;
281 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___to_dot
;
282 fra
.me
.has_broke
= 0;
284 fra
.me
.REG
[0] = NIT_NULL
;
285 fra
.me
.REG
[1] = NIT_NULL
;
286 fra
.me
.REG
[2] = NIT_NULL
;
288 /* ./metamodel//partial_order.nit:67 */
289 fra
.me
.REG
[1] = NEW_Buffer_string___Buffer___init();
290 /* ./metamodel//partial_order.nit:68 */
291 fra
.me
.REG
[2] = CALL_partial_order___PartialOrder___to_dot_header(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
292 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
293 /* ./metamodel//partial_order.nit:69 */
294 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
295 if (UNTAG_Bool(REGB0
)) {
297 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_partial_order
, 69);
299 fra
.me
.REG
[2] = ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
300 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[2])(fra
.me
.REG
[2], (&(fra
.me
)), ((fun_t
)OC_partial_order___PartialOrder___to_dot_1
));
301 /* ./metamodel//partial_order.nit:75 */
303 fra
.me
.REG
[0] = BOX_NativeString("}\n");
305 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
306 once_value_3
= fra
.me
.REG
[0];
307 register_static_object(&once_value_3
);
308 } else fra
.me
.REG
[0] = once_value_3
;
309 fra
.me
.REG
[0] = fra
.me
.REG
[0];
310 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
311 /* ./metamodel//partial_order.nit:76 */
312 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
315 stack_frame_head
= fra
.me
.prev
;
316 return fra
.me
.REG
[1];
318 void OC_partial_order___PartialOrder___to_dot_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
319 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
324 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
325 fra
.me
.file
= LOCATE_partial_order
;
327 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___to_dot
;
328 fra
.me
.has_broke
= 0;
330 fra
.me
.REG
[0] = NIT_NULL
;
331 fra
.me
.REG
[1] = NIT_NULL
;
332 fra
.me
.REG
[2] = NIT_NULL
;
333 fra
.me
.REG
[3] = NIT_NULL
;
334 fra
.me
.REG
[4] = NIT_NULL
;
335 fra
.me
.closure_ctx
= closctx_param
;
336 fra
.me
.closure_funs
= CREG
;
339 /* ./metamodel//partial_order.nit:70 */
340 fra
.me
.REG
[1] = CALL_partial_order___PartialOrderElement___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
341 fra
.me
.REG
[1] = CALL_partial_order___PartialOrder___to_dot_node(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[1]);
342 CALL_abstract_collection___Sequence___append(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[1]);
343 /* ./metamodel//partial_order.nit:71 */
344 fra
.me
.REG
[1] = CALL_partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
345 /* ./../lib/standard//collection//array.nit:234 */
347 /* ./../lib/standard//collection//array.nit:235 */
348 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
349 if (UNTAG_Bool(REGB1
)) {
351 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
353 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
354 /* ./../lib/standard//collection//array.nit:236 */
355 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[1]);
356 /* ./../lib/standard//collection//array.nit:237 */
358 /* ./../lib/standard//collection//array.nit:23 */
359 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
360 if (UNTAG_Bool(REGB1
)) {
362 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
364 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
365 /* ./../lib/standard//kernel.nit:212 */
366 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
367 /* ./../lib/standard//collection//array.nit:237 */
368 if (UNTAG_Bool(REGB1
)) {
369 /* ./../lib/standard//collection//array.nit:238 */
370 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
371 if (UNTAG_Bool(REGB1
)) {
372 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
374 /* ./../lib/standard//collection//array.nit:654 */
375 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
376 /* ./metamodel//partial_order.nit:72 */
377 fra
.me
.REG
[4] = CALL_partial_order___PartialOrderElement___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
378 fra
.me
.REG
[3] = CALL_partial_order___PartialOrder___to_dot_edge(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[4], fra
.me
.REG
[3]);
379 CALL_abstract_collection___Sequence___append(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[3]);
380 /* ./../lib/standard//collection//array.nit:239 */
382 /* ./../lib/standard//kernel.nit:215 */
383 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
384 /* ./../lib/standard//collection//array.nit:239 */
387 /* ./../lib/standard//collection//array.nit:237 */
392 stack_frame_head
= fra
.me
.prev
;
395 val_t
partial_order___PartialOrder___to_dot_header(val_t p0
){
396 struct {struct stack_frame_t me
;} fra
;
399 static val_t once_value_1
; /* Once value */
400 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
401 fra
.me
.file
= LOCATE_partial_order
;
403 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___to_dot_header
;
404 fra
.me
.has_broke
= 0;
406 fra
.me
.REG
[0] = NIT_NULL
;
408 /* ./metamodel//partial_order.nit:82 */
410 fra
.me
.REG
[0] = BOX_NativeString("digraph G {\ngraph [rankdir=BT];\n");
412 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
413 once_value_1
= fra
.me
.REG
[0];
414 register_static_object(&once_value_1
);
415 } else fra
.me
.REG
[0] = once_value_1
;
416 fra
.me
.REG
[0] = fra
.me
.REG
[0];
419 stack_frame_head
= fra
.me
.prev
;
420 return fra
.me
.REG
[0];
422 val_t
partial_order___PartialOrder___to_dot_node(val_t p0
, val_t p1
){
423 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
426 static val_t once_value_1
; /* Once value */
427 static val_t once_value_2
; /* Once value */
428 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
429 fra
.me
.file
= LOCATE_partial_order
;
431 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___to_dot_node
;
432 fra
.me
.has_broke
= 0;
434 fra
.me
.REG
[0] = NIT_NULL
;
435 fra
.me
.REG
[1] = NIT_NULL
;
436 fra
.me
.REG
[2] = NIT_NULL
;
439 /* ./metamodel//partial_order.nit:88 */
441 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB0
);
443 fra
.me
.REG
[2] = BOX_NativeString("\"");
445 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
446 once_value_1
= fra
.me
.REG
[2];
447 register_static_object(&once_value_1
);
448 } else fra
.me
.REG
[2] = once_value_1
;
449 fra
.me
.REG
[2] = fra
.me
.REG
[2];
450 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
451 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
452 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
454 fra
.me
.REG
[1] = BOX_NativeString("\";\n");
456 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
457 once_value_2
= fra
.me
.REG
[1];
458 register_static_object(&once_value_2
);
459 } else fra
.me
.REG
[1] = once_value_2
;
460 fra
.me
.REG
[1] = fra
.me
.REG
[1];
461 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
462 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
465 stack_frame_head
= fra
.me
.prev
;
466 return fra
.me
.REG
[0];
468 val_t
partial_order___PartialOrder___to_dot_edge(val_t p0
, val_t p1
, val_t p2
){
469 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
472 static val_t once_value_1
; /* Once value */
473 static val_t once_value_2
; /* Once value */
474 static val_t once_value_3
; /* Once value */
475 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
476 fra
.me
.file
= LOCATE_partial_order
;
478 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___to_dot_edge
;
479 fra
.me
.has_broke
= 0;
481 fra
.me
.REG
[0] = NIT_NULL
;
482 fra
.me
.REG
[1] = NIT_NULL
;
483 fra
.me
.REG
[2] = NIT_NULL
;
484 fra
.me
.REG
[3] = NIT_NULL
;
488 /* ./metamodel//partial_order.nit:94 */
490 fra
.me
.REG
[0] = NEW_Array_array___Array___with_capacity(REGB0
);
492 fra
.me
.REG
[3] = BOX_NativeString("\"");
494 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
495 once_value_1
= fra
.me
.REG
[3];
496 register_static_object(&once_value_1
);
497 } else fra
.me
.REG
[3] = once_value_1
;
498 fra
.me
.REG
[3] = fra
.me
.REG
[3];
499 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
500 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
501 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
503 fra
.me
.REG
[1] = BOX_NativeString("\" -> \"");
505 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
506 once_value_2
= fra
.me
.REG
[1];
507 register_static_object(&once_value_2
);
508 } else fra
.me
.REG
[1] = once_value_2
;
509 fra
.me
.REG
[1] = fra
.me
.REG
[1];
510 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
511 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
512 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
514 fra
.me
.REG
[2] = BOX_NativeString("\";\n");
516 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
517 once_value_3
= fra
.me
.REG
[2];
518 register_static_object(&once_value_3
);
519 } else fra
.me
.REG
[2] = once_value_3
;
520 fra
.me
.REG
[2] = fra
.me
.REG
[2];
521 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
522 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
525 stack_frame_head
= fra
.me
.prev
;
526 return fra
.me
.REG
[0];
528 val_t
partial_order___PartialOrder___select_smallests(val_t p0
, val_t p1
){
529 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
533 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
534 fra
.me
.file
= LOCATE_partial_order
;
536 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___select_smallests
;
537 fra
.me
.has_broke
= 0;
539 fra
.me
.REG
[0] = NIT_NULL
;
540 fra
.me
.REG
[1] = NIT_NULL
;
541 fra
.me
.REG
[2] = NIT_NULL
;
542 fra
.me
.REG
[3] = NIT_NULL
;
543 fra
.me
.REG
[4] = NIT_NULL
;
546 /* ./metamodel//partial_order.nit:100 */
547 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
548 if (UNTAG_Bool(REGB0
)) {
550 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
551 if (UNTAG_Bool(REGB1
)) {
552 REGB1
= TAG_Bool(false);
555 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
559 if (UNTAG_Bool(REGB0
)) {
560 fra
.me
.REG
[2] = NEW_Array_array___Array___init();
563 /* ./metamodel//partial_order.nit:101 */
564 REGB0
= CALL_partial_order___PartialOrder___has_all(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
565 if (UNTAG_Bool(REGB0
)) {
567 nit_abort("Assert failed", NULL
, LOCATE_partial_order
, 101);
569 /* ./metamodel//partial_order.nit:102 */
570 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
571 if (UNTAG_Bool(REGB0
)) {
572 nit_abort("Reciever is null", NULL
, LOCATE_partial_order
, 102);
574 REGB0
= CALL_abstract_collection___Collection___length(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
575 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
576 /* ./metamodel//partial_order.nit:103 */
577 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
578 if (UNTAG_Bool(REGB0
)) {
579 nit_abort("Reciever is null", NULL
, LOCATE_partial_order
, 103);
581 REGB0
= CALL_abstract_collection___Collection___length(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
582 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
583 /* ./metamodel//partial_order.nit:104 */
584 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
585 if (UNTAG_Bool(REGB0
)) {
586 nit_abort("Reciever is null", NULL
, LOCATE_partial_order
, 104);
588 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[1])(fra
.me
.REG
[1], (&(fra
.me
)), ((fun_t
)OC_partial_order___PartialOrder___select_smallests_2
));
589 /* ./metamodel//partial_order.nit:115 */
590 fra
.me
.REG
[2] = fra
.me
.REG
[3];
593 stack_frame_head
= fra
.me
.prev
;
594 return fra
.me
.REG
[2];
596 void OC_partial_order___PartialOrder___select_smallests_2(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
597 struct {struct stack_frame_t me
;} fra
;
601 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
602 fra
.me
.file
= LOCATE_partial_order
;
604 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___select_smallests
;
605 fra
.me
.has_broke
= 0;
607 fra
.me
.REG
[0] = NIT_NULL
;
608 fra
.me
.closure_ctx
= closctx_param
;
609 fra
.me
.closure_funs
= CREG
;
612 /* ./metamodel//partial_order.nit:106 */
613 REGB0
= CALL_partial_order___PartialOrder___add_to_smallests(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[0], closctx
->REG
[3], closctx
->REG
[4]);
614 /* ./metamodel//partial_order.nit:107 */
615 if (UNTAG_Bool(REGB0
)) {
616 /* ./metamodel//partial_order.nit:110 */
617 fra
.me
.REG
[0] = closctx
->REG
[4];
618 /* ./metamodel//partial_order.nit:111 */
619 closctx
->REG
[4] = closctx
->REG
[3];
620 /* ./metamodel//partial_order.nit:112 */
621 closctx
->REG
[3] = fra
.me
.REG
[0];
623 stack_frame_head
= fra
.me
.prev
;
626 val_t
partial_order___PartialOrder___add(val_t p0
, val_t p1
, val_t p2
){
627 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
631 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
632 fra
.me
.file
= LOCATE_partial_order
;
634 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___add
;
635 fra
.me
.has_broke
= 0;
637 fra
.me
.REG
[0] = NIT_NULL
;
638 fra
.me
.REG
[1] = NIT_NULL
;
639 fra
.me
.REG
[2] = NIT_NULL
;
640 fra
.me
.REG
[3] = NIT_NULL
;
641 fra
.me
.REG
[4] = NIT_NULL
;
645 /* ./metamodel//partial_order.nit:121 */
646 REGB0
= CALL_abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
647 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
648 if (UNTAG_Bool(REGB0
)) {
650 nit_abort("Assert failed", NULL
, LOCATE_partial_order
, 121);
652 /* ./metamodel//partial_order.nit:122 */
653 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
654 if (UNTAG_Bool(REGB0
)) {
656 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
657 if (UNTAG_Bool(REGB1
)) {
658 REGB1
= TAG_Bool(false);
661 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
665 if (UNTAG_Bool(REGB0
)) {
666 REGB0
= TAG_Bool(true);
668 REGB1
= CALL_partial_order___PartialOrder___has_all(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
671 if (UNTAG_Bool(REGB0
)) {
673 nit_abort("Assert failed", NULL
, LOCATE_partial_order
, 122);
675 /* ./metamodel//partial_order.nit:123 */
676 fra
.me
.REG
[3] = CALL_partial_order___PartialOrder___select_smallests(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
677 /* ./metamodel//partial_order.nit:124 */
678 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]);
679 /* ./metamodel//partial_order.nit:125 */
680 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
681 if (UNTAG_Bool(REGB0
)) {
683 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_partial_order
, 125);
685 fra
.me
.REG
[4] = ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
686 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1], fra
.me
.REG
[3]);
687 /* ./metamodel//partial_order.nit:126 */
688 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrder____elements_list(fra
.me
.REG
[0])!=NIT_NULL
);
689 if (UNTAG_Bool(REGB0
)) {
691 nit_abort("Uninitialized attribute %s", "_elements_list", LOCATE_partial_order
, 126);
693 fra
.me
.REG
[4] = ATTR_partial_order___PartialOrder____elements_list(fra
.me
.REG
[0]);
694 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
695 /* ./metamodel//partial_order.nit:127 */
696 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
697 if (UNTAG_Bool(REGB0
)) {
699 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
700 if (UNTAG_Bool(REGB1
)) {
701 REGB1
= TAG_Bool(false);
704 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
708 if (UNTAG_Bool(REGB0
)) {
709 REGB0
= TAG_Bool(true);
711 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
712 if (UNTAG_Bool(REGB1
)) {
713 nit_abort("Reciever is null", NULL
, LOCATE_partial_order
, 127);
715 REGB1
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
718 if (UNTAG_Bool(REGB0
)) {
719 /* ./metamodel//partial_order.nit:128 */
720 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrder____roots(fra
.me
.REG
[0])!=NIT_NULL
);
721 if (UNTAG_Bool(REGB0
)) {
723 nit_abort("Uninitialized attribute %s", "_roots", LOCATE_partial_order
, 128);
725 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrder____roots(fra
.me
.REG
[0]);
726 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
728 /* ./metamodel//partial_order.nit:130 */
731 stack_frame_head
= fra
.me
.prev
;
732 return fra
.me
.REG
[3];
734 val_t
partial_order___PartialOrder___has_all(val_t p0
, val_t p1
){
735 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
738 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
739 fra
.me
.file
= LOCATE_partial_order
;
741 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___has_all
;
742 fra
.me
.has_broke
= 0;
744 fra
.me
.REG
[0] = NIT_NULL
;
745 fra
.me
.REG
[1] = NIT_NULL
;
748 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[1])(fra
.me
.REG
[1], (&(fra
.me
)), ((fun_t
)OC_partial_order___PartialOrder___has_all_1
));
749 switch ((&(fra
.me
))->has_broke
) {
751 case 1: (&(fra
.me
))->has_broke
= 0; goto label3
;
753 /* ./metamodel//partial_order.nit:141 */
754 REGB0
= TAG_Bool(true);
755 fra
.me
.REG
[1] = REGB0
;
758 stack_frame_head
= fra
.me
.prev
;
759 return fra
.me
.REG
[1];
761 void OC_partial_order___PartialOrder___has_all_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
762 struct {struct stack_frame_t me
;} fra
;
766 /* ./metamodel//partial_order.nit:136 */
767 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
768 fra
.me
.file
= LOCATE_partial_order
;
770 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___has_all
;
771 fra
.me
.has_broke
= 0;
773 fra
.me
.REG
[0] = NIT_NULL
;
774 fra
.me
.closure_ctx
= closctx_param
;
775 fra
.me
.closure_funs
= CREG
;
778 /* ./metamodel//partial_order.nit:137 */
779 REGB0
= CALL_abstract_collection___Collection___has(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[0]);
780 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
781 if (UNTAG_Bool(REGB0
)) {
782 /* ./metamodel//partial_order.nit:138 */
783 REGB0
= TAG_Bool(false);
784 closctx
->REG
[1] = REGB0
;
785 closctx
->has_broke
= 1;
789 stack_frame_head
= fra
.me
.prev
;
792 val_t
partial_order___PartialOrder___new_poe(val_t p0
, val_t p1
, val_t p2
){
793 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
795 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
796 fra
.me
.file
= LOCATE_partial_order
;
798 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___new_poe
;
799 fra
.me
.has_broke
= 0;
801 fra
.me
.REG
[0] = NIT_NULL
;
802 fra
.me
.REG
[1] = NIT_NULL
;
803 fra
.me
.REG
[2] = NIT_NULL
;
807 /* ./metamodel//partial_order.nit:147 */
808 fra
.me
.REG
[2] = NEW_PartialOrderElement_partial_order___PartialOrderElement___init(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
811 stack_frame_head
= fra
.me
.prev
;
812 return fra
.me
.REG
[2];
814 val_t
partial_order___PartialOrder___add_to_smallests(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
815 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
820 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
821 fra
.me
.file
= LOCATE_partial_order
;
823 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___add_to_smallests
;
824 fra
.me
.has_broke
= 0;
826 fra
.me
.REG
[0] = NIT_NULL
;
827 fra
.me
.REG
[1] = NIT_NULL
;
828 fra
.me
.REG
[2] = NIT_NULL
;
829 fra
.me
.REG
[3] = NIT_NULL
;
830 fra
.me
.REG
[4] = NIT_NULL
;
831 fra
.me
.REG
[5] = NIT_NULL
;
836 /* ./metamodel//partial_order.nit:157 */
837 CALL_abstract_collection___RemovableCollection___clear(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
838 /* ./metamodel//partial_order.nit:158 */
839 fra
.me
.REG
[0] = CALL_partial_order___PartialOrder_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
840 /* ./../lib/standard//collection//array.nit:234 */
842 /* ./../lib/standard//collection//array.nit:235 */
843 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
844 if (UNTAG_Bool(REGB1
)) {
846 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
848 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
849 /* ./../lib/standard//collection//array.nit:236 */
850 fra
.me
.REG
[4] = ATTR_array___Array____items(fra
.me
.REG
[2]);
851 /* ./../lib/standard//collection//array.nit:237 */
853 /* ./../lib/standard//collection//array.nit:23 */
854 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
855 if (UNTAG_Bool(REGB1
)) {
857 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
859 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
860 /* ./../lib/standard//kernel.nit:212 */
861 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
862 /* ./../lib/standard//collection//array.nit:237 */
863 if (UNTAG_Bool(REGB1
)) {
864 /* ./../lib/standard//collection//array.nit:238 */
865 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
866 if (UNTAG_Bool(REGB1
)) {
867 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
869 /* ./../lib/standard//collection//array.nit:654 */
870 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
871 /* ./metamodel//partial_order.nit:160 */
872 REGB1
= CALL_partial_order___PartialOrderElement_____g(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
873 if (UNTAG_Bool(REGB1
)) {
874 /* ./metamodel//partial_order.nit:161 */
875 REGB1
= TAG_Bool(false);
878 /* ./metamodel//partial_order.nit:163 */
879 REGB2
= CALL_partial_order___PartialOrderElement_____l(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
880 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
881 if (UNTAG_Bool(REGB2
)) {
882 /* ./metamodel//partial_order.nit:164 */
883 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
885 /* ./../lib/standard//collection//array.nit:239 */
887 /* ./../lib/standard//kernel.nit:215 */
888 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
889 /* ./../lib/standard//collection//array.nit:239 */
892 /* ./../lib/standard//collection//array.nit:237 */
897 /* ./metamodel//partial_order.nit:167 */
898 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
899 /* ./metamodel//partial_order.nit:168 */
900 REGB0
= TAG_Bool(true);
904 stack_frame_head
= fra
.me
.prev
;
907 void partial_order___PartialOrder___compute_smallers_for(val_t p0
, val_t p1
, val_t p2
){
908 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
911 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
912 fra
.me
.file
= LOCATE_partial_order
;
914 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___compute_smallers_for
;
915 fra
.me
.has_broke
= 0;
917 fra
.me
.REG
[0] = NIT_NULL
;
918 fra
.me
.REG
[1] = NIT_NULL
;
919 fra
.me
.REG
[2] = NIT_NULL
;
923 /* ./metamodel//partial_order.nit:173 */
924 fra
.me
.REG
[1] = CALL_partial_order___PartialOrderElement___value(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
925 /* ./metamodel//partial_order.nit:174 */
926 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
927 if (UNTAG_Bool(REGB0
)) {
929 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_partial_order
, 174);
931 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
932 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_partial_order___PartialOrder___compute_smallers_for_1
));
933 stack_frame_head
= fra
.me
.prev
;
936 void OC_partial_order___PartialOrder___compute_smallers_for_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
937 struct {struct stack_frame_t me
;} fra
;
941 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
942 fra
.me
.file
= LOCATE_partial_order
;
944 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___compute_smallers_for
;
945 fra
.me
.has_broke
= 0;
947 fra
.me
.REG
[0] = NIT_NULL
;
948 fra
.me
.closure_ctx
= closctx_param
;
949 fra
.me
.closure_funs
= CREG
;
952 /* ./metamodel//partial_order.nit:175 */
953 REGB0
= CALL_partial_order___PartialOrderElement_____l(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
954 if (UNTAG_Bool(REGB0
)) {
955 /* ./metamodel//partial_order.nit:176 */
956 fra
.me
.REG
[0] = CALL_partial_order___PartialOrderElement___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
957 CALL_abstract_collection___SimpleCollection___add(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[0]);
959 stack_frame_head
= fra
.me
.prev
;
962 void partial_order___PartialOrder___init(val_t p0
, int* init_table
){
963 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_PartialOrder
].i
;
964 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
966 if (init_table
[itpos0
]) return;
967 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
968 fra
.me
.file
= LOCATE_partial_order
;
970 fra
.me
.meth
= LOCATE_partial_order___PartialOrder___init
;
971 fra
.me
.has_broke
= 0;
973 fra
.me
.REG
[0] = NIT_NULL
;
974 fra
.me
.REG
[1] = NIT_NULL
;
976 /* ./metamodel//partial_order.nit:183 */
977 fra
.me
.REG
[1] = NEW_HashMap_hash_collection___HashMap___init();
978 ATTR_partial_order___PartialOrder____elements(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
979 /* ./metamodel//partial_order.nit:184 */
980 fra
.me
.REG
[1] = NEW_Array_array___Array___init();
981 ATTR_partial_order___PartialOrder____elements_list(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
982 /* ./metamodel//partial_order.nit:185 */
983 fra
.me
.REG
[1] = NEW_Array_array___Array___init();
984 ATTR_partial_order___PartialOrder____roots(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
985 stack_frame_head
= fra
.me
.prev
;
986 init_table
[itpos0
] = 1;
989 val_t
partial_order___PartialOrderElement___order(val_t p0
){
990 struct {struct stack_frame_t me
;} fra
;
993 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
994 fra
.me
.file
= LOCATE_partial_order
;
996 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement___order
;
997 fra
.me
.has_broke
= 0;
999 fra
.me
.REG
[0] = NIT_NULL
;
1001 /* ./metamodel//partial_order.nit:190 */
1002 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1003 if (UNTAG_Bool(REGB0
)) {
1005 nit_abort("Uninitialized attribute %s", "_order", LOCATE_partial_order
, 190);
1007 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1008 stack_frame_head
= fra
.me
.prev
;
1009 return fra
.me
.REG
[0];
1011 val_t
partial_order___PartialOrderElement___value(val_t p0
){
1012 struct {struct stack_frame_t me
;} fra
;
1015 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1016 fra
.me
.file
= LOCATE_partial_order
;
1018 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement___value
;
1019 fra
.me
.has_broke
= 0;
1020 fra
.me
.REG_size
= 1;
1021 fra
.me
.REG
[0] = NIT_NULL
;
1023 /* ./metamodel//partial_order.nit:193 */
1024 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrderElement____value(fra
.me
.REG
[0])!=NIT_NULL
);
1025 if (UNTAG_Bool(REGB0
)) {
1027 nit_abort("Uninitialized attribute %s", "_value", LOCATE_partial_order
, 193);
1029 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrderElement____value(fra
.me
.REG
[0]);
1030 stack_frame_head
= fra
.me
.prev
;
1031 return fra
.me
.REG
[0];
1033 val_t
partial_order___PartialOrderElement___rank(val_t p0
){
1034 struct {struct stack_frame_t me
;} fra
;
1037 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1038 fra
.me
.file
= LOCATE_partial_order
;
1040 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement___rank
;
1041 fra
.me
.has_broke
= 0;
1042 fra
.me
.REG_size
= 1;
1043 fra
.me
.REG
[0] = NIT_NULL
;
1045 /* ./metamodel//partial_order.nit:196 */
1046 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrderElement____rank(fra
.me
.REG
[0])!=NIT_NULL
);
1047 if (UNTAG_Bool(REGB0
)) {
1049 nit_abort("Uninitialized attribute %s", "_rank", LOCATE_partial_order
, 196);
1051 REGB0
= ATTR_partial_order___PartialOrderElement____rank(fra
.me
.REG
[0]);
1052 stack_frame_head
= fra
.me
.prev
;
1055 val_t
partial_order___PartialOrderElement___direct_greaters(val_t p0
){
1056 struct {struct stack_frame_t me
;} fra
;
1059 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1060 fra
.me
.file
= LOCATE_partial_order
;
1062 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement___direct_greaters
;
1063 fra
.me
.has_broke
= 0;
1064 fra
.me
.REG_size
= 1;
1065 fra
.me
.REG
[0] = NIT_NULL
;
1067 /* ./metamodel//partial_order.nit:202 */
1068 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrderElement____direct_greaters(fra
.me
.REG
[0])!=NIT_NULL
);
1069 if (UNTAG_Bool(REGB0
)) {
1071 nit_abort("Uninitialized attribute %s", "_direct_greaters", LOCATE_partial_order
, 202);
1073 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrderElement____direct_greaters(fra
.me
.REG
[0]);
1074 stack_frame_head
= fra
.me
.prev
;
1075 return fra
.me
.REG
[0];
1077 val_t
partial_order___PartialOrderElement___direct_smallers(val_t p0
){
1078 struct {struct stack_frame_t me
;} fra
;
1081 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1082 fra
.me
.file
= LOCATE_partial_order
;
1084 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement___direct_smallers
;
1085 fra
.me
.has_broke
= 0;
1086 fra
.me
.REG_size
= 1;
1087 fra
.me
.REG
[0] = NIT_NULL
;
1089 /* ./metamodel//partial_order.nit:205 */
1090 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrderElement____direct_smallers(fra
.me
.REG
[0])!=NIT_NULL
);
1091 if (UNTAG_Bool(REGB0
)) {
1093 nit_abort("Uninitialized attribute %s", "_direct_smallers", LOCATE_partial_order
, 205);
1095 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrderElement____direct_smallers(fra
.me
.REG
[0]);
1096 stack_frame_head
= fra
.me
.prev
;
1097 return fra
.me
.REG
[0];
1099 val_t
partial_order___PartialOrderElement___greaters(val_t p0
){
1100 struct {struct stack_frame_t me
;} fra
;
1103 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1104 fra
.me
.file
= LOCATE_partial_order
;
1106 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement___greaters
;
1107 fra
.me
.has_broke
= 0;
1108 fra
.me
.REG_size
= 1;
1109 fra
.me
.REG
[0] = NIT_NULL
;
1111 /* ./metamodel//partial_order.nit:208 */
1112 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0])!=NIT_NULL
);
1113 if (UNTAG_Bool(REGB0
)) {
1115 nit_abort("Uninitialized attribute %s", "_greaters", LOCATE_partial_order
, 208);
1117 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0]);
1118 stack_frame_head
= fra
.me
.prev
;
1119 return fra
.me
.REG
[0];
1121 val_t
partial_order___PartialOrderElement___greaters_and_self(val_t p0
){
1122 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1126 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1127 fra
.me
.file
= LOCATE_partial_order
;
1129 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement___greaters_and_self
;
1130 fra
.me
.has_broke
= 0;
1131 fra
.me
.REG_size
= 3;
1132 fra
.me
.REG
[0] = NIT_NULL
;
1133 fra
.me
.REG
[1] = NIT_NULL
;
1134 fra
.me
.REG
[2] = NIT_NULL
;
1136 /* ./metamodel//partial_order.nit:217 */
1137 fra
.me
.REG
[1] = ATTR_partial_order___PartialOrderElement____greaters_and_self_cache(fra
.me
.REG
[0]);
1138 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1139 if (UNTAG_Bool(REGB0
)) {
1141 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1142 if (UNTAG_Bool(REGB1
)) {
1143 REGB1
= TAG_Bool(false);
1146 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
1150 if (UNTAG_Bool(REGB0
)) {
1151 /* ./metamodel//partial_order.nit:218 */
1152 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0])!=NIT_NULL
);
1153 if (UNTAG_Bool(REGB0
)) {
1155 nit_abort("Uninitialized attribute %s", "_greaters", LOCATE_partial_order
, 218);
1157 fra
.me
.REG
[1] = ATTR_partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0]);
1158 fra
.me
.REG
[1] = CALL_array___Collection___to_a(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1159 ATTR_partial_order___PartialOrderElement____greaters_and_self_cache(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1160 /* ./metamodel//partial_order.nit:219 */
1161 fra
.me
.REG
[1] = ATTR_partial_order___PartialOrderElement____greaters_and_self_cache(fra
.me
.REG
[0]);
1162 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrderElement____value(fra
.me
.REG
[0])!=NIT_NULL
);
1163 if (UNTAG_Bool(REGB0
)) {
1165 nit_abort("Uninitialized attribute %s", "_value", LOCATE_partial_order
, 219);
1167 fra
.me
.REG
[2] = ATTR_partial_order___PartialOrderElement____value(fra
.me
.REG
[0]);
1168 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1169 if (UNTAG_Bool(REGB0
)) {
1170 nit_abort("Reciever is null", NULL
, LOCATE_partial_order
, 219);
1172 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1174 /* ./metamodel//partial_order.nit:221 */
1175 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrderElement____greaters_and_self_cache(fra
.me
.REG
[0]);
1176 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
1177 if (UNTAG_Bool(REGB0
)) {
1179 nit_abort("Cast failed", NULL
, LOCATE_partial_order
, 221);
1183 stack_frame_head
= fra
.me
.prev
;
1184 return fra
.me
.REG
[0];
1186 val_t
partial_order___PartialOrderElement___smallers(val_t p0
){
1187 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1191 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1192 fra
.me
.file
= LOCATE_partial_order
;
1194 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement___smallers
;
1195 fra
.me
.has_broke
= 0;
1196 fra
.me
.REG_size
= 3;
1197 fra
.me
.REG
[0] = NIT_NULL
;
1198 fra
.me
.REG
[1] = NIT_NULL
;
1199 fra
.me
.REG
[2] = NIT_NULL
;
1201 /* ./metamodel//partial_order.nit:233 */
1202 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrderElement____smallers_last_length(fra
.me
.REG
[0])!=NIT_NULL
);
1203 if (UNTAG_Bool(REGB0
)) {
1205 nit_abort("Uninitialized attribute %s", "_smallers_last_length", LOCATE_partial_order
, 233);
1207 REGB0
= ATTR_partial_order___PartialOrderElement____smallers_last_length(fra
.me
.REG
[0]);
1208 REGB1
= TAG_Bool(ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1209 if (UNTAG_Bool(REGB1
)) {
1211 nit_abort("Uninitialized attribute %s", "_order", LOCATE_partial_order
, 233);
1213 fra
.me
.REG
[1] = ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1214 REGB1
= CALL_abstract_collection___Collection___length(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1215 /* ./../lib/standard//kernel.nit:212 */
1216 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1217 /* ./metamodel//partial_order.nit:233 */
1218 if (UNTAG_Bool(REGB1
)) {
1219 /* ./metamodel//partial_order.nit:234 */
1220 REGB1
= TAG_Bool(ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1221 if (UNTAG_Bool(REGB1
)) {
1223 nit_abort("Uninitialized attribute %s", "_order", LOCATE_partial_order
, 234);
1225 fra
.me
.REG
[1] = ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1226 REGB1
= TAG_Bool(ATTR_partial_order___PartialOrderElement____smallers_cache(fra
.me
.REG
[0])!=NIT_NULL
);
1227 if (UNTAG_Bool(REGB1
)) {
1229 nit_abort("Uninitialized attribute %s", "_smallers_cache", LOCATE_partial_order
, 234);
1231 fra
.me
.REG
[2] = ATTR_partial_order___PartialOrderElement____smallers_cache(fra
.me
.REG
[0]);
1232 CALL_partial_order___PartialOrder___compute_smallers_for(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
1233 /* ./metamodel//partial_order.nit:235 */
1234 REGB1
= TAG_Bool(ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1235 if (UNTAG_Bool(REGB1
)) {
1237 nit_abort("Uninitialized attribute %s", "_order", LOCATE_partial_order
, 235);
1239 fra
.me
.REG
[2] = ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1240 REGB1
= CALL_abstract_collection___Collection___length(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1241 ATTR_partial_order___PartialOrderElement____smallers_last_length(fra
.me
.REG
[0]) = REGB1
;
1243 /* ./metamodel//partial_order.nit:237 */
1244 REGB1
= TAG_Bool(ATTR_partial_order___PartialOrderElement____smallers_cache(fra
.me
.REG
[0])!=NIT_NULL
);
1245 if (UNTAG_Bool(REGB1
)) {
1247 nit_abort("Uninitialized attribute %s", "_smallers_cache", LOCATE_partial_order
, 237);
1249 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrderElement____smallers_cache(fra
.me
.REG
[0]);
1252 stack_frame_head
= fra
.me
.prev
;
1253 return fra
.me
.REG
[0];
1255 val_t
partial_order___PartialOrderElement___linear_extension(val_t p0
){
1256 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
1261 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1262 fra
.me
.file
= LOCATE_partial_order
;
1264 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement___linear_extension
;
1265 fra
.me
.has_broke
= 0;
1266 fra
.me
.REG_size
= 9;
1267 fra
.me
.REG
[0] = NIT_NULL
;
1268 fra
.me
.REG
[1] = NIT_NULL
;
1269 fra
.me
.REG
[2] = NIT_NULL
;
1270 fra
.me
.REG
[3] = NIT_NULL
;
1271 fra
.me
.REG
[4] = NIT_NULL
;
1272 fra
.me
.REG
[5] = NIT_NULL
;
1273 fra
.me
.REG
[6] = NIT_NULL
;
1274 fra
.me
.REG
[7] = NIT_NULL
;
1275 fra
.me
.REG
[8] = NIT_NULL
;
1277 /* ./metamodel//partial_order.nit:247 */
1278 fra
.me
.REG
[1] = ATTR_partial_order___PartialOrderElement____linear_extension_cache(fra
.me
.REG
[0]);
1279 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1280 if (UNTAG_Bool(REGB0
)) {
1282 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1283 if (UNTAG_Bool(REGB1
)) {
1284 REGB1
= TAG_Bool(false);
1287 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
1291 if (UNTAG_Bool(REGB0
)) {
1292 /* ./metamodel//partial_order.nit:248 */
1293 fra
.me
.REG
[1] = NEW_Array_array___Array___init();
1294 /* ./metamodel//partial_order.nit:249 */
1295 fra
.me
.REG
[2] = NEW_Array_array___Array___init();
1296 /* ./metamodel//partial_order.nit:250 */
1297 fra
.me
.REG
[3] = CALL_partial_order___PartialOrderElement___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1298 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1299 /* ./metamodel//partial_order.nit:251 */
1300 fra
.me
.REG
[3] = CALL_partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1301 /* ./../lib/standard//collection//array.nit:234 */
1303 /* ./../lib/standard//collection//array.nit:235 */
1304 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1305 if (UNTAG_Bool(REGB1
)) {
1307 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
1309 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1310 /* ./../lib/standard//collection//array.nit:236 */
1311 fra
.me
.REG
[4] = ATTR_array___Array____items(fra
.me
.REG
[3]);
1312 /* ./../lib/standard//collection//array.nit:237 */
1314 /* ./../lib/standard//collection//array.nit:23 */
1315 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1316 if (UNTAG_Bool(REGB1
)) {
1318 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
1320 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1321 /* ./../lib/standard//kernel.nit:212 */
1322 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1323 /* ./../lib/standard//collection//array.nit:237 */
1324 if (UNTAG_Bool(REGB1
)) {
1325 /* ./../lib/standard//collection//array.nit:238 */
1326 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1327 if (UNTAG_Bool(REGB1
)) {
1328 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
1330 /* ./../lib/standard//collection//array.nit:654 */
1331 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
1332 /* ./metamodel//partial_order.nit:252 */
1333 fra
.me
.REG
[6] = CALL_partial_order___PartialOrderElement___order(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1334 fra
.me
.REG
[5] = CALL_partial_order___PartialOrder_____bra(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1335 fra
.me
.REG
[5] = CALL_partial_order___PartialOrderElement___linear_extension(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1336 /* ./metamodel//partial_order.nit:253 */
1337 CALL_abstract_collection___RemovableCollection___clear(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1338 /* ./../lib/standard//collection//array.nit:231 */
1339 fra
.me
.REG
[6] = fra
.me
.REG
[1];
1340 /* ./../lib/standard//collection//array.nit:234 */
1342 /* ./../lib/standard//collection//array.nit:235 */
1343 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[6])!=NIT_NULL
);
1344 if (UNTAG_Bool(REGB2
)) {
1346 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
1348 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[6]);
1349 /* ./../lib/standard//collection//array.nit:236 */
1350 fra
.me
.REG
[7] = ATTR_array___Array____items(fra
.me
.REG
[6]);
1351 /* ./../lib/standard//collection//array.nit:237 */
1353 /* ./../lib/standard//collection//array.nit:23 */
1354 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[6])!=NIT_NULL
);
1355 if (UNTAG_Bool(REGB2
)) {
1357 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
1359 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[6]);
1360 /* ./../lib/standard//kernel.nit:212 */
1361 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1362 /* ./../lib/standard//collection//array.nit:237 */
1363 if (UNTAG_Bool(REGB2
)) {
1364 /* ./../lib/standard//collection//array.nit:238 */
1365 REGB2
= TAG_Bool(fra
.me
.REG
[7]==NIT_NULL
);
1366 if (UNTAG_Bool(REGB2
)) {
1367 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
1369 /* ./../lib/standard//collection//array.nit:654 */
1370 fra
.me
.REG
[8] = ((Nit_NativeArray
)fra
.me
.REG
[7])->val
[UNTAG_Int(REGB1
)];
1371 /* ./metamodel//partial_order.nit:255 */
1372 REGB2
= CALL_abstract_collection___Collection___has(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[8]);
1373 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
1374 if (UNTAG_Bool(REGB2
)) {
1375 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[8]);
1377 /* ./../lib/standard//collection//array.nit:239 */
1379 /* ./../lib/standard//kernel.nit:215 */
1380 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
1381 /* ./../lib/standard//collection//array.nit:239 */
1384 /* ./../lib/standard//collection//array.nit:237 */
1389 /* ./metamodel//partial_order.nit:257 */
1390 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
1391 /* ./metamodel//partial_order.nit:259 */
1392 fra
.me
.REG
[5] = fra
.me
.REG
[1];
1393 /* ./metamodel//partial_order.nit:260 */
1394 fra
.me
.REG
[1] = fra
.me
.REG
[2];
1395 /* ./metamodel//partial_order.nit:261 */
1396 fra
.me
.REG
[2] = fra
.me
.REG
[5];
1397 /* ./../lib/standard//collection//array.nit:239 */
1399 /* ./../lib/standard//kernel.nit:215 */
1400 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1401 /* ./../lib/standard//collection//array.nit:239 */
1404 /* ./../lib/standard//collection//array.nit:237 */
1409 /* ./metamodel//partial_order.nit:263 */
1410 ATTR_partial_order___PartialOrderElement____linear_extension_cache(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1412 /* ./metamodel//partial_order.nit:265 */
1413 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrderElement____linear_extension_cache(fra
.me
.REG
[0]);
1414 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
1415 if (UNTAG_Bool(REGB0
)) {
1417 nit_abort("Cast failed", NULL
, LOCATE_partial_order
, 265);
1421 stack_frame_head
= fra
.me
.prev
;
1422 return fra
.me
.REG
[0];
1424 val_t
partial_order___PartialOrderElement___reverse_linear_extension(val_t p0
){
1425 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
1429 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1430 fra
.me
.file
= LOCATE_partial_order
;
1432 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement___reverse_linear_extension
;
1433 fra
.me
.has_broke
= 0;
1434 fra
.me
.REG_size
= 6;
1435 fra
.me
.REG
[0] = NIT_NULL
;
1436 fra
.me
.REG
[1] = NIT_NULL
;
1437 fra
.me
.REG
[2] = NIT_NULL
;
1438 fra
.me
.REG
[3] = NIT_NULL
;
1439 fra
.me
.REG
[4] = NIT_NULL
;
1440 fra
.me
.REG
[5] = NIT_NULL
;
1442 /* ./metamodel//partial_order.nit:275 */
1443 fra
.me
.REG
[1] = ATTR_partial_order___PartialOrderElement____reverse_linear_extension_cache(fra
.me
.REG
[0]);
1444 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1445 if (UNTAG_Bool(REGB0
)) {
1447 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1448 if (UNTAG_Bool(REGB1
)) {
1449 REGB1
= TAG_Bool(false);
1452 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
1456 if (UNTAG_Bool(REGB0
)) {
1457 /* ./metamodel//partial_order.nit:276 */
1458 fra
.me
.REG
[1] = NEW_HashSet_hash_collection___HashSet___init();
1459 /* ./metamodel//partial_order.nit:277 */
1460 fra
.me
.REG
[2] = CALL_partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1461 /* ./../lib/standard//collection//array.nit:234 */
1463 /* ./../lib/standard//collection//array.nit:235 */
1464 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1465 if (UNTAG_Bool(REGB1
)) {
1467 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
1469 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1470 /* ./../lib/standard//collection//array.nit:236 */
1471 fra
.me
.REG
[3] = ATTR_array___Array____items(fra
.me
.REG
[2]);
1472 /* ./../lib/standard//collection//array.nit:237 */
1474 /* ./../lib/standard//collection//array.nit:23 */
1475 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1476 if (UNTAG_Bool(REGB1
)) {
1478 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
1480 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1481 /* ./../lib/standard//kernel.nit:212 */
1482 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1483 /* ./../lib/standard//collection//array.nit:237 */
1484 if (UNTAG_Bool(REGB1
)) {
1485 /* ./../lib/standard//collection//array.nit:238 */
1486 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1487 if (UNTAG_Bool(REGB1
)) {
1488 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
1490 /* ./../lib/standard//collection//array.nit:654 */
1491 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB0
)];
1492 /* ./metamodel//partial_order.nit:278 */
1493 fra
.me
.REG
[5] = CALL_partial_order___PartialOrderElement___order(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1494 fra
.me
.REG
[4] = CALL_partial_order___PartialOrder_____bra(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
1495 fra
.me
.REG
[4] = CALL_partial_order___PartialOrderElement___linear_extension(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1496 /* ./metamodel//partial_order.nit:279 */
1497 CALL_abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
1498 /* ./../lib/standard//collection//array.nit:239 */
1500 /* ./../lib/standard//kernel.nit:215 */
1501 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1502 /* ./../lib/standard//collection//array.nit:239 */
1505 /* ./../lib/standard//collection//array.nit:237 */
1510 /* ./metamodel//partial_order.nit:281 */
1511 fra
.me
.REG
[3] = CALL_partial_order___PartialOrderElement___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1512 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1513 /* ./metamodel//partial_order.nit:282 */
1514 fra
.me
.REG
[1] = CALL_array___Collection___to_a(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1515 ATTR_partial_order___PartialOrderElement____linear_extension_cache(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1517 /* ./metamodel//partial_order.nit:284 */
1518 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrderElement____linear_extension_cache(fra
.me
.REG
[0]);
1519 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
1520 if (UNTAG_Bool(REGB0
)) {
1522 nit_abort("Cast failed", NULL
, LOCATE_partial_order
, 284);
1526 stack_frame_head
= fra
.me
.prev
;
1527 return fra
.me
.REG
[0];
1529 val_t
partial_order___PartialOrderElement_____l(val_t p0
, val_t p1
){
1530 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1533 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1534 fra
.me
.file
= LOCATE_partial_order
;
1536 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement_____l
;
1537 fra
.me
.has_broke
= 0;
1538 fra
.me
.REG_size
= 2;
1539 fra
.me
.REG
[0] = NIT_NULL
;
1540 fra
.me
.REG
[1] = NIT_NULL
;
1543 /* ./metamodel//partial_order.nit:290 */
1544 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0])!=NIT_NULL
);
1545 if (UNTAG_Bool(REGB0
)) {
1547 nit_abort("Uninitialized attribute %s", "_greaters", LOCATE_partial_order
, 290);
1549 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0]);
1550 REGB0
= CALL_abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1553 stack_frame_head
= fra
.me
.prev
;
1556 val_t
partial_order___PartialOrderElement_____leq(val_t p0
, val_t p1
){
1557 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
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_____leq
;
1565 fra
.me
.has_broke
= 0;
1566 fra
.me
.REG_size
= 3;
1567 fra
.me
.REG
[0] = NIT_NULL
;
1568 fra
.me
.REG
[1] = NIT_NULL
;
1569 fra
.me
.REG
[2] = NIT_NULL
;
1572 /* ./metamodel//partial_order.nit:296 */
1573 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrderElement____value(fra
.me
.REG
[0])!=NIT_NULL
);
1574 if (UNTAG_Bool(REGB0
)) {
1576 nit_abort("Uninitialized attribute %s", "_value", LOCATE_partial_order
, 296);
1578 fra
.me
.REG
[2] = ATTR_partial_order___PartialOrderElement____value(fra
.me
.REG
[0]);
1579 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[1]));
1580 if (UNTAG_Bool(REGB0
)) {
1582 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1585 if (UNTAG_Bool(REGB0
)) {
1586 REGB0
= TAG_Bool(true);
1588 REGB1
= TAG_Bool(ATTR_partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0])!=NIT_NULL
);
1589 if (UNTAG_Bool(REGB1
)) {
1591 nit_abort("Uninitialized attribute %s", "_greaters", LOCATE_partial_order
, 296);
1593 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0]);
1594 REGB1
= CALL_abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1599 stack_frame_head
= fra
.me
.prev
;
1602 val_t
partial_order___PartialOrderElement_____g(val_t p0
, val_t p1
){
1603 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1606 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1607 fra
.me
.file
= LOCATE_partial_order
;
1609 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement_____g
;
1610 fra
.me
.has_broke
= 0;
1611 fra
.me
.REG_size
= 3;
1612 fra
.me
.REG
[0] = NIT_NULL
;
1613 fra
.me
.REG
[1] = NIT_NULL
;
1614 fra
.me
.REG
[2] = NIT_NULL
;
1617 /* ./metamodel//partial_order.nit:302 */
1618 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1619 if (UNTAG_Bool(REGB0
)) {
1621 nit_abort("Uninitialized attribute %s", "_order", LOCATE_partial_order
, 302);
1623 fra
.me
.REG
[2] = ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1624 fra
.me
.REG
[1] = CALL_partial_order___PartialOrder_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1625 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrderElement____value(fra
.me
.REG
[0])!=NIT_NULL
);
1626 if (UNTAG_Bool(REGB0
)) {
1628 nit_abort("Uninitialized attribute %s", "_value", LOCATE_partial_order
, 302);
1630 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrderElement____value(fra
.me
.REG
[0]);
1631 REGB0
= CALL_partial_order___PartialOrderElement_____l(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1634 stack_frame_head
= fra
.me
.prev
;
1637 val_t
partial_order___PartialOrderElement_____geq(val_t p0
, val_t p1
){
1638 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1642 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1643 fra
.me
.file
= LOCATE_partial_order
;
1645 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement_____geq
;
1646 fra
.me
.has_broke
= 0;
1647 fra
.me
.REG_size
= 3;
1648 fra
.me
.REG
[0] = NIT_NULL
;
1649 fra
.me
.REG
[1] = NIT_NULL
;
1650 fra
.me
.REG
[2] = NIT_NULL
;
1653 /* ./metamodel//partial_order.nit:308 */
1654 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrderElement____value(fra
.me
.REG
[0])!=NIT_NULL
);
1655 if (UNTAG_Bool(REGB0
)) {
1657 nit_abort("Uninitialized attribute %s", "_value", LOCATE_partial_order
, 308);
1659 fra
.me
.REG
[2] = ATTR_partial_order___PartialOrderElement____value(fra
.me
.REG
[0]);
1660 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[1]));
1661 if (UNTAG_Bool(REGB0
)) {
1663 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1666 if (UNTAG_Bool(REGB0
)) {
1667 REGB0
= TAG_Bool(true);
1669 REGB1
= TAG_Bool(ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1670 if (UNTAG_Bool(REGB1
)) {
1672 nit_abort("Uninitialized attribute %s", "_order", LOCATE_partial_order
, 308);
1674 fra
.me
.REG
[2] = ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1675 fra
.me
.REG
[1] = CALL_partial_order___PartialOrder_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1676 REGB1
= TAG_Bool(ATTR_partial_order___PartialOrderElement____value(fra
.me
.REG
[0])!=NIT_NULL
);
1677 if (UNTAG_Bool(REGB1
)) {
1679 nit_abort("Uninitialized attribute %s", "_value", LOCATE_partial_order
, 308);
1681 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrderElement____value(fra
.me
.REG
[0]);
1682 REGB1
= CALL_partial_order___PartialOrderElement_____l(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1687 stack_frame_head
= fra
.me
.prev
;
1690 void partial_order___PartialOrderElement___register_direct_smallers(val_t p0
, val_t p1
){
1691 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1694 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1695 fra
.me
.file
= LOCATE_partial_order
;
1697 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement___register_direct_smallers
;
1698 fra
.me
.has_broke
= 0;
1699 fra
.me
.REG_size
= 2;
1700 fra
.me
.REG
[0] = NIT_NULL
;
1701 fra
.me
.REG
[1] = NIT_NULL
;
1704 /* ./metamodel//partial_order.nit:313 */
1705 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrderElement____direct_smallers(fra
.me
.REG
[0])!=NIT_NULL
);
1706 if (UNTAG_Bool(REGB0
)) {
1708 nit_abort("Uninitialized attribute %s", "_direct_smallers", LOCATE_partial_order
, 313);
1710 fra
.me
.REG
[0] = ATTR_partial_order___PartialOrderElement____direct_smallers(fra
.me
.REG
[0]);
1711 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1712 stack_frame_head
= fra
.me
.prev
;
1715 void partial_order___PartialOrderElement___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
1716 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_PartialOrderElement
].i
;
1717 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1723 if (init_table
[itpos1
]) return;
1724 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1725 fra
.me
.file
= LOCATE_partial_order
;
1727 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement___init
;
1728 fra
.me
.has_broke
= 0;
1729 fra
.me
.REG_size
= 7;
1730 fra
.me
.REG
[0] = NIT_NULL
;
1731 fra
.me
.REG
[1] = NIT_NULL
;
1732 fra
.me
.REG
[2] = NIT_NULL
;
1733 fra
.me
.REG
[3] = NIT_NULL
;
1734 fra
.me
.REG
[4] = NIT_NULL
;
1735 fra
.me
.REG
[5] = NIT_NULL
;
1736 fra
.me
.REG
[6] = NIT_NULL
;
1741 /* ./metamodel//partial_order.nit:318 */
1742 ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1743 /* ./metamodel//partial_order.nit:319 */
1744 ATTR_partial_order___PartialOrderElement____value(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
1745 /* ./metamodel//partial_order.nit:320 */
1746 ATTR_partial_order___PartialOrderElement____direct_greaters(fra
.me
.REG
[0]) = fra
.me
.REG
[3];
1747 /* ./metamodel//partial_order.nit:321 */
1748 fra
.me
.REG
[1] = NEW_Array_array___Array___init();
1749 ATTR_partial_order___PartialOrderElement____direct_smallers(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1750 /* ./metamodel//partial_order.nit:323 */
1751 fra
.me
.REG
[1] = NEW_HashSet_hash_collection___HashSet___init();
1752 ATTR_partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1753 /* ./metamodel//partial_order.nit:324 */
1754 fra
.me
.REG
[1] = NEW_HashSet_hash_collection___HashSet___init();
1755 ATTR_partial_order___PartialOrderElement____smallers_cache(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1756 /* ./metamodel//partial_order.nit:326 */
1757 REGB0
= TAG_Bool(ATTR_partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0])!=NIT_NULL
);
1758 if (UNTAG_Bool(REGB0
)) {
1760 nit_abort("Uninitialized attribute %s", "_greaters", LOCATE_partial_order
, 326);
1762 fra
.me
.REG
[1] = ATTR_partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0]);
1763 /* ./metamodel//partial_order.nit:327 */
1765 /* ./../lib/standard//collection//array.nit:234 */
1767 /* ./../lib/standard//collection//array.nit:235 */
1768 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1769 if (UNTAG_Bool(REGB2
)) {
1771 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
1773 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1774 /* ./../lib/standard//collection//array.nit:236 */
1775 fra
.me
.REG
[4] = ATTR_array___Array____items(fra
.me
.REG
[3]);
1776 /* ./../lib/standard//collection//array.nit:237 */
1778 /* ./../lib/standard//collection//array.nit:23 */
1779 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1780 if (UNTAG_Bool(REGB2
)) {
1782 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
1784 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1785 /* ./../lib/standard//kernel.nit:212 */
1786 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1787 /* ./../lib/standard//collection//array.nit:237 */
1788 if (UNTAG_Bool(REGB2
)) {
1789 /* ./../lib/standard//collection//array.nit:238 */
1790 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1791 if (UNTAG_Bool(REGB2
)) {
1792 nit_abort("Reciever is null", NULL
, LOCATE_array
, 238);
1794 /* ./../lib/standard//collection//array.nit:654 */
1795 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB1
)];
1796 /* ./metamodel//partial_order.nit:329 */
1797 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
1798 /* ./metamodel//partial_order.nit:330 */
1799 REGB2
= TAG_Bool(ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1800 if (UNTAG_Bool(REGB2
)) {
1802 nit_abort("Uninitialized attribute %s", "_order", LOCATE_partial_order
, 330);
1804 fra
.me
.REG
[6] = ATTR_partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1805 fra
.me
.REG
[5] = CALL_partial_order___PartialOrder_____bra(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1806 /* ./metamodel//partial_order.nit:331 */
1807 REGB2
= CALL_partial_order___PartialOrderElement___rank(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1808 /* ./../lib/standard//kernel.nit:213 */
1809 REGB2
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB0
));
1810 /* ./metamodel//partial_order.nit:331 */
1811 if (UNTAG_Bool(REGB2
)) {
1812 /* ./metamodel//partial_order.nit:332 */
1813 REGB2
= CALL_partial_order___PartialOrderElement___rank(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1815 /* ./../lib/standard//kernel.nit:215 */
1816 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
1817 /* ./metamodel//partial_order.nit:332 */
1820 /* ./metamodel//partial_order.nit:334 */
1821 CALL_partial_order___PartialOrderElement___register_direct_smallers(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
1822 /* ./metamodel//partial_order.nit:335 */
1823 fra
.me
.REG
[5] = CALL_partial_order___PartialOrderElement___greaters(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1824 CALL_abstract_collection___Collection___iterate(fra
.me
.REG
[5])(fra
.me
.REG
[5], (&(fra
.me
)), ((fun_t
)OC_partial_order___PartialOrderElement___init_1
));
1825 /* ./../lib/standard//collection//array.nit:239 */
1827 /* ./../lib/standard//kernel.nit:215 */
1828 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
1829 /* ./../lib/standard//collection//array.nit:239 */
1832 /* ./../lib/standard//collection//array.nit:237 */
1837 /* ./metamodel//partial_order.nit:339 */
1838 ATTR_partial_order___PartialOrderElement____rank(fra
.me
.REG
[0]) = REGB0
;
1839 stack_frame_head
= fra
.me
.prev
;
1840 init_table
[itpos1
] = 1;
1843 void OC_partial_order___PartialOrderElement___init_1(struct stack_frame_t
*closctx
, val_t p0
){
1844 struct {struct stack_frame_t me
;} fra
;
1846 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1847 fra
.me
.file
= LOCATE_partial_order
;
1849 fra
.me
.meth
= LOCATE_partial_order___PartialOrderElement___init
;
1850 fra
.me
.has_broke
= 0;
1851 fra
.me
.REG_size
= 1;
1852 fra
.me
.REG
[0] = NIT_NULL
;
1854 /* ./metamodel//partial_order.nit:336 */
1855 CALL_abstract_collection___SimpleCollection___add(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[0]);
1856 stack_frame_head
= fra
.me
.prev
;