1 #include "ordered_tree.sep.0.h"
2 /* method ordered_tree#OrderedTree#roots for (self: OrderedTree[Object]): Array[Object] */
3 val
* ordered_tree___ordered_tree__OrderedTree___roots(val
* self
) {
4 val
* var
/* : Array[Object] */;
5 val
* var1
/* : Array[Object] */;
6 var1
= self
->attrs
[COLOR_ordered_tree__OrderedTree___roots
].val
; /* _roots on <self:OrderedTree[Object]> */
7 if (unlikely(var1
== NULL
)) {
8 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots");
9 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 66);
16 /* method ordered_tree#OrderedTree#sub for (self: OrderedTree[Object]): HashMap[Object, Array[Object]] */
17 val
* ordered_tree___ordered_tree__OrderedTree___sub(val
* self
) {
18 val
* var
/* : HashMap[Object, Array[Object]] */;
19 val
* var1
/* : HashMap[Object, Array[Object]] */;
20 var1
= self
->attrs
[COLOR_ordered_tree__OrderedTree___sub
].val
; /* _sub on <self:OrderedTree[Object]> */
21 if (unlikely(var1
== NULL
)) {
22 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub");
23 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 69);
30 /* method ordered_tree#OrderedTree#parents for (self: OrderedTree[Object]): HashMap[Object, nullable Object] */
31 val
* ordered_tree___ordered_tree__OrderedTree___parents(val
* self
) {
32 val
* var
/* : HashMap[Object, nullable Object] */;
33 val
* var1
/* : HashMap[Object, nullable Object] */;
34 var1
= self
->attrs
[COLOR_ordered_tree__OrderedTree___parents
].val
; /* _parents on <self:OrderedTree[Object]> */
35 if (unlikely(var1
== NULL
)) {
36 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _parents");
37 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 73);
44 /* method ordered_tree#OrderedTree#length for (self: OrderedTree[Object]): Int */
45 long ordered_tree___ordered_tree__OrderedTree___core__abstract_collection__Collection__length(val
* self
) {
47 val
* var1
/* : HashMap[Object, nullable Object] */;
48 val
* var3
/* : HashMap[Object, nullable Object] */;
49 long var4
/* : Int */;
51 { /* Inline ordered_tree#OrderedTree#parents (self) on <self:OrderedTree[Object]> */
52 var3
= self
->attrs
[COLOR_ordered_tree__OrderedTree___parents
].val
; /* _parents on <self:OrderedTree[Object]> */
53 if (unlikely(var3
== NULL
)) {
54 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _parents");
55 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 73);
63 var4
= core___core__HashMap___core__abstract_collection__MapRead__length(var1
);
70 /* method ordered_tree#OrderedTree#has for (self: OrderedTree[Object], nullable Object): Bool */
71 short int ordered_tree___ordered_tree__OrderedTree___core__abstract_collection__Collection__has(val
* self
, val
* p0
) {
72 short int var
/* : Bool */;
73 val
* var_e
/* var e: nullable Object */;
74 val
* var1
/* : HashMap[Object, nullable Object] */;
75 val
* var3
/* : HashMap[Object, nullable Object] */;
76 short int var4
/* : Bool */;
79 { /* Inline ordered_tree#OrderedTree#parents (self) on <self:OrderedTree[Object]> */
80 var3
= self
->attrs
[COLOR_ordered_tree__OrderedTree___parents
].val
; /* _parents on <self:OrderedTree[Object]> */
81 if (unlikely(var3
== NULL
)) {
82 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _parents");
83 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 73);
91 var4
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var1
, var_e
);
98 /* method ordered_tree#OrderedTree#add for (self: OrderedTree[Object], nullable Object, Object) */
99 void ordered_tree___ordered_tree__OrderedTree___add(val
* self
, val
* p0
, val
* p1
) {
100 short int var
/* : Bool */;
103 const struct type
* type_struct
;
104 const char* var_class_name
;
105 short int var1
/* : Bool */;
108 const struct type
* type_struct4
;
109 const char* var_class_name5
;
110 val
* var_p
/* var p: nullable Object */;
111 val
* var_e
/* var e: Object */;
112 val
* var6
/* : HashMap[Object, nullable Object] */;
113 val
* var8
/* : HashMap[Object, nullable Object] */;
114 short int var9
/* : Bool */;
115 short int var10
/* : Bool */;
116 val
* var11
/* : Array[Object] */;
117 val
* var13
/* : Array[Object] */;
118 short int var14
/* : Bool */;
119 short int var15
/* : Bool */;
120 val
* var16
/* : HashMap[Object, Array[Object]] */;
121 val
* var18
/* : HashMap[Object, Array[Object]] */;
122 short int var19
/* : Bool */;
123 val
* var20
/* : HashMap[Object, Array[Object]] */;
124 val
* var22
/* : HashMap[Object, Array[Object]] */;
125 val
* var23
/* : nullable Object */;
126 val
* var24
/* : HashMap[Object, Array[Object]] */;
127 val
* var26
/* : HashMap[Object, Array[Object]] */;
128 val
* var27
/* : Array[Object] */;
129 val
* var_
/* var : Array[Object] */;
130 /* Covariant cast for argument 0 (p) <p0:nullable Object> isa nullable E */
131 /* <p0:nullable Object> isa nullable E */
132 type_struct
= self
->type
->resolution_table
->types
[COLOR_nullable__ordered_tree__OrderedTree___35dE
];
133 cltype
= type_struct
->color
;
134 idtype
= type_struct
->id
;
138 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
141 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
144 if (unlikely(!var
)) {
145 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
146 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable E", var_class_name
);
147 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 94);
150 /* Covariant cast for argument 1 (e) <p1:Object> isa E */
151 /* <p1:Object> isa E */
152 type_struct4
= self
->type
->resolution_table
->types
[COLOR_ordered_tree__OrderedTree___35dE
];
153 cltype2
= type_struct4
->color
;
154 idtype3
= type_struct4
->id
;
155 if(cltype2
>= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->table_size
) {
158 var1
= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->type_table
[cltype2
] == idtype3
;
160 if (unlikely(!var1
)) {
161 var_class_name5
= p1
== NULL ?
"null" : (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->name
;
162 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name5
);
163 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 94);
169 ordered_tree___ordered_tree__OrderedTree___detach(self
, var_e
); /* Direct call ordered_tree#OrderedTree#detach on <self:OrderedTree[Object]>*/
172 { /* Inline ordered_tree#OrderedTree#parents (self) on <self:OrderedTree[Object]> */
173 var8
= self
->attrs
[COLOR_ordered_tree__OrderedTree___parents
].val
; /* _parents on <self:OrderedTree[Object]> */
174 if (unlikely(var8
== NULL
)) {
175 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _parents");
176 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 73);
184 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var6
, var_e
, var_p
); /* Direct call hash_collection#HashMap#[]= on <var6:HashMap[Object, nullable Object]>*/
187 var9
= 1; /* is null */
189 var9
= 0; /* arg is null but recv is not */
192 var10
= ((short int(*)(val
* self
, val
* p0
))((((long)var_p
&3)?class_info
[((long)var_p
&3)]:var_p
->class)->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_p
, ((val
*)NULL
)); /* == on <var_p:nullable Object>*/
197 { /* Inline ordered_tree#OrderedTree#roots (self) on <self:OrderedTree[Object]> */
198 var13
= self
->attrs
[COLOR_ordered_tree__OrderedTree___roots
].val
; /* _roots on <self:OrderedTree[Object]> */
199 if (unlikely(var13
== NULL
)) {
200 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots");
201 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 66);
209 core___core__Array___core__abstract_collection__SimpleCollection__add(var11
, var_e
); /* Direct call array#Array#add on <var11:Array[Object]>*/
213 var14
= ordered_tree___ordered_tree__OrderedTree___core__abstract_collection__Collection__has(self
, var_p
);
218 ordered_tree___ordered_tree__OrderedTree___add(self
, ((val
*)NULL
), var_p
); /* Direct call ordered_tree#OrderedTree#add on <self:OrderedTree[Object]>*/
223 { /* Inline ordered_tree#OrderedTree#sub (self) on <self:OrderedTree[Object]> */
224 var18
= self
->attrs
[COLOR_ordered_tree__OrderedTree___sub
].val
; /* _sub on <self:OrderedTree[Object]> */
225 if (unlikely(var18
== NULL
)) {
226 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub");
227 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 69);
235 var19
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var16
, var_p
);
239 { /* Inline ordered_tree#OrderedTree#sub (self) on <self:OrderedTree[Object]> */
240 var22
= self
->attrs
[COLOR_ordered_tree__OrderedTree___sub
].val
; /* _sub on <self:OrderedTree[Object]> */
241 if (unlikely(var22
== NULL
)) {
242 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub");
243 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 69);
251 var23
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var20
, var_p
);
254 core___core__Array___core__abstract_collection__SimpleCollection__add(var23
, var_e
); /* Direct call array#Array#add on <var23:nullable Object(Array[Object])>*/
258 { /* Inline ordered_tree#OrderedTree#sub (self) on <self:OrderedTree[Object]> */
259 var26
= self
->attrs
[COLOR_ordered_tree__OrderedTree___sub
].val
; /* _sub on <self:OrderedTree[Object]> */
260 if (unlikely(var26
== NULL
)) {
261 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub");
262 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 69);
269 var27
= NEW_core__Array(self
->type
->resolution_table
->types
[COLOR_core__Array__ordered_tree__OrderedTree___35dE
]);
271 core___core__Array___with_capacity(var27
, 1l); /* Direct call array#Array#with_capacity on <var27:Array[Object]>*/
275 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, var_e
); /* Direct call array#AbstractArray#push on <var_:Array[Object]>*/
278 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var24
, var_p
, var_
); /* Direct call hash_collection#HashMap#[]= on <var24:HashMap[Object, Array[Object]]>*/
284 /* method ordered_tree#OrderedTree#detach for (self: OrderedTree[Object], Object) */
285 void ordered_tree___ordered_tree__OrderedTree___detach(val
* self
, val
* p0
) {
286 short int var
/* : Bool */;
289 const struct type
* type_struct
;
290 const char* var_class_name
;
291 val
* var_e
/* var e: Object */;
292 val
* var1
/* : HashMap[Object, nullable Object] */;
293 val
* var3
/* : HashMap[Object, nullable Object] */;
294 val
* var4
/* : nullable Object */;
295 val
* var_old_parent
/* var old_parent: nullable Object */;
296 short int var5
/* : Bool */;
297 short int var6
/* : Bool */;
298 val
* var7
/* : HashMap[Object, Array[Object]] */;
299 val
* var9
/* : HashMap[Object, Array[Object]] */;
300 val
* var10
/* : nullable Object */;
301 val
* var_subs
/* var subs: Array[Object] */;
302 short int var11
/* : Bool */;
303 val
* var12
/* : HashMap[Object, Array[Object]] */;
304 val
* var14
/* : HashMap[Object, Array[Object]] */;
305 val
* var15
/* : RemovableCollection[nullable Object] */;
306 val
* var16
/* : Array[Object] */;
307 val
* var18
/* : Array[Object] */;
308 short int var19
/* : Bool */;
309 val
* var20
/* : Array[Object] */;
310 val
* var22
/* : Array[Object] */;
311 /* Covariant cast for argument 0 (e) <p0:Object> isa E */
312 /* <p0:Object> isa E */
313 type_struct
= self
->type
->resolution_table
->types
[COLOR_ordered_tree__OrderedTree___35dE
];
314 cltype
= type_struct
->color
;
315 idtype
= type_struct
->id
;
316 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
319 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
321 if (unlikely(!var
)) {
322 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
323 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
324 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 123);
329 { /* Inline ordered_tree#OrderedTree#parents (self) on <self:OrderedTree[Object]> */
330 var3
= self
->attrs
[COLOR_ordered_tree__OrderedTree___parents
].val
; /* _parents on <self:OrderedTree[Object]> */
331 if (unlikely(var3
== NULL
)) {
332 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _parents");
333 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 73);
341 var4
= core___core__HashMap___core__abstract_collection__MapRead__get_or_null(var1
, var_e
);
343 var_old_parent
= var4
;
344 if (var_old_parent
== NULL
) {
345 var5
= 0; /* is null */
347 var5
= 1; /* arg is null and recv is not */
350 var6
= ((short int(*)(val
* self
, val
* p0
))((((long)var_old_parent
&3)?class_info
[((long)var_old_parent
&3)]:var_old_parent
->class)->vft
[COLOR_core__kernel__Object___33d_61d
]))(var_old_parent
, ((val
*)NULL
)); /* != on <var_old_parent:nullable Object>*/
355 { /* Inline ordered_tree#OrderedTree#sub (self) on <self:OrderedTree[Object]> */
356 var9
= self
->attrs
[COLOR_ordered_tree__OrderedTree___sub
].val
; /* _sub on <self:OrderedTree[Object]> */
357 if (unlikely(var9
== NULL
)) {
358 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub");
359 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 69);
367 var10
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var7
, var_old_parent
);
371 core___core__AbstractArray___core__abstract_collection__RemovableCollection__remove(var_subs
, var_e
); /* Direct call array#AbstractArray#remove on <var_subs:Array[Object]>*/
374 var11
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_subs
);
378 { /* Inline ordered_tree#OrderedTree#sub (self) on <self:OrderedTree[Object]> */
379 var14
= self
->attrs
[COLOR_ordered_tree__OrderedTree___sub
].val
; /* _sub on <self:OrderedTree[Object]> */
380 if (unlikely(var14
== NULL
)) {
381 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub");
382 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 69);
390 var15
= core___core__HashMap___core__abstract_collection__MapRead__keys(var12
);
393 ((void(*)(val
* self
, val
* p0
))((((long)var15
&3)?class_info
[((long)var15
&3)]:var15
->class)->vft
[COLOR_core__abstract_collection__RemovableCollection__remove
]))(var15
, var_old_parent
); /* remove on <var15:RemovableCollection[nullable Object](RemovableCollection[Object])>*/
399 { /* Inline ordered_tree#OrderedTree#roots (self) on <self:OrderedTree[Object]> */
400 var18
= self
->attrs
[COLOR_ordered_tree__OrderedTree___roots
].val
; /* _roots on <self:OrderedTree[Object]> */
401 if (unlikely(var18
== NULL
)) {
402 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots");
403 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 66);
411 var19
= core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var16
, var_e
);
415 { /* Inline ordered_tree#OrderedTree#roots (self) on <self:OrderedTree[Object]> */
416 var22
= self
->attrs
[COLOR_ordered_tree__OrderedTree___roots
].val
; /* _roots on <self:OrderedTree[Object]> */
417 if (unlikely(var22
== NULL
)) {
418 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots");
419 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 66);
427 core___core__AbstractArray___core__abstract_collection__RemovableCollection__remove(var20
, var_e
); /* Direct call array#AbstractArray#remove on <var20:Array[Object]>*/
434 /* method ordered_tree#OrderedTree#write_to for (self: OrderedTree[Object], Writer) */
435 void ordered_tree___ordered_tree__OrderedTree___core__stream__Writable__write_to(val
* self
, val
* p0
) {
436 val
* var_stream
/* var stream: Writer */;
437 val
* var
/* : Array[Object] */;
438 val
* var2
/* : Array[Object] */;
439 val
* var_
/* var : Array[Object] */;
440 val
* var3
/* : IndexedIterator[nullable Object] */;
441 val
* var_4
/* var : IndexedIterator[Object] */;
442 short int var5
/* : Bool */;
443 val
* var6
/* : nullable Object */;
444 val
* var_r
/* var r: Object */;
445 val
* var7
/* : String */;
447 val
* var8
/* : String */;
448 char* var9
/* : NativeString */;
449 val
* var10
/* : String */;
450 static val
* varonce11
;
451 val
* var12
/* : String */;
452 char* var13
/* : NativeString */;
453 val
* var14
/* : String */;
456 { /* Inline ordered_tree#OrderedTree#roots (self) on <self:OrderedTree[Object]> */
457 var2
= self
->attrs
[COLOR_ordered_tree__OrderedTree___roots
].val
; /* _roots on <self:OrderedTree[Object]> */
458 if (unlikely(var2
== NULL
)) {
459 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots");
460 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 66);
469 var3
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
474 var5
= ((short int(*)(val
* self
))((((long)var_4
&3)?class_info
[((long)var_4
&3)]:var_4
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_4
); /* is_ok on <var_4:IndexedIterator[Object]>*/
481 var6
= ((val
*(*)(val
* self
))((((long)var_4
&3)?class_info
[((long)var_4
&3)]:var_4
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_4
); /* item on <var_4:IndexedIterator[Object]>*/
485 var7
= ordered_tree___ordered_tree__OrderedTree___display(self
, var_r
);
488 core___core__FileWriter___core__stream__Writer__write(var_stream
, var7
); /* Direct call file#FileWriter#write on <var_stream:Writer>*/
490 if (likely(varonce
!=NULL
)) {
494 var10
= core__flat___NativeString___to_s_full(var9
, 1l, 1l);
499 core___core__FileWriter___core__stream__Writer__write(var_stream
, var8
); /* Direct call file#FileWriter#write on <var_stream:Writer>*/
501 if (likely(varonce11
!=NULL
)) {
505 var14
= core__flat___NativeString___to_s_full(var13
, 0l, 0l);
510 ordered_tree___ordered_tree__OrderedTree___sub_write_to(self
, var_stream
, var_r
, var12
); /* Direct call ordered_tree#OrderedTree#sub_write_to on <self:OrderedTree[Object]>*/
513 ((void(*)(val
* self
))((((long)var_4
&3)?class_info
[((long)var_4
&3)]:var_4
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_4
); /* next on <var_4:IndexedIterator[Object]>*/
516 BREAK_label
: (void)0;
518 ((void(*)(val
* self
))((((long)var_4
&3)?class_info
[((long)var_4
&3)]:var_4
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_4
); /* finish on <var_4:IndexedIterator[Object]>*/
522 /* method ordered_tree#OrderedTree#sub_write_to for (self: OrderedTree[Object], Writer, Object, String) */
523 void ordered_tree___ordered_tree__OrderedTree___sub_write_to(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
524 short int var
/* : Bool */;
527 const struct type
* type_struct
;
528 const char* var_class_name
;
529 val
* var_o
/* var o: Writer */;
530 val
* var_e
/* var e: Object */;
531 val
* var_prefix
/* var prefix: String */;
532 val
* var1
/* : HashMap[Object, Array[Object]] */;
533 val
* var3
/* : HashMap[Object, Array[Object]] */;
534 short int var4
/* : Bool */;
535 short int var5
/* : Bool */;
536 val
* var6
/* : HashMap[Object, Array[Object]] */;
537 val
* var8
/* : HashMap[Object, Array[Object]] */;
538 val
* var9
/* : nullable Object */;
539 val
* var_subs
/* var subs: Array[Object] */;
540 short int var10
/* : Bool */;
541 val
* var11
/* : nullable Object */;
542 val
* var_last
/* var last: Object */;
543 val
* var_
/* var : Array[Object] */;
544 val
* var12
/* : IndexedIterator[nullable Object] */;
545 val
* var_13
/* var : IndexedIterator[Object] */;
546 short int var14
/* : Bool */;
547 val
* var15
/* : nullable Object */;
548 val
* var_e2
/* var e2: Object */;
549 short int var16
/* : Bool */;
550 val
* var17
/* : NativeArray[String] */;
552 static val
* varonce18
;
553 val
* var19
/* : String */;
554 char* var20
/* : NativeString */;
555 val
* var21
/* : String */;
556 static val
* varonce22
;
557 val
* var23
/* : String */;
558 char* var24
/* : NativeString */;
559 val
* var25
/* : String */;
560 val
* var26
/* : String */;
561 val
* var27
/* : String */;
562 static val
* varonce28
;
563 val
* var29
/* : String */;
564 char* var30
/* : NativeString */;
565 val
* var31
/* : String */;
566 val
* var32
/* : String */;
567 val
* var34
/* : NativeArray[String] */;
568 static val
* varonce33
;
569 static val
* varonce35
;
570 val
* var36
/* : String */;
571 char* var37
/* : NativeString */;
572 val
* var38
/* : String */;
573 static val
* varonce39
;
574 val
* var40
/* : String */;
575 char* var41
/* : NativeString */;
576 val
* var42
/* : String */;
577 val
* var43
/* : String */;
578 val
* var44
/* : String */;
579 static val
* varonce45
;
580 val
* var46
/* : String */;
581 char* var47
/* : NativeString */;
582 val
* var48
/* : String */;
583 val
* var49
/* : String */;
584 /* Covariant cast for argument 1 (e) <p1:Object> isa E */
585 /* <p1:Object> isa E */
586 type_struct
= self
->type
->resolution_table
->types
[COLOR_ordered_tree__OrderedTree___35dE
];
587 cltype
= type_struct
->color
;
588 idtype
= type_struct
->id
;
589 if(cltype
>= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->table_size
) {
592 var
= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->type_table
[cltype
] == idtype
;
594 if (unlikely(!var
)) {
595 var_class_name
= p1
== NULL ?
"null" : (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->name
;
596 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
597 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 156);
604 { /* Inline ordered_tree#OrderedTree#sub (self) on <self:OrderedTree[Object]> */
605 var3
= self
->attrs
[COLOR_ordered_tree__OrderedTree___sub
].val
; /* _sub on <self:OrderedTree[Object]> */
606 if (unlikely(var3
== NULL
)) {
607 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub");
608 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 69);
616 var4
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var1
, var_e
);
624 { /* Inline ordered_tree#OrderedTree#sub (self) on <self:OrderedTree[Object]> */
625 var8
= self
->attrs
[COLOR_ordered_tree__OrderedTree___sub
].val
; /* _sub on <self:OrderedTree[Object]> */
626 if (unlikely(var8
== NULL
)) {
627 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub");
628 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 69);
636 var9
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var6
, var_e
);
640 var10
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_subs
);
647 var11
= core___core__SequenceRead___last(var_subs
);
652 var12
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
657 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]>*/
664 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]>*/
668 var16
= ((short int(*)(val
* self
, val
* p0
))((((long)var_e2
&3)?class_info
[((long)var_e2
&3)]:var_e2
->class)->vft
[COLOR_core__kernel__Object___33d_61d
]))(var_e2
, var_last
); /* != on <var_e2:Object>*/
671 if (unlikely(varonce
==NULL
)) {
672 var17
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
673 if (likely(varonce18
!=NULL
)) {
677 var21
= core__flat___NativeString___to_s_full(var20
, 3l, 3l);
681 ((struct instance_core__NativeArray
*)var17
)->values
[1]=var19
;
682 if (likely(varonce22
!=NULL
)) {
686 var25
= core__flat___NativeString___to_s_full(var24
, 1l, 1l);
690 ((struct instance_core__NativeArray
*)var17
)->values
[3]=var23
;
695 ((struct instance_core__NativeArray
*)var17
)->values
[0]=var_prefix
;
697 var26
= ordered_tree___ordered_tree__OrderedTree___display(self
, var_e2
);
699 ((struct instance_core__NativeArray
*)var17
)->values
[2]=var26
;
701 var27
= ((val
*(*)(val
* self
))(var17
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var17
); /* native_to_s on <var17:NativeArray[String]>*/
705 core___core__FileWriter___core__stream__Writer__write(var_o
, var27
); /* Direct call file#FileWriter#write on <var_o:Writer>*/
707 if (likely(varonce28
!=NULL
)) {
711 var31
= core__flat___NativeString___to_s_full(var30
, 3l, 3l);
716 var32
= ((val
*(*)(val
* self
, val
* p0
))(var_prefix
->class->vft
[COLOR_core__abstract_text__String___43d
]))(var_prefix
, var29
); /* + on <var_prefix:String>*/
719 ordered_tree___ordered_tree__OrderedTree___sub_write_to(self
, var_o
, var_e2
, var32
); /* Direct call ordered_tree#OrderedTree#sub_write_to on <self:OrderedTree[Object]>*/
722 if (unlikely(varonce33
==NULL
)) {
723 var34
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
724 if (likely(varonce35
!=NULL
)) {
728 var38
= core__flat___NativeString___to_s_full(var37
, 3l, 3l);
732 ((struct instance_core__NativeArray
*)var34
)->values
[1]=var36
;
733 if (likely(varonce39
!=NULL
)) {
737 var42
= core__flat___NativeString___to_s_full(var41
, 1l, 1l);
741 ((struct instance_core__NativeArray
*)var34
)->values
[3]=var40
;
746 ((struct instance_core__NativeArray
*)var34
)->values
[0]=var_prefix
;
748 var43
= ordered_tree___ordered_tree__OrderedTree___display(self
, var_e2
);
750 ((struct instance_core__NativeArray
*)var34
)->values
[2]=var43
;
752 var44
= ((val
*(*)(val
* self
))(var34
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var34
); /* native_to_s on <var34:NativeArray[String]>*/
756 core___core__FileWriter___core__stream__Writer__write(var_o
, var44
); /* Direct call file#FileWriter#write on <var_o:Writer>*/
758 if (likely(varonce45
!=NULL
)) {
762 var48
= core__flat___NativeString___to_s_full(var47
, 3l, 3l);
767 var49
= ((val
*(*)(val
* self
, val
* p0
))(var_prefix
->class->vft
[COLOR_core__abstract_text__String___43d
]))(var_prefix
, var46
); /* + on <var_prefix:String>*/
770 ordered_tree___ordered_tree__OrderedTree___sub_write_to(self
, var_o
, var_e2
, var49
); /* Direct call ordered_tree#OrderedTree#sub_write_to on <self:OrderedTree[Object]>*/
774 ((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]>*/
777 BREAK_label
: (void)0;
779 ((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]>*/
783 /* method ordered_tree#OrderedTree#sort_with for (self: OrderedTree[Object], Comparator) */
784 void ordered_tree___ordered_tree__OrderedTree___sort_with(val
* self
, val
* p0
) {
785 val
* var_comparator
/* var comparator: Comparator */;
786 val
* var
/* : Array[Object] */;
787 val
* var2
/* : Array[Object] */;
788 val
* var3
/* : HashMap[Object, Array[Object]] */;
789 val
* var5
/* : HashMap[Object, Array[Object]] */;
790 val
* var6
/* : RemovableCollection[nullable Object] */;
791 val
* var_
/* var : RemovableCollection[Array[Object]] */;
792 val
* var7
/* : Iterator[nullable Object] */;
793 val
* var_8
/* var : Iterator[Array[Object]] */;
794 short int var9
/* : Bool */;
795 val
* var10
/* : nullable Object */;
796 val
* var_a
/* var a: Array[Object] */;
799 { /* Inline ordered_tree#OrderedTree#roots (self) on <self:OrderedTree[Object]> */
800 var2
= self
->attrs
[COLOR_ordered_tree__OrderedTree___roots
].val
; /* _roots on <self:OrderedTree[Object]> */
801 if (unlikely(var2
== NULL
)) {
802 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots");
803 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 66);
811 core___core__Comparator___sort(var_comparator
, var
); /* Direct call sorter#Comparator#sort on <var_comparator:Comparator>*/
814 { /* Inline ordered_tree#OrderedTree#sub (self) on <self:OrderedTree[Object]> */
815 var5
= self
->attrs
[COLOR_ordered_tree__OrderedTree___sub
].val
; /* _sub on <self:OrderedTree[Object]> */
816 if (unlikely(var5
== NULL
)) {
817 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub");
818 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 69);
826 var6
= core___core__HashMap___core__abstract_collection__MapRead__values(var3
);
830 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_:RemovableCollection[Array[Object]]>*/
835 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[Array[Object]]>*/
842 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[Array[Object]]>*/
846 core___core__Comparator___sort(var_comparator
, var_a
); /* Direct call sorter#Comparator#sort on <var_comparator:Comparator>*/
849 ((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[Array[Object]]>*/
852 BREAK_label
: (void)0;
854 ((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[Array[Object]]>*/
858 /* method ordered_tree#OrderedTree#display for (self: OrderedTree[Object], Object): String */
859 val
* ordered_tree___ordered_tree__OrderedTree___display(val
* self
, val
* p0
) {
860 val
* var
/* : String */;
861 short int var1
/* : Bool */;
864 const struct type
* type_struct
;
865 const char* var_class_name
;
866 val
* var_e
/* var e: Object */;
867 val
* var2
/* : String */;
868 /* Covariant cast for argument 0 (e) <p0:Object> isa E */
869 /* <p0:Object> isa E */
870 type_struct
= self
->type
->resolution_table
->types
[COLOR_ordered_tree__OrderedTree___35dE
];
871 cltype
= type_struct
->color
;
872 idtype
= type_struct
->id
;
873 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
876 var1
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
878 if (unlikely(!var1
)) {
879 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
880 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
881 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 183);
886 var2
= ((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>*/
893 /* method ordered_tree#OrderedTree#to_a for (self: OrderedTree[Object]): Array[Object] */
894 val
* ordered_tree___ordered_tree__OrderedTree___core__array__Collection__to_a(val
* self
) {
895 val
* var
/* : Array[Object] */;
896 val
* var1
/* : Array[Object] */;
897 val
* var_res
/* var res: Array[Object] */;
898 val
* var2
/* : Array[Object] */;
899 val
* var4
/* : Array[Object] */;
900 val
* var_
/* var : Array[Object] */;
901 val
* var5
/* : IndexedIterator[nullable Object] */;
902 val
* var_6
/* var : IndexedIterator[Object] */;
903 short int var7
/* : Bool */;
904 val
* var8
/* : nullable Object */;
905 val
* var_r
/* var r: Object */;
906 var1
= NEW_core__Array(self
->type
->resolution_table
->types
[COLOR_core__Array__ordered_tree__OrderedTree___35dE
]);
908 core___core__Array___core__kernel__Object__init(var1
); /* Direct call array#Array#init on <var1:Array[Object]>*/
912 { /* Inline ordered_tree#OrderedTree#roots (self) on <self:OrderedTree[Object]> */
913 var4
= self
->attrs
[COLOR_ordered_tree__OrderedTree___roots
].val
; /* _roots on <self:OrderedTree[Object]> */
914 if (unlikely(var4
== NULL
)) {
915 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots");
916 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 66);
925 var5
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
930 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]>*/
937 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]>*/
941 ordered_tree___ordered_tree__OrderedTree___sub_to_a(self
, var_r
, var_res
); /* Direct call ordered_tree#OrderedTree#sub_to_a on <self:OrderedTree[Object]>*/
944 ((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]>*/
947 BREAK_label
: (void)0;
949 ((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]>*/
956 /* method ordered_tree#OrderedTree#sub_to_a for (self: OrderedTree[Object], Object, Array[Object]) */
957 void ordered_tree___ordered_tree__OrderedTree___sub_to_a(val
* self
, val
* p0
, val
* p1
) {
958 short int var
/* : Bool */;
961 const struct type
* type_struct
;
962 const char* var_class_name
;
963 short int var1
/* : Bool */;
966 const struct type
* type_struct4
;
967 const char* var_class_name5
;
968 val
* var_e
/* var e: Object */;
969 val
* var_res
/* var res: Array[Object] */;
970 val
* var6
/* : HashMap[Object, Array[Object]] */;
971 val
* var8
/* : HashMap[Object, Array[Object]] */;
972 short int var9
/* : Bool */;
973 val
* var10
/* : HashMap[Object, Array[Object]] */;
974 val
* var12
/* : HashMap[Object, Array[Object]] */;
975 val
* var13
/* : nullable Object */;
976 val
* var_
/* var : Array[Object] */;
977 val
* var14
/* : IndexedIterator[nullable Object] */;
978 val
* var_15
/* var : IndexedIterator[Object] */;
979 short int var16
/* : Bool */;
980 val
* var17
/* : nullable Object */;
981 val
* var_e2
/* var e2: Object */;
982 /* Covariant cast for argument 0 (e) <p0:Object> isa E */
983 /* <p0:Object> isa E */
984 type_struct
= self
->type
->resolution_table
->types
[COLOR_ordered_tree__OrderedTree___35dE
];
985 cltype
= type_struct
->color
;
986 idtype
= type_struct
->id
;
987 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
990 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
992 if (unlikely(!var
)) {
993 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
994 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
995 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 205);
998 /* Covariant cast for argument 1 (res) <p1:Array[Object]> isa Array[E] */
999 /* <p1:Array[Object]> isa Array[E] */
1000 type_struct4
= self
->type
->resolution_table
->types
[COLOR_core__Array__ordered_tree__OrderedTree___35dE
];
1001 cltype2
= type_struct4
->color
;
1002 idtype3
= type_struct4
->id
;
1003 if(cltype2
>= p1
->type
->table_size
) {
1006 var1
= p1
->type
->type_table
[cltype2
] == idtype3
;
1008 if (unlikely(!var1
)) {
1009 var_class_name5
= p1
== NULL ?
"null" : p1
->type
->name
;
1010 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Array[E]", var_class_name5
);
1011 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 205);
1017 core___core__Array___core__abstract_collection__SimpleCollection__add(var_res
, var_e
); /* Direct call array#Array#add on <var_res:Array[Object]>*/
1020 { /* Inline ordered_tree#OrderedTree#sub (self) on <self:OrderedTree[Object]> */
1021 var8
= self
->attrs
[COLOR_ordered_tree__OrderedTree___sub
].val
; /* _sub on <self:OrderedTree[Object]> */
1022 if (unlikely(var8
== NULL
)) {
1023 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub");
1024 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 69);
1032 var9
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var6
, var_e
);
1036 { /* Inline ordered_tree#OrderedTree#sub (self) on <self:OrderedTree[Object]> */
1037 var12
= self
->attrs
[COLOR_ordered_tree__OrderedTree___sub
].val
; /* _sub on <self:OrderedTree[Object]> */
1038 if (unlikely(var12
== NULL
)) {
1039 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub");
1040 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 69);
1044 RET_LABEL11
:(void)0;
1048 var13
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var10
, var_e
);
1052 var14
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_
);
1057 var16
= ((short int(*)(val
* self
))((((long)var_15
&3)?class_info
[((long)var_15
&3)]:var_15
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_15
); /* is_ok on <var_15:IndexedIterator[Object]>*/
1064 var17
= ((val
*(*)(val
* self
))((((long)var_15
&3)?class_info
[((long)var_15
&3)]:var_15
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_15
); /* item on <var_15:IndexedIterator[Object]>*/
1068 ordered_tree___ordered_tree__OrderedTree___sub_to_a(self
, var_e2
, var_res
); /* Direct call ordered_tree#OrderedTree#sub_to_a on <self:OrderedTree[Object]>*/
1071 ((void(*)(val
* self
))((((long)var_15
&3)?class_info
[((long)var_15
&3)]:var_15
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_15
); /* next on <var_15:IndexedIterator[Object]>*/
1074 BREAK_label
: (void)0;
1076 ((void(*)(val
* self
))((((long)var_15
&3)?class_info
[((long)var_15
&3)]:var_15
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_15
); /* finish on <var_15:IndexedIterator[Object]>*/
1082 /* method ordered_tree#OrderedTree#is_empty for (self: OrderedTree[Object]): Bool */
1083 short int ordered_tree___ordered_tree__OrderedTree___core__abstract_collection__Collection__is_empty(val
* self
) {
1084 short int var
/* : Bool */;
1085 val
* var1
/* : Array[Object] */;
1086 val
* var3
/* : Array[Object] */;
1087 short int var4
/* : Bool */;
1089 { /* Inline ordered_tree#OrderedTree#roots (self) on <self:OrderedTree[Object]> */
1090 var3
= self
->attrs
[COLOR_ordered_tree__OrderedTree___roots
].val
; /* _roots on <self:OrderedTree[Object]> */
1091 if (unlikely(var3
== NULL
)) {
1092 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots");
1093 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 66);
1101 var4
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var1
);
1108 /* method ordered_tree#OrderedTree#first for (self: OrderedTree[Object]): Object */
1109 val
* ordered_tree___ordered_tree__OrderedTree___core__abstract_collection__Collection__first(val
* self
) {
1110 val
* var
/* : Object */;
1111 val
* var1
/* : Array[Object] */;
1112 val
* var3
/* : Array[Object] */;
1113 val
* var4
/* : nullable Object */;
1115 { /* Inline ordered_tree#OrderedTree#roots (self) on <self:OrderedTree[Object]> */
1116 var3
= self
->attrs
[COLOR_ordered_tree__OrderedTree___roots
].val
; /* _roots on <self:OrderedTree[Object]> */
1117 if (unlikely(var3
== NULL
)) {
1118 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots");
1119 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 66);
1127 var4
= core___core__SequenceRead___Collection__first(var1
);
1134 /* method ordered_tree#OrderedTree#iterator for (self: OrderedTree[Object]): Iterator[Object] */
1135 val
* ordered_tree___ordered_tree__OrderedTree___core__abstract_collection__Collection__iterator(val
* self
) {
1136 val
* var
/* : Iterator[Object] */;
1137 val
* var1
/* : OrderedTreeIterator[Object] */;
1138 var1
= NEW_ordered_tree__OrderedTreeIterator(self
->type
->resolution_table
->types
[COLOR_ordered_tree__OrderedTreeIterator__ordered_tree__OrderedTree___35dE
]);
1140 ((void(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_ordered_tree__OrderedTreeIterator__tree_61d
]))(var1
, self
); /* tree= on <var1:OrderedTreeIterator[Object]>*/
1143 ((void(*)(val
* self
))(var1
->class->vft
[COLOR_core__kernel__Object__init
]))(var1
); /* init on <var1:OrderedTreeIterator[Object]>*/
1150 /* method ordered_tree#OrderedTree#== for (self: OrderedTree[Object], nullable Object): Bool */
1151 short int ordered_tree___ordered_tree__OrderedTree___core__kernel__Object___61d_61d(val
* self
, val
* p0
) {
1152 short int var
/* : Bool */;
1153 val
* var_other
/* var other: nullable Object */;
1154 short int var1
/* : Bool */;
1157 short int var2
/* : Bool */;
1158 short int var3
/* : Bool */;
1159 val
* var4
/* : Array[Object] */;
1160 val
* var6
/* : Array[Object] */;
1161 val
* var7
/* : Array[Object] */;
1162 val
* var9
/* : Array[Object] */;
1163 short int var10
/* : Bool */;
1164 short int var_
/* var : Bool */;
1165 val
* var11
/* : HashMap[Object, Array[Object]] */;
1166 val
* var13
/* : HashMap[Object, Array[Object]] */;
1167 val
* var14
/* : HashMap[Object, Array[Object]] */;
1168 val
* var16
/* : HashMap[Object, Array[Object]] */;
1169 short int var17
/* : Bool */;
1171 /* <var_other:nullable Object> isa OrderedTree[Object] */
1172 cltype
= type_ordered_tree__OrderedTree__core__Object
.color
;
1173 idtype
= type_ordered_tree__OrderedTree__core__Object
.id
;
1174 if(var_other
== NULL
) {
1177 if(cltype
>= (((long)var_other
&3)?type_info
[((long)var_other
&3)]:var_other
->type
)->table_size
) {
1180 var1
= (((long)var_other
&3)?type_info
[((long)var_other
&3)]:var_other
->type
)->type_table
[cltype
] == idtype
;
1190 { /* Inline ordered_tree#OrderedTree#roots (self) on <self:OrderedTree[Object]> */
1191 var6
= self
->attrs
[COLOR_ordered_tree__OrderedTree___roots
].val
; /* _roots on <self:OrderedTree[Object]> */
1192 if (unlikely(var6
== NULL
)) {
1193 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots");
1194 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 66);
1202 { /* Inline ordered_tree#OrderedTree#roots (var_other) on <var_other:nullable Object(OrderedTree[Object])> */
1203 var9
= var_other
->attrs
[COLOR_ordered_tree__OrderedTree___roots
].val
; /* _roots on <var_other:nullable Object(OrderedTree[Object])> */
1204 if (unlikely(var9
== NULL
)) {
1205 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots");
1206 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 66);
1214 var10
= core___core__Array___core__kernel__Object___61d_61d(var4
, var7
);
1219 { /* Inline ordered_tree#OrderedTree#sub (self) on <self:OrderedTree[Object]> */
1220 var13
= self
->attrs
[COLOR_ordered_tree__OrderedTree___sub
].val
; /* _sub on <self:OrderedTree[Object]> */
1221 if (unlikely(var13
== NULL
)) {
1222 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub");
1223 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 69);
1227 RET_LABEL12
:(void)0;
1231 { /* Inline ordered_tree#OrderedTree#sub (var_other) on <var_other:nullable Object(OrderedTree[Object])> */
1232 var16
= var_other
->attrs
[COLOR_ordered_tree__OrderedTree___sub
].val
; /* _sub on <var_other:nullable Object(OrderedTree[Object])> */
1233 if (unlikely(var16
== NULL
)) {
1234 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub");
1235 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 69);
1239 RET_LABEL15
:(void)0;
1243 var17
= core___core__MapRead___core__kernel__Object___61d_61d(var11
, var14
);
1254 /* method ordered_tree#OrderedTree#hash for (self: OrderedTree[Object]): Int */
1255 long ordered_tree___ordered_tree__OrderedTree___core__kernel__Object__hash(val
* self
) {
1256 long var
/* : Int */;
1257 val
* var1
/* : Array[Object] */;
1258 val
* var3
/* : Array[Object] */;
1259 long var4
/* : Int */;
1260 val
* var5
/* : HashMap[Object, Array[Object]] */;
1261 val
* var7
/* : HashMap[Object, Array[Object]] */;
1262 long var8
/* : Int */;
1263 long var9
/* : Int */;
1264 short int var11
/* : Bool */;
1267 const char* var_class_name
;
1268 long var12
/* : Int */;
1270 { /* Inline ordered_tree#OrderedTree#roots (self) on <self:OrderedTree[Object]> */
1271 var3
= self
->attrs
[COLOR_ordered_tree__OrderedTree___roots
].val
; /* _roots on <self:OrderedTree[Object]> */
1272 if (unlikely(var3
== NULL
)) {
1273 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots");
1274 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 66);
1282 var4
= core___core__SequenceRead___core__kernel__Object__hash(var1
);
1285 { /* Inline ordered_tree#OrderedTree#sub (self) on <self:OrderedTree[Object]> */
1286 var7
= self
->attrs
[COLOR_ordered_tree__OrderedTree___sub
].val
; /* _sub on <self:OrderedTree[Object]> */
1287 if (unlikely(var7
== NULL
)) {
1288 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub");
1289 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 69);
1297 var8
= core___core__MapRead___core__kernel__Object__hash(var5
);
1300 { /* Inline kernel#Int#+ (var4,var8) on <var4:Int> */
1301 /* Covariant cast for argument 0 (i) <var8:Int> isa OTHER */
1302 /* <var8:Int> isa OTHER */
1303 var11
= 1; /* easy <var8:Int> isa OTHER*/
1304 if (unlikely(!var11
)) {
1305 var_class_name
= type_core__Int
.name
;
1306 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1307 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
1310 var12
= var4
+ var8
;
1313 RET_LABEL10
:(void)0;
1321 /* method ordered_tree#OrderedTreeIterator#tree for (self: OrderedTreeIterator[Object]): OrderedTree[Object] */
1322 val
* ordered_tree___ordered_tree__OrderedTreeIterator___tree(val
* self
) {
1323 val
* var
/* : OrderedTree[Object] */;
1324 val
* var1
/* : OrderedTree[Object] */;
1325 var1
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___tree
].val
; /* _tree on <self:OrderedTreeIterator[Object]> */
1326 if (unlikely(var1
== NULL
)) {
1327 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tree");
1328 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 283);
1335 /* method ordered_tree#OrderedTreeIterator#tree= for (self: OrderedTreeIterator[Object], OrderedTree[Object]) */
1336 void ordered_tree___ordered_tree__OrderedTreeIterator___tree_61d(val
* self
, val
* p0
) {
1337 short int var
/* : Bool */;
1340 const struct type
* type_struct
;
1341 const char* var_class_name
;
1342 /* Covariant cast for argument 0 (tree) <p0:OrderedTree[Object]> isa OrderedTree[E] */
1343 /* <p0:OrderedTree[Object]> isa OrderedTree[E] */
1344 type_struct
= self
->type
->resolution_table
->types
[COLOR_ordered_tree__OrderedTree__ordered_tree__OrderedTreeIterator___35dE
];
1345 cltype
= type_struct
->color
;
1346 idtype
= type_struct
->id
;
1347 if(cltype
>= p0
->type
->table_size
) {
1350 var
= p0
->type
->type_table
[cltype
] == idtype
;
1352 if (unlikely(!var
)) {
1353 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
1354 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OrderedTree[E]", var_class_name
);
1355 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 283);
1358 self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___tree
].val
= p0
; /* _tree on <self:OrderedTreeIterator[Object]> */
1361 /* method ordered_tree#OrderedTreeIterator#iterators for (self: OrderedTreeIterator[Object]): Array[Iterator[Object]] */
1362 val
* ordered_tree___ordered_tree__OrderedTreeIterator___iterators(val
* self
) {
1363 val
* var
/* : Array[Iterator[Object]] */;
1364 val
* var1
/* : Array[Iterator[Object]] */;
1365 var1
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___iterators
].val
; /* _iterators on <self:OrderedTreeIterator[Object]> */
1366 if (unlikely(var1
== NULL
)) {
1367 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators");
1368 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 285);
1375 /* method ordered_tree#OrderedTreeIterator#init for (self: OrderedTreeIterator[Object]) */
1376 void ordered_tree___ordered_tree__OrderedTreeIterator___core__kernel__Object__init(val
* self
) {
1377 val
* var
/* : OrderedTree[Object] */;
1378 val
* var2
/* : OrderedTree[Object] */;
1379 short int var3
/* : Bool */;
1380 short int var4
/* : Bool */;
1381 val
* var5
/* : Array[Iterator[Object]] */;
1382 val
* var7
/* : Array[Iterator[Object]] */;
1383 val
* var8
/* : OrderedTree[Object] */;
1384 val
* var10
/* : OrderedTree[Object] */;
1385 val
* var11
/* : Array[Object] */;
1386 val
* var13
/* : Array[Object] */;
1387 val
* var14
/* : IndexedIterator[nullable Object] */;
1389 ((void(*)(val
* self
))(self
->class->vft
[COLOR_ordered_tree___ordered_tree__OrderedTreeIterator___core__kernel__Object__init
]))(self
); /* init on <self:OrderedTreeIterator[Object]>*/
1392 { /* Inline ordered_tree#OrderedTreeIterator#tree (self) on <self:OrderedTreeIterator[Object]> */
1393 var2
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___tree
].val
; /* _tree on <self:OrderedTreeIterator[Object]> */
1394 if (unlikely(var2
== NULL
)) {
1395 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tree");
1396 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 283);
1404 var3
= ordered_tree___ordered_tree__OrderedTree___core__abstract_collection__Collection__is_empty(var
);
1409 { /* Inline ordered_tree#OrderedTreeIterator#iterators (self) on <self:OrderedTreeIterator[Object]> */
1410 var7
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___iterators
].val
; /* _iterators on <self:OrderedTreeIterator[Object]> */
1411 if (unlikely(var7
== NULL
)) {
1412 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators");
1413 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 285);
1421 { /* Inline ordered_tree#OrderedTreeIterator#tree (self) on <self:OrderedTreeIterator[Object]> */
1422 var10
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___tree
].val
; /* _tree on <self:OrderedTreeIterator[Object]> */
1423 if (unlikely(var10
== NULL
)) {
1424 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tree");
1425 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 283);
1433 { /* Inline ordered_tree#OrderedTree#roots (var8) on <var8:OrderedTree[Object]> */
1434 var13
= var8
->attrs
[COLOR_ordered_tree__OrderedTree___roots
].val
; /* _roots on <var8:OrderedTree[Object]> */
1435 if (unlikely(var13
== NULL
)) {
1436 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots");
1437 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 66);
1441 RET_LABEL12
:(void)0;
1445 var14
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var11
);
1448 core___core__Array___core__abstract_collection__SimpleCollection__add(var5
, var14
); /* Direct call array#Array#add on <var5:Array[Iterator[Object]]>*/
1454 /* method ordered_tree#OrderedTreeIterator#is_ok for (self: OrderedTreeIterator[Object]): Bool */
1455 short int ordered_tree___ordered_tree__OrderedTreeIterator___core__abstract_collection__Iterator__is_ok(val
* self
) {
1456 short int var
/* : Bool */;
1457 val
* var1
/* : Array[Iterator[Object]] */;
1458 val
* var3
/* : Array[Iterator[Object]] */;
1459 short int var4
/* : Bool */;
1460 short int var5
/* : Bool */;
1462 { /* Inline ordered_tree#OrderedTreeIterator#iterators (self) on <self:OrderedTreeIterator[Object]> */
1463 var3
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___iterators
].val
; /* _iterators on <self:OrderedTreeIterator[Object]> */
1464 if (unlikely(var3
== NULL
)) {
1465 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators");
1466 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 285);
1474 var4
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var1
);
1482 /* method ordered_tree#OrderedTreeIterator#item for (self: OrderedTreeIterator[Object]): Object */
1483 val
* ordered_tree___ordered_tree__OrderedTreeIterator___core__abstract_collection__Iterator__item(val
* self
) {
1484 val
* var
/* : Object */;
1485 short int var1
/* : Bool */;
1486 val
* var2
/* : Array[Iterator[Object]] */;
1487 val
* var4
/* : Array[Iterator[Object]] */;
1488 val
* var5
/* : nullable Object */;
1489 val
* var6
/* : nullable Object */;
1491 var1
= ordered_tree___ordered_tree__OrderedTreeIterator___core__abstract_collection__Iterator__is_ok(self
);
1493 if (unlikely(!var1
)) {
1494 PRINT_ERROR("Runtime error: %s", "Assert failed");
1495 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 296);
1499 { /* Inline ordered_tree#OrderedTreeIterator#iterators (self) on <self:OrderedTreeIterator[Object]> */
1500 var4
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___iterators
].val
; /* _iterators on <self:OrderedTreeIterator[Object]> */
1501 if (unlikely(var4
== NULL
)) {
1502 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators");
1503 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 285);
1511 var5
= core___core__SequenceRead___last(var2
);
1514 var6
= ((val
*(*)(val
* self
))((((long)var5
&3)?class_info
[((long)var5
&3)]:var5
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var5
); /* item on <var5:nullable Object(Iterator[Object])>*/
1521 /* method ordered_tree#OrderedTreeIterator#next for (self: OrderedTreeIterator[Object]) */
1522 void ordered_tree___ordered_tree__OrderedTreeIterator___core__abstract_collection__Iterator__next(val
* self
) {
1523 short int var
/* : Bool */;
1524 val
* var1
/* : OrderedTree[Object] */;
1525 val
* var3
/* : OrderedTree[Object] */;
1526 val
* var4
/* : HashMap[Object, Array[Object]] */;
1527 val
* var6
/* : HashMap[Object, Array[Object]] */;
1528 val
* var7
/* : Object */;
1529 short int var8
/* : Bool */;
1530 val
* var9
/* : Array[Iterator[Object]] */;
1531 val
* var11
/* : Array[Iterator[Object]] */;
1532 val
* var12
/* : OrderedTree[Object] */;
1533 val
* var14
/* : OrderedTree[Object] */;
1534 val
* var15
/* : HashMap[Object, Array[Object]] */;
1535 val
* var17
/* : HashMap[Object, Array[Object]] */;
1536 val
* var18
/* : Object */;
1537 val
* var19
/* : nullable Object */;
1538 val
* var20
/* : IndexedIterator[nullable Object] */;
1539 val
* var21
/* : Array[Iterator[Object]] */;
1540 val
* var23
/* : Array[Iterator[Object]] */;
1541 val
* var24
/* : nullable Object */;
1542 short int var25
/* : Bool */;
1543 short int var26
/* : Bool */;
1544 short int var_
/* var : Bool */;
1545 val
* var27
/* : Array[Iterator[Object]] */;
1546 val
* var29
/* : Array[Iterator[Object]] */;
1547 val
* var30
/* : nullable Object */;
1548 short int var31
/* : Bool */;
1549 short int var32
/* : Bool */;
1550 val
* var33
/* : Array[Iterator[Object]] */;
1551 val
* var35
/* : Array[Iterator[Object]] */;
1552 val
* var36
/* : nullable Object */;
1553 short int var37
/* : Bool */;
1554 short int var38
/* : Bool */;
1555 short int var_39
/* var : Bool */;
1556 val
* var40
/* : Array[Iterator[Object]] */;
1557 val
* var42
/* : Array[Iterator[Object]] */;
1558 val
* var43
/* : nullable Object */;
1559 short int var44
/* : Bool */;
1560 val
* var45
/* : Array[Iterator[Object]] */;
1561 val
* var47
/* : Array[Iterator[Object]] */;
1562 val
* var48
/* : nullable Object */;
1564 var
= ordered_tree___ordered_tree__OrderedTreeIterator___core__abstract_collection__Iterator__is_ok(self
);
1566 if (unlikely(!var
)) {
1567 PRINT_ERROR("Runtime error: %s", "Assert failed");
1568 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 301);
1572 { /* Inline ordered_tree#OrderedTreeIterator#tree (self) on <self:OrderedTreeIterator[Object]> */
1573 var3
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___tree
].val
; /* _tree on <self:OrderedTreeIterator[Object]> */
1574 if (unlikely(var3
== NULL
)) {
1575 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tree");
1576 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 283);
1584 { /* Inline ordered_tree#OrderedTree#sub (var1) on <var1:OrderedTree[Object]> */
1585 var6
= var1
->attrs
[COLOR_ordered_tree__OrderedTree___sub
].val
; /* _sub on <var1:OrderedTree[Object]> */
1586 if (unlikely(var6
== NULL
)) {
1587 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub");
1588 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 69);
1596 var7
= ordered_tree___ordered_tree__OrderedTreeIterator___core__abstract_collection__Iterator__item(self
);
1599 var8
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var4
, var7
);
1603 { /* Inline ordered_tree#OrderedTreeIterator#iterators (self) on <self:OrderedTreeIterator[Object]> */
1604 var11
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___iterators
].val
; /* _iterators on <self:OrderedTreeIterator[Object]> */
1605 if (unlikely(var11
== NULL
)) {
1606 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators");
1607 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 285);
1611 RET_LABEL10
:(void)0;
1615 { /* Inline ordered_tree#OrderedTreeIterator#tree (self) on <self:OrderedTreeIterator[Object]> */
1616 var14
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___tree
].val
; /* _tree on <self:OrderedTreeIterator[Object]> */
1617 if (unlikely(var14
== NULL
)) {
1618 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tree");
1619 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 283);
1623 RET_LABEL13
:(void)0;
1627 { /* Inline ordered_tree#OrderedTree#sub (var12) on <var12:OrderedTree[Object]> */
1628 var17
= var12
->attrs
[COLOR_ordered_tree__OrderedTree___sub
].val
; /* _sub on <var12:OrderedTree[Object]> */
1629 if (unlikely(var17
== NULL
)) {
1630 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub");
1631 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 69);
1635 RET_LABEL16
:(void)0;
1639 var18
= ordered_tree___ordered_tree__OrderedTreeIterator___core__abstract_collection__Iterator__item(self
);
1642 var19
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var15
, var18
);
1645 var20
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var19
);
1648 core___core__Array___core__abstract_collection__SimpleCollection__add(var9
, var20
); /* Direct call array#Array#add on <var9:Array[Iterator[Object]]>*/
1652 { /* Inline ordered_tree#OrderedTreeIterator#iterators (self) on <self:OrderedTreeIterator[Object]> */
1653 var23
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___iterators
].val
; /* _iterators on <self:OrderedTreeIterator[Object]> */
1654 if (unlikely(var23
== NULL
)) {
1655 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators");
1656 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 285);
1660 RET_LABEL22
:(void)0;
1664 var24
= core___core__SequenceRead___last(var21
);
1667 ((void(*)(val
* self
))((((long)var24
&3)?class_info
[((long)var24
&3)]:var24
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var24
); /* next on <var24:nullable Object(Iterator[Object])>*/
1671 var26
= ordered_tree___ordered_tree__OrderedTreeIterator___core__abstract_collection__Iterator__is_ok(self
);
1676 { /* Inline ordered_tree#OrderedTreeIterator#iterators (self) on <self:OrderedTreeIterator[Object]> */
1677 var29
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___iterators
].val
; /* _iterators on <self:OrderedTreeIterator[Object]> */
1678 if (unlikely(var29
== NULL
)) {
1679 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators");
1680 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 285);
1684 RET_LABEL28
:(void)0;
1688 var30
= core___core__SequenceRead___last(var27
);
1691 var31
= ((short int(*)(val
* self
))((((long)var30
&3)?class_info
[((long)var30
&3)]:var30
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var30
); /* is_ok on <var30:nullable Object(Iterator[Object])>*/
1700 { /* Inline ordered_tree#OrderedTreeIterator#iterators (self) on <self:OrderedTreeIterator[Object]> */
1701 var35
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___iterators
].val
; /* _iterators on <self:OrderedTreeIterator[Object]> */
1702 if (unlikely(var35
== NULL
)) {
1703 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators");
1704 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 285);
1708 RET_LABEL34
:(void)0;
1712 var36
= core___core__AbstractArray___core__abstract_collection__Sequence__pop(var33
);
1715 var38
= ordered_tree___ordered_tree__OrderedTreeIterator___core__abstract_collection__Iterator__is_ok(self
);
1720 { /* Inline ordered_tree#OrderedTreeIterator#iterators (self) on <self:OrderedTreeIterator[Object]> */
1721 var42
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___iterators
].val
; /* _iterators on <self:OrderedTreeIterator[Object]> */
1722 if (unlikely(var42
== NULL
)) {
1723 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators");
1724 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 285);
1728 RET_LABEL41
:(void)0;
1732 var43
= core___core__SequenceRead___last(var40
);
1735 var44
= ((short int(*)(val
* self
))((((long)var43
&3)?class_info
[((long)var43
&3)]:var43
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var43
); /* is_ok on <var43:nullable Object(Iterator[Object])>*/
1743 { /* Inline ordered_tree#OrderedTreeIterator#iterators (self) on <self:OrderedTreeIterator[Object]> */
1744 var47
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___iterators
].val
; /* _iterators on <self:OrderedTreeIterator[Object]> */
1745 if (unlikely(var47
== NULL
)) {
1746 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators");
1747 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 285);
1751 RET_LABEL46
:(void)0;
1755 var48
= core___core__SequenceRead___last(var45
);
1758 ((void(*)(val
* self
))((((long)var48
&3)?class_info
[((long)var48
&3)]:var48
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var48
); /* next on <var48:nullable Object(Iterator[Object])>*/
1766 BREAK_label
: (void)0;
1770 /* method ordered_tree#OrderedTreeIterator#iterator for (self: OrderedTreeIterator[Object]): Iterator[Object] */
1771 val
* ordered_tree___ordered_tree__OrderedTreeIterator___core__abstract_collection__Iterator__iterator(val
* self
) {
1772 val
* var
/* : Iterator[Object] */;
1773 val
* var1
/* : OrderedTreeIterator[Object] */;
1774 val
* var2
/* : OrderedTree[Object] */;
1775 val
* var4
/* : OrderedTree[Object] */;
1776 var1
= NEW_ordered_tree__OrderedTreeIterator(self
->type
->resolution_table
->types
[COLOR_ordered_tree__OrderedTreeIterator__ordered_tree__OrderedTreeIterator___35dE
]);
1778 { /* Inline ordered_tree#OrderedTreeIterator#tree (self) on <self:OrderedTreeIterator[Object]> */
1779 var4
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___tree
].val
; /* _tree on <self:OrderedTreeIterator[Object]> */
1780 if (unlikely(var4
== NULL
)) {
1781 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tree");
1782 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 283);
1790 ((void(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_ordered_tree__OrderedTreeIterator__tree_61d
]))(var1
, var2
); /* tree= on <var1:OrderedTreeIterator[Object]>*/
1793 ((void(*)(val
* self
))(var1
->class->vft
[COLOR_core__kernel__Object__init
]))(var1
); /* init on <var1:OrderedTreeIterator[Object]>*/