X-Git-Url: http://nitlanguage.org diff --git a/c_src/ini.sep.1.c b/c_src/ini.sep.1.c index 3fe3098..c72aacf 100644 --- a/c_src/ini.sep.1.c +++ b/c_src/ini.sep.1.c @@ -1,10 +1,13 @@ #include "ini.sep.0.h" -/* method ini#ConfigTree#ini_file for (self: ConfigTree): String */ +/* method ini$ConfigTree$ini_file for (self: ConfigTree): String */ val* ini___ini__ConfigTree___ini_file(val* self) { val* var /* : String */; val* var1 /* : String */; var1 = self->attrs[COLOR_ini__ConfigTree___ini_file].val; /* _ini_file on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ini_file"); PRINT_ERROR(" (%s:%d)\n", FILE_ini, 37); fatal_exit(1); @@ -13,12 +16,12 @@ var = var1; RET_LABEL:; return var; } -/* method ini#ConfigTree#ini_file= for (self: ConfigTree, String) */ +/* method ini$ConfigTree$ini_file= for (self: ConfigTree, String) */ void ini___ini__ConfigTree___ini_file_61d(val* self, val* p0) { self->attrs[COLOR_ini__ConfigTree___ini_file].val = p0; /* _ini_file on */ RET_LABEL:; } -/* method ini#ConfigTree#init for (self: ConfigTree) */ +/* method ini$ConfigTree$init for (self: ConfigTree) */ void ini___ini__ConfigTree___core__kernel__Object__init(val* self) { val* var /* : String */; val* var2 /* : String */; @@ -27,9 +30,12 @@ short int var3 /* : Bool */; ((void(*)(val* self))(self->class->vft[COLOR_ini___ini__ConfigTree___core__kernel__Object__init]))(self); /* init on */ } { -{ /* Inline ini#ConfigTree#ini_file (self) on */ +{ /* Inline ini$ConfigTree$ini_file (self) on */ var2 = self->attrs[COLOR_ini__ConfigTree___ini_file].val; /* _ini_file on */ if (unlikely(var2 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ini_file"); PRINT_ERROR(" (%s:%d)\n", FILE_ini, 37); fatal_exit(1); @@ -39,17 +45,17 @@ RET_LABEL1:(void)0; } } { -var3 = core__file___String___file_exists(var); +var3 = core__file___Text___file_exists(var); } if (var3){ { -ini___ini__ConfigTree___load(self); /* Direct call ini#ConfigTree#load on */ +ini___ini__ConfigTree___load(self); /* Direct call ini$ConfigTree$load on */ } } else { } RET_LABEL:; } -/* method ini#ConfigTree#[] for (self: ConfigTree, String): nullable String */ +/* method ini$ConfigTree$[] for (self: ConfigTree, String): nullable String */ val* ini___ini__ConfigTree____91d_93d(val* self, val* p0) { val* var /* : nullable String */; val* var_key /* var key: String */; @@ -73,10 +79,10 @@ var2 = 1; /* is null */ var2 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_node,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_node,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_node,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var_node,var_other) on */ var7 = var_node == var_other; var5 = var7; goto RET_LABEL6; @@ -95,7 +101,7 @@ goto RET_LABEL; } else { } { -{ /* Inline ini#ConfigNode#value (var_node) on */ +{ /* Inline ini$ConfigNode$value (var_node) on */ var10 = var_node->attrs[COLOR_ini__ConfigNode___value].val; /* _value on */ var8 = var10; RET_LABEL9:(void)0; @@ -106,119 +112,127 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method ini#ConfigTree#has_key for (self: ConfigTree, String): Bool */ +/* method ini$ConfigTree$has_key for (self: ConfigTree, String): Bool */ short int ini___ini__ConfigTree___has_key(val* self, val* p0) { short int var /* : Bool */; val* var_key /* var key: String */; static val* varonce; val* var1 /* : String */; -char* var2 /* : NativeString */; +char* var2 /* : CString */; val* var3 /* : String */; -val* var4 /* : Array[String] */; -val* var5 /* : Array[nullable Object] */; +val* var4 /* : nullable Int */; +val* var5 /* : nullable Int */; +val* var6 /* : nullable Bool */; +val* var7 /* : nullable Bool */; +val* var8 /* : Array[String] */; +val* var9 /* : Array[nullable Object] */; val* var_parts /* var parts: Array[String] */; -val* var6 /* : nullable Object */; -val* var7 /* : nullable ConfigNode */; +val* var10 /* : nullable Object */; +val* var11 /* : nullable ConfigNode */; val* var_node /* var node: nullable ConfigNode */; -short int var8 /* : Bool */; -short int var9 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var11 /* : Bool */; +short int var12 /* : Bool */; short int var13 /* : Bool */; -short int var14 /* : Bool */; +val* var_other /* var other: nullable Object */; short int var15 /* : Bool */; -val* var16 /* : nullable Object */; -val* var17 /* : nullable ConfigNode */; +short int var17 /* : Bool */; short int var18 /* : Bool */; short int var19 /* : Bool */; -short int var21 /* : Bool */; +val* var20 /* : nullable Object */; +val* var21 /* : nullable ConfigNode */; +short int var22 /* : Bool */; short int var23 /* : Bool */; +short int var25 /* : Bool */; +short int var27 /* : Bool */; var_key = p0; if (likely(varonce!=NULL)) { var1 = varonce; } else { var2 = "."; -var3 = core__flat___NativeString___to_s_full(var2, 1l, 1l); +var4 = (val*)(1l<<2|1); +var5 = (val*)(1l<<2|1); +var6 = (val*)((long)(0)<<2|3); +var7 = (val*)((long)(0)<<2|3); +var3 = core__flat___CString___to_s_unsafe(var2, var4, var5, var6, var7); var1 = var3; varonce = var1; } { -var4 = core__string_search___Text___split(var_key, var1); +var8 = core__string_search___Text___split(var_key, var1); } { -var5 = core___core__AbstractArrayRead___reversed(var4); +var9 = core___core__AbstractArrayRead___reversed(var8); } -var_parts = var5; +var_parts = var9; { -var6 = core___core__AbstractArray___core__abstract_collection__Sequence__pop(var_parts); +var10 = core___core__AbstractArray___core__abstract_collection__Sequence__pop(var_parts); } { -var7 = ini___ini__ConfigTree___get_root(self, var6); +var11 = ini___ini__ConfigTree___get_root(self, var10); } -var_node = var7; +var_node = var11; if (var_node == NULL) { -var8 = 1; /* is null */ +var12 = 1; /* is null */ } else { -var8 = 0; /* arg is null but recv is not */ +var12 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_node,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_node,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_node,var_other) on */ -var13 = var_node == var_other; -var11 = var13; -goto RET_LABEL12; -RET_LABEL12:(void)0; +{ /* Inline kernel$Object$is_same_instance (var_node,var_other) on */ +var17 = var_node == var_other; +var15 = var17; +goto RET_LABEL16; +RET_LABEL16:(void)0; } } -var9 = var11; -goto RET_LABEL10; -RET_LABEL10:(void)0; +var13 = var15; +goto RET_LABEL14; +RET_LABEL14:(void)0; } -var8 = var9; +var12 = var13; } -if (var8){ +if (var12){ var = 0; goto RET_LABEL; } else { } for(;;) { { -var14 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_parts); +var18 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_parts); } -var15 = !var14; -if (var15){ +var19 = !var18; +if (var19){ { -var16 = core___core__AbstractArray___core__abstract_collection__Sequence__pop(var_parts); +var20 = core___core__AbstractArray___core__abstract_collection__Sequence__pop(var_parts); } { -var17 = ini___ini__ConfigNode___get_child(var_node, var16); +var21 = ini___ini__ConfigNode___get_child(var_node, var20); } -var_node = var17; +var_node = var21; if (var_node == NULL) { -var18 = 1; /* is null */ +var22 = 1; /* is null */ } else { -var18 = 0; /* arg is null but recv is not */ +var22 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_node,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_node,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_node,var_other) on */ -var23 = var_node == var_other; -var21 = var23; -goto RET_LABEL22; -RET_LABEL22:(void)0; +{ /* Inline kernel$Object$is_same_instance (var_node,var_other) on */ +var27 = var_node == var_other; +var25 = var27; +goto RET_LABEL26; +RET_LABEL26:(void)0; } } -var19 = var21; -goto RET_LABEL20; -RET_LABEL20:(void)0; +var23 = var25; +goto RET_LABEL24; +RET_LABEL24:(void)0; } -var18 = var19; +var22 = var23; } -if (var18){ +if (var22){ var = 0; goto RET_LABEL; } else { @@ -233,7 +247,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method ini#ConfigTree#to_map for (self: ConfigTree): Map[String, String] */ +/* method ini$ConfigTree$to_map for (self: ConfigTree): Map[String, String] */ val* ini___ini__ConfigTree___to_map(val* self) { val* var /* : Map[String, String] */; val* var1 /* : HashMap[String, String] */; @@ -255,7 +269,7 @@ val* var16 /* : nullable String */; val* var17 /* : String */; var1 = NEW_core__HashMap(&type_core__HashMap__core__String__core__String); { -core___core__HashMap___core__kernel__Object__init(var1); /* Direct call hash_collection#HashMap#init on */ +core___core__HashMap___core__kernel__Object__init(var1); /* Direct call hash_collection$HashMap$init on */ } var_map = var1; { @@ -279,7 +293,7 @@ var6 = ((val*(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4- } var_node = var6; { -{ /* Inline ini#ConfigNode#value (var_node) on */ +{ /* Inline ini$ConfigNode$value (var_node) on */ var9 = var_node->attrs[COLOR_ini__ConfigNode___value].val; /* _value on */ var7 = var9; RET_LABEL8:(void)0; @@ -302,13 +316,16 @@ goto BREAK_label12; var13 = ini___ini__ConfigNode___key(var_node); } { -{ /* Inline ini#ConfigNode#value (var_node) on */ +{ /* Inline ini$ConfigNode$value (var_node) on */ var16 = var_node->attrs[COLOR_ini__ConfigNode___value].val; /* _value on */ var14 = var16; RET_LABEL15:(void)0; } } if (var14 == NULL) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Receiver is null"); PRINT_ERROR(" (%s:%d)\n", FILE_ini, 116); fatal_exit(1); @@ -316,7 +333,7 @@ fatal_exit(1); var17 = core___core__String___Object__to_s(var14); } { -core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var_map, var13, var17); /* Direct call hash_collection#HashMap#[]= on */ +core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var_map, var13, var17); /* Direct call hash_collection$HashMap$[]= on */ } BREAK_label12: (void)0; { @@ -332,19 +349,27 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method ini#ConfigTree#to_s for (self: ConfigTree): String */ +/* method ini$ConfigTree$to_s for (self: ConfigTree): String */ val* ini___ini__ConfigTree___core__abstract_text__Object__to_s(val* self) { val* var /* : String */; val* var1 /* : Map[String, String] */; static val* varonce; val* var2 /* : String */; -char* var3 /* : NativeString */; +char* var3 /* : CString */; val* var4 /* : String */; -static val* varonce5; -val* var6 /* : String */; -char* var7 /* : NativeString */; -val* var8 /* : String */; -val* var9 /* : String */; +val* var5 /* : nullable Int */; +val* var6 /* : nullable Int */; +val* var7 /* : nullable Bool */; +val* var8 /* : nullable Bool */; +static val* varonce9; +val* var10 /* : String */; +char* var11 /* : CString */; +val* var12 /* : String */; +val* var13 /* : nullable Int */; +val* var14 /* : nullable Int */; +val* var15 /* : nullable Bool */; +val* var16 /* : nullable Bool */; +val* var17 /* : String */; { var1 = ini___ini__ConfigTree___to_map(self); } @@ -352,27 +377,35 @@ if (likely(varonce!=NULL)) { var2 = varonce; } else { var3 = ", "; -var4 = core__flat___NativeString___to_s_full(var3, 2l, 2l); +var5 = (val*)(2l<<2|1); +var6 = (val*)(2l<<2|1); +var7 = (val*)((long)(0)<<2|3); +var8 = (val*)((long)(0)<<2|3); +var4 = core__flat___CString___to_s_unsafe(var3, var5, var6, var7, var8); var2 = var4; varonce = var2; } -if (likely(varonce5!=NULL)) { -var6 = varonce5; +if (likely(varonce9!=NULL)) { +var10 = varonce9; } else { -var7 = ":"; -var8 = core__flat___NativeString___to_s_full(var7, 1l, 1l); -var6 = var8; -varonce5 = var6; +var11 = ":"; +var13 = (val*)(1l<<2|1); +var14 = (val*)(1l<<2|1); +var15 = (val*)((long)(0)<<2|3); +var16 = (val*)((long)(0)<<2|3); +var12 = core__flat___CString___to_s_unsafe(var11, var13, var14, var15, var16); +var10 = var12; +varonce9 = var10; } { -var9 = core__flat___Map___join(var1, var2, var6); +var17 = core__flat___Map___join(var1, var2, var10); } -var = var9; +var = var17; goto RET_LABEL; RET_LABEL:; return var; } -/* method ini#ConfigTree#write_to for (self: ConfigTree, Writer) */ +/* method ini$ConfigTree$write_to for (self: ConfigTree, Writer) */ void ini___ini__ConfigTree___core__stream__Writable__write_to(val* self, val* p0) { val* var_stream /* var stream: Writer */; val* var /* : Array[ConfigNode] */; @@ -390,17 +423,25 @@ val* var11 /* : NativeArray[String] */; static val* varonce; static val* varonce12; val* var13 /* : String */; -char* var14 /* : NativeString */; +char* var14 /* : CString */; val* var15 /* : String */; -static val* varonce16; -val* var17 /* : String */; -char* var18 /* : NativeString */; -val* var19 /* : String */; -val* var20 /* : String */; -val* var21 /* : nullable String */; -val* var23 /* : nullable String */; -val* var24 /* : String */; -val* var25 /* : String */; +val* var16 /* : nullable Int */; +val* var17 /* : nullable Int */; +val* var18 /* : nullable Bool */; +val* var19 /* : nullable Bool */; +static val* varonce20; +val* var21 /* : String */; +char* var22 /* : CString */; +val* var23 /* : String */; +val* var24 /* : nullable Int */; +val* var25 /* : nullable Int */; +val* var26 /* : nullable Bool */; +val* var27 /* : nullable Bool */; +val* var28 /* : String */; +val* var29 /* : nullable String */; +val* var31 /* : nullable String */; +val* var32 /* : String */; +val* var33 /* : String */; var_stream = p0; { var = ini___ini__ConfigTree___leaves(self); @@ -423,7 +464,7 @@ var4 = ((val*(*)(val* self))((((long)var_2&3)?class_info[((long)var_2&3)]:var_2- } var_node = var4; { -{ /* Inline ini#ConfigNode#value (var_node) on */ +{ /* Inline ini$ConfigNode$value (var_node) on */ var7 = var_node->attrs[COLOR_ini__ConfigNode___value].val; /* _value on */ var5 = var7; RET_LABEL6:(void)0; @@ -443,54 +484,65 @@ goto BREAK_label10; } else { } if (unlikely(varonce==NULL)) { -var11 = NEW_core__NativeArray(4l, &type_core__NativeArray__core__String); +var11 = NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String); if (likely(varonce12!=NULL)) { var13 = varonce12; } else { var14 = "="; -var15 = core__flat___NativeString___to_s_full(var14, 1l, 1l); +var16 = (val*)(1l<<2|1); +var17 = (val*)(1l<<2|1); +var18 = (val*)((long)(0)<<2|3); +var19 = (val*)((long)(0)<<2|3); +var15 = core__flat___CString___to_s_unsafe(var14, var16, var17, var18, var19); var13 = var15; varonce12 = var13; } ((struct instance_core__NativeArray*)var11)->values[1]=var13; -if (likely(varonce16!=NULL)) { -var17 = varonce16; +if (likely(varonce20!=NULL)) { +var21 = varonce20; } else { -var18 = "\n"; -var19 = core__flat___NativeString___to_s_full(var18, 1l, 1l); -var17 = var19; -varonce16 = var17; +var22 = "\n"; +var24 = (val*)(1l<<2|1); +var25 = (val*)(1l<<2|1); +var26 = (val*)((long)(0)<<2|3); +var27 = (val*)((long)(0)<<2|3); +var23 = core__flat___CString___to_s_unsafe(var22, var24, var25, var26, var27); +var21 = var23; +varonce20 = var21; } -((struct instance_core__NativeArray*)var11)->values[3]=var17; +((struct instance_core__NativeArray*)var11)->values[3]=var21; } else { var11 = varonce; varonce = NULL; } { -var20 = ini___ini__ConfigNode___key(var_node); +var28 = ini___ini__ConfigNode___key(var_node); } -((struct instance_core__NativeArray*)var11)->values[0]=var20; +((struct instance_core__NativeArray*)var11)->values[0]=var28; { -{ /* Inline ini#ConfigNode#value (var_node) on */ -var23 = var_node->attrs[COLOR_ini__ConfigNode___value].val; /* _value on */ -var21 = var23; -RET_LABEL22:(void)0; +{ /* Inline ini$ConfigNode$value (var_node) on */ +var31 = var_node->attrs[COLOR_ini__ConfigNode___value].val; /* _value on */ +var29 = var31; +RET_LABEL30:(void)0; +} } +if (var29 == NULL) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); } -if (var21 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); PRINT_ERROR(" (%s:%d)\n", FILE_ini, 126); fatal_exit(1); } else { -var24 = core___core__String___Object__to_s(var21); +var32 = core___core__String___Object__to_s(var29); } -((struct instance_core__NativeArray*)var11)->values[2]=var24; +((struct instance_core__NativeArray*)var11)->values[2]=var32; { -var25 = ((val*(*)(val* self))(var11->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var11); /* native_to_s on */ +var33 = ((val*(*)(val* self))(var11->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var11); /* native_to_s on */ } varonce = var11; { -core___core__FileWriter___core__stream__Writer__write(var_stream, var25); /* Direct call file#FileWriter#write on */ +core___core__FileWriter___core__stream__Writer__write(var_stream, var33); /* Direct call file$FileWriter$write on */ } BREAK_label10: (void)0; { @@ -503,7 +555,7 @@ BREAK_label: (void)0; } RET_LABEL:; } -/* method ini#ConfigTree#load for (self: ConfigTree) */ +/* method ini$ConfigTree$load for (self: ConfigTree) */ void ini___ini__ConfigTree___load(val* self) { val* var /* : Array[ConfigNode] */; val* var2 /* : Array[ConfigNode] */; @@ -526,74 +578,101 @@ long var13 /* : Int */; short int var14 /* : Bool */; static val* varonce; val* var15 /* : String */; -char* var16 /* : NativeString */; +char* var16 /* : CString */; val* var17 /* : String */; -short int var18 /* : Bool */; -static val* varonce19; -val* var20 /* : String */; -char* var21 /* : NativeString */; -val* var22 /* : String */; -short int var23 /* : Bool */; -val* var24 /* : Text */; -long var25 /* : Int */; -long var26 /* : Int */; -short int var28 /* : Bool */; -int cltype29; -int idtype30; -const char* var_class_name31; -long var32 /* : Int */; -val* var33 /* : Text */; +val* var18 /* : nullable Int */; +val* var19 /* : nullable Int */; +val* var20 /* : nullable Bool */; +val* var21 /* : nullable Bool */; +short int var22 /* : Bool */; +static val* varonce23; +val* var24 /* : String */; +char* var25 /* : CString */; +val* var26 /* : String */; +val* var27 /* : nullable Int */; +val* var28 /* : nullable Int */; +val* var29 /* : nullable Bool */; +val* var30 /* : nullable Bool */; +short int var31 /* : Bool */; +val* var32 /* : Text */; +long var33 /* : Int */; +long var34 /* : Int */; +short int var36 /* : Bool */; +int cltype37; +int idtype38; +const char* var_class_name39; +long var40 /* : Int */; +val* var41 /* : Text */; val* var_key /* var key: String */; -static val* varonce34; -val* var35 /* : String */; -char* var36 /* : NativeString */; -val* var37 /* : String */; -val* var38 /* : Array[String] */; +static val* varonce42; +val* var43 /* : String */; +char* var44 /* : CString */; +val* var45 /* : String */; +val* var46 /* : nullable Int */; +val* var47 /* : nullable Int */; +val* var48 /* : nullable Bool */; +val* var49 /* : nullable Bool */; +val* var50 /* : Array[String] */; val* var_parts /* var parts: Array[String] */; -long var39 /* : Int */; -long var41 /* : Int */; -short int var42 /* : Bool */; -short int var44 /* : Bool */; -int cltype45; -int idtype46; -const char* var_class_name47; -short int var48 /* : Bool */; -val* var49 /* : Sys */; -val* var51 /* : NativeArray[String] */; -static val* varonce50; -static val* varonce52; -val* var53 /* : String */; -char* var54 /* : NativeString */; -val* var55 /* : String */; -val* var56 /* : String */; -val* var57 /* : String */; -val* var58 /* : nullable Object */; -val* var59 /* : Text */; -val* var_key60 /* var key: String */; -val* var61 /* : nullable Object */; -val* var62 /* : Text */; -val* var_val /* var val: String */; -short int var63 /* : Bool */; -short int var64 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var66 /* : Bool */; -short int var67 /* : Bool */; -val* var69 /* : NativeArray[String] */; -static val* varonce68; -static val* varonce70; -val* var71 /* : String */; -char* var72 /* : NativeString */; +long var51 /* : Int */; +long var53 /* : Int */; +short int var54 /* : Bool */; +short int var56 /* : Bool */; +int cltype57; +int idtype58; +const char* var_class_name59; +short int var60 /* : Bool */; +val* var61 /* : Sys */; +val* var63 /* : NativeArray[String] */; +static val* varonce62; +static val* varonce64; +val* var65 /* : String */; +char* var66 /* : CString */; +val* var67 /* : String */; +val* var68 /* : nullable Int */; +val* var69 /* : nullable Int */; +val* var70 /* : nullable Bool */; +val* var71 /* : nullable Bool */; +val* var72 /* : String */; val* var73 /* : String */; -val* var74 /* : String */; -static val* varonce75; -val* var76 /* : String */; -char* var77 /* : NativeString */; -val* var78 /* : String */; +val* var74 /* : nullable Object */; +val* var75 /* : Text */; +val* var_key76 /* var key: String */; +val* var77 /* : nullable Object */; +val* var78 /* : Text */; +val* var_val /* var val: String */; short int var79 /* : Bool */; -{ -{ /* Inline ini#ConfigTree#roots (self) on */ +short int var80 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var82 /* : Bool */; +short int var83 /* : Bool */; +val* var85 /* : NativeArray[String] */; +static val* varonce84; +static val* varonce86; +val* var87 /* : String */; +char* var88 /* : CString */; +val* var89 /* : String */; +val* var90 /* : nullable Int */; +val* var91 /* : nullable Int */; +val* var92 /* : nullable Bool */; +val* var93 /* : nullable Bool */; +val* var94 /* : String */; +static val* varonce95; +val* var96 /* : String */; +char* var97 /* : CString */; +val* var98 /* : String */; +val* var99 /* : nullable Int */; +val* var100 /* : nullable Int */; +val* var101 /* : nullable Bool */; +val* var102 /* : nullable Bool */; +short int var103 /* : Bool */; +{ +{ /* Inline ini$ConfigTree$roots (self) on */ var2 = self->attrs[COLOR_ini__ConfigTree___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_ini, 231); fatal_exit(1); @@ -603,13 +682,16 @@ RET_LABEL1:(void)0; } } { -core___core__AbstractArray___core__abstract_collection__RemovableCollection__clear(var); /* Direct call array#AbstractArray#clear on */ +core___core__AbstractArray___core__abstract_collection__RemovableCollection__clear(var); /* Direct call array$AbstractArray$clear on */ } var3 = NEW_core__FileReader(&type_core__FileReader); { -{ /* Inline ini#ConfigTree#ini_file (self) on */ +{ /* Inline ini$ConfigTree$ini_file (self) on */ var6 = self->attrs[COLOR_ini__ConfigTree___ini_file].val; /* _ini_file on */ if (unlikely(var6 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _ini_file"); PRINT_ERROR(" (%s:%d)\n", FILE_ini, 37); fatal_exit(1); @@ -619,7 +701,7 @@ RET_LABEL5:(void)0; } } { -core___core__FileReader___open(var3, var4); /* Direct call file#FileReader#open on */ +core___core__FileReader___open(var3, var4); /* Direct call file$FileReader$open on */ } var_stream = var3; var_path = ((val*)NULL); @@ -635,14 +717,14 @@ var9 = core___core__Reader___read_line(var_stream); } var_line = var9; { -{ /* Inline kernel#Int#+ (var_line_number,1l) on */ +{ /* Inline kernel$Int$+ (var_line_number,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ var12 = 1; /* easy <1l:Int> isa OTHER*/ if (unlikely(!var12)) { 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); } var13 = var_line_number + 1l; @@ -662,224 +744,254 @@ if (likely(varonce!=NULL)) { var15 = varonce; } else { var16 = ";"; -var17 = core__flat___NativeString___to_s_full(var16, 1l, 1l); +var18 = (val*)(1l<<2|1); +var19 = (val*)(1l<<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; varonce = var15; } { -var18 = core___core__Text___has_prefix(var_line, var15); +var22 = core___core__Text___has_prefix(var_line, var15); } -if (var18){ +if (var22){ goto BREAK_label; } else { -if (likely(varonce19!=NULL)) { -var20 = varonce19; +if (likely(varonce23!=NULL)) { +var24 = varonce23; } else { -var21 = "["; -var22 = core__flat___NativeString___to_s_full(var21, 1l, 1l); -var20 = var22; -varonce19 = var20; +var25 = "["; +var27 = (val*)(1l<<2|1); +var28 = (val*)(1l<<2|1); +var29 = (val*)((long)(0)<<2|3); +var30 = (val*)((long)(0)<<2|3); +var26 = core__flat___CString___to_s_unsafe(var25, var27, var28, var29, var30); +var24 = var26; +varonce23 = var24; } { -var23 = core___core__Text___has_prefix(var_line, var20); +var31 = core___core__Text___has_prefix(var_line, var24); } -if (var23){ +if (var31){ { -var24 = core___core__Text___trim(var_line); +var32 = core___core__Text___trim(var_line); } -var_line = var24; +var_line = var32; { -var25 = ((long(*)(val* self))(var_line->class->vft[COLOR_core__abstract_text__Text__length]))(var_line); /* length on */ +var33 = ((long(*)(val* self))(var_line->class->vft[COLOR_core__abstract_text__Text__length]))(var_line); /* length on */ } { -{ /* Inline kernel#Int#- (var25,2l) on */ +{ /* Inline kernel$Int$- (var33,2l) on */ /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */ /* <2l:Int> isa OTHER */ -var28 = 1; /* easy <2l:Int> isa OTHER*/ -if (unlikely(!var28)) { -var_class_name31 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); +var36 = 1; /* easy <2l:Int> isa OTHER*/ +if (unlikely(!var36)) { +var_class_name39 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name39); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } -var32 = var25 - 2l; -var26 = var32; -goto RET_LABEL27; -RET_LABEL27:(void)0; +var40 = var33 - 2l; +var34 = var40; +goto RET_LABEL35; +RET_LABEL35:(void)0; } } { -var33 = ((val*(*)(val* self, long p0, long p1))(var_line->class->vft[COLOR_core__abstract_text__Text__substring]))(var_line, 1l, var26); /* substring on */ +var41 = ((val*(*)(val* self, long p0, long p1))(var_line->class->vft[COLOR_core__abstract_text__Text__substring]))(var_line, 1l, var34); /* substring on */ } -var_key = var33; +var_key = var41; var_path = var_key; { -ini___ini__ConfigTree___set_node(self, var_path, ((val*)NULL)); /* Direct call ini#ConfigTree#set_node on */ +ini___ini__ConfigTree___set_node(self, var_path, ((val*)NULL)); /* Direct call ini$ConfigTree$set_node on */ } } else { -if (likely(varonce34!=NULL)) { -var35 = varonce34; +if (likely(varonce42!=NULL)) { +var43 = varonce42; } else { -var36 = "="; -var37 = core__flat___NativeString___to_s_full(var36, 1l, 1l); -var35 = var37; -varonce34 = var35; +var44 = "="; +var46 = (val*)(1l<<2|1); +var47 = (val*)(1l<<2|1); +var48 = (val*)((long)(0)<<2|3); +var49 = (val*)((long)(0)<<2|3); +var45 = core__flat___CString___to_s_unsafe(var44, var46, var47, var48, var49); +var43 = var45; +varonce42 = var43; } { -var38 = core__string_search___Text___split(var_line, var35); +var50 = core__string_search___Text___split(var_line, var43); } -var_parts = var38; +var_parts = var50; { -{ /* Inline array#AbstractArrayRead#length (var_parts) on */ -var41 = var_parts->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ -var39 = var41; -RET_LABEL40:(void)0; +{ /* Inline array$AbstractArrayRead$length (var_parts) on */ +var53 = var_parts->attrs[COLOR_core__array__AbstractArrayRead___length].l; /* _length on */ +var51 = var53; +RET_LABEL52:(void)0; } } { -{ /* Inline kernel#Int#> (var39,1l) on */ +{ /* Inline kernel$Int$> (var51,1l) on */ /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ /* <1l:Int> isa OTHER */ -var44 = 1; /* easy <1l:Int> isa OTHER*/ -if (unlikely(!var44)) { -var_class_name47 = type_core__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name47); -PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 730); +var56 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var56)) { +var_class_name59 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name59); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727); fatal_exit(1); } -var48 = var39 > 1l; -var42 = var48; -goto RET_LABEL43; -RET_LABEL43:(void)0; +var60 = var51 > 1l; +var54 = var60; +goto RET_LABEL55; +RET_LABEL55:(void)0; } } -if (unlikely(!var42)) { -var49 = glob_sys; -if (unlikely(varonce50==NULL)) { -var51 = NEW_core__NativeArray(2l, &type_core__NativeArray__core__String); -if (likely(varonce52!=NULL)) { -var53 = varonce52; +if (unlikely(!var54)) { +var61 = glob_sys; +if (unlikely(varonce62==NULL)) { +var63 = NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String); +if (likely(varonce64!=NULL)) { +var65 = varonce64; } else { -var54 = "Error: malformed ini at line "; -var55 = core__flat___NativeString___to_s_full(var54, 29l, 29l); -var53 = var55; -varonce52 = var53; -} -((struct instance_core__NativeArray*)var51)->values[0]=var53; +var66 = "Error: malformed ini at line "; +var68 = (val*)(29l<<2|1); +var69 = (val*)(29l<<2|1); +var70 = (val*)((long)(0)<<2|3); +var71 = (val*)((long)(0)<<2|3); +var67 = core__flat___CString___to_s_unsafe(var66, var68, var69, var70, var71); +var65 = var67; +varonce64 = var65; +} +((struct instance_core__NativeArray*)var63)->values[0]=var65; } else { -var51 = varonce50; -varonce50 = NULL; +var63 = varonce62; +varonce62 = NULL; } -var56 = core__flat___Int___core__abstract_text__Object__to_s(var_line_number); -((struct instance_core__NativeArray*)var51)->values[1]=var56; +var72 = core__flat___Int___core__abstract_text__Object__to_s(var_line_number); +((struct instance_core__NativeArray*)var63)->values[1]=var72; { -var57 = ((val*(*)(val* self))(var51->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var51); /* native_to_s on */ +var73 = ((val*(*)(val* self))(var63->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var63); /* native_to_s on */ } -varonce50 = var51; +varonce62 = var63; { -core__file___Sys___print(var49, var57); /* Direct call file#Sys#print on */ +core__file___Sys___print(var61, var73); /* Direct call file$Sys$print on */ +} +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); } PRINT_ERROR("Runtime error: %s", "Assert failed"); PRINT_ERROR(" (%s:%d)\n", FILE_ini, 212); fatal_exit(1); } { -var58 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_parts, 0l); +var74 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_parts, 0l); } { -var59 = core___core__Text___trim(var58); +var75 = core___core__Text___trim(var74); } -var_key60 = var59; +var_key76 = var75; { -var61 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_parts, 1l); +var77 = core___core__Array___core__abstract_collection__SequenceRead___91d_93d(var_parts, 1l); } { -var62 = core___core__Text___trim(var61); +var78 = core___core__Text___trim(var77); } -var_val = var62; +var_val = var78; if (var_path == NULL) { -var63 = 0; /* is null */ +var79 = 0; /* is null */ } else { -var63 = 1; /* arg is null and recv is not */ +var79 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_path,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var_path,((val*)NULL)) on */ var_other = ((val*)NULL); { -var66 = ((short int(*)(val* self, val* p0))(var_path->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_path, var_other); /* == on */ +var82 = ((short int(*)(val* self, val* p0))(var_path->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_path, var_other); /* == on */ } -var67 = !var66; -var64 = var67; -goto RET_LABEL65; -RET_LABEL65:(void)0; +var83 = !var82; +var80 = var83; +goto RET_LABEL81; +RET_LABEL81:(void)0; } -var63 = var64; +var79 = var80; } -if (var63){ -if (unlikely(varonce68==NULL)) { -var69 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); -if (likely(varonce70!=NULL)) { -var71 = varonce70; +if (var79){ +if (unlikely(varonce84==NULL)) { +var85 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); +if (likely(varonce86!=NULL)) { +var87 = varonce86; } else { -var72 = "."; -var73 = core__flat___NativeString___to_s_full(var72, 1l, 1l); -var71 = var73; -varonce70 = var71; -} -((struct instance_core__NativeArray*)var69)->values[1]=var71; +var88 = "."; +var90 = (val*)(1l<<2|1); +var91 = (val*)(1l<<2|1); +var92 = (val*)((long)(0)<<2|3); +var93 = (val*)((long)(0)<<2|3); +var89 = core__flat___CString___to_s_unsafe(var88, var90, var91, var92, var93); +var87 = var89; +varonce86 = var87; +} +((struct instance_core__NativeArray*)var85)->values[1]=var87; } else { -var69 = varonce68; -varonce68 = NULL; +var85 = varonce84; +varonce84 = NULL; } -((struct instance_core__NativeArray*)var69)->values[0]=var_path; -((struct instance_core__NativeArray*)var69)->values[2]=var_key60; +((struct instance_core__NativeArray*)var85)->values[0]=var_path; +((struct instance_core__NativeArray*)var85)->values[2]=var_key76; { -var74 = ((val*(*)(val* self))(var69->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var69); /* native_to_s on */ +var94 = ((val*(*)(val* self))(var85->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var85); /* native_to_s on */ } -varonce68 = var69; -var_key60 = var74; +varonce84 = var85; +var_key76 = var94; } else { } -if (likely(varonce75!=NULL)) { -var76 = varonce75; +if (likely(varonce95!=NULL)) { +var96 = varonce95; } else { -var77 = "[]"; -var78 = core__flat___NativeString___to_s_full(var77, 2l, 2l); -var76 = var78; -varonce75 = var76; +var97 = "[]"; +var99 = (val*)(2l<<2|1); +var100 = (val*)(2l<<2|1); +var101 = (val*)((long)(0)<<2|3); +var102 = (val*)((long)(0)<<2|3); +var98 = core__flat___CString___to_s_unsafe(var97, var99, var100, var101, var102); +var96 = var98; +varonce95 = var96; } { -var79 = core___core__Text___has_suffix(var_key60, var76); +var103 = core___core__Text___has_suffix(var_key76, var96); } -if (var79){ +if (var103){ { -ini___ini__ConfigTree___set_array(self, var_key60, var_val); /* Direct call ini#ConfigTree#set_array on */ +ini___ini__ConfigTree___set_array(self, var_key76, var_val); /* Direct call ini$ConfigTree$set_array on */ } } else { { -ini___ini__ConfigTree___set_node(self, var_key60, var_val); /* Direct call ini#ConfigTree#set_node on */ +ini___ini__ConfigTree___set_node(self, var_key76, var_val); /* Direct call ini$ConfigTree$set_node on */ } } } } } } else { -goto BREAK_label80; +goto BREAK_label104; } BREAK_label: (void)0; } -BREAK_label80: (void)0; +BREAK_label104: (void)0; { -core___core__FileReader___core__stream__Stream__close(var_stream); /* Direct call file#FileReader#close on */ +core___core__FileReader___core__stream__Stream__close(var_stream); /* Direct call file$FileReader$close on */ } RET_LABEL:; } -/* method ini#ConfigTree#roots for (self: ConfigTree): Array[ConfigNode] */ +/* method ini$ConfigTree$roots for (self: ConfigTree): Array[ConfigNode] */ val* ini___ini__ConfigTree___roots(val* self) { val* var /* : Array[ConfigNode] */; val* var1 /* : Array[ConfigNode] */; var1 = self->attrs[COLOR_ini__ConfigTree___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_ini, 231); fatal_exit(1); @@ -888,7 +1000,7 @@ var = var1; RET_LABEL:; return var; } -/* method ini#ConfigTree#set_array for (self: ConfigTree, String, nullable String) */ +/* method ini$ConfigTree$set_array for (self: ConfigTree, String, nullable String) */ void ini___ini__ConfigTree___set_array(val* self, val* p0, val* p1) { val* var_key /* var key: String */; val* var_value /* var value: nullable String */; @@ -910,24 +1022,28 @@ val* var12 /* : NativeArray[String] */; static val* varonce; static val* varonce13; val* var14 /* : String */; -char* var15 /* : NativeString */; +char* var15 /* : CString */; val* var16 /* : String */; -val* var17 /* : String */; -val* var18 /* : String */; +val* var17 /* : nullable Int */; +val* var18 /* : nullable Int */; +val* var19 /* : nullable Bool */; +val* var20 /* : nullable Bool */; +val* var21 /* : String */; +val* var22 /* : String */; var_key = p0; var_value = p1; { var = ((long(*)(val* self))(var_key->class->vft[COLOR_core__abstract_text__Text__length]))(var_key); /* length on */ } { -{ /* Inline kernel#Int#- (var,2l) on */ +{ /* Inline kernel$Int$- (var,2l) on */ /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */ /* <2l:Int> isa OTHER */ var3 = 1; /* easy <2l:Int> isa OTHER*/ if (unlikely(!var3)) { 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, 734); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } var4 = var - 2l; @@ -949,18 +1065,27 @@ if (var6){ var7 = ini___ini__ConfigTree___get_node(self, var_key); } if (var7 == NULL) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Receiver is null"); PRINT_ERROR(" (%s:%d)\n", FILE_ini, 238); fatal_exit(1); } else { -{ /* Inline ini#ConfigNode#children (var7) on */ +{ /* Inline ini$ConfigNode$children (var7) on */ if (unlikely(var7 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Receiver is null"); PRINT_ERROR(" (%s:%d)\n", FILE_ini, 304); fatal_exit(1); } var10 = var7->attrs[COLOR_ini__ConfigNode___children].val; /* _children on */ if (unlikely(var10 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _children"); PRINT_ERROR(" (%s:%d)\n", FILE_ini, 304); fatal_exit(1); @@ -976,12 +1101,16 @@ var_len = var11; } else { } if (unlikely(varonce==NULL)) { -var12 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); +var12 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); if (likely(varonce13!=NULL)) { var14 = varonce13; } else { var15 = "."; -var16 = core__flat___NativeString___to_s_full(var15, 1l, 1l); +var17 = (val*)(1l<<2|1); +var18 = (val*)(1l<<2|1); +var19 = (val*)((long)(0)<<2|3); +var20 = (val*)((long)(0)<<2|3); +var16 = core__flat___CString___to_s_unsafe(var15, var17, var18, var19, var20); var14 = var16; varonce13 = var14; } @@ -992,230 +1121,247 @@ varonce = NULL; } ((struct instance_core__NativeArray*)var12)->values[0]=var_key; { -var17 = core__flat___Int___core__abstract_text__Object__to_s(var_len); +var21 = core__flat___Int___core__abstract_text__Object__to_s(var_len); } -((struct instance_core__NativeArray*)var12)->values[2]=var17; +((struct instance_core__NativeArray*)var12)->values[2]=var21; { -var18 = ((val*(*)(val* self))(var12->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var12); /* native_to_s on */ +var22 = ((val*(*)(val* self))(var12->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var12); /* native_to_s on */ } varonce = var12; { -ini___ini__ConfigTree___set_node(self, var18, var_value); /* Direct call ini#ConfigTree#set_node on */ +ini___ini__ConfigTree___set_node(self, var22, var_value); /* Direct call ini$ConfigTree$set_node on */ } RET_LABEL:; } -/* method ini#ConfigTree#set_node for (self: ConfigTree, String, nullable String) */ +/* method ini$ConfigTree$set_node for (self: ConfigTree, String, nullable String) */ void ini___ini__ConfigTree___set_node(val* self, val* p0, val* p1) { val* var_key /* var key: String */; val* var_value /* var value: nullable String */; static val* varonce; val* var /* : String */; -char* var1 /* : NativeString */; +char* var1 /* : CString */; val* var2 /* : String */; -val* var3 /* : Array[String] */; -val* var4 /* : Array[nullable Object] */; +val* var3 /* : nullable Int */; +val* var4 /* : nullable Int */; +val* var5 /* : nullable Bool */; +val* var6 /* : nullable Bool */; +val* var7 /* : Array[String] */; +val* var8 /* : Array[nullable Object] */; val* var_parts /* var parts: Array[String] */; -val* var5 /* : nullable Object */; +val* var9 /* : nullable Object */; val* var_k /* var k: String */; -val* var6 /* : nullable ConfigNode */; +val* var10 /* : nullable ConfigNode */; val* var_root /* var root: nullable ConfigNode */; -short int var7 /* : Bool */; -short int var8 /* : Bool */; -val* var_other /* var other: nullable Object */; -short int var10 /* : Bool */; +short int var11 /* : Bool */; short int var12 /* : Bool */; -val* var13 /* : ConfigNode */; +val* var_other /* var other: nullable Object */; short int var14 /* : Bool */; -val* var16 /* : Array[ConfigNode] */; -val* var18 /* : Array[ConfigNode] */; -short int var19 /* : Bool */; -short int var20 /* : Bool */; -val* var21 /* : nullable Object */; -val* var22 /* : nullable ConfigNode */; -val* var_node /* var node: nullable ConfigNode */; +short int var16 /* : Bool */; +val* var17 /* : ConfigNode */; +short int var18 /* : Bool */; +val* var20 /* : Array[ConfigNode] */; +val* var22 /* : Array[ConfigNode] */; short int var23 /* : Bool */; short int var24 /* : Bool */; -short int var26 /* : Bool */; +val* var25 /* : nullable Object */; +val* var26 /* : nullable ConfigNode */; +val* var_node /* var node: nullable ConfigNode */; +short int var27 /* : Bool */; short int var28 /* : Bool */; -val* var29 /* : ConfigNode */; -val* var31 /* : HashMap[String, ConfigNode] */; -val* var33 /* : HashMap[String, ConfigNode] */; -val* var34 /* : String */; -val* var36 /* : String */; -short int var37 /* : Bool */; +short int var30 /* : Bool */; +short int var32 /* : Bool */; +val* var33 /* : ConfigNode */; +val* var35 /* : HashMap[String, ConfigNode] */; +val* var37 /* : HashMap[String, ConfigNode] */; +val* var38 /* : String */; +val* var40 /* : String */; +short int var41 /* : Bool */; var_key = p0; var_value = p1; if (likely(varonce!=NULL)) { var = varonce; } else { var1 = "."; -var2 = core__flat___NativeString___to_s_full(var1, 1l, 1l); +var3 = (val*)(1l<<2|1); +var4 = (val*)(1l<<2|1); +var5 = (val*)((long)(0)<<2|3); +var6 = (val*)((long)(0)<<2|3); +var2 = core__flat___CString___to_s_unsafe(var1, var3, var4, var5, var6); var = var2; varonce = var; } { -var3 = core__string_search___Text___split(var_key, var); +var7 = core__string_search___Text___split(var_key, var); } { -var4 = core___core__AbstractArrayRead___reversed(var3); +var8 = core___core__AbstractArrayRead___reversed(var7); } -var_parts = var4; +var_parts = var8; { -var5 = core___core__AbstractArray___core__abstract_collection__Sequence__pop(var_parts); +var9 = core___core__AbstractArray___core__abstract_collection__Sequence__pop(var_parts); } -var_k = var5; +var_k = var9; { -var6 = ini___ini__ConfigTree___get_root(self, var_k); +var10 = ini___ini__ConfigTree___get_root(self, var_k); } -var_root = var6; +var_root = var10; if (var_root == NULL) { -var7 = 1; /* is null */ +var11 = 1; /* is null */ } else { -var7 = 0; /* arg is null but recv is not */ +var11 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_root,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_root,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_root,var_other) on */ -var12 = var_root == var_other; -var10 = var12; -goto RET_LABEL11; -RET_LABEL11:(void)0; +{ /* Inline kernel$Object$is_same_instance (var_root,var_other) on */ +var16 = var_root == var_other; +var14 = var16; +goto RET_LABEL15; +RET_LABEL15:(void)0; } } -var8 = var10; -goto RET_LABEL9; -RET_LABEL9:(void)0; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; } -var7 = var8; +var11 = var12; } -if (var7){ -var13 = NEW_ini__ConfigNode(&type_ini__ConfigNode); +if (var11){ +var17 = NEW_ini__ConfigNode(&type_ini__ConfigNode); { -((void(*)(val* self, val* p0))(var13->class->vft[COLOR_ini__ConfigNode__name_61d]))(var13, var_k); /* name= on */ +((void(*)(val* self, val* p0))(var17->class->vft[COLOR_ini__ConfigNode__name_61d]))(var17, var_k); /* name= on */ } { -((void(*)(val* self))(var13->class->vft[COLOR_core__kernel__Object__init]))(var13); /* init on */ +((void(*)(val* self))(var17->class->vft[COLOR_core__kernel__Object__init]))(var17); /* init on */ } -var_root = var13; +var_root = var17; { -var14 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_parts); +var18 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_parts); } -if (var14){ +if (var18){ { -{ /* Inline ini#ConfigNode#value= (var_root,var_value) on */ +{ /* Inline ini$ConfigNode$value= (var_root,var_value) on */ var_root->attrs[COLOR_ini__ConfigNode___value].val = var_value; /* _value on */ -RET_LABEL15:(void)0; +RET_LABEL19:(void)0; } } } else { } { -{ /* Inline ini#ConfigTree#roots (self) on */ -var18 = self->attrs[COLOR_ini__ConfigTree___roots].val; /* _roots on */ -if (unlikely(var18 == NULL)) { +{ /* Inline ini$ConfigTree$roots (self) on */ +var22 = self->attrs[COLOR_ini__ConfigTree___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_ini, 231); fatal_exit(1); } -var16 = var18; -RET_LABEL17:(void)0; +var20 = var22; +RET_LABEL21:(void)0; } } { -core___core__Array___core__abstract_collection__SimpleCollection__add(var16, var_root); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var20, var_root); /* Direct call array$Array$add on */ } } else { } for(;;) { { -var19 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_parts); +var23 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_parts); } -var20 = !var19; -if (var20){ +var24 = !var23; +if (var24){ { -var21 = core___core__AbstractArray___core__abstract_collection__Sequence__pop(var_parts); +var25 = core___core__AbstractArray___core__abstract_collection__Sequence__pop(var_parts); } -var_k = var21; +var_k = var25; { -var22 = ini___ini__ConfigNode___get_child(var_root, var_k); +var26 = ini___ini__ConfigNode___get_child(var_root, var_k); } -var_node = var22; +var_node = var26; if (var_node == NULL) { -var23 = 1; /* is null */ +var27 = 1; /* is null */ } else { -var23 = 0; /* arg is null but recv is not */ +var27 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var_node,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var_node,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var_node,var_other) on */ -var28 = var_node == var_other; -var26 = var28; -goto RET_LABEL27; -RET_LABEL27:(void)0; +{ /* Inline kernel$Object$is_same_instance (var_node,var_other) on */ +var32 = var_node == var_other; +var30 = var32; +goto RET_LABEL31; +RET_LABEL31:(void)0; } } -var24 = var26; -goto RET_LABEL25; -RET_LABEL25:(void)0; +var28 = var30; +goto RET_LABEL29; +RET_LABEL29:(void)0; } -var23 = var24; +var27 = var28; } -if (var23){ -var29 = NEW_ini__ConfigNode(&type_ini__ConfigNode); +if (var27){ +var33 = NEW_ini__ConfigNode(&type_ini__ConfigNode); { -((void(*)(val* self, val* p0))(var29->class->vft[COLOR_ini__ConfigNode__name_61d]))(var29, var_k); /* name= on */ +((void(*)(val* self, val* p0))(var33->class->vft[COLOR_ini__ConfigNode__name_61d]))(var33, var_k); /* name= on */ } { -((void(*)(val* self))(var29->class->vft[COLOR_core__kernel__Object__init]))(var29); /* init on */ +((void(*)(val* self))(var33->class->vft[COLOR_core__kernel__Object__init]))(var33); /* init on */ } -var_node = var29; +var_node = var33; { -{ /* Inline ini#ConfigNode#parent= (var_node,var_root) on */ +{ /* Inline ini$ConfigNode$parent= (var_node,var_root) on */ var_node->attrs[COLOR_ini__ConfigNode___parent].val = var_root; /* _parent on */ -RET_LABEL30:(void)0; +RET_LABEL34:(void)0; } } { -{ /* Inline ini#ConfigNode#children (var_root) on */ -var33 = var_root->attrs[COLOR_ini__ConfigNode___children].val; /* _children on */ -if (unlikely(var33 == NULL)) { +{ /* Inline ini$ConfigNode$children (var_root) on */ +var37 = var_root->attrs[COLOR_ini__ConfigNode___children].val; /* _children on */ +if (unlikely(var37 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _children"); PRINT_ERROR(" (%s:%d)\n", FILE_ini, 304); fatal_exit(1); } -var31 = var33; -RET_LABEL32:(void)0; +var35 = var37; +RET_LABEL36:(void)0; } } { -{ /* Inline ini#ConfigNode#name (var_node) on */ -var36 = var_node->attrs[COLOR_ini__ConfigNode___name].val; /* _name on */ -if (unlikely(var36 == NULL)) { +{ /* Inline ini$ConfigNode$name (var_node) on */ +var40 = var_node->attrs[COLOR_ini__ConfigNode___name].val; /* _name on */ +if (unlikely(var40 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); PRINT_ERROR(" (%s:%d)\n", FILE_ini, 305); fatal_exit(1); } -var34 = var36; -RET_LABEL35:(void)0; +var38 = var40; +RET_LABEL39:(void)0; } } { -core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var31, var34, var_node); /* Direct call hash_collection#HashMap#[]= on */ +core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var35, var38, var_node); /* Direct call hash_collection$HashMap$[]= on */ } } else { } { -var37 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_parts); +var41 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_parts); } -if (var37){ +if (var41){ { -{ /* Inline ini#ConfigNode#value= (var_node,var_value) on */ +{ /* Inline ini$ConfigNode$value= (var_node,var_value) on */ var_node->attrs[COLOR_ini__ConfigNode___value].val = var_value; /* _value on */ -RET_LABEL38:(void)0; +RET_LABEL42:(void)0; } } } else { @@ -1228,91 +1374,99 @@ goto BREAK_label; BREAK_label: (void)0; RET_LABEL:; } -/* method ini#ConfigTree#get_node for (self: ConfigTree, String): nullable ConfigNode */ +/* method ini$ConfigTree$get_node for (self: ConfigTree, String): nullable ConfigNode */ val* ini___ini__ConfigTree___get_node(val* self, val* p0) { val* var /* : nullable ConfigNode */; val* var_key /* var key: String */; static val* varonce; val* var1 /* : String */; -char* var2 /* : NativeString */; +char* var2 /* : CString */; val* var3 /* : String */; -val* var4 /* : Array[String] */; -val* var5 /* : Array[nullable Object] */; +val* var4 /* : nullable Int */; +val* var5 /* : nullable Int */; +val* var6 /* : nullable Bool */; +val* var7 /* : nullable Bool */; +val* var8 /* : Array[String] */; +val* var9 /* : Array[nullable Object] */; val* var_parts /* var parts: Array[String] */; -val* var6 /* : nullable Object */; -val* var7 /* : nullable ConfigNode */; +val* var10 /* : nullable Object */; +val* var11 /* : nullable ConfigNode */; val* var_node /* var node: nullable ConfigNode */; -short int var8 /* : Bool */; -short int var9 /* : Bool */; -short int var10 /* : Bool */; -val* var_other /* var other: nullable Object */; short int var12 /* : Bool */; short int var13 /* : Bool */; -short int var_ /* var : Bool */; short int var14 /* : Bool */; -short int var15 /* : Bool */; -val* var16 /* : nullable Object */; -val* var17 /* : nullable ConfigNode */; +val* var_other /* var other: nullable Object */; +short int var16 /* : Bool */; +short int var17 /* : Bool */; +short int var_ /* var : Bool */; +short int var18 /* : Bool */; +short int var19 /* : Bool */; +val* var20 /* : nullable Object */; +val* var21 /* : nullable ConfigNode */; var_key = p0; if (likely(varonce!=NULL)) { var1 = varonce; } else { var2 = "."; -var3 = core__flat___NativeString___to_s_full(var2, 1l, 1l); +var4 = (val*)(1l<<2|1); +var5 = (val*)(1l<<2|1); +var6 = (val*)((long)(0)<<2|3); +var7 = (val*)((long)(0)<<2|3); +var3 = core__flat___CString___to_s_unsafe(var2, var4, var5, var6, var7); var1 = var3; varonce = var1; } { -var4 = core__string_search___Text___split(var_key, var1); +var8 = core__string_search___Text___split(var_key, var1); } { -var5 = core___core__AbstractArrayRead___reversed(var4); +var9 = core___core__AbstractArrayRead___reversed(var8); } -var_parts = var5; +var_parts = var9; { -var6 = core___core__AbstractArray___core__abstract_collection__Sequence__pop(var_parts); +var10 = core___core__AbstractArray___core__abstract_collection__Sequence__pop(var_parts); } { -var7 = ini___ini__ConfigTree___get_root(self, var6); +var11 = ini___ini__ConfigTree___get_root(self, var10); } -var_node = var7; +var_node = var11; for(;;) { if (var_node == NULL) { -var9 = 0; /* is null */ +var13 = 0; /* is null */ } else { -var9 = 1; /* arg is null and recv is not */ +var13 = 1; /* arg is null and recv is not */ } if (0) { -{ /* Inline kernel#Object#!= (var_node,((val*)NULL)) on */ +{ /* Inline kernel$Object$!= (var_node,((val*)NULL)) on */ var_other = ((val*)NULL); { -var12 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on */ +var16 = ((short int(*)(val* self, val* p0))(var_node->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_node, var_other); /* == on */ } -var13 = !var12; -var10 = var13; -goto RET_LABEL11; -RET_LABEL11:(void)0; +var17 = !var16; +var14 = var17; +goto RET_LABEL15; +RET_LABEL15:(void)0; } -var9 = var10; +var13 = var14; } -var_ = var9; -if (var9){ +var_ = var13; +if (var13){ { -var14 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_parts); +var18 = core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_parts); } -var15 = !var14; -var8 = var15; +var19 = !var18; +var12 = var19; } else { -var8 = var_; +var12 = var_; } -if (var8){ +if (var12){ { -var16 = core___core__AbstractArray___core__abstract_collection__Sequence__pop(var_parts); +var20 = core___core__AbstractArray___core__abstract_collection__Sequence__pop(var_parts); } { -var17 = ini___ini__ConfigNode___get_child(var_node, var16); +var21 = ini___ini__ConfigNode___get_child(var_node, var20); } -var_node = var17; +var_node = var21; } else { goto BREAK_label; } @@ -1323,7 +1477,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method ini#ConfigTree#get_root for (self: ConfigTree, String): nullable ConfigNode */ +/* method ini$ConfigTree$get_root for (self: ConfigTree, String): nullable ConfigNode */ val* ini___ini__ConfigTree___get_root(val* self, val* p0) { val* var /* : nullable ConfigNode */; val* var_name /* var name: String */; @@ -1340,9 +1494,12 @@ val* var10 /* : String */; short int var11 /* : Bool */; var_name = p0; { -{ /* Inline ini#ConfigTree#roots (self) on */ +{ /* Inline ini$ConfigTree$roots (self) on */ var3 = self->attrs[COLOR_ini__ConfigTree___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_ini, 231); fatal_exit(1); @@ -1369,9 +1526,12 @@ var7 = ((val*(*)(val* self))((((long)var_5&3)?class_info[((long)var_5&3)]:var_5- } var_root = var7; { -{ /* Inline ini#ConfigNode#name (var_root) on */ +{ /* Inline ini$ConfigNode$name (var_root) on */ var10 = var_root->attrs[COLOR_ini__ConfigNode___name].val; /* _name on */ if (unlikely(var10 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); PRINT_ERROR(" (%s:%d)\n", FILE_ini, 305); fatal_exit(1); @@ -1401,7 +1561,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method ini#ConfigTree#leaves for (self: ConfigTree): Array[ConfigNode] */ +/* method ini$ConfigTree$leaves for (self: ConfigTree): Array[ConfigNode] */ val* ini___ini__ConfigTree___leaves(val* self) { val* var /* : Array[ConfigNode] */; val* var1 /* : Array[ConfigNode] */; @@ -1422,18 +1582,21 @@ val* var15 /* : HashMap[String, ConfigNode] */; val* var16 /* : RemovableCollection[nullable Object] */; var1 = NEW_core__Array(&type_core__Array__ini__ConfigNode); { -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; var2 = NEW_core__Array(&type_core__Array__ini__ConfigNode); { -core___core__Array___core__kernel__Object__init(var2); /* Direct call array#Array#init on */ +core___core__Array___core__kernel__Object__init(var2); /* Direct call array$Array$init on */ } var_todo = var2; { -{ /* Inline ini#ConfigTree#roots (self) on */ +{ /* Inline ini$ConfigTree$roots (self) on */ var5 = self->attrs[COLOR_ini__ConfigTree___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_ini, 231); fatal_exit(1); @@ -1443,7 +1606,7 @@ RET_LABEL4:(void)0; } } { -core___core__Array___core__abstract_collection__SimpleCollection__add_all(var_todo, var3); /* Direct call array#Array#add_all on */ +core___core__Array___core__abstract_collection__SimpleCollection__add_all(var_todo, var3); /* Direct call array$Array$add_all on */ } for(;;) { { @@ -1456,9 +1619,12 @@ var8 = core___core__AbstractArray___core__abstract_collection__Sequence__pop(var } var_node = var8; { -{ /* Inline ini#ConfigNode#children (var_node) on */ +{ /* Inline ini$ConfigNode$children (var_node) on */ var11 = var_node->attrs[COLOR_ini__ConfigNode___children].val; /* _children on */ if (unlikely(var11 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _children"); PRINT_ERROR(" (%s:%d)\n", FILE_ini, 304); fatal_exit(1); @@ -1472,13 +1638,16 @@ var12 = core___core__HashMap___core__abstract_collection__MapRead__is_empty(var9 } if (var12){ { -core___core__Array___core__abstract_collection__SimpleCollection__add(var_res, var_node); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var_res, var_node); /* Direct call array$Array$add on */ } } else { { -{ /* Inline ini#ConfigNode#children (var_node) on */ +{ /* Inline ini$ConfigNode$children (var_node) on */ var15 = var_node->attrs[COLOR_ini__ConfigNode___children].val; /* _children on */ if (unlikely(var15 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _children"); PRINT_ERROR(" (%s:%d)\n", FILE_ini, 304); fatal_exit(1); @@ -1491,7 +1660,7 @@ RET_LABEL14:(void)0; var16 = core___core__HashMap___core__abstract_collection__MapRead__values(var13); } { -core___core__Array___core__abstract_collection__SimpleCollection__add_all(var_todo, var16); /* Direct call array#Array#add_all on */ +core___core__Array___core__abstract_collection__SimpleCollection__add_all(var_todo, var16); /* Direct call array$Array$add_all on */ } } } else { @@ -1504,7 +1673,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method ini#ConfigNode#parent for (self: ConfigNode): nullable ConfigNode */ +/* method ini$ConfigNode$parent for (self: ConfigNode): nullable ConfigNode */ val* ini___ini__ConfigNode___parent(val* self) { val* var /* : nullable ConfigNode */; val* var1 /* : nullable ConfigNode */; @@ -1513,17 +1682,20 @@ var = var1; RET_LABEL:; return var; } -/* method ini#ConfigNode#parent= for (self: ConfigNode, nullable ConfigNode) */ +/* method ini$ConfigNode$parent= for (self: ConfigNode, nullable ConfigNode) */ void ini___ini__ConfigNode___parent_61d(val* self, val* p0) { self->attrs[COLOR_ini__ConfigNode___parent].val = p0; /* _parent on */ RET_LABEL:; } -/* method ini#ConfigNode#children for (self: ConfigNode): HashMap[String, ConfigNode] */ +/* method ini$ConfigNode$children for (self: ConfigNode): HashMap[String, ConfigNode] */ val* ini___ini__ConfigNode___children(val* self) { val* var /* : HashMap[String, ConfigNode] */; val* var1 /* : HashMap[String, ConfigNode] */; var1 = self->attrs[COLOR_ini__ConfigNode___children].val; /* _children on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _children"); PRINT_ERROR(" (%s:%d)\n", FILE_ini, 304); fatal_exit(1); @@ -1532,12 +1704,15 @@ var = var1; RET_LABEL:; return var; } -/* method ini#ConfigNode#name for (self: ConfigNode): String */ +/* method ini$ConfigNode$name for (self: ConfigNode): String */ val* ini___ini__ConfigNode___name(val* self) { val* var /* : String */; val* var1 /* : String */; var1 = self->attrs[COLOR_ini__ConfigNode___name].val; /* _name on */ if (unlikely(var1 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); PRINT_ERROR(" (%s:%d)\n", FILE_ini, 305); fatal_exit(1); @@ -1546,12 +1721,12 @@ var = var1; RET_LABEL:; return var; } -/* method ini#ConfigNode#name= for (self: ConfigNode, String) */ +/* method ini$ConfigNode$name= for (self: ConfigNode, String) */ void ini___ini__ConfigNode___name_61d(val* self, val* p0) { self->attrs[COLOR_ini__ConfigNode___name].val = p0; /* _name on */ RET_LABEL:; } -/* method ini#ConfigNode#value for (self: ConfigNode): nullable String */ +/* method ini$ConfigNode$value for (self: ConfigNode): nullable String */ val* ini___ini__ConfigNode___value(val* self) { val* var /* : nullable String */; val* var1 /* : nullable String */; @@ -1560,12 +1735,12 @@ var = var1; RET_LABEL:; return var; } -/* method ini#ConfigNode#value= for (self: ConfigNode, nullable String) */ +/* method ini$ConfigNode$value= for (self: ConfigNode, nullable String) */ void ini___ini__ConfigNode___value_61d(val* self, val* p0) { self->attrs[COLOR_ini__ConfigNode___value].val = p0; /* _value on */ RET_LABEL:; } -/* method ini#ConfigNode#key for (self: ConfigNode): String */ +/* method ini$ConfigNode$key for (self: ConfigNode): String */ val* ini___ini__ConfigNode___key(val* self) { val* var /* : String */; val* var1 /* : nullable ConfigNode */; @@ -1581,16 +1756,20 @@ val* var13 /* : NativeArray[String] */; static val* varonce; static val* varonce14; val* var15 /* : String */; -char* var16 /* : NativeString */; +char* var16 /* : CString */; val* var17 /* : String */; -val* var18 /* : nullable ConfigNode */; -val* var20 /* : nullable ConfigNode */; -val* var21 /* : String */; -val* var22 /* : String */; -val* var24 /* : String */; +val* var18 /* : nullable Int */; +val* var19 /* : nullable Int */; +val* var20 /* : nullable Bool */; +val* var21 /* : nullable Bool */; +val* var22 /* : nullable ConfigNode */; +val* var24 /* : nullable ConfigNode */; val* var25 /* : String */; +val* var26 /* : String */; +val* var28 /* : String */; +val* var29 /* : String */; { -{ /* Inline ini#ConfigNode#parent (self) on */ +{ /* Inline ini$ConfigNode$parent (self) on */ var3 = self->attrs[COLOR_ini__ConfigNode___parent].val; /* _parent on */ var1 = var3; RET_LABEL2:(void)0; @@ -1602,10 +1781,10 @@ var4 = 1; /* is null */ var4 = 0; /* arg is null but recv is not */ } if (0) { -{ /* Inline kernel#Object#== (var1,((val*)NULL)) on */ +{ /* Inline kernel$Object$== (var1,((val*)NULL)) on */ var_other = ((val*)NULL); { -{ /* Inline kernel#Object#is_same_instance (var1,var_other) on */ +{ /* Inline kernel$Object$is_same_instance (var1,var_other) on */ var9 = var1 == var_other; var7 = var9; goto RET_LABEL8; @@ -1620,9 +1799,12 @@ var4 = var5; } if (var4){ { -{ /* Inline ini#ConfigNode#name (self) on */ +{ /* Inline ini$ConfigNode$name (self) on */ var12 = self->attrs[COLOR_ini__ConfigNode___name].val; /* _name on */ if (unlikely(var12 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); PRINT_ERROR(" (%s:%d)\n", FILE_ini, 305); fatal_exit(1); @@ -1636,12 +1818,16 @@ goto RET_LABEL; } else { } if (unlikely(varonce==NULL)) { -var13 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); +var13 = NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String); if (likely(varonce14!=NULL)) { var15 = varonce14; } else { var16 = "."; -var17 = core__flat___NativeString___to_s_full(var16, 1l, 1l); +var18 = (val*)(1l<<2|1); +var19 = (val*)(1l<<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; } @@ -1651,43 +1837,49 @@ var13 = varonce; varonce = NULL; } { -{ /* Inline ini#ConfigNode#parent (self) on */ -var20 = self->attrs[COLOR_ini__ConfigNode___parent].val; /* _parent on */ -var18 = var20; -RET_LABEL19:(void)0; +{ /* Inline ini$ConfigNode$parent (self) on */ +var24 = self->attrs[COLOR_ini__ConfigNode___parent].val; /* _parent on */ +var22 = var24; +RET_LABEL23:(void)0; +} } +if (var22 == NULL) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); } -if (var18 == NULL) { PRINT_ERROR("Runtime error: %s", "Receiver is null"); PRINT_ERROR(" (%s:%d)\n", FILE_ini, 312); fatal_exit(1); } else { -var21 = ini___ini__ConfigNode___key(var18); +var25 = ini___ini__ConfigNode___key(var22); } -((struct instance_core__NativeArray*)var13)->values[0]=var21; +((struct instance_core__NativeArray*)var13)->values[0]=var25; { -{ /* Inline ini#ConfigNode#name (self) on */ -var24 = self->attrs[COLOR_ini__ConfigNode___name].val; /* _name on */ -if (unlikely(var24 == NULL)) { +{ /* Inline ini$ConfigNode$name (self) on */ +var28 = self->attrs[COLOR_ini__ConfigNode___name].val; /* _name on */ +if (unlikely(var28 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name"); PRINT_ERROR(" (%s:%d)\n", FILE_ini, 305); fatal_exit(1); } -var22 = var24; -RET_LABEL23:(void)0; +var26 = var28; +RET_LABEL27:(void)0; } } -((struct instance_core__NativeArray*)var13)->values[2]=var22; +((struct instance_core__NativeArray*)var13)->values[2]=var26; { -var25 = ((val*(*)(val* self))(var13->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var13); /* native_to_s on */ +var29 = ((val*(*)(val* self))(var13->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var13); /* native_to_s on */ } varonce = var13; -var = var25; +var = var29; goto RET_LABEL; RET_LABEL:; return var; } -/* method ini#ConfigNode#get_child for (self: ConfigNode, String): nullable ConfigNode */ +/* method ini$ConfigNode$get_child for (self: ConfigNode, String): nullable ConfigNode */ val* ini___ini__ConfigNode___get_child(val* self, val* p0) { val* var /* : nullable ConfigNode */; val* var_name /* var name: String */; @@ -1699,9 +1891,12 @@ val* var7 /* : HashMap[String, ConfigNode] */; val* var8 /* : nullable Object */; var_name = p0; { -{ /* Inline ini#ConfigNode#children (self) on */ +{ /* Inline ini$ConfigNode$children (self) on */ var3 = self->attrs[COLOR_ini__ConfigNode___children].val; /* _children on */ if (unlikely(var3 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _children"); PRINT_ERROR(" (%s:%d)\n", FILE_ini, 304); fatal_exit(1); @@ -1715,9 +1910,12 @@ var4 = core___core__HashMap___core__abstract_collection__MapRead__has_key(var1, } if (var4){ { -{ /* Inline ini#ConfigNode#children (self) on */ +{ /* Inline ini$ConfigNode$children (self) on */ var7 = self->attrs[COLOR_ini__ConfigNode___children].val; /* _children on */ if (unlikely(var7 == NULL)) { +if(catchStack.cursor >= 0){ +longjmp(catchStack.envs[catchStack.cursor], 1); +} PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _children"); PRINT_ERROR(" (%s:%d)\n", FILE_ini, 304); fatal_exit(1); @@ -1738,7 +1936,7 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method ini#ConfigNode#init for (self: ConfigNode) */ +/* method ini$ConfigNode$init for (self: ConfigNode) */ void ini___ini__ConfigNode___core__kernel__Object__init(val* self) { { ((void(*)(val* self))(self->class->vft[COLOR_ini___ini__ConfigNode___core__kernel__Object__init]))(self); /* init on */