1 /* This C file is generated by NIT to compile module metamodel___partial_order. */
2 #include "metamodel___partial_order._sep.h"
3 val_t
metamodel___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_metamodel___partial_order
;
10 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___roots
;
13 fra
.me
.REG
[0] = NIT_NULL
;
15 /* ./metamodel//partial_order.nit:30 */
16 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____roots(fra
.me
.REG
[0])!=NIT_NULL
);
17 if (UNTAG_Bool(REGB0
)) {
19 nit_abort("Uninitialized attribute %s", "_roots", LOCATE_metamodel___partial_order
, 30);
21 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____roots(fra
.me
.REG
[0]);
22 stack_frame_head
= fra
.me
.prev
;
25 val_t
metamodel___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_metamodel___partial_order
;
32 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___is_empty
;
35 fra
.me
.REG
[0] = NIT_NULL
;
37 /* ./metamodel//partial_order.nit:35 */
38 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
39 if (UNTAG_Bool(REGB0
)) {
41 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_metamodel___partial_order
, 35);
43 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
44 REGB0
= CALL_standard___collection___abstract_collection___MapRead___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
47 stack_frame_head
= fra
.me
.prev
;
50 val_t
metamodel___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_metamodel___partial_order
;
57 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___length
;
60 fra
.me
.REG
[0] = NIT_NULL
;
62 /* ./metamodel//partial_order.nit:37 */
63 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
64 if (UNTAG_Bool(REGB0
)) {
66 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_metamodel___partial_order
, 37);
68 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
69 REGB0
= CALL_standard___collection___abstract_collection___MapRead___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
72 stack_frame_head
= fra
.me
.prev
;
75 val_t
metamodel___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_metamodel___partial_order
;
82 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___first
;
85 fra
.me
.REG
[0] = NIT_NULL
;
87 /* ./metamodel//partial_order.nit:39 */
88 REGB0
= TAG_Bool(ATTR_metamodel___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_metamodel___partial_order
, 39);
93 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____elements_list(fra
.me
.REG
[0]);
94 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
97 stack_frame_head
= fra
.me
.prev
;
100 val_t
metamodel___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_metamodel___partial_order
;
107 fra
.me
.meth
= LOCATE_metamodel___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_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
116 if (UNTAG_Bool(REGB0
)) {
118 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_metamodel___partial_order
, 41);
120 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
121 REGB0
= CALL_standard___collection___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
metamodel___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_metamodel___partial_order
;
136 fra
.me
.meth
= LOCATE_metamodel___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_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
146 if (UNTAG_Bool(REGB0
)) {
148 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_metamodel___partial_order
, 43);
150 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
151 REGB0
= CALL_standard___collection___abstract_collection___MapRead___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:227 */
157 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
158 /* ./metamodel//partial_order.nit:43 */
161 if (UNTAG_Bool(REGB2
)) {
162 REGB2
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
163 if (UNTAG_Bool(REGB2
)) {
165 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_metamodel___partial_order
, 43);
167 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
168 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead___values(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
169 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
170 REGB2
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[1],fra
.me
.REG
[0]));
171 if (UNTAG_Bool(REGB2
)) {
173 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
174 if (UNTAG_Bool(REGB1
)) {
175 REGB1
= TAG_Bool(false);
178 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
183 REGB1
= TAG_Bool(false);
188 stack_frame_head
= fra
.me
.prev
;
191 val_t
metamodel___partial_order___PartialOrder___count(val_t p0
, val_t p1
){
192 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
196 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
197 fra
.me
.file
= LOCATE_metamodel___partial_order
;
199 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___count
;
200 fra
.me
.has_broke
= 0;
202 fra
.me
.REG
[0] = NIT_NULL
;
203 fra
.me
.REG
[1] = NIT_NULL
;
206 /* ./metamodel//partial_order.nit:47 */
207 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
208 if (UNTAG_Bool(REGB0
)) {
209 /* ./metamodel//partial_order.nit:48 */
213 /* ./metamodel//partial_order.nit:50 */
219 stack_frame_head
= fra
.me
.prev
;
222 val_t
metamodel___partial_order___PartialOrder___iterator(val_t p0
){
223 struct {struct stack_frame_t me
;} fra
;
226 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
227 fra
.me
.file
= LOCATE_metamodel___partial_order
;
229 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___iterator
;
230 fra
.me
.has_broke
= 0;
232 fra
.me
.REG
[0] = NIT_NULL
;
234 /* ./metamodel//partial_order.nit:54 */
235 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements_list(fra
.me
.REG
[0])!=NIT_NULL
);
236 if (UNTAG_Bool(REGB0
)) {
238 nit_abort("Uninitialized attribute %s", "_elements_list", LOCATE_metamodel___partial_order
, 54);
240 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____elements_list(fra
.me
.REG
[0]);
241 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Collection___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
244 stack_frame_head
= fra
.me
.prev
;
245 return fra
.me
.REG
[0];
247 val_t
metamodel___partial_order___PartialOrder_____bra(val_t p0
, val_t p1
){
248 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
251 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
252 fra
.me
.file
= LOCATE_metamodel___partial_order
;
254 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder_____bra
;
255 fra
.me
.has_broke
= 0;
257 fra
.me
.REG
[0] = NIT_NULL
;
258 fra
.me
.REG
[1] = NIT_NULL
;
261 /* ./metamodel//partial_order.nit:61 */
262 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
263 if (UNTAG_Bool(REGB0
)) {
265 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_metamodel___partial_order
, 61);
267 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
268 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
271 stack_frame_head
= fra
.me
.prev
;
272 return fra
.me
.REG
[1];
274 val_t
metamodel___partial_order___PartialOrder___to_dot(val_t p0
){
275 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
278 static val_t once_value_3
; /* Once value */
279 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
280 fra
.me
.file
= LOCATE_metamodel___partial_order
;
282 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___to_dot
;
283 fra
.me
.has_broke
= 0;
285 fra
.me
.REG
[0] = NIT_NULL
;
286 fra
.me
.REG
[1] = NIT_NULL
;
287 fra
.me
.REG
[2] = NIT_NULL
;
289 /* ./metamodel//partial_order.nit:67 */
290 fra
.me
.REG
[1] = NEW_Buffer_standard___string___Buffer___init();
291 /* ./metamodel//partial_order.nit:68 */
292 fra
.me
.REG
[2] = CALL_metamodel___partial_order___PartialOrder___to_dot_header(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
293 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
294 /* ./metamodel//partial_order.nit:69 */
295 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
296 if (UNTAG_Bool(REGB0
)) {
298 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_metamodel___partial_order
, 69);
300 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
301 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___MapRead___values(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
302 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[2])(fra
.me
.REG
[2], (&(fra
.me
)), ((fun_t
)OC_metamodel___partial_order___PartialOrder___to_dot_1
));
303 /* ./metamodel//partial_order.nit:75 */
305 fra
.me
.REG
[0] = BOX_NativeString("}\n");
307 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
308 once_value_3
= fra
.me
.REG
[0];
309 register_static_object(&once_value_3
);
310 } else fra
.me
.REG
[0] = once_value_3
;
311 fra
.me
.REG
[0] = fra
.me
.REG
[0];
312 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
313 /* ./metamodel//partial_order.nit:76 */
314 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
317 stack_frame_head
= fra
.me
.prev
;
318 return fra
.me
.REG
[1];
320 void OC_metamodel___partial_order___PartialOrder___to_dot_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
321 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
327 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
328 fra
.me
.file
= LOCATE_metamodel___partial_order
;
330 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___to_dot
;
331 fra
.me
.has_broke
= 0;
333 fra
.me
.REG
[0] = NIT_NULL
;
334 fra
.me
.REG
[1] = NIT_NULL
;
335 fra
.me
.REG
[2] = NIT_NULL
;
336 fra
.me
.REG
[3] = NIT_NULL
;
337 fra
.me
.REG
[4] = NIT_NULL
;
338 fra
.me
.closure_ctx
= closctx_param
;
339 fra
.me
.closure_funs
= CREG
;
342 /* ./metamodel//partial_order.nit:70 */
343 fra
.me
.REG
[1] = CALL_metamodel___partial_order___PartialOrderElement___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
344 fra
.me
.REG
[1] = CALL_metamodel___partial_order___PartialOrder___to_dot_node(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[1]);
345 CALL_standard___collection___abstract_collection___Sequence___append(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[1]);
346 /* ./metamodel//partial_order.nit:71 */
347 fra
.me
.REG
[1] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
348 /* ./../lib/standard//collection//array.nit:269 */
350 /* ./../lib/standard//collection//array.nit:270 */
351 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
352 if (UNTAG_Bool(REGB1
)) {
354 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
356 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
357 /* ./../lib/standard//collection//array.nit:271 */
358 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
359 /* ./../lib/standard//collection//array.nit:272 */
361 /* ./../lib/standard//collection//array.nit:24 */
362 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
363 if (UNTAG_Bool(REGB1
)) {
365 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
367 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
368 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
369 if (UNTAG_Bool(REGB2
)) {
371 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
373 /* ./../lib/standard//kernel.nit:232 */
374 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
375 /* ./../lib/standard//collection//array.nit:272 */
376 if (UNTAG_Bool(REGB1
)) {
377 /* ./../lib/standard//collection//array.nit:273 */
378 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
379 if (UNTAG_Bool(REGB1
)) {
380 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
382 /* ./../lib/standard//collection//array.nit:718 */
383 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
384 /* ./metamodel//partial_order.nit:72 */
385 fra
.me
.REG
[4] = CALL_metamodel___partial_order___PartialOrderElement___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
386 fra
.me
.REG
[3] = CALL_metamodel___partial_order___PartialOrder___to_dot_edge(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[4], fra
.me
.REG
[3]);
387 CALL_standard___collection___abstract_collection___Sequence___append(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[3]);
388 /* ./../lib/standard//collection//array.nit:274 */
390 /* ./../lib/standard//kernel.nit:235 */
391 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
392 /* ./../lib/standard//collection//array.nit:274 */
395 /* ./../lib/standard//collection//array.nit:272 */
400 stack_frame_head
= fra
.me
.prev
;
403 val_t
metamodel___partial_order___PartialOrder___to_dot_header(val_t p0
){
404 struct {struct stack_frame_t me
;} fra
;
407 static val_t once_value_1
; /* Once value */
408 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
409 fra
.me
.file
= LOCATE_metamodel___partial_order
;
411 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___to_dot_header
;
412 fra
.me
.has_broke
= 0;
414 fra
.me
.REG
[0] = NIT_NULL
;
416 /* ./metamodel//partial_order.nit:82 */
418 fra
.me
.REG
[0] = BOX_NativeString("digraph G {\ngraph [rankdir=BT];\n");
420 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
421 once_value_1
= fra
.me
.REG
[0];
422 register_static_object(&once_value_1
);
423 } else fra
.me
.REG
[0] = once_value_1
;
424 fra
.me
.REG
[0] = fra
.me
.REG
[0];
427 stack_frame_head
= fra
.me
.prev
;
428 return fra
.me
.REG
[0];
430 val_t
metamodel___partial_order___PartialOrder___to_dot_node(val_t p0
, val_t p1
){
431 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
434 static val_t once_value_1
; /* Once value */
435 static val_t once_value_2
; /* Once value */
436 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
437 fra
.me
.file
= LOCATE_metamodel___partial_order
;
439 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___to_dot_node
;
440 fra
.me
.has_broke
= 0;
442 fra
.me
.REG
[0] = NIT_NULL
;
443 fra
.me
.REG
[1] = NIT_NULL
;
444 fra
.me
.REG
[2] = NIT_NULL
;
447 /* ./metamodel//partial_order.nit:88 */
449 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
451 fra
.me
.REG
[2] = BOX_NativeString("\"");
453 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
454 once_value_1
= fra
.me
.REG
[2];
455 register_static_object(&once_value_1
);
456 } else fra
.me
.REG
[2] = once_value_1
;
457 fra
.me
.REG
[2] = fra
.me
.REG
[2];
458 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
459 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
460 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
462 fra
.me
.REG
[1] = BOX_NativeString("\";\n");
464 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
465 once_value_2
= fra
.me
.REG
[1];
466 register_static_object(&once_value_2
);
467 } else fra
.me
.REG
[1] = once_value_2
;
468 fra
.me
.REG
[1] = fra
.me
.REG
[1];
469 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
470 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
473 stack_frame_head
= fra
.me
.prev
;
474 return fra
.me
.REG
[0];
476 val_t
metamodel___partial_order___PartialOrder___to_dot_edge(val_t p0
, val_t p1
, val_t p2
){
477 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
480 static val_t once_value_1
; /* Once value */
481 static val_t once_value_2
; /* Once value */
482 static val_t once_value_3
; /* Once value */
483 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
484 fra
.me
.file
= LOCATE_metamodel___partial_order
;
486 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___to_dot_edge
;
487 fra
.me
.has_broke
= 0;
489 fra
.me
.REG
[0] = NIT_NULL
;
490 fra
.me
.REG
[1] = NIT_NULL
;
491 fra
.me
.REG
[2] = NIT_NULL
;
492 fra
.me
.REG
[3] = NIT_NULL
;
496 /* ./metamodel//partial_order.nit:94 */
498 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
500 fra
.me
.REG
[3] = BOX_NativeString("\"");
502 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
503 once_value_1
= fra
.me
.REG
[3];
504 register_static_object(&once_value_1
);
505 } else fra
.me
.REG
[3] = once_value_1
;
506 fra
.me
.REG
[3] = fra
.me
.REG
[3];
507 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
508 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
509 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
511 fra
.me
.REG
[1] = BOX_NativeString("\" -> \"");
513 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
514 once_value_2
= fra
.me
.REG
[1];
515 register_static_object(&once_value_2
);
516 } else fra
.me
.REG
[1] = once_value_2
;
517 fra
.me
.REG
[1] = fra
.me
.REG
[1];
518 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
519 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
520 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
522 fra
.me
.REG
[2] = BOX_NativeString("\";\n");
524 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
525 once_value_3
= fra
.me
.REG
[2];
526 register_static_object(&once_value_3
);
527 } else fra
.me
.REG
[2] = once_value_3
;
528 fra
.me
.REG
[2] = fra
.me
.REG
[2];
529 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
530 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
533 stack_frame_head
= fra
.me
.prev
;
534 return fra
.me
.REG
[0];
536 val_t
metamodel___partial_order___PartialOrder___select_smallests(val_t p0
, val_t p1
){
537 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
541 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
542 fra
.me
.file
= LOCATE_metamodel___partial_order
;
544 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___select_smallests
;
545 fra
.me
.has_broke
= 0;
547 fra
.me
.REG
[0] = NIT_NULL
;
548 fra
.me
.REG
[1] = NIT_NULL
;
549 fra
.me
.REG
[2] = NIT_NULL
;
550 fra
.me
.REG
[3] = NIT_NULL
;
551 fra
.me
.REG
[4] = NIT_NULL
;
554 /* ./metamodel//partial_order.nit:100 */
555 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
556 if (UNTAG_Bool(REGB0
)) {
558 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
559 if (UNTAG_Bool(REGB1
)) {
560 REGB1
= TAG_Bool(false);
563 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
567 if (UNTAG_Bool(REGB0
)) {
568 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___init();
571 /* ./metamodel//partial_order.nit:101 */
572 REGB0
= CALL_metamodel___partial_order___PartialOrder___has_all(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
573 if (UNTAG_Bool(REGB0
)) {
575 nit_abort("Assert failed", NULL
, LOCATE_metamodel___partial_order
, 101);
577 /* ./metamodel//partial_order.nit:102 */
578 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
579 if (UNTAG_Bool(REGB0
)) {
580 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___partial_order
, 102);
582 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
583 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
584 /* ./metamodel//partial_order.nit:103 */
585 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
586 if (UNTAG_Bool(REGB0
)) {
587 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___partial_order
, 103);
589 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
590 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
591 /* ./metamodel//partial_order.nit:104 */
592 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
593 if (UNTAG_Bool(REGB0
)) {
594 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___partial_order
, 104);
596 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[1])(fra
.me
.REG
[1], (&(fra
.me
)), ((fun_t
)OC_metamodel___partial_order___PartialOrder___select_smallests_2
));
597 /* ./metamodel//partial_order.nit:115 */
598 fra
.me
.REG
[2] = fra
.me
.REG
[3];
601 stack_frame_head
= fra
.me
.prev
;
602 return fra
.me
.REG
[2];
604 void OC_metamodel___partial_order___PartialOrder___select_smallests_2(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
605 struct {struct stack_frame_t me
;} fra
;
609 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
610 fra
.me
.file
= LOCATE_metamodel___partial_order
;
612 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___select_smallests
;
613 fra
.me
.has_broke
= 0;
615 fra
.me
.REG
[0] = NIT_NULL
;
616 fra
.me
.closure_ctx
= closctx_param
;
617 fra
.me
.closure_funs
= CREG
;
620 /* ./metamodel//partial_order.nit:106 */
621 REGB0
= CALL_metamodel___partial_order___PartialOrder___add_to_smallests(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[0], closctx
->REG
[3], closctx
->REG
[4]);
622 /* ./metamodel//partial_order.nit:107 */
623 if (UNTAG_Bool(REGB0
)) {
624 /* ./metamodel//partial_order.nit:110 */
625 fra
.me
.REG
[0] = closctx
->REG
[4];
626 /* ./metamodel//partial_order.nit:111 */
627 closctx
->REG
[4] = closctx
->REG
[3];
628 /* ./metamodel//partial_order.nit:112 */
629 closctx
->REG
[3] = fra
.me
.REG
[0];
631 stack_frame_head
= fra
.me
.prev
;
634 val_t
metamodel___partial_order___PartialOrder___add(val_t p0
, val_t p1
, val_t p2
){
635 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
639 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
640 fra
.me
.file
= LOCATE_metamodel___partial_order
;
642 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___add
;
643 fra
.me
.has_broke
= 0;
645 fra
.me
.REG
[0] = NIT_NULL
;
646 fra
.me
.REG
[1] = NIT_NULL
;
647 fra
.me
.REG
[2] = NIT_NULL
;
648 fra
.me
.REG
[3] = NIT_NULL
;
649 fra
.me
.REG
[4] = NIT_NULL
;
653 /* ./metamodel//partial_order.nit:121 */
654 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
655 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
656 if (UNTAG_Bool(REGB0
)) {
658 nit_abort("Assert failed", NULL
, LOCATE_metamodel___partial_order
, 121);
660 /* ./metamodel//partial_order.nit:122 */
661 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
662 if (UNTAG_Bool(REGB0
)) {
664 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
665 if (UNTAG_Bool(REGB1
)) {
666 REGB1
= TAG_Bool(false);
669 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
673 if (UNTAG_Bool(REGB0
)) {
674 REGB0
= TAG_Bool(true);
676 REGB1
= CALL_metamodel___partial_order___PartialOrder___has_all(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
679 if (UNTAG_Bool(REGB0
)) {
681 nit_abort("Assert failed", NULL
, LOCATE_metamodel___partial_order
, 122);
683 /* ./metamodel//partial_order.nit:123 */
684 fra
.me
.REG
[3] = CALL_metamodel___partial_order___PartialOrder___select_smallests(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
685 /* ./metamodel//partial_order.nit:124 */
686 fra
.me
.REG
[3] = CALL_metamodel___partial_order___PartialOrder___new_poe(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[3]);
687 /* ./metamodel//partial_order.nit:125 */
688 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
689 if (UNTAG_Bool(REGB0
)) {
691 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_metamodel___partial_order
, 125);
693 fra
.me
.REG
[4] = ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
694 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1], fra
.me
.REG
[3]);
695 /* ./metamodel//partial_order.nit:126 */
696 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements_list(fra
.me
.REG
[0])!=NIT_NULL
);
697 if (UNTAG_Bool(REGB0
)) {
699 nit_abort("Uninitialized attribute %s", "_elements_list", LOCATE_metamodel___partial_order
, 126);
701 fra
.me
.REG
[4] = ATTR_metamodel___partial_order___PartialOrder____elements_list(fra
.me
.REG
[0]);
702 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
703 /* ./metamodel//partial_order.nit:127 */
704 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
705 if (UNTAG_Bool(REGB0
)) {
707 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
708 if (UNTAG_Bool(REGB1
)) {
709 REGB1
= TAG_Bool(false);
712 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
716 if (UNTAG_Bool(REGB0
)) {
717 REGB0
= TAG_Bool(true);
719 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
720 if (UNTAG_Bool(REGB1
)) {
721 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___partial_order
, 127);
723 REGB1
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
726 if (UNTAG_Bool(REGB0
)) {
727 /* ./metamodel//partial_order.nit:128 */
728 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____roots(fra
.me
.REG
[0])!=NIT_NULL
);
729 if (UNTAG_Bool(REGB0
)) {
731 nit_abort("Uninitialized attribute %s", "_roots", LOCATE_metamodel___partial_order
, 128);
733 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____roots(fra
.me
.REG
[0]);
734 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
736 /* ./metamodel//partial_order.nit:130 */
739 stack_frame_head
= fra
.me
.prev
;
740 return fra
.me
.REG
[3];
742 val_t
metamodel___partial_order___PartialOrder___has_all(val_t p0
, val_t p1
){
743 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
746 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
747 fra
.me
.file
= LOCATE_metamodel___partial_order
;
749 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___has_all
;
750 fra
.me
.has_broke
= 0;
752 fra
.me
.REG
[0] = NIT_NULL
;
753 fra
.me
.REG
[1] = NIT_NULL
;
756 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[1])(fra
.me
.REG
[1], (&(fra
.me
)), ((fun_t
)OC_metamodel___partial_order___PartialOrder___has_all_1
));
757 switch ((&(fra
.me
))->has_broke
) {
759 case 1: (&(fra
.me
))->has_broke
= 0; goto label3
;
761 /* ./metamodel//partial_order.nit:141 */
762 REGB0
= TAG_Bool(true);
763 fra
.me
.REG
[1] = REGB0
;
766 stack_frame_head
= fra
.me
.prev
;
767 return fra
.me
.REG
[1];
769 void OC_metamodel___partial_order___PartialOrder___has_all_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
770 struct {struct stack_frame_t me
;} fra
;
774 /* ./metamodel//partial_order.nit:136 */
775 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
776 fra
.me
.file
= LOCATE_metamodel___partial_order
;
778 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___has_all
;
779 fra
.me
.has_broke
= 0;
781 fra
.me
.REG
[0] = NIT_NULL
;
782 fra
.me
.closure_ctx
= closctx_param
;
783 fra
.me
.closure_funs
= CREG
;
786 /* ./metamodel//partial_order.nit:137 */
787 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[0]);
788 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
789 if (UNTAG_Bool(REGB0
)) {
790 /* ./metamodel//partial_order.nit:138 */
791 REGB0
= TAG_Bool(false);
792 closctx
->REG
[1] = REGB0
;
793 closctx
->has_broke
= 1;
797 stack_frame_head
= fra
.me
.prev
;
800 val_t
metamodel___partial_order___PartialOrder___new_poe(val_t p0
, val_t p1
, val_t p2
){
801 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
803 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
804 fra
.me
.file
= LOCATE_metamodel___partial_order
;
806 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___new_poe
;
807 fra
.me
.has_broke
= 0;
809 fra
.me
.REG
[0] = NIT_NULL
;
810 fra
.me
.REG
[1] = NIT_NULL
;
811 fra
.me
.REG
[2] = NIT_NULL
;
815 /* ./metamodel//partial_order.nit:147 */
816 fra
.me
.REG
[2] = NEW_PartialOrderElement_metamodel___partial_order___PartialOrderElement___init(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
819 stack_frame_head
= fra
.me
.prev
;
820 return fra
.me
.REG
[2];
822 val_t
metamodel___partial_order___PartialOrder___add_to_smallests(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
823 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
828 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
829 fra
.me
.file
= LOCATE_metamodel___partial_order
;
831 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___add_to_smallests
;
832 fra
.me
.has_broke
= 0;
834 fra
.me
.REG
[0] = NIT_NULL
;
835 fra
.me
.REG
[1] = NIT_NULL
;
836 fra
.me
.REG
[2] = NIT_NULL
;
837 fra
.me
.REG
[3] = NIT_NULL
;
838 fra
.me
.REG
[4] = NIT_NULL
;
839 fra
.me
.REG
[5] = NIT_NULL
;
844 /* ./metamodel//partial_order.nit:157 */
845 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
846 /* ./metamodel//partial_order.nit:158 */
847 fra
.me
.REG
[0] = CALL_metamodel___partial_order___PartialOrder_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
848 /* ./../lib/standard//collection//array.nit:269 */
850 /* ./../lib/standard//collection//array.nit:270 */
851 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
852 if (UNTAG_Bool(REGB1
)) {
854 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
856 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
857 /* ./../lib/standard//collection//array.nit:271 */
858 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
859 /* ./../lib/standard//collection//array.nit:272 */
861 /* ./../lib/standard//collection//array.nit:24 */
862 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
863 if (UNTAG_Bool(REGB1
)) {
865 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
867 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
868 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
869 if (UNTAG_Bool(REGB2
)) {
871 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
873 /* ./../lib/standard//kernel.nit:232 */
874 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
875 /* ./../lib/standard//collection//array.nit:272 */
876 if (UNTAG_Bool(REGB1
)) {
877 /* ./../lib/standard//collection//array.nit:273 */
878 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
879 if (UNTAG_Bool(REGB1
)) {
880 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
882 /* ./../lib/standard//collection//array.nit:718 */
883 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
884 /* ./metamodel//partial_order.nit:160 */
885 REGB1
= CALL_metamodel___partial_order___PartialOrderElement_____g(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
886 if (UNTAG_Bool(REGB1
)) {
887 /* ./metamodel//partial_order.nit:161 */
888 REGB1
= TAG_Bool(false);
891 /* ./metamodel//partial_order.nit:163 */
892 REGB2
= CALL_metamodel___partial_order___PartialOrderElement_____l(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
893 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
894 if (UNTAG_Bool(REGB2
)) {
895 /* ./metamodel//partial_order.nit:164 */
896 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
898 /* ./../lib/standard//collection//array.nit:274 */
900 /* ./../lib/standard//kernel.nit:235 */
901 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
902 /* ./../lib/standard//collection//array.nit:274 */
905 /* ./../lib/standard//collection//array.nit:272 */
910 /* ./metamodel//partial_order.nit:167 */
911 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
912 /* ./metamodel//partial_order.nit:168 */
913 REGB0
= TAG_Bool(true);
917 stack_frame_head
= fra
.me
.prev
;
920 void metamodel___partial_order___PartialOrder___compute_smallers_for(val_t p0
, val_t p1
, val_t p2
){
921 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
924 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
925 fra
.me
.file
= LOCATE_metamodel___partial_order
;
927 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___compute_smallers_for
;
928 fra
.me
.has_broke
= 0;
930 fra
.me
.REG
[0] = NIT_NULL
;
931 fra
.me
.REG
[1] = NIT_NULL
;
932 fra
.me
.REG
[2] = NIT_NULL
;
936 /* ./metamodel//partial_order.nit:173 */
937 fra
.me
.REG
[1] = CALL_metamodel___partial_order___PartialOrderElement___value(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
938 /* ./metamodel//partial_order.nit:174 */
939 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
940 if (UNTAG_Bool(REGB0
)) {
942 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_metamodel___partial_order
, 174);
944 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
945 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead___values(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
946 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_metamodel___partial_order___PartialOrder___compute_smallers_for_1
));
947 stack_frame_head
= fra
.me
.prev
;
950 void OC_metamodel___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
){
951 struct {struct stack_frame_t me
;} fra
;
955 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
956 fra
.me
.file
= LOCATE_metamodel___partial_order
;
958 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___compute_smallers_for
;
959 fra
.me
.has_broke
= 0;
961 fra
.me
.REG
[0] = NIT_NULL
;
962 fra
.me
.closure_ctx
= closctx_param
;
963 fra
.me
.closure_funs
= CREG
;
966 /* ./metamodel//partial_order.nit:175 */
967 REGB0
= CALL_metamodel___partial_order___PartialOrderElement_____l(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
968 if (UNTAG_Bool(REGB0
)) {
969 /* ./metamodel//partial_order.nit:176 */
970 fra
.me
.REG
[0] = CALL_metamodel___partial_order___PartialOrderElement___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
971 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[0]);
973 stack_frame_head
= fra
.me
.prev
;
976 void metamodel___partial_order___PartialOrder___init(val_t p0
, int* init_table
){
977 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_metamodel___partial_order___PartialOrder
].i
;
978 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
980 if (init_table
[itpos0
]) return;
981 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
982 fra
.me
.file
= LOCATE_metamodel___partial_order
;
984 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___init
;
985 fra
.me
.has_broke
= 0;
987 fra
.me
.REG
[0] = NIT_NULL
;
988 fra
.me
.REG
[1] = NIT_NULL
;
990 /* ./metamodel//partial_order.nit:183 */
991 fra
.me
.REG
[1] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
992 ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
993 /* ./metamodel//partial_order.nit:184 */
994 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
995 ATTR_metamodel___partial_order___PartialOrder____elements_list(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
996 /* ./metamodel//partial_order.nit:185 */
997 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
998 ATTR_metamodel___partial_order___PartialOrder____roots(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
999 stack_frame_head
= fra
.me
.prev
;
1000 init_table
[itpos0
] = 1;
1003 val_t
metamodel___partial_order___PartialOrderElement___order(val_t p0
){
1004 struct {struct stack_frame_t me
;} fra
;
1007 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1008 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1010 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___order
;
1011 fra
.me
.has_broke
= 0;
1012 fra
.me
.REG_size
= 1;
1013 fra
.me
.REG
[0] = NIT_NULL
;
1015 /* ./metamodel//partial_order.nit:190 */
1016 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1017 if (UNTAG_Bool(REGB0
)) {
1019 nit_abort("Uninitialized attribute %s", "_order", LOCATE_metamodel___partial_order
, 190);
1021 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1022 stack_frame_head
= fra
.me
.prev
;
1023 return fra
.me
.REG
[0];
1025 val_t
metamodel___partial_order___PartialOrderElement___value(val_t p0
){
1026 struct {struct stack_frame_t me
;} fra
;
1029 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1030 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1032 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___value
;
1033 fra
.me
.has_broke
= 0;
1034 fra
.me
.REG_size
= 1;
1035 fra
.me
.REG
[0] = NIT_NULL
;
1037 /* ./metamodel//partial_order.nit:193 */
1038 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0])!=NIT_NULL
);
1039 if (UNTAG_Bool(REGB0
)) {
1041 nit_abort("Uninitialized attribute %s", "_value", LOCATE_metamodel___partial_order
, 193);
1043 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0]);
1044 stack_frame_head
= fra
.me
.prev
;
1045 return fra
.me
.REG
[0];
1047 val_t
metamodel___partial_order___PartialOrderElement___rank(val_t p0
){
1048 struct {struct stack_frame_t me
;} fra
;
1051 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1052 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1054 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___rank
;
1055 fra
.me
.has_broke
= 0;
1056 fra
.me
.REG_size
= 1;
1057 fra
.me
.REG
[0] = NIT_NULL
;
1059 /* ./metamodel//partial_order.nit:196 */
1060 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____rank(fra
.me
.REG
[0])!=NIT_NULL
);
1061 if (UNTAG_Bool(REGB0
)) {
1063 nit_abort("Uninitialized attribute %s", "_rank", LOCATE_metamodel___partial_order
, 196);
1065 REGB0
= ATTR_metamodel___partial_order___PartialOrderElement____rank(fra
.me
.REG
[0]);
1066 stack_frame_head
= fra
.me
.prev
;
1069 val_t
metamodel___partial_order___PartialOrderElement___direct_greaters(val_t p0
){
1070 struct {struct stack_frame_t me
;} fra
;
1073 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1074 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1076 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___direct_greaters
;
1077 fra
.me
.has_broke
= 0;
1078 fra
.me
.REG_size
= 1;
1079 fra
.me
.REG
[0] = NIT_NULL
;
1081 /* ./metamodel//partial_order.nit:202 */
1082 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____direct_greaters(fra
.me
.REG
[0])!=NIT_NULL
);
1083 if (UNTAG_Bool(REGB0
)) {
1085 nit_abort("Uninitialized attribute %s", "_direct_greaters", LOCATE_metamodel___partial_order
, 202);
1087 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____direct_greaters(fra
.me
.REG
[0]);
1088 stack_frame_head
= fra
.me
.prev
;
1089 return fra
.me
.REG
[0];
1091 val_t
metamodel___partial_order___PartialOrderElement___direct_smallers(val_t p0
){
1092 struct {struct stack_frame_t me
;} fra
;
1095 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1096 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1098 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___direct_smallers
;
1099 fra
.me
.has_broke
= 0;
1100 fra
.me
.REG_size
= 1;
1101 fra
.me
.REG
[0] = NIT_NULL
;
1103 /* ./metamodel//partial_order.nit:205 */
1104 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____direct_smallers(fra
.me
.REG
[0])!=NIT_NULL
);
1105 if (UNTAG_Bool(REGB0
)) {
1107 nit_abort("Uninitialized attribute %s", "_direct_smallers", LOCATE_metamodel___partial_order
, 205);
1109 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____direct_smallers(fra
.me
.REG
[0]);
1110 stack_frame_head
= fra
.me
.prev
;
1111 return fra
.me
.REG
[0];
1113 val_t
metamodel___partial_order___PartialOrderElement___greaters(val_t p0
){
1114 struct {struct stack_frame_t me
;} fra
;
1117 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1118 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1120 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___greaters
;
1121 fra
.me
.has_broke
= 0;
1122 fra
.me
.REG_size
= 1;
1123 fra
.me
.REG
[0] = NIT_NULL
;
1125 /* ./metamodel//partial_order.nit:208 */
1126 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0])!=NIT_NULL
);
1127 if (UNTAG_Bool(REGB0
)) {
1129 nit_abort("Uninitialized attribute %s", "_greaters", LOCATE_metamodel___partial_order
, 208);
1131 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0]);
1132 stack_frame_head
= fra
.me
.prev
;
1133 return fra
.me
.REG
[0];
1135 val_t
metamodel___partial_order___PartialOrderElement___greaters_and_self(val_t p0
){
1136 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1140 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1141 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1143 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___greaters_and_self
;
1144 fra
.me
.has_broke
= 0;
1145 fra
.me
.REG_size
= 4;
1146 fra
.me
.REG
[0] = NIT_NULL
;
1147 fra
.me
.REG
[1] = NIT_NULL
;
1148 fra
.me
.REG
[2] = NIT_NULL
;
1149 fra
.me
.REG
[3] = NIT_NULL
;
1151 /* ./metamodel//partial_order.nit:214 */
1152 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1153 /* ./metamodel//partial_order.nit:217 */
1154 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____greaters_and_self_cache(fra
.me
.REG
[1]);
1155 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1156 if (UNTAG_Bool(REGB0
)) {
1158 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1159 if (UNTAG_Bool(REGB1
)) {
1160 REGB1
= TAG_Bool(false);
1163 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1167 if (UNTAG_Bool(REGB0
)) {
1168 /* ./metamodel//partial_order.nit:218 */
1169 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[1])!=NIT_NULL
);
1170 if (UNTAG_Bool(REGB0
)) {
1172 nit_abort("Uninitialized attribute %s", "_greaters", LOCATE_metamodel___partial_order
, 218);
1174 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[1]);
1175 fra
.me
.REG
[2] = CALL_standard___collection___array___Collection___to_a(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1176 ATTR_metamodel___partial_order___PartialOrderElement____greaters_and_self_cache(fra
.me
.REG
[1]) = fra
.me
.REG
[2];
1177 /* ./metamodel//partial_order.nit:219 */
1178 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____greaters_and_self_cache(fra
.me
.REG
[1]);
1179 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[1])!=NIT_NULL
);
1180 if (UNTAG_Bool(REGB0
)) {
1182 nit_abort("Uninitialized attribute %s", "_value", LOCATE_metamodel___partial_order
, 219);
1184 fra
.me
.REG
[3] = ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[1]);
1185 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1186 if (UNTAG_Bool(REGB0
)) {
1187 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___partial_order
, 219);
1189 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1191 /* ./metamodel//partial_order.nit:221 */
1192 fra
.me
.REG
[1] = ATTR_metamodel___partial_order___PartialOrderElement____greaters_and_self_cache(fra
.me
.REG
[1]);
1193 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
1194 if (UNTAG_Bool(REGB0
)) {
1196 nit_abort("Cast failed", NULL
, LOCATE_metamodel___partial_order
, 221);
1200 stack_frame_head
= fra
.me
.prev
;
1201 return fra
.me
.REG
[1];
1203 val_t
metamodel___partial_order___PartialOrderElement___smallers(val_t p0
){
1204 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1209 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1210 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1212 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___smallers
;
1213 fra
.me
.has_broke
= 0;
1214 fra
.me
.REG_size
= 3;
1215 fra
.me
.REG
[0] = NIT_NULL
;
1216 fra
.me
.REG
[1] = NIT_NULL
;
1217 fra
.me
.REG
[2] = NIT_NULL
;
1219 /* ./metamodel//partial_order.nit:233 */
1220 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____smallers_last_length(fra
.me
.REG
[0])!=NIT_NULL
);
1221 if (UNTAG_Bool(REGB0
)) {
1223 nit_abort("Uninitialized attribute %s", "_smallers_last_length", LOCATE_metamodel___partial_order
, 233);
1225 REGB0
= ATTR_metamodel___partial_order___PartialOrderElement____smallers_last_length(fra
.me
.REG
[0]);
1226 REGB1
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1227 if (UNTAG_Bool(REGB1
)) {
1229 nit_abort("Uninitialized attribute %s", "_order", LOCATE_metamodel___partial_order
, 233);
1231 fra
.me
.REG
[1] = ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1232 REGB1
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1233 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1234 if (UNTAG_Bool(REGB2
)) {
1236 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1238 /* ./../lib/standard//kernel.nit:232 */
1239 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1240 /* ./metamodel//partial_order.nit:233 */
1241 if (UNTAG_Bool(REGB1
)) {
1242 /* ./metamodel//partial_order.nit:234 */
1243 REGB1
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1244 if (UNTAG_Bool(REGB1
)) {
1246 nit_abort("Uninitialized attribute %s", "_order", LOCATE_metamodel___partial_order
, 234);
1248 fra
.me
.REG
[1] = ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1249 REGB1
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____smallers_cache(fra
.me
.REG
[0])!=NIT_NULL
);
1250 if (UNTAG_Bool(REGB1
)) {
1252 nit_abort("Uninitialized attribute %s", "_smallers_cache", LOCATE_metamodel___partial_order
, 234);
1254 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____smallers_cache(fra
.me
.REG
[0]);
1255 CALL_metamodel___partial_order___PartialOrder___compute_smallers_for(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
1256 /* ./metamodel//partial_order.nit:235 */
1257 REGB1
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1258 if (UNTAG_Bool(REGB1
)) {
1260 nit_abort("Uninitialized attribute %s", "_order", LOCATE_metamodel___partial_order
, 235);
1262 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1263 REGB1
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1264 ATTR_metamodel___partial_order___PartialOrderElement____smallers_last_length(fra
.me
.REG
[0]) = REGB1
;
1266 /* ./metamodel//partial_order.nit:237 */
1267 REGB1
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____smallers_cache(fra
.me
.REG
[0])!=NIT_NULL
);
1268 if (UNTAG_Bool(REGB1
)) {
1270 nit_abort("Uninitialized attribute %s", "_smallers_cache", LOCATE_metamodel___partial_order
, 237);
1272 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____smallers_cache(fra
.me
.REG
[0]);
1275 stack_frame_head
= fra
.me
.prev
;
1276 return fra
.me
.REG
[0];
1278 val_t
metamodel___partial_order___PartialOrderElement___linear_extension(val_t p0
){
1279 struct {struct stack_frame_t me
; val_t MORE_REG
[9];} fra
;
1285 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1286 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1288 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___linear_extension
;
1289 fra
.me
.has_broke
= 0;
1290 fra
.me
.REG_size
= 10;
1291 fra
.me
.REG
[0] = NIT_NULL
;
1292 fra
.me
.REG
[1] = NIT_NULL
;
1293 fra
.me
.REG
[2] = NIT_NULL
;
1294 fra
.me
.REG
[3] = NIT_NULL
;
1295 fra
.me
.REG
[4] = NIT_NULL
;
1296 fra
.me
.REG
[5] = NIT_NULL
;
1297 fra
.me
.REG
[6] = NIT_NULL
;
1298 fra
.me
.REG
[7] = NIT_NULL
;
1299 fra
.me
.REG
[8] = NIT_NULL
;
1300 fra
.me
.REG
[9] = NIT_NULL
;
1302 /* ./metamodel//partial_order.nit:243 */
1303 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1304 /* ./metamodel//partial_order.nit:247 */
1305 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____linear_extension_cache(fra
.me
.REG
[1]);
1306 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1307 if (UNTAG_Bool(REGB0
)) {
1309 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1310 if (UNTAG_Bool(REGB1
)) {
1311 REGB1
= TAG_Bool(false);
1314 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1318 if (UNTAG_Bool(REGB0
)) {
1319 /* ./metamodel//partial_order.nit:248 */
1320 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___init();
1321 /* ./metamodel//partial_order.nit:249 */
1322 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___init();
1323 /* ./metamodel//partial_order.nit:250 */
1324 fra
.me
.REG
[4] = CALL_metamodel___partial_order___PartialOrderElement___value(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1325 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1326 /* ./metamodel//partial_order.nit:251 */
1327 fra
.me
.REG
[4] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1328 /* ./../lib/standard//collection//array.nit:269 */
1330 /* ./../lib/standard//collection//array.nit:270 */
1331 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1332 if (UNTAG_Bool(REGB1
)) {
1334 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1336 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1337 /* ./../lib/standard//collection//array.nit:271 */
1338 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
1339 /* ./../lib/standard//collection//array.nit:272 */
1341 /* ./../lib/standard//collection//array.nit:24 */
1342 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1343 if (UNTAG_Bool(REGB1
)) {
1345 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1347 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1348 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1349 if (UNTAG_Bool(REGB2
)) {
1351 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1353 /* ./../lib/standard//kernel.nit:232 */
1354 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1355 /* ./../lib/standard//collection//array.nit:272 */
1356 if (UNTAG_Bool(REGB1
)) {
1357 /* ./../lib/standard//collection//array.nit:273 */
1358 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1359 if (UNTAG_Bool(REGB1
)) {
1360 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1362 /* ./../lib/standard//collection//array.nit:718 */
1363 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
1364 /* ./metamodel//partial_order.nit:252 */
1365 fra
.me
.REG
[7] = CALL_metamodel___partial_order___PartialOrderElement___order(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1366 fra
.me
.REG
[6] = CALL_metamodel___partial_order___PartialOrder_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
1367 fra
.me
.REG
[6] = CALL_metamodel___partial_order___PartialOrderElement___linear_extension(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1368 /* ./metamodel//partial_order.nit:253 */
1369 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1370 /* ./../lib/standard//collection//array.nit:266 */
1371 fra
.me
.REG
[7] = fra
.me
.REG
[2];
1372 /* ./../lib/standard//collection//array.nit:269 */
1374 /* ./../lib/standard//collection//array.nit:270 */
1375 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
1376 if (UNTAG_Bool(REGB2
)) {
1378 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1380 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
1381 /* ./../lib/standard//collection//array.nit:271 */
1382 fra
.me
.REG
[8] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
1383 /* ./../lib/standard//collection//array.nit:272 */
1385 /* ./../lib/standard//collection//array.nit:24 */
1386 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
1387 if (UNTAG_Bool(REGB2
)) {
1389 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1391 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
1392 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1393 if (UNTAG_Bool(REGB3
)) {
1395 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1397 /* ./../lib/standard//kernel.nit:232 */
1398 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1399 /* ./../lib/standard//collection//array.nit:272 */
1400 if (UNTAG_Bool(REGB2
)) {
1401 /* ./../lib/standard//collection//array.nit:273 */
1402 REGB2
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1403 if (UNTAG_Bool(REGB2
)) {
1404 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1406 /* ./../lib/standard//collection//array.nit:718 */
1407 fra
.me
.REG
[9] = ((Nit_NativeArray
)fra
.me
.REG
[8])->val
[UNTAG_Int(REGB1
)];
1408 /* ./metamodel//partial_order.nit:255 */
1409 REGB2
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[9]);
1410 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
1411 if (UNTAG_Bool(REGB2
)) {
1412 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[9]);
1414 /* ./../lib/standard//collection//array.nit:274 */
1416 /* ./../lib/standard//kernel.nit:235 */
1417 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
1418 /* ./../lib/standard//collection//array.nit:274 */
1421 /* ./../lib/standard//collection//array.nit:272 */
1426 /* ./metamodel//partial_order.nit:257 */
1427 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
1428 /* ./metamodel//partial_order.nit:259 */
1429 fra
.me
.REG
[6] = fra
.me
.REG
[2];
1430 /* ./metamodel//partial_order.nit:260 */
1431 fra
.me
.REG
[2] = fra
.me
.REG
[3];
1432 /* ./metamodel//partial_order.nit:261 */
1433 fra
.me
.REG
[3] = fra
.me
.REG
[6];
1434 /* ./../lib/standard//collection//array.nit:274 */
1436 /* ./../lib/standard//kernel.nit:235 */
1437 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1438 /* ./../lib/standard//collection//array.nit:274 */
1441 /* ./../lib/standard//collection//array.nit:272 */
1446 /* ./metamodel//partial_order.nit:263 */
1447 ATTR_metamodel___partial_order___PartialOrderElement____linear_extension_cache(fra
.me
.REG
[1]) = fra
.me
.REG
[2];
1449 /* ./metamodel//partial_order.nit:265 */
1450 fra
.me
.REG
[1] = ATTR_metamodel___partial_order___PartialOrderElement____linear_extension_cache(fra
.me
.REG
[1]);
1451 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
1452 if (UNTAG_Bool(REGB0
)) {
1454 nit_abort("Cast failed", NULL
, LOCATE_metamodel___partial_order
, 265);
1458 stack_frame_head
= fra
.me
.prev
;
1459 return fra
.me
.REG
[1];
1461 val_t
metamodel___partial_order___PartialOrderElement___reverse_linear_extension(val_t p0
){
1462 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1467 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1468 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1470 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___reverse_linear_extension
;
1471 fra
.me
.has_broke
= 0;
1472 fra
.me
.REG_size
= 7;
1473 fra
.me
.REG
[0] = NIT_NULL
;
1474 fra
.me
.REG
[1] = NIT_NULL
;
1475 fra
.me
.REG
[2] = NIT_NULL
;
1476 fra
.me
.REG
[3] = NIT_NULL
;
1477 fra
.me
.REG
[4] = NIT_NULL
;
1478 fra
.me
.REG
[5] = NIT_NULL
;
1479 fra
.me
.REG
[6] = NIT_NULL
;
1481 /* ./metamodel//partial_order.nit:271 */
1482 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1483 /* ./metamodel//partial_order.nit:275 */
1484 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____reverse_linear_extension_cache(fra
.me
.REG
[1]);
1485 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1486 if (UNTAG_Bool(REGB0
)) {
1488 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1489 if (UNTAG_Bool(REGB1
)) {
1490 REGB1
= TAG_Bool(false);
1493 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1497 if (UNTAG_Bool(REGB0
)) {
1498 /* ./metamodel//partial_order.nit:276 */
1499 fra
.me
.REG
[2] = NEW_HashSet_standard___collection___hash_collection___HashSet___init();
1500 /* ./metamodel//partial_order.nit:277 */
1501 fra
.me
.REG
[3] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1502 /* ./../lib/standard//collection//array.nit:269 */
1504 /* ./../lib/standard//collection//array.nit:270 */
1505 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1506 if (UNTAG_Bool(REGB1
)) {
1508 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1510 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1511 /* ./../lib/standard//collection//array.nit:271 */
1512 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
1513 /* ./../lib/standard//collection//array.nit:272 */
1515 /* ./../lib/standard//collection//array.nit:24 */
1516 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1517 if (UNTAG_Bool(REGB1
)) {
1519 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1521 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1522 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1523 if (UNTAG_Bool(REGB2
)) {
1525 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1527 /* ./../lib/standard//kernel.nit:232 */
1528 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1529 /* ./../lib/standard//collection//array.nit:272 */
1530 if (UNTAG_Bool(REGB1
)) {
1531 /* ./../lib/standard//collection//array.nit:273 */
1532 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1533 if (UNTAG_Bool(REGB1
)) {
1534 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1536 /* ./../lib/standard//collection//array.nit:718 */
1537 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
1538 /* ./metamodel//partial_order.nit:278 */
1539 fra
.me
.REG
[6] = CALL_metamodel___partial_order___PartialOrderElement___order(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1540 fra
.me
.REG
[5] = CALL_metamodel___partial_order___PartialOrder_____bra(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1541 fra
.me
.REG
[5] = CALL_metamodel___partial_order___PartialOrderElement___linear_extension(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1542 /* ./metamodel//partial_order.nit:279 */
1543 CALL_standard___collection___abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
1544 /* ./../lib/standard//collection//array.nit:274 */
1546 /* ./../lib/standard//kernel.nit:235 */
1547 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1548 /* ./../lib/standard//collection//array.nit:274 */
1551 /* ./../lib/standard//collection//array.nit:272 */
1556 /* ./metamodel//partial_order.nit:281 */
1557 fra
.me
.REG
[4] = CALL_metamodel___partial_order___PartialOrderElement___value(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1558 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1559 /* ./metamodel//partial_order.nit:282 */
1560 fra
.me
.REG
[2] = CALL_standard___collection___array___Collection___to_a(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1561 ATTR_metamodel___partial_order___PartialOrderElement____linear_extension_cache(fra
.me
.REG
[1]) = fra
.me
.REG
[2];
1563 /* ./metamodel//partial_order.nit:284 */
1564 fra
.me
.REG
[1] = ATTR_metamodel___partial_order___PartialOrderElement____linear_extension_cache(fra
.me
.REG
[1]);
1565 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
1566 if (UNTAG_Bool(REGB0
)) {
1568 nit_abort("Cast failed", NULL
, LOCATE_metamodel___partial_order
, 284);
1572 stack_frame_head
= fra
.me
.prev
;
1573 return fra
.me
.REG
[1];
1575 val_t
metamodel___partial_order___PartialOrderElement_____l(val_t p0
, val_t p1
){
1576 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1579 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1580 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1582 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement_____l
;
1583 fra
.me
.has_broke
= 0;
1584 fra
.me
.REG_size
= 2;
1585 fra
.me
.REG
[0] = NIT_NULL
;
1586 fra
.me
.REG
[1] = NIT_NULL
;
1589 /* ./metamodel//partial_order.nit:290 */
1590 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0])!=NIT_NULL
);
1591 if (UNTAG_Bool(REGB0
)) {
1593 nit_abort("Uninitialized attribute %s", "_greaters", LOCATE_metamodel___partial_order
, 290);
1595 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0]);
1596 REGB0
= CALL_standard___collection___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
metamodel___partial_order___PartialOrderElement_____leq(val_t p0
, val_t p1
){
1603 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1607 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1608 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1610 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement_____leq
;
1611 fra
.me
.has_broke
= 0;
1612 fra
.me
.REG_size
= 3;
1613 fra
.me
.REG
[0] = NIT_NULL
;
1614 fra
.me
.REG
[1] = NIT_NULL
;
1615 fra
.me
.REG
[2] = NIT_NULL
;
1618 /* ./metamodel//partial_order.nit:296 */
1619 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0])!=NIT_NULL
);
1620 if (UNTAG_Bool(REGB0
)) {
1622 nit_abort("Uninitialized attribute %s", "_value", LOCATE_metamodel___partial_order
, 296);
1624 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0]);
1625 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[1]));
1626 if (UNTAG_Bool(REGB0
)) {
1628 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1631 if (UNTAG_Bool(REGB0
)) {
1632 REGB0
= TAG_Bool(true);
1634 REGB1
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0])!=NIT_NULL
);
1635 if (UNTAG_Bool(REGB1
)) {
1637 nit_abort("Uninitialized attribute %s", "_greaters", LOCATE_metamodel___partial_order
, 296);
1639 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0]);
1640 REGB1
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1645 stack_frame_head
= fra
.me
.prev
;
1648 val_t
metamodel___partial_order___PartialOrderElement_____g(val_t p0
, val_t p1
){
1649 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1652 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1653 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1655 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement_____g
;
1656 fra
.me
.has_broke
= 0;
1657 fra
.me
.REG_size
= 3;
1658 fra
.me
.REG
[0] = NIT_NULL
;
1659 fra
.me
.REG
[1] = NIT_NULL
;
1660 fra
.me
.REG
[2] = NIT_NULL
;
1663 /* ./metamodel//partial_order.nit:302 */
1664 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1665 if (UNTAG_Bool(REGB0
)) {
1667 nit_abort("Uninitialized attribute %s", "_order", LOCATE_metamodel___partial_order
, 302);
1669 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1670 fra
.me
.REG
[1] = CALL_metamodel___partial_order___PartialOrder_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1671 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0])!=NIT_NULL
);
1672 if (UNTAG_Bool(REGB0
)) {
1674 nit_abort("Uninitialized attribute %s", "_value", LOCATE_metamodel___partial_order
, 302);
1676 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0]);
1677 REGB0
= CALL_metamodel___partial_order___PartialOrderElement_____l(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1680 stack_frame_head
= fra
.me
.prev
;
1683 val_t
metamodel___partial_order___PartialOrderElement_____geq(val_t p0
, val_t p1
){
1684 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1688 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1689 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1691 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement_____geq
;
1692 fra
.me
.has_broke
= 0;
1693 fra
.me
.REG_size
= 3;
1694 fra
.me
.REG
[0] = NIT_NULL
;
1695 fra
.me
.REG
[1] = NIT_NULL
;
1696 fra
.me
.REG
[2] = NIT_NULL
;
1699 /* ./metamodel//partial_order.nit:308 */
1700 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0])!=NIT_NULL
);
1701 if (UNTAG_Bool(REGB0
)) {
1703 nit_abort("Uninitialized attribute %s", "_value", LOCATE_metamodel___partial_order
, 308);
1705 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0]);
1706 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[1]));
1707 if (UNTAG_Bool(REGB0
)) {
1709 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1712 if (UNTAG_Bool(REGB0
)) {
1713 REGB0
= TAG_Bool(true);
1715 REGB1
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1716 if (UNTAG_Bool(REGB1
)) {
1718 nit_abort("Uninitialized attribute %s", "_order", LOCATE_metamodel___partial_order
, 308);
1720 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1721 fra
.me
.REG
[1] = CALL_metamodel___partial_order___PartialOrder_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1722 REGB1
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0])!=NIT_NULL
);
1723 if (UNTAG_Bool(REGB1
)) {
1725 nit_abort("Uninitialized attribute %s", "_value", LOCATE_metamodel___partial_order
, 308);
1727 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0]);
1728 REGB1
= CALL_metamodel___partial_order___PartialOrderElement_____l(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1733 stack_frame_head
= fra
.me
.prev
;
1736 void metamodel___partial_order___PartialOrderElement___register_direct_smallers(val_t p0
, val_t p1
){
1737 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1740 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1741 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1743 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___register_direct_smallers
;
1744 fra
.me
.has_broke
= 0;
1745 fra
.me
.REG_size
= 2;
1746 fra
.me
.REG
[0] = NIT_NULL
;
1747 fra
.me
.REG
[1] = NIT_NULL
;
1750 /* ./metamodel//partial_order.nit:313 */
1751 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____direct_smallers(fra
.me
.REG
[0])!=NIT_NULL
);
1752 if (UNTAG_Bool(REGB0
)) {
1754 nit_abort("Uninitialized attribute %s", "_direct_smallers", LOCATE_metamodel___partial_order
, 313);
1756 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____direct_smallers(fra
.me
.REG
[0]);
1757 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1758 stack_frame_head
= fra
.me
.prev
;
1761 void metamodel___partial_order___PartialOrderElement___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
1762 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_metamodel___partial_order___PartialOrderElement
].i
;
1763 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1769 if (init_table
[itpos1
]) return;
1770 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1771 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1773 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___init
;
1774 fra
.me
.has_broke
= 0;
1775 fra
.me
.REG_size
= 7;
1776 fra
.me
.REG
[0] = NIT_NULL
;
1777 fra
.me
.REG
[1] = NIT_NULL
;
1778 fra
.me
.REG
[2] = NIT_NULL
;
1779 fra
.me
.REG
[3] = NIT_NULL
;
1780 fra
.me
.REG
[4] = NIT_NULL
;
1781 fra
.me
.REG
[5] = NIT_NULL
;
1782 fra
.me
.REG
[6] = NIT_NULL
;
1787 /* ./metamodel//partial_order.nit:318 */
1788 ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1789 /* ./metamodel//partial_order.nit:319 */
1790 ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
1791 /* ./metamodel//partial_order.nit:320 */
1792 ATTR_metamodel___partial_order___PartialOrderElement____direct_greaters(fra
.me
.REG
[0]) = fra
.me
.REG
[3];
1793 /* ./metamodel//partial_order.nit:321 */
1794 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
1795 ATTR_metamodel___partial_order___PartialOrderElement____direct_smallers(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1796 /* ./metamodel//partial_order.nit:323 */
1797 fra
.me
.REG
[1] = NEW_HashSet_standard___collection___hash_collection___HashSet___init();
1798 ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1799 /* ./metamodel//partial_order.nit:324 */
1800 fra
.me
.REG
[1] = NEW_HashSet_standard___collection___hash_collection___HashSet___init();
1801 ATTR_metamodel___partial_order___PartialOrderElement____smallers_cache(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1802 /* ./metamodel//partial_order.nit:326 */
1803 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0])!=NIT_NULL
);
1804 if (UNTAG_Bool(REGB0
)) {
1806 nit_abort("Uninitialized attribute %s", "_greaters", LOCATE_metamodel___partial_order
, 326);
1808 fra
.me
.REG
[1] = ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0]);
1809 /* ./metamodel//partial_order.nit:327 */
1811 /* ./../lib/standard//collection//array.nit:269 */
1813 /* ./../lib/standard//collection//array.nit:270 */
1814 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1815 if (UNTAG_Bool(REGB2
)) {
1817 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1819 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1820 /* ./../lib/standard//collection//array.nit:271 */
1821 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
1822 /* ./../lib/standard//collection//array.nit:272 */
1824 /* ./../lib/standard//collection//array.nit:24 */
1825 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1826 if (UNTAG_Bool(REGB2
)) {
1828 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1830 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1831 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1832 if (UNTAG_Bool(REGB3
)) {
1834 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1836 /* ./../lib/standard//kernel.nit:232 */
1837 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1838 /* ./../lib/standard//collection//array.nit:272 */
1839 if (UNTAG_Bool(REGB2
)) {
1840 /* ./../lib/standard//collection//array.nit:273 */
1841 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1842 if (UNTAG_Bool(REGB2
)) {
1843 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1845 /* ./../lib/standard//collection//array.nit:718 */
1846 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB1
)];
1847 /* ./metamodel//partial_order.nit:329 */
1848 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
1849 /* ./metamodel//partial_order.nit:330 */
1850 REGB2
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1851 if (UNTAG_Bool(REGB2
)) {
1853 nit_abort("Uninitialized attribute %s", "_order", LOCATE_metamodel___partial_order
, 330);
1855 fra
.me
.REG
[6] = ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1856 fra
.me
.REG
[5] = CALL_metamodel___partial_order___PartialOrder_____bra(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1857 /* ./metamodel//partial_order.nit:331 */
1858 REGB2
= CALL_metamodel___partial_order___PartialOrderElement___rank(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1859 REGB3
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1860 if (UNTAG_Bool(REGB3
)) {
1862 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1864 /* ./../lib/standard//kernel.nit:233 */
1865 REGB2
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB0
));
1866 /* ./metamodel//partial_order.nit:331 */
1867 if (UNTAG_Bool(REGB2
)) {
1868 /* ./metamodel//partial_order.nit:332 */
1869 REGB2
= CALL_metamodel___partial_order___PartialOrderElement___rank(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1871 /* ./../lib/standard//kernel.nit:235 */
1872 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
1873 /* ./metamodel//partial_order.nit:332 */
1876 /* ./metamodel//partial_order.nit:334 */
1877 CALL_metamodel___partial_order___PartialOrderElement___register_direct_smallers(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
1878 /* ./metamodel//partial_order.nit:335 */
1879 fra
.me
.REG
[5] = CALL_metamodel___partial_order___PartialOrderElement___greaters(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1880 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[5])(fra
.me
.REG
[5], (&(fra
.me
)), ((fun_t
)OC_metamodel___partial_order___PartialOrderElement___init_1
));
1881 /* ./../lib/standard//collection//array.nit:274 */
1883 /* ./../lib/standard//kernel.nit:235 */
1884 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
1885 /* ./../lib/standard//collection//array.nit:274 */
1888 /* ./../lib/standard//collection//array.nit:272 */
1893 /* ./metamodel//partial_order.nit:339 */
1894 ATTR_metamodel___partial_order___PartialOrderElement____rank(fra
.me
.REG
[0]) = REGB0
;
1895 stack_frame_head
= fra
.me
.prev
;
1896 init_table
[itpos1
] = 1;
1899 void OC_metamodel___partial_order___PartialOrderElement___init_1(struct stack_frame_t
*closctx
, val_t p0
){
1900 struct {struct stack_frame_t me
;} fra
;
1902 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1903 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1905 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___init
;
1906 fra
.me
.has_broke
= 0;
1907 fra
.me
.REG_size
= 1;
1908 fra
.me
.REG
[0] = NIT_NULL
;
1910 /* ./metamodel//partial_order.nit:336 */
1911 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[0]);
1912 stack_frame_head
= fra
.me
.prev
;