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
.nitni_local_ref_head
= NULL
;
14 fra
.me
.REG
[0] = NIT_NULL
;
16 /* metamodel/partial_order.nit:30 */
17 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____roots(fra
.me
.REG
[0])!=NIT_NULL
);
18 if (UNTAG_Bool(REGB0
)) {
20 nit_abort("Uninitialized attribute %s", "_roots", LOCATE_metamodel___partial_order
, 30);
22 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____roots(fra
.me
.REG
[0]);
23 stack_frame_head
= fra
.me
.prev
;
26 val_t
metamodel___partial_order___PartialOrder___is_empty(val_t p0
){
27 struct {struct stack_frame_t me
;} fra
;
30 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
31 fra
.me
.file
= LOCATE_metamodel___partial_order
;
33 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___is_empty
;
36 fra
.me
.nitni_local_ref_head
= NULL
;
37 fra
.me
.REG
[0] = NIT_NULL
;
39 /* metamodel/partial_order.nit:35 */
40 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
41 if (UNTAG_Bool(REGB0
)) {
43 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_metamodel___partial_order
, 35);
45 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
46 REGB0
= CALL_standard___collection___abstract_collection___MapRead___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
49 stack_frame_head
= fra
.me
.prev
;
52 val_t
metamodel___partial_order___PartialOrder___length(val_t p0
){
53 struct {struct stack_frame_t me
;} fra
;
56 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
57 fra
.me
.file
= LOCATE_metamodel___partial_order
;
59 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___length
;
62 fra
.me
.nitni_local_ref_head
= NULL
;
63 fra
.me
.REG
[0] = NIT_NULL
;
65 /* metamodel/partial_order.nit:37 */
66 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
67 if (UNTAG_Bool(REGB0
)) {
69 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_metamodel___partial_order
, 37);
71 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
72 REGB0
= CALL_standard___collection___abstract_collection___MapRead___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
75 stack_frame_head
= fra
.me
.prev
;
78 val_t
metamodel___partial_order___PartialOrder___first(val_t p0
){
79 struct {struct stack_frame_t me
;} fra
;
82 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
83 fra
.me
.file
= LOCATE_metamodel___partial_order
;
85 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___first
;
88 fra
.me
.nitni_local_ref_head
= NULL
;
89 fra
.me
.REG
[0] = NIT_NULL
;
91 /* metamodel/partial_order.nit:39 */
92 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements_list(fra
.me
.REG
[0])!=NIT_NULL
);
93 if (UNTAG_Bool(REGB0
)) {
95 nit_abort("Uninitialized attribute %s", "_elements_list", LOCATE_metamodel___partial_order
, 39);
97 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____elements_list(fra
.me
.REG
[0]);
98 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
101 stack_frame_head
= fra
.me
.prev
;
102 return fra
.me
.REG
[0];
104 val_t
metamodel___partial_order___PartialOrder___has(val_t p0
, val_t p1
){
105 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
108 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
109 fra
.me
.file
= LOCATE_metamodel___partial_order
;
111 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___has
;
112 fra
.me
.has_broke
= 0;
114 fra
.me
.nitni_local_ref_head
= NULL
;
115 fra
.me
.REG
[0] = NIT_NULL
;
116 fra
.me
.REG
[1] = NIT_NULL
;
119 /* metamodel/partial_order.nit:41 */
120 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
121 if (UNTAG_Bool(REGB0
)) {
123 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_metamodel___partial_order
, 41);
125 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
126 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
129 stack_frame_head
= fra
.me
.prev
;
132 val_t
metamodel___partial_order___PartialOrder___has_only(val_t p0
, val_t p1
){
133 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
138 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
139 fra
.me
.file
= LOCATE_metamodel___partial_order
;
141 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___has_only
;
142 fra
.me
.has_broke
= 0;
144 fra
.me
.nitni_local_ref_head
= NULL
;
145 fra
.me
.REG
[0] = NIT_NULL
;
146 fra
.me
.REG
[1] = NIT_NULL
;
147 fra
.me
.REG
[2] = NIT_NULL
;
150 /* metamodel/partial_order.nit:43 */
151 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
152 if (UNTAG_Bool(REGB0
)) {
154 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_metamodel___partial_order
, 43);
156 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
157 REGB0
= CALL_standard___collection___abstract_collection___MapRead___length(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
159 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
160 if (UNTAG_Bool(REGB2
)) {
162 /* ../lib/standard/kernel.nit:227 */
163 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
164 /* metamodel/partial_order.nit:43 */
167 if (UNTAG_Bool(REGB2
)) {
168 REGB2
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
169 if (UNTAG_Bool(REGB2
)) {
171 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_metamodel___partial_order
, 43);
173 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
174 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead___values(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
175 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
176 REGB2
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[1],fra
.me
.REG
[0]));
177 if (UNTAG_Bool(REGB2
)) {
179 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
180 if (UNTAG_Bool(REGB1
)) {
181 REGB1
= TAG_Bool(false);
184 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
189 REGB1
= TAG_Bool(false);
194 stack_frame_head
= fra
.me
.prev
;
197 val_t
metamodel___partial_order___PartialOrder___count(val_t p0
, val_t p1
){
198 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
202 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
203 fra
.me
.file
= LOCATE_metamodel___partial_order
;
205 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___count
;
206 fra
.me
.has_broke
= 0;
208 fra
.me
.nitni_local_ref_head
= NULL
;
209 fra
.me
.REG
[0] = NIT_NULL
;
210 fra
.me
.REG
[1] = NIT_NULL
;
213 /* metamodel/partial_order.nit:47 */
214 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
215 if (UNTAG_Bool(REGB0
)) {
216 /* metamodel/partial_order.nit:48 */
220 /* metamodel/partial_order.nit:50 */
226 stack_frame_head
= fra
.me
.prev
;
229 val_t
metamodel___partial_order___PartialOrder___iterator(val_t p0
){
230 struct {struct stack_frame_t me
;} fra
;
233 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
234 fra
.me
.file
= LOCATE_metamodel___partial_order
;
236 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___iterator
;
237 fra
.me
.has_broke
= 0;
239 fra
.me
.nitni_local_ref_head
= NULL
;
240 fra
.me
.REG
[0] = NIT_NULL
;
242 /* metamodel/partial_order.nit:54 */
243 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements_list(fra
.me
.REG
[0])!=NIT_NULL
);
244 if (UNTAG_Bool(REGB0
)) {
246 nit_abort("Uninitialized attribute %s", "_elements_list", LOCATE_metamodel___partial_order
, 54);
248 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____elements_list(fra
.me
.REG
[0]);
249 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Collection___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
252 stack_frame_head
= fra
.me
.prev
;
253 return fra
.me
.REG
[0];
255 val_t
metamodel___partial_order___PartialOrder_____bra(val_t p0
, val_t p1
){
256 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
259 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
260 fra
.me
.file
= LOCATE_metamodel___partial_order
;
262 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder_____bra
;
263 fra
.me
.has_broke
= 0;
265 fra
.me
.nitni_local_ref_head
= NULL
;
266 fra
.me
.REG
[0] = NIT_NULL
;
267 fra
.me
.REG
[1] = NIT_NULL
;
270 /* metamodel/partial_order.nit:61 */
271 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
272 if (UNTAG_Bool(REGB0
)) {
274 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_metamodel___partial_order
, 61);
276 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
277 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
280 stack_frame_head
= fra
.me
.prev
;
281 return fra
.me
.REG
[1];
283 val_t
metamodel___partial_order___PartialOrder___to_dot(val_t p0
){
284 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
287 static val_t once_value_3
; /* Once value */
288 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
289 fra
.me
.file
= LOCATE_metamodel___partial_order
;
291 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___to_dot
;
292 fra
.me
.has_broke
= 0;
294 fra
.me
.nitni_local_ref_head
= NULL
;
295 fra
.me
.REG
[0] = NIT_NULL
;
296 fra
.me
.REG
[1] = NIT_NULL
;
297 fra
.me
.REG
[2] = NIT_NULL
;
299 /* metamodel/partial_order.nit:67 */
300 fra
.me
.REG
[1] = NEW_Buffer_standard___string___Buffer___init();
301 /* metamodel/partial_order.nit:68 */
302 fra
.me
.REG
[2] = CALL_metamodel___partial_order___PartialOrder___to_dot_header(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
303 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
304 /* metamodel/partial_order.nit:69 */
305 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
306 if (UNTAG_Bool(REGB0
)) {
308 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_metamodel___partial_order
, 69);
310 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
311 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___MapRead___values(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
312 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
));
313 /* metamodel/partial_order.nit:75 */
315 fra
.me
.REG
[0] = BOX_NativeString("}\n");
317 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
318 once_value_3
= fra
.me
.REG
[0];
319 register_static_object(&once_value_3
);
320 } else fra
.me
.REG
[0] = once_value_3
;
321 fra
.me
.REG
[0] = fra
.me
.REG
[0];
322 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
323 /* metamodel/partial_order.nit:76 */
324 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
327 stack_frame_head
= fra
.me
.prev
;
328 return fra
.me
.REG
[1];
330 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
){
331 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
337 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
338 fra
.me
.file
= LOCATE_metamodel___partial_order
;
340 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___to_dot
;
341 fra
.me
.has_broke
= 0;
343 fra
.me
.nitni_local_ref_head
= NULL
;
344 fra
.me
.REG
[0] = NIT_NULL
;
345 fra
.me
.REG
[1] = NIT_NULL
;
346 fra
.me
.REG
[2] = NIT_NULL
;
347 fra
.me
.REG
[3] = NIT_NULL
;
348 fra
.me
.REG
[4] = NIT_NULL
;
349 fra
.me
.closure_ctx
= closctx_param
;
350 fra
.me
.closure_funs
= CREG
;
353 /* metamodel/partial_order.nit:70 */
354 fra
.me
.REG
[1] = CALL_metamodel___partial_order___PartialOrderElement___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
355 fra
.me
.REG
[1] = CALL_metamodel___partial_order___PartialOrder___to_dot_node(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[1]);
356 CALL_standard___collection___abstract_collection___Sequence___append(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[1]);
357 /* metamodel/partial_order.nit:71 */
358 fra
.me
.REG
[1] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
359 /* ../lib/standard/collection/array.nit:269 */
361 /* ../lib/standard/collection/array.nit:270 */
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
, 270);
367 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
368 /* ../lib/standard/collection/array.nit:271 */
369 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
370 /* ../lib/standard/collection/array.nit:272 */
372 /* ../lib/standard/collection/array.nit:24 */
373 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
374 if (UNTAG_Bool(REGB1
)) {
376 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
378 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
379 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
380 if (UNTAG_Bool(REGB2
)) {
382 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
384 /* ../lib/standard/kernel.nit:232 */
385 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
386 /* ../lib/standard/collection/array.nit:272 */
387 if (UNTAG_Bool(REGB1
)) {
388 /* ../lib/standard/collection/array.nit:273 */
389 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
390 if (UNTAG_Bool(REGB1
)) {
391 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
393 /* ../lib/standard/collection/array.nit:718 */
394 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
395 /* metamodel/partial_order.nit:72 */
396 fra
.me
.REG
[4] = CALL_metamodel___partial_order___PartialOrderElement___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
397 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]);
398 CALL_standard___collection___abstract_collection___Sequence___append(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[3]);
399 /* ../lib/standard/collection/array.nit:274 */
401 /* ../lib/standard/kernel.nit:235 */
402 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
403 /* ../lib/standard/collection/array.nit:274 */
406 /* ../lib/standard/collection/array.nit:272 */
411 stack_frame_head
= fra
.me
.prev
;
414 val_t
metamodel___partial_order___PartialOrder___to_dot_header(val_t p0
){
415 struct {struct stack_frame_t me
;} fra
;
418 static val_t once_value_1
; /* Once value */
419 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
420 fra
.me
.file
= LOCATE_metamodel___partial_order
;
422 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___to_dot_header
;
423 fra
.me
.has_broke
= 0;
425 fra
.me
.nitni_local_ref_head
= NULL
;
426 fra
.me
.REG
[0] = NIT_NULL
;
428 /* metamodel/partial_order.nit:82 */
430 fra
.me
.REG
[0] = BOX_NativeString("digraph G {\ngraph [rankdir=BT];\n");
432 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
433 once_value_1
= fra
.me
.REG
[0];
434 register_static_object(&once_value_1
);
435 } else fra
.me
.REG
[0] = once_value_1
;
436 fra
.me
.REG
[0] = fra
.me
.REG
[0];
439 stack_frame_head
= fra
.me
.prev
;
440 return fra
.me
.REG
[0];
442 val_t
metamodel___partial_order___PartialOrder___to_dot_node(val_t p0
, val_t p1
){
443 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
446 static val_t once_value_1
; /* Once value */
447 static val_t once_value_2
; /* Once value */
448 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
449 fra
.me
.file
= LOCATE_metamodel___partial_order
;
451 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___to_dot_node
;
452 fra
.me
.has_broke
= 0;
454 fra
.me
.nitni_local_ref_head
= NULL
;
455 fra
.me
.REG
[0] = NIT_NULL
;
456 fra
.me
.REG
[1] = NIT_NULL
;
457 fra
.me
.REG
[2] = NIT_NULL
;
460 /* metamodel/partial_order.nit:88 */
462 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
464 fra
.me
.REG
[2] = BOX_NativeString("\"");
466 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
467 once_value_1
= fra
.me
.REG
[2];
468 register_static_object(&once_value_1
);
469 } else fra
.me
.REG
[2] = once_value_1
;
470 fra
.me
.REG
[2] = fra
.me
.REG
[2];
471 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
472 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
473 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
475 fra
.me
.REG
[1] = BOX_NativeString("\";\n");
477 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
478 once_value_2
= fra
.me
.REG
[1];
479 register_static_object(&once_value_2
);
480 } else fra
.me
.REG
[1] = once_value_2
;
481 fra
.me
.REG
[1] = fra
.me
.REG
[1];
482 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
483 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
486 stack_frame_head
= fra
.me
.prev
;
487 return fra
.me
.REG
[0];
489 val_t
metamodel___partial_order___PartialOrder___to_dot_edge(val_t p0
, val_t p1
, val_t p2
){
490 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
493 static val_t once_value_1
; /* Once value */
494 static val_t once_value_2
; /* Once value */
495 static val_t once_value_3
; /* Once value */
496 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
497 fra
.me
.file
= LOCATE_metamodel___partial_order
;
499 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___to_dot_edge
;
500 fra
.me
.has_broke
= 0;
502 fra
.me
.nitni_local_ref_head
= NULL
;
503 fra
.me
.REG
[0] = NIT_NULL
;
504 fra
.me
.REG
[1] = NIT_NULL
;
505 fra
.me
.REG
[2] = NIT_NULL
;
506 fra
.me
.REG
[3] = NIT_NULL
;
510 /* metamodel/partial_order.nit:94 */
512 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
514 fra
.me
.REG
[3] = BOX_NativeString("\"");
516 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
517 once_value_1
= fra
.me
.REG
[3];
518 register_static_object(&once_value_1
);
519 } else fra
.me
.REG
[3] = once_value_1
;
520 fra
.me
.REG
[3] = fra
.me
.REG
[3];
521 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
522 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
523 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
525 fra
.me
.REG
[1] = BOX_NativeString("\" -> \"");
527 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
528 once_value_2
= fra
.me
.REG
[1];
529 register_static_object(&once_value_2
);
530 } else fra
.me
.REG
[1] = once_value_2
;
531 fra
.me
.REG
[1] = fra
.me
.REG
[1];
532 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
533 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
534 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
536 fra
.me
.REG
[2] = BOX_NativeString("\";\n");
538 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
539 once_value_3
= fra
.me
.REG
[2];
540 register_static_object(&once_value_3
);
541 } else fra
.me
.REG
[2] = once_value_3
;
542 fra
.me
.REG
[2] = fra
.me
.REG
[2];
543 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
544 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
547 stack_frame_head
= fra
.me
.prev
;
548 return fra
.me
.REG
[0];
550 val_t
metamodel___partial_order___PartialOrder___select_smallests(val_t p0
, val_t p1
){
551 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
555 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
556 fra
.me
.file
= LOCATE_metamodel___partial_order
;
558 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___select_smallests
;
559 fra
.me
.has_broke
= 0;
561 fra
.me
.nitni_local_ref_head
= NULL
;
562 fra
.me
.REG
[0] = NIT_NULL
;
563 fra
.me
.REG
[1] = NIT_NULL
;
564 fra
.me
.REG
[2] = NIT_NULL
;
565 fra
.me
.REG
[3] = NIT_NULL
;
566 fra
.me
.REG
[4] = NIT_NULL
;
569 /* metamodel/partial_order.nit:100 */
570 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
571 if (UNTAG_Bool(REGB0
)) {
573 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
574 if (UNTAG_Bool(REGB1
)) {
575 REGB1
= TAG_Bool(false);
578 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
582 if (UNTAG_Bool(REGB0
)) {
583 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___init();
586 /* metamodel/partial_order.nit:101 */
587 REGB0
= CALL_metamodel___partial_order___PartialOrder___has_all(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
588 if (UNTAG_Bool(REGB0
)) {
590 nit_abort("Assert failed", NULL
, LOCATE_metamodel___partial_order
, 101);
592 /* metamodel/partial_order.nit:102 */
593 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
594 if (UNTAG_Bool(REGB0
)) {
595 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___partial_order
, 102);
597 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
598 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
599 /* metamodel/partial_order.nit:103 */
600 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
601 if (UNTAG_Bool(REGB0
)) {
602 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___partial_order
, 103);
604 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
605 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
606 /* metamodel/partial_order.nit:104 */
607 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
608 if (UNTAG_Bool(REGB0
)) {
609 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___partial_order
, 104);
611 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
));
612 /* metamodel/partial_order.nit:115 */
613 fra
.me
.REG
[2] = fra
.me
.REG
[3];
616 stack_frame_head
= fra
.me
.prev
;
617 return fra
.me
.REG
[2];
619 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
){
620 struct {struct stack_frame_t me
;} fra
;
624 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
625 fra
.me
.file
= LOCATE_metamodel___partial_order
;
627 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___select_smallests
;
628 fra
.me
.has_broke
= 0;
630 fra
.me
.nitni_local_ref_head
= NULL
;
631 fra
.me
.REG
[0] = NIT_NULL
;
632 fra
.me
.closure_ctx
= closctx_param
;
633 fra
.me
.closure_funs
= CREG
;
636 /* metamodel/partial_order.nit:106 */
637 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]);
638 /* metamodel/partial_order.nit:107 */
639 if (UNTAG_Bool(REGB0
)) {
640 /* metamodel/partial_order.nit:110 */
641 fra
.me
.REG
[0] = closctx
->REG
[4];
642 /* metamodel/partial_order.nit:111 */
643 closctx
->REG
[4] = closctx
->REG
[3];
644 /* metamodel/partial_order.nit:112 */
645 closctx
->REG
[3] = fra
.me
.REG
[0];
647 stack_frame_head
= fra
.me
.prev
;
650 val_t
metamodel___partial_order___PartialOrder___add(val_t p0
, val_t p1
, val_t p2
){
651 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
655 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
656 fra
.me
.file
= LOCATE_metamodel___partial_order
;
658 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___add
;
659 fra
.me
.has_broke
= 0;
661 fra
.me
.nitni_local_ref_head
= NULL
;
662 fra
.me
.REG
[0] = NIT_NULL
;
663 fra
.me
.REG
[1] = NIT_NULL
;
664 fra
.me
.REG
[2] = NIT_NULL
;
665 fra
.me
.REG
[3] = NIT_NULL
;
666 fra
.me
.REG
[4] = NIT_NULL
;
670 /* metamodel/partial_order.nit:121 */
671 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
672 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
673 if (UNTAG_Bool(REGB0
)) {
675 nit_abort("Assert failed", NULL
, LOCATE_metamodel___partial_order
, 121);
677 /* metamodel/partial_order.nit:122 */
678 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
679 if (UNTAG_Bool(REGB0
)) {
681 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
682 if (UNTAG_Bool(REGB1
)) {
683 REGB1
= TAG_Bool(false);
686 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
690 if (UNTAG_Bool(REGB0
)) {
691 REGB0
= TAG_Bool(true);
693 REGB1
= CALL_metamodel___partial_order___PartialOrder___has_all(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
696 if (UNTAG_Bool(REGB0
)) {
698 nit_abort("Assert failed", NULL
, LOCATE_metamodel___partial_order
, 122);
700 /* metamodel/partial_order.nit:123 */
701 fra
.me
.REG
[3] = CALL_metamodel___partial_order___PartialOrder___select_smallests(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
702 /* metamodel/partial_order.nit:124 */
703 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]);
704 /* metamodel/partial_order.nit:125 */
705 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
706 if (UNTAG_Bool(REGB0
)) {
708 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_metamodel___partial_order
, 125);
710 fra
.me
.REG
[4] = ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
711 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1], fra
.me
.REG
[3]);
712 /* metamodel/partial_order.nit:126 */
713 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements_list(fra
.me
.REG
[0])!=NIT_NULL
);
714 if (UNTAG_Bool(REGB0
)) {
716 nit_abort("Uninitialized attribute %s", "_elements_list", LOCATE_metamodel___partial_order
, 126);
718 fra
.me
.REG
[4] = ATTR_metamodel___partial_order___PartialOrder____elements_list(fra
.me
.REG
[0]);
719 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
720 /* metamodel/partial_order.nit:127 */
721 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
722 if (UNTAG_Bool(REGB0
)) {
724 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
725 if (UNTAG_Bool(REGB1
)) {
726 REGB1
= TAG_Bool(false);
729 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
733 if (UNTAG_Bool(REGB0
)) {
734 REGB0
= TAG_Bool(true);
736 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
737 if (UNTAG_Bool(REGB1
)) {
738 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___partial_order
, 127);
740 REGB1
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
743 if (UNTAG_Bool(REGB0
)) {
744 /* metamodel/partial_order.nit:128 */
745 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____roots(fra
.me
.REG
[0])!=NIT_NULL
);
746 if (UNTAG_Bool(REGB0
)) {
748 nit_abort("Uninitialized attribute %s", "_roots", LOCATE_metamodel___partial_order
, 128);
750 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____roots(fra
.me
.REG
[0]);
751 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
753 /* metamodel/partial_order.nit:130 */
756 stack_frame_head
= fra
.me
.prev
;
757 return fra
.me
.REG
[3];
759 val_t
metamodel___partial_order___PartialOrder___has_all(val_t p0
, val_t p1
){
760 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
763 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
764 fra
.me
.file
= LOCATE_metamodel___partial_order
;
766 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___has_all
;
767 fra
.me
.has_broke
= 0;
769 fra
.me
.nitni_local_ref_head
= NULL
;
770 fra
.me
.REG
[0] = NIT_NULL
;
771 fra
.me
.REG
[1] = NIT_NULL
;
774 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
));
775 switch ((&(fra
.me
))->has_broke
) {
777 case 1: (&(fra
.me
))->has_broke
= 0; goto label3
;
779 /* metamodel/partial_order.nit:141 */
780 REGB0
= TAG_Bool(true);
781 fra
.me
.REG
[1] = REGB0
;
784 stack_frame_head
= fra
.me
.prev
;
785 return fra
.me
.REG
[1];
787 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
){
788 struct {struct stack_frame_t me
;} fra
;
792 /* metamodel/partial_order.nit:136 */
793 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
794 fra
.me
.file
= LOCATE_metamodel___partial_order
;
796 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___has_all
;
797 fra
.me
.has_broke
= 0;
799 fra
.me
.nitni_local_ref_head
= NULL
;
800 fra
.me
.REG
[0] = NIT_NULL
;
801 fra
.me
.closure_ctx
= closctx_param
;
802 fra
.me
.closure_funs
= CREG
;
805 /* metamodel/partial_order.nit:137 */
806 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[0]);
807 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
808 if (UNTAG_Bool(REGB0
)) {
809 /* metamodel/partial_order.nit:138 */
810 REGB0
= TAG_Bool(false);
811 closctx
->REG
[1] = REGB0
;
812 closctx
->has_broke
= 1;
816 stack_frame_head
= fra
.me
.prev
;
819 val_t
metamodel___partial_order___PartialOrder___new_poe(val_t p0
, val_t p1
, val_t p2
){
820 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
822 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
823 fra
.me
.file
= LOCATE_metamodel___partial_order
;
825 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___new_poe
;
826 fra
.me
.has_broke
= 0;
828 fra
.me
.nitni_local_ref_head
= NULL
;
829 fra
.me
.REG
[0] = NIT_NULL
;
830 fra
.me
.REG
[1] = NIT_NULL
;
831 fra
.me
.REG
[2] = NIT_NULL
;
835 /* metamodel/partial_order.nit:147 */
836 fra
.me
.REG
[2] = NEW_PartialOrderElement_metamodel___partial_order___PartialOrderElement___init(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
839 stack_frame_head
= fra
.me
.prev
;
840 return fra
.me
.REG
[2];
842 val_t
metamodel___partial_order___PartialOrder___add_to_smallests(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
843 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
848 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
849 fra
.me
.file
= LOCATE_metamodel___partial_order
;
851 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___add_to_smallests
;
852 fra
.me
.has_broke
= 0;
854 fra
.me
.nitni_local_ref_head
= NULL
;
855 fra
.me
.REG
[0] = NIT_NULL
;
856 fra
.me
.REG
[1] = NIT_NULL
;
857 fra
.me
.REG
[2] = NIT_NULL
;
858 fra
.me
.REG
[3] = NIT_NULL
;
859 fra
.me
.REG
[4] = NIT_NULL
;
860 fra
.me
.REG
[5] = NIT_NULL
;
865 /* metamodel/partial_order.nit:157 */
866 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
867 /* metamodel/partial_order.nit:158 */
868 fra
.me
.REG
[0] = CALL_metamodel___partial_order___PartialOrder_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
869 /* ../lib/standard/collection/array.nit:269 */
871 /* ../lib/standard/collection/array.nit:270 */
872 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
873 if (UNTAG_Bool(REGB1
)) {
875 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
877 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
878 /* ../lib/standard/collection/array.nit:271 */
879 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
880 /* ../lib/standard/collection/array.nit:272 */
882 /* ../lib/standard/collection/array.nit:24 */
883 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
884 if (UNTAG_Bool(REGB1
)) {
886 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
888 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
889 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
890 if (UNTAG_Bool(REGB2
)) {
892 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
894 /* ../lib/standard/kernel.nit:232 */
895 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
896 /* ../lib/standard/collection/array.nit:272 */
897 if (UNTAG_Bool(REGB1
)) {
898 /* ../lib/standard/collection/array.nit:273 */
899 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
900 if (UNTAG_Bool(REGB1
)) {
901 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
903 /* ../lib/standard/collection/array.nit:718 */
904 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
905 /* metamodel/partial_order.nit:160 */
906 REGB1
= CALL_metamodel___partial_order___PartialOrderElement_____g(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
907 if (UNTAG_Bool(REGB1
)) {
908 /* metamodel/partial_order.nit:161 */
909 REGB1
= TAG_Bool(false);
912 /* metamodel/partial_order.nit:163 */
913 REGB2
= CALL_metamodel___partial_order___PartialOrderElement_____l(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
914 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
915 if (UNTAG_Bool(REGB2
)) {
916 /* metamodel/partial_order.nit:164 */
917 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
919 /* ../lib/standard/collection/array.nit:274 */
921 /* ../lib/standard/kernel.nit:235 */
922 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
923 /* ../lib/standard/collection/array.nit:274 */
926 /* ../lib/standard/collection/array.nit:272 */
931 /* metamodel/partial_order.nit:167 */
932 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
933 /* metamodel/partial_order.nit:168 */
934 REGB0
= TAG_Bool(true);
938 stack_frame_head
= fra
.me
.prev
;
941 void metamodel___partial_order___PartialOrder___compute_smallers_for(val_t p0
, val_t p1
, val_t p2
){
942 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
945 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
946 fra
.me
.file
= LOCATE_metamodel___partial_order
;
948 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___compute_smallers_for
;
949 fra
.me
.has_broke
= 0;
951 fra
.me
.nitni_local_ref_head
= NULL
;
952 fra
.me
.REG
[0] = NIT_NULL
;
953 fra
.me
.REG
[1] = NIT_NULL
;
954 fra
.me
.REG
[2] = NIT_NULL
;
958 /* metamodel/partial_order.nit:173 */
959 fra
.me
.REG
[1] = CALL_metamodel___partial_order___PartialOrderElement___value(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
960 /* metamodel/partial_order.nit:174 */
961 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
962 if (UNTAG_Bool(REGB0
)) {
964 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_metamodel___partial_order
, 174);
966 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
967 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead___values(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
968 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
));
969 stack_frame_head
= fra
.me
.prev
;
972 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
){
973 struct {struct stack_frame_t me
;} fra
;
977 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
978 fra
.me
.file
= LOCATE_metamodel___partial_order
;
980 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___compute_smallers_for
;
981 fra
.me
.has_broke
= 0;
983 fra
.me
.nitni_local_ref_head
= NULL
;
984 fra
.me
.REG
[0] = NIT_NULL
;
985 fra
.me
.closure_ctx
= closctx_param
;
986 fra
.me
.closure_funs
= CREG
;
989 /* metamodel/partial_order.nit:175 */
990 REGB0
= CALL_metamodel___partial_order___PartialOrderElement_____l(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
991 if (UNTAG_Bool(REGB0
)) {
992 /* metamodel/partial_order.nit:176 */
993 fra
.me
.REG
[0] = CALL_metamodel___partial_order___PartialOrderElement___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
994 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[0]);
996 stack_frame_head
= fra
.me
.prev
;
999 void metamodel___partial_order___PartialOrder___init(val_t p0
, int* init_table
){
1000 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_metamodel___partial_order___PartialOrder
].i
;
1001 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1003 if (init_table
[itpos0
]) return;
1004 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1005 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1007 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___init
;
1008 fra
.me
.has_broke
= 0;
1009 fra
.me
.REG_size
= 2;
1010 fra
.me
.nitni_local_ref_head
= NULL
;
1011 fra
.me
.REG
[0] = NIT_NULL
;
1012 fra
.me
.REG
[1] = NIT_NULL
;
1014 /* metamodel/partial_order.nit:183 */
1015 fra
.me
.REG
[1] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
1016 ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1017 /* metamodel/partial_order.nit:184 */
1018 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
1019 ATTR_metamodel___partial_order___PartialOrder____elements_list(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1020 /* metamodel/partial_order.nit:185 */
1021 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
1022 ATTR_metamodel___partial_order___PartialOrder____roots(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1023 stack_frame_head
= fra
.me
.prev
;
1024 init_table
[itpos0
] = 1;
1027 val_t
metamodel___partial_order___PartialOrderElement___order(val_t p0
){
1028 struct {struct stack_frame_t me
;} fra
;
1031 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1032 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1034 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___order
;
1035 fra
.me
.has_broke
= 0;
1036 fra
.me
.REG_size
= 1;
1037 fra
.me
.nitni_local_ref_head
= NULL
;
1038 fra
.me
.REG
[0] = NIT_NULL
;
1040 /* metamodel/partial_order.nit:190 */
1041 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1042 if (UNTAG_Bool(REGB0
)) {
1044 nit_abort("Uninitialized attribute %s", "_order", LOCATE_metamodel___partial_order
, 190);
1046 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1047 stack_frame_head
= fra
.me
.prev
;
1048 return fra
.me
.REG
[0];
1050 val_t
metamodel___partial_order___PartialOrderElement___value(val_t p0
){
1051 struct {struct stack_frame_t me
;} fra
;
1054 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1055 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1057 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___value
;
1058 fra
.me
.has_broke
= 0;
1059 fra
.me
.REG_size
= 1;
1060 fra
.me
.nitni_local_ref_head
= NULL
;
1061 fra
.me
.REG
[0] = NIT_NULL
;
1063 /* metamodel/partial_order.nit:193 */
1064 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0])!=NIT_NULL
);
1065 if (UNTAG_Bool(REGB0
)) {
1067 nit_abort("Uninitialized attribute %s", "_value", LOCATE_metamodel___partial_order
, 193);
1069 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0]);
1070 stack_frame_head
= fra
.me
.prev
;
1071 return fra
.me
.REG
[0];
1073 val_t
metamodel___partial_order___PartialOrderElement___rank(val_t p0
){
1074 struct {struct stack_frame_t me
;} fra
;
1077 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1078 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1080 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___rank
;
1081 fra
.me
.has_broke
= 0;
1082 fra
.me
.REG_size
= 1;
1083 fra
.me
.nitni_local_ref_head
= NULL
;
1084 fra
.me
.REG
[0] = NIT_NULL
;
1086 /* metamodel/partial_order.nit:196 */
1087 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____rank(fra
.me
.REG
[0])!=NIT_NULL
);
1088 if (UNTAG_Bool(REGB0
)) {
1090 nit_abort("Uninitialized attribute %s", "_rank", LOCATE_metamodel___partial_order
, 196);
1092 REGB0
= ATTR_metamodel___partial_order___PartialOrderElement____rank(fra
.me
.REG
[0]);
1093 stack_frame_head
= fra
.me
.prev
;
1096 val_t
metamodel___partial_order___PartialOrderElement___direct_greaters(val_t p0
){
1097 struct {struct stack_frame_t me
;} fra
;
1100 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1101 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1103 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___direct_greaters
;
1104 fra
.me
.has_broke
= 0;
1105 fra
.me
.REG_size
= 1;
1106 fra
.me
.nitni_local_ref_head
= NULL
;
1107 fra
.me
.REG
[0] = NIT_NULL
;
1109 /* metamodel/partial_order.nit:202 */
1110 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____direct_greaters(fra
.me
.REG
[0])!=NIT_NULL
);
1111 if (UNTAG_Bool(REGB0
)) {
1113 nit_abort("Uninitialized attribute %s", "_direct_greaters", LOCATE_metamodel___partial_order
, 202);
1115 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____direct_greaters(fra
.me
.REG
[0]);
1116 stack_frame_head
= fra
.me
.prev
;
1117 return fra
.me
.REG
[0];
1119 val_t
metamodel___partial_order___PartialOrderElement___direct_smallers(val_t p0
){
1120 struct {struct stack_frame_t me
;} fra
;
1123 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1124 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1126 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___direct_smallers
;
1127 fra
.me
.has_broke
= 0;
1128 fra
.me
.REG_size
= 1;
1129 fra
.me
.nitni_local_ref_head
= NULL
;
1130 fra
.me
.REG
[0] = NIT_NULL
;
1132 /* metamodel/partial_order.nit:205 */
1133 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____direct_smallers(fra
.me
.REG
[0])!=NIT_NULL
);
1134 if (UNTAG_Bool(REGB0
)) {
1136 nit_abort("Uninitialized attribute %s", "_direct_smallers", LOCATE_metamodel___partial_order
, 205);
1138 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____direct_smallers(fra
.me
.REG
[0]);
1139 stack_frame_head
= fra
.me
.prev
;
1140 return fra
.me
.REG
[0];
1142 val_t
metamodel___partial_order___PartialOrderElement___greaters(val_t p0
){
1143 struct {struct stack_frame_t me
;} fra
;
1146 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1147 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1149 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___greaters
;
1150 fra
.me
.has_broke
= 0;
1151 fra
.me
.REG_size
= 1;
1152 fra
.me
.nitni_local_ref_head
= NULL
;
1153 fra
.me
.REG
[0] = NIT_NULL
;
1155 /* metamodel/partial_order.nit:208 */
1156 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0])!=NIT_NULL
);
1157 if (UNTAG_Bool(REGB0
)) {
1159 nit_abort("Uninitialized attribute %s", "_greaters", LOCATE_metamodel___partial_order
, 208);
1161 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0]);
1162 stack_frame_head
= fra
.me
.prev
;
1163 return fra
.me
.REG
[0];
1165 val_t
metamodel___partial_order___PartialOrderElement___greaters_and_self(val_t p0
){
1166 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1170 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1171 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1173 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___greaters_and_self
;
1174 fra
.me
.has_broke
= 0;
1175 fra
.me
.REG_size
= 4;
1176 fra
.me
.nitni_local_ref_head
= NULL
;
1177 fra
.me
.REG
[0] = NIT_NULL
;
1178 fra
.me
.REG
[1] = NIT_NULL
;
1179 fra
.me
.REG
[2] = NIT_NULL
;
1180 fra
.me
.REG
[3] = NIT_NULL
;
1182 /* metamodel/partial_order.nit:214 */
1183 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1184 /* metamodel/partial_order.nit:217 */
1185 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____greaters_and_self_cache(fra
.me
.REG
[1]);
1186 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1187 if (UNTAG_Bool(REGB0
)) {
1189 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1190 if (UNTAG_Bool(REGB1
)) {
1191 REGB1
= TAG_Bool(false);
1194 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1198 if (UNTAG_Bool(REGB0
)) {
1199 /* metamodel/partial_order.nit:218 */
1200 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[1])!=NIT_NULL
);
1201 if (UNTAG_Bool(REGB0
)) {
1203 nit_abort("Uninitialized attribute %s", "_greaters", LOCATE_metamodel___partial_order
, 218);
1205 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[1]);
1206 fra
.me
.REG
[2] = CALL_standard___collection___array___Collection___to_a(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1207 ATTR_metamodel___partial_order___PartialOrderElement____greaters_and_self_cache(fra
.me
.REG
[1]) = fra
.me
.REG
[2];
1208 /* metamodel/partial_order.nit:219 */
1209 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____greaters_and_self_cache(fra
.me
.REG
[1]);
1210 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[1])!=NIT_NULL
);
1211 if (UNTAG_Bool(REGB0
)) {
1213 nit_abort("Uninitialized attribute %s", "_value", LOCATE_metamodel___partial_order
, 219);
1215 fra
.me
.REG
[3] = ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[1]);
1216 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1217 if (UNTAG_Bool(REGB0
)) {
1218 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___partial_order
, 219);
1220 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1222 /* metamodel/partial_order.nit:221 */
1223 fra
.me
.REG
[1] = ATTR_metamodel___partial_order___PartialOrderElement____greaters_and_self_cache(fra
.me
.REG
[1]);
1224 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
1225 if (UNTAG_Bool(REGB0
)) {
1227 nit_abort("Cast failed", NULL
, LOCATE_metamodel___partial_order
, 221);
1231 stack_frame_head
= fra
.me
.prev
;
1232 return fra
.me
.REG
[1];
1234 val_t
metamodel___partial_order___PartialOrderElement___smallers(val_t p0
){
1235 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1240 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1241 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1243 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___smallers
;
1244 fra
.me
.has_broke
= 0;
1245 fra
.me
.REG_size
= 3;
1246 fra
.me
.nitni_local_ref_head
= NULL
;
1247 fra
.me
.REG
[0] = NIT_NULL
;
1248 fra
.me
.REG
[1] = NIT_NULL
;
1249 fra
.me
.REG
[2] = NIT_NULL
;
1251 /* metamodel/partial_order.nit:233 */
1252 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____smallers_last_length(fra
.me
.REG
[0])!=NIT_NULL
);
1253 if (UNTAG_Bool(REGB0
)) {
1255 nit_abort("Uninitialized attribute %s", "_smallers_last_length", LOCATE_metamodel___partial_order
, 233);
1257 REGB0
= ATTR_metamodel___partial_order___PartialOrderElement____smallers_last_length(fra
.me
.REG
[0]);
1258 REGB1
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1259 if (UNTAG_Bool(REGB1
)) {
1261 nit_abort("Uninitialized attribute %s", "_order", LOCATE_metamodel___partial_order
, 233);
1263 fra
.me
.REG
[1] = ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1264 REGB1
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1265 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1266 if (UNTAG_Bool(REGB2
)) {
1268 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1270 /* ../lib/standard/kernel.nit:232 */
1271 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1272 /* metamodel/partial_order.nit:233 */
1273 if (UNTAG_Bool(REGB1
)) {
1274 /* metamodel/partial_order.nit:234 */
1275 REGB1
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1276 if (UNTAG_Bool(REGB1
)) {
1278 nit_abort("Uninitialized attribute %s", "_order", LOCATE_metamodel___partial_order
, 234);
1280 fra
.me
.REG
[1] = ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1281 REGB1
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____smallers_cache(fra
.me
.REG
[0])!=NIT_NULL
);
1282 if (UNTAG_Bool(REGB1
)) {
1284 nit_abort("Uninitialized attribute %s", "_smallers_cache", LOCATE_metamodel___partial_order
, 234);
1286 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____smallers_cache(fra
.me
.REG
[0]);
1287 CALL_metamodel___partial_order___PartialOrder___compute_smallers_for(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
1288 /* metamodel/partial_order.nit:235 */
1289 REGB1
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1290 if (UNTAG_Bool(REGB1
)) {
1292 nit_abort("Uninitialized attribute %s", "_order", LOCATE_metamodel___partial_order
, 235);
1294 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1295 REGB1
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1296 ATTR_metamodel___partial_order___PartialOrderElement____smallers_last_length(fra
.me
.REG
[0]) = REGB1
;
1298 /* metamodel/partial_order.nit:237 */
1299 REGB1
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____smallers_cache(fra
.me
.REG
[0])!=NIT_NULL
);
1300 if (UNTAG_Bool(REGB1
)) {
1302 nit_abort("Uninitialized attribute %s", "_smallers_cache", LOCATE_metamodel___partial_order
, 237);
1304 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____smallers_cache(fra
.me
.REG
[0]);
1307 stack_frame_head
= fra
.me
.prev
;
1308 return fra
.me
.REG
[0];
1310 val_t
metamodel___partial_order___PartialOrderElement___linear_extension(val_t p0
){
1311 struct {struct stack_frame_t me
; val_t MORE_REG
[9];} fra
;
1317 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1318 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1320 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___linear_extension
;
1321 fra
.me
.has_broke
= 0;
1322 fra
.me
.REG_size
= 10;
1323 fra
.me
.nitni_local_ref_head
= NULL
;
1324 fra
.me
.REG
[0] = NIT_NULL
;
1325 fra
.me
.REG
[1] = NIT_NULL
;
1326 fra
.me
.REG
[2] = NIT_NULL
;
1327 fra
.me
.REG
[3] = NIT_NULL
;
1328 fra
.me
.REG
[4] = NIT_NULL
;
1329 fra
.me
.REG
[5] = NIT_NULL
;
1330 fra
.me
.REG
[6] = NIT_NULL
;
1331 fra
.me
.REG
[7] = NIT_NULL
;
1332 fra
.me
.REG
[8] = NIT_NULL
;
1333 fra
.me
.REG
[9] = NIT_NULL
;
1335 /* metamodel/partial_order.nit:243 */
1336 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1337 /* metamodel/partial_order.nit:247 */
1338 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____linear_extension_cache(fra
.me
.REG
[1]);
1339 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1340 if (UNTAG_Bool(REGB0
)) {
1342 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1343 if (UNTAG_Bool(REGB1
)) {
1344 REGB1
= TAG_Bool(false);
1347 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1351 if (UNTAG_Bool(REGB0
)) {
1352 /* metamodel/partial_order.nit:248 */
1353 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___init();
1354 /* metamodel/partial_order.nit:249 */
1355 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___init();
1356 /* metamodel/partial_order.nit:250 */
1357 fra
.me
.REG
[4] = CALL_metamodel___partial_order___PartialOrderElement___value(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1358 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1359 /* metamodel/partial_order.nit:251 */
1360 fra
.me
.REG
[4] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1361 /* ../lib/standard/collection/array.nit:269 */
1363 /* ../lib/standard/collection/array.nit:270 */
1364 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1365 if (UNTAG_Bool(REGB1
)) {
1367 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1369 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1370 /* ../lib/standard/collection/array.nit:271 */
1371 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
1372 /* ../lib/standard/collection/array.nit:272 */
1374 /* ../lib/standard/collection/array.nit:24 */
1375 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1376 if (UNTAG_Bool(REGB1
)) {
1378 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1380 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1381 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1382 if (UNTAG_Bool(REGB2
)) {
1384 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1386 /* ../lib/standard/kernel.nit:232 */
1387 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1388 /* ../lib/standard/collection/array.nit:272 */
1389 if (UNTAG_Bool(REGB1
)) {
1390 /* ../lib/standard/collection/array.nit:273 */
1391 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1392 if (UNTAG_Bool(REGB1
)) {
1393 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1395 /* ../lib/standard/collection/array.nit:718 */
1396 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
1397 /* metamodel/partial_order.nit:252 */
1398 fra
.me
.REG
[7] = CALL_metamodel___partial_order___PartialOrderElement___order(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1399 fra
.me
.REG
[6] = CALL_metamodel___partial_order___PartialOrder_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
1400 fra
.me
.REG
[6] = CALL_metamodel___partial_order___PartialOrderElement___linear_extension(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1401 /* metamodel/partial_order.nit:253 */
1402 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1403 /* ../lib/standard/collection/array.nit:266 */
1404 fra
.me
.REG
[7] = fra
.me
.REG
[2];
1405 /* ../lib/standard/collection/array.nit:269 */
1407 /* ../lib/standard/collection/array.nit:270 */
1408 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
1409 if (UNTAG_Bool(REGB2
)) {
1411 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1413 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
1414 /* ../lib/standard/collection/array.nit:271 */
1415 fra
.me
.REG
[8] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
1416 /* ../lib/standard/collection/array.nit:272 */
1418 /* ../lib/standard/collection/array.nit:24 */
1419 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
1420 if (UNTAG_Bool(REGB2
)) {
1422 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1424 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
1425 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1426 if (UNTAG_Bool(REGB3
)) {
1428 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1430 /* ../lib/standard/kernel.nit:232 */
1431 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1432 /* ../lib/standard/collection/array.nit:272 */
1433 if (UNTAG_Bool(REGB2
)) {
1434 /* ../lib/standard/collection/array.nit:273 */
1435 REGB2
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1436 if (UNTAG_Bool(REGB2
)) {
1437 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1439 /* ../lib/standard/collection/array.nit:718 */
1440 fra
.me
.REG
[9] = ((Nit_NativeArray
)fra
.me
.REG
[8])->val
[UNTAG_Int(REGB1
)];
1441 /* metamodel/partial_order.nit:255 */
1442 REGB2
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[9]);
1443 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
1444 if (UNTAG_Bool(REGB2
)) {
1445 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[9]);
1447 /* ../lib/standard/collection/array.nit:274 */
1449 /* ../lib/standard/kernel.nit:235 */
1450 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
1451 /* ../lib/standard/collection/array.nit:274 */
1454 /* ../lib/standard/collection/array.nit:272 */
1459 /* metamodel/partial_order.nit:257 */
1460 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
1461 /* metamodel/partial_order.nit:259 */
1462 fra
.me
.REG
[6] = fra
.me
.REG
[2];
1463 /* metamodel/partial_order.nit:260 */
1464 fra
.me
.REG
[2] = fra
.me
.REG
[3];
1465 /* metamodel/partial_order.nit:261 */
1466 fra
.me
.REG
[3] = fra
.me
.REG
[6];
1467 /* ../lib/standard/collection/array.nit:274 */
1469 /* ../lib/standard/kernel.nit:235 */
1470 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1471 /* ../lib/standard/collection/array.nit:274 */
1474 /* ../lib/standard/collection/array.nit:272 */
1479 /* metamodel/partial_order.nit:263 */
1480 ATTR_metamodel___partial_order___PartialOrderElement____linear_extension_cache(fra
.me
.REG
[1]) = fra
.me
.REG
[2];
1482 /* metamodel/partial_order.nit:265 */
1483 fra
.me
.REG
[1] = ATTR_metamodel___partial_order___PartialOrderElement____linear_extension_cache(fra
.me
.REG
[1]);
1484 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
1485 if (UNTAG_Bool(REGB0
)) {
1487 nit_abort("Cast failed", NULL
, LOCATE_metamodel___partial_order
, 265);
1491 stack_frame_head
= fra
.me
.prev
;
1492 return fra
.me
.REG
[1];
1494 val_t
metamodel___partial_order___PartialOrderElement___reverse_linear_extension(val_t p0
){
1495 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1500 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1501 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1503 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___reverse_linear_extension
;
1504 fra
.me
.has_broke
= 0;
1505 fra
.me
.REG_size
= 7;
1506 fra
.me
.nitni_local_ref_head
= NULL
;
1507 fra
.me
.REG
[0] = NIT_NULL
;
1508 fra
.me
.REG
[1] = NIT_NULL
;
1509 fra
.me
.REG
[2] = NIT_NULL
;
1510 fra
.me
.REG
[3] = NIT_NULL
;
1511 fra
.me
.REG
[4] = NIT_NULL
;
1512 fra
.me
.REG
[5] = NIT_NULL
;
1513 fra
.me
.REG
[6] = NIT_NULL
;
1515 /* metamodel/partial_order.nit:271 */
1516 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1517 /* metamodel/partial_order.nit:275 */
1518 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____reverse_linear_extension_cache(fra
.me
.REG
[1]);
1519 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1520 if (UNTAG_Bool(REGB0
)) {
1522 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1523 if (UNTAG_Bool(REGB1
)) {
1524 REGB1
= TAG_Bool(false);
1527 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1531 if (UNTAG_Bool(REGB0
)) {
1532 /* metamodel/partial_order.nit:276 */
1533 fra
.me
.REG
[2] = NEW_HashSet_standard___collection___hash_collection___HashSet___init();
1534 /* metamodel/partial_order.nit:277 */
1535 fra
.me
.REG
[3] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1536 /* ../lib/standard/collection/array.nit:269 */
1538 /* ../lib/standard/collection/array.nit:270 */
1539 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1540 if (UNTAG_Bool(REGB1
)) {
1542 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1544 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1545 /* ../lib/standard/collection/array.nit:271 */
1546 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
1547 /* ../lib/standard/collection/array.nit:272 */
1549 /* ../lib/standard/collection/array.nit:24 */
1550 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1551 if (UNTAG_Bool(REGB1
)) {
1553 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1555 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1556 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1557 if (UNTAG_Bool(REGB2
)) {
1559 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1561 /* ../lib/standard/kernel.nit:232 */
1562 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1563 /* ../lib/standard/collection/array.nit:272 */
1564 if (UNTAG_Bool(REGB1
)) {
1565 /* ../lib/standard/collection/array.nit:273 */
1566 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1567 if (UNTAG_Bool(REGB1
)) {
1568 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1570 /* ../lib/standard/collection/array.nit:718 */
1571 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
1572 /* metamodel/partial_order.nit:278 */
1573 fra
.me
.REG
[6] = CALL_metamodel___partial_order___PartialOrderElement___order(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1574 fra
.me
.REG
[5] = CALL_metamodel___partial_order___PartialOrder_____bra(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1575 fra
.me
.REG
[5] = CALL_metamodel___partial_order___PartialOrderElement___linear_extension(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1576 /* metamodel/partial_order.nit:279 */
1577 CALL_standard___collection___abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
1578 /* ../lib/standard/collection/array.nit:274 */
1580 /* ../lib/standard/kernel.nit:235 */
1581 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1582 /* ../lib/standard/collection/array.nit:274 */
1585 /* ../lib/standard/collection/array.nit:272 */
1590 /* metamodel/partial_order.nit:281 */
1591 fra
.me
.REG
[4] = CALL_metamodel___partial_order___PartialOrderElement___value(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1592 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1593 /* metamodel/partial_order.nit:282 */
1594 fra
.me
.REG
[2] = CALL_standard___collection___array___Collection___to_a(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1595 ATTR_metamodel___partial_order___PartialOrderElement____linear_extension_cache(fra
.me
.REG
[1]) = fra
.me
.REG
[2];
1597 /* metamodel/partial_order.nit:284 */
1598 fra
.me
.REG
[1] = ATTR_metamodel___partial_order___PartialOrderElement____linear_extension_cache(fra
.me
.REG
[1]);
1599 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
1600 if (UNTAG_Bool(REGB0
)) {
1602 nit_abort("Cast failed", NULL
, LOCATE_metamodel___partial_order
, 284);
1606 stack_frame_head
= fra
.me
.prev
;
1607 return fra
.me
.REG
[1];
1609 val_t
metamodel___partial_order___PartialOrderElement_____l(val_t p0
, val_t p1
){
1610 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1613 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1614 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1616 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement_____l
;
1617 fra
.me
.has_broke
= 0;
1618 fra
.me
.REG_size
= 2;
1619 fra
.me
.nitni_local_ref_head
= NULL
;
1620 fra
.me
.REG
[0] = NIT_NULL
;
1621 fra
.me
.REG
[1] = NIT_NULL
;
1624 /* metamodel/partial_order.nit:290 */
1625 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0])!=NIT_NULL
);
1626 if (UNTAG_Bool(REGB0
)) {
1628 nit_abort("Uninitialized attribute %s", "_greaters", LOCATE_metamodel___partial_order
, 290);
1630 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0]);
1631 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1634 stack_frame_head
= fra
.me
.prev
;
1637 val_t
metamodel___partial_order___PartialOrderElement_____leq(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_metamodel___partial_order
;
1645 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement_____leq
;
1646 fra
.me
.has_broke
= 0;
1647 fra
.me
.REG_size
= 3;
1648 fra
.me
.nitni_local_ref_head
= NULL
;
1649 fra
.me
.REG
[0] = NIT_NULL
;
1650 fra
.me
.REG
[1] = NIT_NULL
;
1651 fra
.me
.REG
[2] = NIT_NULL
;
1654 /* metamodel/partial_order.nit:296 */
1655 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0])!=NIT_NULL
);
1656 if (UNTAG_Bool(REGB0
)) {
1658 nit_abort("Uninitialized attribute %s", "_value", LOCATE_metamodel___partial_order
, 296);
1660 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0]);
1661 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[1]));
1662 if (UNTAG_Bool(REGB0
)) {
1664 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1667 if (UNTAG_Bool(REGB0
)) {
1668 REGB0
= TAG_Bool(true);
1670 REGB1
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0])!=NIT_NULL
);
1671 if (UNTAG_Bool(REGB1
)) {
1673 nit_abort("Uninitialized attribute %s", "_greaters", LOCATE_metamodel___partial_order
, 296);
1675 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0]);
1676 REGB1
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1681 stack_frame_head
= fra
.me
.prev
;
1684 val_t
metamodel___partial_order___PartialOrderElement_____g(val_t p0
, val_t p1
){
1685 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_____g
;
1692 fra
.me
.has_broke
= 0;
1693 fra
.me
.REG_size
= 3;
1694 fra
.me
.nitni_local_ref_head
= NULL
;
1695 fra
.me
.REG
[0] = NIT_NULL
;
1696 fra
.me
.REG
[1] = NIT_NULL
;
1697 fra
.me
.REG
[2] = NIT_NULL
;
1700 /* metamodel/partial_order.nit:302 */
1701 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1702 if (UNTAG_Bool(REGB0
)) {
1704 nit_abort("Uninitialized attribute %s", "_order", LOCATE_metamodel___partial_order
, 302);
1706 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1707 fra
.me
.REG
[1] = CALL_metamodel___partial_order___PartialOrder_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1708 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0])!=NIT_NULL
);
1709 if (UNTAG_Bool(REGB0
)) {
1711 nit_abort("Uninitialized attribute %s", "_value", LOCATE_metamodel___partial_order
, 302);
1713 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0]);
1714 REGB0
= CALL_metamodel___partial_order___PartialOrderElement_____l(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1717 stack_frame_head
= fra
.me
.prev
;
1720 val_t
metamodel___partial_order___PartialOrderElement_____geq(val_t p0
, val_t p1
){
1721 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1725 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1726 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1728 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement_____geq
;
1729 fra
.me
.has_broke
= 0;
1730 fra
.me
.REG_size
= 3;
1731 fra
.me
.nitni_local_ref_head
= NULL
;
1732 fra
.me
.REG
[0] = NIT_NULL
;
1733 fra
.me
.REG
[1] = NIT_NULL
;
1734 fra
.me
.REG
[2] = NIT_NULL
;
1737 /* metamodel/partial_order.nit:308 */
1738 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0])!=NIT_NULL
);
1739 if (UNTAG_Bool(REGB0
)) {
1741 nit_abort("Uninitialized attribute %s", "_value", LOCATE_metamodel___partial_order
, 308);
1743 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0]);
1744 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[1]));
1745 if (UNTAG_Bool(REGB0
)) {
1747 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1750 if (UNTAG_Bool(REGB0
)) {
1751 REGB0
= TAG_Bool(true);
1753 REGB1
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1754 if (UNTAG_Bool(REGB1
)) {
1756 nit_abort("Uninitialized attribute %s", "_order", LOCATE_metamodel___partial_order
, 308);
1758 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1759 fra
.me
.REG
[1] = CALL_metamodel___partial_order___PartialOrder_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1760 REGB1
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0])!=NIT_NULL
);
1761 if (UNTAG_Bool(REGB1
)) {
1763 nit_abort("Uninitialized attribute %s", "_value", LOCATE_metamodel___partial_order
, 308);
1765 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0]);
1766 REGB1
= CALL_metamodel___partial_order___PartialOrderElement_____l(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1771 stack_frame_head
= fra
.me
.prev
;
1774 void metamodel___partial_order___PartialOrderElement___register_direct_smallers(val_t p0
, val_t p1
){
1775 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1778 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1779 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1781 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___register_direct_smallers
;
1782 fra
.me
.has_broke
= 0;
1783 fra
.me
.REG_size
= 2;
1784 fra
.me
.nitni_local_ref_head
= NULL
;
1785 fra
.me
.REG
[0] = NIT_NULL
;
1786 fra
.me
.REG
[1] = NIT_NULL
;
1789 /* metamodel/partial_order.nit:313 */
1790 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____direct_smallers(fra
.me
.REG
[0])!=NIT_NULL
);
1791 if (UNTAG_Bool(REGB0
)) {
1793 nit_abort("Uninitialized attribute %s", "_direct_smallers", LOCATE_metamodel___partial_order
, 313);
1795 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____direct_smallers(fra
.me
.REG
[0]);
1796 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1797 stack_frame_head
= fra
.me
.prev
;
1800 void metamodel___partial_order___PartialOrderElement___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
1801 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_metamodel___partial_order___PartialOrderElement
].i
;
1802 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1808 if (init_table
[itpos1
]) return;
1809 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1810 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1812 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___init
;
1813 fra
.me
.has_broke
= 0;
1814 fra
.me
.REG_size
= 7;
1815 fra
.me
.nitni_local_ref_head
= NULL
;
1816 fra
.me
.REG
[0] = NIT_NULL
;
1817 fra
.me
.REG
[1] = NIT_NULL
;
1818 fra
.me
.REG
[2] = NIT_NULL
;
1819 fra
.me
.REG
[3] = NIT_NULL
;
1820 fra
.me
.REG
[4] = NIT_NULL
;
1821 fra
.me
.REG
[5] = NIT_NULL
;
1822 fra
.me
.REG
[6] = NIT_NULL
;
1827 /* metamodel/partial_order.nit:318 */
1828 ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1829 /* metamodel/partial_order.nit:319 */
1830 ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
1831 /* metamodel/partial_order.nit:320 */
1832 ATTR_metamodel___partial_order___PartialOrderElement____direct_greaters(fra
.me
.REG
[0]) = fra
.me
.REG
[3];
1833 /* metamodel/partial_order.nit:321 */
1834 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
1835 ATTR_metamodel___partial_order___PartialOrderElement____direct_smallers(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1836 /* metamodel/partial_order.nit:323 */
1837 fra
.me
.REG
[1] = NEW_HashSet_standard___collection___hash_collection___HashSet___init();
1838 ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1839 /* metamodel/partial_order.nit:324 */
1840 fra
.me
.REG
[1] = NEW_HashSet_standard___collection___hash_collection___HashSet___init();
1841 ATTR_metamodel___partial_order___PartialOrderElement____smallers_cache(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1842 /* metamodel/partial_order.nit:326 */
1843 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0])!=NIT_NULL
);
1844 if (UNTAG_Bool(REGB0
)) {
1846 nit_abort("Uninitialized attribute %s", "_greaters", LOCATE_metamodel___partial_order
, 326);
1848 fra
.me
.REG
[1] = ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0]);
1849 /* metamodel/partial_order.nit:327 */
1851 /* ../lib/standard/collection/array.nit:269 */
1853 /* ../lib/standard/collection/array.nit:270 */
1854 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1855 if (UNTAG_Bool(REGB2
)) {
1857 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1859 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1860 /* ../lib/standard/collection/array.nit:271 */
1861 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
1862 /* ../lib/standard/collection/array.nit:272 */
1864 /* ../lib/standard/collection/array.nit:24 */
1865 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1866 if (UNTAG_Bool(REGB2
)) {
1868 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1870 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1871 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1872 if (UNTAG_Bool(REGB3
)) {
1874 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1876 /* ../lib/standard/kernel.nit:232 */
1877 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1878 /* ../lib/standard/collection/array.nit:272 */
1879 if (UNTAG_Bool(REGB2
)) {
1880 /* ../lib/standard/collection/array.nit:273 */
1881 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1882 if (UNTAG_Bool(REGB2
)) {
1883 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1885 /* ../lib/standard/collection/array.nit:718 */
1886 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB1
)];
1887 /* metamodel/partial_order.nit:329 */
1888 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
1889 /* metamodel/partial_order.nit:330 */
1890 REGB2
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1891 if (UNTAG_Bool(REGB2
)) {
1893 nit_abort("Uninitialized attribute %s", "_order", LOCATE_metamodel___partial_order
, 330);
1895 fra
.me
.REG
[6] = ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1896 fra
.me
.REG
[5] = CALL_metamodel___partial_order___PartialOrder_____bra(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1897 /* metamodel/partial_order.nit:331 */
1898 REGB2
= CALL_metamodel___partial_order___PartialOrderElement___rank(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1899 REGB3
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1900 if (UNTAG_Bool(REGB3
)) {
1902 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1904 /* ../lib/standard/kernel.nit:233 */
1905 REGB2
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB0
));
1906 /* metamodel/partial_order.nit:331 */
1907 if (UNTAG_Bool(REGB2
)) {
1908 /* metamodel/partial_order.nit:332 */
1909 REGB2
= CALL_metamodel___partial_order___PartialOrderElement___rank(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1911 /* ../lib/standard/kernel.nit:235 */
1912 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
1913 /* metamodel/partial_order.nit:332 */
1916 /* metamodel/partial_order.nit:334 */
1917 CALL_metamodel___partial_order___PartialOrderElement___register_direct_smallers(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
1918 /* metamodel/partial_order.nit:335 */
1919 fra
.me
.REG
[5] = CALL_metamodel___partial_order___PartialOrderElement___greaters(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1920 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
));
1921 /* ../lib/standard/collection/array.nit:274 */
1923 /* ../lib/standard/kernel.nit:235 */
1924 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
1925 /* ../lib/standard/collection/array.nit:274 */
1928 /* ../lib/standard/collection/array.nit:272 */
1933 /* metamodel/partial_order.nit:339 */
1934 ATTR_metamodel___partial_order___PartialOrderElement____rank(fra
.me
.REG
[0]) = REGB0
;
1935 stack_frame_head
= fra
.me
.prev
;
1936 init_table
[itpos1
] = 1;
1939 void OC_metamodel___partial_order___PartialOrderElement___init_1(struct stack_frame_t
*closctx
, val_t p0
){
1940 struct {struct stack_frame_t me
;} fra
;
1942 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1943 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1945 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___init
;
1946 fra
.me
.has_broke
= 0;
1947 fra
.me
.REG_size
= 1;
1948 fra
.me
.nitni_local_ref_head
= NULL
;
1949 fra
.me
.REG
[0] = NIT_NULL
;
1951 /* metamodel/partial_order.nit:336 */
1952 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[0]);
1953 stack_frame_head
= fra
.me
.prev
;