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
, 65);
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
, 68);
30 /* method ordered_tree#OrderedTree#add for (self: OrderedTree[Object], nullable Object, Object) */
31 void ordered_tree___ordered_tree__OrderedTree___add(val
* self
, val
* p0
, val
* p1
) {
32 short int var
/* : Bool */;
35 const struct type
* type_struct
;
36 const char* var_class_name
;
37 short int var1
/* : Bool */;
40 const struct type
* type_struct4
;
41 const char* var_class_name5
;
42 val
* var_p
/* var p: nullable Object */;
43 val
* var_e
/* var e: Object */;
44 short int var6
/* : Bool */;
45 short int var7
/* : Bool */;
46 val
* var8
/* : Array[Object] */;
47 val
* var10
/* : Array[Object] */;
48 val
* var11
/* : HashMap[Object, Array[Object]] */;
49 val
* var13
/* : HashMap[Object, Array[Object]] */;
50 short int var14
/* : Bool */;
51 val
* var15
/* : HashMap[Object, Array[Object]] */;
52 val
* var17
/* : HashMap[Object, Array[Object]] */;
53 val
* var18
/* : nullable Object */;
54 val
* var19
/* : HashMap[Object, Array[Object]] */;
55 val
* var21
/* : HashMap[Object, Array[Object]] */;
56 val
* var22
/* : Array[Object] */;
57 val
* var_
/* var : Array[Object] */;
58 /* Covariant cast for argument 0 (p) <p0:nullable Object> isa nullable E */
59 /* <p0:nullable Object> isa nullable E */
60 type_struct
= self
->type
->resolution_table
->types
[COLOR_nullable__ordered_tree__OrderedTree___35dE
];
61 cltype
= type_struct
->color
;
62 idtype
= type_struct
->id
;
66 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
69 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
73 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
74 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable E", var_class_name
);
75 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 72);
78 /* Covariant cast for argument 1 (e) <p1:Object> isa E */
79 /* <p1:Object> isa E */
80 type_struct4
= self
->type
->resolution_table
->types
[COLOR_ordered_tree__OrderedTree___35dE
];
81 cltype2
= type_struct4
->color
;
82 idtype3
= type_struct4
->id
;
83 if(cltype2
>= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->table_size
) {
86 var1
= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->type_table
[cltype2
] == idtype3
;
88 if (unlikely(!var1
)) {
89 var_class_name5
= p1
== NULL ?
"null" : (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->name
;
90 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name5
);
91 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 72);
97 var6
= 1; /* is null */
99 var6
= 0; /* arg is null but recv is not */
102 var7
= ((short int(*)(val
* self
, val
* p0
))((((long)var_p
&3)?class_info
[((long)var_p
&3)]:var_p
->class)->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_p
, ((val
*)NULL
)); /* == on <var_p:nullable Object>*/
107 { /* Inline ordered_tree#OrderedTree#roots (self) on <self:OrderedTree[Object]> */
108 var10
= self
->attrs
[COLOR_ordered_tree__OrderedTree___roots
].val
; /* _roots on <self:OrderedTree[Object]> */
109 if (unlikely(var10
== NULL
)) {
110 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots");
111 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 65);
119 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var8
, var_e
); /* Direct call array#Array#add on <var8:Array[Object]>*/
123 { /* Inline ordered_tree#OrderedTree#sub (self) on <self:OrderedTree[Object]> */
124 var13
= self
->attrs
[COLOR_ordered_tree__OrderedTree___sub
].val
; /* _sub on <self:OrderedTree[Object]> */
125 if (unlikely(var13
== NULL
)) {
126 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub");
127 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 68);
135 var14
= standard___standard__HashMap___standard__abstract_collection__MapRead__has_key(var11
, var_p
);
139 { /* Inline ordered_tree#OrderedTree#sub (self) on <self:OrderedTree[Object]> */
140 var17
= self
->attrs
[COLOR_ordered_tree__OrderedTree___sub
].val
; /* _sub on <self:OrderedTree[Object]> */
141 if (unlikely(var17
== NULL
)) {
142 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub");
143 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 68);
151 var18
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var15
, var_p
);
154 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var18
, var_e
); /* Direct call array#Array#add on <var18:nullable Object(Array[Object])>*/
158 { /* Inline ordered_tree#OrderedTree#sub (self) on <self:OrderedTree[Object]> */
159 var21
= self
->attrs
[COLOR_ordered_tree__OrderedTree___sub
].val
; /* _sub on <self:OrderedTree[Object]> */
160 if (unlikely(var21
== NULL
)) {
161 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub");
162 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 68);
169 var22
= NEW_standard__Array(self
->type
->resolution_table
->types
[COLOR_standard__Array__ordered_tree__OrderedTree___35dE
]);
171 standard___standard__Array___with_capacity(var22
, 1l); /* Direct call array#Array#with_capacity on <var22:Array[Object]>*/
175 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_e
); /* Direct call array#AbstractArray#push on <var_:Array[Object]>*/
178 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var19
, var_p
, var_
); /* Direct call hash_collection#HashMap#[]= on <var19:HashMap[Object, Array[Object]]>*/
184 /* method ordered_tree#OrderedTree#write_to for (self: OrderedTree[Object], Writer) */
185 void ordered_tree___ordered_tree__OrderedTree___standard__stream__Writable__write_to(val
* self
, val
* p0
) {
186 val
* var_stream
/* var stream: Writer */;
187 val
* var
/* : Array[Object] */;
188 val
* var2
/* : Array[Object] */;
189 val
* var_
/* var : Array[Object] */;
190 val
* var3
/* : ArrayIterator[nullable Object] */;
191 val
* var_4
/* var : ArrayIterator[Object] */;
192 short int var5
/* : Bool */;
193 val
* var6
/* : nullable Object */;
194 val
* var_r
/* var r: Object */;
195 val
* var7
/* : String */;
197 val
* var8
/* : String */;
198 char* var9
/* : NativeString */;
199 val
* var10
/* : FlatString */;
200 static val
* varonce11
;
201 val
* var12
/* : String */;
202 char* var13
/* : NativeString */;
203 val
* var14
/* : FlatString */;
206 { /* Inline ordered_tree#OrderedTree#roots (self) on <self:OrderedTree[Object]> */
207 var2
= self
->attrs
[COLOR_ordered_tree__OrderedTree___roots
].val
; /* _roots on <self:OrderedTree[Object]> */
208 if (unlikely(var2
== NULL
)) {
209 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots");
210 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 65);
219 var3
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
224 var5
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_4
);
228 var6
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_4
);
232 var7
= ordered_tree___ordered_tree__OrderedTree___display(self
, var_r
);
235 standard___standard__FileWriter___standard__stream__Writer__write(var_stream
, var7
); /* Direct call file#FileWriter#write on <var_stream:Writer>*/
237 if (likely(varonce
!=NULL
)) {
241 var10
= standard___standard__NativeString___to_s_with_length(var9
, 1l);
246 standard___standard__FileWriter___standard__stream__Writer__write(var_stream
, var8
); /* Direct call file#FileWriter#write on <var_stream:Writer>*/
248 if (likely(varonce11
!=NULL
)) {
252 var14
= standard___standard__NativeString___to_s_with_length(var13
, 0l);
257 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]>*/
260 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_4
); /* Direct call array#ArrayIterator#next on <var_4:ArrayIterator[Object]>*/
266 BREAK_label
: (void)0;
268 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_4
); /* Direct call array#ArrayIterator#finish on <var_4:ArrayIterator[Object]>*/
272 /* method ordered_tree#OrderedTree#sub_write_to for (self: OrderedTree[Object], Writer, Object, String) */
273 void ordered_tree___ordered_tree__OrderedTree___sub_write_to(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
274 short int var
/* : Bool */;
277 const struct type
* type_struct
;
278 const char* var_class_name
;
279 val
* var_o
/* var o: Writer */;
280 val
* var_e
/* var e: Object */;
281 val
* var_prefix
/* var prefix: String */;
282 val
* var1
/* : HashMap[Object, Array[Object]] */;
283 val
* var3
/* : HashMap[Object, Array[Object]] */;
284 short int var4
/* : Bool */;
285 short int var5
/* : Bool */;
286 val
* var6
/* : HashMap[Object, Array[Object]] */;
287 val
* var8
/* : HashMap[Object, Array[Object]] */;
288 val
* var9
/* : nullable Object */;
289 val
* var_subs
/* var subs: Array[Object] */;
290 val
* var10
/* : nullable Object */;
291 val
* var_last
/* var last: Object */;
292 val
* var_
/* var : Array[Object] */;
293 val
* var11
/* : ArrayIterator[nullable Object] */;
294 val
* var_12
/* var : ArrayIterator[Object] */;
295 short int var13
/* : Bool */;
296 val
* var14
/* : nullable Object */;
297 val
* var_e2
/* var e2: Object */;
298 short int var15
/* : Bool */;
299 val
* var16
/* : NativeArray[String] */;
301 static val
* varonce17
;
302 val
* var18
/* : String */;
303 char* var19
/* : NativeString */;
304 val
* var20
/* : FlatString */;
305 static val
* varonce21
;
306 val
* var22
/* : String */;
307 char* var23
/* : NativeString */;
308 val
* var24
/* : FlatString */;
309 val
* var25
/* : String */;
310 val
* var26
/* : String */;
311 static val
* varonce27
;
312 val
* var28
/* : String */;
313 char* var29
/* : NativeString */;
314 val
* var30
/* : FlatString */;
315 val
* var31
/* : String */;
316 val
* var33
/* : NativeArray[String] */;
317 static val
* varonce32
;
318 static val
* varonce34
;
319 val
* var35
/* : String */;
320 char* var36
/* : NativeString */;
321 val
* var37
/* : FlatString */;
322 static val
* varonce38
;
323 val
* var39
/* : String */;
324 char* var40
/* : NativeString */;
325 val
* var41
/* : FlatString */;
326 val
* var42
/* : String */;
327 val
* var43
/* : String */;
328 static val
* varonce44
;
329 val
* var45
/* : String */;
330 char* var46
/* : NativeString */;
331 val
* var47
/* : FlatString */;
332 val
* var48
/* : String */;
333 /* Covariant cast for argument 1 (e) <p1:Object> isa E */
334 /* <p1:Object> isa E */
335 type_struct
= self
->type
->resolution_table
->types
[COLOR_ordered_tree__OrderedTree___35dE
];
336 cltype
= type_struct
->color
;
337 idtype
= type_struct
->id
;
338 if(cltype
>= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->table_size
) {
341 var
= (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->type_table
[cltype
] == idtype
;
343 if (unlikely(!var
)) {
344 var_class_name
= p1
== NULL ?
"null" : (((long)p1
&3)?type_info
[((long)p1
&3)]:p1
->type
)->name
;
345 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
346 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 97);
353 { /* Inline ordered_tree#OrderedTree#sub (self) on <self:OrderedTree[Object]> */
354 var3
= self
->attrs
[COLOR_ordered_tree__OrderedTree___sub
].val
; /* _sub on <self:OrderedTree[Object]> */
355 if (unlikely(var3
== NULL
)) {
356 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub");
357 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 68);
365 var4
= standard___standard__HashMap___standard__abstract_collection__MapRead__has_key(var1
, var_e
);
373 { /* Inline ordered_tree#OrderedTree#sub (self) on <self:OrderedTree[Object]> */
374 var8
= self
->attrs
[COLOR_ordered_tree__OrderedTree___sub
].val
; /* _sub on <self:OrderedTree[Object]> */
375 if (unlikely(var8
== NULL
)) {
376 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub");
377 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 68);
385 var9
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var6
, var_e
);
389 var10
= standard___standard__SequenceRead___last(var_subs
);
394 var11
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
399 var13
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_12
);
403 var14
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_12
);
407 var15
= ((short int(*)(val
* self
, val
* p0
))((((long)var_e2
&3)?class_info
[((long)var_e2
&3)]:var_e2
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_e2
, var_last
); /* != on <var_e2:Object>*/
410 if (unlikely(varonce
==NULL
)) {
411 var16
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
412 if (likely(varonce17
!=NULL
)) {
416 var20
= standard___standard__NativeString___to_s_with_length(var19
, 3l);
420 ((struct instance_standard__NativeArray
*)var16
)->values
[1]=var18
;
421 if (likely(varonce21
!=NULL
)) {
425 var24
= standard___standard__NativeString___to_s_with_length(var23
, 1l);
429 ((struct instance_standard__NativeArray
*)var16
)->values
[3]=var22
;
434 ((struct instance_standard__NativeArray
*)var16
)->values
[0]=var_prefix
;
436 var25
= ordered_tree___ordered_tree__OrderedTree___display(self
, var_e2
);
438 ((struct instance_standard__NativeArray
*)var16
)->values
[2]=var25
;
440 var26
= ((val
*(*)(val
* self
))(var16
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var16
); /* native_to_s on <var16:NativeArray[String]>*/
444 standard___standard__FileWriter___standard__stream__Writer__write(var_o
, var26
); /* Direct call file#FileWriter#write on <var_o:Writer>*/
446 if (likely(varonce27
!=NULL
)) {
450 var30
= standard___standard__NativeString___to_s_with_length(var29
, 3l);
455 var31
= ((val
*(*)(val
* self
, val
* p0
))(var_prefix
->class->vft
[COLOR_standard__string__String___43d
]))(var_prefix
, var28
); /* + on <var_prefix:String>*/
458 ordered_tree___ordered_tree__OrderedTree___sub_write_to(self
, var_o
, var_e2
, var31
); /* Direct call ordered_tree#OrderedTree#sub_write_to on <self:OrderedTree[Object]>*/
461 if (unlikely(varonce32
==NULL
)) {
462 var33
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
463 if (likely(varonce34
!=NULL
)) {
467 var37
= standard___standard__NativeString___to_s_with_length(var36
, 3l);
471 ((struct instance_standard__NativeArray
*)var33
)->values
[1]=var35
;
472 if (likely(varonce38
!=NULL
)) {
476 var41
= standard___standard__NativeString___to_s_with_length(var40
, 1l);
480 ((struct instance_standard__NativeArray
*)var33
)->values
[3]=var39
;
485 ((struct instance_standard__NativeArray
*)var33
)->values
[0]=var_prefix
;
487 var42
= ordered_tree___ordered_tree__OrderedTree___display(self
, var_e2
);
489 ((struct instance_standard__NativeArray
*)var33
)->values
[2]=var42
;
491 var43
= ((val
*(*)(val
* self
))(var33
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var33
); /* native_to_s on <var33:NativeArray[String]>*/
495 standard___standard__FileWriter___standard__stream__Writer__write(var_o
, var43
); /* Direct call file#FileWriter#write on <var_o:Writer>*/
497 if (likely(varonce44
!=NULL
)) {
501 var47
= standard___standard__NativeString___to_s_with_length(var46
, 3l);
506 var48
= ((val
*(*)(val
* self
, val
* p0
))(var_prefix
->class->vft
[COLOR_standard__string__String___43d
]))(var_prefix
, var45
); /* + on <var_prefix:String>*/
509 ordered_tree___ordered_tree__OrderedTree___sub_write_to(self
, var_o
, var_e2
, var48
); /* Direct call ordered_tree#OrderedTree#sub_write_to on <self:OrderedTree[Object]>*/
513 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_12
); /* Direct call array#ArrayIterator#next on <var_12:ArrayIterator[Object]>*/
519 BREAK_label
: (void)0;
521 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_12
); /* Direct call array#ArrayIterator#finish on <var_12:ArrayIterator[Object]>*/
525 /* method ordered_tree#OrderedTree#sort_with for (self: OrderedTree[Object], Comparator) */
526 void ordered_tree___ordered_tree__OrderedTree___sort_with(val
* self
, val
* p0
) {
527 val
* var_comparator
/* var comparator: Comparator */;
528 val
* var
/* : Array[Object] */;
529 val
* var2
/* : Array[Object] */;
530 val
* var3
/* : HashMap[Object, Array[Object]] */;
531 val
* var5
/* : HashMap[Object, Array[Object]] */;
532 val
* var6
/* : RemovableCollection[nullable Object] */;
533 val
* var_
/* var : RemovableCollection[Array[Object]] */;
534 val
* var7
/* : Iterator[nullable Object] */;
535 val
* var_8
/* var : Iterator[Array[Object]] */;
536 short int var9
/* : Bool */;
537 val
* var10
/* : nullable Object */;
538 val
* var_a
/* var a: Array[Object] */;
541 { /* Inline ordered_tree#OrderedTree#roots (self) on <self:OrderedTree[Object]> */
542 var2
= self
->attrs
[COLOR_ordered_tree__OrderedTree___roots
].val
; /* _roots on <self:OrderedTree[Object]> */
543 if (unlikely(var2
== NULL
)) {
544 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots");
545 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 65);
553 standard___standard__Comparator___sort(var_comparator
, var
); /* Direct call sorter#Comparator#sort on <var_comparator:Comparator>*/
556 { /* Inline ordered_tree#OrderedTree#sub (self) on <self:OrderedTree[Object]> */
557 var5
= self
->attrs
[COLOR_ordered_tree__OrderedTree___sub
].val
; /* _sub on <self:OrderedTree[Object]> */
558 if (unlikely(var5
== NULL
)) {
559 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub");
560 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 68);
568 var6
= standard___standard__HashMap___standard__abstract_collection__MapRead__values(var3
);
572 var7
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:RemovableCollection[Array[Object]]>*/
577 var9
= ((short int(*)(val
* self
))((((long)var_8
&3)?class_info
[((long)var_8
&3)]:var_8
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_8
); /* is_ok on <var_8:Iterator[Array[Object]]>*/
581 var10
= ((val
*(*)(val
* self
))((((long)var_8
&3)?class_info
[((long)var_8
&3)]:var_8
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_8
); /* item on <var_8:Iterator[Array[Object]]>*/
585 standard___standard__Comparator___sort(var_comparator
, var_a
); /* Direct call sorter#Comparator#sort on <var_comparator:Comparator>*/
588 ((void(*)(val
* self
))((((long)var_8
&3)?class_info
[((long)var_8
&3)]:var_8
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_8
); /* next on <var_8:Iterator[Array[Object]]>*/
594 BREAK_label
: (void)0;
596 ((void(*)(val
* self
))((((long)var_8
&3)?class_info
[((long)var_8
&3)]:var_8
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_8
); /* finish on <var_8:Iterator[Array[Object]]>*/
600 /* method ordered_tree#OrderedTree#display for (self: OrderedTree[Object], Object): String */
601 val
* ordered_tree___ordered_tree__OrderedTree___display(val
* self
, val
* p0
) {
602 val
* var
/* : String */;
603 short int var1
/* : Bool */;
606 const struct type
* type_struct
;
607 const char* var_class_name
;
608 val
* var_e
/* var e: Object */;
609 val
* var2
/* : String */;
610 /* Covariant cast for argument 0 (e) <p0:Object> isa E */
611 /* <p0:Object> isa E */
612 type_struct
= self
->type
->resolution_table
->types
[COLOR_ordered_tree__OrderedTree___35dE
];
613 cltype
= type_struct
->color
;
614 idtype
= type_struct
->id
;
615 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
618 var1
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
620 if (unlikely(!var1
)) {
621 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
622 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
623 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 123);
628 var2
= ((val
*(*)(val
* self
))((((long)var_e
&3)?class_info
[((long)var_e
&3)]:var_e
->class)->vft
[COLOR_standard__string__Object__to_s
]))(var_e
); /* to_s on <var_e:Object>*/
635 /* method ordered_tree#OrderedTree#to_a for (self: OrderedTree[Object]): Array[Object] */
636 val
* ordered_tree___ordered_tree__OrderedTree___standard__array__Collection__to_a(val
* self
) {
637 val
* var
/* : Array[Object] */;
638 val
* var1
/* : Array[Object] */;
639 val
* var_res
/* var res: Array[Object] */;
640 val
* var2
/* : Array[Object] */;
641 val
* var4
/* : Array[Object] */;
642 val
* var_
/* var : Array[Object] */;
643 val
* var5
/* : ArrayIterator[nullable Object] */;
644 val
* var_6
/* var : ArrayIterator[Object] */;
645 short int var7
/* : Bool */;
646 val
* var8
/* : nullable Object */;
647 val
* var_r
/* var r: Object */;
648 var1
= NEW_standard__Array(self
->type
->resolution_table
->types
[COLOR_standard__Array__ordered_tree__OrderedTree___35dE
]);
650 standard___standard__Array___standard__kernel__Object__init(var1
); /* Direct call array#Array#init on <var1:Array[Object]>*/
654 { /* Inline ordered_tree#OrderedTree#roots (self) on <self:OrderedTree[Object]> */
655 var4
= self
->attrs
[COLOR_ordered_tree__OrderedTree___roots
].val
; /* _roots on <self:OrderedTree[Object]> */
656 if (unlikely(var4
== NULL
)) {
657 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots");
658 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 65);
667 var5
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
672 var7
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_6
);
676 var8
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_6
);
680 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]>*/
683 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_6
); /* Direct call array#ArrayIterator#next on <var_6:ArrayIterator[Object]>*/
689 BREAK_label
: (void)0;
691 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_6
); /* Direct call array#ArrayIterator#finish on <var_6:ArrayIterator[Object]>*/
698 /* method ordered_tree#OrderedTree#sub_to_a for (self: OrderedTree[Object], Object, Array[Object]) */
699 void ordered_tree___ordered_tree__OrderedTree___sub_to_a(val
* self
, val
* p0
, val
* p1
) {
700 short int var
/* : Bool */;
703 const struct type
* type_struct
;
704 const char* var_class_name
;
705 short int var1
/* : Bool */;
708 const struct type
* type_struct4
;
709 const char* var_class_name5
;
710 val
* var_e
/* var e: Object */;
711 val
* var_res
/* var res: Array[Object] */;
712 val
* var6
/* : HashMap[Object, Array[Object]] */;
713 val
* var8
/* : HashMap[Object, Array[Object]] */;
714 short int var9
/* : Bool */;
715 val
* var10
/* : HashMap[Object, Array[Object]] */;
716 val
* var12
/* : HashMap[Object, Array[Object]] */;
717 val
* var13
/* : nullable Object */;
718 val
* var_
/* var : Array[Object] */;
719 val
* var14
/* : ArrayIterator[nullable Object] */;
720 val
* var_15
/* var : ArrayIterator[Object] */;
721 short int var16
/* : Bool */;
722 val
* var17
/* : nullable Object */;
723 val
* var_e2
/* var e2: Object */;
724 /* Covariant cast for argument 0 (e) <p0:Object> isa E */
725 /* <p0:Object> isa E */
726 type_struct
= self
->type
->resolution_table
->types
[COLOR_ordered_tree__OrderedTree___35dE
];
727 cltype
= type_struct
->color
;
728 idtype
= type_struct
->id
;
729 if(cltype
>= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->table_size
) {
732 var
= (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->type_table
[cltype
] == idtype
;
734 if (unlikely(!var
)) {
735 var_class_name
= p0
== NULL ?
"null" : (((long)p0
&3)?type_info
[((long)p0
&3)]:p0
->type
)->name
;
736 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name
);
737 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 150);
740 /* Covariant cast for argument 1 (res) <p1:Array[Object]> isa Array[E] */
741 /* <p1:Array[Object]> isa Array[E] */
742 type_struct4
= self
->type
->resolution_table
->types
[COLOR_standard__Array__ordered_tree__OrderedTree___35dE
];
743 cltype2
= type_struct4
->color
;
744 idtype3
= type_struct4
->id
;
745 if(cltype2
>= p1
->type
->table_size
) {
748 var1
= p1
->type
->type_table
[cltype2
] == idtype3
;
750 if (unlikely(!var1
)) {
751 var_class_name5
= p1
== NULL ?
"null" : p1
->type
->name
;
752 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Array[E]", var_class_name5
);
753 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 150);
759 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res
, var_e
); /* Direct call array#Array#add on <var_res:Array[Object]>*/
762 { /* Inline ordered_tree#OrderedTree#sub (self) on <self:OrderedTree[Object]> */
763 var8
= self
->attrs
[COLOR_ordered_tree__OrderedTree___sub
].val
; /* _sub on <self:OrderedTree[Object]> */
764 if (unlikely(var8
== NULL
)) {
765 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub");
766 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 68);
774 var9
= standard___standard__HashMap___standard__abstract_collection__MapRead__has_key(var6
, var_e
);
778 { /* Inline ordered_tree#OrderedTree#sub (self) on <self:OrderedTree[Object]> */
779 var12
= self
->attrs
[COLOR_ordered_tree__OrderedTree___sub
].val
; /* _sub on <self:OrderedTree[Object]> */
780 if (unlikely(var12
== NULL
)) {
781 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub");
782 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 68);
790 var13
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var10
, var_e
);
794 var14
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_
);
799 var16
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_15
);
803 var17
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_15
);
807 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]>*/
810 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_15
); /* Direct call array#ArrayIterator#next on <var_15:ArrayIterator[Object]>*/
816 BREAK_label
: (void)0;
818 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_15
); /* Direct call array#ArrayIterator#finish on <var_15:ArrayIterator[Object]>*/
824 /* method ordered_tree#OrderedTree#is_empty for (self: OrderedTree[Object]): Bool */
825 short int ordered_tree___ordered_tree__OrderedTree___standard__abstract_collection__Collection__is_empty(val
* self
) {
826 short int var
/* : Bool */;
827 val
* var1
/* : Array[Object] */;
828 val
* var3
/* : Array[Object] */;
829 short int var4
/* : Bool */;
831 { /* Inline ordered_tree#OrderedTree#roots (self) on <self:OrderedTree[Object]> */
832 var3
= self
->attrs
[COLOR_ordered_tree__OrderedTree___roots
].val
; /* _roots on <self:OrderedTree[Object]> */
833 if (unlikely(var3
== NULL
)) {
834 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots");
835 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 65);
843 var4
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var1
);
850 /* method ordered_tree#OrderedTree#first for (self: OrderedTree[Object]): Object */
851 val
* ordered_tree___ordered_tree__OrderedTree___standard__abstract_collection__Collection__first(val
* self
) {
852 val
* var
/* : Object */;
853 val
* var1
/* : Array[Object] */;
854 val
* var3
/* : Array[Object] */;
855 val
* var4
/* : nullable Object */;
857 { /* Inline ordered_tree#OrderedTree#roots (self) on <self:OrderedTree[Object]> */
858 var3
= self
->attrs
[COLOR_ordered_tree__OrderedTree___roots
].val
; /* _roots on <self:OrderedTree[Object]> */
859 if (unlikely(var3
== NULL
)) {
860 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots");
861 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 65);
869 var4
= standard___standard__SequenceRead___Collection__first(var1
);
876 /* method ordered_tree#OrderedTree#iterator for (self: OrderedTree[Object]): Iterator[Object] */
877 val
* ordered_tree___ordered_tree__OrderedTree___standard__abstract_collection__Collection__iterator(val
* self
) {
878 val
* var
/* : Iterator[Object] */;
879 val
* var1
/* : OrderedTreeIterator[Object] */;
880 var1
= NEW_ordered_tree__OrderedTreeIterator(self
->type
->resolution_table
->types
[COLOR_ordered_tree__OrderedTreeIterator__ordered_tree__OrderedTree___35dE
]);
882 ((void(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_ordered_tree__OrderedTreeIterator__tree_61d
]))(var1
, self
); /* tree= on <var1:OrderedTreeIterator[Object]>*/
885 ((void(*)(val
* self
))(var1
->class->vft
[COLOR_standard__kernel__Object__init
]))(var1
); /* init on <var1:OrderedTreeIterator[Object]>*/
892 /* method ordered_tree#OrderedTreeIterator#tree for (self: OrderedTreeIterator[Object]): OrderedTree[Object] */
893 val
* ordered_tree___ordered_tree__OrderedTreeIterator___tree(val
* self
) {
894 val
* var
/* : OrderedTree[Object] */;
895 val
* var1
/* : OrderedTree[Object] */;
896 var1
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___tree
].val
; /* _tree on <self:OrderedTreeIterator[Object]> */
897 if (unlikely(var1
== NULL
)) {
898 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tree");
899 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 189);
906 /* method ordered_tree#OrderedTreeIterator#tree= for (self: OrderedTreeIterator[Object], OrderedTree[Object]) */
907 void ordered_tree___ordered_tree__OrderedTreeIterator___tree_61d(val
* self
, val
* p0
) {
908 short int var
/* : Bool */;
911 const struct type
* type_struct
;
912 const char* var_class_name
;
913 /* Covariant cast for argument 0 (tree) <p0:OrderedTree[Object]> isa OrderedTree[E] */
914 /* <p0:OrderedTree[Object]> isa OrderedTree[E] */
915 type_struct
= self
->type
->resolution_table
->types
[COLOR_ordered_tree__OrderedTree__ordered_tree__OrderedTreeIterator___35dE
];
916 cltype
= type_struct
->color
;
917 idtype
= type_struct
->id
;
918 if(cltype
>= p0
->type
->table_size
) {
921 var
= p0
->type
->type_table
[cltype
] == idtype
;
923 if (unlikely(!var
)) {
924 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
925 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OrderedTree[E]", var_class_name
);
926 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 189);
929 self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___tree
].val
= p0
; /* _tree on <self:OrderedTreeIterator[Object]> */
932 /* method ordered_tree#OrderedTreeIterator#iterators for (self: OrderedTreeIterator[Object]): Array[Iterator[Object]] */
933 val
* ordered_tree___ordered_tree__OrderedTreeIterator___iterators(val
* self
) {
934 val
* var
/* : Array[Iterator[Object]] */;
935 val
* var1
/* : Array[Iterator[Object]] */;
936 var1
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___iterators
].val
; /* _iterators on <self:OrderedTreeIterator[Object]> */
937 if (unlikely(var1
== NULL
)) {
938 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators");
939 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 191);
946 /* method ordered_tree#OrderedTreeIterator#init for (self: OrderedTreeIterator[Object]) */
947 void ordered_tree___ordered_tree__OrderedTreeIterator___standard__kernel__Object__init(val
* self
) {
948 val
* var
/* : OrderedTree[Object] */;
949 val
* var2
/* : OrderedTree[Object] */;
950 short int var3
/* : Bool */;
951 short int var4
/* : Bool */;
952 val
* var5
/* : Array[Iterator[Object]] */;
953 val
* var7
/* : Array[Iterator[Object]] */;
954 val
* var8
/* : OrderedTree[Object] */;
955 val
* var10
/* : OrderedTree[Object] */;
956 val
* var11
/* : Array[Object] */;
957 val
* var13
/* : Array[Object] */;
958 val
* var14
/* : ArrayIterator[nullable Object] */;
960 { /* Inline ordered_tree#OrderedTreeIterator#tree (self) on <self:OrderedTreeIterator[Object]> */
961 var2
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___tree
].val
; /* _tree on <self:OrderedTreeIterator[Object]> */
962 if (unlikely(var2
== NULL
)) {
963 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tree");
964 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 189);
972 var3
= ordered_tree___ordered_tree__OrderedTree___standard__abstract_collection__Collection__is_empty(var
);
977 { /* Inline ordered_tree#OrderedTreeIterator#iterators (self) on <self:OrderedTreeIterator[Object]> */
978 var7
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___iterators
].val
; /* _iterators on <self:OrderedTreeIterator[Object]> */
979 if (unlikely(var7
== NULL
)) {
980 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators");
981 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 191);
989 { /* Inline ordered_tree#OrderedTreeIterator#tree (self) on <self:OrderedTreeIterator[Object]> */
990 var10
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___tree
].val
; /* _tree on <self:OrderedTreeIterator[Object]> */
991 if (unlikely(var10
== NULL
)) {
992 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tree");
993 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 189);
1001 { /* Inline ordered_tree#OrderedTree#roots (var8) on <var8:OrderedTree[Object]> */
1002 var13
= var8
->attrs
[COLOR_ordered_tree__OrderedTree___roots
].val
; /* _roots on <var8:OrderedTree[Object]> */
1003 if (unlikely(var13
== NULL
)) {
1004 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots");
1005 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 65);
1009 RET_LABEL12
:(void)0;
1013 var14
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var11
);
1016 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var5
, var14
); /* Direct call array#Array#add on <var5:Array[Iterator[Object]]>*/
1022 /* method ordered_tree#OrderedTreeIterator#is_ok for (self: OrderedTreeIterator[Object]): Bool */
1023 short int ordered_tree___ordered_tree__OrderedTreeIterator___standard__abstract_collection__Iterator__is_ok(val
* self
) {
1024 short int var
/* : Bool */;
1025 val
* var1
/* : Array[Iterator[Object]] */;
1026 val
* var3
/* : Array[Iterator[Object]] */;
1027 short int var4
/* : Bool */;
1028 short int var5
/* : Bool */;
1030 { /* Inline ordered_tree#OrderedTreeIterator#iterators (self) on <self:OrderedTreeIterator[Object]> */
1031 var3
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___iterators
].val
; /* _iterators on <self:OrderedTreeIterator[Object]> */
1032 if (unlikely(var3
== NULL
)) {
1033 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators");
1034 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 191);
1042 var4
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var1
);
1050 /* method ordered_tree#OrderedTreeIterator#item for (self: OrderedTreeIterator[Object]): Object */
1051 val
* ordered_tree___ordered_tree__OrderedTreeIterator___standard__abstract_collection__Iterator__item(val
* self
) {
1052 val
* var
/* : Object */;
1053 short int var1
/* : Bool */;
1054 val
* var2
/* : Array[Iterator[Object]] */;
1055 val
* var4
/* : Array[Iterator[Object]] */;
1056 val
* var5
/* : nullable Object */;
1057 val
* var6
/* : nullable Object */;
1059 var1
= ordered_tree___ordered_tree__OrderedTreeIterator___standard__abstract_collection__Iterator__is_ok(self
);
1061 if (unlikely(!var1
)) {
1062 PRINT_ERROR("Runtime error: %s", "Assert failed");
1063 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 202);
1067 { /* Inline ordered_tree#OrderedTreeIterator#iterators (self) on <self:OrderedTreeIterator[Object]> */
1068 var4
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___iterators
].val
; /* _iterators on <self:OrderedTreeIterator[Object]> */
1069 if (unlikely(var4
== NULL
)) {
1070 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators");
1071 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 191);
1079 var5
= standard___standard__SequenceRead___last(var2
);
1082 var6
= ((val
*(*)(val
* self
))((((long)var5
&3)?class_info
[((long)var5
&3)]:var5
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var5
); /* item on <var5:nullable Object(Iterator[Object])>*/
1089 /* method ordered_tree#OrderedTreeIterator#next for (self: OrderedTreeIterator[Object]) */
1090 void ordered_tree___ordered_tree__OrderedTreeIterator___standard__abstract_collection__Iterator__next(val
* self
) {
1091 short int var
/* : Bool */;
1092 val
* var1
/* : OrderedTree[Object] */;
1093 val
* var3
/* : OrderedTree[Object] */;
1094 val
* var4
/* : HashMap[Object, Array[Object]] */;
1095 val
* var6
/* : HashMap[Object, Array[Object]] */;
1096 val
* var7
/* : Object */;
1097 short int var8
/* : Bool */;
1098 val
* var9
/* : Array[Iterator[Object]] */;
1099 val
* var11
/* : Array[Iterator[Object]] */;
1100 val
* var12
/* : OrderedTree[Object] */;
1101 val
* var14
/* : OrderedTree[Object] */;
1102 val
* var15
/* : HashMap[Object, Array[Object]] */;
1103 val
* var17
/* : HashMap[Object, Array[Object]] */;
1104 val
* var18
/* : Object */;
1105 val
* var19
/* : nullable Object */;
1106 val
* var20
/* : ArrayIterator[nullable Object] */;
1107 val
* var21
/* : Array[Iterator[Object]] */;
1108 val
* var23
/* : Array[Iterator[Object]] */;
1109 val
* var24
/* : nullable Object */;
1110 short int var25
/* : Bool */;
1111 short int var26
/* : Bool */;
1112 short int var_
/* var : Bool */;
1113 val
* var27
/* : Array[Iterator[Object]] */;
1114 val
* var29
/* : Array[Iterator[Object]] */;
1115 val
* var30
/* : nullable Object */;
1116 short int var31
/* : Bool */;
1117 short int var32
/* : Bool */;
1118 val
* var33
/* : Array[Iterator[Object]] */;
1119 val
* var35
/* : Array[Iterator[Object]] */;
1120 val
* var36
/* : nullable Object */;
1121 short int var37
/* : Bool */;
1122 short int var38
/* : Bool */;
1123 short int var_39
/* var : Bool */;
1124 val
* var40
/* : Array[Iterator[Object]] */;
1125 val
* var42
/* : Array[Iterator[Object]] */;
1126 val
* var43
/* : nullable Object */;
1127 short int var44
/* : Bool */;
1128 val
* var45
/* : Array[Iterator[Object]] */;
1129 val
* var47
/* : Array[Iterator[Object]] */;
1130 val
* var48
/* : nullable Object */;
1132 var
= ordered_tree___ordered_tree__OrderedTreeIterator___standard__abstract_collection__Iterator__is_ok(self
);
1134 if (unlikely(!var
)) {
1135 PRINT_ERROR("Runtime error: %s", "Assert failed");
1136 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 207);
1140 { /* Inline ordered_tree#OrderedTreeIterator#tree (self) on <self:OrderedTreeIterator[Object]> */
1141 var3
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___tree
].val
; /* _tree on <self:OrderedTreeIterator[Object]> */
1142 if (unlikely(var3
== NULL
)) {
1143 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tree");
1144 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 189);
1152 { /* Inline ordered_tree#OrderedTree#sub (var1) on <var1:OrderedTree[Object]> */
1153 var6
= var1
->attrs
[COLOR_ordered_tree__OrderedTree___sub
].val
; /* _sub on <var1:OrderedTree[Object]> */
1154 if (unlikely(var6
== NULL
)) {
1155 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub");
1156 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 68);
1164 var7
= ordered_tree___ordered_tree__OrderedTreeIterator___standard__abstract_collection__Iterator__item(self
);
1167 var8
= standard___standard__HashMap___standard__abstract_collection__MapRead__has_key(var4
, var7
);
1171 { /* Inline ordered_tree#OrderedTreeIterator#iterators (self) on <self:OrderedTreeIterator[Object]> */
1172 var11
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___iterators
].val
; /* _iterators on <self:OrderedTreeIterator[Object]> */
1173 if (unlikely(var11
== NULL
)) {
1174 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators");
1175 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 191);
1179 RET_LABEL10
:(void)0;
1183 { /* Inline ordered_tree#OrderedTreeIterator#tree (self) on <self:OrderedTreeIterator[Object]> */
1184 var14
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___tree
].val
; /* _tree on <self:OrderedTreeIterator[Object]> */
1185 if (unlikely(var14
== NULL
)) {
1186 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tree");
1187 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 189);
1191 RET_LABEL13
:(void)0;
1195 { /* Inline ordered_tree#OrderedTree#sub (var12) on <var12:OrderedTree[Object]> */
1196 var17
= var12
->attrs
[COLOR_ordered_tree__OrderedTree___sub
].val
; /* _sub on <var12:OrderedTree[Object]> */
1197 if (unlikely(var17
== NULL
)) {
1198 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub");
1199 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 68);
1203 RET_LABEL16
:(void)0;
1207 var18
= ordered_tree___ordered_tree__OrderedTreeIterator___standard__abstract_collection__Iterator__item(self
);
1210 var19
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var15
, var18
);
1213 var20
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var19
);
1216 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var9
, var20
); /* Direct call array#Array#add on <var9:Array[Iterator[Object]]>*/
1220 { /* Inline ordered_tree#OrderedTreeIterator#iterators (self) on <self:OrderedTreeIterator[Object]> */
1221 var23
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___iterators
].val
; /* _iterators on <self:OrderedTreeIterator[Object]> */
1222 if (unlikely(var23
== NULL
)) {
1223 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators");
1224 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 191);
1228 RET_LABEL22
:(void)0;
1232 var24
= standard___standard__SequenceRead___last(var21
);
1235 ((void(*)(val
* self
))((((long)var24
&3)?class_info
[((long)var24
&3)]:var24
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var24
); /* next on <var24:nullable Object(Iterator[Object])>*/
1239 var26
= ordered_tree___ordered_tree__OrderedTreeIterator___standard__abstract_collection__Iterator__is_ok(self
);
1244 { /* Inline ordered_tree#OrderedTreeIterator#iterators (self) on <self:OrderedTreeIterator[Object]> */
1245 var29
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___iterators
].val
; /* _iterators on <self:OrderedTreeIterator[Object]> */
1246 if (unlikely(var29
== NULL
)) {
1247 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators");
1248 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 191);
1252 RET_LABEL28
:(void)0;
1256 var30
= standard___standard__SequenceRead___last(var27
);
1259 var31
= ((short int(*)(val
* self
))((((long)var30
&3)?class_info
[((long)var30
&3)]:var30
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var30
); /* is_ok on <var30:nullable Object(Iterator[Object])>*/
1268 { /* Inline ordered_tree#OrderedTreeIterator#iterators (self) on <self:OrderedTreeIterator[Object]> */
1269 var35
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___iterators
].val
; /* _iterators on <self:OrderedTreeIterator[Object]> */
1270 if (unlikely(var35
== NULL
)) {
1271 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators");
1272 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 191);
1276 RET_LABEL34
:(void)0;
1280 var36
= standard___standard__AbstractArray___standard__abstract_collection__Sequence__pop(var33
);
1283 var38
= ordered_tree___ordered_tree__OrderedTreeIterator___standard__abstract_collection__Iterator__is_ok(self
);
1288 { /* Inline ordered_tree#OrderedTreeIterator#iterators (self) on <self:OrderedTreeIterator[Object]> */
1289 var42
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___iterators
].val
; /* _iterators on <self:OrderedTreeIterator[Object]> */
1290 if (unlikely(var42
== NULL
)) {
1291 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators");
1292 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 191);
1296 RET_LABEL41
:(void)0;
1300 var43
= standard___standard__SequenceRead___last(var40
);
1303 var44
= ((short int(*)(val
* self
))((((long)var43
&3)?class_info
[((long)var43
&3)]:var43
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var43
); /* is_ok on <var43:nullable Object(Iterator[Object])>*/
1311 { /* Inline ordered_tree#OrderedTreeIterator#iterators (self) on <self:OrderedTreeIterator[Object]> */
1312 var47
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___iterators
].val
; /* _iterators on <self:OrderedTreeIterator[Object]> */
1313 if (unlikely(var47
== NULL
)) {
1314 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators");
1315 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 191);
1319 RET_LABEL46
:(void)0;
1323 var48
= standard___standard__SequenceRead___last(var45
);
1326 ((void(*)(val
* self
))((((long)var48
&3)?class_info
[((long)var48
&3)]:var48
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var48
); /* next on <var48:nullable Object(Iterator[Object])>*/
1334 BREAK_label
: (void)0;
1338 /* method ordered_tree#OrderedTreeIterator#iterator for (self: OrderedTreeIterator[Object]): Iterator[Object] */
1339 val
* ordered_tree___ordered_tree__OrderedTreeIterator___standard__abstract_collection__Iterator__iterator(val
* self
) {
1340 val
* var
/* : Iterator[Object] */;
1341 val
* var1
/* : OrderedTreeIterator[Object] */;
1342 val
* var2
/* : OrderedTree[Object] */;
1343 val
* var4
/* : OrderedTree[Object] */;
1344 var1
= NEW_ordered_tree__OrderedTreeIterator(self
->type
->resolution_table
->types
[COLOR_ordered_tree__OrderedTreeIterator__ordered_tree__OrderedTreeIterator___35dE
]);
1346 { /* Inline ordered_tree#OrderedTreeIterator#tree (self) on <self:OrderedTreeIterator[Object]> */
1347 var4
= self
->attrs
[COLOR_ordered_tree__OrderedTreeIterator___tree
].val
; /* _tree on <self:OrderedTreeIterator[Object]> */
1348 if (unlikely(var4
== NULL
)) {
1349 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tree");
1350 PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree
, 189);
1358 ((void(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_ordered_tree__OrderedTreeIterator__tree_61d
]))(var1
, var2
); /* tree= on <var1:OrderedTreeIterator[Object]>*/
1361 ((void(*)(val
* self
))(var1
->class->vft
[COLOR_standard__kernel__Object__init
]))(var1
); /* init on <var1:OrderedTreeIterator[Object]>*/