X-Git-Url: http://nitlanguage.org diff --git a/c_src/ordered_tree.sep.1.c b/c_src/ordered_tree.sep.1.c index a44df3a..58bc3c7 100644 --- a/c_src/ordered_tree.sep.1.c +++ b/c_src/ordered_tree.sep.1.c @@ -6,7 +6,7 @@ val* var1 /* : Array[Object] */; var1 = self->attrs[COLOR_ordered_tree__OrderedTree___roots].val; /* _roots on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 65); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 66); fatal_exit(1); } var = var1; @@ -20,13 +20,81 @@ val* var1 /* : HashMap[Object, Array[Object]] */; var1 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 68); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); fatal_exit(1); } var = var1; RET_LABEL:; return var; } +/* method ordered_tree#OrderedTree#parents for (self: OrderedTree[Object]): HashMap[Object, nullable Object] */ +val* ordered_tree___ordered_tree__OrderedTree___parents(val* self) { +val* var /* : HashMap[Object, nullable Object] */; +val* var1 /* : HashMap[Object, nullable Object] */; +var1 = self->attrs[COLOR_ordered_tree__OrderedTree___parents].val; /* _parents on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _parents"); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 73); +fatal_exit(1); +} +var = var1; +RET_LABEL:; +return var; +} +/* method ordered_tree#OrderedTree#length for (self: OrderedTree[Object]): Int */ +long ordered_tree___ordered_tree__OrderedTree___core__abstract_collection__Collection__length(val* self) { +long var /* : Int */; +val* var1 /* : HashMap[Object, nullable Object] */; +val* var3 /* : HashMap[Object, nullable Object] */; +long var4 /* : Int */; +{ +{ /* Inline ordered_tree#OrderedTree#parents (self) on */ +var3 = self->attrs[COLOR_ordered_tree__OrderedTree___parents].val; /* _parents on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _parents"); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 73); +fatal_exit(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} +} +{ +var4 = core___core__HashMap___core__abstract_collection__MapRead__length(var1); +} +var = var4; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method ordered_tree#OrderedTree#has for (self: OrderedTree[Object], nullable Object): Bool */ +short int ordered_tree___ordered_tree__OrderedTree___core__abstract_collection__Collection__has(val* self, val* p0) { +short int var /* : Bool */; +val* var_e /* var e: nullable Object */; +val* var1 /* : HashMap[Object, nullable Object] */; +val* var3 /* : HashMap[Object, nullable Object] */; +short int var4 /* : Bool */; +var_e = p0; +{ +{ /* Inline ordered_tree#OrderedTree#parents (self) on */ +var3 = self->attrs[COLOR_ordered_tree__OrderedTree___parents].val; /* _parents on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _parents"); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 73); +fatal_exit(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} +} +{ +var4 = core___core__HashMap___core__abstract_collection__MapRead__has_key(var1, var_e); +} +var = var4; +goto RET_LABEL; +RET_LABEL:; +return var; +} /* method ordered_tree#OrderedTree#add for (self: OrderedTree[Object], nullable Object, Object) */ void ordered_tree___ordered_tree__OrderedTree___add(val* self, val* p0, val* p1) { short int var /* : Bool */; @@ -41,19 +109,23 @@ const struct type* type_struct4; const char* var_class_name5; val* var_p /* var p: nullable Object */; val* var_e /* var e: Object */; -short int var6 /* : Bool */; -short int var7 /* : Bool */; -val* var8 /* : Array[Object] */; -val* var10 /* : Array[Object] */; -val* var11 /* : HashMap[Object, Array[Object]] */; -val* var13 /* : HashMap[Object, Array[Object]] */; +val* var6 /* : HashMap[Object, nullable Object] */; +val* var8 /* : HashMap[Object, nullable Object] */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; +val* var11 /* : Array[Object] */; +val* var13 /* : Array[Object] */; short int var14 /* : Bool */; -val* var15 /* : HashMap[Object, Array[Object]] */; -val* var17 /* : HashMap[Object, Array[Object]] */; -val* var18 /* : nullable Object */; -val* var19 /* : HashMap[Object, Array[Object]] */; -val* var21 /* : HashMap[Object, Array[Object]] */; -val* var22 /* : Array[Object] */; +short int var15 /* : Bool */; +val* var16 /* : HashMap[Object, Array[Object]] */; +val* var18 /* : HashMap[Object, Array[Object]] */; +short int var19 /* : Bool */; +val* var20 /* : HashMap[Object, Array[Object]] */; +val* var22 /* : HashMap[Object, Array[Object]] */; +val* var23 /* : nullable Object */; +val* var24 /* : HashMap[Object, Array[Object]] */; +val* var26 /* : HashMap[Object, Array[Object]] */; +val* var27 /* : Array[Object] */; val* var_ /* var : Array[Object] */; /* Covariant cast for argument 0 (p) isa nullable E */ /* isa nullable E */ @@ -72,7 +144,7 @@ var = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idt if (unlikely(!var)) { var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable E", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 72); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 94); fatal_exit(1); } /* Covariant cast for argument 1 (e) isa E */ @@ -88,107 +160,285 @@ var1 = (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->type_table[cltype2] == i if (unlikely(!var1)) { var_class_name5 = p1 == NULL ? "null" : (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name5); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 72); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 94); fatal_exit(1); } var_p = p0; var_e = p1; +{ +ordered_tree___ordered_tree__OrderedTree___detach(self, var_e); /* Direct call ordered_tree#OrderedTree#detach on */ +} +{ +{ /* Inline ordered_tree#OrderedTree#parents (self) on */ +var8 = self->attrs[COLOR_ordered_tree__OrderedTree___parents].val; /* _parents on */ +if (unlikely(var8 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _parents"); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 73); +fatal_exit(1); +} +var6 = var8; +RET_LABEL7:(void)0; +} +} +{ +core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var6, var_e, var_p); /* Direct call hash_collection#HashMap#[]= on */ +} if (var_p == NULL) { -var6 = 1; /* is null */ +var9 = 1; /* is null */ } else { -var6 = 0; /* arg is null but recv is not */ +var9 = 0; /* arg is null but recv is not */ } if (0) { -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 */ -var6 = var7; +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 */ +var9 = var10; } -if (var6){ +if (var9){ { { /* Inline ordered_tree#OrderedTree#roots (self) on */ -var10 = self->attrs[COLOR_ordered_tree__OrderedTree___roots].val; /* _roots on */ -if (unlikely(var10 == NULL)) { +var13 = self->attrs[COLOR_ordered_tree__OrderedTree___roots].val; /* _roots on */ +if (unlikely(var13 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 65); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 66); fatal_exit(1); } -var8 = var10; -RET_LABEL9:(void)0; +var11 = var13; +RET_LABEL12:(void)0; } } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var8, var_e); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var11, var_e); /* Direct call array#Array#add on */ } } else { { +var14 = ordered_tree___ordered_tree__OrderedTree___core__abstract_collection__Collection__has(self, var_p); +} +var15 = !var14; +if (var15){ +{ +ordered_tree___ordered_tree__OrderedTree___add(self, ((val*)NULL), var_p); /* Direct call ordered_tree#OrderedTree#add on */ +} +} else { +} +{ { /* Inline ordered_tree#OrderedTree#sub (self) on */ -var13 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ -if (unlikely(var13 == NULL)) { +var18 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ +if (unlikely(var18 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 68); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); fatal_exit(1); } -var11 = var13; -RET_LABEL12:(void)0; +var16 = var18; +RET_LABEL17:(void)0; } } { -var14 = standard___standard__HashMap___standard__abstract_collection__MapRead__has_key(var11, var_p); +var19 = core___core__HashMap___core__abstract_collection__MapRead__has_key(var16, var_p); } -if (var14){ +if (var19){ { { /* Inline ordered_tree#OrderedTree#sub (self) on */ -var17 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ -if (unlikely(var17 == NULL)) { +var22 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ +if (unlikely(var22 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 68); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); fatal_exit(1); } -var15 = var17; -RET_LABEL16:(void)0; +var20 = var22; +RET_LABEL21:(void)0; } } { -var18 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var15, var_p); +var23 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var20, var_p); } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var18, var_e); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var23, var_e); /* Direct call array#Array#add on */ } } else { { { /* Inline ordered_tree#OrderedTree#sub (self) on */ -var21 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ -if (unlikely(var21 == NULL)) { +var26 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ +if (unlikely(var26 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 68); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); fatal_exit(1); } -var19 = var21; -RET_LABEL20:(void)0; +var24 = var26; +RET_LABEL25:(void)0; +} +} +var27 = NEW_core__Array(self->type->resolution_table->types[COLOR_core__Array__ordered_tree__OrderedTree___35dE]); +{ +core___core__Array___with_capacity(var27, 1l); /* Direct call array#Array#with_capacity on */ +} +var_ = var27; +{ +core___core__AbstractArray___core__abstract_collection__Sequence__push(var_, var_e); /* Direct call array#AbstractArray#push on */ +} +{ +core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var24, var_p, var_); /* Direct call hash_collection#HashMap#[]= on */ +} +} +} +RET_LABEL:; +} +/* method ordered_tree#OrderedTree#detach for (self: OrderedTree[Object], Object) */ +void ordered_tree___ordered_tree__OrderedTree___detach(val* self, val* p0) { +short int var /* : Bool */; +int cltype; +int idtype; +const struct type* type_struct; +const char* var_class_name; +val* var_e /* var e: Object */; +val* var1 /* : HashMap[Object, nullable Object] */; +val* var3 /* : HashMap[Object, nullable Object] */; +val* var4 /* : nullable Object */; +val* var_old_parent /* var old_parent: nullable Object */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; +val* var7 /* : HashMap[Object, Array[Object]] */; +val* var9 /* : HashMap[Object, Array[Object]] */; +val* var10 /* : nullable Object */; +val* var_subs /* var subs: Array[Object] */; +short int var11 /* : Bool */; +val* var12 /* : HashMap[Object, Array[Object]] */; +val* var14 /* : HashMap[Object, Array[Object]] */; +val* var15 /* : RemovableCollection[nullable Object] */; +val* var16 /* : Array[Object] */; +val* var18 /* : Array[Object] */; +short int var19 /* : Bool */; +val* var20 /* : Array[Object] */; +val* var22 /* : Array[Object] */; +/* Covariant cast for argument 0 (e) isa E */ +/* isa E */ +type_struct = self->type->resolution_table->types[COLOR_ordered_tree__OrderedTree___35dE]; +cltype = type_struct->color; +idtype = type_struct->id; +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { +var = 0; +} else { +var = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; +} +if (unlikely(!var)) { +var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 123); +fatal_exit(1); +} +var_e = p0; +{ +{ /* Inline ordered_tree#OrderedTree#parents (self) on */ +var3 = self->attrs[COLOR_ordered_tree__OrderedTree___parents].val; /* _parents on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _parents"); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 73); +fatal_exit(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} +} +{ +var4 = core___core__HashMap___core__abstract_collection__MapRead__get_or_null(var1, var_e); +} +var_old_parent = var4; +if (var_old_parent == NULL) { +var5 = 0; /* is null */ +} else { +var5 = 1; /* arg is null and recv is not */ +} +if (0) { +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 */ +var5 = var6; +} +if (var5){ +{ +{ /* Inline ordered_tree#OrderedTree#sub (self) on */ +var9 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ +if (unlikely(var9 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); +fatal_exit(1); +} +var7 = var9; +RET_LABEL8:(void)0; +} +} +{ +var10 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var7, var_old_parent); +} +var_subs = var10; +{ +core___core__AbstractArray___core__abstract_collection__RemovableCollection__remove(var_subs, var_e); /* Direct call array#AbstractArray#remove on */ +} +{ +var11 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_subs); +} +if (var11){ +{ +{ /* Inline ordered_tree#OrderedTree#sub (self) on */ +var14 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ +if (unlikely(var14 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); +fatal_exit(1); +} +var12 = var14; +RET_LABEL13:(void)0; +} +} +{ +var15 = core___core__HashMap___core__abstract_collection__MapRead__keys(var12); +} +{ +((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 */ } +} else { } -var22 = NEW_standard__Array(self->type->resolution_table->types[COLOR_standard__Array__ordered_tree__OrderedTree___35dE]); +} else { { -standard___standard__Array___with_capacity(var22, 1l); /* Direct call array#Array#with_capacity on */ +{ /* Inline ordered_tree#OrderedTree#roots (self) on */ +var18 = self->attrs[COLOR_ordered_tree__OrderedTree___roots].val; /* _roots on */ +if (unlikely(var18 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots"); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 66); +fatal_exit(1); +} +var16 = var18; +RET_LABEL17:(void)0; +} } -var_ = var22; { -standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_, var_e); /* Direct call array#AbstractArray#push on */ +var19 = core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var16, var_e); } +if (var19){ { -standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var19, var_p, var_); /* Direct call hash_collection#HashMap#[]= on */ +{ /* Inline ordered_tree#OrderedTree#roots (self) on */ +var22 = self->attrs[COLOR_ordered_tree__OrderedTree___roots].val; /* _roots on */ +if (unlikely(var22 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots"); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 66); +fatal_exit(1); } +var20 = var22; +RET_LABEL21:(void)0; +} +} +{ +core___core__AbstractArray___core__abstract_collection__RemovableCollection__remove(var20, var_e); /* Direct call array#AbstractArray#remove on */ +} +} else { } } RET_LABEL:; } /* method ordered_tree#OrderedTree#write_to for (self: OrderedTree[Object], Writer) */ -void ordered_tree___ordered_tree__OrderedTree___standard__stream__Writable__write_to(val* self, val* p0) { +void ordered_tree___ordered_tree__OrderedTree___core__stream__Writable__write_to(val* self, val* p0) { val* var_stream /* var stream: Writer */; val* var /* : Array[Object] */; val* var2 /* : Array[Object] */; val* var_ /* var : Array[Object] */; -val* var3 /* : ArrayIterator[nullable Object] */; -val* var_4 /* var : ArrayIterator[Object] */; +val* var3 /* : IndexedIterator[nullable Object] */; +val* var_4 /* var : IndexedIterator[Object] */; short int var5 /* : Bool */; val* var6 /* : nullable Object */; val* var_r /* var r: Object */; @@ -196,18 +446,18 @@ val* var7 /* : String */; static val* varonce; val* var8 /* : String */; char* var9 /* : NativeString */; -val* var10 /* : FlatString */; +val* var10 /* : String */; static val* varonce11; val* var12 /* : String */; char* var13 /* : NativeString */; -val* var14 /* : FlatString */; +val* var14 /* : String */; var_stream = p0; { { /* Inline ordered_tree#OrderedTree#roots (self) on */ var2 = self->attrs[COLOR_ordered_tree__OrderedTree___roots].val; /* _roots on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 65); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 66); fatal_exit(1); } var = var2; @@ -216,40 +466,43 @@ RET_LABEL1:(void)0; } var_ = var; { -var3 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); +var3 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_); } var_4 = var3; for(;;) { { -var5 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_4); +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 */ } if (var5){ +} else { +goto BREAK_label; +} { -var6 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_4); +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_r = var6; { var7 = ordered_tree___ordered_tree__OrderedTree___display(self, var_r); } { -standard___standard__FileWriter___standard__stream__Writer__write(var_stream, var7); /* Direct call file#FileWriter#write on */ +core___core__FileWriter___core__stream__Writer__write(var_stream, var7); /* Direct call file#FileWriter#write on */ } if (likely(varonce!=NULL)) { var8 = varonce; } else { var9 = "\n"; -var10 = standard___standard__NativeString___to_s_with_length(var9, 1l); +var10 = core__flat___NativeString___to_s_full(var9, 1l, 1l); var8 = var10; varonce = var8; } { -standard___standard__FileWriter___standard__stream__Writer__write(var_stream, var8); /* Direct call file#FileWriter#write on */ +core___core__FileWriter___core__stream__Writer__write(var_stream, var8); /* Direct call file#FileWriter#write on */ } if (likely(varonce11!=NULL)) { var12 = varonce11; } else { var13 = ""; -var14 = standard___standard__NativeString___to_s_with_length(var13, 0l); +var14 = core__flat___NativeString___to_s_full(var13, 0l, 0l); var12 = var14; varonce11 = var12; } @@ -257,15 +510,12 @@ varonce11 = var12; ordered_tree___ordered_tree__OrderedTree___sub_write_to(self, var_stream, var_r, var12); /* Direct call ordered_tree#OrderedTree#sub_write_to on */ } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_4); /* Direct call array#ArrayIterator#next on */ -} -} else { -goto BREAK_label; +((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 */ } } BREAK_label: (void)0; { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_4); /* Direct call array#ArrayIterator#finish on */ +((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 */ } RET_LABEL:; } @@ -287,49 +537,50 @@ val* var6 /* : HashMap[Object, Array[Object]] */; val* var8 /* : HashMap[Object, Array[Object]] */; val* var9 /* : nullable Object */; val* var_subs /* var subs: Array[Object] */; -val* var10 /* : nullable Object */; +short int var10 /* : Bool */; +val* var11 /* : nullable Object */; val* var_last /* var last: Object */; val* var_ /* var : Array[Object] */; -val* var11 /* : ArrayIterator[nullable Object] */; -val* var_12 /* var : ArrayIterator[Object] */; -short int var13 /* : Bool */; -val* var14 /* : nullable Object */; +val* var12 /* : IndexedIterator[nullable Object] */; +val* var_13 /* var : IndexedIterator[Object] */; +short int var14 /* : Bool */; +val* var15 /* : nullable Object */; val* var_e2 /* var e2: Object */; -short int var15 /* : Bool */; -val* var16 /* : NativeArray[String] */; +short int var16 /* : Bool */; +val* var17 /* : NativeArray[String] */; static val* varonce; -static val* varonce17; -val* var18 /* : String */; -char* var19 /* : NativeString */; -val* var20 /* : FlatString */; -static val* varonce21; -val* var22 /* : String */; -char* var23 /* : NativeString */; -val* var24 /* : FlatString */; +static val* varonce18; +val* var19 /* : String */; +char* var20 /* : NativeString */; +val* var21 /* : String */; +static val* varonce22; +val* var23 /* : String */; +char* var24 /* : NativeString */; val* var25 /* : String */; val* var26 /* : String */; -static val* varonce27; -val* var28 /* : String */; -char* var29 /* : NativeString */; -val* var30 /* : FlatString */; +val* var27 /* : String */; +static val* varonce28; +val* var29 /* : String */; +char* var30 /* : NativeString */; val* var31 /* : String */; -val* var33 /* : NativeArray[String] */; -static val* varonce32; -static val* varonce34; -val* var35 /* : String */; -char* var36 /* : NativeString */; -val* var37 /* : FlatString */; -static val* varonce38; -val* var39 /* : String */; -char* var40 /* : NativeString */; -val* var41 /* : FlatString */; +val* var32 /* : String */; +val* var34 /* : NativeArray[String] */; +static val* varonce33; +static val* varonce35; +val* var36 /* : String */; +char* var37 /* : NativeString */; +val* var38 /* : String */; +static val* varonce39; +val* var40 /* : String */; +char* var41 /* : NativeString */; val* var42 /* : String */; val* var43 /* : String */; -static val* varonce44; -val* var45 /* : String */; -char* var46 /* : NativeString */; -val* var47 /* : FlatString */; +val* var44 /* : String */; +static val* varonce45; +val* var46 /* : String */; +char* var47 /* : NativeString */; val* var48 /* : String */; +val* var49 /* : String */; /* Covariant cast for argument 1 (e) isa E */ /* isa E */ type_struct = self->type->resolution_table->types[COLOR_ordered_tree__OrderedTree___35dE]; @@ -343,7 +594,7 @@ var = (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->type_table[cltype] == idt if (unlikely(!var)) { var_class_name = p1 == NULL ? "null" : (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 97); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 156); fatal_exit(1); } var_o = p0; @@ -354,7 +605,7 @@ var_prefix = p2; var3 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 68); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); fatal_exit(1); } var1 = var3; @@ -362,7 +613,7 @@ RET_LABEL2:(void)0; } } { -var4 = standard___standard__HashMap___standard__abstract_collection__MapRead__has_key(var1, var_e); +var4 = core___core__HashMap___core__abstract_collection__MapRead__has_key(var1, var_e); } var5 = !var4; if (var5){ @@ -374,7 +625,7 @@ goto RET_LABEL; var8 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ if (unlikely(var8 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 68); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); fatal_exit(1); } var6 = var8; @@ -382,143 +633,150 @@ RET_LABEL7:(void)0; } } { -var9 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var6, var_e); +var9 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var6, var_e); } var_subs = var9; { -var10 = standard___standard__SequenceRead___last(var_subs); +var10 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_subs); } -var_last = var10; +if (var10){ +goto RET_LABEL; +} else { +} +{ +var11 = core___core__SequenceRead___last(var_subs); +} +var_last = var11; var_ = var_subs; { -var11 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); +var12 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_); } -var_12 = var11; +var_13 = var12; for(;;) { { -var13 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_12); +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 */ +} +if (var14){ +} else { +goto BREAK_label; } -if (var13){ { -var14 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_12); +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_e2 = var14; +var_e2 = var15; { -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 */ +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 */ } -if (var15){ +if (var16){ if (unlikely(varonce==NULL)) { -var16 = NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String); -if (likely(varonce17!=NULL)) { -var18 = varonce17; +var17 = NEW_core__NativeArray(4l, &type_core__NativeArray__core__String); +if (likely(varonce18!=NULL)) { +var19 = varonce18; } else { -var19 = "|--"; -var20 = standard___standard__NativeString___to_s_with_length(var19, 3l); -var18 = var20; -varonce17 = var18; -} -((struct instance_standard__NativeArray*)var16)->values[1]=var18; -if (likely(varonce21!=NULL)) { -var22 = varonce21; +var20 = "|--"; +var21 = core__flat___NativeString___to_s_full(var20, 3l, 3l); +var19 = var21; +varonce18 = var19; +} +((struct instance_core__NativeArray*)var17)->values[1]=var19; +if (likely(varonce22!=NULL)) { +var23 = varonce22; } else { -var23 = "\n"; -var24 = standard___standard__NativeString___to_s_with_length(var23, 1l); -var22 = var24; -varonce21 = var22; +var24 = "\n"; +var25 = core__flat___NativeString___to_s_full(var24, 1l, 1l); +var23 = var25; +varonce22 = var23; } -((struct instance_standard__NativeArray*)var16)->values[3]=var22; +((struct instance_core__NativeArray*)var17)->values[3]=var23; } else { -var16 = varonce; +var17 = varonce; varonce = NULL; } -((struct instance_standard__NativeArray*)var16)->values[0]=var_prefix; +((struct instance_core__NativeArray*)var17)->values[0]=var_prefix; { -var25 = ordered_tree___ordered_tree__OrderedTree___display(self, var_e2); +var26 = ordered_tree___ordered_tree__OrderedTree___display(self, var_e2); } -((struct instance_standard__NativeArray*)var16)->values[2]=var25; +((struct instance_core__NativeArray*)var17)->values[2]=var26; { -var26 = ((val*(*)(val* self))(var16->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var16); /* native_to_s on */ +var27 = ((val*(*)(val* self))(var17->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var17); /* native_to_s on */ } -varonce = var16; +varonce = var17; { -standard___standard__FileWriter___standard__stream__Writer__write(var_o, var26); /* Direct call file#FileWriter#write on */ +core___core__FileWriter___core__stream__Writer__write(var_o, var27); /* Direct call file#FileWriter#write on */ } -if (likely(varonce27!=NULL)) { -var28 = varonce27; +if (likely(varonce28!=NULL)) { +var29 = varonce28; } else { -var29 = "| "; -var30 = standard___standard__NativeString___to_s_with_length(var29, 3l); -var28 = var30; -varonce27 = var28; +var30 = "| "; +var31 = core__flat___NativeString___to_s_full(var30, 3l, 3l); +var29 = var31; +varonce28 = var29; } { -var31 = ((val*(*)(val* self, val* p0))(var_prefix->class->vft[COLOR_standard__string__String___43d]))(var_prefix, var28); /* + on */ +var32 = ((val*(*)(val* self, val* p0))(var_prefix->class->vft[COLOR_core__abstract_text__String___43d]))(var_prefix, var29); /* + on */ } { -ordered_tree___ordered_tree__OrderedTree___sub_write_to(self, var_o, var_e2, var31); /* Direct call ordered_tree#OrderedTree#sub_write_to on */ +ordered_tree___ordered_tree__OrderedTree___sub_write_to(self, var_o, var_e2, var32); /* Direct call ordered_tree#OrderedTree#sub_write_to on */ } } else { -if (unlikely(varonce32==NULL)) { -var33 = NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String); -if (likely(varonce34!=NULL)) { -var35 = varonce34; +if (unlikely(varonce33==NULL)) { +var34 = NEW_core__NativeArray(4l, &type_core__NativeArray__core__String); +if (likely(varonce35!=NULL)) { +var36 = varonce35; } else { -var36 = "`--"; -var37 = standard___standard__NativeString___to_s_with_length(var36, 3l); -var35 = var37; -varonce34 = var35; -} -((struct instance_standard__NativeArray*)var33)->values[1]=var35; -if (likely(varonce38!=NULL)) { -var39 = varonce38; +var37 = "`--"; +var38 = core__flat___NativeString___to_s_full(var37, 3l, 3l); +var36 = var38; +varonce35 = var36; +} +((struct instance_core__NativeArray*)var34)->values[1]=var36; +if (likely(varonce39!=NULL)) { +var40 = varonce39; } else { -var40 = "\n"; -var41 = standard___standard__NativeString___to_s_with_length(var40, 1l); -var39 = var41; -varonce38 = var39; +var41 = "\n"; +var42 = core__flat___NativeString___to_s_full(var41, 1l, 1l); +var40 = var42; +varonce39 = var40; } -((struct instance_standard__NativeArray*)var33)->values[3]=var39; +((struct instance_core__NativeArray*)var34)->values[3]=var40; } else { -var33 = varonce32; -varonce32 = NULL; +var34 = varonce33; +varonce33 = NULL; } -((struct instance_standard__NativeArray*)var33)->values[0]=var_prefix; +((struct instance_core__NativeArray*)var34)->values[0]=var_prefix; { -var42 = ordered_tree___ordered_tree__OrderedTree___display(self, var_e2); +var43 = ordered_tree___ordered_tree__OrderedTree___display(self, var_e2); } -((struct instance_standard__NativeArray*)var33)->values[2]=var42; +((struct instance_core__NativeArray*)var34)->values[2]=var43; { -var43 = ((val*(*)(val* self))(var33->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var33); /* native_to_s on */ +var44 = ((val*(*)(val* self))(var34->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var34); /* native_to_s on */ } -varonce32 = var33; +varonce33 = var34; { -standard___standard__FileWriter___standard__stream__Writer__write(var_o, var43); /* Direct call file#FileWriter#write on */ +core___core__FileWriter___core__stream__Writer__write(var_o, var44); /* Direct call file#FileWriter#write on */ } -if (likely(varonce44!=NULL)) { -var45 = varonce44; +if (likely(varonce45!=NULL)) { +var46 = varonce45; } else { -var46 = " "; -var47 = standard___standard__NativeString___to_s_with_length(var46, 3l); -var45 = var47; -varonce44 = var45; +var47 = " "; +var48 = core__flat___NativeString___to_s_full(var47, 3l, 3l); +var46 = var48; +varonce45 = var46; } { -var48 = ((val*(*)(val* self, val* p0))(var_prefix->class->vft[COLOR_standard__string__String___43d]))(var_prefix, var45); /* + on */ +var49 = ((val*(*)(val* self, val* p0))(var_prefix->class->vft[COLOR_core__abstract_text__String___43d]))(var_prefix, var46); /* + on */ } { -ordered_tree___ordered_tree__OrderedTree___sub_write_to(self, var_o, var_e2, var48); /* Direct call ordered_tree#OrderedTree#sub_write_to on */ +ordered_tree___ordered_tree__OrderedTree___sub_write_to(self, var_o, var_e2, var49); /* Direct call ordered_tree#OrderedTree#sub_write_to on */ } } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_12); /* Direct call array#ArrayIterator#next on */ -} -} else { -goto BREAK_label; +((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 */ } } BREAK_label: (void)0; { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_12); /* Direct call array#ArrayIterator#finish on */ +((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 */ } RET_LABEL:; } @@ -542,7 +800,7 @@ var_comparator = p0; var2 = self->attrs[COLOR_ordered_tree__OrderedTree___roots].val; /* _roots on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 65); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 66); fatal_exit(1); } var = var2; @@ -550,14 +808,14 @@ RET_LABEL1:(void)0; } } { -standard___standard__Comparator___sort(var_comparator, var); /* Direct call sorter#Comparator#sort on */ +core___core__Comparator___sort(var_comparator, var); /* Direct call sorter#Comparator#sort on */ } { { /* Inline ordered_tree#OrderedTree#sub (self) on */ var5 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ if (unlikely(var5 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 68); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); fatal_exit(1); } var3 = var5; @@ -565,35 +823,35 @@ RET_LABEL4:(void)0; } } { -var6 = standard___standard__HashMap___standard__abstract_collection__MapRead__values(var3); +var6 = core___core__HashMap___core__abstract_collection__MapRead__values(var3); } var_ = var6; { -var7 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_); /* iterator on */ +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_8 = var7; for(;;) { { -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 */ +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 */ } if (var9){ +} else { +goto BREAK_label; +} { -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 */ +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_a = var10; { -standard___standard__Comparator___sort(var_comparator, var_a); /* Direct call sorter#Comparator#sort on */ +core___core__Comparator___sort(var_comparator, var_a); /* Direct call sorter#Comparator#sort on */ } { -((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 */ -} -} else { -goto BREAK_label; +((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 */ } } BREAK_label: (void)0; { -((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 */ +((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 */ } RET_LABEL:; } @@ -620,12 +878,12 @@ var1 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == id if (unlikely(!var1)) { var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 123); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 183); fatal_exit(1); } var_e = p0; { -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 */ +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 = var2; goto RET_LABEL; @@ -633,21 +891,21 @@ RET_LABEL:; return var; } /* method ordered_tree#OrderedTree#to_a for (self: OrderedTree[Object]): Array[Object] */ -val* ordered_tree___ordered_tree__OrderedTree___standard__array__Collection__to_a(val* self) { +val* ordered_tree___ordered_tree__OrderedTree___core__array__Collection__to_a(val* self) { val* var /* : Array[Object] */; val* var1 /* : Array[Object] */; val* var_res /* var res: Array[Object] */; val* var2 /* : Array[Object] */; val* var4 /* : Array[Object] */; val* var_ /* var : Array[Object] */; -val* var5 /* : ArrayIterator[nullable Object] */; -val* var_6 /* var : ArrayIterator[Object] */; +val* var5 /* : IndexedIterator[nullable Object] */; +val* var_6 /* var : IndexedIterator[Object] */; short int var7 /* : Bool */; val* var8 /* : nullable Object */; val* var_r /* var r: Object */; -var1 = NEW_standard__Array(self->type->resolution_table->types[COLOR_standard__Array__ordered_tree__OrderedTree___35dE]); +var1 = NEW_core__Array(self->type->resolution_table->types[COLOR_core__Array__ordered_tree__OrderedTree___35dE]); { -standard___standard__Array___standard__kernel__Object__init(var1); /* Direct call array#Array#init on */ +core___core__Array___core__kernel__Object__init(var1); /* Direct call array#Array#init on */ } var_res = var1; { @@ -655,7 +913,7 @@ var_res = var1; var4 = self->attrs[COLOR_ordered_tree__OrderedTree___roots].val; /* _roots on */ if (unlikely(var4 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 65); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 66); fatal_exit(1); } var2 = var4; @@ -664,31 +922,31 @@ RET_LABEL3:(void)0; } var_ = var2; { -var5 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); +var5 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_); } var_6 = var5; for(;;) { { -var7 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_6); +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 */ } if (var7){ +} else { +goto BREAK_label; +} { -var8 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_6); +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_r = var8; { ordered_tree___ordered_tree__OrderedTree___sub_to_a(self, var_r, var_res); /* Direct call ordered_tree#OrderedTree#sub_to_a on */ } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_6); /* Direct call array#ArrayIterator#next on */ -} -} else { -goto BREAK_label; +((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 */ } } BREAK_label: (void)0; { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_6); /* Direct call array#ArrayIterator#finish on */ +((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 = var_res; goto RET_LABEL; @@ -716,8 +974,8 @@ val* var10 /* : HashMap[Object, Array[Object]] */; val* var12 /* : HashMap[Object, Array[Object]] */; val* var13 /* : nullable Object */; val* var_ /* var : Array[Object] */; -val* var14 /* : ArrayIterator[nullable Object] */; -val* var_15 /* var : ArrayIterator[Object] */; +val* var14 /* : IndexedIterator[nullable Object] */; +val* var_15 /* var : IndexedIterator[Object] */; short int var16 /* : Bool */; val* var17 /* : nullable Object */; val* var_e2 /* var e2: Object */; @@ -734,12 +992,12 @@ var = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idt if (unlikely(!var)) { var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 150); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 205); fatal_exit(1); } /* Covariant cast for argument 1 (res) isa Array[E] */ /* isa Array[E] */ -type_struct4 = self->type->resolution_table->types[COLOR_standard__Array__ordered_tree__OrderedTree___35dE]; +type_struct4 = self->type->resolution_table->types[COLOR_core__Array__ordered_tree__OrderedTree___35dE]; cltype2 = type_struct4->color; idtype3 = type_struct4->id; if(cltype2 >= p1->type->table_size) { @@ -750,20 +1008,20 @@ var1 = p1->type->type_table[cltype2] == idtype3; if (unlikely(!var1)) { var_class_name5 = p1 == NULL ? "null" : p1->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "Array[E]", var_class_name5); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 150); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 205); fatal_exit(1); } var_e = p0; var_res = p1; { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_res, var_e); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var_res, var_e); /* Direct call array#Array#add on */ } { { /* Inline ordered_tree#OrderedTree#sub (self) on */ var8 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ if (unlikely(var8 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 68); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); fatal_exit(1); } var6 = var8; @@ -771,7 +1029,7 @@ RET_LABEL7:(void)0; } } { -var9 = standard___standard__HashMap___standard__abstract_collection__MapRead__has_key(var6, var_e); +var9 = core___core__HashMap___core__abstract_collection__MapRead__has_key(var6, var_e); } if (var9){ { @@ -779,7 +1037,7 @@ if (var9){ var12 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ if (unlikely(var12 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 68); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); fatal_exit(1); } var10 = var12; @@ -787,42 +1045,42 @@ RET_LABEL11:(void)0; } } { -var13 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var10, var_e); +var13 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var10, var_e); } var_ = var13; { -var14 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); +var14 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_); } var_15 = var14; for(;;) { { -var16 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_15); +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 */ } if (var16){ +} else { +goto BREAK_label; +} { -var17 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_15); +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_e2 = var17; { ordered_tree___ordered_tree__OrderedTree___sub_to_a(self, var_e2, var_res); /* Direct call ordered_tree#OrderedTree#sub_to_a on */ } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_15); /* Direct call array#ArrayIterator#next on */ -} -} else { -goto BREAK_label; +((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 */ } } BREAK_label: (void)0; { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_15); /* Direct call array#ArrayIterator#finish on */ +((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 */ } } else { } RET_LABEL:; } /* method ordered_tree#OrderedTree#is_empty for (self: OrderedTree[Object]): Bool */ -short int ordered_tree___ordered_tree__OrderedTree___standard__abstract_collection__Collection__is_empty(val* self) { +short int ordered_tree___ordered_tree__OrderedTree___core__abstract_collection__Collection__is_empty(val* self) { short int var /* : Bool */; val* var1 /* : Array[Object] */; val* var3 /* : Array[Object] */; @@ -832,7 +1090,7 @@ short int var4 /* : Bool */; var3 = self->attrs[COLOR_ordered_tree__OrderedTree___roots].val; /* _roots on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 65); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 66); fatal_exit(1); } var1 = var3; @@ -840,7 +1098,7 @@ RET_LABEL2:(void)0; } } { -var4 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var1); +var4 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var1); } var = var4; goto RET_LABEL; @@ -848,7 +1106,7 @@ RET_LABEL:; return var; } /* method ordered_tree#OrderedTree#first for (self: OrderedTree[Object]): Object */ -val* ordered_tree___ordered_tree__OrderedTree___standard__abstract_collection__Collection__first(val* self) { +val* ordered_tree___ordered_tree__OrderedTree___core__abstract_collection__Collection__first(val* self) { val* var /* : Object */; val* var1 /* : Array[Object] */; val* var3 /* : Array[Object] */; @@ -858,7 +1116,7 @@ val* var4 /* : nullable Object */; var3 = self->attrs[COLOR_ordered_tree__OrderedTree___roots].val; /* _roots on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 65); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 66); fatal_exit(1); } var1 = var3; @@ -866,7 +1124,7 @@ RET_LABEL2:(void)0; } } { -var4 = standard___standard__SequenceRead___Collection__first(var1); +var4 = core___core__SequenceRead___Collection__first(var1); } var = var4; goto RET_LABEL; @@ -874,7 +1132,7 @@ RET_LABEL:; return var; } /* method ordered_tree#OrderedTree#iterator for (self: OrderedTree[Object]): Iterator[Object] */ -val* ordered_tree___ordered_tree__OrderedTree___standard__abstract_collection__Collection__iterator(val* self) { +val* ordered_tree___ordered_tree__OrderedTree___core__abstract_collection__Collection__iterator(val* self) { val* var /* : Iterator[Object] */; val* var1 /* : OrderedTreeIterator[Object] */; var1 = NEW_ordered_tree__OrderedTreeIterator(self->type->resolution_table->types[COLOR_ordered_tree__OrderedTreeIterator__ordered_tree__OrderedTree___35dE]); @@ -882,13 +1140,184 @@ var1 = NEW_ordered_tree__OrderedTreeIterator(self->type->resolution_table->types ((void(*)(val* self, val* p0))(var1->class->vft[COLOR_ordered_tree__OrderedTreeIterator__tree_61d]))(var1, self); /* tree= on */ } { -((void(*)(val* self))(var1->class->vft[COLOR_standard__kernel__Object__init]))(var1); /* init on */ +((void(*)(val* self))(var1->class->vft[COLOR_core__kernel__Object__init]))(var1); /* init on */ } var = var1; goto RET_LABEL; RET_LABEL:; return var; } +/* method ordered_tree#OrderedTree#== for (self: OrderedTree[Object], nullable Object): Bool */ +short int ordered_tree___ordered_tree__OrderedTree___core__kernel__Object___61d_61d(val* self, val* p0) { +short int var /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var1 /* : Bool */; +int cltype; +int idtype; +short int var2 /* : Bool */; +short int var3 /* : Bool */; +val* var4 /* : Array[Object] */; +val* var6 /* : Array[Object] */; +val* var7 /* : Array[Object] */; +val* var9 /* : Array[Object] */; +short int var10 /* : Bool */; +short int var_ /* var : Bool */; +val* var11 /* : HashMap[Object, Array[Object]] */; +val* var13 /* : HashMap[Object, Array[Object]] */; +val* var14 /* : HashMap[Object, Array[Object]] */; +val* var16 /* : HashMap[Object, Array[Object]] */; +short int var17 /* : Bool */; +var_other = p0; +/* isa OrderedTree[Object] */ +cltype = type_ordered_tree__OrderedTree__core__Object.color; +idtype = type_ordered_tree__OrderedTree__core__Object.id; +if(var_other == NULL) { +var1 = 0; +} else { +if(cltype >= (((long)var_other&3)?type_info[((long)var_other&3)]:var_other->type)->table_size) { +var1 = 0; +} else { +var1 = (((long)var_other&3)?type_info[((long)var_other&3)]:var_other->type)->type_table[cltype] == idtype; +} +} +var2 = !var1; +if (var2){ +var = 0; +goto RET_LABEL; +} else { +} +{ +{ /* Inline ordered_tree#OrderedTree#roots (self) on */ +var6 = self->attrs[COLOR_ordered_tree__OrderedTree___roots].val; /* _roots on */ +if (unlikely(var6 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots"); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 66); +fatal_exit(1); +} +var4 = var6; +RET_LABEL5:(void)0; +} +} +{ +{ /* Inline ordered_tree#OrderedTree#roots (var_other) on */ +var9 = var_other->attrs[COLOR_ordered_tree__OrderedTree___roots].val; /* _roots on */ +if (unlikely(var9 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots"); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 66); +fatal_exit(1); +} +var7 = var9; +RET_LABEL8:(void)0; +} +} +{ +var10 = core___core__Array___core__kernel__Object___61d_61d(var4, var7); +} +var_ = var10; +if (var10){ +{ +{ /* Inline ordered_tree#OrderedTree#sub (self) on */ +var13 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ +if (unlikely(var13 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); +fatal_exit(1); +} +var11 = var13; +RET_LABEL12:(void)0; +} +} +{ +{ /* Inline ordered_tree#OrderedTree#sub (var_other) on */ +var16 = var_other->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ +if (unlikely(var16 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); +fatal_exit(1); +} +var14 = var16; +RET_LABEL15:(void)0; +} +} +{ +var17 = core___core__MapRead___core__kernel__Object___61d_61d(var11, var14); +} +var3 = var17; +} else { +var3 = var_; +} +var = var3; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method ordered_tree#OrderedTree#hash for (self: OrderedTree[Object]): Int */ +long ordered_tree___ordered_tree__OrderedTree___core__kernel__Object__hash(val* self) { +long var /* : Int */; +val* var1 /* : Array[Object] */; +val* var3 /* : Array[Object] */; +long var4 /* : Int */; +val* var5 /* : HashMap[Object, Array[Object]] */; +val* var7 /* : HashMap[Object, Array[Object]] */; +long var8 /* : Int */; +long var9 /* : Int */; +short int var11 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +long var12 /* : Int */; +{ +{ /* Inline ordered_tree#OrderedTree#roots (self) on */ +var3 = self->attrs[COLOR_ordered_tree__OrderedTree___roots].val; /* _roots on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots"); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 66); +fatal_exit(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} +} +{ +var4 = core___core__SequenceRead___core__kernel__Object__hash(var1); +} +{ +{ /* Inline ordered_tree#OrderedTree#sub (self) on */ +var7 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ +if (unlikely(var7 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); +fatal_exit(1); +} +var5 = var7; +RET_LABEL6:(void)0; +} +} +{ +var8 = core___core__MapRead___core__kernel__Object__hash(var5); +} +{ +{ /* Inline kernel#Int#+ (var4,var8) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var11 = 1; /* easy isa OTHER*/ +if (unlikely(!var11)) { +var_class_name = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); +fatal_exit(1); +} +var12 = var4 + var8; +var9 = var12; +goto RET_LABEL10; +RET_LABEL10:(void)0; +} +} +var = var9; +goto RET_LABEL; +RET_LABEL:; +return var; +} /* method ordered_tree#OrderedTreeIterator#tree for (self: OrderedTreeIterator[Object]): OrderedTree[Object] */ val* ordered_tree___ordered_tree__OrderedTreeIterator___tree(val* self) { val* var /* : OrderedTree[Object] */; @@ -896,7 +1325,7 @@ val* var1 /* : OrderedTree[Object] */; var1 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___tree].val; /* _tree on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tree"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 189); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 283); fatal_exit(1); } var = var1; @@ -923,7 +1352,7 @@ var = p0->type->type_table[cltype] == idtype; if (unlikely(!var)) { var_class_name = p0 == NULL ? "null" : p0->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OrderedTree[E]", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 189); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 283); fatal_exit(1); } self->attrs[COLOR_ordered_tree__OrderedTreeIterator___tree].val = p0; /* _tree on */ @@ -936,7 +1365,7 @@ val* var1 /* : Array[Iterator[Object]] */; var1 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___iterators].val; /* _iterators on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 191); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 285); fatal_exit(1); } var = var1; @@ -944,7 +1373,7 @@ RET_LABEL:; return var; } /* method ordered_tree#OrderedTreeIterator#init for (self: OrderedTreeIterator[Object]) */ -void ordered_tree___ordered_tree__OrderedTreeIterator___standard__kernel__Object__init(val* self) { +void ordered_tree___ordered_tree__OrderedTreeIterator___core__kernel__Object__init(val* self) { val* var /* : OrderedTree[Object] */; val* var2 /* : OrderedTree[Object] */; short int var3 /* : Bool */; @@ -955,13 +1384,16 @@ val* var8 /* : OrderedTree[Object] */; val* var10 /* : OrderedTree[Object] */; val* var11 /* : Array[Object] */; val* var13 /* : Array[Object] */; -val* var14 /* : ArrayIterator[nullable Object] */; +val* var14 /* : IndexedIterator[nullable Object] */; +{ +((void(*)(val* self))(self->class->vft[COLOR_ordered_tree___ordered_tree__OrderedTreeIterator___core__kernel__Object__init]))(self); /* init on */ +} { { /* Inline ordered_tree#OrderedTreeIterator#tree (self) on */ var2 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___tree].val; /* _tree on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tree"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 189); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 283); fatal_exit(1); } var = var2; @@ -969,7 +1401,7 @@ RET_LABEL1:(void)0; } } { -var3 = ordered_tree___ordered_tree__OrderedTree___standard__abstract_collection__Collection__is_empty(var); +var3 = ordered_tree___ordered_tree__OrderedTree___core__abstract_collection__Collection__is_empty(var); } var4 = !var3; if (var4){ @@ -978,7 +1410,7 @@ if (var4){ var7 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___iterators].val; /* _iterators on */ if (unlikely(var7 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 191); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 285); fatal_exit(1); } var5 = var7; @@ -990,7 +1422,7 @@ RET_LABEL6:(void)0; var10 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___tree].val; /* _tree on */ if (unlikely(var10 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tree"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 189); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 283); fatal_exit(1); } var8 = var10; @@ -1002,7 +1434,7 @@ RET_LABEL9:(void)0; var13 = var8->attrs[COLOR_ordered_tree__OrderedTree___roots].val; /* _roots on */ if (unlikely(var13 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 65); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 66); fatal_exit(1); } var11 = var13; @@ -1010,17 +1442,17 @@ RET_LABEL12:(void)0; } } { -var14 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var11); +var14 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var11); } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var5, var14); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var5, var14); /* Direct call array#Array#add on */ } } else { } RET_LABEL:; } /* method ordered_tree#OrderedTreeIterator#is_ok for (self: OrderedTreeIterator[Object]): Bool */ -short int ordered_tree___ordered_tree__OrderedTreeIterator___standard__abstract_collection__Iterator__is_ok(val* self) { +short int ordered_tree___ordered_tree__OrderedTreeIterator___core__abstract_collection__Iterator__is_ok(val* self) { short int var /* : Bool */; val* var1 /* : Array[Iterator[Object]] */; val* var3 /* : Array[Iterator[Object]] */; @@ -1031,7 +1463,7 @@ short int var5 /* : Bool */; var3 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___iterators].val; /* _iterators on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 191); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 285); fatal_exit(1); } var1 = var3; @@ -1039,7 +1471,7 @@ RET_LABEL2:(void)0; } } { -var4 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var1); +var4 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var1); } var5 = !var4; var = var5; @@ -1048,7 +1480,7 @@ RET_LABEL:; return var; } /* method ordered_tree#OrderedTreeIterator#item for (self: OrderedTreeIterator[Object]): Object */ -val* ordered_tree___ordered_tree__OrderedTreeIterator___standard__abstract_collection__Iterator__item(val* self) { +val* ordered_tree___ordered_tree__OrderedTreeIterator___core__abstract_collection__Iterator__item(val* self) { val* var /* : Object */; short int var1 /* : Bool */; val* var2 /* : Array[Iterator[Object]] */; @@ -1056,11 +1488,11 @@ val* var4 /* : Array[Iterator[Object]] */; val* var5 /* : nullable Object */; val* var6 /* : nullable Object */; { -var1 = ordered_tree___ordered_tree__OrderedTreeIterator___standard__abstract_collection__Iterator__is_ok(self); +var1 = ordered_tree___ordered_tree__OrderedTreeIterator___core__abstract_collection__Iterator__is_ok(self); } if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 202); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 296); fatal_exit(1); } { @@ -1068,7 +1500,7 @@ fatal_exit(1); var4 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___iterators].val; /* _iterators on */ if (unlikely(var4 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 191); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 285); fatal_exit(1); } var2 = var4; @@ -1076,10 +1508,10 @@ RET_LABEL3:(void)0; } } { -var5 = standard___standard__SequenceRead___last(var2); +var5 = core___core__SequenceRead___last(var2); } { -var6 = ((val*(*)(val* self))((((long)var5&3)?class_info[((long)var5&3)]:var5->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var5); /* item on */ +var6 = ((val*(*)(val* self))((((long)var5&3)?class_info[((long)var5&3)]:var5->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var5); /* item on */ } var = var6; goto RET_LABEL; @@ -1087,7 +1519,7 @@ RET_LABEL:; return var; } /* method ordered_tree#OrderedTreeIterator#next for (self: OrderedTreeIterator[Object]) */ -void ordered_tree___ordered_tree__OrderedTreeIterator___standard__abstract_collection__Iterator__next(val* self) { +void ordered_tree___ordered_tree__OrderedTreeIterator___core__abstract_collection__Iterator__next(val* self) { short int var /* : Bool */; val* var1 /* : OrderedTree[Object] */; val* var3 /* : OrderedTree[Object] */; @@ -1103,7 +1535,7 @@ val* var15 /* : HashMap[Object, Array[Object]] */; val* var17 /* : HashMap[Object, Array[Object]] */; val* var18 /* : Object */; val* var19 /* : nullable Object */; -val* var20 /* : ArrayIterator[nullable Object] */; +val* var20 /* : IndexedIterator[nullable Object] */; val* var21 /* : Array[Iterator[Object]] */; val* var23 /* : Array[Iterator[Object]] */; val* var24 /* : nullable Object */; @@ -1129,11 +1561,11 @@ val* var45 /* : Array[Iterator[Object]] */; val* var47 /* : Array[Iterator[Object]] */; val* var48 /* : nullable Object */; { -var = ordered_tree___ordered_tree__OrderedTreeIterator___standard__abstract_collection__Iterator__is_ok(self); +var = ordered_tree___ordered_tree__OrderedTreeIterator___core__abstract_collection__Iterator__is_ok(self); } if (unlikely(!var)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 207); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 301); fatal_exit(1); } { @@ -1141,7 +1573,7 @@ fatal_exit(1); var3 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___tree].val; /* _tree on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tree"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 189); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 283); fatal_exit(1); } var1 = var3; @@ -1153,7 +1585,7 @@ RET_LABEL2:(void)0; var6 = var1->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 68); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); fatal_exit(1); } var4 = var6; @@ -1161,10 +1593,10 @@ RET_LABEL5:(void)0; } } { -var7 = ordered_tree___ordered_tree__OrderedTreeIterator___standard__abstract_collection__Iterator__item(self); +var7 = ordered_tree___ordered_tree__OrderedTreeIterator___core__abstract_collection__Iterator__item(self); } { -var8 = standard___standard__HashMap___standard__abstract_collection__MapRead__has_key(var4, var7); +var8 = core___core__HashMap___core__abstract_collection__MapRead__has_key(var4, var7); } if (var8){ { @@ -1172,7 +1604,7 @@ if (var8){ var11 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___iterators].val; /* _iterators on */ if (unlikely(var11 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 191); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 285); fatal_exit(1); } var9 = var11; @@ -1184,7 +1616,7 @@ RET_LABEL10:(void)0; var14 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___tree].val; /* _tree on */ if (unlikely(var14 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tree"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 189); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 283); fatal_exit(1); } var12 = var14; @@ -1196,7 +1628,7 @@ RET_LABEL13:(void)0; var17 = var12->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ if (unlikely(var17 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 68); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); fatal_exit(1); } var15 = var17; @@ -1204,16 +1636,16 @@ RET_LABEL16:(void)0; } } { -var18 = ordered_tree___ordered_tree__OrderedTreeIterator___standard__abstract_collection__Iterator__item(self); +var18 = ordered_tree___ordered_tree__OrderedTreeIterator___core__abstract_collection__Iterator__item(self); } { -var19 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var15, var18); +var19 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var15, var18); } { -var20 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var19); +var20 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var19); } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var9, var20); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var9, var20); /* Direct call array#Array#add on */ } } else { { @@ -1221,7 +1653,7 @@ standard___standard__Array___standard__abstract_collection__SimpleCollection__ad var23 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___iterators].val; /* _iterators on */ if (unlikely(var23 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 191); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 285); fatal_exit(1); } var21 = var23; @@ -1229,14 +1661,14 @@ RET_LABEL22:(void)0; } } { -var24 = standard___standard__SequenceRead___last(var21); +var24 = core___core__SequenceRead___last(var21); } { -((void(*)(val* self))((((long)var24&3)?class_info[((long)var24&3)]:var24->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var24); /* next on */ +((void(*)(val* self))((((long)var24&3)?class_info[((long)var24&3)]:var24->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var24); /* next on */ } for(;;) { { -var26 = ordered_tree___ordered_tree__OrderedTreeIterator___standard__abstract_collection__Iterator__is_ok(self); +var26 = ordered_tree___ordered_tree__OrderedTreeIterator___core__abstract_collection__Iterator__is_ok(self); } var_ = var26; if (var26){ @@ -1245,7 +1677,7 @@ if (var26){ var29 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___iterators].val; /* _iterators on */ if (unlikely(var29 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 191); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 285); fatal_exit(1); } var27 = var29; @@ -1253,10 +1685,10 @@ RET_LABEL28:(void)0; } } { -var30 = standard___standard__SequenceRead___last(var27); +var30 = core___core__SequenceRead___last(var27); } { -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 */ +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 */ } var32 = !var31; var25 = var32; @@ -1269,7 +1701,7 @@ if (var25){ var35 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___iterators].val; /* _iterators on */ if (unlikely(var35 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 191); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 285); fatal_exit(1); } var33 = var35; @@ -1277,10 +1709,10 @@ RET_LABEL34:(void)0; } } { -var36 = standard___standard__AbstractArray___standard__abstract_collection__Sequence__pop(var33); +var36 = core___core__AbstractArray___core__abstract_collection__Sequence__pop(var33); } { -var38 = ordered_tree___ordered_tree__OrderedTreeIterator___standard__abstract_collection__Iterator__is_ok(self); +var38 = ordered_tree___ordered_tree__OrderedTreeIterator___core__abstract_collection__Iterator__is_ok(self); } var_39 = var38; if (var38){ @@ -1289,7 +1721,7 @@ if (var38){ var42 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___iterators].val; /* _iterators on */ if (unlikely(var42 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 191); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 285); fatal_exit(1); } var40 = var42; @@ -1297,10 +1729,10 @@ RET_LABEL41:(void)0; } } { -var43 = standard___standard__SequenceRead___last(var40); +var43 = core___core__SequenceRead___last(var40); } { -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 */ +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 */ } var37 = var44; } else { @@ -1312,7 +1744,7 @@ if (var37){ var47 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___iterators].val; /* _iterators on */ if (unlikely(var47 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 191); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 285); fatal_exit(1); } var45 = var47; @@ -1320,10 +1752,10 @@ RET_LABEL46:(void)0; } } { -var48 = standard___standard__SequenceRead___last(var45); +var48 = core___core__SequenceRead___last(var45); } { -((void(*)(val* self))((((long)var48&3)?class_info[((long)var48&3)]:var48->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var48); /* next on */ +((void(*)(val* self))((((long)var48&3)?class_info[((long)var48&3)]:var48->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var48); /* next on */ } } else { } @@ -1336,7 +1768,7 @@ BREAK_label: (void)0; RET_LABEL:; } /* method ordered_tree#OrderedTreeIterator#iterator for (self: OrderedTreeIterator[Object]): Iterator[Object] */ -val* ordered_tree___ordered_tree__OrderedTreeIterator___standard__abstract_collection__Iterator__iterator(val* self) { +val* ordered_tree___ordered_tree__OrderedTreeIterator___core__abstract_collection__Iterator__iterator(val* self) { val* var /* : Iterator[Object] */; val* var1 /* : OrderedTreeIterator[Object] */; val* var2 /* : OrderedTree[Object] */; @@ -1347,7 +1779,7 @@ var1 = NEW_ordered_tree__OrderedTreeIterator(self->type->resolution_table->types var4 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___tree].val; /* _tree on */ if (unlikely(var4 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tree"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 189); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 283); fatal_exit(1); } var2 = var4; @@ -1358,7 +1790,7 @@ RET_LABEL3:(void)0; ((void(*)(val* self, val* p0))(var1->class->vft[COLOR_ordered_tree__OrderedTreeIterator__tree_61d]))(var1, var2); /* tree= on */ } { -((void(*)(val* self))(var1->class->vft[COLOR_standard__kernel__Object__init]))(var1); /* init on */ +((void(*)(val* self))(var1->class->vft[COLOR_core__kernel__Object__init]))(var1); /* init on */ } var = var1; goto RET_LABEL;