1 /* This C file is generated by NIT to compile module metamodel___partial_order. */
2 #include "metamodel___partial_order._sep.h"
3 static const char LOCATE_metamodel___partial_order___PartialOrder___roots
[] = "partial_order::PartialOrder::roots";
4 val_t
metamodel___partial_order___PartialOrder___roots(val_t p0
){
5 struct {struct stack_frame_t me
;} fra
;
8 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9 fra
.me
.file
= LOCATE_metamodel___partial_order
;
11 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___roots
;
14 fra
.me
.nitni_local_ref_head
= NULL
;
15 fra
.me
.REG
[0] = NIT_NULL
;
17 /* metamodel/partial_order.nit:30 */
18 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____roots(fra
.me
.REG
[0])!=NIT_NULL
);
19 if (UNTAG_Bool(REGB0
)) {
21 nit_abort("Uninitialized attribute %s", "_roots", LOCATE_metamodel___partial_order
, 30);
23 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____roots(fra
.me
.REG
[0]);
24 stack_frame_head
= fra
.me
.prev
;
27 static const char LOCATE_metamodel___partial_order___PartialOrder___is_empty
[] = "partial_order::PartialOrder::(abstract_collection::Collection::is_empty)";
28 val_t
metamodel___partial_order___PartialOrder___is_empty(val_t p0
){
29 struct {struct stack_frame_t me
;} fra
;
32 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
33 fra
.me
.file
= LOCATE_metamodel___partial_order
;
35 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___is_empty
;
38 fra
.me
.nitni_local_ref_head
= NULL
;
39 fra
.me
.REG
[0] = NIT_NULL
;
41 /* metamodel/partial_order.nit:35 */
42 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
43 if (UNTAG_Bool(REGB0
)) {
45 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_metamodel___partial_order
, 35);
47 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
48 REGB0
= CALL_standard___collection___abstract_collection___MapRead___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
51 stack_frame_head
= fra
.me
.prev
;
54 static const char LOCATE_metamodel___partial_order___PartialOrder___length
[] = "partial_order::PartialOrder::(abstract_collection::Collection::length)";
55 val_t
metamodel___partial_order___PartialOrder___length(val_t p0
){
56 struct {struct stack_frame_t me
;} fra
;
59 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
60 fra
.me
.file
= LOCATE_metamodel___partial_order
;
62 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___length
;
65 fra
.me
.nitni_local_ref_head
= NULL
;
66 fra
.me
.REG
[0] = NIT_NULL
;
68 /* metamodel/partial_order.nit:37 */
69 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
70 if (UNTAG_Bool(REGB0
)) {
72 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_metamodel___partial_order
, 37);
74 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
75 REGB0
= CALL_standard___collection___abstract_collection___MapRead___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
78 stack_frame_head
= fra
.me
.prev
;
81 static const char LOCATE_metamodel___partial_order___PartialOrder___first
[] = "partial_order::PartialOrder::(abstract_collection::Collection::first)";
82 val_t
metamodel___partial_order___PartialOrder___first(val_t p0
){
83 struct {struct stack_frame_t me
;} fra
;
86 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
87 fra
.me
.file
= LOCATE_metamodel___partial_order
;
89 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___first
;
92 fra
.me
.nitni_local_ref_head
= NULL
;
93 fra
.me
.REG
[0] = NIT_NULL
;
95 /* metamodel/partial_order.nit:39 */
96 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements_list(fra
.me
.REG
[0])!=NIT_NULL
);
97 if (UNTAG_Bool(REGB0
)) {
99 nit_abort("Uninitialized attribute %s", "_elements_list", LOCATE_metamodel___partial_order
, 39);
101 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____elements_list(fra
.me
.REG
[0]);
102 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
105 stack_frame_head
= fra
.me
.prev
;
106 return fra
.me
.REG
[0];
108 static const char LOCATE_metamodel___partial_order___PartialOrder___has
[] = "partial_order::PartialOrder::(abstract_collection::Collection::has)";
109 val_t
metamodel___partial_order___PartialOrder___has(val_t p0
, val_t p1
){
110 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
113 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
114 fra
.me
.file
= LOCATE_metamodel___partial_order
;
116 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___has
;
117 fra
.me
.has_broke
= 0;
119 fra
.me
.nitni_local_ref_head
= NULL
;
120 fra
.me
.REG
[0] = NIT_NULL
;
121 fra
.me
.REG
[1] = NIT_NULL
;
124 /* metamodel/partial_order.nit:41 */
125 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
126 if (UNTAG_Bool(REGB0
)) {
128 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_metamodel___partial_order
, 41);
130 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
131 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
134 stack_frame_head
= fra
.me
.prev
;
137 static const char LOCATE_metamodel___partial_order___PartialOrder___has_only
[] = "partial_order::PartialOrder::(abstract_collection::Collection::has_only)";
138 val_t
metamodel___partial_order___PartialOrder___has_only(val_t p0
, val_t p1
){
139 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
144 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
145 fra
.me
.file
= LOCATE_metamodel___partial_order
;
147 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___has_only
;
148 fra
.me
.has_broke
= 0;
150 fra
.me
.nitni_local_ref_head
= NULL
;
151 fra
.me
.REG
[0] = NIT_NULL
;
152 fra
.me
.REG
[1] = NIT_NULL
;
153 fra
.me
.REG
[2] = NIT_NULL
;
156 /* metamodel/partial_order.nit:43 */
157 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
158 if (UNTAG_Bool(REGB0
)) {
160 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_metamodel___partial_order
, 43);
162 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
163 REGB0
= CALL_standard___collection___abstract_collection___MapRead___length(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
165 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
166 if (UNTAG_Bool(REGB2
)) {
168 /* ../lib/standard/kernel.nit:230 */
169 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
170 /* metamodel/partial_order.nit:43 */
173 if (UNTAG_Bool(REGB2
)) {
174 REGB2
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
175 if (UNTAG_Bool(REGB2
)) {
177 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_metamodel___partial_order
, 43);
179 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
180 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead___values(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
181 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
182 REGB2
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[1],fra
.me
.REG
[0]));
183 if (UNTAG_Bool(REGB2
)) {
185 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
186 if (UNTAG_Bool(REGB1
)) {
190 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
200 stack_frame_head
= fra
.me
.prev
;
203 static const char LOCATE_metamodel___partial_order___PartialOrder___count
[] = "partial_order::PartialOrder::(abstract_collection::Collection::count)";
204 val_t
metamodel___partial_order___PartialOrder___count(val_t p0
, val_t p1
){
205 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
209 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
210 fra
.me
.file
= LOCATE_metamodel___partial_order
;
212 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___count
;
213 fra
.me
.has_broke
= 0;
215 fra
.me
.nitni_local_ref_head
= NULL
;
216 fra
.me
.REG
[0] = NIT_NULL
;
217 fra
.me
.REG
[1] = NIT_NULL
;
220 /* metamodel/partial_order.nit:47 */
221 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
222 if (UNTAG_Bool(REGB0
)) {
223 /* metamodel/partial_order.nit:48 */
227 /* metamodel/partial_order.nit:50 */
233 stack_frame_head
= fra
.me
.prev
;
236 static const char LOCATE_metamodel___partial_order___PartialOrder___iterator
[] = "partial_order::PartialOrder::(abstract_collection::Collection::iterator)";
237 val_t
metamodel___partial_order___PartialOrder___iterator(val_t p0
){
238 struct {struct stack_frame_t me
;} fra
;
241 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
242 fra
.me
.file
= LOCATE_metamodel___partial_order
;
244 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___iterator
;
245 fra
.me
.has_broke
= 0;
247 fra
.me
.nitni_local_ref_head
= NULL
;
248 fra
.me
.REG
[0] = NIT_NULL
;
250 /* metamodel/partial_order.nit:54 */
251 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements_list(fra
.me
.REG
[0])!=NIT_NULL
);
252 if (UNTAG_Bool(REGB0
)) {
254 nit_abort("Uninitialized attribute %s", "_elements_list", LOCATE_metamodel___partial_order
, 54);
256 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____elements_list(fra
.me
.REG
[0]);
257 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Collection___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
260 stack_frame_head
= fra
.me
.prev
;
261 return fra
.me
.REG
[0];
263 static const char LOCATE_metamodel___partial_order___PartialOrder_____bra
[] = "partial_order::PartialOrder::[]";
264 val_t
metamodel___partial_order___PartialOrder_____bra(val_t p0
, val_t p1
){
265 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
268 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
269 fra
.me
.file
= LOCATE_metamodel___partial_order
;
271 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder_____bra
;
272 fra
.me
.has_broke
= 0;
274 fra
.me
.nitni_local_ref_head
= NULL
;
275 fra
.me
.REG
[0] = NIT_NULL
;
276 fra
.me
.REG
[1] = NIT_NULL
;
279 /* metamodel/partial_order.nit:61 */
280 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
281 if (UNTAG_Bool(REGB0
)) {
283 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_metamodel___partial_order
, 61);
285 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
286 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
289 stack_frame_head
= fra
.me
.prev
;
290 return fra
.me
.REG
[1];
292 static const char LOCATE_metamodel___partial_order___PartialOrder___to_dot
[] = "partial_order::PartialOrder::to_dot";
293 val_t
metamodel___partial_order___PartialOrder___to_dot(val_t p0
){
294 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
297 static val_t once_value_3
; /* Once value */
298 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
299 fra
.me
.file
= LOCATE_metamodel___partial_order
;
301 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___to_dot
;
302 fra
.me
.has_broke
= 0;
304 fra
.me
.nitni_local_ref_head
= NULL
;
305 fra
.me
.REG
[0] = NIT_NULL
;
306 fra
.me
.REG
[1] = NIT_NULL
;
307 fra
.me
.REG
[2] = NIT_NULL
;
309 /* metamodel/partial_order.nit:67 */
310 fra
.me
.REG
[1] = NEW_Buffer_standard___string___Buffer___init();
311 /* metamodel/partial_order.nit:68 */
312 fra
.me
.REG
[2] = CALL_metamodel___partial_order___PartialOrder___to_dot_header(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
313 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
314 /* metamodel/partial_order.nit:69 */
315 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
316 if (UNTAG_Bool(REGB0
)) {
318 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_metamodel___partial_order
, 69);
320 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
321 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___MapRead___values(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
322 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
));
323 /* metamodel/partial_order.nit:75 */
325 fra
.me
.REG
[0] = BOX_NativeString("}\n");
327 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
328 once_value_3
= fra
.me
.REG
[0];
329 register_static_object(&once_value_3
);
330 } else fra
.me
.REG
[0] = once_value_3
;
331 fra
.me
.REG
[0] = fra
.me
.REG
[0];
332 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
333 /* metamodel/partial_order.nit:76 */
334 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
337 stack_frame_head
= fra
.me
.prev
;
338 return fra
.me
.REG
[1];
340 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
){
341 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
347 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
348 fra
.me
.file
= LOCATE_metamodel___partial_order
;
350 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___to_dot
;
351 fra
.me
.has_broke
= 0;
353 fra
.me
.nitni_local_ref_head
= NULL
;
354 fra
.me
.REG
[0] = NIT_NULL
;
355 fra
.me
.REG
[1] = NIT_NULL
;
356 fra
.me
.REG
[2] = NIT_NULL
;
357 fra
.me
.REG
[3] = NIT_NULL
;
358 fra
.me
.REG
[4] = NIT_NULL
;
359 fra
.me
.closure_ctx
= closctx_param
;
360 fra
.me
.closure_funs
= CREG
;
363 /* metamodel/partial_order.nit:70 */
364 fra
.me
.REG
[1] = CALL_metamodel___partial_order___PartialOrderElement___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
365 fra
.me
.REG
[1] = CALL_metamodel___partial_order___PartialOrder___to_dot_node(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[1]);
366 CALL_standard___collection___abstract_collection___Sequence___append(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[1]);
367 /* metamodel/partial_order.nit:71 */
368 fra
.me
.REG
[1] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
369 /* ../lib/standard/collection/array.nit:269 */
371 /* ../lib/standard/collection/array.nit:270 */
372 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
373 if (UNTAG_Bool(REGB1
)) {
375 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
377 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
378 /* ../lib/standard/collection/array.nit:271 */
379 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
380 /* ../lib/standard/collection/array.nit:272 */
382 /* ../lib/standard/collection/array.nit:24 */
383 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
384 if (UNTAG_Bool(REGB1
)) {
386 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
388 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
389 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
390 if (UNTAG_Bool(REGB2
)) {
392 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
394 /* ../lib/standard/kernel.nit:235 */
395 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
396 /* ../lib/standard/collection/array.nit:272 */
397 if (UNTAG_Bool(REGB1
)) {
398 /* ../lib/standard/collection/array.nit:273 */
399 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
400 if (UNTAG_Bool(REGB1
)) {
401 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
403 /* ../lib/standard/collection/array.nit:718 */
404 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
405 /* metamodel/partial_order.nit:72 */
406 fra
.me
.REG
[4] = CALL_metamodel___partial_order___PartialOrderElement___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
407 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]);
408 CALL_standard___collection___abstract_collection___Sequence___append(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[3]);
409 /* ../lib/standard/collection/array.nit:274 */
411 /* ../lib/standard/kernel.nit:238 */
412 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
413 /* ../lib/standard/collection/array.nit:274 */
416 /* ../lib/standard/collection/array.nit:272 */
421 stack_frame_head
= fra
.me
.prev
;
424 static const char LOCATE_metamodel___partial_order___PartialOrder___to_dot_header
[] = "partial_order::PartialOrder::to_dot_header";
425 val_t
metamodel___partial_order___PartialOrder___to_dot_header(val_t p0
){
426 struct {struct stack_frame_t me
;} fra
;
429 static val_t once_value_1
; /* Once value */
430 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
431 fra
.me
.file
= LOCATE_metamodel___partial_order
;
433 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___to_dot_header
;
434 fra
.me
.has_broke
= 0;
436 fra
.me
.nitni_local_ref_head
= NULL
;
437 fra
.me
.REG
[0] = NIT_NULL
;
439 /* metamodel/partial_order.nit:82 */
441 fra
.me
.REG
[0] = BOX_NativeString("digraph G {\ngraph [rankdir=BT];\n");
443 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
444 once_value_1
= fra
.me
.REG
[0];
445 register_static_object(&once_value_1
);
446 } else fra
.me
.REG
[0] = once_value_1
;
447 fra
.me
.REG
[0] = fra
.me
.REG
[0];
450 stack_frame_head
= fra
.me
.prev
;
451 return fra
.me
.REG
[0];
453 static const char LOCATE_metamodel___partial_order___PartialOrder___to_dot_node
[] = "partial_order::PartialOrder::to_dot_node";
454 val_t
metamodel___partial_order___PartialOrder___to_dot_node(val_t p0
, val_t p1
){
455 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
458 static val_t once_value_1
; /* Once value */
459 static val_t once_value_2
; /* Once value */
460 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
461 fra
.me
.file
= LOCATE_metamodel___partial_order
;
463 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___to_dot_node
;
464 fra
.me
.has_broke
= 0;
466 fra
.me
.nitni_local_ref_head
= NULL
;
467 fra
.me
.REG
[0] = NIT_NULL
;
468 fra
.me
.REG
[1] = NIT_NULL
;
469 fra
.me
.REG
[2] = NIT_NULL
;
472 /* metamodel/partial_order.nit:88 */
474 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
476 fra
.me
.REG
[2] = BOX_NativeString("\"");
478 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
479 once_value_1
= fra
.me
.REG
[2];
480 register_static_object(&once_value_1
);
481 } else fra
.me
.REG
[2] = once_value_1
;
482 fra
.me
.REG
[2] = fra
.me
.REG
[2];
483 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
484 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
485 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
487 fra
.me
.REG
[1] = BOX_NativeString("\";\n");
489 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
490 once_value_2
= fra
.me
.REG
[1];
491 register_static_object(&once_value_2
);
492 } else fra
.me
.REG
[1] = once_value_2
;
493 fra
.me
.REG
[1] = fra
.me
.REG
[1];
494 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
495 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
498 stack_frame_head
= fra
.me
.prev
;
499 return fra
.me
.REG
[0];
501 static const char LOCATE_metamodel___partial_order___PartialOrder___to_dot_edge
[] = "partial_order::PartialOrder::to_dot_edge";
502 val_t
metamodel___partial_order___PartialOrder___to_dot_edge(val_t p0
, val_t p1
, val_t p2
){
503 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
506 static val_t once_value_1
; /* Once value */
507 static val_t once_value_2
; /* Once value */
508 static val_t once_value_3
; /* Once value */
509 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
510 fra
.me
.file
= LOCATE_metamodel___partial_order
;
512 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___to_dot_edge
;
513 fra
.me
.has_broke
= 0;
515 fra
.me
.nitni_local_ref_head
= NULL
;
516 fra
.me
.REG
[0] = NIT_NULL
;
517 fra
.me
.REG
[1] = NIT_NULL
;
518 fra
.me
.REG
[2] = NIT_NULL
;
519 fra
.me
.REG
[3] = NIT_NULL
;
523 /* metamodel/partial_order.nit:94 */
525 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
527 fra
.me
.REG
[3] = BOX_NativeString("\"");
529 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
530 once_value_1
= fra
.me
.REG
[3];
531 register_static_object(&once_value_1
);
532 } else fra
.me
.REG
[3] = once_value_1
;
533 fra
.me
.REG
[3] = fra
.me
.REG
[3];
534 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
535 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
536 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
538 fra
.me
.REG
[1] = BOX_NativeString("\" -> \"");
540 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
541 once_value_2
= fra
.me
.REG
[1];
542 register_static_object(&once_value_2
);
543 } else fra
.me
.REG
[1] = once_value_2
;
544 fra
.me
.REG
[1] = fra
.me
.REG
[1];
545 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
546 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
547 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
549 fra
.me
.REG
[2] = BOX_NativeString("\";\n");
551 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
552 once_value_3
= fra
.me
.REG
[2];
553 register_static_object(&once_value_3
);
554 } else fra
.me
.REG
[2] = once_value_3
;
555 fra
.me
.REG
[2] = fra
.me
.REG
[2];
556 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
557 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
560 stack_frame_head
= fra
.me
.prev
;
561 return fra
.me
.REG
[0];
563 static const char LOCATE_metamodel___partial_order___PartialOrder___select_smallests
[] = "partial_order::PartialOrder::select_smallests";
564 val_t
metamodel___partial_order___PartialOrder___select_smallests(val_t p0
, val_t p1
){
565 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
569 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
570 fra
.me
.file
= LOCATE_metamodel___partial_order
;
572 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___select_smallests
;
573 fra
.me
.has_broke
= 0;
575 fra
.me
.nitni_local_ref_head
= NULL
;
576 fra
.me
.REG
[0] = NIT_NULL
;
577 fra
.me
.REG
[1] = NIT_NULL
;
578 fra
.me
.REG
[2] = NIT_NULL
;
579 fra
.me
.REG
[3] = NIT_NULL
;
580 fra
.me
.REG
[4] = NIT_NULL
;
583 /* metamodel/partial_order.nit:100 */
584 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
585 if (UNTAG_Bool(REGB0
)) {
587 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
588 if (UNTAG_Bool(REGB1
)) {
592 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
596 if (UNTAG_Bool(REGB0
)) {
597 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___init();
600 /* metamodel/partial_order.nit:101 */
601 REGB0
= CALL_metamodel___partial_order___PartialOrder___has_all(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
602 if (UNTAG_Bool(REGB0
)) {
604 nit_abort("Assert failed", NULL
, LOCATE_metamodel___partial_order
, 101);
606 /* metamodel/partial_order.nit:102 */
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
, 102);
611 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
612 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
613 /* metamodel/partial_order.nit:103 */
614 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
615 if (UNTAG_Bool(REGB0
)) {
616 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___partial_order
, 103);
618 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
619 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
620 /* metamodel/partial_order.nit:104 */
621 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
622 if (UNTAG_Bool(REGB0
)) {
623 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___partial_order
, 104);
625 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
));
626 /* metamodel/partial_order.nit:115 */
627 fra
.me
.REG
[2] = fra
.me
.REG
[3];
630 stack_frame_head
= fra
.me
.prev
;
631 return fra
.me
.REG
[2];
633 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
){
634 struct {struct stack_frame_t me
;} fra
;
638 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
639 fra
.me
.file
= LOCATE_metamodel___partial_order
;
641 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___select_smallests
;
642 fra
.me
.has_broke
= 0;
644 fra
.me
.nitni_local_ref_head
= NULL
;
645 fra
.me
.REG
[0] = NIT_NULL
;
646 fra
.me
.closure_ctx
= closctx_param
;
647 fra
.me
.closure_funs
= CREG
;
650 /* metamodel/partial_order.nit:106 */
651 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]);
652 /* metamodel/partial_order.nit:107 */
653 if (UNTAG_Bool(REGB0
)) {
654 /* metamodel/partial_order.nit:110 */
655 fra
.me
.REG
[0] = closctx
->REG
[4];
656 /* metamodel/partial_order.nit:111 */
657 closctx
->REG
[4] = closctx
->REG
[3];
658 /* metamodel/partial_order.nit:112 */
659 closctx
->REG
[3] = fra
.me
.REG
[0];
661 stack_frame_head
= fra
.me
.prev
;
664 static const char LOCATE_metamodel___partial_order___PartialOrder___add
[] = "partial_order::PartialOrder::add";
665 val_t
metamodel___partial_order___PartialOrder___add(val_t p0
, val_t p1
, val_t p2
){
666 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
670 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
671 fra
.me
.file
= LOCATE_metamodel___partial_order
;
673 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___add
;
674 fra
.me
.has_broke
= 0;
676 fra
.me
.nitni_local_ref_head
= NULL
;
677 fra
.me
.REG
[0] = NIT_NULL
;
678 fra
.me
.REG
[1] = NIT_NULL
;
679 fra
.me
.REG
[2] = NIT_NULL
;
680 fra
.me
.REG
[3] = NIT_NULL
;
681 fra
.me
.REG
[4] = NIT_NULL
;
685 /* metamodel/partial_order.nit:121 */
686 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
687 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
688 if (UNTAG_Bool(REGB0
)) {
690 nit_abort("Assert failed", NULL
, LOCATE_metamodel___partial_order
, 121);
692 /* metamodel/partial_order.nit:122 */
693 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
694 if (UNTAG_Bool(REGB0
)) {
696 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
697 if (UNTAG_Bool(REGB1
)) {
701 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
705 if (UNTAG_Bool(REGB0
)) {
708 REGB1
= CALL_metamodel___partial_order___PartialOrder___has_all(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
711 if (UNTAG_Bool(REGB0
)) {
713 nit_abort("Assert failed", NULL
, LOCATE_metamodel___partial_order
, 122);
715 /* metamodel/partial_order.nit:123 */
716 fra
.me
.REG
[3] = CALL_metamodel___partial_order___PartialOrder___select_smallests(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
717 /* metamodel/partial_order.nit:124 */
718 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]);
719 /* metamodel/partial_order.nit:125 */
720 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
721 if (UNTAG_Bool(REGB0
)) {
723 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_metamodel___partial_order
, 125);
725 fra
.me
.REG
[4] = ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
726 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1], fra
.me
.REG
[3]);
727 /* metamodel/partial_order.nit:126 */
728 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements_list(fra
.me
.REG
[0])!=NIT_NULL
);
729 if (UNTAG_Bool(REGB0
)) {
731 nit_abort("Uninitialized attribute %s", "_elements_list", LOCATE_metamodel___partial_order
, 126);
733 fra
.me
.REG
[4] = ATTR_metamodel___partial_order___PartialOrder____elements_list(fra
.me
.REG
[0]);
734 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
735 /* metamodel/partial_order.nit:127 */
736 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
737 if (UNTAG_Bool(REGB0
)) {
739 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
740 if (UNTAG_Bool(REGB1
)) {
744 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
748 if (UNTAG_Bool(REGB0
)) {
751 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
752 if (UNTAG_Bool(REGB1
)) {
753 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___partial_order
, 127);
755 REGB1
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
758 if (UNTAG_Bool(REGB0
)) {
759 /* metamodel/partial_order.nit:128 */
760 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____roots(fra
.me
.REG
[0])!=NIT_NULL
);
761 if (UNTAG_Bool(REGB0
)) {
763 nit_abort("Uninitialized attribute %s", "_roots", LOCATE_metamodel___partial_order
, 128);
765 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____roots(fra
.me
.REG
[0]);
766 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
768 /* metamodel/partial_order.nit:130 */
771 stack_frame_head
= fra
.me
.prev
;
772 return fra
.me
.REG
[3];
774 static const char LOCATE_metamodel___partial_order___PartialOrder___has_all
[] = "partial_order::PartialOrder::has_all";
775 val_t
metamodel___partial_order___PartialOrder___has_all(val_t p0
, val_t p1
){
776 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
779 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
780 fra
.me
.file
= LOCATE_metamodel___partial_order
;
782 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___has_all
;
783 fra
.me
.has_broke
= 0;
785 fra
.me
.nitni_local_ref_head
= NULL
;
786 fra
.me
.REG
[0] = NIT_NULL
;
787 fra
.me
.REG
[1] = NIT_NULL
;
790 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
));
791 switch ((&(fra
.me
))->has_broke
) {
793 case 1: (&(fra
.me
))->has_broke
= 0; goto label3
;
795 /* metamodel/partial_order.nit:141 */
797 fra
.me
.REG
[1] = REGB0
;
800 stack_frame_head
= fra
.me
.prev
;
801 return fra
.me
.REG
[1];
803 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
){
804 struct {struct stack_frame_t me
;} fra
;
808 /* metamodel/partial_order.nit:136 */
809 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
810 fra
.me
.file
= LOCATE_metamodel___partial_order
;
812 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___has_all
;
813 fra
.me
.has_broke
= 0;
815 fra
.me
.nitni_local_ref_head
= NULL
;
816 fra
.me
.REG
[0] = NIT_NULL
;
817 fra
.me
.closure_ctx
= closctx_param
;
818 fra
.me
.closure_funs
= CREG
;
821 /* metamodel/partial_order.nit:137 */
822 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[0]);
823 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
824 if (UNTAG_Bool(REGB0
)) {
825 /* metamodel/partial_order.nit:138 */
827 closctx
->REG
[1] = REGB0
;
828 closctx
->has_broke
= 1;
832 stack_frame_head
= fra
.me
.prev
;
835 static const char LOCATE_metamodel___partial_order___PartialOrder___new_poe
[] = "partial_order::PartialOrder::new_poe";
836 val_t
metamodel___partial_order___PartialOrder___new_poe(val_t p0
, val_t p1
, val_t p2
){
837 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
839 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
840 fra
.me
.file
= LOCATE_metamodel___partial_order
;
842 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___new_poe
;
843 fra
.me
.has_broke
= 0;
845 fra
.me
.nitni_local_ref_head
= NULL
;
846 fra
.me
.REG
[0] = NIT_NULL
;
847 fra
.me
.REG
[1] = NIT_NULL
;
848 fra
.me
.REG
[2] = NIT_NULL
;
852 /* metamodel/partial_order.nit:147 */
853 fra
.me
.REG
[2] = NEW_PartialOrderElement_metamodel___partial_order___PartialOrderElement___init(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[2]);
856 stack_frame_head
= fra
.me
.prev
;
857 return fra
.me
.REG
[2];
859 static const char LOCATE_metamodel___partial_order___PartialOrder___add_to_smallests
[] = "partial_order::PartialOrder::add_to_smallests";
860 val_t
metamodel___partial_order___PartialOrder___add_to_smallests(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
861 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
866 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
867 fra
.me
.file
= LOCATE_metamodel___partial_order
;
869 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___add_to_smallests
;
870 fra
.me
.has_broke
= 0;
872 fra
.me
.nitni_local_ref_head
= NULL
;
873 fra
.me
.REG
[0] = NIT_NULL
;
874 fra
.me
.REG
[1] = NIT_NULL
;
875 fra
.me
.REG
[2] = NIT_NULL
;
876 fra
.me
.REG
[3] = NIT_NULL
;
877 fra
.me
.REG
[4] = NIT_NULL
;
878 fra
.me
.REG
[5] = NIT_NULL
;
883 /* metamodel/partial_order.nit:157 */
884 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
885 /* metamodel/partial_order.nit:158 */
886 fra
.me
.REG
[0] = CALL_metamodel___partial_order___PartialOrder_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
887 /* ../lib/standard/collection/array.nit:269 */
889 /* ../lib/standard/collection/array.nit:270 */
890 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
891 if (UNTAG_Bool(REGB1
)) {
893 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
895 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
896 /* ../lib/standard/collection/array.nit:271 */
897 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
898 /* ../lib/standard/collection/array.nit:272 */
900 /* ../lib/standard/collection/array.nit:24 */
901 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
902 if (UNTAG_Bool(REGB1
)) {
904 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
906 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
907 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
908 if (UNTAG_Bool(REGB2
)) {
910 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
912 /* ../lib/standard/kernel.nit:235 */
913 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
914 /* ../lib/standard/collection/array.nit:272 */
915 if (UNTAG_Bool(REGB1
)) {
916 /* ../lib/standard/collection/array.nit:273 */
917 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
918 if (UNTAG_Bool(REGB1
)) {
919 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
921 /* ../lib/standard/collection/array.nit:718 */
922 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
923 /* metamodel/partial_order.nit:160 */
924 REGB1
= CALL_metamodel___partial_order___PartialOrderElement_____g(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
925 if (UNTAG_Bool(REGB1
)) {
926 /* metamodel/partial_order.nit:161 */
930 /* metamodel/partial_order.nit:163 */
931 REGB2
= CALL_metamodel___partial_order___PartialOrderElement_____l(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
932 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
933 if (UNTAG_Bool(REGB2
)) {
934 /* metamodel/partial_order.nit:164 */
935 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
937 /* ../lib/standard/collection/array.nit:274 */
939 /* ../lib/standard/kernel.nit:238 */
940 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
941 /* ../lib/standard/collection/array.nit:274 */
944 /* ../lib/standard/collection/array.nit:272 */
949 /* metamodel/partial_order.nit:167 */
950 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
951 /* metamodel/partial_order.nit:168 */
956 stack_frame_head
= fra
.me
.prev
;
959 static const char LOCATE_metamodel___partial_order___PartialOrder___compute_smallers_for
[] = "partial_order::PartialOrder::compute_smallers_for";
960 void metamodel___partial_order___PartialOrder___compute_smallers_for(val_t p0
, val_t p1
, val_t p2
){
961 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
964 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
965 fra
.me
.file
= LOCATE_metamodel___partial_order
;
967 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___compute_smallers_for
;
968 fra
.me
.has_broke
= 0;
970 fra
.me
.nitni_local_ref_head
= NULL
;
971 fra
.me
.REG
[0] = NIT_NULL
;
972 fra
.me
.REG
[1] = NIT_NULL
;
973 fra
.me
.REG
[2] = NIT_NULL
;
977 /* metamodel/partial_order.nit:173 */
978 fra
.me
.REG
[1] = CALL_metamodel___partial_order___PartialOrderElement___value(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
979 /* metamodel/partial_order.nit:174 */
980 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0])!=NIT_NULL
);
981 if (UNTAG_Bool(REGB0
)) {
983 nit_abort("Uninitialized attribute %s", "_elements", LOCATE_metamodel___partial_order
, 174);
985 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]);
986 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead___values(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
987 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
));
988 stack_frame_head
= fra
.me
.prev
;
991 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
){
992 struct {struct stack_frame_t me
;} fra
;
996 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
997 fra
.me
.file
= LOCATE_metamodel___partial_order
;
999 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___compute_smallers_for
;
1000 fra
.me
.has_broke
= 0;
1001 fra
.me
.REG_size
= 1;
1002 fra
.me
.nitni_local_ref_head
= NULL
;
1003 fra
.me
.REG
[0] = NIT_NULL
;
1004 fra
.me
.closure_ctx
= closctx_param
;
1005 fra
.me
.closure_funs
= CREG
;
1007 CREG
[0] = clos_fun0
;
1008 /* metamodel/partial_order.nit:175 */
1009 REGB0
= CALL_metamodel___partial_order___PartialOrderElement_____l(fra
.me
.REG
[0])(fra
.me
.REG
[0], closctx
->REG
[1]);
1010 if (UNTAG_Bool(REGB0
)) {
1011 /* metamodel/partial_order.nit:176 */
1012 fra
.me
.REG
[0] = CALL_metamodel___partial_order___PartialOrderElement___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1013 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[0]);
1015 stack_frame_head
= fra
.me
.prev
;
1018 static const char LOCATE_metamodel___partial_order___PartialOrder___init
[] = "partial_order::PartialOrder::init";
1019 void metamodel___partial_order___PartialOrder___init(val_t p0
, int* init_table
){
1020 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_metamodel___partial_order___PartialOrder
].i
;
1021 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1023 if (init_table
[itpos0
]) return;
1024 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1025 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1027 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrder___init
;
1028 fra
.me
.has_broke
= 0;
1029 fra
.me
.REG_size
= 2;
1030 fra
.me
.nitni_local_ref_head
= NULL
;
1031 fra
.me
.REG
[0] = NIT_NULL
;
1032 fra
.me
.REG
[1] = NIT_NULL
;
1034 /* metamodel/partial_order.nit:183 */
1035 fra
.me
.REG
[1] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
1036 ATTR_metamodel___partial_order___PartialOrder____elements(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1037 /* metamodel/partial_order.nit:184 */
1038 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
1039 ATTR_metamodel___partial_order___PartialOrder____elements_list(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1040 /* metamodel/partial_order.nit:185 */
1041 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
1042 ATTR_metamodel___partial_order___PartialOrder____roots(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1043 stack_frame_head
= fra
.me
.prev
;
1044 init_table
[itpos0
] = 1;
1047 static const char LOCATE_metamodel___partial_order___PartialOrderElement___order
[] = "partial_order::PartialOrderElement::order";
1048 val_t
metamodel___partial_order___PartialOrderElement___order(val_t p0
){
1049 struct {struct stack_frame_t me
;} fra
;
1052 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1053 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1055 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___order
;
1056 fra
.me
.has_broke
= 0;
1057 fra
.me
.REG_size
= 1;
1058 fra
.me
.nitni_local_ref_head
= NULL
;
1059 fra
.me
.REG
[0] = NIT_NULL
;
1061 /* metamodel/partial_order.nit:190 */
1062 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1063 if (UNTAG_Bool(REGB0
)) {
1065 nit_abort("Uninitialized attribute %s", "_order", LOCATE_metamodel___partial_order
, 190);
1067 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1068 stack_frame_head
= fra
.me
.prev
;
1069 return fra
.me
.REG
[0];
1071 static const char LOCATE_metamodel___partial_order___PartialOrderElement___value
[] = "partial_order::PartialOrderElement::value";
1072 val_t
metamodel___partial_order___PartialOrderElement___value(val_t p0
){
1073 struct {struct stack_frame_t me
;} fra
;
1076 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1077 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1079 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___value
;
1080 fra
.me
.has_broke
= 0;
1081 fra
.me
.REG_size
= 1;
1082 fra
.me
.nitni_local_ref_head
= NULL
;
1083 fra
.me
.REG
[0] = NIT_NULL
;
1085 /* metamodel/partial_order.nit:193 */
1086 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0])!=NIT_NULL
);
1087 if (UNTAG_Bool(REGB0
)) {
1089 nit_abort("Uninitialized attribute %s", "_value", LOCATE_metamodel___partial_order
, 193);
1091 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0]);
1092 stack_frame_head
= fra
.me
.prev
;
1093 return fra
.me
.REG
[0];
1095 static const char LOCATE_metamodel___partial_order___PartialOrderElement___rank
[] = "partial_order::PartialOrderElement::rank";
1096 val_t
metamodel___partial_order___PartialOrderElement___rank(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___rank
;
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:196 */
1110 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____rank(fra
.me
.REG
[0])!=NIT_NULL
);
1111 if (UNTAG_Bool(REGB0
)) {
1113 nit_abort("Uninitialized attribute %s", "_rank", LOCATE_metamodel___partial_order
, 196);
1115 REGB0
= ATTR_metamodel___partial_order___PartialOrderElement____rank(fra
.me
.REG
[0]);
1116 stack_frame_head
= fra
.me
.prev
;
1119 static const char LOCATE_metamodel___partial_order___PartialOrderElement___direct_greaters
[] = "partial_order::PartialOrderElement::direct_greaters";
1120 val_t
metamodel___partial_order___PartialOrderElement___direct_greaters(val_t p0
){
1121 struct {struct stack_frame_t me
;} fra
;
1124 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1125 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1127 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___direct_greaters
;
1128 fra
.me
.has_broke
= 0;
1129 fra
.me
.REG_size
= 1;
1130 fra
.me
.nitni_local_ref_head
= NULL
;
1131 fra
.me
.REG
[0] = NIT_NULL
;
1133 /* metamodel/partial_order.nit:202 */
1134 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____direct_greaters(fra
.me
.REG
[0])!=NIT_NULL
);
1135 if (UNTAG_Bool(REGB0
)) {
1137 nit_abort("Uninitialized attribute %s", "_direct_greaters", LOCATE_metamodel___partial_order
, 202);
1139 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____direct_greaters(fra
.me
.REG
[0]);
1140 stack_frame_head
= fra
.me
.prev
;
1141 return fra
.me
.REG
[0];
1143 static const char LOCATE_metamodel___partial_order___PartialOrderElement___direct_smallers
[] = "partial_order::PartialOrderElement::direct_smallers";
1144 val_t
metamodel___partial_order___PartialOrderElement___direct_smallers(val_t p0
){
1145 struct {struct stack_frame_t me
;} fra
;
1148 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1149 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1151 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___direct_smallers
;
1152 fra
.me
.has_broke
= 0;
1153 fra
.me
.REG_size
= 1;
1154 fra
.me
.nitni_local_ref_head
= NULL
;
1155 fra
.me
.REG
[0] = NIT_NULL
;
1157 /* metamodel/partial_order.nit:205 */
1158 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____direct_smallers(fra
.me
.REG
[0])!=NIT_NULL
);
1159 if (UNTAG_Bool(REGB0
)) {
1161 nit_abort("Uninitialized attribute %s", "_direct_smallers", LOCATE_metamodel___partial_order
, 205);
1163 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____direct_smallers(fra
.me
.REG
[0]);
1164 stack_frame_head
= fra
.me
.prev
;
1165 return fra
.me
.REG
[0];
1167 static const char LOCATE_metamodel___partial_order___PartialOrderElement___greaters
[] = "partial_order::PartialOrderElement::greaters";
1168 val_t
metamodel___partial_order___PartialOrderElement___greaters(val_t p0
){
1169 struct {struct stack_frame_t me
;} fra
;
1172 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1173 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1175 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___greaters
;
1176 fra
.me
.has_broke
= 0;
1177 fra
.me
.REG_size
= 1;
1178 fra
.me
.nitni_local_ref_head
= NULL
;
1179 fra
.me
.REG
[0] = NIT_NULL
;
1181 /* metamodel/partial_order.nit:208 */
1182 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0])!=NIT_NULL
);
1183 if (UNTAG_Bool(REGB0
)) {
1185 nit_abort("Uninitialized attribute %s", "_greaters", LOCATE_metamodel___partial_order
, 208);
1187 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0]);
1188 stack_frame_head
= fra
.me
.prev
;
1189 return fra
.me
.REG
[0];
1191 static const char LOCATE_metamodel___partial_order___PartialOrderElement___greaters_and_self
[] = "partial_order::PartialOrderElement::greaters_and_self";
1192 val_t
metamodel___partial_order___PartialOrderElement___greaters_and_self(val_t p0
){
1193 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1197 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1198 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1200 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___greaters_and_self
;
1201 fra
.me
.has_broke
= 0;
1202 fra
.me
.REG_size
= 4;
1203 fra
.me
.nitni_local_ref_head
= NULL
;
1204 fra
.me
.REG
[0] = NIT_NULL
;
1205 fra
.me
.REG
[1] = NIT_NULL
;
1206 fra
.me
.REG
[2] = NIT_NULL
;
1207 fra
.me
.REG
[3] = NIT_NULL
;
1209 /* metamodel/partial_order.nit:214 */
1210 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1211 /* metamodel/partial_order.nit:217 */
1212 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____greaters_and_self_cache(fra
.me
.REG
[1]);
1213 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1214 if (UNTAG_Bool(REGB0
)) {
1216 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1217 if (UNTAG_Bool(REGB1
)) {
1218 REGB1
= TAG_Bool(0);
1221 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1225 if (UNTAG_Bool(REGB0
)) {
1226 /* metamodel/partial_order.nit:218 */
1227 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[1])!=NIT_NULL
);
1228 if (UNTAG_Bool(REGB0
)) {
1230 nit_abort("Uninitialized attribute %s", "_greaters", LOCATE_metamodel___partial_order
, 218);
1232 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[1]);
1233 fra
.me
.REG
[2] = CALL_standard___collection___array___Collection___to_a(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1234 ATTR_metamodel___partial_order___PartialOrderElement____greaters_and_self_cache(fra
.me
.REG
[1]) = fra
.me
.REG
[2];
1235 /* metamodel/partial_order.nit:219 */
1236 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____greaters_and_self_cache(fra
.me
.REG
[1]);
1237 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[1])!=NIT_NULL
);
1238 if (UNTAG_Bool(REGB0
)) {
1240 nit_abort("Uninitialized attribute %s", "_value", LOCATE_metamodel___partial_order
, 219);
1242 fra
.me
.REG
[3] = ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[1]);
1243 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1244 if (UNTAG_Bool(REGB0
)) {
1245 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___partial_order
, 219);
1247 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1249 /* metamodel/partial_order.nit:221 */
1250 fra
.me
.REG
[1] = ATTR_metamodel___partial_order___PartialOrderElement____greaters_and_self_cache(fra
.me
.REG
[1]);
1251 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
1252 if (UNTAG_Bool(REGB0
)) {
1254 nit_abort("Cast failed", NULL
, LOCATE_metamodel___partial_order
, 221);
1258 stack_frame_head
= fra
.me
.prev
;
1259 return fra
.me
.REG
[1];
1261 static const char LOCATE_metamodel___partial_order___PartialOrderElement___smallers
[] = "partial_order::PartialOrderElement::smallers";
1262 val_t
metamodel___partial_order___PartialOrderElement___smallers(val_t p0
){
1263 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1268 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1269 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1271 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___smallers
;
1272 fra
.me
.has_broke
= 0;
1273 fra
.me
.REG_size
= 3;
1274 fra
.me
.nitni_local_ref_head
= NULL
;
1275 fra
.me
.REG
[0] = NIT_NULL
;
1276 fra
.me
.REG
[1] = NIT_NULL
;
1277 fra
.me
.REG
[2] = NIT_NULL
;
1279 /* metamodel/partial_order.nit:233 */
1280 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____smallers_last_length(fra
.me
.REG
[0])!=NIT_NULL
);
1281 if (UNTAG_Bool(REGB0
)) {
1283 nit_abort("Uninitialized attribute %s", "_smallers_last_length", LOCATE_metamodel___partial_order
, 233);
1285 REGB0
= ATTR_metamodel___partial_order___PartialOrderElement____smallers_last_length(fra
.me
.REG
[0]);
1286 REGB1
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1287 if (UNTAG_Bool(REGB1
)) {
1289 nit_abort("Uninitialized attribute %s", "_order", LOCATE_metamodel___partial_order
, 233);
1291 fra
.me
.REG
[1] = ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1292 REGB1
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1293 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1294 if (UNTAG_Bool(REGB2
)) {
1296 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1298 /* ../lib/standard/kernel.nit:235 */
1299 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1300 /* metamodel/partial_order.nit:233 */
1301 if (UNTAG_Bool(REGB1
)) {
1302 /* metamodel/partial_order.nit:234 */
1303 REGB1
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1304 if (UNTAG_Bool(REGB1
)) {
1306 nit_abort("Uninitialized attribute %s", "_order", LOCATE_metamodel___partial_order
, 234);
1308 fra
.me
.REG
[1] = ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1309 REGB1
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____smallers_cache(fra
.me
.REG
[0])!=NIT_NULL
);
1310 if (UNTAG_Bool(REGB1
)) {
1312 nit_abort("Uninitialized attribute %s", "_smallers_cache", LOCATE_metamodel___partial_order
, 234);
1314 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____smallers_cache(fra
.me
.REG
[0]);
1315 CALL_metamodel___partial_order___PartialOrder___compute_smallers_for(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
1316 /* metamodel/partial_order.nit:235 */
1317 REGB1
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1318 if (UNTAG_Bool(REGB1
)) {
1320 nit_abort("Uninitialized attribute %s", "_order", LOCATE_metamodel___partial_order
, 235);
1322 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1323 REGB1
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1324 ATTR_metamodel___partial_order___PartialOrderElement____smallers_last_length(fra
.me
.REG
[0]) = REGB1
;
1326 /* metamodel/partial_order.nit:237 */
1327 REGB1
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____smallers_cache(fra
.me
.REG
[0])!=NIT_NULL
);
1328 if (UNTAG_Bool(REGB1
)) {
1330 nit_abort("Uninitialized attribute %s", "_smallers_cache", LOCATE_metamodel___partial_order
, 237);
1332 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____smallers_cache(fra
.me
.REG
[0]);
1335 stack_frame_head
= fra
.me
.prev
;
1336 return fra
.me
.REG
[0];
1338 static const char LOCATE_metamodel___partial_order___PartialOrderElement___linear_extension
[] = "partial_order::PartialOrderElement::linear_extension";
1339 val_t
metamodel___partial_order___PartialOrderElement___linear_extension(val_t p0
){
1340 struct {struct stack_frame_t me
; val_t MORE_REG
[9];} fra
;
1346 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1347 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1349 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___linear_extension
;
1350 fra
.me
.has_broke
= 0;
1351 fra
.me
.REG_size
= 10;
1352 fra
.me
.nitni_local_ref_head
= NULL
;
1353 fra
.me
.REG
[0] = NIT_NULL
;
1354 fra
.me
.REG
[1] = NIT_NULL
;
1355 fra
.me
.REG
[2] = NIT_NULL
;
1356 fra
.me
.REG
[3] = NIT_NULL
;
1357 fra
.me
.REG
[4] = NIT_NULL
;
1358 fra
.me
.REG
[5] = NIT_NULL
;
1359 fra
.me
.REG
[6] = NIT_NULL
;
1360 fra
.me
.REG
[7] = NIT_NULL
;
1361 fra
.me
.REG
[8] = NIT_NULL
;
1362 fra
.me
.REG
[9] = NIT_NULL
;
1364 /* metamodel/partial_order.nit:243 */
1365 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1366 /* metamodel/partial_order.nit:247 */
1367 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____linear_extension_cache(fra
.me
.REG
[1]);
1368 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1369 if (UNTAG_Bool(REGB0
)) {
1371 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1372 if (UNTAG_Bool(REGB1
)) {
1373 REGB1
= TAG_Bool(0);
1376 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1380 if (UNTAG_Bool(REGB0
)) {
1381 /* metamodel/partial_order.nit:248 */
1382 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___init();
1383 /* metamodel/partial_order.nit:249 */
1384 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___init();
1385 /* metamodel/partial_order.nit:250 */
1386 fra
.me
.REG
[4] = CALL_metamodel___partial_order___PartialOrderElement___value(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1387 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1388 /* metamodel/partial_order.nit:251 */
1389 fra
.me
.REG
[4] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1390 /* ../lib/standard/collection/array.nit:269 */
1392 /* ../lib/standard/collection/array.nit:270 */
1393 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1394 if (UNTAG_Bool(REGB1
)) {
1396 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1398 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1399 /* ../lib/standard/collection/array.nit:271 */
1400 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
1401 /* ../lib/standard/collection/array.nit:272 */
1403 /* ../lib/standard/collection/array.nit:24 */
1404 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1405 if (UNTAG_Bool(REGB1
)) {
1407 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1409 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1410 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1411 if (UNTAG_Bool(REGB2
)) {
1413 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1415 /* ../lib/standard/kernel.nit:235 */
1416 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1417 /* ../lib/standard/collection/array.nit:272 */
1418 if (UNTAG_Bool(REGB1
)) {
1419 /* ../lib/standard/collection/array.nit:273 */
1420 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1421 if (UNTAG_Bool(REGB1
)) {
1422 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1424 /* ../lib/standard/collection/array.nit:718 */
1425 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
1426 /* metamodel/partial_order.nit:252 */
1427 fra
.me
.REG
[7] = CALL_metamodel___partial_order___PartialOrderElement___order(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1428 fra
.me
.REG
[6] = CALL_metamodel___partial_order___PartialOrder_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[6]);
1429 fra
.me
.REG
[6] = CALL_metamodel___partial_order___PartialOrderElement___linear_extension(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1430 /* metamodel/partial_order.nit:253 */
1431 CALL_standard___collection___abstract_collection___RemovableCollection___clear(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1432 /* ../lib/standard/collection/array.nit:266 */
1433 fra
.me
.REG
[7] = fra
.me
.REG
[2];
1434 /* ../lib/standard/collection/array.nit:269 */
1436 /* ../lib/standard/collection/array.nit:270 */
1437 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
1438 if (UNTAG_Bool(REGB2
)) {
1440 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1442 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
1443 /* ../lib/standard/collection/array.nit:271 */
1444 fra
.me
.REG
[8] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[7]);
1445 /* ../lib/standard/collection/array.nit:272 */
1447 /* ../lib/standard/collection/array.nit:24 */
1448 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
1449 if (UNTAG_Bool(REGB2
)) {
1451 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1453 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
1454 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1455 if (UNTAG_Bool(REGB3
)) {
1457 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1459 /* ../lib/standard/kernel.nit:235 */
1460 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1461 /* ../lib/standard/collection/array.nit:272 */
1462 if (UNTAG_Bool(REGB2
)) {
1463 /* ../lib/standard/collection/array.nit:273 */
1464 REGB2
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1465 if (UNTAG_Bool(REGB2
)) {
1466 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1468 /* ../lib/standard/collection/array.nit:718 */
1469 fra
.me
.REG
[9] = ((Nit_NativeArray
)fra
.me
.REG
[8])->val
[UNTAG_Int(REGB1
)];
1470 /* metamodel/partial_order.nit:255 */
1471 REGB2
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[9]);
1472 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
1473 if (UNTAG_Bool(REGB2
)) {
1474 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[9]);
1476 /* ../lib/standard/collection/array.nit:274 */
1478 /* ../lib/standard/kernel.nit:238 */
1479 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
1480 /* ../lib/standard/collection/array.nit:274 */
1483 /* ../lib/standard/collection/array.nit:272 */
1488 /* metamodel/partial_order.nit:257 */
1489 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
1490 /* metamodel/partial_order.nit:259 */
1491 fra
.me
.REG
[6] = fra
.me
.REG
[2];
1492 /* metamodel/partial_order.nit:260 */
1493 fra
.me
.REG
[2] = fra
.me
.REG
[3];
1494 /* metamodel/partial_order.nit:261 */
1495 fra
.me
.REG
[3] = fra
.me
.REG
[6];
1496 /* ../lib/standard/collection/array.nit:274 */
1498 /* ../lib/standard/kernel.nit:238 */
1499 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1500 /* ../lib/standard/collection/array.nit:274 */
1503 /* ../lib/standard/collection/array.nit:272 */
1508 /* metamodel/partial_order.nit:263 */
1509 ATTR_metamodel___partial_order___PartialOrderElement____linear_extension_cache(fra
.me
.REG
[1]) = fra
.me
.REG
[2];
1511 /* metamodel/partial_order.nit:265 */
1512 fra
.me
.REG
[1] = ATTR_metamodel___partial_order___PartialOrderElement____linear_extension_cache(fra
.me
.REG
[1]);
1513 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
1514 if (UNTAG_Bool(REGB0
)) {
1516 nit_abort("Cast failed", NULL
, LOCATE_metamodel___partial_order
, 265);
1520 stack_frame_head
= fra
.me
.prev
;
1521 return fra
.me
.REG
[1];
1523 static const char LOCATE_metamodel___partial_order___PartialOrderElement___reverse_linear_extension
[] = "partial_order::PartialOrderElement::reverse_linear_extension";
1524 val_t
metamodel___partial_order___PartialOrderElement___reverse_linear_extension(val_t p0
){
1525 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1530 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1531 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1533 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___reverse_linear_extension
;
1534 fra
.me
.has_broke
= 0;
1535 fra
.me
.REG_size
= 7;
1536 fra
.me
.nitni_local_ref_head
= NULL
;
1537 fra
.me
.REG
[0] = NIT_NULL
;
1538 fra
.me
.REG
[1] = NIT_NULL
;
1539 fra
.me
.REG
[2] = NIT_NULL
;
1540 fra
.me
.REG
[3] = NIT_NULL
;
1541 fra
.me
.REG
[4] = NIT_NULL
;
1542 fra
.me
.REG
[5] = NIT_NULL
;
1543 fra
.me
.REG
[6] = NIT_NULL
;
1545 /* metamodel/partial_order.nit:271 */
1546 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1547 /* metamodel/partial_order.nit:275 */
1548 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____reverse_linear_extension_cache(fra
.me
.REG
[1]);
1549 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1550 if (UNTAG_Bool(REGB0
)) {
1552 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1553 if (UNTAG_Bool(REGB1
)) {
1554 REGB1
= TAG_Bool(0);
1557 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1561 if (UNTAG_Bool(REGB0
)) {
1562 /* metamodel/partial_order.nit:276 */
1563 fra
.me
.REG
[2] = NEW_HashSet_standard___collection___hash_collection___HashSet___init();
1564 /* metamodel/partial_order.nit:277 */
1565 fra
.me
.REG
[3] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1566 /* ../lib/standard/collection/array.nit:269 */
1568 /* ../lib/standard/collection/array.nit:270 */
1569 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1570 if (UNTAG_Bool(REGB1
)) {
1572 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1574 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1575 /* ../lib/standard/collection/array.nit:271 */
1576 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
1577 /* ../lib/standard/collection/array.nit:272 */
1579 /* ../lib/standard/collection/array.nit:24 */
1580 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1581 if (UNTAG_Bool(REGB1
)) {
1583 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1585 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1586 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1587 if (UNTAG_Bool(REGB2
)) {
1589 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1591 /* ../lib/standard/kernel.nit:235 */
1592 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1593 /* ../lib/standard/collection/array.nit:272 */
1594 if (UNTAG_Bool(REGB1
)) {
1595 /* ../lib/standard/collection/array.nit:273 */
1596 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1597 if (UNTAG_Bool(REGB1
)) {
1598 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1600 /* ../lib/standard/collection/array.nit:718 */
1601 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
1602 /* metamodel/partial_order.nit:278 */
1603 fra
.me
.REG
[6] = CALL_metamodel___partial_order___PartialOrderElement___order(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1604 fra
.me
.REG
[5] = CALL_metamodel___partial_order___PartialOrder_____bra(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1605 fra
.me
.REG
[5] = CALL_metamodel___partial_order___PartialOrderElement___linear_extension(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1606 /* metamodel/partial_order.nit:279 */
1607 CALL_standard___collection___abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
1608 /* ../lib/standard/collection/array.nit:274 */
1610 /* ../lib/standard/kernel.nit:238 */
1611 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1612 /* ../lib/standard/collection/array.nit:274 */
1615 /* ../lib/standard/collection/array.nit:272 */
1620 /* metamodel/partial_order.nit:281 */
1621 fra
.me
.REG
[4] = CALL_metamodel___partial_order___PartialOrderElement___value(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1622 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1623 /* metamodel/partial_order.nit:282 */
1624 fra
.me
.REG
[2] = CALL_standard___collection___array___Collection___to_a(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1625 ATTR_metamodel___partial_order___PartialOrderElement____linear_extension_cache(fra
.me
.REG
[1]) = fra
.me
.REG
[2];
1627 /* metamodel/partial_order.nit:284 */
1628 fra
.me
.REG
[1] = ATTR_metamodel___partial_order___PartialOrderElement____linear_extension_cache(fra
.me
.REG
[1]);
1629 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
1630 if (UNTAG_Bool(REGB0
)) {
1632 nit_abort("Cast failed", NULL
, LOCATE_metamodel___partial_order
, 284);
1636 stack_frame_head
= fra
.me
.prev
;
1637 return fra
.me
.REG
[1];
1639 static const char LOCATE_metamodel___partial_order___PartialOrderElement_____l
[] = "partial_order::PartialOrderElement::<";
1640 val_t
metamodel___partial_order___PartialOrderElement_____l(val_t p0
, val_t p1
){
1641 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1644 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1645 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1647 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement_____l
;
1648 fra
.me
.has_broke
= 0;
1649 fra
.me
.REG_size
= 2;
1650 fra
.me
.nitni_local_ref_head
= NULL
;
1651 fra
.me
.REG
[0] = NIT_NULL
;
1652 fra
.me
.REG
[1] = NIT_NULL
;
1655 /* metamodel/partial_order.nit:290 */
1656 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0])!=NIT_NULL
);
1657 if (UNTAG_Bool(REGB0
)) {
1659 nit_abort("Uninitialized attribute %s", "_greaters", LOCATE_metamodel___partial_order
, 290);
1661 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0]);
1662 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1665 stack_frame_head
= fra
.me
.prev
;
1668 static const char LOCATE_metamodel___partial_order___PartialOrderElement_____leq
[] = "partial_order::PartialOrderElement::<=";
1669 val_t
metamodel___partial_order___PartialOrderElement_____leq(val_t p0
, val_t p1
){
1670 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1674 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1675 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1677 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement_____leq
;
1678 fra
.me
.has_broke
= 0;
1679 fra
.me
.REG_size
= 3;
1680 fra
.me
.nitni_local_ref_head
= NULL
;
1681 fra
.me
.REG
[0] = NIT_NULL
;
1682 fra
.me
.REG
[1] = NIT_NULL
;
1683 fra
.me
.REG
[2] = NIT_NULL
;
1686 /* metamodel/partial_order.nit:296 */
1687 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0])!=NIT_NULL
);
1688 if (UNTAG_Bool(REGB0
)) {
1690 nit_abort("Uninitialized attribute %s", "_value", LOCATE_metamodel___partial_order
, 296);
1692 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0]);
1693 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[1]));
1694 if (UNTAG_Bool(REGB0
)) {
1696 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1699 if (UNTAG_Bool(REGB0
)) {
1700 REGB0
= TAG_Bool(1);
1702 REGB1
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0])!=NIT_NULL
);
1703 if (UNTAG_Bool(REGB1
)) {
1705 nit_abort("Uninitialized attribute %s", "_greaters", LOCATE_metamodel___partial_order
, 296);
1707 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0]);
1708 REGB1
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1713 stack_frame_head
= fra
.me
.prev
;
1716 static const char LOCATE_metamodel___partial_order___PartialOrderElement_____g
[] = "partial_order::PartialOrderElement::>";
1717 val_t
metamodel___partial_order___PartialOrderElement_____g(val_t p0
, val_t p1
){
1718 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1721 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1722 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1724 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement_____g
;
1725 fra
.me
.has_broke
= 0;
1726 fra
.me
.REG_size
= 3;
1727 fra
.me
.nitni_local_ref_head
= NULL
;
1728 fra
.me
.REG
[0] = NIT_NULL
;
1729 fra
.me
.REG
[1] = NIT_NULL
;
1730 fra
.me
.REG
[2] = NIT_NULL
;
1733 /* metamodel/partial_order.nit:302 */
1734 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1735 if (UNTAG_Bool(REGB0
)) {
1737 nit_abort("Uninitialized attribute %s", "_order", LOCATE_metamodel___partial_order
, 302);
1739 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1740 fra
.me
.REG
[1] = CALL_metamodel___partial_order___PartialOrder_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1741 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0])!=NIT_NULL
);
1742 if (UNTAG_Bool(REGB0
)) {
1744 nit_abort("Uninitialized attribute %s", "_value", LOCATE_metamodel___partial_order
, 302);
1746 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0]);
1747 REGB0
= CALL_metamodel___partial_order___PartialOrderElement_____l(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1750 stack_frame_head
= fra
.me
.prev
;
1753 static const char LOCATE_metamodel___partial_order___PartialOrderElement_____geq
[] = "partial_order::PartialOrderElement::>=";
1754 val_t
metamodel___partial_order___PartialOrderElement_____geq(val_t p0
, val_t p1
){
1755 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1759 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1760 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1762 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement_____geq
;
1763 fra
.me
.has_broke
= 0;
1764 fra
.me
.REG_size
= 3;
1765 fra
.me
.nitni_local_ref_head
= NULL
;
1766 fra
.me
.REG
[0] = NIT_NULL
;
1767 fra
.me
.REG
[1] = NIT_NULL
;
1768 fra
.me
.REG
[2] = NIT_NULL
;
1771 /* metamodel/partial_order.nit:308 */
1772 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0])!=NIT_NULL
);
1773 if (UNTAG_Bool(REGB0
)) {
1775 nit_abort("Uninitialized attribute %s", "_value", LOCATE_metamodel___partial_order
, 308);
1777 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0]);
1778 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[1]));
1779 if (UNTAG_Bool(REGB0
)) {
1781 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1784 if (UNTAG_Bool(REGB0
)) {
1785 REGB0
= TAG_Bool(1);
1787 REGB1
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1788 if (UNTAG_Bool(REGB1
)) {
1790 nit_abort("Uninitialized attribute %s", "_order", LOCATE_metamodel___partial_order
, 308);
1792 fra
.me
.REG
[2] = ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1793 fra
.me
.REG
[1] = CALL_metamodel___partial_order___PartialOrder_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1794 REGB1
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0])!=NIT_NULL
);
1795 if (UNTAG_Bool(REGB1
)) {
1797 nit_abort("Uninitialized attribute %s", "_value", LOCATE_metamodel___partial_order
, 308);
1799 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0]);
1800 REGB1
= CALL_metamodel___partial_order___PartialOrderElement_____l(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1805 stack_frame_head
= fra
.me
.prev
;
1808 static const char LOCATE_metamodel___partial_order___PartialOrderElement___register_direct_smallers
[] = "partial_order::PartialOrderElement::register_direct_smallers";
1809 void metamodel___partial_order___PartialOrderElement___register_direct_smallers(val_t p0
, val_t p1
){
1810 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1813 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1814 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1816 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___register_direct_smallers
;
1817 fra
.me
.has_broke
= 0;
1818 fra
.me
.REG_size
= 2;
1819 fra
.me
.nitni_local_ref_head
= NULL
;
1820 fra
.me
.REG
[0] = NIT_NULL
;
1821 fra
.me
.REG
[1] = NIT_NULL
;
1824 /* metamodel/partial_order.nit:313 */
1825 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____direct_smallers(fra
.me
.REG
[0])!=NIT_NULL
);
1826 if (UNTAG_Bool(REGB0
)) {
1828 nit_abort("Uninitialized attribute %s", "_direct_smallers", LOCATE_metamodel___partial_order
, 313);
1830 fra
.me
.REG
[0] = ATTR_metamodel___partial_order___PartialOrderElement____direct_smallers(fra
.me
.REG
[0]);
1831 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1832 stack_frame_head
= fra
.me
.prev
;
1835 static const char LOCATE_metamodel___partial_order___PartialOrderElement___init
[] = "partial_order::PartialOrderElement::init";
1836 void metamodel___partial_order___PartialOrderElement___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
1837 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_metamodel___partial_order___PartialOrderElement
].i
;
1838 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1844 if (init_table
[itpos1
]) return;
1845 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1846 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1848 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___init
;
1849 fra
.me
.has_broke
= 0;
1850 fra
.me
.REG_size
= 7;
1851 fra
.me
.nitni_local_ref_head
= NULL
;
1852 fra
.me
.REG
[0] = NIT_NULL
;
1853 fra
.me
.REG
[1] = NIT_NULL
;
1854 fra
.me
.REG
[2] = NIT_NULL
;
1855 fra
.me
.REG
[3] = NIT_NULL
;
1856 fra
.me
.REG
[4] = NIT_NULL
;
1857 fra
.me
.REG
[5] = NIT_NULL
;
1858 fra
.me
.REG
[6] = NIT_NULL
;
1863 /* metamodel/partial_order.nit:318 */
1864 ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1865 /* metamodel/partial_order.nit:319 */
1866 ATTR_metamodel___partial_order___PartialOrderElement____value(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
1867 /* metamodel/partial_order.nit:320 */
1868 ATTR_metamodel___partial_order___PartialOrderElement____direct_greaters(fra
.me
.REG
[0]) = fra
.me
.REG
[3];
1869 /* metamodel/partial_order.nit:321 */
1870 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
1871 ATTR_metamodel___partial_order___PartialOrderElement____direct_smallers(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1872 /* metamodel/partial_order.nit:323 */
1873 fra
.me
.REG
[1] = NEW_HashSet_standard___collection___hash_collection___HashSet___init();
1874 ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1875 /* metamodel/partial_order.nit:324 */
1876 fra
.me
.REG
[1] = NEW_HashSet_standard___collection___hash_collection___HashSet___init();
1877 ATTR_metamodel___partial_order___PartialOrderElement____smallers_cache(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1878 /* metamodel/partial_order.nit:326 */
1879 REGB0
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0])!=NIT_NULL
);
1880 if (UNTAG_Bool(REGB0
)) {
1882 nit_abort("Uninitialized attribute %s", "_greaters", LOCATE_metamodel___partial_order
, 326);
1884 fra
.me
.REG
[1] = ATTR_metamodel___partial_order___PartialOrderElement____greaters(fra
.me
.REG
[0]);
1885 /* metamodel/partial_order.nit:327 */
1887 /* ../lib/standard/collection/array.nit:269 */
1889 /* ../lib/standard/collection/array.nit:270 */
1890 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1891 if (UNTAG_Bool(REGB2
)) {
1893 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1895 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1896 /* ../lib/standard/collection/array.nit:271 */
1897 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
1898 /* ../lib/standard/collection/array.nit:272 */
1900 /* ../lib/standard/collection/array.nit:24 */
1901 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1902 if (UNTAG_Bool(REGB2
)) {
1904 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1906 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1907 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1908 if (UNTAG_Bool(REGB3
)) {
1910 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1912 /* ../lib/standard/kernel.nit:235 */
1913 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1914 /* ../lib/standard/collection/array.nit:272 */
1915 if (UNTAG_Bool(REGB2
)) {
1916 /* ../lib/standard/collection/array.nit:273 */
1917 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1918 if (UNTAG_Bool(REGB2
)) {
1919 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1921 /* ../lib/standard/collection/array.nit:718 */
1922 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB1
)];
1923 /* metamodel/partial_order.nit:329 */
1924 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
1925 /* metamodel/partial_order.nit:330 */
1926 REGB2
= TAG_Bool(ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0])!=NIT_NULL
);
1927 if (UNTAG_Bool(REGB2
)) {
1929 nit_abort("Uninitialized attribute %s", "_order", LOCATE_metamodel___partial_order
, 330);
1931 fra
.me
.REG
[6] = ATTR_metamodel___partial_order___PartialOrderElement____order(fra
.me
.REG
[0]);
1932 fra
.me
.REG
[5] = CALL_metamodel___partial_order___PartialOrder_____bra(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
1933 /* metamodel/partial_order.nit:331 */
1934 REGB2
= CALL_metamodel___partial_order___PartialOrderElement___rank(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1935 REGB3
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1936 if (UNTAG_Bool(REGB3
)) {
1938 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1940 /* ../lib/standard/kernel.nit:236 */
1941 REGB2
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB0
));
1942 /* metamodel/partial_order.nit:331 */
1943 if (UNTAG_Bool(REGB2
)) {
1944 /* metamodel/partial_order.nit:332 */
1945 REGB2
= CALL_metamodel___partial_order___PartialOrderElement___rank(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1947 /* ../lib/standard/kernel.nit:238 */
1948 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
1949 /* metamodel/partial_order.nit:332 */
1952 /* metamodel/partial_order.nit:334 */
1953 CALL_metamodel___partial_order___PartialOrderElement___register_direct_smallers(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
1954 /* metamodel/partial_order.nit:335 */
1955 fra
.me
.REG
[5] = CALL_metamodel___partial_order___PartialOrderElement___greaters(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1956 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
));
1957 /* ../lib/standard/collection/array.nit:274 */
1959 /* ../lib/standard/kernel.nit:238 */
1960 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
1961 /* ../lib/standard/collection/array.nit:274 */
1964 /* ../lib/standard/collection/array.nit:272 */
1969 /* metamodel/partial_order.nit:339 */
1970 ATTR_metamodel___partial_order___PartialOrderElement____rank(fra
.me
.REG
[0]) = REGB0
;
1971 stack_frame_head
= fra
.me
.prev
;
1972 init_table
[itpos1
] = 1;
1975 void OC_metamodel___partial_order___PartialOrderElement___init_1(struct stack_frame_t
*closctx
, val_t p0
){
1976 struct {struct stack_frame_t me
;} fra
;
1978 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1979 fra
.me
.file
= LOCATE_metamodel___partial_order
;
1981 fra
.me
.meth
= LOCATE_metamodel___partial_order___PartialOrderElement___init
;
1982 fra
.me
.has_broke
= 0;
1983 fra
.me
.REG_size
= 1;
1984 fra
.me
.nitni_local_ref_head
= NULL
;
1985 fra
.me
.REG
[0] = NIT_NULL
;
1987 /* metamodel/partial_order.nit:336 */
1988 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[0]);
1989 stack_frame_head
= fra
.me
.prev
;