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 58bc3c7..df26eff 100644 --- a/c_src/ordered_tree.sep.1.c +++ b/c_src/ordered_tree.sep.1.c @@ -1,10 +1,13 @@ #include "ordered_tree.sep.0.h" -/* method ordered_tree#OrderedTree#roots for (self: OrderedTree[Object]): Array[Object] */ +/* method ordered_tree$OrderedTree$roots for (self: OrderedTree[Object]): Array[Object] */ val* ordered_tree___ordered_tree__OrderedTree___roots(val* self) { val* var /* : Array[Object] */; val* var1 /* : Array[Object] */; var1 = self->attrs[COLOR_ordered_tree__OrderedTree___roots].val; /* _roots on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 66); fatal_exit(1); @@ -13,12 +16,15 @@ var = var1; RET_LABEL:; return var; } -/* method ordered_tree#OrderedTree#sub for (self: OrderedTree[Object]): HashMap[Object, Array[Object]] */ +/* method ordered_tree$OrderedTree$sub for (self: OrderedTree[Object]): HashMap[Object, Array[Object]] */ val* ordered_tree___ordered_tree__OrderedTree___sub(val* self) { val* var /* : HashMap[Object, Array[Object]] */; val* var1 /* : HashMap[Object, Array[Object]] */; var1 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); fatal_exit(1); @@ -27,12 +33,15 @@ var = var1; RET_LABEL:; return var; } -/* method ordered_tree#OrderedTree#parents for (self: OrderedTree[Object]): HashMap[Object, nullable Object] */ +/* 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)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _parents"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 73); fatal_exit(1); @@ -41,16 +50,19 @@ var = var1; RET_LABEL:; return var; } -/* method ordered_tree#OrderedTree#length for (self: OrderedTree[Object]): Int */ +/* 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 */ +{ /* Inline ordered_tree$OrderedTree$parents (self) on */ var3 = self->attrs[COLOR_ordered_tree__OrderedTree___parents].val; /* _parents on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _parents"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 73); fatal_exit(1); @@ -67,7 +79,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method ordered_tree#OrderedTree#has for (self: OrderedTree[Object], nullable Object): Bool */ +/* 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 */; @@ -76,9 +88,12 @@ val* var3 /* : HashMap[Object, nullable Object] */; short int var4 /* : Bool */; var_e = p0; { -{ /* Inline ordered_tree#OrderedTree#parents (self) on */ +{ /* Inline ordered_tree$OrderedTree$parents (self) on */ var3 = self->attrs[COLOR_ordered_tree__OrderedTree___parents].val; /* _parents on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _parents"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 73); fatal_exit(1); @@ -95,7 +110,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method ordered_tree#OrderedTree#add for (self: OrderedTree[Object], nullable Object, Object) */ +/* 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 */; int cltype; @@ -166,12 +181,15 @@ 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 */ +ordered_tree___ordered_tree__OrderedTree___detach(self, var_e); /* Direct call ordered_tree$OrderedTree$detach on */ } { -{ /* Inline ordered_tree#OrderedTree#parents (self) on */ +{ /* Inline ordered_tree$OrderedTree$parents (self) on */ var8 = self->attrs[COLOR_ordered_tree__OrderedTree___parents].val; /* _parents on */ if (unlikely(var8 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _parents"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 73); fatal_exit(1); @@ -181,7 +199,7 @@ 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 */ +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) { var9 = 1; /* is null */ @@ -194,9 +212,12 @@ var9 = var10; } if (var9){ { -{ /* Inline ordered_tree#OrderedTree#roots (self) on */ +{ /* Inline ordered_tree$OrderedTree$roots (self) on */ var13 = self->attrs[COLOR_ordered_tree__OrderedTree___roots].val; /* _roots on */ if (unlikely(var13 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 66); fatal_exit(1); @@ -206,7 +227,7 @@ RET_LABEL12:(void)0; } } { -core___core__Array___core__abstract_collection__SimpleCollection__add(var11, 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 { { @@ -215,14 +236,17 @@ var14 = ordered_tree___ordered_tree__OrderedTree___core__abstract_collection__Co var15 = !var14; if (var15){ { -ordered_tree___ordered_tree__OrderedTree___add(self, ((val*)NULL), var_p); /* Direct call ordered_tree#OrderedTree#add on */ +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 */ +{ /* Inline ordered_tree$OrderedTree$sub (self) on */ var18 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ if (unlikely(var18 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); fatal_exit(1); @@ -236,9 +260,12 @@ var19 = core___core__HashMap___core__abstract_collection__MapRead__has_key(var16 } if (var19){ { -{ /* Inline ordered_tree#OrderedTree#sub (self) on */ +{ /* Inline ordered_tree$OrderedTree$sub (self) on */ var22 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ if (unlikely(var22 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); fatal_exit(1); @@ -251,13 +278,16 @@ RET_LABEL21:(void)0; var23 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var20, var_p); } { -core___core__Array___core__abstract_collection__SimpleCollection__add(var23, 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 */ +{ /* Inline ordered_tree$OrderedTree$sub (self) on */ var26 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ if (unlikely(var26 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); fatal_exit(1); @@ -268,20 +298,108 @@ 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 */ +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__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 */ +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) */ +/* method ordered_tree$OrderedTree$add_all for (self: OrderedTree[Object], nullable Object, Collection[Object]) */ +void ordered_tree___ordered_tree__OrderedTree___add_all(val* self, val* p0, val* p1) { +short int var /* : Bool */; +int cltype; +int idtype; +const struct type* type_struct; +const char* var_class_name; +short int var1 /* : Bool */; +int cltype2; +int idtype3; +const struct type* type_struct4; +const char* var_class_name5; +val* var_p /* var p: nullable Object */; +val* var_es /* var es: Collection[Object] */; +val* var_ /* var : Collection[Object] */; +val* var6 /* : Iterator[nullable Object] */; +val* var_7 /* var : Iterator[Object] */; +short int var8 /* : Bool */; +val* var9 /* : nullable Object */; +val* var_e /* var e: Object */; +/* Covariant cast for argument 0 (p) isa nullable E */ +/* isa nullable E */ +type_struct = self->type->resolution_table->types[COLOR_nullable__ordered_tree__OrderedTree___35dE]; +cltype = type_struct->color; +idtype = type_struct->id; +if(p0 == NULL) { +var = 1; +} else { +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`", "nullable E", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 117); +fatal_exit(1); +} +/* Covariant cast for argument 1 (es) isa Collection[E] */ +/* isa Collection[E] */ +type_struct4 = self->type->resolution_table->types[COLOR_core__Collection__ordered_tree__OrderedTree___35dE]; +cltype2 = type_struct4->color; +idtype3 = type_struct4->id; +if(cltype2 >= (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->table_size) { +var1 = 0; +} else { +var1 = (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->type_table[cltype2] == idtype3; +} +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`", "Collection[E]", var_class_name5); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 117); +fatal_exit(1); +} +var_p = p0; +var_es = p1; +var_ = var_es; +{ +var6 = ((val*(*)(val* self))((((long)var_&3)?class_info[((long)var_&3)]:var_->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(var_); /* iterator on */ +} +var_7 = var6; +for(;;) { +{ +var8 = ((short int(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_7); /* is_ok on */ +} +if (var8){ +} else { +goto BREAK_label; +} +{ +var9 = ((val*(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_7); /* item on */ +} +var_e = var9; +{ +ordered_tree___ordered_tree__OrderedTree___add(self, var_p, var_e); /* Direct call ordered_tree$OrderedTree$add on */ +} +{ +((void(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_7); /* next on */ +} +} +BREAK_label: (void)0; +{ +((void(*)(val* self))((((long)var_7&3)?class_info[((long)var_7&3)]:var_7->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_7); /* finish on */ +} +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; @@ -326,9 +444,12 @@ fatal_exit(1); } var_e = p0; { -{ /* Inline ordered_tree#OrderedTree#parents (self) on */ +{ /* Inline ordered_tree$OrderedTree$parents (self) on */ var3 = self->attrs[COLOR_ordered_tree__OrderedTree___parents].val; /* _parents on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _parents"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 73); fatal_exit(1); @@ -352,9 +473,12 @@ var5 = var6; } if (var5){ { -{ /* Inline ordered_tree#OrderedTree#sub (self) on */ +{ /* Inline ordered_tree$OrderedTree$sub (self) on */ var9 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ if (unlikely(var9 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); fatal_exit(1); @@ -368,16 +492,19 @@ var10 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var7 } var_subs = var10; { -core___core__AbstractArray___core__abstract_collection__RemovableCollection__remove(var_subs, var_e); /* Direct call array#AbstractArray#remove on */ +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 */ +{ /* Inline ordered_tree$OrderedTree$sub (self) on */ var14 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ if (unlikely(var14 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); fatal_exit(1); @@ -396,9 +523,12 @@ var15 = core___core__HashMap___core__abstract_collection__MapRead__keys(var12); } } else { { -{ /* Inline ordered_tree#OrderedTree#roots (self) on */ +{ /* Inline ordered_tree$OrderedTree$roots (self) on */ var18 = self->attrs[COLOR_ordered_tree__OrderedTree___roots].val; /* _roots on */ if (unlikely(var18 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 66); fatal_exit(1); @@ -412,9 +542,12 @@ var19 = core___core__AbstractArrayRead___core__abstract_collection__Collection__ } if (var19){ { -{ /* Inline ordered_tree#OrderedTree#roots (self) on */ +{ /* Inline ordered_tree$OrderedTree$roots (self) on */ var22 = self->attrs[COLOR_ordered_tree__OrderedTree___roots].val; /* _roots on */ if (unlikely(var22 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 66); fatal_exit(1); @@ -424,14 +557,14 @@ RET_LABEL21:(void)0; } } { -core___core__AbstractArray___core__abstract_collection__RemovableCollection__remove(var20, var_e); /* Direct call array#AbstractArray#remove on */ +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) */ +/* method ordered_tree$OrderedTree$write_to for (self: OrderedTree[Object], Writer) */ 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] */; @@ -442,20 +575,30 @@ val* var_4 /* var : IndexedIterator[Object] */; short int var5 /* : Bool */; val* var6 /* : nullable Object */; val* var_r /* var r: Object */; -val* var7 /* : String */; static val* varonce; -val* var8 /* : String */; -char* var9 /* : NativeString */; -val* var10 /* : String */; -static val* varonce11; -val* var12 /* : String */; -char* var13 /* : NativeString */; -val* var14 /* : String */; +val* var7 /* : String */; +char* var8 /* : CString */; +val* var9 /* : String */; +val* var10 /* : nullable Int */; +val* var11 /* : nullable Int */; +val* var12 /* : nullable Bool */; +val* var13 /* : nullable Bool */; +static val* varonce14; +val* var15 /* : String */; +char* var16 /* : CString */; +val* var17 /* : String */; +val* var18 /* : nullable Int */; +val* var19 /* : nullable Int */; +val* var20 /* : nullable Bool */; +val* var21 /* : nullable Bool */; var_stream = p0; { -{ /* Inline ordered_tree#OrderedTree#roots (self) on */ +{ /* Inline ordered_tree$OrderedTree$roots (self) on */ var2 = self->attrs[COLOR_ordered_tree__OrderedTree___roots].val; /* _roots on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 66); fatal_exit(1); @@ -481,33 +624,35 @@ goto BREAK_label; 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); -} -{ -core___core__FileWriter___core__stream__Writer__write(var_stream, var7); /* Direct call file#FileWriter#write on */ -} if (likely(varonce!=NULL)) { -var8 = varonce; +var7 = varonce; } else { -var9 = "\n"; -var10 = core__flat___NativeString___to_s_full(var9, 1l, 1l); -var8 = var10; -varonce = var8; +var8 = ""; +var10 = (val*)(0l<<2|1); +var11 = (val*)(0l<<2|1); +var12 = (val*)((long)(0)<<2|3); +var13 = (val*)((long)(0)<<2|3); +var9 = core__flat___CString___to_s_unsafe(var8, var10, var11, var12, var13); +var7 = var9; +varonce = var7; } { -core___core__FileWriter___core__stream__Writer__write(var_stream, var8); /* Direct call file#FileWriter#write on */ +ordered_tree___ordered_tree__OrderedTree___write_line(self, var_stream, var_r, var7); /* Direct call ordered_tree$OrderedTree$write_line on */ } -if (likely(varonce11!=NULL)) { -var12 = varonce11; +if (likely(varonce14!=NULL)) { +var15 = varonce14; } else { -var13 = ""; -var14 = core__flat___NativeString___to_s_full(var13, 0l, 0l); -var12 = var14; -varonce11 = var12; +var16 = ""; +var18 = (val*)(0l<<2|1); +var19 = (val*)(0l<<2|1); +var20 = (val*)((long)(0)<<2|3); +var21 = (val*)((long)(0)<<2|3); +var17 = core__flat___CString___to_s_unsafe(var16, var18, var19, var20, var21); +var15 = var17; +varonce14 = var15; } { -ordered_tree___ordered_tree__OrderedTree___sub_write_to(self, var_stream, var_r, var12); /* Direct call ordered_tree#OrderedTree#sub_write_to on */ +ordered_tree___ordered_tree__OrderedTree___sub_write_to(self, var_stream, var_r, var15); /* Direct call ordered_tree$OrderedTree$sub_write_to on */ } { ((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 */ @@ -519,7 +664,7 @@ BREAK_label: (void)0; } RET_LABEL:; } -/* method ordered_tree#OrderedTree#sub_write_to for (self: OrderedTree[Object], Writer, Object, String) */ +/* method ordered_tree$OrderedTree$sub_write_to for (self: OrderedTree[Object], Writer, Object, String) */ void ordered_tree___ordered_tree__OrderedTree___sub_write_to(val* self, val* p0, val* p1, val* p2) { short int var /* : Bool */; int cltype; @@ -547,40 +692,42 @@ short int var14 /* : Bool */; val* var15 /* : nullable Object */; val* var_e2 /* var e2: Object */; short int var16 /* : Bool */; -val* var17 /* : NativeArray[String] */; static val* varonce; -static val* varonce18; +val* var17 /* : String */; +char* var18 /* : CString */; val* var19 /* : String */; -char* var20 /* : NativeString */; -val* var21 /* : String */; -static val* varonce22; -val* var23 /* : String */; -char* var24 /* : NativeString */; -val* var25 /* : String */; +val* var20 /* : nullable Int */; +val* var21 /* : nullable Int */; +val* var22 /* : nullable Bool */; +val* var23 /* : nullable Bool */; +val* var24 /* : Text */; +static val* varonce25; val* var26 /* : String */; -val* var27 /* : String */; -static val* varonce28; -val* var29 /* : String */; -char* var30 /* : NativeString */; -val* var31 /* : String */; -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 */; +char* var27 /* : CString */; +val* var28 /* : String */; +val* var29 /* : nullable Int */; +val* var30 /* : nullable Int */; +val* var31 /* : nullable Bool */; +val* var32 /* : nullable Bool */; +val* var33 /* : Text */; +static val* varonce34; +val* var35 /* : String */; +char* var36 /* : CString */; +val* var37 /* : String */; +val* var38 /* : nullable Int */; +val* var39 /* : nullable Int */; +val* var40 /* : nullable Bool */; +val* var41 /* : nullable Bool */; +val* var42 /* : Text */; +static val* varonce43; val* var44 /* : String */; -static val* varonce45; +char* var45 /* : CString */; val* var46 /* : String */; -char* var47 /* : NativeString */; -val* var48 /* : String */; -val* var49 /* : String */; +val* var47 /* : nullable Int */; +val* var48 /* : nullable Int */; +val* var49 /* : nullable Bool */; +val* var50 /* : nullable Bool */; +val* var51 /* : Text */; /* Covariant cast for argument 1 (e) isa E */ /* isa E */ type_struct = self->type->resolution_table->types[COLOR_ordered_tree__OrderedTree___35dE]; @@ -594,16 +741,19 @@ 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, 156); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 155); fatal_exit(1); } var_o = p0; var_e = p1; var_prefix = p2; { -{ /* Inline ordered_tree#OrderedTree#sub (self) on */ +{ /* Inline ordered_tree$OrderedTree$sub (self) on */ var3 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); fatal_exit(1); @@ -621,9 +771,12 @@ goto RET_LABEL; } else { } { -{ /* Inline ordered_tree#OrderedTree#sub (self) on */ +{ /* Inline ordered_tree$OrderedTree$sub (self) on */ var8 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ if (unlikely(var8 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); fatal_exit(1); @@ -668,106 +821,78 @@ var_e2 = var15; 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 (var16){ -if (unlikely(varonce==NULL)) { -var17 = NEW_core__NativeArray(4l, &type_core__NativeArray__core__String); -if (likely(varonce18!=NULL)) { -var19 = varonce18; -} else { -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 { -var24 = "\n"; -var25 = core__flat___NativeString___to_s_full(var24, 1l, 1l); -var23 = var25; -varonce22 = var23; -} -((struct instance_core__NativeArray*)var17)->values[3]=var23; -} else { +if (likely(varonce!=NULL)) { var17 = varonce; -varonce = NULL; -} -((struct instance_core__NativeArray*)var17)->values[0]=var_prefix; -{ -var26 = ordered_tree___ordered_tree__OrderedTree___display(self, var_e2); +} else { +var18 = "|--"; +var20 = (val*)(3l<<2|1); +var21 = (val*)(3l<<2|1); +var22 = (val*)((long)(0)<<2|3); +var23 = (val*)((long)(0)<<2|3); +var19 = core__flat___CString___to_s_unsafe(var18, var20, var21, var22, var23); +var17 = var19; +varonce = var17; } -((struct instance_core__NativeArray*)var17)->values[2]=var26; { -var27 = ((val*(*)(val* self))(var17->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var17); /* native_to_s on */ +var24 = ((val*(*)(val* self, val* p0))(var_prefix->class->vft[COLOR_core__abstract_text__Text___43d]))(var_prefix, var17); /* + on */ } -varonce = var17; { -core___core__FileWriter___core__stream__Writer__write(var_o, var27); /* Direct call file#FileWriter#write on */ +ordered_tree___ordered_tree__OrderedTree___write_line(self, var_o, var_e2, var24); /* Direct call ordered_tree$OrderedTree$write_line on */ } -if (likely(varonce28!=NULL)) { -var29 = varonce28; +if (likely(varonce25!=NULL)) { +var26 = varonce25; } else { -var30 = "| "; -var31 = core__flat___NativeString___to_s_full(var30, 3l, 3l); -var29 = var31; -varonce28 = var29; +var27 = "| "; +var29 = (val*)(3l<<2|1); +var30 = (val*)(3l<<2|1); +var31 = (val*)((long)(0)<<2|3); +var32 = (val*)((long)(0)<<2|3); +var28 = core__flat___CString___to_s_unsafe(var27, var29, var30, var31, var32); +var26 = var28; +varonce25 = var26; } { -var32 = ((val*(*)(val* self, val* p0))(var_prefix->class->vft[COLOR_core__abstract_text__String___43d]))(var_prefix, var29); /* + on */ +var33 = ((val*(*)(val* self, val* p0))(var_prefix->class->vft[COLOR_core__abstract_text__Text___43d]))(var_prefix, var26); /* + on */ } { -ordered_tree___ordered_tree__OrderedTree___sub_write_to(self, var_o, var_e2, var32); /* Direct call ordered_tree#OrderedTree#sub_write_to on */ +ordered_tree___ordered_tree__OrderedTree___sub_write_to(self, var_o, var_e2, var33); /* Direct call ordered_tree$OrderedTree$sub_write_to on */ } } else { -if (unlikely(varonce33==NULL)) { -var34 = NEW_core__NativeArray(4l, &type_core__NativeArray__core__String); -if (likely(varonce35!=NULL)) { -var36 = varonce35; -} else { -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; +if (likely(varonce34!=NULL)) { +var35 = varonce34; } else { -var41 = "\n"; -var42 = core__flat___NativeString___to_s_full(var41, 1l, 1l); -var40 = var42; -varonce39 = var40; -} -((struct instance_core__NativeArray*)var34)->values[3]=var40; -} else { -var34 = varonce33; -varonce33 = NULL; +var36 = "`--"; +var38 = (val*)(3l<<2|1); +var39 = (val*)(3l<<2|1); +var40 = (val*)((long)(0)<<2|3); +var41 = (val*)((long)(0)<<2|3); +var37 = core__flat___CString___to_s_unsafe(var36, var38, var39, var40, var41); +var35 = var37; +varonce34 = var35; } -((struct instance_core__NativeArray*)var34)->values[0]=var_prefix; { -var43 = ordered_tree___ordered_tree__OrderedTree___display(self, var_e2); +var42 = ((val*(*)(val* self, val* p0))(var_prefix->class->vft[COLOR_core__abstract_text__Text___43d]))(var_prefix, var35); /* + on */ } -((struct instance_core__NativeArray*)var34)->values[2]=var43; { -var44 = ((val*(*)(val* self))(var34->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var34); /* native_to_s on */ +ordered_tree___ordered_tree__OrderedTree___write_line(self, var_o, var_e2, var42); /* Direct call ordered_tree$OrderedTree$write_line on */ } -varonce33 = var34; -{ -core___core__FileWriter___core__stream__Writer__write(var_o, var44); /* Direct call file#FileWriter#write on */ -} -if (likely(varonce45!=NULL)) { -var46 = varonce45; +if (likely(varonce43!=NULL)) { +var44 = varonce43; } else { -var47 = " "; -var48 = core__flat___NativeString___to_s_full(var47, 3l, 3l); -var46 = var48; -varonce45 = var46; +var45 = " "; +var47 = (val*)(3l<<2|1); +var48 = (val*)(3l<<2|1); +var49 = (val*)((long)(0)<<2|3); +var50 = (val*)((long)(0)<<2|3); +var46 = core__flat___CString___to_s_unsafe(var45, var47, var48, var49, var50); +var44 = var46; +varonce43 = var44; } { -var49 = ((val*(*)(val* self, val* p0))(var_prefix->class->vft[COLOR_core__abstract_text__String___43d]))(var_prefix, var46); /* + on */ +var51 = ((val*(*)(val* self, val* p0))(var_prefix->class->vft[COLOR_core__abstract_text__Text___43d]))(var_prefix, var44); /* + on */ } { -ordered_tree___ordered_tree__OrderedTree___sub_write_to(self, var_o, var_e2, var49); /* Direct call ordered_tree#OrderedTree#sub_write_to on */ +ordered_tree___ordered_tree__OrderedTree___sub_write_to(self, var_o, var_e2, var51); /* Direct call ordered_tree$OrderedTree$sub_write_to on */ } } { @@ -780,7 +905,81 @@ BREAK_label: (void)0; } RET_LABEL:; } -/* method ordered_tree#OrderedTree#sort_with for (self: OrderedTree[Object], Comparator) */ +/* method ordered_tree$OrderedTree$write_line for (self: OrderedTree[Object], Writer, Object, String) */ +void ordered_tree___ordered_tree__OrderedTree___write_line(val* self, val* p0, val* p1, val* p2) { +short int var /* : Bool */; +int cltype; +int idtype; +const struct type* type_struct; +const char* var_class_name; +val* var_o /* var o: Writer */; +val* var_e /* var e: Object */; +val* var_prefix /* var prefix: String */; +val* var1 /* : NativeArray[String] */; +static val* varonce; +static val* varonce2; +val* var3 /* : String */; +char* var4 /* : CString */; +val* var5 /* : String */; +val* var6 /* : nullable Int */; +val* var7 /* : nullable Int */; +val* var8 /* : nullable Bool */; +val* var9 /* : nullable Bool */; +val* var10 /* : String */; +val* var11 /* : String */; +/* Covariant cast for argument 1 (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)p1&3)?type_info[((long)p1&3)]:p1->type)->table_size) { +var = 0; +} else { +var = (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->type_table[cltype] == idtype; +} +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, 172); +fatal_exit(1); +} +var_o = p0; +var_e = p1; +var_prefix = p2; +if (unlikely(varonce==NULL)) { +var1 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); +if (likely(varonce2!=NULL)) { +var3 = varonce2; +} else { +var4 = "\n"; +var6 = (val*)(1l<<2|1); +var7 = (val*)(1l<<2|1); +var8 = (val*)((long)(0)<<2|3); +var9 = (val*)((long)(0)<<2|3); +var5 = core__flat___CString___to_s_unsafe(var4, var6, var7, var8, var9); +var3 = var5; +varonce2 = var3; +} +((struct instance_core__NativeArray*)var1)->values[2]=var3; +} else { +var1 = varonce; +varonce = NULL; +} +((struct instance_core__NativeArray*)var1)->values[0]=var_prefix; +{ +var10 = ordered_tree___ordered_tree__OrderedTree___display(self, var_e); +} +((struct instance_core__NativeArray*)var1)->values[1]=var10; +{ +var11 = ((val*(*)(val* self))(var1->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var1); /* native_to_s on */ +} +varonce = var1; +{ +core___core__FileWriter___core__stream__Writer__write(var_o, var11); /* Direct call file$FileWriter$write on */ +} +RET_LABEL:; +} +/* method ordered_tree$OrderedTree$sort_with for (self: OrderedTree[Object], Comparator) */ void ordered_tree___ordered_tree__OrderedTree___sort_with(val* self, val* p0) { val* var_comparator /* var comparator: Comparator */; val* var /* : Array[Object] */; @@ -796,9 +995,12 @@ val* var10 /* : nullable Object */; val* var_a /* var a: Array[Object] */; var_comparator = p0; { -{ /* Inline ordered_tree#OrderedTree#roots (self) on */ +{ /* Inline ordered_tree$OrderedTree$roots (self) on */ var2 = self->attrs[COLOR_ordered_tree__OrderedTree___roots].val; /* _roots on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 66); fatal_exit(1); @@ -808,12 +1010,15 @@ RET_LABEL1:(void)0; } } { -core___core__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 */ +{ /* Inline ordered_tree$OrderedTree$sub (self) on */ var5 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ if (unlikely(var5 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); fatal_exit(1); @@ -843,7 +1048,7 @@ var10 = ((val*(*)(val* self))((((long)var_8&3)?class_info[((long)var_8&3)]:var_8 } var_a = var10; { -core___core__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_core__abstract_collection__Iterator__next]))(var_8); /* next on */ @@ -855,7 +1060,7 @@ BREAK_label: (void)0; } RET_LABEL:; } -/* method ordered_tree#OrderedTree#display for (self: OrderedTree[Object], Object): String */ +/* method ordered_tree$OrderedTree$display for (self: OrderedTree[Object], Object): String */ val* ordered_tree___ordered_tree__OrderedTree___display(val* self, val* p0) { val* var /* : String */; short int var1 /* : Bool */; @@ -878,7 +1083,7 @@ 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, 183); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 196); fatal_exit(1); } var_e = p0; @@ -890,7 +1095,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method ordered_tree#OrderedTree#to_a for (self: OrderedTree[Object]): Array[Object] */ +/* method ordered_tree$OrderedTree$to_a for (self: OrderedTree[Object]): Array[Object] */ val* ordered_tree___ordered_tree__OrderedTree___core__array__Collection__to_a(val* self) { val* var /* : Array[Object] */; val* var1 /* : Array[Object] */; @@ -905,13 +1110,16 @@ val* var8 /* : nullable Object */; val* var_r /* var r: Object */; var1 = NEW_core__Array(self->type->resolution_table->types[COLOR_core__Array__ordered_tree__OrderedTree___35dE]); { -core___core__Array___core__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; { -{ /* Inline ordered_tree#OrderedTree#roots (self) on */ +{ /* Inline ordered_tree$OrderedTree$roots (self) on */ var4 = self->attrs[COLOR_ordered_tree__OrderedTree___roots].val; /* _roots on */ if (unlikely(var4 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 66); fatal_exit(1); @@ -938,7 +1146,7 @@ var8 = ((val*(*)(val* self))((((long)var_6&3)?class_info[((long)var_6&3)]:var_6- } 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 */ +ordered_tree___ordered_tree__OrderedTree___sub_to_a(self, var_r, var_res); /* Direct call ordered_tree$OrderedTree$sub_to_a on */ } { ((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 */ @@ -953,7 +1161,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method ordered_tree#OrderedTree#sub_to_a for (self: OrderedTree[Object], Object, Array[Object]) */ +/* method ordered_tree$OrderedTree$sub_to_a for (self: OrderedTree[Object], Object, Array[Object]) */ void ordered_tree___ordered_tree__OrderedTree___sub_to_a(val* self, val* p0, val* p1) { short int var /* : Bool */; int cltype; @@ -992,7 +1200,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`", "E", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 205); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 218); fatal_exit(1); } /* Covariant cast for argument 1 (res) isa Array[E] */ @@ -1008,18 +1216,21 @@ 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, 205); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 218); fatal_exit(1); } var_e = p0; var_res = p1; { -core___core__Array___core__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 */ +{ /* Inline ordered_tree$OrderedTree$sub (self) on */ var8 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ if (unlikely(var8 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); fatal_exit(1); @@ -1033,9 +1244,12 @@ var9 = core___core__HashMap___core__abstract_collection__MapRead__has_key(var6, } if (var9){ { -{ /* Inline ordered_tree#OrderedTree#sub (self) on */ +{ /* Inline ordered_tree$OrderedTree$sub (self) on */ var12 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ if (unlikely(var12 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); fatal_exit(1); @@ -1065,7 +1279,7 @@ var17 = ((val*(*)(val* self))((((long)var_15&3)?class_info[((long)var_15&3)]:var } 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 */ +ordered_tree___ordered_tree__OrderedTree___sub_to_a(self, var_e2, var_res); /* Direct call ordered_tree$OrderedTree$sub_to_a on */ } { ((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 */ @@ -1079,16 +1293,19 @@ BREAK_label: (void)0; } RET_LABEL:; } -/* method ordered_tree#OrderedTree#is_empty for (self: OrderedTree[Object]): Bool */ +/* method ordered_tree$OrderedTree$is_empty for (self: OrderedTree[Object]): Bool */ 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] */; short int var4 /* : Bool */; { -{ /* Inline ordered_tree#OrderedTree#roots (self) on */ +{ /* Inline ordered_tree$OrderedTree$roots (self) on */ var3 = self->attrs[COLOR_ordered_tree__OrderedTree___roots].val; /* _roots on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 66); fatal_exit(1); @@ -1105,16 +1322,19 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method ordered_tree#OrderedTree#first for (self: OrderedTree[Object]): Object */ +/* method ordered_tree$OrderedTree$first for (self: OrderedTree[Object]): Object */ val* ordered_tree___ordered_tree__OrderedTree___core__abstract_collection__Collection__first(val* self) { val* var /* : Object */; val* var1 /* : Array[Object] */; val* var3 /* : Array[Object] */; val* var4 /* : nullable Object */; { -{ /* Inline ordered_tree#OrderedTree#roots (self) on */ +{ /* Inline ordered_tree$OrderedTree$roots (self) on */ var3 = self->attrs[COLOR_ordered_tree__OrderedTree___roots].val; /* _roots on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 66); fatal_exit(1); @@ -1131,7 +1351,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method ordered_tree#OrderedTree#iterator for (self: OrderedTree[Object]): Iterator[Object] */ +/* method ordered_tree$OrderedTree$iterator for (self: OrderedTree[Object]): Iterator[Object] */ val* ordered_tree___ordered_tree__OrderedTree___core__abstract_collection__Collection__iterator(val* self) { val* var /* : Iterator[Object] */; val* var1 /* : OrderedTreeIterator[Object] */; @@ -1147,7 +1367,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method ordered_tree#OrderedTree#== for (self: OrderedTree[Object], nullable Object): Bool */ +/* 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 */; @@ -1187,9 +1407,12 @@ goto RET_LABEL; } else { } { -{ /* Inline ordered_tree#OrderedTree#roots (self) on */ +{ /* Inline ordered_tree$OrderedTree$roots (self) on */ var6 = self->attrs[COLOR_ordered_tree__OrderedTree___roots].val; /* _roots on */ if (unlikely(var6 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 66); fatal_exit(1); @@ -1199,9 +1422,12 @@ RET_LABEL5:(void)0; } } { -{ /* Inline ordered_tree#OrderedTree#roots (var_other) on */ +{ /* Inline ordered_tree$OrderedTree$roots (var_other) on */ var9 = var_other->attrs[COLOR_ordered_tree__OrderedTree___roots].val; /* _roots on */ if (unlikely(var9 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 66); fatal_exit(1); @@ -1216,9 +1442,12 @@ var10 = core___core__Array___core__kernel__Object___61d_61d(var4, var7); var_ = var10; if (var10){ { -{ /* Inline ordered_tree#OrderedTree#sub (self) on */ +{ /* Inline ordered_tree$OrderedTree$sub (self) on */ var13 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ if (unlikely(var13 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); fatal_exit(1); @@ -1228,9 +1457,12 @@ RET_LABEL12:(void)0; } } { -{ /* Inline ordered_tree#OrderedTree#sub (var_other) on */ +{ /* Inline ordered_tree$OrderedTree$sub (var_other) on */ var16 = var_other->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ if (unlikely(var16 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); fatal_exit(1); @@ -1251,7 +1483,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method ordered_tree#OrderedTree#hash for (self: OrderedTree[Object]): Int */ +/* 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] */; @@ -1267,9 +1499,12 @@ int idtype; const char* var_class_name; long var12 /* : Int */; { -{ /* Inline ordered_tree#OrderedTree#roots (self) on */ +{ /* Inline ordered_tree$OrderedTree$roots (self) on */ var3 = self->attrs[COLOR_ordered_tree__OrderedTree___roots].val; /* _roots on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 66); fatal_exit(1); @@ -1282,9 +1517,12 @@ RET_LABEL2:(void)0; var4 = core___core__SequenceRead___core__kernel__Object__hash(var1); } { -{ /* Inline ordered_tree#OrderedTree#sub (self) on */ +{ /* Inline ordered_tree$OrderedTree$sub (self) on */ var7 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ if (unlikely(var7 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); fatal_exit(1); @@ -1297,14 +1535,14 @@ RET_LABEL6:(void)0; var8 = core___core__MapRead___core__kernel__Object__hash(var5); } { -{ /* Inline kernel#Int#+ (var4,var8) on */ +{ /* 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); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); fatal_exit(1); } var12 = var4 + var8; @@ -1318,21 +1556,140 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method ordered_tree#OrderedTreeIterator#tree for (self: OrderedTreeIterator[Object]): OrderedTree[Object] */ +/* method ordered_tree$OrderedTree$clone for (self: OrderedTree[Object]): OrderedTree[Object] */ +val* ordered_tree___ordered_tree__OrderedTree___core__kernel__Cloneable__clone(val* self) { +val* var /* : OrderedTree[Object] */; +val* var1 /* : OrderedTree[Object] */; +val* var_res /* var res: OrderedTree[Object] */; +val* var3 /* : Array[Object] */; +val* var5 /* : Array[Object] */; +val* var6 /* : HashMap[Object, Array[Object]] */; +val* var8 /* : HashMap[Object, Array[Object]] */; +val* var_ /* var : HashMap[Object, Array[Object]] */; +val* var9 /* : MapIterator[nullable Object, nullable Object] */; +val* var_10 /* var : MapIterator[Object, Array[Object]] */; +short int var11 /* : Bool */; +val* var12 /* : nullable Object */; +val* var_p /* var p: Object */; +val* var13 /* : nullable Object */; +val* var_es /* var es: Array[Object] */; +short int var15 /* : Bool */; +int cltype; +int idtype; +const struct type* type_struct; +const char* var_class_name; +var1 = NEW_ordered_tree__OrderedTree(self->type->resolution_table->types[COLOR_ordered_tree__OrderedTree__ordered_tree__OrderedTree___35dE]); +{ +{ /* Inline kernel$Object$init (var1) on */ +RET_LABEL2:(void)0; +} +} +var_res = var1; +{ +{ /* Inline ordered_tree$OrderedTree$roots (self) on */ +var5 = self->attrs[COLOR_ordered_tree__OrderedTree___roots].val; /* _roots on */ +if (unlikely(var5 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots"); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 66); +fatal_exit(1); +} +var3 = var5; +RET_LABEL4:(void)0; +} +} +{ +ordered_tree___ordered_tree__OrderedTree___add_all(var_res, ((val*)NULL), var3); /* Direct call ordered_tree$OrderedTree$add_all on */ +} +{ +{ /* Inline ordered_tree$OrderedTree$sub (self) on */ +var8 = self->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ +if (unlikely(var8 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); +fatal_exit(1); +} +var6 = var8; +RET_LABEL7:(void)0; +} +} +var_ = var6; +{ +var9 = core___core__HashMap___core__abstract_collection__MapRead__iterator(var_); +} +var_10 = var9; +for(;;) { +{ +var11 = ((short int(*)(val* self))((((long)var_10&3)?class_info[((long)var_10&3)]:var_10->class)->vft[COLOR_core__abstract_collection__MapIterator__is_ok]))(var_10); /* is_ok on */ +} +if (var11){ +} else { +goto BREAK_label; +} +{ +var12 = ((val*(*)(val* self))((((long)var_10&3)?class_info[((long)var_10&3)]:var_10->class)->vft[COLOR_core__abstract_collection__MapIterator__key]))(var_10); /* key on */ +} +var_p = var12; +{ +var13 = ((val*(*)(val* self))((((long)var_10&3)?class_info[((long)var_10&3)]:var_10->class)->vft[COLOR_core__abstract_collection__MapIterator__item]))(var_10); /* item on */ +} +var_es = var13; +{ +ordered_tree___ordered_tree__OrderedTree___add_all(var_res, var_p, var_es); /* Direct call ordered_tree$OrderedTree$add_all on */ +} +{ +((void(*)(val* self))((((long)var_10&3)?class_info[((long)var_10&3)]:var_10->class)->vft[COLOR_core__abstract_collection__MapIterator__next]))(var_10); /* next on */ +} +} +BREAK_label: (void)0; +{ +{ /* Inline abstract_collection$MapIterator$finish (var_10) on */ +RET_LABEL14:(void)0; +} +} +/* isa SELF */ +type_struct = self->type->resolution_table->types[COLOR_core__kernel__Object__SELF]; +cltype = type_struct->color; +idtype = type_struct->id; +if(cltype >= var_res->type->table_size) { +var15 = 0; +} else { +var15 = var_res->type->type_table[cltype] == idtype; +} +if (unlikely(!var15)) { +var_class_name = var_res == NULL ? "null" : var_res->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "SELF", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 288); +fatal_exit(1); +} +var = var_res; +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] */; val* var1 /* : OrderedTree[Object] */; var1 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___tree].val; /* _tree on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tree"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 283); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 296); fatal_exit(1); } var = var1; RET_LABEL:; return var; } -/* method ordered_tree#OrderedTreeIterator#tree= for (self: OrderedTreeIterator[Object], OrderedTree[Object]) */ +/* method ordered_tree$OrderedTreeIterator$tree= for (self: OrderedTreeIterator[Object], OrderedTree[Object]) */ void ordered_tree___ordered_tree__OrderedTreeIterator___tree_61d(val* self, val* p0) { short int var /* : Bool */; int cltype; @@ -1352,27 +1709,30 @@ 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, 283); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 296); fatal_exit(1); } self->attrs[COLOR_ordered_tree__OrderedTreeIterator___tree].val = p0; /* _tree on */ RET_LABEL:; } -/* method ordered_tree#OrderedTreeIterator#iterators for (self: OrderedTreeIterator[Object]): Array[Iterator[Object]] */ +/* method ordered_tree$OrderedTreeIterator$iterators for (self: OrderedTreeIterator[Object]): Array[Iterator[Object]] */ val* ordered_tree___ordered_tree__OrderedTreeIterator___iterators(val* self) { val* var /* : Array[Iterator[Object]] */; val* var1 /* : Array[Iterator[Object]] */; var1 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___iterators].val; /* _iterators on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 285); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 298); fatal_exit(1); } var = var1; RET_LABEL:; return var; } -/* method ordered_tree#OrderedTreeIterator#init for (self: OrderedTreeIterator[Object]) */ +/* method ordered_tree$OrderedTreeIterator$init for (self: OrderedTreeIterator[Object]) */ void ordered_tree___ordered_tree__OrderedTreeIterator___core__kernel__Object__init(val* self) { val* var /* : OrderedTree[Object] */; val* var2 /* : OrderedTree[Object] */; @@ -1389,11 +1749,14 @@ 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 */ +{ /* Inline ordered_tree$OrderedTreeIterator$tree (self) on */ var2 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___tree].val; /* _tree on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tree"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 283); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 296); fatal_exit(1); } var = var2; @@ -1406,11 +1769,14 @@ var3 = ordered_tree___ordered_tree__OrderedTree___core__abstract_collection__Col var4 = !var3; if (var4){ { -{ /* Inline ordered_tree#OrderedTreeIterator#iterators (self) on */ +{ /* Inline ordered_tree$OrderedTreeIterator$iterators (self) on */ var7 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___iterators].val; /* _iterators on */ if (unlikely(var7 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 285); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 298); fatal_exit(1); } var5 = var7; @@ -1418,11 +1784,14 @@ RET_LABEL6:(void)0; } } { -{ /* Inline ordered_tree#OrderedTreeIterator#tree (self) on */ +{ /* Inline ordered_tree$OrderedTreeIterator$tree (self) on */ var10 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___tree].val; /* _tree on */ if (unlikely(var10 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tree"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 283); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 296); fatal_exit(1); } var8 = var10; @@ -1430,9 +1799,12 @@ RET_LABEL9:(void)0; } } { -{ /* Inline ordered_tree#OrderedTree#roots (var8) on */ +{ /* Inline ordered_tree$OrderedTree$roots (var8) on */ var13 = var8->attrs[COLOR_ordered_tree__OrderedTree___roots].val; /* _roots on */ if (unlikely(var13 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _roots"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 66); fatal_exit(1); @@ -1445,13 +1817,13 @@ RET_LABEL12:(void)0; var14 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var11); } { -core___core__Array___core__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 */ +/* method ordered_tree$OrderedTreeIterator$is_ok for (self: OrderedTreeIterator[Object]): Bool */ short int ordered_tree___ordered_tree__OrderedTreeIterator___core__abstract_collection__Iterator__is_ok(val* self) { short int var /* : Bool */; val* var1 /* : Array[Iterator[Object]] */; @@ -1459,11 +1831,14 @@ val* var3 /* : Array[Iterator[Object]] */; short int var4 /* : Bool */; short int var5 /* : Bool */; { -{ /* Inline ordered_tree#OrderedTreeIterator#iterators (self) on */ +{ /* Inline ordered_tree$OrderedTreeIterator$iterators (self) on */ var3 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___iterators].val; /* _iterators on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 285); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 298); fatal_exit(1); } var1 = var3; @@ -1479,7 +1854,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method ordered_tree#OrderedTreeIterator#item for (self: OrderedTreeIterator[Object]): Object */ +/* method ordered_tree$OrderedTreeIterator$item for (self: OrderedTreeIterator[Object]): Object */ val* ordered_tree___ordered_tree__OrderedTreeIterator___core__abstract_collection__Iterator__item(val* self) { val* var /* : Object */; short int var1 /* : Bool */; @@ -1491,16 +1866,22 @@ val* var6 /* : nullable Object */; var1 = ordered_tree___ordered_tree__OrderedTreeIterator___core__abstract_collection__Iterator__is_ok(self); } if (unlikely(!var1)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 296); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 309); fatal_exit(1); } { -{ /* Inline ordered_tree#OrderedTreeIterator#iterators (self) on */ +{ /* Inline ordered_tree$OrderedTreeIterator$iterators (self) on */ var4 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___iterators].val; /* _iterators on */ if (unlikely(var4 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 285); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 298); fatal_exit(1); } var2 = var4; @@ -1518,7 +1899,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method ordered_tree#OrderedTreeIterator#next for (self: OrderedTreeIterator[Object]) */ +/* method ordered_tree$OrderedTreeIterator$next for (self: OrderedTreeIterator[Object]) */ void ordered_tree___ordered_tree__OrderedTreeIterator___core__abstract_collection__Iterator__next(val* self) { short int var /* : Bool */; val* var1 /* : OrderedTree[Object] */; @@ -1564,16 +1945,22 @@ val* var48 /* : nullable Object */; var = ordered_tree___ordered_tree__OrderedTreeIterator___core__abstract_collection__Iterator__is_ok(self); } if (unlikely(!var)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 301); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 314); fatal_exit(1); } { -{ /* Inline ordered_tree#OrderedTreeIterator#tree (self) on */ +{ /* Inline ordered_tree$OrderedTreeIterator$tree (self) on */ var3 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___tree].val; /* _tree on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tree"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 283); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 296); fatal_exit(1); } var1 = var3; @@ -1581,9 +1968,12 @@ RET_LABEL2:(void)0; } } { -{ /* Inline ordered_tree#OrderedTree#sub (var1) on */ +{ /* Inline ordered_tree$OrderedTree$sub (var1) on */ var6 = var1->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ if (unlikely(var6 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); fatal_exit(1); @@ -1600,11 +1990,14 @@ var8 = core___core__HashMap___core__abstract_collection__MapRead__has_key(var4, } if (var8){ { -{ /* Inline ordered_tree#OrderedTreeIterator#iterators (self) on */ +{ /* Inline ordered_tree$OrderedTreeIterator$iterators (self) on */ var11 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___iterators].val; /* _iterators on */ if (unlikely(var11 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 285); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 298); fatal_exit(1); } var9 = var11; @@ -1612,11 +2005,14 @@ RET_LABEL10:(void)0; } } { -{ /* Inline ordered_tree#OrderedTreeIterator#tree (self) on */ +{ /* Inline ordered_tree$OrderedTreeIterator$tree (self) on */ var14 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___tree].val; /* _tree on */ if (unlikely(var14 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tree"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 283); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 296); fatal_exit(1); } var12 = var14; @@ -1624,9 +2020,12 @@ RET_LABEL13:(void)0; } } { -{ /* Inline ordered_tree#OrderedTree#sub (var12) on */ +{ /* Inline ordered_tree$OrderedTree$sub (var12) on */ var17 = var12->attrs[COLOR_ordered_tree__OrderedTree___sub].val; /* _sub on */ if (unlikely(var17 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _sub"); PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 69); fatal_exit(1); @@ -1645,15 +2044,18 @@ var19 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var1 var20 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var19); } { -core___core__Array___core__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 { { -{ /* Inline ordered_tree#OrderedTreeIterator#iterators (self) on */ +{ /* Inline ordered_tree$OrderedTreeIterator$iterators (self) on */ var23 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___iterators].val; /* _iterators on */ if (unlikely(var23 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 285); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 298); fatal_exit(1); } var21 = var23; @@ -1673,11 +2075,14 @@ var26 = ordered_tree___ordered_tree__OrderedTreeIterator___core__abstract_collec var_ = var26; if (var26){ { -{ /* Inline ordered_tree#OrderedTreeIterator#iterators (self) on */ +{ /* Inline ordered_tree$OrderedTreeIterator$iterators (self) on */ var29 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___iterators].val; /* _iterators on */ if (unlikely(var29 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 285); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 298); fatal_exit(1); } var27 = var29; @@ -1697,11 +2102,14 @@ var25 = var_; } if (var25){ { -{ /* Inline ordered_tree#OrderedTreeIterator#iterators (self) on */ +{ /* Inline ordered_tree$OrderedTreeIterator$iterators (self) on */ var35 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___iterators].val; /* _iterators on */ if (unlikely(var35 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 285); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 298); fatal_exit(1); } var33 = var35; @@ -1717,11 +2125,14 @@ var38 = ordered_tree___ordered_tree__OrderedTreeIterator___core__abstract_collec var_39 = var38; if (var38){ { -{ /* Inline ordered_tree#OrderedTreeIterator#iterators (self) on */ +{ /* Inline ordered_tree$OrderedTreeIterator$iterators (self) on */ var42 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___iterators].val; /* _iterators on */ if (unlikely(var42 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 285); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 298); fatal_exit(1); } var40 = var42; @@ -1740,11 +2151,14 @@ var37 = var_39; } if (var37){ { -{ /* Inline ordered_tree#OrderedTreeIterator#iterators (self) on */ +{ /* Inline ordered_tree$OrderedTreeIterator$iterators (self) on */ var47 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___iterators].val; /* _iterators on */ if (unlikely(var47 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _iterators"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 285); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 298); fatal_exit(1); } var45 = var47; @@ -1767,7 +2181,7 @@ BREAK_label: (void)0; } RET_LABEL:; } -/* method ordered_tree#OrderedTreeIterator#iterator for (self: OrderedTreeIterator[Object]): Iterator[Object] */ +/* method ordered_tree$OrderedTreeIterator$iterator for (self: OrderedTreeIterator[Object]): Iterator[Object] */ val* ordered_tree___ordered_tree__OrderedTreeIterator___core__abstract_collection__Iterator__iterator(val* self) { val* var /* : Iterator[Object] */; val* var1 /* : OrderedTreeIterator[Object] */; @@ -1775,11 +2189,14 @@ val* var2 /* : OrderedTree[Object] */; val* var4 /* : OrderedTree[Object] */; var1 = NEW_ordered_tree__OrderedTreeIterator(self->type->resolution_table->types[COLOR_ordered_tree__OrderedTreeIterator__ordered_tree__OrderedTreeIterator___35dE]); { -{ /* Inline ordered_tree#OrderedTreeIterator#tree (self) on */ +{ /* Inline ordered_tree$OrderedTreeIterator$tree (self) on */ var4 = self->attrs[COLOR_ordered_tree__OrderedTreeIterator___tree].val; /* _tree on */ if (unlikely(var4 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _tree"); -PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 283); +PRINT_ERROR(" (%s:%d)\n", FILE_ordered_tree, 296); fatal_exit(1); } var2 = var4;