1 #include "nitc__coloring.sep.0.h"
2 /* method coloring#POSetConflictGraph#core for (self: POSetConflictGraph[nullable Object]): HashSet[nullable Object] */
3 val
* nitc___nitc__POSetConflictGraph___core(val
* self
) {
4 val
* var
/* : HashSet[nullable Object] */;
5 val
* var1
/* : HashSet[nullable Object] */;
6 var1
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___core
].val
; /* _core on <self:POSetConflictGraph[nullable Object]> */
7 if (unlikely(var1
== NULL
)) {
8 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _core");
9 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 22);
16 /* method coloring#POSetConflictGraph#border for (self: POSetConflictGraph[nullable Object]): HashSet[nullable Object] */
17 val
* nitc___nitc__POSetConflictGraph___border(val
* self
) {
18 val
* var
/* : HashSet[nullable Object] */;
19 val
* var1
/* : HashSet[nullable Object] */;
20 var1
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___border
].val
; /* _border on <self:POSetConflictGraph[nullable Object]> */
21 if (unlikely(var1
== NULL
)) {
22 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _border");
23 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 28);
30 /* method coloring#POSetConflictGraph#crown for (self: POSetConflictGraph[nullable Object]): HashSet[nullable Object] */
31 val
* nitc___nitc__POSetConflictGraph___crown(val
* self
) {
32 val
* var
/* : HashSet[nullable Object] */;
33 val
* var1
/* : HashSet[nullable Object] */;
34 var1
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___crown
].val
; /* _crown on <self:POSetConflictGraph[nullable Object]> */
35 if (unlikely(var1
== NULL
)) {
36 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _crown");
37 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 34);
44 /* method coloring#POSetConflictGraph#conflicts for (self: POSetConflictGraph[nullable Object]): HashMap[nullable Object, Set[nullable Object]] */
45 val
* nitc___nitc__POSetConflictGraph___conflicts(val
* self
) {
46 val
* var
/* : HashMap[nullable Object, Set[nullable Object]] */;
47 val
* var1
/* : HashMap[nullable Object, Set[nullable Object]] */;
48 var1
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___conflicts
].val
; /* _conflicts on <self:POSetConflictGraph[nullable Object]> */
49 if (unlikely(var1
== NULL
)) {
50 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conflicts");
51 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 40);
58 /* method coloring#POSetConflictGraph#poset for (self: POSetConflictGraph[nullable Object]): POSet[nullable Object] */
59 val
* nitc___nitc__POSetConflictGraph___poset(val
* self
) {
60 val
* var
/* : POSet[nullable Object] */;
61 val
* var1
/* : POSet[nullable Object] */;
62 var1
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___poset
].val
; /* _poset on <self:POSetConflictGraph[nullable Object]> */
63 if (unlikely(var1
== NULL
)) {
64 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _poset");
65 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 48);
72 /* method coloring#POSetConflictGraph#poset= for (self: POSetConflictGraph[nullable Object], POSet[nullable Object]) */
73 void nitc___nitc__POSetConflictGraph___poset_61d(val
* self
, val
* p0
) {
74 short int var
/* : Bool */;
77 const struct type
* type_struct
;
78 const char* var_class_name
;
79 /* Covariant cast for argument 0 (poset) <p0:POSet[nullable Object]> isa POSet[E] */
80 /* <p0:POSet[nullable Object]> isa POSet[E] */
81 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet__nitc__POSetConflictGraph___35dE
];
82 cltype
= type_struct
->color
;
83 idtype
= type_struct
->id
;
84 if(cltype
>= p0
->type
->table_size
) {
87 var
= p0
->type
->type_table
[cltype
] == idtype
;
90 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
91 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet[E]", var_class_name
);
92 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 48);
95 self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___poset
].val
= p0
; /* _poset on <self:POSetConflictGraph[nullable Object]> */
98 /* method coloring#POSetConflictGraph#order for (self: POSetConflictGraph[nullable Object]): Array[nullable Object] */
99 val
* nitc___nitc__POSetConflictGraph___order(val
* self
) {
100 val
* var
/* : Array[nullable Object] */;
101 val
* var1
/* : Array[nullable Object] */;
102 var1
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___order
].val
; /* _order on <self:POSetConflictGraph[nullable Object]> */
103 if (unlikely(var1
== NULL
)) {
104 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _order");
105 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 51);
112 /* method coloring#POSetConflictGraph#order= for (self: POSetConflictGraph[nullable Object], Array[nullable Object]) */
113 void nitc___nitc__POSetConflictGraph___order_61d(val
* self
, val
* p0
) {
114 short int var
/* : Bool */;
117 const struct type
* type_struct
;
118 const char* var_class_name
;
119 /* Covariant cast for argument 0 (order) <p0:Array[nullable Object]> isa Array[E] */
120 /* <p0:Array[nullable Object]> isa Array[E] */
121 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__Array__nitc__POSetConflictGraph___35dE
];
122 cltype
= type_struct
->color
;
123 idtype
= type_struct
->id
;
124 if(cltype
>= p0
->type
->table_size
) {
127 var
= p0
->type
->type_table
[cltype
] == idtype
;
129 if (unlikely(!var
)) {
130 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
131 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Array[E]", var_class_name
);
132 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 51);
135 self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___order
].val
= p0
; /* _order on <self:POSetConflictGraph[nullable Object]> */
138 /* method coloring#POSetConflictGraph#init for (self: POSetConflictGraph[nullable Object]) */
139 void nitc___nitc__POSetConflictGraph___core__kernel__Object__init(val
* self
) {
140 val
* var
/* : POSet[nullable Object] */;
141 val
* var2
/* : POSet[nullable Object] */;
142 val
* var3
/* : POSet[nullable Object] */;
143 val
* var5
/* : POSet[nullable Object] */;
144 val
* var6
/* : Array[nullable Object] */;
145 short int var8
/* : Bool */;
148 const struct type
* type_struct
;
149 const char* var_class_name
;
151 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc___nitc__POSetConflictGraph___core__kernel__Object__init
]))(self
); /* init on <self:POSetConflictGraph[nullable Object]>*/
154 nitc___nitc__POSetConflictGraph___extract_core(self
); /* Direct call coloring#POSetConflictGraph#extract_core on <self:POSetConflictGraph[nullable Object]>*/
157 nitc___nitc__POSetConflictGraph___extract_border(self
); /* Direct call coloring#POSetConflictGraph#extract_border on <self:POSetConflictGraph[nullable Object]>*/
160 nitc___nitc__POSetConflictGraph___extract_crown(self
); /* Direct call coloring#POSetConflictGraph#extract_crown on <self:POSetConflictGraph[nullable Object]>*/
163 nitc___nitc__POSetConflictGraph___compute_conflicts(self
); /* Direct call coloring#POSetConflictGraph#compute_conflicts on <self:POSetConflictGraph[nullable Object]>*/
166 { /* Inline coloring#POSetConflictGraph#poset (self) on <self:POSetConflictGraph[nullable Object]> */
167 var2
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___poset
].val
; /* _poset on <self:POSetConflictGraph[nullable Object]> */
168 if (unlikely(var2
== NULL
)) {
169 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _poset");
170 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 48);
178 { /* Inline coloring#POSetConflictGraph#poset (self) on <self:POSetConflictGraph[nullable Object]> */
179 var5
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___poset
].val
; /* _poset on <self:POSetConflictGraph[nullable Object]> */
180 if (unlikely(var5
== NULL
)) {
181 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _poset");
182 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 48);
190 var6
= poset___poset__POSet___linearize(var
, var3
);
193 { /* Inline coloring#POSetConflictGraph#order= (self,var6) on <self:POSetConflictGraph[nullable Object]> */
194 /* Covariant cast for argument 0 (order) <var6:Array[nullable Object]> isa Array[E] */
195 /* <var6:Array[nullable Object]> isa Array[E] */
196 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__Array__nitc__POSetConflictGraph___35dE
];
197 cltype
= type_struct
->color
;
198 idtype
= type_struct
->id
;
199 if(cltype
>= var6
->type
->table_size
) {
202 var8
= var6
->type
->type_table
[cltype
] == idtype
;
204 if (unlikely(!var8
)) {
205 var_class_name
= var6
== NULL ?
"null" : var6
->type
->name
;
206 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Array[E]", var_class_name
);
207 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 51);
210 self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___order
].val
= var6
; /* _order on <self:POSetConflictGraph[nullable Object]> */
216 /* method coloring#POSetConflictGraph#extract_core for (self: POSetConflictGraph[nullable Object]) */
217 void nitc___nitc__POSetConflictGraph___extract_core(val
* self
) {
218 val
* var
/* : HashSet[nullable Object] */;
219 val
* var2
/* : HashSet[nullable Object] */;
220 val
* var3
/* : POSet[nullable Object] */;
221 val
* var5
/* : POSet[nullable Object] */;
222 val
* var_
/* var : POSet[nullable Object] */;
223 val
* var6
/* : Iterator[nullable Object] */;
224 val
* var_7
/* var : Iterator[nullable Object] */;
225 short int var8
/* : Bool */;
226 val
* var9
/* : nullable Object */;
227 val
* var_e
/* var e: nullable Object */;
228 val
* var10
/* : POSet[nullable Object] */;
229 val
* var12
/* : POSet[nullable Object] */;
230 val
* var13
/* : POSetElement[nullable Object] */;
231 val
* var14
/* : Collection[nullable Object] */;
232 long var15
/* : Int */;
233 short int var16
/* : Bool */;
234 short int var18
/* : Bool */;
237 const char* var_class_name
;
238 short int var19
/* : Bool */;
239 val
* var20
/* : HashSet[nullable Object] */;
240 val
* var22
/* : HashSet[nullable Object] */;
241 val
* var23
/* : POSet[nullable Object] */;
242 val
* var25
/* : POSet[nullable Object] */;
243 val
* var26
/* : POSetElement[nullable Object] */;
244 val
* var27
/* : Collection[nullable Object] */;
246 { /* Inline coloring#POSetConflictGraph#core (self) on <self:POSetConflictGraph[nullable Object]> */
247 var2
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___core
].val
; /* _core on <self:POSetConflictGraph[nullable Object]> */
248 if (unlikely(var2
== NULL
)) {
249 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _core");
250 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 22);
258 core___core__HashSet___core__abstract_collection__RemovableCollection__clear(var
); /* Direct call hash_collection#HashSet#clear on <var:HashSet[nullable Object]>*/
261 { /* Inline coloring#POSetConflictGraph#poset (self) on <self:POSetConflictGraph[nullable Object]> */
262 var5
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___poset
].val
; /* _poset on <self:POSetConflictGraph[nullable Object]> */
263 if (unlikely(var5
== NULL
)) {
264 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _poset");
265 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 48);
274 var6
= poset___poset__POSet___core__abstract_collection__Collection__iterator(var_
);
279 var8
= ((short int(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_7
); /* is_ok on <var_7:Iterator[nullable Object]>*/
286 var9
= ((val
*(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_7
); /* item on <var_7:Iterator[nullable Object]>*/
290 { /* Inline coloring#POSetConflictGraph#poset (self) on <self:POSetConflictGraph[nullable Object]> */
291 var12
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___poset
].val
; /* _poset on <self:POSetConflictGraph[nullable Object]> */
292 if (unlikely(var12
== NULL
)) {
293 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _poset");
294 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 48);
302 var13
= poset___poset__POSet____91d_93d(var10
, var_e
);
305 var14
= poset___poset__POSetElement___direct_greaters(var13
);
308 var15
= ((long(*)(val
* self
))((((long)var14
&3)?class_info
[((long)var14
&3)]:var14
->class)->vft
[COLOR_core__abstract_collection__Collection__length
]))(var14
); /* length on <var14:Collection[nullable Object]>*/
311 { /* Inline kernel#Int#> (var15,1l) on <var15:Int> */
312 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
313 /* <1l:Int> isa OTHER */
314 var18
= 1; /* easy <1l:Int> isa OTHER*/
315 if (unlikely(!var18
)) {
316 var_class_name
= type_core__Int
.name
;
317 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
318 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
329 { /* Inline coloring#POSetConflictGraph#core (self) on <self:POSetConflictGraph[nullable Object]> */
330 var22
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___core
].val
; /* _core on <self:POSetConflictGraph[nullable Object]> */
331 if (unlikely(var22
== NULL
)) {
332 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _core");
333 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 22);
341 { /* Inline coloring#POSetConflictGraph#poset (self) on <self:POSetConflictGraph[nullable Object]> */
342 var25
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___poset
].val
; /* _poset on <self:POSetConflictGraph[nullable Object]> */
343 if (unlikely(var25
== NULL
)) {
344 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _poset");
345 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 48);
353 var26
= poset___poset__POSet____91d_93d(var23
, var_e
);
356 var27
= poset___poset__POSetElement___greaters(var26
);
359 core___core__SimpleCollection___add_all(var20
, var27
); /* Direct call abstract_collection#SimpleCollection#add_all on <var20:HashSet[nullable Object]>*/
364 ((void(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_7
); /* next on <var_7:Iterator[nullable Object]>*/
367 BREAK_label
: (void)0;
369 ((void(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_7
); /* finish on <var_7:Iterator[nullable Object]>*/
373 /* method coloring#POSetConflictGraph#extract_border for (self: POSetConflictGraph[nullable Object]) */
374 void nitc___nitc__POSetConflictGraph___extract_border(val
* self
) {
375 val
* var
/* : HashSet[nullable Object] */;
376 val
* var2
/* : HashSet[nullable Object] */;
377 val
* var3
/* : HashSet[nullable Object] */;
378 val
* var5
/* : HashSet[nullable Object] */;
379 val
* var_
/* var : HashSet[nullable Object] */;
380 val
* var6
/* : Iterator[nullable Object] */;
381 val
* var_7
/* var : Iterator[nullable Object] */;
382 short int var8
/* : Bool */;
383 val
* var9
/* : nullable Object */;
384 val
* var_e
/* var e: nullable Object */;
385 short int var10
/* : Bool */;
386 short int var11
/* : Bool */;
387 val
* var13
/* : HashSet[nullable Object] */;
388 val
* var15
/* : HashSet[nullable Object] */;
389 val
* var16
/* : HashSet[nullable Object] */;
390 val
* var18
/* : HashSet[nullable Object] */;
391 val
* var_19
/* var : HashSet[nullable Object] */;
392 val
* var20
/* : Iterator[nullable Object] */;
393 val
* var_21
/* var : Iterator[nullable Object] */;
394 short int var22
/* : Bool */;
395 val
* var24
/* : nullable Object */;
396 val
* var_e25
/* var e: nullable Object */;
397 val
* var26
/* : HashSet[nullable Object] */;
398 val
* var28
/* : HashSet[nullable Object] */;
400 { /* Inline coloring#POSetConflictGraph#border (self) on <self:POSetConflictGraph[nullable Object]> */
401 var2
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___border
].val
; /* _border on <self:POSetConflictGraph[nullable Object]> */
402 if (unlikely(var2
== NULL
)) {
403 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _border");
404 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 28);
412 core___core__HashSet___core__abstract_collection__RemovableCollection__clear(var
); /* Direct call hash_collection#HashSet#clear on <var:HashSet[nullable Object]>*/
415 { /* Inline coloring#POSetConflictGraph#core (self) on <self:POSetConflictGraph[nullable Object]> */
416 var5
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___core
].val
; /* _core on <self:POSetConflictGraph[nullable Object]> */
417 if (unlikely(var5
== NULL
)) {
418 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _core");
419 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 22);
428 var6
= core___core__HashSet___core__abstract_collection__Collection__iterator(var_
);
433 var8
= ((short int(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_7
); /* is_ok on <var_7:Iterator[nullable Object]>*/
440 var9
= ((val
*(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_7
); /* item on <var_7:Iterator[nullable Object]>*/
444 var10
= nitc___nitc__POSetConflictGraph___is_border(self
, var_e
);
452 { /* Inline coloring#POSetConflictGraph#border (self) on <self:POSetConflictGraph[nullable Object]> */
453 var15
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___border
].val
; /* _border on <self:POSetConflictGraph[nullable Object]> */
454 if (unlikely(var15
== NULL
)) {
455 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _border");
456 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 28);
464 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var13
, var_e
); /* Direct call hash_collection#HashSet#add on <var13:HashSet[nullable Object]>*/
466 BREAK_label12
: (void)0;
468 ((void(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_7
); /* next on <var_7:Iterator[nullable Object]>*/
471 BREAK_label
: (void)0;
473 ((void(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_7
); /* finish on <var_7:Iterator[nullable Object]>*/
476 { /* Inline coloring#POSetConflictGraph#border (self) on <self:POSetConflictGraph[nullable Object]> */
477 var18
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___border
].val
; /* _border on <self:POSetConflictGraph[nullable Object]> */
478 if (unlikely(var18
== NULL
)) {
479 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _border");
480 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 28);
489 var20
= core___core__HashSet___core__abstract_collection__Collection__iterator(var_19
);
494 var22
= ((short int(*)(val
* self
))((((long)var_21
&3)?class_info
[((long)var_21
&3)]:var_21
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_21
); /* is_ok on <var_21:Iterator[nullable Object]>*/
501 var24
= ((val
*(*)(val
* self
))((((long)var_21
&3)?class_info
[((long)var_21
&3)]:var_21
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_21
); /* item on <var_21:Iterator[nullable Object]>*/
505 { /* Inline coloring#POSetConflictGraph#core (self) on <self:POSetConflictGraph[nullable Object]> */
506 var28
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___core
].val
; /* _core on <self:POSetConflictGraph[nullable Object]> */
507 if (unlikely(var28
== NULL
)) {
508 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _core");
509 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 22);
517 core___core__HashSet___core__abstract_collection__RemovableCollection__remove(var26
, var_e25
); /* Direct call hash_collection#HashSet#remove on <var26:HashSet[nullable Object]>*/
520 ((void(*)(val
* self
))((((long)var_21
&3)?class_info
[((long)var_21
&3)]:var_21
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_21
); /* next on <var_21:Iterator[nullable Object]>*/
523 BREAK_label23
: (void)0;
525 ((void(*)(val
* self
))((((long)var_21
&3)?class_info
[((long)var_21
&3)]:var_21
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_21
); /* finish on <var_21:Iterator[nullable Object]>*/
529 /* method coloring#POSetConflictGraph#is_border for (self: POSetConflictGraph[nullable Object], nullable Object): Bool */
530 short int nitc___nitc__POSetConflictGraph___is_border(val
* self
, val
* p0
) {
531 short int var
/* : Bool */;
532 short int var1
/* : Bool */;
535 const struct type
* type_struct
;
536 short int is_nullable
;
537 const char* var_class_name
;
538 val
* var_e
/* var e: nullable Object */;
539 val
* var2
/* : POSet[nullable Object] */;
540 val
* var4
/* : POSet[nullable Object] */;
541 val
* var5
/* : POSetElement[nullable Object] */;
542 val
* var6
/* : Collection[nullable Object] */;
543 val
* var_
/* var : Collection[nullable Object] */;
544 val
* var7
/* : Iterator[nullable Object] */;
545 val
* var_8
/* var : Iterator[nullable Object] */;
546 short int var9
/* : Bool */;
547 val
* var10
/* : nullable Object */;
548 val
* var_child
/* var child: nullable Object */;
549 val
* var11
/* : HashSet[nullable Object] */;
550 val
* var13
/* : HashSet[nullable Object] */;
551 short int var14
/* : Bool */;
552 /* Covariant cast for argument 0 (e) <p0:nullable Object> isa E */
553 /* <p0:nullable Object> isa E */
554 type_struct
= self
->type
->resolution_table
->types
[COLOR_nitc__POSetConflictGraph___35dE
];
555 cltype
= type_struct
->color
;
556 idtype
= type_struct
->id
;
557 is_nullable
= type_struct
->is_nullable
;
561 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
564 var1
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
567 if (unlikely(!var1
)) {
568 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
569 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
570 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 83);
575 { /* Inline coloring#POSetConflictGraph#poset (self) on <self:POSetConflictGraph[nullable Object]> */
576 var4
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___poset
].val
; /* _poset on <self:POSetConflictGraph[nullable Object]> */
577 if (unlikely(var4
== NULL
)) {
578 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _poset");
579 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 48);
587 var5
= poset___poset__POSet____91d_93d(var2
, var_e
);
590 var6
= poset___poset__POSetElement___direct_smallers(var5
);
594 var7
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Collection[nullable Object]>*/
599 var9
= ((short int(*)(val
* self
))((((long)var_8
&3)?class_info
[((long)var_8
&3)]:var_8
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_8
); /* is_ok on <var_8:Iterator[nullable Object]>*/
606 var10
= ((val
*(*)(val
* self
))((((long)var_8
&3)?class_info
[((long)var_8
&3)]:var_8
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_8
); /* item on <var_8:Iterator[nullable Object]>*/
610 { /* Inline coloring#POSetConflictGraph#core (self) on <self:POSetConflictGraph[nullable Object]> */
611 var13
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___core
].val
; /* _core on <self:POSetConflictGraph[nullable Object]> */
612 if (unlikely(var13
== NULL
)) {
613 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _core");
614 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 22);
622 var14
= core___core__HashSet___core__abstract_collection__Collection__has(var11
, var_child
);
630 ((void(*)(val
* self
))((((long)var_8
&3)?class_info
[((long)var_8
&3)]:var_8
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_8
); /* next on <var_8:Iterator[nullable Object]>*/
633 BREAK_label
: (void)0;
635 ((void(*)(val
* self
))((((long)var_8
&3)?class_info
[((long)var_8
&3)]:var_8
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_8
); /* finish on <var_8:Iterator[nullable Object]>*/
642 /* method coloring#POSetConflictGraph#extract_crown for (self: POSetConflictGraph[nullable Object]) */
643 void nitc___nitc__POSetConflictGraph___extract_crown(val
* self
) {
644 val
* var
/* : HashSet[nullable Object] */;
645 val
* var2
/* : HashSet[nullable Object] */;
646 val
* var3
/* : POSet[nullable Object] */;
647 val
* var5
/* : POSet[nullable Object] */;
648 val
* var_
/* var : POSet[nullable Object] */;
649 val
* var6
/* : Iterator[nullable Object] */;
650 val
* var_7
/* var : Iterator[nullable Object] */;
651 short int var8
/* : Bool */;
652 val
* var9
/* : nullable Object */;
653 val
* var_e
/* var e: nullable Object */;
654 short int var10
/* : Bool */;
655 val
* var11
/* : HashSet[nullable Object] */;
656 val
* var13
/* : HashSet[nullable Object] */;
657 short int var14
/* : Bool */;
658 short int var15
/* : Bool */;
659 short int var_16
/* var : Bool */;
660 val
* var17
/* : HashSet[nullable Object] */;
661 val
* var19
/* : HashSet[nullable Object] */;
662 short int var20
/* : Bool */;
663 short int var21
/* : Bool */;
664 val
* var22
/* : HashSet[nullable Object] */;
665 val
* var24
/* : HashSet[nullable Object] */;
667 { /* Inline coloring#POSetConflictGraph#crown (self) on <self:POSetConflictGraph[nullable Object]> */
668 var2
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___crown
].val
; /* _crown on <self:POSetConflictGraph[nullable Object]> */
669 if (unlikely(var2
== NULL
)) {
670 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _crown");
671 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 34);
679 core___core__HashSet___core__abstract_collection__RemovableCollection__clear(var
); /* Direct call hash_collection#HashSet#clear on <var:HashSet[nullable Object]>*/
682 { /* Inline coloring#POSetConflictGraph#poset (self) on <self:POSetConflictGraph[nullable Object]> */
683 var5
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___poset
].val
; /* _poset on <self:POSetConflictGraph[nullable Object]> */
684 if (unlikely(var5
== NULL
)) {
685 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _poset");
686 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 48);
695 var6
= poset___poset__POSet___core__abstract_collection__Collection__iterator(var_
);
700 var8
= ((short int(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_7
); /* is_ok on <var_7:Iterator[nullable Object]>*/
707 var9
= ((val
*(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_7
); /* item on <var_7:Iterator[nullable Object]>*/
711 { /* Inline coloring#POSetConflictGraph#core (self) on <self:POSetConflictGraph[nullable Object]> */
712 var13
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___core
].val
; /* _core on <self:POSetConflictGraph[nullable Object]> */
713 if (unlikely(var13
== NULL
)) {
714 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _core");
715 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 22);
723 var14
= core___core__HashSet___core__abstract_collection__Collection__has(var11
, var_e
);
729 { /* Inline coloring#POSetConflictGraph#border (self) on <self:POSetConflictGraph[nullable Object]> */
730 var19
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___border
].val
; /* _border on <self:POSetConflictGraph[nullable Object]> */
731 if (unlikely(var19
== NULL
)) {
732 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _border");
733 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 28);
741 var20
= core___core__HashSet___core__abstract_collection__Collection__has(var17
, var_e
);
750 { /* Inline coloring#POSetConflictGraph#crown (self) on <self:POSetConflictGraph[nullable Object]> */
751 var24
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___crown
].val
; /* _crown on <self:POSetConflictGraph[nullable Object]> */
752 if (unlikely(var24
== NULL
)) {
753 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _crown");
754 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 34);
762 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var22
, var_e
); /* Direct call hash_collection#HashSet#add on <var22:HashSet[nullable Object]>*/
767 ((void(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_7
); /* next on <var_7:Iterator[nullable Object]>*/
770 BREAK_label
: (void)0;
772 ((void(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_7
); /* finish on <var_7:Iterator[nullable Object]>*/
776 /* method coloring#POSetConflictGraph#compute_conflicts for (self: POSetConflictGraph[nullable Object]) */
777 void nitc___nitc__POSetConflictGraph___compute_conflicts(val
* self
) {
778 val
* var
/* : HashMap[nullable Object, Set[nullable Object]] */;
779 val
* var2
/* : HashMap[nullable Object, Set[nullable Object]] */;
780 val
* var3
/* : HashSet[nullable Object] */;
781 val
* var5
/* : HashSet[nullable Object] */;
782 val
* var_
/* var : HashSet[nullable Object] */;
783 val
* var6
/* : Iterator[nullable Object] */;
784 val
* var_7
/* var : Iterator[nullable Object] */;
785 short int var8
/* : Bool */;
786 val
* var9
/* : nullable Object */;
787 val
* var_e
/* var e: nullable Object */;
788 val
* var10
/* : POSet[nullable Object] */;
789 val
* var12
/* : POSet[nullable Object] */;
790 val
* var13
/* : POSetElement[nullable Object] */;
791 val
* var14
/* : Collection[nullable Object] */;
793 { /* Inline coloring#POSetConflictGraph#conflicts (self) on <self:POSetConflictGraph[nullable Object]> */
794 var2
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___conflicts
].val
; /* _conflicts on <self:POSetConflictGraph[nullable Object]> */
795 if (unlikely(var2
== NULL
)) {
796 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conflicts");
797 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 40);
805 core___core__HashMap___core__abstract_collection__Map__clear(var
); /* Direct call hash_collection#HashMap#clear on <var:HashMap[nullable Object, Set[nullable Object]]>*/
808 { /* Inline coloring#POSetConflictGraph#border (self) on <self:POSetConflictGraph[nullable Object]> */
809 var5
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___border
].val
; /* _border on <self:POSetConflictGraph[nullable Object]> */
810 if (unlikely(var5
== NULL
)) {
811 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _border");
812 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 28);
821 var6
= core___core__HashSet___core__abstract_collection__Collection__iterator(var_
);
826 var8
= ((short int(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_7
); /* is_ok on <var_7:Iterator[nullable Object]>*/
833 var9
= ((val
*(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_7
); /* item on <var_7:Iterator[nullable Object]>*/
837 { /* Inline coloring#POSetConflictGraph#poset (self) on <self:POSetConflictGraph[nullable Object]> */
838 var12
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___poset
].val
; /* _poset on <self:POSetConflictGraph[nullable Object]> */
839 if (unlikely(var12
== NULL
)) {
840 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _poset");
841 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 48);
849 var13
= poset___poset__POSet____91d_93d(var10
, var_e
);
852 var14
= poset___poset__POSetElement___greaters(var13
);
855 nitc___nitc__POSetConflictGraph___add_conflicts(self
, var14
); /* Direct call coloring#POSetConflictGraph#add_conflicts on <self:POSetConflictGraph[nullable Object]>*/
858 ((void(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_7
); /* next on <var_7:Iterator[nullable Object]>*/
861 BREAK_label
: (void)0;
863 ((void(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_7
); /* finish on <var_7:Iterator[nullable Object]>*/
867 /* method coloring#POSetConflictGraph#add_conflict for (self: POSetConflictGraph[nullable Object], nullable Object, nullable Object) */
868 void nitc___nitc__POSetConflictGraph___add_conflict(val
* self
, val
* p0
, val
* p1
) {
869 short int var
/* : Bool */;
872 const struct type
* type_struct
;
873 short int is_nullable
;
874 const char* var_class_name
;
875 short int var1
/* : Bool */;
878 const struct type
* type_struct4
;
879 short int is_nullable5
;
880 const char* var_class_name6
;
881 val
* var_e
/* var e: nullable Object */;
882 val
* var_o
/* var o: nullable Object */;
883 val
* var7
/* : HashMap[nullable Object, Set[nullable Object]] */;
884 val
* var9
/* : HashMap[nullable Object, Set[nullable Object]] */;
885 short int var10
/* : Bool */;
886 short int var11
/* : Bool */;
887 val
* var12
/* : HashMap[nullable Object, Set[nullable Object]] */;
888 val
* var14
/* : HashMap[nullable Object, Set[nullable Object]] */;
889 val
* var15
/* : HashSet[nullable Object] */;
890 val
* var16
/* : HashMap[nullable Object, Set[nullable Object]] */;
891 val
* var18
/* : HashMap[nullable Object, Set[nullable Object]] */;
892 short int var19
/* : Bool */;
893 short int var20
/* : Bool */;
894 val
* var21
/* : HashMap[nullable Object, Set[nullable Object]] */;
895 val
* var23
/* : HashMap[nullable Object, Set[nullable Object]] */;
896 val
* var24
/* : HashSet[nullable Object] */;
897 val
* var25
/* : HashMap[nullable Object, Set[nullable Object]] */;
898 val
* var27
/* : HashMap[nullable Object, Set[nullable Object]] */;
899 val
* var28
/* : nullable Object */;
900 val
* var29
/* : HashMap[nullable Object, Set[nullable Object]] */;
901 val
* var31
/* : HashMap[nullable Object, Set[nullable Object]] */;
902 val
* var32
/* : nullable Object */;
903 /* Covariant cast for argument 0 (e) <p0:nullable Object> isa E */
904 /* <p0:nullable Object> isa E */
905 type_struct
= self
->type
->resolution_table
->types
[COLOR_nitc__POSetConflictGraph___35dE
];
906 cltype
= type_struct
->color
;
907 idtype
= type_struct
->id
;
908 is_nullable
= type_struct
->is_nullable
;
912 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
915 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
918 if (unlikely(!var
)) {
919 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
920 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
921 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 105);
924 /* Covariant cast for argument 1 (o) <p1:nullable Object> isa E */
925 /* <p1:nullable Object> isa E */
926 type_struct4
= self
->type
->resolution_table
->types
[COLOR_nitc__POSetConflictGraph___35dE
];
927 cltype2
= type_struct4
->color
;
928 idtype3
= type_struct4
->id
;
929 is_nullable5
= type_struct4
->is_nullable
;
933 if(cltype2
>= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->table_size
) {
936 var1
= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->type_table
[cltype2
] == idtype3
;
939 if (unlikely(!var1
)) {
940 var_class_name6
= p1
== NULL ?
"null" : (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->name
;
941 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name6
);
942 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 105);
948 { /* Inline coloring#POSetConflictGraph#conflicts (self) on <self:POSetConflictGraph[nullable Object]> */
949 var9
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___conflicts
].val
; /* _conflicts on <self:POSetConflictGraph[nullable Object]> */
950 if (unlikely(var9
== NULL
)) {
951 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conflicts");
952 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 40);
960 var10
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var7
, var_e
);
965 { /* Inline coloring#POSetConflictGraph#conflicts (self) on <self:POSetConflictGraph[nullable Object]> */
966 var14
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___conflicts
].val
; /* _conflicts on <self:POSetConflictGraph[nullable Object]> */
967 if (unlikely(var14
== NULL
)) {
968 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conflicts");
969 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 40);
976 var15
= NEW_core__HashSet(self
->type
->resolution_table
->types
[COLOR_core__HashSet__nitc__POSetConflictGraph___35dE
]);
978 core___core__HashSet___core__kernel__Object__init(var15
); /* Direct call hash_collection#HashSet#init on <var15:HashSet[nullable Object]>*/
981 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var12
, var_e
, var15
); /* Direct call hash_collection#HashMap#[]= on <var12:HashMap[nullable Object, Set[nullable Object]]>*/
986 { /* Inline coloring#POSetConflictGraph#conflicts (self) on <self:POSetConflictGraph[nullable Object]> */
987 var18
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___conflicts
].val
; /* _conflicts on <self:POSetConflictGraph[nullable Object]> */
988 if (unlikely(var18
== NULL
)) {
989 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conflicts");
990 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 40);
998 var19
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var16
, var_o
);
1003 { /* Inline coloring#POSetConflictGraph#conflicts (self) on <self:POSetConflictGraph[nullable Object]> */
1004 var23
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___conflicts
].val
; /* _conflicts on <self:POSetConflictGraph[nullable Object]> */
1005 if (unlikely(var23
== NULL
)) {
1006 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conflicts");
1007 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 40);
1011 RET_LABEL22
:(void)0;
1014 var24
= NEW_core__HashSet(self
->type
->resolution_table
->types
[COLOR_core__HashSet__nitc__POSetConflictGraph___35dE
]);
1016 core___core__HashSet___core__kernel__Object__init(var24
); /* Direct call hash_collection#HashSet#init on <var24:HashSet[nullable Object]>*/
1019 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var21
, var_o
, var24
); /* Direct call hash_collection#HashMap#[]= on <var21:HashMap[nullable Object, Set[nullable Object]]>*/
1024 { /* Inline coloring#POSetConflictGraph#conflicts (self) on <self:POSetConflictGraph[nullable Object]> */
1025 var27
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___conflicts
].val
; /* _conflicts on <self:POSetConflictGraph[nullable Object]> */
1026 if (unlikely(var27
== NULL
)) {
1027 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conflicts");
1028 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 40);
1032 RET_LABEL26
:(void)0;
1036 var28
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var25
, var_e
);
1039 ((void(*)(val
* self
, val
* p0
))((((long)var28
&3)?class_info
[((long)var28
&3)]:var28
->class)->vft
[COLOR_core__abstract_collection__SimpleCollection__add
]))(var28
, var_o
); /* add on <var28:nullable Object(Set[nullable Object])>*/
1042 { /* Inline coloring#POSetConflictGraph#conflicts (self) on <self:POSetConflictGraph[nullable Object]> */
1043 var31
= self
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___conflicts
].val
; /* _conflicts on <self:POSetConflictGraph[nullable Object]> */
1044 if (unlikely(var31
== NULL
)) {
1045 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conflicts");
1046 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 40);
1050 RET_LABEL30
:(void)0;
1054 var32
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var29
, var_o
);
1057 ((void(*)(val
* self
, val
* p0
))((((long)var32
&3)?class_info
[((long)var32
&3)]:var32
->class)->vft
[COLOR_core__abstract_collection__SimpleCollection__add
]))(var32
, var_e
); /* add on <var32:nullable Object(Set[nullable Object])>*/
1061 /* method coloring#POSetConflictGraph#add_conflicts for (self: POSetConflictGraph[nullable Object], Collection[nullable Object]) */
1062 void nitc___nitc__POSetConflictGraph___add_conflicts(val
* self
, val
* p0
) {
1063 short int var
/* : Bool */;
1066 const struct type
* type_struct
;
1067 const char* var_class_name
;
1068 val
* var_es
/* var es: Collection[nullable Object] */;
1069 val
* var_
/* var : Collection[nullable Object] */;
1070 val
* var1
/* : Iterator[nullable Object] */;
1071 val
* var_2
/* var : Iterator[nullable Object] */;
1072 short int var3
/* : Bool */;
1073 val
* var4
/* : nullable Object */;
1074 val
* var_e1
/* var e1: nullable Object */;
1075 val
* var_5
/* var : Collection[nullable Object] */;
1076 val
* var6
/* : Iterator[nullable Object] */;
1077 val
* var_7
/* var : Iterator[nullable Object] */;
1078 short int var8
/* : Bool */;
1079 val
* var10
/* : nullable Object */;
1080 val
* var_e2
/* var e2: nullable Object */;
1081 /* Covariant cast for argument 0 (es) <p0:Collection[nullable Object]> isa Collection[E] */
1082 /* <p0:Collection[nullable Object]> isa Collection[E] */
1083 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__Collection__nitc__POSetConflictGraph___35dE
];
1084 cltype
= type_struct
->color
;
1085 idtype
= type_struct
->id
;
1086 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
1089 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
1091 if (unlikely(!var
)) {
1092 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
1093 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[E]", var_class_name
);
1094 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 112);
1100 var1
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Collection[nullable Object]>*/
1105 var3
= ((short int(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_2
); /* is_ok on <var_2:Iterator[nullable Object]>*/
1112 var4
= ((val
*(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_2
); /* item on <var_2:Iterator[nullable Object]>*/
1117 var6
= ((val
*(*)(val
* self
))((((long)var_5
&3)?class_info
[((long)var_5
&3)]:var_5
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_5
); /* iterator on <var_5:Collection[nullable Object]>*/
1122 var8
= ((short int(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_7
); /* is_ok on <var_7:Iterator[nullable Object]>*/
1129 var10
= ((val
*(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_7
); /* item on <var_7:Iterator[nullable Object]>*/
1133 nitc___nitc__POSetConflictGraph___add_conflict(self
, var_e1
, var_e2
); /* Direct call coloring#POSetConflictGraph#add_conflict on <self:POSetConflictGraph[nullable Object]>*/
1136 ((void(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_7
); /* next on <var_7:Iterator[nullable Object]>*/
1139 BREAK_label9
: (void)0;
1141 ((void(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_7
); /* finish on <var_7:Iterator[nullable Object]>*/
1144 ((void(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_2
); /* next on <var_2:Iterator[nullable Object]>*/
1147 BREAK_label
: (void)0;
1149 ((void(*)(val
* self
))((((long)var_2
&3)?class_info
[((long)var_2
&3)]:var_2
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_2
); /* finish on <var_2:Iterator[nullable Object]>*/
1153 /* method coloring#POSet#to_conflict_graph for (self: POSet[nullable Object]): POSetConflictGraph[nullable Object] */
1154 val
* nitc__coloring___poset__POSet___to_conflict_graph(val
* self
) {
1155 val
* var
/* : POSetConflictGraph[nullable Object] */;
1156 val
* var1
/* : POSetConflictGraph[nullable Object] */;
1157 var1
= NEW_nitc__POSetConflictGraph(self
->type
->resolution_table
->types
[COLOR_nitc__POSetConflictGraph__poset__POSet___35dE
]);
1159 ((void(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_nitc__coloring__POSetConflictGraph__poset_61d
]))(var1
, self
); /* poset= on <var1:POSetConflictGraph[nullable Object]>*/
1162 ((void(*)(val
* self
))(var1
->class->vft
[COLOR_core__kernel__Object__init
]))(var1
); /* init on <var1:POSetConflictGraph[nullable Object]>*/
1169 /* method coloring#POSetColorer#is_colored for (self: POSetColorer[Object]): Bool */
1170 short int nitc___nitc__POSetColorer___is_colored(val
* self
) {
1171 short int var
/* : Bool */;
1172 short int var1
/* : Bool */;
1173 var1
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___is_colored
].s
; /* _is_colored on <self:POSetColorer[Object]> */
1178 /* method coloring#POSetColorer#is_colored= for (self: POSetColorer[Object], Bool) */
1179 void nitc___nitc__POSetColorer___is_colored_61d(val
* self
, short int p0
) {
1180 self
->attrs
[COLOR_nitc__coloring__POSetColorer___is_colored
].s
= p0
; /* _is_colored on <self:POSetColorer[Object]> */
1183 /* method coloring#POSetColorer#ids for (self: POSetColorer[Object]): Map[Object, Int] */
1184 val
* nitc___nitc__POSetColorer___ids(val
* self
) {
1185 val
* var
/* : Map[Object, Int] */;
1186 short int var1
/* : Bool */;
1187 short int var3
/* : Bool */;
1188 val
* var4
/* : HashMap[Object, Int] */;
1189 val
* var6
/* : HashMap[Object, Int] */;
1191 { /* Inline coloring#POSetColorer#is_colored (self) on <self:POSetColorer[Object]> */
1192 var3
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___is_colored
].s
; /* _is_colored on <self:POSetColorer[Object]> */
1197 if (unlikely(!var1
)) {
1198 PRINT_ERROR("Runtime error: %s", "Assert failed");
1199 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 176);
1203 { /* Inline coloring#POSetColorer#ids_cache (self) on <self:POSetColorer[Object]> */
1204 var6
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___ids_cache
].val
; /* _ids_cache on <self:POSetColorer[Object]> */
1205 if (unlikely(var6
== NULL
)) {
1206 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ids_cache");
1207 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 179);
1219 /* method coloring#POSetColorer#ids_cache for (self: POSetColorer[Object]): HashMap[Object, Int] */
1220 val
* nitc___nitc__POSetColorer___ids_cache(val
* self
) {
1221 val
* var
/* : HashMap[Object, Int] */;
1222 val
* var1
/* : HashMap[Object, Int] */;
1223 var1
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___ids_cache
].val
; /* _ids_cache on <self:POSetColorer[Object]> */
1224 if (unlikely(var1
== NULL
)) {
1225 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ids_cache");
1226 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 179);
1233 /* method coloring#POSetColorer#colors for (self: POSetColorer[Object]): Map[Object, Int] */
1234 val
* nitc___nitc__POSetColorer___colors(val
* self
) {
1235 val
* var
/* : Map[Object, Int] */;
1236 short int var1
/* : Bool */;
1237 short int var3
/* : Bool */;
1238 val
* var4
/* : HashMap[Object, Int] */;
1239 val
* var6
/* : HashMap[Object, Int] */;
1241 { /* Inline coloring#POSetColorer#is_colored (self) on <self:POSetColorer[Object]> */
1242 var3
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___is_colored
].s
; /* _is_colored on <self:POSetColorer[Object]> */
1247 if (unlikely(!var1
)) {
1248 PRINT_ERROR("Runtime error: %s", "Assert failed");
1249 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 184);
1253 { /* Inline coloring#POSetColorer#colors_cache (self) on <self:POSetColorer[Object]> */
1254 var6
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___colors_cache
].val
; /* _colors_cache on <self:POSetColorer[Object]> */
1255 if (unlikely(var6
== NULL
)) {
1256 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors_cache");
1257 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 187);
1269 /* method coloring#POSetColorer#colors_cache for (self: POSetColorer[Object]): HashMap[Object, Int] */
1270 val
* nitc___nitc__POSetColorer___colors_cache(val
* self
) {
1271 val
* var
/* : HashMap[Object, Int] */;
1272 val
* var1
/* : HashMap[Object, Int] */;
1273 var1
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___colors_cache
].val
; /* _colors_cache on <self:POSetColorer[Object]> */
1274 if (unlikely(var1
== NULL
)) {
1275 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors_cache");
1276 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 187);
1283 /* method coloring#POSetColorer#poset_cache for (self: POSetColorer[Object]): POSet[Object] */
1284 val
* nitc___nitc__POSetColorer___poset_cache(val
* self
) {
1285 val
* var
/* : POSet[Object] */;
1286 val
* var1
/* : POSet[Object] */;
1287 var1
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___poset_cache
].val
; /* _poset_cache on <self:POSetColorer[Object]> */
1288 if (unlikely(var1
== NULL
)) {
1289 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _poset_cache");
1290 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 194);
1297 /* method coloring#POSetColorer#poset_cache= for (self: POSetColorer[Object], POSet[Object]) */
1298 void nitc___nitc__POSetColorer___poset_cache_61d(val
* self
, val
* p0
) {
1299 short int var
/* : Bool */;
1302 const struct type
* type_struct
;
1303 const char* var_class_name
;
1304 /* Covariant cast for argument 0 (poset_cache) <p0:POSet[Object]> isa POSet[E] */
1305 /* <p0:POSet[Object]> isa POSet[E] */
1306 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet__nitc__POSetColorer___35dE
];
1307 cltype
= type_struct
->color
;
1308 idtype
= type_struct
->id
;
1309 if(cltype
>= p0
->type
->table_size
) {
1312 var
= p0
->type
->type_table
[cltype
] == idtype
;
1314 if (unlikely(!var
)) {
1315 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1316 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet[E]", var_class_name
);
1317 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 194);
1320 self
->attrs
[COLOR_nitc__coloring__POSetColorer___poset_cache
].val
= p0
; /* _poset_cache on <self:POSetColorer[Object]> */
1323 /* method coloring#POSetColorer#conflicts for (self: POSetColorer[Object]): Map[Object, Set[Object]] */
1324 val
* nitc___nitc__POSetColorer___conflicts(val
* self
) {
1325 val
* var
/* : Map[Object, Set[Object]] */;
1326 short int var1
/* : Bool */;
1327 short int var3
/* : Bool */;
1328 val
* var4
/* : Map[Object, Set[Object]] */;
1329 val
* var6
/* : Map[Object, Set[Object]] */;
1331 { /* Inline coloring#POSetColorer#is_colored (self) on <self:POSetColorer[Object]> */
1332 var3
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___is_colored
].s
; /* _is_colored on <self:POSetColorer[Object]> */
1337 if (unlikely(!var1
)) {
1338 PRINT_ERROR("Runtime error: %s", "Assert failed");
1339 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 198);
1343 { /* Inline coloring#POSetColorer#conflicts_cache (self) on <self:POSetColorer[Object]> */
1344 var6
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___conflicts_cache
].val
; /* _conflicts_cache on <self:POSetColorer[Object]> */
1345 if (unlikely(var6
== NULL
)) {
1346 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conflicts_cache");
1347 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 201);
1359 /* method coloring#POSetColorer#conflicts_cache for (self: POSetColorer[Object]): Map[Object, Set[Object]] */
1360 val
* nitc___nitc__POSetColorer___conflicts_cache(val
* self
) {
1361 val
* var
/* : Map[Object, Set[Object]] */;
1362 val
* var1
/* : Map[Object, Set[Object]] */;
1363 var1
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___conflicts_cache
].val
; /* _conflicts_cache on <self:POSetColorer[Object]> */
1364 if (unlikely(var1
== NULL
)) {
1365 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conflicts_cache");
1366 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 201);
1373 /* method coloring#POSetColorer#conflicts_cache= for (self: POSetColorer[Object], Map[Object, Set[Object]]) */
1374 void nitc___nitc__POSetColorer___conflicts_cache_61d(val
* self
, val
* p0
) {
1375 short int var
/* : Bool */;
1378 const struct type
* type_struct
;
1379 const char* var_class_name
;
1380 /* Covariant cast for argument 0 (conflicts_cache) <p0:Map[Object, Set[Object]]> isa Map[E, Set[E]] */
1381 /* <p0:Map[Object, Set[Object]]> isa Map[E, Set[E]] */
1382 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__Map__nitc__POSetColorer___35dE__core__Set__nitc__POSetColorer___35dE
];
1383 cltype
= type_struct
->color
;
1384 idtype
= type_struct
->id
;
1385 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
1388 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
1390 if (unlikely(!var
)) {
1391 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
1392 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[E, Set[E]]", var_class_name
);
1393 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 201);
1396 self
->attrs
[COLOR_nitc__coloring__POSetColorer___conflicts_cache
].val
= p0
; /* _conflicts_cache on <self:POSetColorer[Object]> */
1399 /* method coloring#POSetColorer#graph for (self: POSetColorer[Object]): POSetConflictGraph[Object] */
1400 val
* nitc___nitc__POSetColorer___graph(val
* self
) {
1401 val
* var
/* : POSetConflictGraph[Object] */;
1402 val
* var1
/* : POSetConflictGraph[Object] */;
1403 var1
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___graph
].val
; /* _graph on <self:POSetColorer[Object]> */
1404 if (unlikely(var1
== NULL
)) {
1405 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _graph");
1406 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 203);
1413 /* method coloring#POSetColorer#graph= for (self: POSetColorer[Object], POSetConflictGraph[Object]) */
1414 void nitc___nitc__POSetColorer___graph_61d(val
* self
, val
* p0
) {
1415 short int var
/* : Bool */;
1418 const struct type
* type_struct
;
1419 const char* var_class_name
;
1420 /* Covariant cast for argument 0 (graph) <p0:POSetConflictGraph[Object]> isa POSetConflictGraph[E] */
1421 /* <p0:POSetConflictGraph[Object]> isa POSetConflictGraph[E] */
1422 type_struct
= self
->type
->resolution_table
->types
[COLOR_nitc__POSetConflictGraph__nitc__POSetColorer___35dE
];
1423 cltype
= type_struct
->color
;
1424 idtype
= type_struct
->id
;
1425 if(cltype
>= p0
->type
->table_size
) {
1428 var
= p0
->type
->type_table
[cltype
] == idtype
;
1430 if (unlikely(!var
)) {
1431 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1432 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "POSetConflictGraph[E]", var_class_name
);
1433 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 203);
1436 self
->attrs
[COLOR_nitc__coloring__POSetColorer___graph
].val
= p0
; /* _graph on <self:POSetColorer[Object]> */
1439 /* method coloring#POSetColorer#colorize for (self: POSetColorer[Object], POSet[Object]) */
1440 void nitc___nitc__POSetColorer___colorize(val
* self
, val
* p0
) {
1441 short int var
/* : Bool */;
1444 const struct type
* type_struct
;
1445 const char* var_class_name
;
1446 val
* var_poset
/* var poset: POSet[Object] */;
1447 short int var2
/* : Bool */;
1450 const struct type
* type_struct5
;
1451 const char* var_class_name6
;
1452 val
* var7
/* : POSetConflictGraph[Object] */;
1453 short int var9
/* : Bool */;
1456 const struct type
* type_struct12
;
1457 const char* var_class_name13
;
1458 val
* var14
/* : POSetConflictGraph[Object] */;
1459 val
* var16
/* : POSetConflictGraph[Object] */;
1460 val
* var17
/* : HashMap[nullable Object, Set[nullable Object]] */;
1461 val
* var19
/* : HashMap[nullable Object, Set[nullable Object]] */;
1462 short int var21
/* : Bool */;
1465 const struct type
* type_struct24
;
1466 const char* var_class_name25
;
1467 /* Covariant cast for argument 0 (poset) <p0:POSet[Object]> isa POSet[E] */
1468 /* <p0:POSet[Object]> isa POSet[E] */
1469 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet__nitc__POSetColorer___35dE
];
1470 cltype
= type_struct
->color
;
1471 idtype
= type_struct
->id
;
1472 if(cltype
>= p0
->type
->table_size
) {
1475 var
= p0
->type
->type_table
[cltype
] == idtype
;
1477 if (unlikely(!var
)) {
1478 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1479 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet[E]", var_class_name
);
1480 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 205);
1485 { /* Inline coloring#POSetColorer#poset_cache= (self,var_poset) on <self:POSetColorer[Object]> */
1486 /* Covariant cast for argument 0 (poset_cache) <var_poset:POSet[Object]> isa POSet[E] */
1487 /* <var_poset:POSet[Object]> isa POSet[E] */
1488 type_struct5
= self
->type
->resolution_table
->types
[COLOR_poset__POSet__nitc__POSetColorer___35dE
];
1489 cltype3
= type_struct5
->color
;
1490 idtype4
= type_struct5
->id
;
1491 if(cltype3
>= var_poset
->type
->table_size
) {
1494 var2
= var_poset
->type
->type_table
[cltype3
] == idtype4
;
1496 if (unlikely(!var2
)) {
1497 var_class_name6
= var_poset
== NULL ?
"null" : var_poset
->type
->name
;
1498 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet[E]", var_class_name6
);
1499 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 194);
1502 self
->attrs
[COLOR_nitc__coloring__POSetColorer___poset_cache
].val
= var_poset
; /* _poset_cache on <self:POSetColorer[Object]> */
1506 var7
= NEW_nitc__POSetConflictGraph(self
->type
->resolution_table
->types
[COLOR_nitc__POSetConflictGraph__nitc__POSetColorer___35dE
]);
1508 ((void(*)(val
* self
, val
* p0
))(var7
->class->vft
[COLOR_nitc__coloring__POSetConflictGraph__poset_61d
]))(var7
, var_poset
); /* poset= on <var7:POSetConflictGraph[Object]>*/
1511 ((void(*)(val
* self
))(var7
->class->vft
[COLOR_core__kernel__Object__init
]))(var7
); /* init on <var7:POSetConflictGraph[Object]>*/
1514 { /* Inline coloring#POSetColorer#graph= (self,var7) on <self:POSetColorer[Object]> */
1515 /* Covariant cast for argument 0 (graph) <var7:POSetConflictGraph[Object]> isa POSetConflictGraph[E] */
1516 /* <var7:POSetConflictGraph[Object]> isa POSetConflictGraph[E] */
1517 type_struct12
= self
->type
->resolution_table
->types
[COLOR_nitc__POSetConflictGraph__nitc__POSetColorer___35dE
];
1518 cltype10
= type_struct12
->color
;
1519 idtype11
= type_struct12
->id
;
1520 if(cltype10
>= var7
->type
->table_size
) {
1523 var9
= var7
->type
->type_table
[cltype10
] == idtype11
;
1525 if (unlikely(!var9
)) {
1526 var_class_name13
= var7
== NULL ?
"null" : var7
->type
->name
;
1527 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "POSetConflictGraph[E]", var_class_name13
);
1528 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 203);
1531 self
->attrs
[COLOR_nitc__coloring__POSetColorer___graph
].val
= var7
; /* _graph on <self:POSetColorer[Object]> */
1536 nitc___nitc__POSetColorer___allocate_ids(self
); /* Direct call coloring#POSetColorer#allocate_ids on <self:POSetColorer[Object]>*/
1539 nitc___nitc__POSetColorer___compute_colors(self
); /* Direct call coloring#POSetColorer#compute_colors on <self:POSetColorer[Object]>*/
1542 { /* Inline coloring#POSetColorer#graph (self) on <self:POSetColorer[Object]> */
1543 var16
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___graph
].val
; /* _graph on <self:POSetColorer[Object]> */
1544 if (unlikely(var16
== NULL
)) {
1545 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _graph");
1546 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 203);
1550 RET_LABEL15
:(void)0;
1554 { /* Inline coloring#POSetConflictGraph#conflicts (var14) on <var14:POSetConflictGraph[Object]> */
1555 var19
= var14
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___conflicts
].val
; /* _conflicts on <var14:POSetConflictGraph[Object]> */
1556 if (unlikely(var19
== NULL
)) {
1557 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conflicts");
1558 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 40);
1562 RET_LABEL18
:(void)0;
1566 { /* Inline coloring#POSetColorer#conflicts_cache= (self,var17) on <self:POSetColorer[Object]> */
1567 /* Covariant cast for argument 0 (conflicts_cache) <var17:HashMap[nullable Object, Set[nullable Object]](HashMap[Object, Set[Object]])> isa Map[E, Set[E]] */
1568 /* <var17:HashMap[nullable Object, Set[nullable Object]](HashMap[Object, Set[Object]])> isa Map[E, Set[E]] */
1569 type_struct24
= self
->type
->resolution_table
->types
[COLOR_core__Map__nitc__POSetColorer___35dE__core__Set__nitc__POSetColorer___35dE
];
1570 cltype22
= type_struct24
->color
;
1571 idtype23
= type_struct24
->id
;
1572 if(cltype22
>= var17
->type
->table_size
) {
1575 var21
= var17
->type
->type_table
[cltype22
] == idtype23
;
1577 if (unlikely(!var21
)) {
1578 var_class_name25
= var17
== NULL ?
"null" : var17
->type
->name
;
1579 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[E, Set[E]]", var_class_name25
);
1580 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 201);
1583 self
->attrs
[COLOR_nitc__coloring__POSetColorer___conflicts_cache
].val
= var17
; /* _conflicts_cache on <self:POSetColorer[Object]> */
1584 RET_LABEL20
:(void)0;
1588 { /* Inline coloring#POSetColorer#is_colored= (self,1) on <self:POSetColorer[Object]> */
1589 self
->attrs
[COLOR_nitc__coloring__POSetColorer___is_colored
].s
= 1; /* _is_colored on <self:POSetColorer[Object]> */
1590 RET_LABEL26
:(void)0;
1595 /* method coloring#POSetColorer#allocate_ids for (self: POSetColorer[Object]) */
1596 void nitc___nitc__POSetColorer___allocate_ids(val
* self
) {
1597 val
* var
/* : HashMap[Object, Int] */;
1598 val
* var2
/* : HashMap[Object, Int] */;
1599 val
* var3
/* : HashSet[Object] */;
1600 val
* var4
/* : POSet[Object] */;
1601 val
* var6
/* : POSet[Object] */;
1602 val
* var7
/* : Array[nullable Object] */;
1603 val
* var_elements
/* var elements: HashSet[Object] */;
1604 val
* var8
/* : POSet[Object] */;
1605 val
* var10
/* : POSet[Object] */;
1606 val
* var11
/* : Array[nullable Object] */;
1607 val
* var_
/* var : Array[Object] */;
1608 val
* var12
/* : IndexedIterator[nullable Object] */;
1609 val
* var_13
/* var : IndexedIterator[Object] */;
1610 short int var14
/* : Bool */;
1611 val
* var15
/* : nullable Object */;
1612 val
* var_e
/* var e: Object */;
1613 val
* var16
/* : HashMap[Object, Int] */;
1614 val
* var18
/* : HashMap[Object, Int] */;
1615 val
* var19
/* : HashMap[Object, Int] */;
1616 val
* var21
/* : HashMap[Object, Int] */;
1617 long var22
/* : Int */;
1618 val
* var23
/* : nullable Object */;
1620 { /* Inline coloring#POSetColorer#ids_cache (self) on <self:POSetColorer[Object]> */
1621 var2
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___ids_cache
].val
; /* _ids_cache on <self:POSetColorer[Object]> */
1622 if (unlikely(var2
== NULL
)) {
1623 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ids_cache");
1624 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 179);
1632 core___core__HashMap___core__abstract_collection__Map__clear(var
); /* Direct call hash_collection#HashMap#clear on <var:HashMap[Object, Int]>*/
1634 var3
= NEW_core__HashSet(self
->type
->resolution_table
->types
[COLOR_core__HashSet__nitc__POSetColorer___35dE
]);
1636 { /* Inline coloring#POSetColorer#poset_cache (self) on <self:POSetColorer[Object]> */
1637 var6
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___poset_cache
].val
; /* _poset_cache on <self:POSetColorer[Object]> */
1638 if (unlikely(var6
== NULL
)) {
1639 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _poset_cache");
1640 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 194);
1648 var7
= core__array___Collection___to_a(var4
);
1651 core___core__HashSet___from(var3
, var7
); /* Direct call hash_collection#HashSet#from on <var3:HashSet[Object]>*/
1653 var_elements
= var3
;
1655 { /* Inline coloring#POSetColorer#poset_cache (self) on <self:POSetColorer[Object]> */
1656 var10
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___poset_cache
].val
; /* _poset_cache on <self:POSetColorer[Object]> */
1657 if (unlikely(var10
== NULL
)) {
1658 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _poset_cache");
1659 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 194);
1667 var11
= poset___poset__POSet___linearize(var8
, var_elements
);
1671 var12
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
1676 var14
= ((short int(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_13
); /* is_ok on <var_13:IndexedIterator[Object]>*/
1683 var15
= ((val
*(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_13
); /* item on <var_13:IndexedIterator[Object]>*/
1687 { /* Inline coloring#POSetColorer#ids_cache (self) on <self:POSetColorer[Object]> */
1688 var18
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___ids_cache
].val
; /* _ids_cache on <self:POSetColorer[Object]> */
1689 if (unlikely(var18
== NULL
)) {
1690 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ids_cache");
1691 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 179);
1695 RET_LABEL17
:(void)0;
1699 { /* Inline coloring#POSetColorer#ids_cache (self) on <self:POSetColorer[Object]> */
1700 var21
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___ids_cache
].val
; /* _ids_cache on <self:POSetColorer[Object]> */
1701 if (unlikely(var21
== NULL
)) {
1702 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ids_cache");
1703 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 179);
1707 RET_LABEL20
:(void)0;
1711 var22
= core___core__HashMap___core__abstract_collection__MapRead__length(var19
);
1714 var23
= (val
*)(var22
<<2|1);
1715 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var16
, var_e
, var23
); /* Direct call hash_collection#HashMap#[]= on <var16:HashMap[Object, Int]>*/
1718 ((void(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_13
); /* next on <var_13:IndexedIterator[Object]>*/
1721 BREAK_label
: (void)0;
1723 ((void(*)(val
* self
))((((long)var_13
&3)?class_info
[((long)var_13
&3)]:var_13
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_13
); /* finish on <var_13:IndexedIterator[Object]>*/
1727 /* method coloring#POSetColorer#compute_colors for (self: POSetColorer[Object]) */
1728 void nitc___nitc__POSetColorer___compute_colors(val
* self
) {
1729 val
* var
/* : HashMap[Object, Int] */;
1730 val
* var2
/* : HashMap[Object, Int] */;
1731 val
* var3
/* : POSetConflictGraph[Object] */;
1732 val
* var5
/* : POSetConflictGraph[Object] */;
1733 val
* var6
/* : HashSet[nullable Object] */;
1734 val
* var8
/* : HashSet[nullable Object] */;
1735 val
* var9
/* : POSetConflictGraph[Object] */;
1736 val
* var11
/* : POSetConflictGraph[Object] */;
1737 val
* var12
/* : HashSet[nullable Object] */;
1738 val
* var14
/* : HashSet[nullable Object] */;
1740 { /* Inline coloring#POSetColorer#colors_cache (self) on <self:POSetColorer[Object]> */
1741 var2
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___colors_cache
].val
; /* _colors_cache on <self:POSetColorer[Object]> */
1742 if (unlikely(var2
== NULL
)) {
1743 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors_cache");
1744 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 187);
1752 core___core__HashMap___core__abstract_collection__Map__clear(var
); /* Direct call hash_collection#HashMap#clear on <var:HashMap[Object, Int]>*/
1755 nitc___nitc__POSetColorer___colorize_core(self
); /* Direct call coloring#POSetColorer#colorize_core on <self:POSetColorer[Object]>*/
1758 { /* Inline coloring#POSetColorer#graph (self) on <self:POSetColorer[Object]> */
1759 var5
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___graph
].val
; /* _graph on <self:POSetColorer[Object]> */
1760 if (unlikely(var5
== NULL
)) {
1761 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _graph");
1762 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 203);
1770 { /* Inline coloring#POSetConflictGraph#border (var3) on <var3:POSetConflictGraph[Object]> */
1771 var8
= var3
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___border
].val
; /* _border on <var3:POSetConflictGraph[Object]> */
1772 if (unlikely(var8
== NULL
)) {
1773 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _border");
1774 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 28);
1782 nitc___nitc__POSetColorer___colorize_set(self
, var6
); /* Direct call coloring#POSetColorer#colorize_set on <self:POSetColorer[Object]>*/
1785 { /* Inline coloring#POSetColorer#graph (self) on <self:POSetColorer[Object]> */
1786 var11
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___graph
].val
; /* _graph on <self:POSetColorer[Object]> */
1787 if (unlikely(var11
== NULL
)) {
1788 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _graph");
1789 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 203);
1793 RET_LABEL10
:(void)0;
1797 { /* Inline coloring#POSetConflictGraph#crown (var9) on <var9:POSetConflictGraph[Object]> */
1798 var14
= var9
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___crown
].val
; /* _crown on <var9:POSetConflictGraph[Object]> */
1799 if (unlikely(var14
== NULL
)) {
1800 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _crown");
1801 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 34);
1805 RET_LABEL13
:(void)0;
1809 nitc___nitc__POSetColorer___colorize_set(self
, var12
); /* Direct call coloring#POSetColorer#colorize_set on <self:POSetColorer[Object]>*/
1813 /* method coloring#POSetColorer#colorize_core for (self: POSetColorer[Object]) */
1814 void nitc___nitc__POSetColorer___colorize_core(val
* self
) {
1815 val
* var
/* : POSet[Object] */;
1816 val
* var2
/* : POSet[Object] */;
1817 val
* var3
/* : POSetConflictGraph[Object] */;
1818 val
* var5
/* : POSetConflictGraph[Object] */;
1819 val
* var6
/* : HashSet[nullable Object] */;
1820 val
* var8
/* : HashSet[nullable Object] */;
1821 val
* var9
/* : Array[nullable Object] */;
1822 val
* var_
/* var : Array[Object] */;
1823 val
* var10
/* : IndexedIterator[nullable Object] */;
1824 val
* var_11
/* var : IndexedIterator[Object] */;
1825 short int var12
/* : Bool */;
1826 val
* var13
/* : nullable Object */;
1827 val
* var_e
/* var e: Object */;
1828 long var14
/* : Int */;
1829 long var_color
/* var color: Int */;
1830 val
* var15
/* : POSetConflictGraph[Object] */;
1831 val
* var17
/* : POSetConflictGraph[Object] */;
1832 val
* var18
/* : HashMap[nullable Object, Set[nullable Object]] */;
1833 val
* var20
/* : HashMap[nullable Object, Set[nullable Object]] */;
1834 val
* var21
/* : nullable Object */;
1835 val
* var_conflicts
/* var conflicts: Set[Object] */;
1836 short int var22
/* : Bool */;
1837 short int var23
/* : Bool */;
1838 long var24
/* : Int */;
1839 short int var26
/* : Bool */;
1842 const char* var_class_name
;
1843 long var27
/* : Int */;
1844 val
* var29
/* : HashMap[Object, Int] */;
1845 val
* var31
/* : HashMap[Object, Int] */;
1846 val
* var32
/* : nullable Object */;
1848 { /* Inline coloring#POSetColorer#poset_cache (self) on <self:POSetColorer[Object]> */
1849 var2
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___poset_cache
].val
; /* _poset_cache on <self:POSetColorer[Object]> */
1850 if (unlikely(var2
== NULL
)) {
1851 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _poset_cache");
1852 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 194);
1860 { /* Inline coloring#POSetColorer#graph (self) on <self:POSetColorer[Object]> */
1861 var5
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___graph
].val
; /* _graph on <self:POSetColorer[Object]> */
1862 if (unlikely(var5
== NULL
)) {
1863 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _graph");
1864 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 203);
1872 { /* Inline coloring#POSetConflictGraph#core (var3) on <var3:POSetConflictGraph[Object]> */
1873 var8
= var3
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___core
].val
; /* _core on <var3:POSetConflictGraph[Object]> */
1874 if (unlikely(var8
== NULL
)) {
1875 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _core");
1876 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 22);
1884 var9
= poset___poset__POSet___linearize(var
, var6
);
1888 var10
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
1893 var12
= ((short int(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_11
); /* is_ok on <var_11:IndexedIterator[Object]>*/
1900 var13
= ((val
*(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_11
); /* item on <var_11:IndexedIterator[Object]>*/
1904 var14
= nitc___nitc__POSetColorer___min_color(self
, var_e
);
1908 { /* Inline coloring#POSetColorer#graph (self) on <self:POSetColorer[Object]> */
1909 var17
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___graph
].val
; /* _graph on <self:POSetColorer[Object]> */
1910 if (unlikely(var17
== NULL
)) {
1911 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _graph");
1912 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 203);
1916 RET_LABEL16
:(void)0;
1920 { /* Inline coloring#POSetConflictGraph#conflicts (var15) on <var15:POSetConflictGraph[Object]> */
1921 var20
= var15
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___conflicts
].val
; /* _conflicts on <var15:POSetConflictGraph[Object]> */
1922 if (unlikely(var20
== NULL
)) {
1923 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conflicts");
1924 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 40);
1928 RET_LABEL19
:(void)0;
1932 var21
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var18
, var_e
);
1934 var_conflicts
= var21
;
1937 var22
= nitc___nitc__POSetColorer___is_color_free(self
, var_color
, var_conflicts
);
1942 { /* Inline kernel#Int#+ (var_color,1l) on <var_color:Int> */
1943 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
1944 /* <1l:Int> isa OTHER */
1945 var26
= 1; /* easy <1l:Int> isa OTHER*/
1946 if (unlikely(!var26
)) {
1947 var_class_name
= type_core__Int
.name
;
1948 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1949 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
1952 var27
= var_color
+ 1l;
1955 RET_LABEL25
:(void)0;
1963 BREAK_label28
: (void)0;
1965 { /* Inline coloring#POSetColorer#colors_cache (self) on <self:POSetColorer[Object]> */
1966 var31
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___colors_cache
].val
; /* _colors_cache on <self:POSetColorer[Object]> */
1967 if (unlikely(var31
== NULL
)) {
1968 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors_cache");
1969 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 187);
1973 RET_LABEL30
:(void)0;
1977 var32
= (val
*)(var_color
<<2|1);
1978 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var29
, var_e
, var32
); /* Direct call hash_collection#HashMap#[]= on <var29:HashMap[Object, Int]>*/
1981 ((void(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_11
); /* next on <var_11:IndexedIterator[Object]>*/
1984 BREAK_label
: (void)0;
1986 ((void(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_11
); /* finish on <var_11:IndexedIterator[Object]>*/
1990 /* method coloring#POSetColorer#colorize_set for (self: POSetColorer[Object], Set[Object]) */
1991 void nitc___nitc__POSetColorer___colorize_set(val
* self
, val
* p0
) {
1992 short int var
/* : Bool */;
1995 const struct type
* type_struct
;
1996 const char* var_class_name
;
1997 val
* var_set
/* var set: Set[Object] */;
1998 val
* var1
/* : POSet[Object] */;
1999 val
* var3
/* : POSet[Object] */;
2000 val
* var4
/* : Array[nullable Object] */;
2001 val
* var_
/* var : Array[Object] */;
2002 val
* var5
/* : IndexedIterator[nullable Object] */;
2003 val
* var_6
/* var : IndexedIterator[Object] */;
2004 short int var7
/* : Bool */;
2005 val
* var8
/* : nullable Object */;
2006 val
* var_e
/* var e: Object */;
2007 val
* var9
/* : HashMap[Object, Int] */;
2008 val
* var11
/* : HashMap[Object, Int] */;
2009 long var12
/* : Int */;
2010 val
* var13
/* : nullable Object */;
2011 /* Covariant cast for argument 0 (set) <p0:Set[Object]> isa Set[E] */
2012 /* <p0:Set[Object]> isa Set[E] */
2013 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__Set__nitc__POSetColorer___35dE
];
2014 cltype
= type_struct
->color
;
2015 idtype
= type_struct
->id
;
2016 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
2019 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
2021 if (unlikely(!var
)) {
2022 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
2023 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Set[E]", var_class_name
);
2024 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 245);
2029 { /* Inline coloring#POSetColorer#poset_cache (self) on <self:POSetColorer[Object]> */
2030 var3
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___poset_cache
].val
; /* _poset_cache on <self:POSetColorer[Object]> */
2031 if (unlikely(var3
== NULL
)) {
2032 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _poset_cache");
2033 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 194);
2041 var4
= poset___poset__POSet___linearize(var1
, var_set
);
2045 var5
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
2050 var7
= ((short int(*)(val
* self
))((((long)var_6
&3)?class_info
[((long)var_6
&3)]:var_6
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_6
); /* is_ok on <var_6:IndexedIterator[Object]>*/
2057 var8
= ((val
*(*)(val
* self
))((((long)var_6
&3)?class_info
[((long)var_6
&3)]:var_6
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_6
); /* item on <var_6:IndexedIterator[Object]>*/
2061 { /* Inline coloring#POSetColorer#colors_cache (self) on <self:POSetColorer[Object]> */
2062 var11
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___colors_cache
].val
; /* _colors_cache on <self:POSetColorer[Object]> */
2063 if (unlikely(var11
== NULL
)) {
2064 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors_cache");
2065 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 187);
2069 RET_LABEL10
:(void)0;
2073 var12
= nitc___nitc__POSetColorer___min_color(self
, var_e
);
2076 var13
= (val
*)(var12
<<2|1);
2077 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var9
, var_e
, var13
); /* Direct call hash_collection#HashMap#[]= on <var9:HashMap[Object, Int]>*/
2080 ((void(*)(val
* self
))((((long)var_6
&3)?class_info
[((long)var_6
&3)]:var_6
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_6
); /* next on <var_6:IndexedIterator[Object]>*/
2083 BREAK_label
: (void)0;
2085 ((void(*)(val
* self
))((((long)var_6
&3)?class_info
[((long)var_6
&3)]:var_6
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_6
); /* finish on <var_6:IndexedIterator[Object]>*/
2089 /* method coloring#POSetColorer#min_color for (self: POSetColorer[Object], Object): Int */
2090 long nitc___nitc__POSetColorer___min_color(val
* self
, val
* p0
) {
2091 long var
/* : Int */;
2092 short int var1
/* : Bool */;
2095 const struct type
* type_struct
;
2096 const char* var_class_name
;
2097 val
* var_e
/* var e: Object */;
2098 long var2
/* : Int */;
2099 long var4
/* : Int */;
2100 long var_max_color
/* var max_color: Int */;
2101 val
* var5
/* : POSet[Object] */;
2102 val
* var7
/* : POSet[Object] */;
2103 val
* var8
/* : POSetElement[nullable Object] */;
2104 val
* var9
/* : Collection[nullable Object] */;
2105 val
* var_
/* var : Collection[Object] */;
2106 val
* var10
/* : Iterator[nullable Object] */;
2107 val
* var_11
/* var : Iterator[Object] */;
2108 short int var12
/* : Bool */;
2109 val
* var13
/* : nullable Object */;
2110 val
* var_p
/* var p: Object */;
2111 val
* var14
/* : HashMap[Object, Int] */;
2112 val
* var16
/* : HashMap[Object, Int] */;
2113 short int var17
/* : Bool */;
2114 short int var18
/* : Bool */;
2115 val
* var20
/* : HashMap[Object, Int] */;
2116 val
* var22
/* : HashMap[Object, Int] */;
2117 val
* var23
/* : nullable Object */;
2118 long var24
/* : Int */;
2119 long var_color
/* var color: Int */;
2120 short int var25
/* : Bool */;
2121 short int var27
/* : Bool */;
2124 const char* var_class_name30
;
2125 short int var31
/* : Bool */;
2126 long var32
/* : Int */;
2127 short int var34
/* : Bool */;
2130 const char* var_class_name37
;
2131 long var38
/* : Int */;
2132 /* Covariant cast for argument 0 (e) <p0:Object> isa E */
2133 /* <p0:Object> isa E */
2134 type_struct
= self
->type
->resolution_table
->types
[COLOR_nitc__POSetColorer___35dE
];
2135 cltype
= type_struct
->color
;
2136 idtype
= type_struct
->id
;
2137 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
2140 var1
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
2142 if (unlikely(!var1
)) {
2143 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
2144 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
2145 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 250);
2150 { /* Inline kernel#Int#unary - (1l) on <1l:Int> */
2157 var_max_color
= var2
;
2159 { /* Inline coloring#POSetColorer#poset_cache (self) on <self:POSetColorer[Object]> */
2160 var7
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___poset_cache
].val
; /* _poset_cache on <self:POSetColorer[Object]> */
2161 if (unlikely(var7
== NULL
)) {
2162 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _poset_cache");
2163 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 194);
2171 var8
= poset___poset__POSet____91d_93d(var5
, var_e
);
2174 var9
= poset___poset__POSetElement___direct_greaters(var8
);
2178 var10
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Collection[Object]>*/
2183 var12
= ((short int(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_11
); /* is_ok on <var_11:Iterator[Object]>*/
2190 var13
= ((val
*(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_11
); /* item on <var_11:Iterator[Object]>*/
2194 { /* Inline coloring#POSetColorer#colors_cache (self) on <self:POSetColorer[Object]> */
2195 var16
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___colors_cache
].val
; /* _colors_cache on <self:POSetColorer[Object]> */
2196 if (unlikely(var16
== NULL
)) {
2197 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors_cache");
2198 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 187);
2202 RET_LABEL15
:(void)0;
2206 var17
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var14
, var_p
);
2214 { /* Inline coloring#POSetColorer#colors_cache (self) on <self:POSetColorer[Object]> */
2215 var22
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___colors_cache
].val
; /* _colors_cache on <self:POSetColorer[Object]> */
2216 if (unlikely(var22
== NULL
)) {
2217 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors_cache");
2218 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 187);
2222 RET_LABEL21
:(void)0;
2226 var23
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var20
, var_p
);
2228 var24
= (long)(var23
)>>2;
2231 { /* Inline kernel#Int#> (var_color,var_max_color) on <var_color:Int> */
2232 /* Covariant cast for argument 0 (i) <var_max_color:Int> isa OTHER */
2233 /* <var_max_color:Int> isa OTHER */
2234 var27
= 1; /* easy <var_max_color:Int> isa OTHER*/
2235 if (unlikely(!var27
)) {
2236 var_class_name30
= type_core__Int
.name
;
2237 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name30
);
2238 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
2241 var31
= var_color
> var_max_color
;
2244 RET_LABEL26
:(void)0;
2248 var_max_color
= var_color
;
2251 BREAK_label19
: (void)0;
2253 ((void(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_11
); /* next on <var_11:Iterator[Object]>*/
2256 BREAK_label
: (void)0;
2258 ((void(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_11
); /* finish on <var_11:Iterator[Object]>*/
2261 { /* Inline kernel#Int#+ (var_max_color,1l) on <var_max_color:Int> */
2262 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
2263 /* <1l:Int> isa OTHER */
2264 var34
= 1; /* easy <1l:Int> isa OTHER*/
2265 if (unlikely(!var34
)) {
2266 var_class_name37
= type_core__Int
.name
;
2267 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name37
);
2268 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
2271 var38
= var_max_color
+ 1l;
2274 RET_LABEL33
:(void)0;
2282 /* method coloring#POSetColorer#is_color_free for (self: POSetColorer[Object], Int, Collection[Object]): Bool */
2283 short int nitc___nitc__POSetColorer___is_color_free(val
* self
, long p0
, val
* p1
) {
2284 short int var
/* : Bool */;
2285 short int var1
/* : Bool */;
2288 const struct type
* type_struct
;
2289 const char* var_class_name
;
2290 long var_color
/* var color: Int */;
2291 val
* var_set
/* var set: Collection[Object] */;
2292 val
* var_
/* var : Collection[Object] */;
2293 val
* var2
/* : Iterator[nullable Object] */;
2294 val
* var_3
/* var : Iterator[Object] */;
2295 short int var4
/* : Bool */;
2296 val
* var5
/* : nullable Object */;
2297 val
* var_e
/* var e: Object */;
2298 short int var6
/* : Bool */;
2299 val
* var7
/* : HashMap[Object, Int] */;
2300 val
* var9
/* : HashMap[Object, Int] */;
2301 short int var10
/* : Bool */;
2302 short int var_11
/* var : Bool */;
2303 val
* var12
/* : HashMap[Object, Int] */;
2304 val
* var14
/* : HashMap[Object, Int] */;
2305 val
* var15
/* : nullable Object */;
2306 short int var16
/* : Bool */;
2307 short int var18
/* : Bool */;
2308 long var19
/* : Int */;
2309 /* Covariant cast for argument 1 (set) <p1:Collection[Object]> isa Collection[E] */
2310 /* <p1:Collection[Object]> isa Collection[E] */
2311 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__Collection__nitc__POSetColorer___35dE
];
2312 cltype
= type_struct
->color
;
2313 idtype
= type_struct
->id
;
2314 if(cltype
>= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->table_size
) {
2317 var1
= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->type_table
[cltype
] == idtype
;
2319 if (unlikely(!var1
)) {
2320 var_class_name
= p1
== NULL ?
"null" : (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->name
;
2321 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[E]", var_class_name
);
2322 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 261);
2329 var2
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Collection[Object]>*/
2334 var4
= ((short int(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_3
); /* is_ok on <var_3:Iterator[Object]>*/
2341 var5
= ((val
*(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_3
); /* item on <var_3:Iterator[Object]>*/
2345 { /* Inline coloring#POSetColorer#colors_cache (self) on <self:POSetColorer[Object]> */
2346 var9
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___colors_cache
].val
; /* _colors_cache on <self:POSetColorer[Object]> */
2347 if (unlikely(var9
== NULL
)) {
2348 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors_cache");
2349 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 187);
2357 var10
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var7
, var_e
);
2362 { /* Inline coloring#POSetColorer#colors_cache (self) on <self:POSetColorer[Object]> */
2363 var14
= self
->attrs
[COLOR_nitc__coloring__POSetColorer___colors_cache
].val
; /* _colors_cache on <self:POSetColorer[Object]> */
2364 if (unlikely(var14
== NULL
)) {
2365 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors_cache");
2366 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 187);
2370 RET_LABEL13
:(void)0;
2374 var15
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var12
, var_e
);
2377 { /* Inline kernel#Int#== (var15,var_color) on <var15:nullable Object(Int)> */
2378 var19
= (long)(var15
)>>2;
2379 var18
= var19
== var_color
;
2382 RET_LABEL17
:(void)0;
2395 ((void(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_3
); /* next on <var_3:Iterator[Object]>*/
2398 BREAK_label
: (void)0;
2400 ((void(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_3
); /* finish on <var_3:Iterator[Object]>*/
2407 /* method coloring#POSetGroupColorer#graph for (self: POSetGroupColorer[Object, Object]): POSetConflictGraph[Object] */
2408 val
* nitc___nitc__POSetGroupColorer___graph(val
* self
) {
2409 val
* var
/* : POSetConflictGraph[Object] */;
2410 val
* var1
/* : POSetConflictGraph[Object] */;
2411 var1
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___graph
].val
; /* _graph on <self:POSetGroupColorer[Object, Object]> */
2412 if (unlikely(var1
== NULL
)) {
2413 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _graph");
2414 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 282);
2421 /* method coloring#POSetGroupColorer#graph= for (self: POSetGroupColorer[Object, Object], POSetConflictGraph[Object]) */
2422 void nitc___nitc__POSetGroupColorer___graph_61d(val
* self
, val
* p0
) {
2423 short int var
/* : Bool */;
2426 const struct type
* type_struct
;
2427 const char* var_class_name
;
2428 /* Covariant cast for argument 0 (graph) <p0:POSetConflictGraph[Object]> isa POSetConflictGraph[H] */
2429 /* <p0:POSetConflictGraph[Object]> isa POSetConflictGraph[H] */
2430 type_struct
= self
->type
->resolution_table
->types
[COLOR_nitc__POSetConflictGraph__nitc__POSetGroupColorer___35dH
];
2431 cltype
= type_struct
->color
;
2432 idtype
= type_struct
->id
;
2433 if(cltype
>= p0
->type
->table_size
) {
2436 var
= p0
->type
->type_table
[cltype
] == idtype
;
2438 if (unlikely(!var
)) {
2439 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
2440 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "POSetConflictGraph[H]", var_class_name
);
2441 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 282);
2444 self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___graph
].val
= p0
; /* _graph on <self:POSetGroupColorer[Object, Object]> */
2447 /* method coloring#POSetGroupColorer#buckets for (self: POSetGroupColorer[Object, Object]): Map[Object, Collection[Object]] */
2448 val
* nitc___nitc__POSetGroupColorer___buckets(val
* self
) {
2449 val
* var
/* : Map[Object, Collection[Object]] */;
2450 val
* var1
/* : Map[Object, Collection[Object]] */;
2451 var1
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___buckets
].val
; /* _buckets on <self:POSetGroupColorer[Object, Object]> */
2452 if (unlikely(var1
== NULL
)) {
2453 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _buckets");
2454 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 288);
2461 /* method coloring#POSetGroupColorer#buckets= for (self: POSetGroupColorer[Object, Object], Map[Object, Collection[Object]]) */
2462 void nitc___nitc__POSetGroupColorer___buckets_61d(val
* self
, val
* p0
) {
2463 short int var
/* : Bool */;
2466 const struct type
* type_struct
;
2467 const char* var_class_name
;
2468 /* Covariant cast for argument 0 (buckets) <p0:Map[Object, Collection[Object]]> isa Map[H, Collection[E]] */
2469 /* <p0:Map[Object, Collection[Object]]> isa Map[H, Collection[E]] */
2470 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__Map__nitc__POSetGroupColorer___35dH__core__Collection__nitc__POSetGroupColorer___35dE
];
2471 cltype
= type_struct
->color
;
2472 idtype
= type_struct
->id
;
2473 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
2476 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
2478 if (unlikely(!var
)) {
2479 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
2480 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[H, Collection[E]]", var_class_name
);
2481 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 288);
2484 self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___buckets
].val
= p0
; /* _buckets on <self:POSetGroupColorer[Object, Object]> */
2487 /* method coloring#POSetGroupColorer#poset for (self: POSetGroupColorer[Object, Object]): POSet[Object] */
2488 val
* nitc___nitc__POSetGroupColorer___poset(val
* self
) {
2489 val
* var
/* : POSet[Object] */;
2490 val
* var1
/* : POSetConflictGraph[Object] */;
2491 val
* var3
/* : POSetConflictGraph[Object] */;
2492 val
* var4
/* : POSet[nullable Object] */;
2493 val
* var6
/* : POSet[nullable Object] */;
2495 { /* Inline coloring#POSetGroupColorer#graph (self) on <self:POSetGroupColorer[Object, Object]> */
2496 var3
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___graph
].val
; /* _graph on <self:POSetGroupColorer[Object, Object]> */
2497 if (unlikely(var3
== NULL
)) {
2498 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _graph");
2499 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 282);
2507 { /* Inline coloring#POSetConflictGraph#poset (var1) on <var1:POSetConflictGraph[Object]> */
2508 var6
= var1
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___poset
].val
; /* _poset on <var1:POSetConflictGraph[Object]> */
2509 if (unlikely(var6
== NULL
)) {
2510 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _poset");
2511 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 48);
2523 /* method coloring#POSetGroupColorer#colors for (self: POSetGroupColorer[Object, Object]): Map[Object, Int] */
2524 val
* nitc___nitc__POSetGroupColorer___colors(val
* self
) {
2525 val
* var
/* : Map[Object, Int] */;
2526 short int var1
/* : Bool */;
2527 val
* var2
/* : Map[Object, Int] */;
2528 val
* var3
/* : Map[Object, Int] */;
2529 val
* var5
/* : POSetConflictGraph[Object] */;
2530 val
* var7
/* : POSetConflictGraph[Object] */;
2531 val
* var8
/* : POSet[nullable Object] */;
2532 val
* var10
/* : POSet[nullable Object] */;
2533 val
* var_
/* var : POSet[Object] */;
2534 val
* var11
/* : Iterator[nullable Object] */;
2535 val
* var_12
/* var : Iterator[Object] */;
2536 short int var13
/* : Bool */;
2537 val
* var14
/* : nullable Object */;
2538 val
* var_h
/* var h: Object */;
2539 val
* var15
/* : HashMap[Object, HashSet[Int]] */;
2540 val
* var17
/* : HashMap[Object, HashSet[Int]] */;
2541 val
* var18
/* : HashSet[Int] */;
2542 val
* var19
/* : HashMap[Object, Int] */;
2543 val
* var21
/* : HashMap[Object, Int] */;
2544 var1
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___colors
].val
!= NULL
; /* _colors on <self:POSetGroupColorer[Object, Object]> */
2546 var2
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___colors
].val
; /* _colors on <self:POSetGroupColorer[Object, Object]> */
2547 if (unlikely(var2
== NULL
)) {
2548 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors");
2549 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 300);
2555 { /* Inline coloring#POSetGroupColorer#graph (self) on <self:POSetGroupColorer[Object, Object]> */
2556 var7
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___graph
].val
; /* _graph on <self:POSetGroupColorer[Object, Object]> */
2557 if (unlikely(var7
== NULL
)) {
2558 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _graph");
2559 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 282);
2567 { /* Inline coloring#POSetConflictGraph#poset (var5) on <var5:POSetConflictGraph[Object]> */
2568 var10
= var5
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___poset
].val
; /* _poset on <var5:POSetConflictGraph[Object]> */
2569 if (unlikely(var10
== NULL
)) {
2570 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _poset");
2571 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 48);
2580 var11
= poset___poset__POSet___core__abstract_collection__Collection__iterator(var_
);
2585 var13
= ((short int(*)(val
* self
))((((long)var_12
&3)?class_info
[((long)var_12
&3)]:var_12
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_12
); /* is_ok on <var_12:Iterator[Object]>*/
2592 var14
= ((val
*(*)(val
* self
))((((long)var_12
&3)?class_info
[((long)var_12
&3)]:var_12
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_12
); /* item on <var_12:Iterator[Object]>*/
2596 { /* Inline coloring#POSetGroupColorer#used_colors (self) on <self:POSetGroupColorer[Object, Object]> */
2597 var17
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___used_colors
].val
; /* _used_colors on <self:POSetGroupColorer[Object, Object]> */
2598 if (unlikely(var17
== NULL
)) {
2599 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _used_colors");
2600 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 314);
2604 RET_LABEL16
:(void)0;
2607 var18
= NEW_core__HashSet(&type_core__HashSet__core__Int
);
2609 core___core__HashSet___core__kernel__Object__init(var18
); /* Direct call hash_collection#HashSet#init on <var18:HashSet[Int]>*/
2612 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var15
, var_h
, var18
); /* Direct call hash_collection#HashMap#[]= on <var15:HashMap[Object, HashSet[Int]]>*/
2615 ((void(*)(val
* self
))((((long)var_12
&3)?class_info
[((long)var_12
&3)]:var_12
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_12
); /* next on <var_12:Iterator[Object]>*/
2618 BREAK_label
: (void)0;
2620 ((void(*)(val
* self
))((((long)var_12
&3)?class_info
[((long)var_12
&3)]:var_12
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_12
); /* finish on <var_12:Iterator[Object]>*/
2623 nitc___nitc__POSetGroupColorer___compute_colors(self
); /* Direct call coloring#POSetGroupColorer#compute_colors on <self:POSetGroupColorer[Object, Object]>*/
2626 { /* Inline coloring#POSetGroupColorer#colors_cache (self) on <self:POSetGroupColorer[Object, Object]> */
2627 var21
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___colors_cache
].val
; /* _colors_cache on <self:POSetGroupColorer[Object, Object]> */
2628 if (unlikely(var21
== NULL
)) {
2629 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors_cache");
2630 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 311);
2634 RET_LABEL20
:(void)0;
2641 self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___colors
].val
= var3
; /* _colors on <self:POSetGroupColorer[Object, Object]> */
2648 /* method coloring#POSetGroupColorer#colors_cache for (self: POSetGroupColorer[Object, Object]): HashMap[Object, Int] */
2649 val
* nitc___nitc__POSetGroupColorer___colors_cache(val
* self
) {
2650 val
* var
/* : HashMap[Object, Int] */;
2651 val
* var1
/* : HashMap[Object, Int] */;
2652 var1
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___colors_cache
].val
; /* _colors_cache on <self:POSetGroupColorer[Object, Object]> */
2653 if (unlikely(var1
== NULL
)) {
2654 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors_cache");
2655 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 311);
2662 /* method coloring#POSetGroupColorer#used_colors for (self: POSetGroupColorer[Object, Object]): HashMap[Object, HashSet[Int]] */
2663 val
* nitc___nitc__POSetGroupColorer___used_colors(val
* self
) {
2664 val
* var
/* : HashMap[Object, HashSet[Int]] */;
2665 val
* var1
/* : HashMap[Object, HashSet[Int]] */;
2666 var1
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___used_colors
].val
; /* _used_colors on <self:POSetGroupColorer[Object, Object]> */
2667 if (unlikely(var1
== NULL
)) {
2668 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _used_colors");
2669 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 314);
2676 /* method coloring#POSetGroupColorer#build_layout for (self: POSetGroupColorer[Object, Object], Object): Array[nullable Object] */
2677 val
* nitc___nitc__POSetGroupColorer___build_layout(val
* self
, val
* p0
) {
2678 val
* var
/* : Array[nullable Object] */;
2679 short int var1
/* : Bool */;
2682 const struct type
* type_struct
;
2683 const char* var_class_name
;
2684 val
* var_h
/* var h: Object */;
2685 val
* var2
/* : Array[nullable Object] */;
2686 val
* var_table
/* var table: Array[nullable Object] */;
2687 val
* var3
/* : POSet[Object] */;
2688 val
* var4
/* : POSetElement[nullable Object] */;
2689 val
* var5
/* : Collection[nullable Object] */;
2690 val
* var_
/* var : Collection[Object] */;
2691 val
* var6
/* : Iterator[nullable Object] */;
2692 val
* var_7
/* var : Iterator[Object] */;
2693 short int var8
/* : Bool */;
2694 val
* var9
/* : nullable Object */;
2695 val
* var_s
/* var s: Object */;
2696 val
* var10
/* : Map[Object, Collection[Object]] */;
2697 val
* var12
/* : Map[Object, Collection[Object]] */;
2698 val
* var13
/* : nullable Object */;
2699 val
* var_bucket
/* var bucket: nullable Collection[Object] */;
2700 short int var14
/* : Bool */;
2701 short int var15
/* : Bool */;
2702 val
* var_17
/* var : Collection[Object] */;
2703 val
* var18
/* : Iterator[nullable Object] */;
2704 val
* var_19
/* var : Iterator[Object] */;
2705 short int var20
/* : Bool */;
2706 val
* var22
/* : nullable Object */;
2707 val
* var_e
/* var e: Object */;
2708 val
* var23
/* : Map[Object, Int] */;
2709 val
* var24
/* : nullable Object */;
2710 long var25
/* : Int */;
2711 long var_color
/* var color: Int */;
2712 long var26
/* : Int */;
2713 long var28
/* : Int */;
2714 short int var29
/* : Bool */;
2715 short int var31
/* : Bool */;
2718 const char* var_class_name34
;
2719 short int var35
/* : Bool */;
2720 long var36
/* : Int */;
2721 long var38
/* : Int */;
2722 long var_i
/* var i: Int */;
2723 long var_39
/* var : Int */;
2724 short int var40
/* : Bool */;
2725 short int var42
/* : Bool */;
2728 const char* var_class_name45
;
2729 short int var46
/* : Bool */;
2730 long var48
/* : Int */;
2731 val
* var49
/* : nullable Object */;
2732 short int var50
/* : Bool */;
2733 short int var51
/* : Bool */;
2734 val
* var52
/* : Sys */;
2735 val
* var53
/* : NativeArray[String] */;
2736 static val
* varonce
;
2737 static val
* varonce54
;
2738 val
* var55
/* : String */;
2739 char* var56
/* : NativeString */;
2740 val
* var57
/* : String */;
2741 static val
* varonce58
;
2742 val
* var59
/* : String */;
2743 char* var60
/* : NativeString */;
2744 val
* var61
/* : String */;
2745 static val
* varonce62
;
2746 val
* var63
/* : String */;
2747 char* var64
/* : NativeString */;
2748 val
* var65
/* : String */;
2749 static val
* varonce66
;
2750 val
* var67
/* : String */;
2751 char* var68
/* : NativeString */;
2752 val
* var69
/* : String */;
2753 val
* var70
/* : String */;
2754 val
* var71
/* : String */;
2755 val
* var72
/* : Object */;
2756 val
* var73
/* : nullable Object */;
2757 static val
* varonce74
;
2758 val
* var75
/* : String */;
2759 char* var76
/* : NativeString */;
2760 val
* var77
/* : String */;
2761 val
* var78
/* : String */;
2762 val
* var79
/* : String */;
2763 val
* var80
/* : String */;
2764 /* Covariant cast for argument 0 (h) <p0:Object> isa H */
2765 /* <p0:Object> isa H */
2766 type_struct
= self
->type
->resolution_table
->types
[COLOR_nitc__POSetGroupColorer___35dH
];
2767 cltype
= type_struct
->color
;
2768 idtype
= type_struct
->id
;
2769 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
2772 var1
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
2774 if (unlikely(!var1
)) {
2775 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
2776 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "H", var_class_name
);
2777 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 317);
2781 var2
= NEW_core__Array(self
->type
->resolution_table
->types
[COLOR_core__Array__nullable__nitc__POSetGroupColorer___35dE
]);
2783 core___core__Array___core__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[nullable Object]>*/
2787 var3
= nitc___nitc__POSetGroupColorer___poset(self
);
2790 var4
= poset___poset__POSet____91d_93d(var3
, var_h
);
2793 var5
= poset___poset__POSetElement___greaters(var4
);
2797 var6
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Collection[Object]>*/
2802 var8
= ((short int(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_7
); /* is_ok on <var_7:Iterator[Object]>*/
2809 var9
= ((val
*(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_7
); /* item on <var_7:Iterator[Object]>*/
2813 { /* Inline coloring#POSetGroupColorer#buckets (self) on <self:POSetGroupColorer[Object, Object]> */
2814 var12
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___buckets
].val
; /* _buckets on <self:POSetGroupColorer[Object, Object]> */
2815 if (unlikely(var12
== NULL
)) {
2816 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _buckets");
2817 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 288);
2821 RET_LABEL11
:(void)0;
2825 var13
= ((val
*(*)(val
* self
, val
* p0
))((((long)var10
&3)?class_info
[((long)var10
&3)]:var10
->class)->vft
[COLOR_core__abstract_collection__MapRead__get_or_null
]))(var10
, var_s
); /* get_or_null on <var10:Map[Object, Collection[Object]]>*/
2828 if (var_bucket
== NULL
) {
2829 var14
= 1; /* is null */
2831 var14
= 0; /* arg is null but recv is not */
2834 var15
= ((short int(*)(val
* self
, val
* p0
))((((long)var_bucket
&3)?class_info
[((long)var_bucket
&3)]:var_bucket
->class)->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_bucket
, ((val
*)NULL
)); /* == on <var_bucket:nullable Collection[Object]>*/
2841 var_17
= var_bucket
;
2843 var18
= ((val
*(*)(val
* self
))((((long)var_17
&3)?class_info
[((long)var_17
&3)]:var_17
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_17
); /* iterator on <var_17:Collection[Object]>*/
2848 var20
= ((short int(*)(val
* self
))((((long)var_19
&3)?class_info
[((long)var_19
&3)]:var_19
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_19
); /* is_ok on <var_19:Iterator[Object]>*/
2855 var22
= ((val
*(*)(val
* self
))((((long)var_19
&3)?class_info
[((long)var_19
&3)]:var_19
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_19
); /* item on <var_19:Iterator[Object]>*/
2859 var23
= nitc___nitc__POSetGroupColorer___colors(self
);
2862 var24
= ((val
*(*)(val
* self
, val
* p0
))((((long)var23
&3)?class_info
[((long)var23
&3)]:var23
->class)->vft
[COLOR_core__abstract_collection__MapRead___91d_93d
]))(var23
, var_e
); /* [] on <var23:Map[Object, Int]>*/
2864 var25
= (long)(var24
)>>2;
2867 { /* Inline array#AbstractArrayRead#length (var_table) on <var_table:Array[nullable Object]> */
2868 var28
= var_table
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_table:Array[nullable Object]> */
2870 RET_LABEL27
:(void)0;
2874 { /* Inline kernel#Int#<= (var26,var_color) on <var26:Int> */
2875 /* Covariant cast for argument 0 (i) <var_color:Int> isa OTHER */
2876 /* <var_color:Int> isa OTHER */
2877 var31
= 1; /* easy <var_color:Int> isa OTHER*/
2878 if (unlikely(!var31
)) {
2879 var_class_name34
= type_core__Int
.name
;
2880 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34
);
2881 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
2884 var35
= var26
<= var_color
;
2887 RET_LABEL30
:(void)0;
2892 { /* Inline array#AbstractArrayRead#length (var_table) on <var_table:Array[nullable Object]> */
2893 var38
= var_table
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_table:Array[nullable Object]> */
2895 RET_LABEL37
:(void)0;
2902 { /* Inline kernel#Int#< (var_i,var_39) on <var_i:Int> */
2903 /* Covariant cast for argument 0 (i) <var_39:Int> isa OTHER */
2904 /* <var_39:Int> isa OTHER */
2905 var42
= 1; /* easy <var_39:Int> isa OTHER*/
2906 if (unlikely(!var42
)) {
2907 var_class_name45
= type_core__Int
.name
;
2908 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name45
);
2909 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
2912 var46
= var_i
< var_39
;
2915 RET_LABEL41
:(void)0;
2923 core___core__Array___core__abstract_collection__Sequence___91d_93d_61d(var_table
, var_i
, ((val
*)NULL
)); /* Direct call array#Array#[]= on <var_table:Array[nullable Object]>*/
2926 var48
= core___core__Int___Discrete__successor(var_i
, 1l);
2930 BREAK_label47
: (void)0;
2933 var49
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_table
, var_color
);
2935 if (var49
== NULL
) {
2936 var50
= 1; /* is null */
2938 var50
= 0; /* arg is null but recv is not */
2941 var51
= ((short int(*)(val
* self
, val
* p0
))((((long)var49
&3)?class_info
[((long)var49
&3)]:var49
->class)->vft
[COLOR_core__kernel__Object___61d_61d
]))(var49
, ((val
*)NULL
)); /* == on <var49:nullable Object>*/
2944 if (unlikely(!var50
)) {
2946 if (unlikely(varonce
==NULL
)) {
2947 var53
= NEW_core__NativeArray(8l, &type_core__NativeArray__core__String
);
2948 if (likely(varonce54
!=NULL
)) {
2952 var57
= core__flat___NativeString___to_s_full(var56
, 3l, 3l);
2956 ((struct instance_core__NativeArray
*)var53
)->values
[0]=var55
;
2957 if (likely(varonce58
!=NULL
)) {
2961 var61
= core__flat___NativeString___to_s_full(var60
, 6l, 6l);
2965 ((struct instance_core__NativeArray
*)var53
)->values
[2]=var59
;
2966 if (likely(varonce62
!=NULL
)) {
2970 var65
= core__flat___NativeString___to_s_full(var64
, 2l, 2l);
2974 ((struct instance_core__NativeArray
*)var53
)->values
[4]=var63
;
2975 if (likely(varonce66
!=NULL
)) {
2979 var69
= core__flat___NativeString___to_s_full(var68
, 4l, 4l);
2983 ((struct instance_core__NativeArray
*)var53
)->values
[6]=var67
;
2989 var70
= ((val
*(*)(val
* self
))((((long)var_h
&3)?class_info
[((long)var_h
&3)]:var_h
->class)->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_h
); /* to_s on <var_h:Object>*/
2991 ((struct instance_core__NativeArray
*)var53
)->values
[1]=var70
;
2992 var71
= core__flat___Int___core__abstract_text__Object__to_s(var_color
);
2993 ((struct instance_core__NativeArray
*)var53
)->values
[3]=var71
;
2995 var73
= core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_table
, var_color
);
3000 if (likely(varonce74
!=NULL
)) {
3004 var77
= core__flat___NativeString___to_s_full(var76
, 0l, 0l);
3011 var78
= ((val
*(*)(val
* self
))((((long)var72
&3)?class_info
[((long)var72
&3)]:var72
->class)->vft
[COLOR_core__abstract_text__Object__to_s
]))(var72
); /* to_s on <var72:Object>*/
3013 ((struct instance_core__NativeArray
*)var53
)->values
[5]=var78
;
3015 var79
= ((val
*(*)(val
* self
))((((long)var_e
&3)?class_info
[((long)var_e
&3)]:var_e
->class)->vft
[COLOR_core__abstract_text__Object__to_s
]))(var_e
); /* to_s on <var_e:Object>*/
3017 ((struct instance_core__NativeArray
*)var53
)->values
[7]=var79
;
3019 var80
= ((val
*(*)(val
* self
))(var53
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var53
); /* native_to_s on <var53:NativeArray[String]>*/
3023 core__file___Sys___print(var52
, var80
); /* Direct call file#Sys#print on <var52:Sys>*/
3025 PRINT_ERROR("Runtime error: %s", "Assert failed");
3026 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 333);
3031 core___core__Array___core__abstract_collection__Sequence___91d_93d_61d(var_table
, var_color
, var_e
); /* Direct call array#Array#[]= on <var_table:Array[nullable Object]>*/
3034 ((void(*)(val
* self
))((((long)var_19
&3)?class_info
[((long)var_19
&3)]:var_19
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_19
); /* next on <var_19:Iterator[Object]>*/
3037 BREAK_label21
: (void)0;
3039 ((void(*)(val
* self
))((((long)var_19
&3)?class_info
[((long)var_19
&3)]:var_19
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_19
); /* finish on <var_19:Iterator[Object]>*/
3041 BREAK_label16
: (void)0;
3043 ((void(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_7
); /* next on <var_7:Iterator[Object]>*/
3046 BREAK_label
: (void)0;
3048 ((void(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_7
); /* finish on <var_7:Iterator[Object]>*/
3055 /* method coloring#POSetGroupColorer#compute_colors for (self: POSetGroupColorer[Object, Object]) */
3056 void nitc___nitc__POSetGroupColorer___compute_colors(val
* self
) {
3057 val
* var
/* : HashMap[Object, Int] */;
3058 val
* var2
/* : HashMap[Object, Int] */;
3059 val
* var3
/* : POSetConflictGraph[Object] */;
3060 val
* var5
/* : POSetConflictGraph[Object] */;
3061 val
* var6
/* : HashSet[nullable Object] */;
3062 val
* var8
/* : HashSet[nullable Object] */;
3063 val
* var9
/* : POSetConflictGraph[Object] */;
3064 val
* var11
/* : POSetConflictGraph[Object] */;
3065 val
* var12
/* : HashSet[nullable Object] */;
3066 val
* var14
/* : HashSet[nullable Object] */;
3068 { /* Inline coloring#POSetGroupColorer#colors_cache (self) on <self:POSetGroupColorer[Object, Object]> */
3069 var2
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___colors_cache
].val
; /* _colors_cache on <self:POSetGroupColorer[Object, Object]> */
3070 if (unlikely(var2
== NULL
)) {
3071 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors_cache");
3072 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 311);
3080 core___core__HashMap___core__abstract_collection__Map__clear(var
); /* Direct call hash_collection#HashMap#clear on <var:HashMap[Object, Int]>*/
3083 nitc___nitc__POSetGroupColorer___colorize_core(self
); /* Direct call coloring#POSetGroupColorer#colorize_core on <self:POSetGroupColorer[Object, Object]>*/
3086 { /* Inline coloring#POSetGroupColorer#graph (self) on <self:POSetGroupColorer[Object, Object]> */
3087 var5
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___graph
].val
; /* _graph on <self:POSetGroupColorer[Object, Object]> */
3088 if (unlikely(var5
== NULL
)) {
3089 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _graph");
3090 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 282);
3098 { /* Inline coloring#POSetConflictGraph#border (var3) on <var3:POSetConflictGraph[Object]> */
3099 var8
= var3
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___border
].val
; /* _border on <var3:POSetConflictGraph[Object]> */
3100 if (unlikely(var8
== NULL
)) {
3101 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _border");
3102 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 28);
3110 nitc___nitc__POSetGroupColorer___colorize_set(self
, var6
); /* Direct call coloring#POSetGroupColorer#colorize_set on <self:POSetGroupColorer[Object, Object]>*/
3113 { /* Inline coloring#POSetGroupColorer#graph (self) on <self:POSetGroupColorer[Object, Object]> */
3114 var11
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___graph
].val
; /* _graph on <self:POSetGroupColorer[Object, Object]> */
3115 if (unlikely(var11
== NULL
)) {
3116 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _graph");
3117 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 282);
3121 RET_LABEL10
:(void)0;
3125 { /* Inline coloring#POSetConflictGraph#crown (var9) on <var9:POSetConflictGraph[Object]> */
3126 var14
= var9
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___crown
].val
; /* _crown on <var9:POSetConflictGraph[Object]> */
3127 if (unlikely(var14
== NULL
)) {
3128 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _crown");
3129 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 34);
3133 RET_LABEL13
:(void)0;
3137 nitc___nitc__POSetGroupColorer___colorize_set(self
, var12
); /* Direct call coloring#POSetGroupColorer#colorize_set on <self:POSetGroupColorer[Object, Object]>*/
3141 /* method coloring#POSetGroupColorer#colorize_core for (self: POSetGroupColorer[Object, Object]) */
3142 void nitc___nitc__POSetGroupColorer___colorize_core(val
* self
) {
3143 val
* var
/* : POSetConflictGraph[Object] */;
3144 val
* var2
/* : POSetConflictGraph[Object] */;
3145 val
* var3
/* : Array[nullable Object] */;
3146 val
* var5
/* : Array[nullable Object] */;
3147 val
* var_
/* var : Array[Object] */;
3148 val
* var6
/* : IndexedIterator[nullable Object] */;
3149 val
* var_7
/* var : IndexedIterator[Object] */;
3150 short int var8
/* : Bool */;
3151 val
* var9
/* : nullable Object */;
3152 val
* var_h
/* var h: Object */;
3153 val
* var10
/* : POSetConflictGraph[Object] */;
3154 val
* var12
/* : POSetConflictGraph[Object] */;
3155 val
* var13
/* : HashSet[nullable Object] */;
3156 val
* var15
/* : HashSet[nullable Object] */;
3157 short int var16
/* : Bool */;
3158 short int var17
/* : Bool */;
3159 long var19
/* : Int */;
3160 long var_color
/* var color: Int */;
3161 long var_mincolor
/* var mincolor: Int */;
3162 val
* var20
/* : Map[Object, Collection[Object]] */;
3163 val
* var22
/* : Map[Object, Collection[Object]] */;
3164 val
* var23
/* : nullable Object */;
3165 val
* var_bucket
/* var bucket: nullable Collection[Object] */;
3166 short int var24
/* : Bool */;
3167 short int var25
/* : Bool */;
3168 val
* var26
/* : POSetConflictGraph[Object] */;
3169 val
* var28
/* : POSetConflictGraph[Object] */;
3170 val
* var29
/* : HashMap[nullable Object, Set[nullable Object]] */;
3171 val
* var31
/* : HashMap[nullable Object, Set[nullable Object]] */;
3172 val
* var32
/* : nullable Object */;
3173 val
* var_conflicts
/* var conflicts: Set[Object] */;
3174 val
* var33
/* : POSet[Object] */;
3175 val
* var34
/* : POSetElement[nullable Object] */;
3176 val
* var35
/* : Collection[nullable Object] */;
3177 val
* var_parents
/* var parents: Collection[Object] */;
3178 val
* var_36
/* var : Collection[Object] */;
3179 val
* var37
/* : Iterator[nullable Object] */;
3180 val
* var_38
/* var : Iterator[Object] */;
3181 short int var39
/* : Bool */;
3182 val
* var41
/* : nullable Object */;
3183 val
* var_e
/* var e: Object */;
3184 long var42
/* : Int */;
3185 long var43
/* : Int */;
3186 val
* var44
/* : HashMap[Object, Int] */;
3187 val
* var46
/* : HashMap[Object, Int] */;
3188 val
* var47
/* : nullable Object */;
3189 val
* var48
/* : HashMap[Object, HashSet[Int]] */;
3190 val
* var50
/* : HashMap[Object, HashSet[Int]] */;
3191 val
* var51
/* : nullable Object */;
3192 val
* var52
/* : nullable Object */;
3193 short int var53
/* : Bool */;
3194 short int var55
/* : Bool */;
3195 long var56
/* : Int */;
3196 short int var58
/* : Bool */;
3199 const char* var_class_name
;
3200 long var59
/* : Int */;
3201 long var60
/* : Int */;
3202 short int var62
/* : Bool */;
3205 const char* var_class_name65
;
3206 long var66
/* : Int */;
3207 val
* var67
/* : HashMap[Object, Int] */;
3208 val
* var69
/* : HashMap[Object, Int] */;
3209 val
* var70
/* : nullable Object */;
3211 { /* Inline coloring#POSetGroupColorer#graph (self) on <self:POSetGroupColorer[Object, Object]> */
3212 var2
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___graph
].val
; /* _graph on <self:POSetGroupColorer[Object, Object]> */
3213 if (unlikely(var2
== NULL
)) {
3214 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _graph");
3215 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 282);
3223 { /* Inline coloring#POSetConflictGraph#order (var) on <var:POSetConflictGraph[Object]> */
3224 var5
= var
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___order
].val
; /* _order on <var:POSetConflictGraph[Object]> */
3225 if (unlikely(var5
== NULL
)) {
3226 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _order");
3227 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 51);
3236 var6
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
3241 var8
= ((short int(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_7
); /* is_ok on <var_7:IndexedIterator[Object]>*/
3248 var9
= ((val
*(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_7
); /* item on <var_7:IndexedIterator[Object]>*/
3252 { /* Inline coloring#POSetGroupColorer#graph (self) on <self:POSetGroupColorer[Object, Object]> */
3253 var12
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___graph
].val
; /* _graph on <self:POSetGroupColorer[Object, Object]> */
3254 if (unlikely(var12
== NULL
)) {
3255 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _graph");
3256 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 282);
3260 RET_LABEL11
:(void)0;
3264 { /* Inline coloring#POSetConflictGraph#core (var10) on <var10:POSetConflictGraph[Object]> */
3265 var15
= var10
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___core
].val
; /* _core on <var10:POSetConflictGraph[Object]> */
3266 if (unlikely(var15
== NULL
)) {
3267 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _core");
3268 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 22);
3272 RET_LABEL14
:(void)0;
3276 var16
= core___core__HashSet___core__abstract_collection__Collection__has(var13
, var_h
);
3284 var19
= nitc___nitc__POSetGroupColorer___inherit_color(self
, var_h
);
3287 var_mincolor
= var_color
;
3289 { /* Inline coloring#POSetGroupColorer#buckets (self) on <self:POSetGroupColorer[Object, Object]> */
3290 var22
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___buckets
].val
; /* _buckets on <self:POSetGroupColorer[Object, Object]> */
3291 if (unlikely(var22
== NULL
)) {
3292 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _buckets");
3293 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 288);
3297 RET_LABEL21
:(void)0;
3301 var23
= ((val
*(*)(val
* self
, val
* p0
))((((long)var20
&3)?class_info
[((long)var20
&3)]:var20
->class)->vft
[COLOR_core__abstract_collection__MapRead__get_or_null
]))(var20
, var_h
); /* get_or_null on <var20:Map[Object, Collection[Object]]>*/
3304 if (var_bucket
== NULL
) {
3305 var24
= 1; /* is null */
3307 var24
= 0; /* arg is null but recv is not */
3310 var25
= ((short int(*)(val
* self
, val
* p0
))((((long)var_bucket
&3)?class_info
[((long)var_bucket
&3)]:var_bucket
->class)->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_bucket
, ((val
*)NULL
)); /* == on <var_bucket:nullable Collection[Object]>*/
3318 { /* Inline coloring#POSetGroupColorer#graph (self) on <self:POSetGroupColorer[Object, Object]> */
3319 var28
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___graph
].val
; /* _graph on <self:POSetGroupColorer[Object, Object]> */
3320 if (unlikely(var28
== NULL
)) {
3321 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _graph");
3322 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 282);
3326 RET_LABEL27
:(void)0;
3330 { /* Inline coloring#POSetConflictGraph#conflicts (var26) on <var26:POSetConflictGraph[Object]> */
3331 var31
= var26
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___conflicts
].val
; /* _conflicts on <var26:POSetConflictGraph[Object]> */
3332 if (unlikely(var31
== NULL
)) {
3333 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conflicts");
3334 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 40);
3338 RET_LABEL30
:(void)0;
3342 var32
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var29
, var_h
);
3344 var_conflicts
= var32
;
3346 var33
= nitc___nitc__POSetGroupColorer___poset(self
);
3349 var34
= poset___poset__POSet____91d_93d(var33
, var_h
);
3352 var35
= poset___poset__POSetElement___greaters(var34
);
3354 var_parents
= var35
;
3355 var_36
= var_bucket
;
3357 var37
= ((val
*(*)(val
* self
))((((long)var_36
&3)?class_info
[((long)var_36
&3)]:var_36
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_36
); /* iterator on <var_36:Collection[Object]>*/
3362 var39
= ((short int(*)(val
* self
))((((long)var_38
&3)?class_info
[((long)var_38
&3)]:var_38
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_38
); /* is_ok on <var_38:Iterator[Object]>*/
3369 var41
= ((val
*(*)(val
* self
))((((long)var_38
&3)?class_info
[((long)var_38
&3)]:var_38
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_38
); /* item on <var_38:Iterator[Object]>*/
3373 var42
= nitc___nitc__POSetGroupColorer___next_free_color(self
, var_color
, var_parents
);
3377 var43
= nitc___nitc__POSetGroupColorer___next_free_color(self
, var_color
, var_conflicts
);
3381 { /* Inline coloring#POSetGroupColorer#colors_cache (self) on <self:POSetGroupColorer[Object, Object]> */
3382 var46
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___colors_cache
].val
; /* _colors_cache on <self:POSetGroupColorer[Object, Object]> */
3383 if (unlikely(var46
== NULL
)) {
3384 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors_cache");
3385 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 311);
3389 RET_LABEL45
:(void)0;
3393 var47
= (val
*)(var_color
<<2|1);
3394 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var44
, var_e
, var47
); /* Direct call hash_collection#HashMap#[]= on <var44:HashMap[Object, Int]>*/
3397 { /* Inline coloring#POSetGroupColorer#used_colors (self) on <self:POSetGroupColorer[Object, Object]> */
3398 var50
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___used_colors
].val
; /* _used_colors on <self:POSetGroupColorer[Object, Object]> */
3399 if (unlikely(var50
== NULL
)) {
3400 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _used_colors");
3401 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 314);
3405 RET_LABEL49
:(void)0;
3409 var51
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var48
, var_h
);
3412 var52
= (val
*)(var_color
<<2|1);
3413 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var51
, var52
); /* Direct call hash_collection#HashSet#add on <var51:nullable Object(HashSet[Int])>*/
3416 { /* Inline kernel#Int#== (var_mincolor,var_color) on <var_mincolor:Int> */
3417 var55
= var_mincolor
== var_color
;
3420 RET_LABEL54
:(void)0;
3425 { /* Inline kernel#Int#+ (var_mincolor,1l) on <var_mincolor:Int> */
3426 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3427 /* <1l:Int> isa OTHER */
3428 var58
= 1; /* easy <1l:Int> isa OTHER*/
3429 if (unlikely(!var58
)) {
3430 var_class_name
= type_core__Int
.name
;
3431 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3432 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
3435 var59
= var_mincolor
+ 1l;
3438 RET_LABEL57
:(void)0;
3441 var_mincolor
= var56
;
3445 { /* Inline kernel#Int#+ (var_color,1l) on <var_color:Int> */
3446 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3447 /* <1l:Int> isa OTHER */
3448 var62
= 1; /* easy <1l:Int> isa OTHER*/
3449 if (unlikely(!var62
)) {
3450 var_class_name65
= type_core__Int
.name
;
3451 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name65
);
3452 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
3455 var66
= var_color
+ 1l;
3458 RET_LABEL61
:(void)0;
3463 ((void(*)(val
* self
))((((long)var_38
&3)?class_info
[((long)var_38
&3)]:var_38
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_38
); /* next on <var_38:Iterator[Object]>*/
3466 BREAK_label40
: (void)0;
3468 ((void(*)(val
* self
))((((long)var_38
&3)?class_info
[((long)var_38
&3)]:var_38
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_38
); /* finish on <var_38:Iterator[Object]>*/
3471 { /* Inline coloring#POSetGroupColorer#min_colors (self) on <self:POSetGroupColorer[Object, Object]> */
3472 var69
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___min_colors
].val
; /* _min_colors on <self:POSetGroupColorer[Object, Object]> */
3473 if (unlikely(var69
== NULL
)) {
3474 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _min_colors");
3475 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 409);
3479 RET_LABEL68
:(void)0;
3483 var70
= (val
*)(var_mincolor
<<2|1);
3484 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var67
, var_h
, var70
); /* Direct call hash_collection#HashMap#[]= on <var67:HashMap[Object, Int]>*/
3486 BREAK_label18
: (void)0;
3488 ((void(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_7
); /* next on <var_7:IndexedIterator[Object]>*/
3491 BREAK_label
: (void)0;
3493 ((void(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_7
); /* finish on <var_7:IndexedIterator[Object]>*/
3497 /* method coloring#POSetGroupColorer#colorize_set for (self: POSetGroupColorer[Object, Object], Set[Object]) */
3498 void nitc___nitc__POSetGroupColorer___colorize_set(val
* self
, val
* p0
) {
3499 short int var
/* : Bool */;
3502 const struct type
* type_struct
;
3503 const char* var_class_name
;
3504 val
* var_set
/* var set: Set[Object] */;
3505 val
* var1
/* : POSetConflictGraph[Object] */;
3506 val
* var3
/* : POSetConflictGraph[Object] */;
3507 val
* var4
/* : Array[nullable Object] */;
3508 val
* var6
/* : Array[nullable Object] */;
3509 val
* var_
/* var : Array[Object] */;
3510 val
* var7
/* : IndexedIterator[nullable Object] */;
3511 val
* var_8
/* var : IndexedIterator[Object] */;
3512 short int var9
/* : Bool */;
3513 val
* var10
/* : nullable Object */;
3514 val
* var_h
/* var h: Object */;
3515 short int var11
/* : Bool */;
3516 short int var12
/* : Bool */;
3517 long var14
/* : Int */;
3518 long var_color
/* var color: Int */;
3519 long var_mincolor
/* var mincolor: Int */;
3520 val
* var15
/* : Map[Object, Collection[Object]] */;
3521 val
* var17
/* : Map[Object, Collection[Object]] */;
3522 val
* var18
/* : nullable Object */;
3523 val
* var_bucket
/* var bucket: nullable Collection[Object] */;
3524 short int var19
/* : Bool */;
3525 short int var20
/* : Bool */;
3526 val
* var21
/* : POSet[Object] */;
3527 val
* var22
/* : POSetElement[nullable Object] */;
3528 val
* var23
/* : Collection[nullable Object] */;
3529 val
* var_parents
/* var parents: Collection[Object] */;
3530 val
* var_24
/* var : Collection[Object] */;
3531 val
* var25
/* : Iterator[nullable Object] */;
3532 val
* var_26
/* var : Iterator[Object] */;
3533 short int var27
/* : Bool */;
3534 val
* var29
/* : nullable Object */;
3535 val
* var_e
/* var e: Object */;
3536 long var30
/* : Int */;
3537 val
* var31
/* : HashMap[Object, Int] */;
3538 val
* var33
/* : HashMap[Object, Int] */;
3539 val
* var34
/* : nullable Object */;
3540 val
* var35
/* : HashMap[Object, HashSet[Int]] */;
3541 val
* var37
/* : HashMap[Object, HashSet[Int]] */;
3542 val
* var38
/* : nullable Object */;
3543 val
* var39
/* : nullable Object */;
3544 short int var40
/* : Bool */;
3545 short int var42
/* : Bool */;
3546 long var43
/* : Int */;
3547 short int var45
/* : Bool */;
3550 const char* var_class_name48
;
3551 long var49
/* : Int */;
3552 long var50
/* : Int */;
3553 short int var52
/* : Bool */;
3556 const char* var_class_name55
;
3557 long var56
/* : Int */;
3558 val
* var57
/* : HashMap[Object, Int] */;
3559 val
* var59
/* : HashMap[Object, Int] */;
3560 val
* var60
/* : nullable Object */;
3561 /* Covariant cast for argument 0 (set) <p0:Set[Object]> isa Set[H] */
3562 /* <p0:Set[Object]> isa Set[H] */
3563 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__Set__nitc__POSetGroupColorer___35dH
];
3564 cltype
= type_struct
->color
;
3565 idtype
= type_struct
->id
;
3566 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
3569 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
3571 if (unlikely(!var
)) {
3572 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
3573 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Set[H]", var_class_name
);
3574 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 375);
3579 { /* Inline coloring#POSetGroupColorer#graph (self) on <self:POSetGroupColorer[Object, Object]> */
3580 var3
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___graph
].val
; /* _graph on <self:POSetGroupColorer[Object, Object]> */
3581 if (unlikely(var3
== NULL
)) {
3582 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _graph");
3583 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 282);
3591 { /* Inline coloring#POSetConflictGraph#order (var1) on <var1:POSetConflictGraph[Object]> */
3592 var6
= var1
->attrs
[COLOR_nitc__coloring__POSetConflictGraph___order
].val
; /* _order on <var1:POSetConflictGraph[Object]> */
3593 if (unlikely(var6
== NULL
)) {
3594 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _order");
3595 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 51);
3604 var7
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
3609 var9
= ((short int(*)(val
* self
))((((long)var_8
&3)?class_info
[((long)var_8
&3)]:var_8
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_8
); /* is_ok on <var_8:IndexedIterator[Object]>*/
3616 var10
= ((val
*(*)(val
* self
))((((long)var_8
&3)?class_info
[((long)var_8
&3)]:var_8
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_8
); /* item on <var_8:IndexedIterator[Object]>*/
3620 var11
= ((short int(*)(val
* self
, val
* p0
))((((long)var_set
&3)?class_info
[((long)var_set
&3)]:var_set
->class)->vft
[COLOR_core__abstract_collection__Collection__has
]))(var_set
, var_h
); /* has on <var_set:Set[Object]>*/
3628 var14
= nitc___nitc__POSetGroupColorer___inherit_color(self
, var_h
);
3631 var_mincolor
= var_color
;
3633 { /* Inline coloring#POSetGroupColorer#buckets (self) on <self:POSetGroupColorer[Object, Object]> */
3634 var17
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___buckets
].val
; /* _buckets on <self:POSetGroupColorer[Object, Object]> */
3635 if (unlikely(var17
== NULL
)) {
3636 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _buckets");
3637 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 288);
3641 RET_LABEL16
:(void)0;
3645 var18
= ((val
*(*)(val
* self
, val
* p0
))((((long)var15
&3)?class_info
[((long)var15
&3)]:var15
->class)->vft
[COLOR_core__abstract_collection__MapRead__get_or_null
]))(var15
, var_h
); /* get_or_null on <var15:Map[Object, Collection[Object]]>*/
3648 if (var_bucket
== NULL
) {
3649 var19
= 1; /* is null */
3651 var19
= 0; /* arg is null but recv is not */
3654 var20
= ((short int(*)(val
* self
, val
* p0
))((((long)var_bucket
&3)?class_info
[((long)var_bucket
&3)]:var_bucket
->class)->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_bucket
, ((val
*)NULL
)); /* == on <var_bucket:nullable Collection[Object]>*/
3662 var21
= nitc___nitc__POSetGroupColorer___poset(self
);
3665 var22
= poset___poset__POSet____91d_93d(var21
, var_h
);
3668 var23
= poset___poset__POSetElement___greaters(var22
);
3670 var_parents
= var23
;
3671 var_24
= var_bucket
;
3673 var25
= ((val
*(*)(val
* self
))((((long)var_24
&3)?class_info
[((long)var_24
&3)]:var_24
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_24
); /* iterator on <var_24:Collection[Object]>*/
3678 var27
= ((short int(*)(val
* self
))((((long)var_26
&3)?class_info
[((long)var_26
&3)]:var_26
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_26
); /* is_ok on <var_26:Iterator[Object]>*/
3685 var29
= ((val
*(*)(val
* self
))((((long)var_26
&3)?class_info
[((long)var_26
&3)]:var_26
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_26
); /* item on <var_26:Iterator[Object]>*/
3689 var30
= nitc___nitc__POSetGroupColorer___next_free_color(self
, var_color
, var_parents
);
3693 { /* Inline coloring#POSetGroupColorer#colors_cache (self) on <self:POSetGroupColorer[Object, Object]> */
3694 var33
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___colors_cache
].val
; /* _colors_cache on <self:POSetGroupColorer[Object, Object]> */
3695 if (unlikely(var33
== NULL
)) {
3696 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors_cache");
3697 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 311);
3701 RET_LABEL32
:(void)0;
3705 var34
= (val
*)(var_color
<<2|1);
3706 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var31
, var_e
, var34
); /* Direct call hash_collection#HashMap#[]= on <var31:HashMap[Object, Int]>*/
3709 { /* Inline coloring#POSetGroupColorer#used_colors (self) on <self:POSetGroupColorer[Object, Object]> */
3710 var37
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___used_colors
].val
; /* _used_colors on <self:POSetGroupColorer[Object, Object]> */
3711 if (unlikely(var37
== NULL
)) {
3712 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _used_colors");
3713 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 314);
3717 RET_LABEL36
:(void)0;
3721 var38
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var35
, var_h
);
3724 var39
= (val
*)(var_color
<<2|1);
3725 core___core__HashSet___core__abstract_collection__SimpleCollection__add(var38
, var39
); /* Direct call hash_collection#HashSet#add on <var38:nullable Object(HashSet[Int])>*/
3728 { /* Inline kernel#Int#== (var_mincolor,var_color) on <var_mincolor:Int> */
3729 var42
= var_mincolor
== var_color
;
3732 RET_LABEL41
:(void)0;
3737 { /* Inline kernel#Int#+ (var_mincolor,1l) on <var_mincolor:Int> */
3738 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3739 /* <1l:Int> isa OTHER */
3740 var45
= 1; /* easy <1l:Int> isa OTHER*/
3741 if (unlikely(!var45
)) {
3742 var_class_name48
= type_core__Int
.name
;
3743 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48
);
3744 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
3747 var49
= var_mincolor
+ 1l;
3750 RET_LABEL44
:(void)0;
3753 var_mincolor
= var43
;
3757 { /* Inline kernel#Int#+ (var_color,1l) on <var_color:Int> */
3758 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3759 /* <1l:Int> isa OTHER */
3760 var52
= 1; /* easy <1l:Int> isa OTHER*/
3761 if (unlikely(!var52
)) {
3762 var_class_name55
= type_core__Int
.name
;
3763 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name55
);
3764 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
3767 var56
= var_color
+ 1l;
3770 RET_LABEL51
:(void)0;
3775 ((void(*)(val
* self
))((((long)var_26
&3)?class_info
[((long)var_26
&3)]:var_26
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_26
); /* next on <var_26:Iterator[Object]>*/
3778 BREAK_label28
: (void)0;
3780 ((void(*)(val
* self
))((((long)var_26
&3)?class_info
[((long)var_26
&3)]:var_26
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_26
); /* finish on <var_26:Iterator[Object]>*/
3783 { /* Inline coloring#POSetGroupColorer#min_colors (self) on <self:POSetGroupColorer[Object, Object]> */
3784 var59
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___min_colors
].val
; /* _min_colors on <self:POSetGroupColorer[Object, Object]> */
3785 if (unlikely(var59
== NULL
)) {
3786 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _min_colors");
3787 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 409);
3791 RET_LABEL58
:(void)0;
3795 var60
= (val
*)(var_mincolor
<<2|1);
3796 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var57
, var_h
, var60
); /* Direct call hash_collection#HashMap#[]= on <var57:HashMap[Object, Int]>*/
3798 BREAK_label13
: (void)0;
3800 ((void(*)(val
* self
))((((long)var_8
&3)?class_info
[((long)var_8
&3)]:var_8
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_8
); /* next on <var_8:IndexedIterator[Object]>*/
3803 BREAK_label
: (void)0;
3805 ((void(*)(val
* self
))((((long)var_8
&3)?class_info
[((long)var_8
&3)]:var_8
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_8
); /* finish on <var_8:IndexedIterator[Object]>*/
3809 /* method coloring#POSetGroupColorer#inherit_color for (self: POSetGroupColorer[Object, Object], Object): Int */
3810 long nitc___nitc__POSetGroupColorer___inherit_color(val
* self
, val
* p0
) {
3811 long var
/* : Int */;
3812 short int var1
/* : Bool */;
3815 const struct type
* type_struct
;
3816 const char* var_class_name
;
3817 val
* var_h
/* var h: Object */;
3818 long var_res
/* var res: Int */;
3819 val
* var2
/* : POSet[Object] */;
3820 val
* var3
/* : POSetElement[nullable Object] */;
3821 val
* var4
/* : Collection[nullable Object] */;
3822 val
* var_
/* var : Collection[Object] */;
3823 val
* var5
/* : Iterator[nullable Object] */;
3824 val
* var_6
/* var : Iterator[Object] */;
3825 short int var7
/* : Bool */;
3826 val
* var8
/* : nullable Object */;
3827 val
* var_p
/* var p: Object */;
3828 val
* var9
/* : HashMap[Object, Int] */;
3829 val
* var11
/* : HashMap[Object, Int] */;
3830 val
* var12
/* : nullable Object */;
3831 long var13
/* : Int */;
3832 long var_m
/* var m: Int */;
3833 short int var14
/* : Bool */;
3834 short int var16
/* : Bool */;
3837 const char* var_class_name19
;
3838 short int var20
/* : Bool */;
3839 val
* var21
/* : HashMap[Object, Int] */;
3840 val
* var23
/* : HashMap[Object, Int] */;
3841 val
* var24
/* : nullable Object */;
3842 /* Covariant cast for argument 0 (h) <p0:Object> isa H */
3843 /* <p0:Object> isa H */
3844 type_struct
= self
->type
->resolution_table
->types
[COLOR_nitc__POSetGroupColorer___35dH
];
3845 cltype
= type_struct
->color
;
3846 idtype
= type_struct
->id
;
3847 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
3850 var1
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
3852 if (unlikely(!var1
)) {
3853 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
3854 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "H", var_class_name
);
3855 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 397);
3861 var2
= nitc___nitc__POSetGroupColorer___poset(self
);
3864 var3
= poset___poset__POSet____91d_93d(var2
, var_h
);
3867 var4
= poset___poset__POSetElement___direct_greaters(var3
);
3871 var5
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Collection[Object]>*/
3876 var7
= ((short int(*)(val
* self
))((((long)var_6
&3)?class_info
[((long)var_6
&3)]:var_6
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_6
); /* is_ok on <var_6:Iterator[Object]>*/
3883 var8
= ((val
*(*)(val
* self
))((((long)var_6
&3)?class_info
[((long)var_6
&3)]:var_6
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_6
); /* item on <var_6:Iterator[Object]>*/
3887 { /* Inline coloring#POSetGroupColorer#min_colors (self) on <self:POSetGroupColorer[Object, Object]> */
3888 var11
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___min_colors
].val
; /* _min_colors on <self:POSetGroupColorer[Object, Object]> */
3889 if (unlikely(var11
== NULL
)) {
3890 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _min_colors");
3891 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 409);
3895 RET_LABEL10
:(void)0;
3899 var12
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var9
, var_p
);
3901 var13
= (long)(var12
)>>2;
3904 { /* Inline kernel#Int#> (var_m,var_res) on <var_m:Int> */
3905 /* Covariant cast for argument 0 (i) <var_res:Int> isa OTHER */
3906 /* <var_res:Int> isa OTHER */
3907 var16
= 1; /* easy <var_res:Int> isa OTHER*/
3908 if (unlikely(!var16
)) {
3909 var_class_name19
= type_core__Int
.name
;
3910 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name19
);
3911 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
3914 var20
= var_m
> var_res
;
3917 RET_LABEL15
:(void)0;
3925 ((void(*)(val
* self
))((((long)var_6
&3)?class_info
[((long)var_6
&3)]:var_6
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_6
); /* next on <var_6:Iterator[Object]>*/
3928 BREAK_label
: (void)0;
3930 ((void(*)(val
* self
))((((long)var_6
&3)?class_info
[((long)var_6
&3)]:var_6
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_6
); /* finish on <var_6:Iterator[Object]>*/
3933 { /* Inline coloring#POSetGroupColorer#min_colors (self) on <self:POSetGroupColorer[Object, Object]> */
3934 var23
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___min_colors
].val
; /* _min_colors on <self:POSetGroupColorer[Object, Object]> */
3935 if (unlikely(var23
== NULL
)) {
3936 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _min_colors");
3937 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 409);
3941 RET_LABEL22
:(void)0;
3945 var24
= (val
*)(var_res
<<2|1);
3946 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var21
, var_h
, var24
); /* Direct call hash_collection#HashMap#[]= on <var21:HashMap[Object, Int]>*/
3953 /* method coloring#POSetGroupColorer#min_colors for (self: POSetGroupColorer[Object, Object]): HashMap[Object, Int] */
3954 val
* nitc___nitc__POSetGroupColorer___min_colors(val
* self
) {
3955 val
* var
/* : HashMap[Object, Int] */;
3956 val
* var1
/* : HashMap[Object, Int] */;
3957 var1
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___min_colors
].val
; /* _min_colors on <self:POSetGroupColorer[Object, Object]> */
3958 if (unlikely(var1
== NULL
)) {
3959 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _min_colors");
3960 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 409);
3967 /* method coloring#POSetGroupColorer#next_free_color for (self: POSetGroupColorer[Object, Object], Int, Collection[Object]): Int */
3968 long nitc___nitc__POSetGroupColorer___next_free_color(val
* self
, long p0
, val
* p1
) {
3969 long var
/* : Int */;
3970 short int var1
/* : Bool */;
3973 const struct type
* type_struct
;
3974 const char* var_class_name
;
3975 long var_color
/* var color: Int */;
3976 val
* var_set
/* var set: Collection[Object] */;
3977 val
* var_
/* var : Collection[Object] */;
3978 val
* var2
/* : Iterator[nullable Object] */;
3979 val
* var_3
/* var : Iterator[Object] */;
3980 short int var4
/* : Bool */;
3981 val
* var5
/* : nullable Object */;
3982 val
* var_h
/* var h: Object */;
3983 val
* var6
/* : HashMap[Object, HashSet[Int]] */;
3984 val
* var8
/* : HashMap[Object, HashSet[Int]] */;
3985 val
* var9
/* : nullable Object */;
3986 short int var10
/* : Bool */;
3987 val
* var11
/* : nullable Object */;
3988 long var12
/* : Int */;
3989 short int var14
/* : Bool */;
3992 const char* var_class_name17
;
3993 long var18
/* : Int */;
3994 /* Covariant cast for argument 1 (set) <p1:Collection[Object]> isa Collection[H] */
3995 /* <p1:Collection[Object]> isa Collection[H] */
3996 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__Collection__nitc__POSetGroupColorer___35dH
];
3997 cltype
= type_struct
->color
;
3998 idtype
= type_struct
->id
;
3999 if(cltype
>= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->table_size
) {
4002 var1
= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->type_table
[cltype
] == idtype
;
4004 if (unlikely(!var1
)) {
4005 var_class_name
= p1
== NULL ?
"null" : (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->name
;
4006 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[H]", var_class_name
);
4007 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 416);
4015 var2
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Collection[Object]>*/
4020 var4
= ((short int(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_3
); /* is_ok on <var_3:Iterator[Object]>*/
4027 var5
= ((val
*(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_3
); /* item on <var_3:Iterator[Object]>*/
4031 { /* Inline coloring#POSetGroupColorer#used_colors (self) on <self:POSetGroupColorer[Object, Object]> */
4032 var8
= self
->attrs
[COLOR_nitc__coloring__POSetGroupColorer___used_colors
].val
; /* _used_colors on <self:POSetGroupColorer[Object, Object]> */
4033 if (unlikely(var8
== NULL
)) {
4034 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _used_colors");
4035 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 314);
4043 var9
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var6
, var_h
);
4046 var11
= (val
*)(var_color
<<2|1);
4047 var10
= core___core__HashSet___core__abstract_collection__Collection__has(var9
, var11
);
4051 { /* Inline kernel#Int#+ (var_color,1l) on <var_color:Int> */
4052 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
4053 /* <1l:Int> isa OTHER */
4054 var14
= 1; /* easy <1l:Int> isa OTHER*/
4055 if (unlikely(!var14
)) {
4056 var_class_name17
= type_core__Int
.name
;
4057 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17
);
4058 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
4061 var18
= var_color
+ 1l;
4064 RET_LABEL13
:(void)0;
4072 ((void(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_3
); /* next on <var_3:Iterator[Object]>*/
4075 BREAK_label
: (void)0;
4077 ((void(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_3
); /* finish on <var_3:Iterator[Object]>*/
4088 /* method coloring#POSetGroupColorer#init for (self: POSetGroupColorer[Object, Object]) */
4089 void nitc___nitc__POSetGroupColorer___core__kernel__Object__init(val
* self
) {
4091 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc___nitc__POSetGroupColorer___core__kernel__Object__init
]))(self
); /* init on <self:POSetGroupColorer[Object, Object]>*/
4095 /* method coloring#BucketsColorer#colors for (self: BucketsColorer[Object, Object]): HashMap[Object, Int] */
4096 val
* nitc___nitc__BucketsColorer___colors(val
* self
) {
4097 val
* var
/* : HashMap[Object, Int] */;
4098 val
* var1
/* : HashMap[Object, Int] */;
4099 var1
= self
->attrs
[COLOR_nitc__coloring__BucketsColorer___colors
].val
; /* _colors on <self:BucketsColorer[Object, Object]> */
4100 if (unlikely(var1
== NULL
)) {
4101 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors");
4102 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 458);
4109 /* method coloring#BucketsColorer#conflicts for (self: BucketsColorer[Object, Object]): HashMap[Object, Set[Object]] */
4110 val
* nitc___nitc__BucketsColorer___conflicts(val
* self
) {
4111 val
* var
/* : HashMap[Object, Set[Object]] */;
4112 val
* var1
/* : HashMap[Object, Set[Object]] */;
4113 var1
= self
->attrs
[COLOR_nitc__coloring__BucketsColorer___conflicts
].val
; /* _conflicts on <self:BucketsColorer[Object, Object]> */
4114 if (unlikely(var1
== NULL
)) {
4115 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conflicts");
4116 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 459);
4123 /* method coloring#BucketsColorer#colorize for (self: BucketsColorer[Object, Object], Map[Object, Set[Object]]): Map[Object, Int] */
4124 val
* nitc___nitc__BucketsColorer___colorize(val
* self
, val
* p0
) {
4125 val
* var
/* : Map[Object, Int] */;
4126 short int var1
/* : Bool */;
4129 const struct type
* type_struct
;
4130 const char* var_class_name
;
4131 val
* var_buckets
/* var buckets: Map[Object, Set[Object]] */;
4132 long var_min_color
/* var min_color: Int */;
4133 val
* var_
/* var : Map[Object, Set[Object]] */;
4134 val
* var2
/* : MapIterator[nullable Object, nullable Object] */;
4135 val
* var_3
/* var : MapIterator[Object, Set[Object]] */;
4136 short int var4
/* : Bool */;
4137 val
* var5
/* : nullable Object */;
4138 val
* var_holder
/* var holder: Object */;
4139 val
* var6
/* : nullable Object */;
4140 val
* var_hbuckets
/* var hbuckets: Set[Object] */;
4141 val
* var_7
/* var : Set[Object] */;
4142 val
* var8
/* : Iterator[nullable Object] */;
4143 val
* var_9
/* var : Iterator[Object] */;
4144 short int var10
/* : Bool */;
4145 val
* var12
/* : nullable Object */;
4146 val
* var_bucket
/* var bucket: Object */;
4147 val
* var13
/* : HashMap[Object, Int] */;
4148 val
* var15
/* : HashMap[Object, Int] */;
4149 short int var16
/* : Bool */;
4150 long var_color
/* var color: Int */;
4151 short int var18
/* : Bool */;
4152 short int var19
/* : Bool */;
4153 long var20
/* : Int */;
4154 short int var22
/* : Bool */;
4157 const char* var_class_name25
;
4158 long var26
/* : Int */;
4159 val
* var28
/* : HashMap[Object, Int] */;
4160 val
* var30
/* : HashMap[Object, Int] */;
4161 val
* var31
/* : nullable Object */;
4162 val
* var33
/* : HashMap[Object, Int] */;
4163 val
* var35
/* : HashMap[Object, Int] */;
4164 /* Covariant cast for argument 0 (buckets) <p0:Map[Object, Set[Object]]> isa Map[H, Set[E]] */
4165 /* <p0:Map[Object, Set[Object]]> isa Map[H, Set[E]] */
4166 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__Map__nitc__BucketsColorer___35dH__core__Set__nitc__BucketsColorer___35dE
];
4167 cltype
= type_struct
->color
;
4168 idtype
= type_struct
->id
;
4169 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
4172 var1
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
4174 if (unlikely(!var1
)) {
4175 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
4176 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[H, Set[E]]", var_class_name
);
4177 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 461);
4182 nitc___nitc__BucketsColorer___compute_conflicts(self
, var_buckets
); /* Direct call coloring#BucketsColorer#compute_conflicts on <self:BucketsColorer[Object, Object]>*/
4187 var2
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__MapRead__iterator
]))(var_
); /* iterator on <var_:Map[Object, Set[Object]]>*/
4192 var4
= ((short int(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__MapIterator__is_ok
]))(var_3
); /* is_ok on <var_3:MapIterator[Object, Set[Object]]>*/
4199 var5
= ((val
*(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__MapIterator__key
]))(var_3
); /* key on <var_3:MapIterator[Object, Set[Object]]>*/
4203 var6
= ((val
*(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__MapIterator__item
]))(var_3
); /* item on <var_3:MapIterator[Object, Set[Object]]>*/
4205 var_hbuckets
= var6
;
4206 var_7
= var_hbuckets
;
4208 var8
= ((val
*(*)(val
* self
))((((long)var_7
&3)?class_info
[((long)var_7
&3)]:var_7
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_7
); /* iterator on <var_7:Set[Object]>*/
4213 var10
= ((short int(*)(val
* self
))((((long)var_9
&3)?class_info
[((long)var_9
&3)]:var_9
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_9
); /* is_ok on <var_9:Iterator[Object]>*/
4220 var12
= ((val
*(*)(val
* self
))((((long)var_9
&3)?class_info
[((long)var_9
&3)]:var_9
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_9
); /* item on <var_9:Iterator[Object]>*/
4224 { /* Inline coloring#BucketsColorer#colors (self) on <self:BucketsColorer[Object, Object]> */
4225 var15
= self
->attrs
[COLOR_nitc__coloring__BucketsColorer___colors
].val
; /* _colors on <self:BucketsColorer[Object, Object]> */
4226 if (unlikely(var15
== NULL
)) {
4227 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors");
4228 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 458);
4232 RET_LABEL14
:(void)0;
4236 var16
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var13
, var_bucket
);
4242 var_color
= var_min_color
;
4245 var18
= nitc___nitc__BucketsColorer___is_color_free(self
, var_bucket
, var_color
);
4250 { /* Inline kernel#Int#+ (var_color,1l) on <var_color:Int> */
4251 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
4252 /* <1l:Int> isa OTHER */
4253 var22
= 1; /* easy <1l:Int> isa OTHER*/
4254 if (unlikely(!var22
)) {
4255 var_class_name25
= type_core__Int
.name
;
4256 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25
);
4257 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
4260 var26
= var_color
+ 1l;
4263 RET_LABEL21
:(void)0;
4271 BREAK_label27
: (void)0;
4273 { /* Inline coloring#BucketsColorer#colors (self) on <self:BucketsColorer[Object, Object]> */
4274 var30
= self
->attrs
[COLOR_nitc__coloring__BucketsColorer___colors
].val
; /* _colors on <self:BucketsColorer[Object, Object]> */
4275 if (unlikely(var30
== NULL
)) {
4276 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors");
4277 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 458);
4281 RET_LABEL29
:(void)0;
4285 var31
= (val
*)(var_color
<<2|1);
4286 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var28
, var_bucket
, var31
); /* Direct call hash_collection#HashMap#[]= on <var28:HashMap[Object, Int]>*/
4288 var_color
= var_min_color
;
4289 BREAK_label17
: (void)0;
4291 ((void(*)(val
* self
))((((long)var_9
&3)?class_info
[((long)var_9
&3)]:var_9
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_9
); /* next on <var_9:Iterator[Object]>*/
4294 BREAK_label11
: (void)0;
4296 ((void(*)(val
* self
))((((long)var_9
&3)?class_info
[((long)var_9
&3)]:var_9
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_9
); /* finish on <var_9:Iterator[Object]>*/
4299 ((void(*)(val
* self
))((((long)var_3
&3)?class_info
[((long)var_3
&3)]:var_3
->class)->vft
[COLOR_core__abstract_collection__MapIterator__next
]))(var_3
); /* next on <var_3:MapIterator[Object, Set[Object]]>*/
4302 BREAK_label
: (void)0;
4304 { /* Inline abstract_collection#MapIterator#finish (var_3) on <var_3:MapIterator[Object, Set[Object]]> */
4305 RET_LABEL32
:(void)0;
4309 { /* Inline coloring#BucketsColorer#colors (self) on <self:BucketsColorer[Object, Object]> */
4310 var35
= self
->attrs
[COLOR_nitc__coloring__BucketsColorer___colors
].val
; /* _colors on <self:BucketsColorer[Object, Object]> */
4311 if (unlikely(var35
== NULL
)) {
4312 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors");
4313 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 458);
4317 RET_LABEL34
:(void)0;
4325 /* method coloring#BucketsColorer#is_color_free for (self: BucketsColorer[Object, Object], Object, Int): Bool */
4326 short int nitc___nitc__BucketsColorer___is_color_free(val
* self
, val
* p0
, long p1
) {
4327 short int var
/* : Bool */;
4328 short int var1
/* : Bool */;
4331 const struct type
* type_struct
;
4332 const char* var_class_name
;
4333 val
* var_bucket
/* var bucket: Object */;
4334 long var_color
/* var color: Int */;
4335 val
* var2
/* : HashMap[Object, Set[Object]] */;
4336 val
* var4
/* : HashMap[Object, Set[Object]] */;
4337 short int var5
/* : Bool */;
4338 val
* var6
/* : HashMap[Object, Set[Object]] */;
4339 val
* var8
/* : HashMap[Object, Set[Object]] */;
4340 val
* var9
/* : nullable Object */;
4341 val
* var_
/* var : Set[Object] */;
4342 val
* var10
/* : Iterator[nullable Object] */;
4343 val
* var_11
/* var : Iterator[Object] */;
4344 short int var12
/* : Bool */;
4345 val
* var13
/* : nullable Object */;
4346 val
* var_other
/* var other: Object */;
4347 short int var14
/* : Bool */;
4348 val
* var15
/* : HashMap[Object, Int] */;
4349 val
* var17
/* : HashMap[Object, Int] */;
4350 short int var18
/* : Bool */;
4351 short int var_19
/* var : Bool */;
4352 val
* var20
/* : HashMap[Object, Int] */;
4353 val
* var22
/* : HashMap[Object, Int] */;
4354 val
* var23
/* : nullable Object */;
4355 short int var24
/* : Bool */;
4356 short int var26
/* : Bool */;
4357 long var27
/* : Int */;
4358 /* Covariant cast for argument 0 (bucket) <p0:Object> isa E */
4359 /* <p0:Object> isa E */
4360 type_struct
= self
->type
->resolution_table
->types
[COLOR_nitc__BucketsColorer___35dE
];
4361 cltype
= type_struct
->color
;
4362 idtype
= type_struct
->id
;
4363 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
4366 var1
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
4368 if (unlikely(!var1
)) {
4369 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
4370 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
4371 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 479);
4377 { /* Inline coloring#BucketsColorer#conflicts (self) on <self:BucketsColorer[Object, Object]> */
4378 var4
= self
->attrs
[COLOR_nitc__coloring__BucketsColorer___conflicts
].val
; /* _conflicts on <self:BucketsColorer[Object, Object]> */
4379 if (unlikely(var4
== NULL
)) {
4380 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conflicts");
4381 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 459);
4389 var5
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var2
, var_bucket
);
4393 { /* Inline coloring#BucketsColorer#conflicts (self) on <self:BucketsColorer[Object, Object]> */
4394 var8
= self
->attrs
[COLOR_nitc__coloring__BucketsColorer___conflicts
].val
; /* _conflicts on <self:BucketsColorer[Object, Object]> */
4395 if (unlikely(var8
== NULL
)) {
4396 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conflicts");
4397 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 459);
4405 var9
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var6
, var_bucket
);
4409 var10
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Set[Object]>*/
4414 var12
= ((short int(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_11
); /* is_ok on <var_11:Iterator[Object]>*/
4421 var13
= ((val
*(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_11
); /* item on <var_11:Iterator[Object]>*/
4425 { /* Inline coloring#BucketsColorer#colors (self) on <self:BucketsColorer[Object, Object]> */
4426 var17
= self
->attrs
[COLOR_nitc__coloring__BucketsColorer___colors
].val
; /* _colors on <self:BucketsColorer[Object, Object]> */
4427 if (unlikely(var17
== NULL
)) {
4428 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors");
4429 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 458);
4433 RET_LABEL16
:(void)0;
4437 var18
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var15
, var_other
);
4442 { /* Inline coloring#BucketsColorer#colors (self) on <self:BucketsColorer[Object, Object]> */
4443 var22
= self
->attrs
[COLOR_nitc__coloring__BucketsColorer___colors
].val
; /* _colors on <self:BucketsColorer[Object, Object]> */
4444 if (unlikely(var22
== NULL
)) {
4445 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors");
4446 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 458);
4450 RET_LABEL21
:(void)0;
4454 var23
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var20
, var_other
);
4457 { /* Inline kernel#Int#== (var23,var_color) on <var23:nullable Object(Int)> */
4458 var27
= (long)(var23
)>>2;
4459 var26
= var27
== var_color
;
4462 RET_LABEL25
:(void)0;
4475 ((void(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_11
); /* next on <var_11:Iterator[Object]>*/
4478 BREAK_label
: (void)0;
4480 ((void(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_11
); /* finish on <var_11:Iterator[Object]>*/
4489 /* method coloring#BucketsColorer#compute_conflicts for (self: BucketsColorer[Object, Object], Map[Object, Set[Object]]) */
4490 void nitc___nitc__BucketsColorer___compute_conflicts(val
* self
, val
* p0
) {
4491 short int var
/* : Bool */;
4494 const struct type
* type_struct
;
4495 const char* var_class_name
;
4496 val
* var_buckets
/* var buckets: Map[Object, Set[Object]] */;
4497 val
* var1
/* : HashMap[Object, Set[Object]] */;
4498 val
* var3
/* : HashMap[Object, Set[Object]] */;
4499 val
* var_
/* var : Map[Object, Set[Object]] */;
4500 val
* var4
/* : MapIterator[nullable Object, nullable Object] */;
4501 val
* var_5
/* var : MapIterator[Object, Set[Object]] */;
4502 short int var6
/* : Bool */;
4503 val
* var7
/* : nullable Object */;
4504 val
* var_holder
/* var holder: Object */;
4505 val
* var8
/* : nullable Object */;
4506 val
* var_hbuckets
/* var hbuckets: Set[Object] */;
4507 val
* var_9
/* var : Set[Object] */;
4508 val
* var10
/* : Iterator[nullable Object] */;
4509 val
* var_11
/* var : Iterator[Object] */;
4510 short int var12
/* : Bool */;
4511 val
* var14
/* : nullable Object */;
4512 val
* var_bucket
/* var bucket: Object */;
4513 val
* var15
/* : HashMap[Object, Set[Object]] */;
4514 val
* var17
/* : HashMap[Object, Set[Object]] */;
4515 short int var18
/* : Bool */;
4516 short int var19
/* : Bool */;
4517 val
* var20
/* : HashMap[Object, Set[Object]] */;
4518 val
* var22
/* : HashMap[Object, Set[Object]] */;
4519 val
* var23
/* : HashSet[Object] */;
4520 val
* var_24
/* var : Set[Object] */;
4521 val
* var25
/* : Iterator[nullable Object] */;
4522 val
* var_26
/* var : Iterator[Object] */;
4523 short int var27
/* : Bool */;
4524 val
* var29
/* : nullable Object */;
4525 val
* var_obucket
/* var obucket: Object */;
4526 short int var30
/* : Bool */;
4527 val
* var32
/* : HashMap[Object, Set[Object]] */;
4528 val
* var34
/* : HashMap[Object, Set[Object]] */;
4529 short int var35
/* : Bool */;
4530 short int var36
/* : Bool */;
4531 val
* var37
/* : HashMap[Object, Set[Object]] */;
4532 val
* var39
/* : HashMap[Object, Set[Object]] */;
4533 val
* var40
/* : HashSet[Object] */;
4534 val
* var41
/* : HashMap[Object, Set[Object]] */;
4535 val
* var43
/* : HashMap[Object, Set[Object]] */;
4536 val
* var44
/* : nullable Object */;
4537 val
* var45
/* : HashMap[Object, Set[Object]] */;
4538 val
* var47
/* : HashMap[Object, Set[Object]] */;
4539 val
* var48
/* : nullable Object */;
4540 /* Covariant cast for argument 0 (buckets) <p0:Map[Object, Set[Object]]> isa Map[H, Set[E]] */
4541 /* <p0:Map[Object, Set[Object]]> isa Map[H, Set[E]] */
4542 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__Map__nitc__BucketsColorer___35dH__core__Set__nitc__BucketsColorer___35dE
];
4543 cltype
= type_struct
->color
;
4544 idtype
= type_struct
->id
;
4545 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
4548 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
4550 if (unlikely(!var
)) {
4551 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
4552 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[H, Set[E]]", var_class_name
);
4553 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 488);
4558 { /* Inline coloring#BucketsColorer#conflicts (self) on <self:BucketsColorer[Object, Object]> */
4559 var3
= self
->attrs
[COLOR_nitc__coloring__BucketsColorer___conflicts
].val
; /* _conflicts on <self:BucketsColorer[Object, Object]> */
4560 if (unlikely(var3
== NULL
)) {
4561 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conflicts");
4562 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 459);
4570 core___core__HashMap___core__abstract_collection__Map__clear(var1
); /* Direct call hash_collection#HashMap#clear on <var1:HashMap[Object, Set[Object]]>*/
4574 var4
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__MapRead__iterator
]))(var_
); /* iterator on <var_:Map[Object, Set[Object]]>*/
4579 var6
= ((short int(*)(val
* self
))((((long)var_5
&3)?class_info
[((long)var_5
&3)]:var_5
->class)->vft
[COLOR_core__abstract_collection__MapIterator__is_ok
]))(var_5
); /* is_ok on <var_5:MapIterator[Object, Set[Object]]>*/
4586 var7
= ((val
*(*)(val
* self
))((((long)var_5
&3)?class_info
[((long)var_5
&3)]:var_5
->class)->vft
[COLOR_core__abstract_collection__MapIterator__key
]))(var_5
); /* key on <var_5:MapIterator[Object, Set[Object]]>*/
4590 var8
= ((val
*(*)(val
* self
))((((long)var_5
&3)?class_info
[((long)var_5
&3)]:var_5
->class)->vft
[COLOR_core__abstract_collection__MapIterator__item
]))(var_5
); /* item on <var_5:MapIterator[Object, Set[Object]]>*/
4592 var_hbuckets
= var8
;
4593 var_9
= var_hbuckets
;
4595 var10
= ((val
*(*)(val
* self
))((((long)var_9
&3)?class_info
[((long)var_9
&3)]:var_9
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_9
); /* iterator on <var_9:Set[Object]>*/
4600 var12
= ((short int(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_11
); /* is_ok on <var_11:Iterator[Object]>*/
4607 var14
= ((val
*(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_11
); /* item on <var_11:Iterator[Object]>*/
4611 { /* Inline coloring#BucketsColorer#conflicts (self) on <self:BucketsColorer[Object, Object]> */
4612 var17
= self
->attrs
[COLOR_nitc__coloring__BucketsColorer___conflicts
].val
; /* _conflicts on <self:BucketsColorer[Object, Object]> */
4613 if (unlikely(var17
== NULL
)) {
4614 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conflicts");
4615 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 459);
4619 RET_LABEL16
:(void)0;
4623 var18
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var15
, var_bucket
);
4628 { /* Inline coloring#BucketsColorer#conflicts (self) on <self:BucketsColorer[Object, Object]> */
4629 var22
= self
->attrs
[COLOR_nitc__coloring__BucketsColorer___conflicts
].val
; /* _conflicts on <self:BucketsColorer[Object, Object]> */
4630 if (unlikely(var22
== NULL
)) {
4631 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conflicts");
4632 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 459);
4636 RET_LABEL21
:(void)0;
4639 var23
= NEW_core__HashSet(self
->type
->resolution_table
->types
[COLOR_core__HashSet__nitc__BucketsColorer___35dE
]);
4641 core___core__HashSet___core__kernel__Object__init(var23
); /* Direct call hash_collection#HashSet#init on <var23:HashSet[Object]>*/
4644 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var20
, var_bucket
, var23
); /* Direct call hash_collection#HashMap#[]= on <var20:HashMap[Object, Set[Object]]>*/
4648 var_24
= var_hbuckets
;
4650 var25
= ((val
*(*)(val
* self
))((((long)var_24
&3)?class_info
[((long)var_24
&3)]:var_24
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_24
); /* iterator on <var_24:Set[Object]>*/
4655 var27
= ((short int(*)(val
* self
))((((long)var_26
&3)?class_info
[((long)var_26
&3)]:var_26
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_26
); /* is_ok on <var_26:Iterator[Object]>*/
4662 var29
= ((val
*(*)(val
* self
))((((long)var_26
&3)?class_info
[((long)var_26
&3)]:var_26
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_26
); /* item on <var_26:Iterator[Object]>*/
4664 var_obucket
= var29
;
4666 var30
= ((short int(*)(val
* self
, val
* p0
))((((long)var_obucket
&3)?class_info
[((long)var_obucket
&3)]:var_obucket
->class)->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_obucket
, var_bucket
); /* == on <var_obucket:Object>*/
4673 { /* Inline coloring#BucketsColorer#conflicts (self) on <self:BucketsColorer[Object, Object]> */
4674 var34
= self
->attrs
[COLOR_nitc__coloring__BucketsColorer___conflicts
].val
; /* _conflicts on <self:BucketsColorer[Object, Object]> */
4675 if (unlikely(var34
== NULL
)) {
4676 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conflicts");
4677 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 459);
4681 RET_LABEL33
:(void)0;
4685 var35
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var32
, var_obucket
);
4690 { /* Inline coloring#BucketsColorer#conflicts (self) on <self:BucketsColorer[Object, Object]> */
4691 var39
= self
->attrs
[COLOR_nitc__coloring__BucketsColorer___conflicts
].val
; /* _conflicts on <self:BucketsColorer[Object, Object]> */
4692 if (unlikely(var39
== NULL
)) {
4693 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conflicts");
4694 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 459);
4698 RET_LABEL38
:(void)0;
4701 var40
= NEW_core__HashSet(self
->type
->resolution_table
->types
[COLOR_core__HashSet__nitc__BucketsColorer___35dE
]);
4703 core___core__HashSet___core__kernel__Object__init(var40
); /* Direct call hash_collection#HashSet#init on <var40:HashSet[Object]>*/
4706 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var37
, var_obucket
, var40
); /* Direct call hash_collection#HashMap#[]= on <var37:HashMap[Object, Set[Object]]>*/
4711 { /* Inline coloring#BucketsColorer#conflicts (self) on <self:BucketsColorer[Object, Object]> */
4712 var43
= self
->attrs
[COLOR_nitc__coloring__BucketsColorer___conflicts
].val
; /* _conflicts on <self:BucketsColorer[Object, Object]> */
4713 if (unlikely(var43
== NULL
)) {
4714 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conflicts");
4715 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 459);
4719 RET_LABEL42
:(void)0;
4723 var44
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var41
, var_bucket
);
4726 ((void(*)(val
* self
, val
* p0
))((((long)var44
&3)?class_info
[((long)var44
&3)]:var44
->class)->vft
[COLOR_core__abstract_collection__SimpleCollection__add
]))(var44
, var_obucket
); /* add on <var44:nullable Object(Set[Object])>*/
4729 { /* Inline coloring#BucketsColorer#conflicts (self) on <self:BucketsColorer[Object, Object]> */
4730 var47
= self
->attrs
[COLOR_nitc__coloring__BucketsColorer___conflicts
].val
; /* _conflicts on <self:BucketsColorer[Object, Object]> */
4731 if (unlikely(var47
== NULL
)) {
4732 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conflicts");
4733 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 459);
4737 RET_LABEL46
:(void)0;
4741 var48
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var45
, var_obucket
);
4744 ((void(*)(val
* self
, val
* p0
))((((long)var48
&3)?class_info
[((long)var48
&3)]:var48
->class)->vft
[COLOR_core__abstract_collection__SimpleCollection__add
]))(var48
, var_bucket
); /* add on <var48:nullable Object(Set[Object])>*/
4746 BREAK_label31
: (void)0;
4748 ((void(*)(val
* self
))((((long)var_26
&3)?class_info
[((long)var_26
&3)]:var_26
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_26
); /* next on <var_26:Iterator[Object]>*/
4751 BREAK_label28
: (void)0;
4753 ((void(*)(val
* self
))((((long)var_26
&3)?class_info
[((long)var_26
&3)]:var_26
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_26
); /* finish on <var_26:Iterator[Object]>*/
4756 ((void(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_11
); /* next on <var_11:Iterator[Object]>*/
4759 BREAK_label13
: (void)0;
4761 ((void(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_11
); /* finish on <var_11:Iterator[Object]>*/
4764 ((void(*)(val
* self
))((((long)var_5
&3)?class_info
[((long)var_5
&3)]:var_5
->class)->vft
[COLOR_core__abstract_collection__MapIterator__next
]))(var_5
); /* next on <var_5:MapIterator[Object, Set[Object]]>*/
4767 BREAK_label
: (void)0;
4769 { /* Inline abstract_collection#MapIterator#finish (var_5) on <var_5:MapIterator[Object, Set[Object]]> */
4770 RET_LABEL49
:(void)0;
4775 /* method coloring#POSetBucketsColorer#colors for (self: POSetBucketsColorer[Object, Object]): HashMap[Object, Int] */
4776 val
* nitc___nitc__POSetBucketsColorer___colors(val
* self
) {
4777 val
* var
/* : HashMap[Object, Int] */;
4778 val
* var1
/* : HashMap[Object, Int] */;
4779 var1
= self
->attrs
[COLOR_nitc__coloring__POSetBucketsColorer___colors
].val
; /* _colors on <self:POSetBucketsColorer[Object, Object]> */
4780 if (unlikely(var1
== NULL
)) {
4781 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors");
4782 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 509);
4789 /* method coloring#POSetBucketsColorer#poset for (self: POSetBucketsColorer[Object, Object]): POSet[Object] */
4790 val
* nitc___nitc__POSetBucketsColorer___poset(val
* self
) {
4791 val
* var
/* : POSet[Object] */;
4792 val
* var1
/* : POSet[Object] */;
4793 var1
= self
->attrs
[COLOR_nitc__coloring__POSetBucketsColorer___poset
].val
; /* _poset on <self:POSetBucketsColorer[Object, Object]> */
4794 if (unlikely(var1
== NULL
)) {
4795 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _poset");
4796 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 510);
4803 /* method coloring#POSetBucketsColorer#poset= for (self: POSetBucketsColorer[Object, Object], POSet[Object]) */
4804 void nitc___nitc__POSetBucketsColorer___poset_61d(val
* self
, val
* p0
) {
4805 short int var
/* : Bool */;
4808 const struct type
* type_struct
;
4809 const char* var_class_name
;
4810 /* Covariant cast for argument 0 (poset) <p0:POSet[Object]> isa POSet[H] */
4811 /* <p0:POSet[Object]> isa POSet[H] */
4812 type_struct
= self
->type
->resolution_table
->types
[COLOR_poset__POSet__nitc__POSetBucketsColorer___35dH
];
4813 cltype
= type_struct
->color
;
4814 idtype
= type_struct
->id
;
4815 if(cltype
>= p0
->type
->table_size
) {
4818 var
= p0
->type
->type_table
[cltype
] == idtype
;
4820 if (unlikely(!var
)) {
4821 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
4822 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "POSet[H]", var_class_name
);
4823 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 510);
4826 self
->attrs
[COLOR_nitc__coloring__POSetBucketsColorer___poset
].val
= p0
; /* _poset on <self:POSetBucketsColorer[Object, Object]> */
4829 /* method coloring#POSetBucketsColorer#conflicts for (self: POSetBucketsColorer[Object, Object]): Map[Object, Set[Object]] */
4830 val
* nitc___nitc__POSetBucketsColorer___conflicts(val
* self
) {
4831 val
* var
/* : Map[Object, Set[Object]] */;
4832 val
* var1
/* : Map[Object, Set[Object]] */;
4833 var1
= self
->attrs
[COLOR_nitc__coloring__POSetBucketsColorer___conflicts
].val
; /* _conflicts on <self:POSetBucketsColorer[Object, Object]> */
4834 if (unlikely(var1
== NULL
)) {
4835 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conflicts");
4836 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 511);
4843 /* method coloring#POSetBucketsColorer#conflicts= for (self: POSetBucketsColorer[Object, Object], Map[Object, Set[Object]]) */
4844 void nitc___nitc__POSetBucketsColorer___conflicts_61d(val
* self
, val
* p0
) {
4845 short int var
/* : Bool */;
4848 const struct type
* type_struct
;
4849 const char* var_class_name
;
4850 /* Covariant cast for argument 0 (conflicts) <p0:Map[Object, Set[Object]]> isa Map[H, Set[H]] */
4851 /* <p0:Map[Object, Set[Object]]> isa Map[H, Set[H]] */
4852 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__Map__nitc__POSetBucketsColorer___35dH__core__Set__nitc__POSetBucketsColorer___35dH
];
4853 cltype
= type_struct
->color
;
4854 idtype
= type_struct
->id
;
4855 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
4858 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
4860 if (unlikely(!var
)) {
4861 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
4862 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[H, Set[H]]", var_class_name
);
4863 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 511);
4866 self
->attrs
[COLOR_nitc__coloring__POSetBucketsColorer___conflicts
].val
= p0
; /* _conflicts on <self:POSetBucketsColorer[Object, Object]> */
4869 /* method coloring#POSetBucketsColorer#colorize for (self: POSetBucketsColorer[Object, Object], Map[Object, Set[Object]]): Map[Object, Int] */
4870 val
* nitc___nitc__POSetBucketsColorer___colorize(val
* self
, val
* p0
) {
4871 val
* var
/* : Map[Object, Int] */;
4872 short int var1
/* : Bool */;
4875 const struct type
* type_struct
;
4876 const char* var_class_name
;
4877 val
* var_buckets
/* var buckets: Map[Object, Set[Object]] */;
4878 val
* var2
/* : HashMap[Object, Int] */;
4879 val
* var4
/* : HashMap[Object, Int] */;
4880 val
* var5
/* : POSet[Object] */;
4881 val
* var7
/* : POSet[Object] */;
4882 val
* var8
/* : Collection[nullable Object] */;
4883 val
* var9
/* : Array[nullable Object] */;
4884 val
* var_
/* var : Array[Object] */;
4885 val
* var10
/* : IndexedIterator[nullable Object] */;
4886 val
* var_11
/* var : IndexedIterator[Object] */;
4887 short int var12
/* : Bool */;
4888 val
* var13
/* : nullable Object */;
4889 val
* var_h
/* var h: Object */;
4890 val
* var14
/* : POSet[Object] */;
4891 val
* var16
/* : POSet[Object] */;
4892 val
* var17
/* : POSetElement[nullable Object] */;
4893 val
* var18
/* : Collection[nullable Object] */;
4894 long var19
/* : Int */;
4895 long var_color
/* var color: Int */;
4896 val
* var20
/* : nullable Object */;
4897 val
* var_21
/* var : Set[Object] */;
4898 val
* var22
/* : Iterator[nullable Object] */;
4899 val
* var_23
/* var : Iterator[Object] */;
4900 short int var24
/* : Bool */;
4901 val
* var26
/* : nullable Object */;
4902 val
* var_bucket
/* var bucket: Object */;
4903 val
* var27
/* : HashMap[Object, Int] */;
4904 val
* var29
/* : HashMap[Object, Int] */;
4905 short int var30
/* : Bool */;
4906 short int var32
/* : Bool */;
4907 short int var33
/* : Bool */;
4908 long var34
/* : Int */;
4909 short int var36
/* : Bool */;
4912 const char* var_class_name39
;
4913 long var40
/* : Int */;
4914 val
* var42
/* : HashMap[Object, Int] */;
4915 val
* var44
/* : HashMap[Object, Int] */;
4916 val
* var45
/* : nullable Object */;
4917 long var46
/* : Int */;
4918 short int var48
/* : Bool */;
4921 const char* var_class_name51
;
4922 long var52
/* : Int */;
4923 val
* var53
/* : HashMap[Object, Int] */;
4924 val
* var55
/* : HashMap[Object, Int] */;
4925 /* Covariant cast for argument 0 (buckets) <p0:Map[Object, Set[Object]]> isa Map[H, Set[E]] */
4926 /* <p0:Map[Object, Set[Object]]> isa Map[H, Set[E]] */
4927 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__Map__nitc__POSetBucketsColorer___35dH__core__Set__nitc__POSetBucketsColorer___35dE
];
4928 cltype
= type_struct
->color
;
4929 idtype
= type_struct
->id
;
4930 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
4933 var1
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
4935 if (unlikely(!var1
)) {
4936 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
4937 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[H, Set[E]]", var_class_name
);
4938 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 513);
4943 { /* Inline coloring#POSetBucketsColorer#colors (self) on <self:POSetBucketsColorer[Object, Object]> */
4944 var4
= self
->attrs
[COLOR_nitc__coloring__POSetBucketsColorer___colors
].val
; /* _colors on <self:POSetBucketsColorer[Object, Object]> */
4945 if (unlikely(var4
== NULL
)) {
4946 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors");
4947 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 509);
4955 core___core__HashMap___core__abstract_collection__Map__clear(var2
); /* Direct call hash_collection#HashMap#clear on <var2:HashMap[Object, Int]>*/
4958 { /* Inline coloring#POSetBucketsColorer#poset (self) on <self:POSetBucketsColorer[Object, Object]> */
4959 var7
= self
->attrs
[COLOR_nitc__coloring__POSetBucketsColorer___poset
].val
; /* _poset on <self:POSetBucketsColorer[Object, Object]> */
4960 if (unlikely(var7
== NULL
)) {
4961 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _poset");
4962 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 510);
4970 var8
= ((val
*(*)(val
* self
))((((long)var_buckets
&3)?class_info
[((long)var_buckets
&3)]:var_buckets
->class)->vft
[COLOR_core__abstract_collection__MapRead__keys
]))(var_buckets
); /* keys on <var_buckets:Map[Object, Set[Object]]>*/
4973 var9
= poset___poset__POSet___linearize(var5
, var8
);
4977 var10
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
4982 var12
= ((short int(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_11
); /* is_ok on <var_11:IndexedIterator[Object]>*/
4989 var13
= ((val
*(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_11
); /* item on <var_11:IndexedIterator[Object]>*/
4993 { /* Inline coloring#POSetBucketsColorer#poset (self) on <self:POSetBucketsColorer[Object, Object]> */
4994 var16
= self
->attrs
[COLOR_nitc__coloring__POSetBucketsColorer___poset
].val
; /* _poset on <self:POSetBucketsColorer[Object, Object]> */
4995 if (unlikely(var16
== NULL
)) {
4996 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _poset");
4997 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 510);
5001 RET_LABEL15
:(void)0;
5005 var17
= poset___poset__POSet____91d_93d(var14
, var_h
);
5008 var18
= poset___poset__POSetElement___direct_greaters(var17
);
5011 var19
= nitc___nitc__POSetBucketsColorer___min_color(self
, var18
, var_buckets
);
5015 var20
= ((val
*(*)(val
* self
, val
* p0
))((((long)var_buckets
&3)?class_info
[((long)var_buckets
&3)]:var_buckets
->class)->vft
[COLOR_core__abstract_collection__MapRead___91d_93d
]))(var_buckets
, var_h
); /* [] on <var_buckets:Map[Object, Set[Object]]>*/
5019 var22
= ((val
*(*)(val
* self
))((((long)var_21
&3)?class_info
[((long)var_21
&3)]:var_21
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_21
); /* iterator on <var_21:Set[Object]>*/
5024 var24
= ((short int(*)(val
* self
))((((long)var_23
&3)?class_info
[((long)var_23
&3)]:var_23
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_23
); /* is_ok on <var_23:Iterator[Object]>*/
5031 var26
= ((val
*(*)(val
* self
))((((long)var_23
&3)?class_info
[((long)var_23
&3)]:var_23
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_23
); /* item on <var_23:Iterator[Object]>*/
5035 { /* Inline coloring#POSetBucketsColorer#colors (self) on <self:POSetBucketsColorer[Object, Object]> */
5036 var29
= self
->attrs
[COLOR_nitc__coloring__POSetBucketsColorer___colors
].val
; /* _colors on <self:POSetBucketsColorer[Object, Object]> */
5037 if (unlikely(var29
== NULL
)) {
5038 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors");
5039 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 509);
5043 RET_LABEL28
:(void)0;
5047 var30
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var27
, var_bucket
);
5055 var32
= nitc___nitc__POSetBucketsColorer___is_color_free(self
, var_color
, var_h
, var_buckets
);
5060 { /* Inline kernel#Int#+ (var_color,1l) on <var_color:Int> */
5061 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
5062 /* <1l:Int> isa OTHER */
5063 var36
= 1; /* easy <1l:Int> isa OTHER*/
5064 if (unlikely(!var36
)) {
5065 var_class_name39
= type_core__Int
.name
;
5066 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39
);
5067 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
5070 var40
= var_color
+ 1l;
5073 RET_LABEL35
:(void)0;
5081 BREAK_label41
: (void)0;
5083 { /* Inline coloring#POSetBucketsColorer#colors (self) on <self:POSetBucketsColorer[Object, Object]> */
5084 var44
= self
->attrs
[COLOR_nitc__coloring__POSetBucketsColorer___colors
].val
; /* _colors on <self:POSetBucketsColorer[Object, Object]> */
5085 if (unlikely(var44
== NULL
)) {
5086 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors");
5087 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 509);
5091 RET_LABEL43
:(void)0;
5095 var45
= (val
*)(var_color
<<2|1);
5096 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var42
, var_bucket
, var45
); /* Direct call hash_collection#HashMap#[]= on <var42:HashMap[Object, Int]>*/
5099 { /* Inline kernel#Int#+ (var_color,1l) on <var_color:Int> */
5100 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
5101 /* <1l:Int> isa OTHER */
5102 var48
= 1; /* easy <1l:Int> isa OTHER*/
5103 if (unlikely(!var48
)) {
5104 var_class_name51
= type_core__Int
.name
;
5105 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name51
);
5106 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
5109 var52
= var_color
+ 1l;
5112 RET_LABEL47
:(void)0;
5116 BREAK_label31
: (void)0;
5118 ((void(*)(val
* self
))((((long)var_23
&3)?class_info
[((long)var_23
&3)]:var_23
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_23
); /* next on <var_23:Iterator[Object]>*/
5121 BREAK_label25
: (void)0;
5123 ((void(*)(val
* self
))((((long)var_23
&3)?class_info
[((long)var_23
&3)]:var_23
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_23
); /* finish on <var_23:Iterator[Object]>*/
5126 ((void(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_11
); /* next on <var_11:IndexedIterator[Object]>*/
5129 BREAK_label
: (void)0;
5131 ((void(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_11
); /* finish on <var_11:IndexedIterator[Object]>*/
5134 { /* Inline coloring#POSetBucketsColorer#colors (self) on <self:POSetBucketsColorer[Object, Object]> */
5135 var55
= self
->attrs
[COLOR_nitc__coloring__POSetBucketsColorer___colors
].val
; /* _colors on <self:POSetBucketsColorer[Object, Object]> */
5136 if (unlikely(var55
== NULL
)) {
5137 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors");
5138 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 509);
5142 RET_LABEL54
:(void)0;
5150 /* method coloring#POSetBucketsColorer#min_color for (self: POSetBucketsColorer[Object, Object], Collection[Object], Map[Object, Set[Object]]): Int */
5151 long nitc___nitc__POSetBucketsColorer___min_color(val
* self
, val
* p0
, val
* p1
) {
5152 long var
/* : Int */;
5153 short int var1
/* : Bool */;
5156 const struct type
* type_struct
;
5157 const char* var_class_name
;
5158 short int var2
/* : Bool */;
5161 const struct type
* type_struct5
;
5162 const char* var_class_name6
;
5163 val
* var_others
/* var others: Collection[Object] */;
5164 val
* var_buckets
/* var buckets: Map[Object, Set[Object]] */;
5165 long var7
/* : Int */;
5166 long var9
/* : Int */;
5167 long var_min
/* var min: Int */;
5168 val
* var_
/* var : Collection[Object] */;
5169 val
* var10
/* : Iterator[nullable Object] */;
5170 val
* var_11
/* var : Iterator[Object] */;
5171 short int var12
/* : Bool */;
5172 val
* var13
/* : nullable Object */;
5173 val
* var_holder
/* var holder: Object */;
5174 long var14
/* : Int */;
5175 long var_color
/* var color: Int */;
5176 short int var15
/* : Bool */;
5177 short int var17
/* : Bool */;
5180 const char* var_class_name20
;
5181 short int var21
/* : Bool */;
5182 long var22
/* : Int */;
5183 short int var24
/* : Bool */;
5186 const char* var_class_name27
;
5187 long var28
/* : Int */;
5188 /* Covariant cast for argument 0 (others) <p0:Collection[Object]> isa Collection[H] */
5189 /* <p0:Collection[Object]> isa Collection[H] */
5190 type_struct
= self
->type
->resolution_table
->types
[COLOR_core__Collection__nitc__POSetBucketsColorer___35dH
];
5191 cltype
= type_struct
->color
;
5192 idtype
= type_struct
->id
;
5193 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
5196 var1
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
5198 if (unlikely(!var1
)) {
5199 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
5200 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Collection[H]", var_class_name
);
5201 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 528);
5204 /* Covariant cast for argument 1 (buckets) <p1:Map[Object, Set[Object]]> isa Map[H, Set[E]] */
5205 /* <p1:Map[Object, Set[Object]]> isa Map[H, Set[E]] */
5206 type_struct5
= self
->type
->resolution_table
->types
[COLOR_core__Map__nitc__POSetBucketsColorer___35dH__core__Set__nitc__POSetBucketsColorer___35dE
];
5207 cltype3
= type_struct5
->color
;
5208 idtype4
= type_struct5
->id
;
5209 if(cltype3
>= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->table_size
) {
5212 var2
= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->type_table
[cltype3
] == idtype4
;
5214 if (unlikely(!var2
)) {
5215 var_class_name6
= p1
== NULL ?
"null" : (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->name
;
5216 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[H, Set[E]]", var_class_name6
);
5217 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 528);
5223 { /* Inline kernel#Int#unary - (1l) on <1l:Int> */
5233 var10
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Collection[Object]>*/
5238 var12
= ((short int(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_11
); /* is_ok on <var_11:Iterator[Object]>*/
5245 var13
= ((val
*(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_11
); /* item on <var_11:Iterator[Object]>*/
5249 var14
= nitc___nitc__POSetBucketsColorer___max_color(self
, var_holder
, var_buckets
);
5253 { /* Inline kernel#Int#> (var_color,var_min) on <var_color:Int> */
5254 /* Covariant cast for argument 0 (i) <var_min:Int> isa OTHER */
5255 /* <var_min:Int> isa OTHER */
5256 var17
= 1; /* easy <var_min:Int> isa OTHER*/
5257 if (unlikely(!var17
)) {
5258 var_class_name20
= type_core__Int
.name
;
5259 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20
);
5260 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
5263 var21
= var_color
> var_min
;
5266 RET_LABEL16
:(void)0;
5270 var_min
= var_color
;
5274 ((void(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_11
); /* next on <var_11:Iterator[Object]>*/
5277 BREAK_label
: (void)0;
5279 ((void(*)(val
* self
))((((long)var_11
&3)?class_info
[((long)var_11
&3)]:var_11
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_11
); /* finish on <var_11:Iterator[Object]>*/
5282 { /* Inline kernel#Int#+ (var_min,1l) on <var_min:Int> */
5283 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
5284 /* <1l:Int> isa OTHER */
5285 var24
= 1; /* easy <1l:Int> isa OTHER*/
5286 if (unlikely(!var24
)) {
5287 var_class_name27
= type_core__Int
.name
;
5288 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27
);
5289 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
5292 var28
= var_min
+ 1l;
5295 RET_LABEL23
:(void)0;
5303 /* method coloring#POSetBucketsColorer#max_color for (self: POSetBucketsColorer[Object, Object], Object, Map[Object, Set[Object]]): Int */
5304 long nitc___nitc__POSetBucketsColorer___max_color(val
* self
, val
* p0
, val
* p1
) {
5305 long var
/* : Int */;
5306 short int var1
/* : Bool */;
5309 const struct type
* type_struct
;
5310 const char* var_class_name
;
5311 short int var2
/* : Bool */;
5314 const struct type
* type_struct5
;
5315 const char* var_class_name6
;
5316 val
* var_holder
/* var holder: Object */;
5317 val
* var_buckets
/* var buckets: Map[Object, Set[Object]] */;
5318 long var7
/* : Int */;
5319 long var9
/* : Int */;
5320 long var_max
/* var max: Int */;
5321 val
* var10
/* : nullable Object */;
5322 val
* var_
/* var : Set[Object] */;
5323 val
* var11
/* : Iterator[nullable Object] */;
5324 val
* var_12
/* var : Iterator[Object] */;
5325 short int var13
/* : Bool */;
5326 val
* var14
/* : nullable Object */;
5327 val
* var_bucket
/* var bucket: Object */;
5328 val
* var15
/* : HashMap[Object, Int] */;
5329 val
* var17
/* : HashMap[Object, Int] */;
5330 short int var18
/* : Bool */;
5331 short int var19
/* : Bool */;
5332 val
* var21
/* : HashMap[Object, Int] */;
5333 val
* var23
/* : HashMap[Object, Int] */;
5334 val
* var24
/* : nullable Object */;
5335 long var25
/* : Int */;
5336 long var_color
/* var color: Int */;
5337 short int var26
/* : Bool */;
5338 short int var28
/* : Bool */;
5341 const char* var_class_name31
;
5342 short int var32
/* : Bool */;
5343 /* Covariant cast for argument 0 (holder) <p0:Object> isa H */
5344 /* <p0:Object> isa H */
5345 type_struct
= self
->type
->resolution_table
->types
[COLOR_nitc__POSetBucketsColorer___35dH
];
5346 cltype
= type_struct
->color
;
5347 idtype
= type_struct
->id
;
5348 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
5351 var1
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
5353 if (unlikely(!var1
)) {
5354 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
5355 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "H", var_class_name
);
5356 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 538);
5359 /* Covariant cast for argument 1 (buckets) <p1:Map[Object, Set[Object]]> isa Map[H, Set[E]] */
5360 /* <p1:Map[Object, Set[Object]]> isa Map[H, Set[E]] */
5361 type_struct5
= self
->type
->resolution_table
->types
[COLOR_core__Map__nitc__POSetBucketsColorer___35dH__core__Set__nitc__POSetBucketsColorer___35dE
];
5362 cltype3
= type_struct5
->color
;
5363 idtype4
= type_struct5
->id
;
5364 if(cltype3
>= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->table_size
) {
5367 var2
= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->type_table
[cltype3
] == idtype4
;
5369 if (unlikely(!var2
)) {
5370 var_class_name6
= p1
== NULL ?
"null" : (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->name
;
5371 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[H, Set[E]]", var_class_name6
);
5372 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 538);
5378 { /* Inline kernel#Int#unary - (1l) on <1l:Int> */
5387 var10
= ((val
*(*)(val
* self
, val
* p0
))((((long)var_buckets
&3)?class_info
[((long)var_buckets
&3)]:var_buckets
->class)->vft
[COLOR_core__abstract_collection__MapRead___91d_93d
]))(var_buckets
, var_holder
); /* [] on <var_buckets:Map[Object, Set[Object]]>*/
5391 var11
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Set[Object]>*/
5396 var13
= ((short int(*)(val
* self
))((((long)var_12
&3)?class_info
[((long)var_12
&3)]:var_12
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_12
); /* is_ok on <var_12:Iterator[Object]>*/
5403 var14
= ((val
*(*)(val
* self
))((((long)var_12
&3)?class_info
[((long)var_12
&3)]:var_12
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_12
); /* item on <var_12:Iterator[Object]>*/
5407 { /* Inline coloring#POSetBucketsColorer#colors (self) on <self:POSetBucketsColorer[Object, Object]> */
5408 var17
= self
->attrs
[COLOR_nitc__coloring__POSetBucketsColorer___colors
].val
; /* _colors on <self:POSetBucketsColorer[Object, Object]> */
5409 if (unlikely(var17
== NULL
)) {
5410 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors");
5411 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 509);
5415 RET_LABEL16
:(void)0;
5419 var18
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var15
, var_bucket
);
5427 { /* Inline coloring#POSetBucketsColorer#colors (self) on <self:POSetBucketsColorer[Object, Object]> */
5428 var23
= self
->attrs
[COLOR_nitc__coloring__POSetBucketsColorer___colors
].val
; /* _colors on <self:POSetBucketsColorer[Object, Object]> */
5429 if (unlikely(var23
== NULL
)) {
5430 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors");
5431 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 509);
5435 RET_LABEL22
:(void)0;
5439 var24
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var21
, var_bucket
);
5441 var25
= (long)(var24
)>>2;
5444 { /* Inline kernel#Int#> (var_color,var_max) on <var_color:Int> */
5445 /* Covariant cast for argument 0 (i) <var_max:Int> isa OTHER */
5446 /* <var_max:Int> isa OTHER */
5447 var28
= 1; /* easy <var_max:Int> isa OTHER*/
5448 if (unlikely(!var28
)) {
5449 var_class_name31
= type_core__Int
.name
;
5450 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31
);
5451 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
5454 var32
= var_color
> var_max
;
5457 RET_LABEL27
:(void)0;
5461 var_max
= var_color
;
5464 BREAK_label20
: (void)0;
5466 ((void(*)(val
* self
))((((long)var_12
&3)?class_info
[((long)var_12
&3)]:var_12
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_12
); /* next on <var_12:Iterator[Object]>*/
5469 BREAK_label
: (void)0;
5471 ((void(*)(val
* self
))((((long)var_12
&3)?class_info
[((long)var_12
&3)]:var_12
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_12
); /* finish on <var_12:Iterator[Object]>*/
5478 /* method coloring#POSetBucketsColorer#is_color_free for (self: POSetBucketsColorer[Object, Object], Int, Object, Map[Object, Set[Object]]): Bool */
5479 short int nitc___nitc__POSetBucketsColorer___is_color_free(val
* self
, long p0
, val
* p1
, val
* p2
) {
5480 short int var
/* : Bool */;
5481 short int var1
/* : Bool */;
5484 const struct type
* type_struct
;
5485 const char* var_class_name
;
5486 short int var2
/* : Bool */;
5489 const struct type
* type_struct5
;
5490 const char* var_class_name6
;
5491 long var_color
/* var color: Int */;
5492 val
* var_holder
/* var holder: Object */;
5493 val
* var_buckets
/* var buckets: Map[Object, Set[Object]] */;
5494 val
* var7
/* : Map[Object, Set[Object]] */;
5495 val
* var9
/* : Map[Object, Set[Object]] */;
5496 short int var10
/* : Bool */;
5497 short int var11
/* : Bool */;
5498 val
* var12
/* : Map[Object, Set[Object]] */;
5499 val
* var14
/* : Map[Object, Set[Object]] */;
5500 val
* var15
/* : nullable Object */;
5501 val
* var_
/* var : Set[Object] */;
5502 val
* var16
/* : Iterator[nullable Object] */;
5503 val
* var_17
/* var : Iterator[Object] */;
5504 short int var18
/* : Bool */;
5505 val
* var19
/* : nullable Object */;
5506 val
* var_conflict
/* var conflict: Object */;
5507 val
* var20
/* : nullable Object */;
5508 val
* var_21
/* var : Set[Object] */;
5509 val
* var22
/* : Iterator[nullable Object] */;
5510 val
* var_23
/* var : Iterator[Object] */;
5511 short int var24
/* : Bool */;
5512 val
* var26
/* : nullable Object */;
5513 val
* var_bucket
/* var bucket: Object */;
5514 val
* var27
/* : HashMap[Object, Int] */;
5515 val
* var29
/* : HashMap[Object, Int] */;
5516 short int var30
/* : Bool */;
5517 short int var31
/* : Bool */;
5518 val
* var33
/* : HashMap[Object, Int] */;
5519 val
* var35
/* : HashMap[Object, Int] */;
5520 val
* var36
/* : nullable Object */;
5521 short int var37
/* : Bool */;
5522 short int var39
/* : Bool */;
5523 long var40
/* : Int */;
5524 /* Covariant cast for argument 1 (holder) <p1:Object> isa H */
5525 /* <p1:Object> isa H */
5526 type_struct
= self
->type
->resolution_table
->types
[COLOR_nitc__POSetBucketsColorer___35dH
];
5527 cltype
= type_struct
->color
;
5528 idtype
= type_struct
->id
;
5529 if(cltype
>= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->table_size
) {
5532 var1
= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->type_table
[cltype
] == idtype
;
5534 if (unlikely(!var1
)) {
5535 var_class_name
= p1
== NULL ?
"null" : (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->name
;
5536 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "H", var_class_name
);
5537 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 549);
5540 /* Covariant cast for argument 2 (buckets) <p2:Map[Object, Set[Object]]> isa Map[H, Set[E]] */
5541 /* <p2:Map[Object, Set[Object]]> isa Map[H, Set[E]] */
5542 type_struct5
= self
->type
->resolution_table
->types
[COLOR_core__Map__nitc__POSetBucketsColorer___35dH__core__Set__nitc__POSetBucketsColorer___35dE
];
5543 cltype3
= type_struct5
->color
;
5544 idtype4
= type_struct5
->id
;
5545 if(cltype3
>= (((long)p2
&3)?type_info
[((long)p2
&3)]:p2
->type
)->table_size
) {
5548 var2
= (((long)p2
&3)?type_info
[((long)p2
&3)]:p2
->type
)->type_table
[cltype3
] == idtype4
;
5550 if (unlikely(!var2
)) {
5551 var_class_name6
= p2
== NULL ?
"null" : (((long)p2
&3)?type_info
[((long)p2
&3)]:p2
->type
)->name
;
5552 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Map[H, Set[E]]", var_class_name6
);
5553 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 549);
5560 { /* Inline coloring#POSetBucketsColorer#conflicts (self) on <self:POSetBucketsColorer[Object, Object]> */
5561 var9
= self
->attrs
[COLOR_nitc__coloring__POSetBucketsColorer___conflicts
].val
; /* _conflicts on <self:POSetBucketsColorer[Object, Object]> */
5562 if (unlikely(var9
== NULL
)) {
5563 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conflicts");
5564 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 511);
5572 var10
= ((short int(*)(val
* self
, val
* p0
))((((long)var7
&3)?class_info
[((long)var7
&3)]:var7
->class)->vft
[COLOR_core__abstract_collection__MapRead__has_key
]))(var7
, var_holder
); /* has_key on <var7:Map[Object, Set[Object]]>*/
5581 { /* Inline coloring#POSetBucketsColorer#conflicts (self) on <self:POSetBucketsColorer[Object, Object]> */
5582 var14
= self
->attrs
[COLOR_nitc__coloring__POSetBucketsColorer___conflicts
].val
; /* _conflicts on <self:POSetBucketsColorer[Object, Object]> */
5583 if (unlikely(var14
== NULL
)) {
5584 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _conflicts");
5585 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 511);
5589 RET_LABEL13
:(void)0;
5593 var15
= ((val
*(*)(val
* self
, val
* p0
))((((long)var12
&3)?class_info
[((long)var12
&3)]:var12
->class)->vft
[COLOR_core__abstract_collection__MapRead___91d_93d
]))(var12
, var_holder
); /* [] on <var12:Map[Object, Set[Object]]>*/
5597 var16
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Set[Object]>*/
5602 var18
= ((short int(*)(val
* self
))((((long)var_17
&3)?class_info
[((long)var_17
&3)]:var_17
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_17
); /* is_ok on <var_17:Iterator[Object]>*/
5609 var19
= ((val
*(*)(val
* self
))((((long)var_17
&3)?class_info
[((long)var_17
&3)]:var_17
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_17
); /* item on <var_17:Iterator[Object]>*/
5611 var_conflict
= var19
;
5613 var20
= ((val
*(*)(val
* self
, val
* p0
))((((long)var_buckets
&3)?class_info
[((long)var_buckets
&3)]:var_buckets
->class)->vft
[COLOR_core__abstract_collection__MapRead___91d_93d
]))(var_buckets
, var_conflict
); /* [] on <var_buckets:Map[Object, Set[Object]]>*/
5617 var22
= ((val
*(*)(val
* self
))((((long)var_21
&3)?class_info
[((long)var_21
&3)]:var_21
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_21
); /* iterator on <var_21:Set[Object]>*/
5622 var24
= ((short int(*)(val
* self
))((((long)var_23
&3)?class_info
[((long)var_23
&3)]:var_23
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_23
); /* is_ok on <var_23:Iterator[Object]>*/
5629 var26
= ((val
*(*)(val
* self
))((((long)var_23
&3)?class_info
[((long)var_23
&3)]:var_23
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_23
); /* item on <var_23:Iterator[Object]>*/
5633 { /* Inline coloring#POSetBucketsColorer#colors (self) on <self:POSetBucketsColorer[Object, Object]> */
5634 var29
= self
->attrs
[COLOR_nitc__coloring__POSetBucketsColorer___colors
].val
; /* _colors on <self:POSetBucketsColorer[Object, Object]> */
5635 if (unlikely(var29
== NULL
)) {
5636 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors");
5637 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 509);
5641 RET_LABEL28
:(void)0;
5645 var30
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var27
, var_bucket
);
5653 { /* Inline coloring#POSetBucketsColorer#colors (self) on <self:POSetBucketsColorer[Object, Object]> */
5654 var35
= self
->attrs
[COLOR_nitc__coloring__POSetBucketsColorer___colors
].val
; /* _colors on <self:POSetBucketsColorer[Object, Object]> */
5655 if (unlikely(var35
== NULL
)) {
5656 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _colors");
5657 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__coloring
, 509);
5661 RET_LABEL34
:(void)0;
5665 var36
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var33
, var_bucket
);
5668 { /* Inline kernel#Int#== (var36,var_color) on <var36:nullable Object(Int)> */
5669 var40
= (long)(var36
)>>2;
5670 var39
= var40
== var_color
;
5673 RET_LABEL38
:(void)0;
5681 BREAK_label32
: (void)0;
5683 ((void(*)(val
* self
))((((long)var_23
&3)?class_info
[((long)var_23
&3)]:var_23
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_23
); /* next on <var_23:Iterator[Object]>*/
5686 BREAK_label25
: (void)0;
5688 ((void(*)(val
* self
))((((long)var_23
&3)?class_info
[((long)var_23
&3)]:var_23
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_23
); /* finish on <var_23:Iterator[Object]>*/
5691 ((void(*)(val
* self
))((((long)var_17
&3)?class_info
[((long)var_17
&3)]:var_17
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_17
); /* next on <var_17:Iterator[Object]>*/
5694 BREAK_label
: (void)0;
5696 ((void(*)(val
* self
))((((long)var_17
&3)?class_info
[((long)var_17
&3)]:var_17
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_17
); /* finish on <var_17:Iterator[Object]>*/
5703 /* method coloring#POSetBucketsColorer#init for (self: POSetBucketsColorer[Object, Object]) */
5704 void nitc___nitc__POSetBucketsColorer___core__kernel__Object__init(val
* self
) {
5706 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc___nitc__POSetBucketsColorer___core__kernel__Object__init
]))(self
); /* init on <self:POSetBucketsColorer[Object, Object]>*/