X-Git-Url: http://nitlanguage.org diff --git a/c_src/opts.sep.1.c b/c_src/opts.sep.1.c index b3ce7ee..ff06e30 100644 --- a/c_src/opts.sep.1.c +++ b/c_src/opts.sep.1.c @@ -193,6 +193,11 @@ PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_ PRINT_ERROR(" (%s:%d)\n", FILE_opts, 46); fatal_exit(1); } +{ +{ /* Inline kernel#Object#init (self) on */ +RET_LABEL1:(void)0; +} +} var_help = p0; var_default = p1; var_names = p2; @@ -258,13 +263,13 @@ var1 = 1; /* is null */ var1 = 0; /* arg is null but recv is not */ } if (0) { -var2 = standard___standard__Array___standard__kernel__Object___61d_61d(var_names, ((val*)NULL)); +var2 = core___core__Array___core__kernel__Object___61d_61d(var_names, ((val*)NULL)); var1 = var2; } if (var1){ -var3 = NEW_standard__Array(&type_standard__Array__standard__String); +var3 = NEW_core__Array(&type_core__Array__core__String); { -standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on */ +core___core__Array___core__kernel__Object__init(var3); /* Direct call array#Array#init on */ } { { /* Inline opts#Option#names= (self,var3) on */ @@ -274,7 +279,7 @@ RET_LABEL4:(void)0; } } else { { -var5 = standard__array___Collection___to_a(var_names); +var5 = core__array___Collection___to_a(var_names); } { { /* Inline opts#Option#names= (self,var5) on */ @@ -346,7 +351,7 @@ RET_LABEL15:(void)0; RET_LABEL:; } /* method opts#Option#to_s for (self: Option): String */ -val* opts___opts__Option___standard__string__Object__to_s(val* self) { +val* opts___opts__Option___core__abstract_text__Object__to_s(val* self) { val* var /* : String */; val* var1 /* : String */; { @@ -365,19 +370,19 @@ val* var1 /* : FlatBuffer */; static val* varonce; val* var2 /* : String */; char* var3 /* : NativeString */; -val* var4 /* : FlatString */; +val* var4 /* : String */; val* var_text /* var text: FlatBuffer */; val* var5 /* : Array[String] */; val* var7 /* : Array[String] */; static val* varonce8; val* var9 /* : String */; char* var10 /* : NativeString */; -val* var11 /* : FlatString */; +val* var11 /* : String */; val* var12 /* : String */; static val* varonce13; val* var14 /* : String */; char* var15 /* : NativeString */; -val* var16 /* : FlatString */; +val* var16 /* : String */; long var17 /* : Int */; long var19 /* : Int */; long var20 /* : Int */; @@ -396,23 +401,23 @@ short int var30 /* : Bool */; static val* varonce31; val* var32 /* : String */; char* var33 /* : NativeString */; -val* var34 /* : FlatString */; +val* var34 /* : String */; val* var35 /* : String */; val* var36 /* : String */; val* var38 /* : String */; val* var39 /* : String */; var_off = p0; -var1 = NEW_standard__FlatBuffer(&type_standard__FlatBuffer); +var1 = NEW_core__FlatBuffer(&type_core__FlatBuffer); if (likely(varonce!=NULL)) { var2 = varonce; } else { var3 = " "; -var4 = standard___standard__NativeString___to_s_with_length(var3, 2l); +var4 = core__flat___NativeString___to_s_full(var3, 2l, 2l); var2 = var4; varonce = var2; } { -standard___standard__FlatBuffer___from(var1, var2); /* Direct call string#FlatBuffer#from on */ +core___core__FlatBuffer___from(var1, var2); /* Direct call flat#FlatBuffer#from on */ } var_text = var1; { @@ -431,30 +436,30 @@ if (likely(varonce8!=NULL)) { var9 = varonce8; } else { var10 = ", "; -var11 = standard___standard__NativeString___to_s_with_length(var10, 2l); +var11 = core__flat___NativeString___to_s_full(var10, 2l, 2l); var9 = var11; varonce8 = var9; } { -var12 = standard__string___Collection___join(var5, var9); +var12 = core__abstract_text___Collection___join(var5, var9); } { -standard___standard__FlatBuffer___Buffer__append(var_text, var12); /* Direct call string#FlatBuffer#append on */ +core___core__FlatBuffer___core__abstract_text__Buffer__append(var_text, var12); /* Direct call flat#FlatBuffer#append on */ } if (likely(varonce13!=NULL)) { var14 = varonce13; } else { var15 = " "; -var16 = standard___standard__NativeString___to_s_with_length(var15, 2l); +var16 = core__flat___NativeString___to_s_full(var15, 2l, 2l); var14 = var16; varonce13 = var14; } { -standard___standard__FlatBuffer___Buffer__append(var_text, var14); /* Direct call string#FlatBuffer#append on */ +core___core__FlatBuffer___core__abstract_text__Buffer__append(var_text, var14); /* Direct call flat#FlatBuffer#append on */ } { -{ /* Inline string#FlatText#length (var_text) on */ -var19 = var_text->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +{ /* Inline abstract_text#FlatText#length (var_text) on */ +var19 = var_text->attrs[COLOR_core__abstract_text__FlatText___length].l; /* _length on */ var17 = var19; RET_LABEL18:(void)0; } @@ -465,9 +470,9 @@ RET_LABEL18:(void)0; /* isa OTHER */ var22 = 1; /* easy isa OTHER*/ if (unlikely(!var22)) { -var_class_name = type_standard__Int.name; +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_standard__kernel, 540); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 734); fatal_exit(1); } var23 = var_off - var17; @@ -483,9 +488,9 @@ var_rest = var20; /* <0l:Int> isa OTHER */ var26 = 1; /* easy <0l:Int> isa OTHER*/ if (unlikely(!var26)) { -var_class_name29 = type_standard__Int.name; +var_class_name29 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name29); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 730); fatal_exit(1); } var30 = var_rest > 0l; @@ -499,15 +504,15 @@ if (likely(varonce31!=NULL)) { var32 = varonce31; } else { var33 = " "; -var34 = standard___standard__NativeString___to_s_with_length(var33, 1l); +var34 = core__flat___NativeString___to_s_full(var33, 1l, 1l); var32 = var34; varonce31 = var32; } { -var35 = ((val*(*)(val* self, long p0))(var32->class->vft[COLOR_standard__string__String___42d]))(var32, var_rest); /* * on */ +var35 = ((val*(*)(val* self, long p0))(var32->class->vft[COLOR_core__abstract_text__String___42d]))(var32, var_rest); /* * on */ } { -standard___standard__FlatBuffer___Buffer__append(var_text, var35); /* Direct call string#FlatBuffer#append on */ +core___core__FlatBuffer___core__abstract_text__Buffer__append(var_text, var35); /* Direct call flat#FlatBuffer#append on */ } } else { } @@ -524,20 +529,22 @@ RET_LABEL37:(void)0; } } { -standard___standard__FlatBuffer___Buffer__append(var_text, var36); /* Direct call string#FlatBuffer#append on */ +core___core__FlatBuffer___core__abstract_text__Buffer__append(var_text, var36); /* Direct call flat#FlatBuffer#append on */ } { -var39 = standard___standard__FlatBuffer___Object__to_s(var_text); +var39 = core___core__FlatBuffer___core__abstract_text__Object__to_s(var_text); } var = var39; goto RET_LABEL; RET_LABEL:; return var; } -/* method opts#Option#read_param for (self: Option, Iterator[String]) */ -void opts___opts__Option___read_param(val* self, val* p0) { +/* method opts#Option#read_param for (self: Option, OptionContext, Iterator[String]) */ +void opts___opts__Option___read_param(val* self, val* p0, val* p1) { +val* var_opts /* var opts: OptionContext */; val* var_it /* var it: Iterator[String] */; -var_it = p0; +var_opts = p0; +var_it = p1; { { /* Inline opts#Option#read= (self,1) on */ self->attrs[COLOR_opts__Option___read].s = 1; /* _read on */ @@ -559,8 +566,9 @@ opts___opts__Option___init(self, var_help, var, var_names); /* Direct call opts# } RET_LABEL:; } -/* method opts#OptionBool#read_param for (self: OptionBool, Iterator[String]) */ -void opts___opts__OptionBool___Option__read_param(val* self, val* p0) { +/* method opts#OptionBool#read_param for (self: OptionBool, OptionContext, Iterator[String]) */ +void opts___opts__OptionBool___Option__read_param(val* self, val* p0, val* p1) { +val* var_opts /* var opts: OptionContext */; val* var_it /* var it: Iterator[String] */; short int var /* : Bool */; int cltype; @@ -568,9 +576,10 @@ int idtype; const struct type* type_struct; const char* var_class_name; val* var2 /* : nullable Object */; -var_it = p0; +var_opts = p0; +var_it = p1; { -((void(*)(val* self, val* p0))(self->class->vft[COLOR_opts___opts__OptionBool___Option__read_param]))(self, p0); /* read_param on */ +((void(*)(val* self, val* p0, val* p1))(self->class->vft[COLOR_opts___opts__OptionBool___Option__read_param]))(self, p0, p1); /* read_param on */ } { { /* Inline opts#Option#value= (self,1) on */ @@ -579,13 +588,13 @@ var_it = p0; type_struct = self->type->resolution_table->types[COLOR_opts__Option__VALUE]; cltype = type_struct->color; idtype = type_struct->id; -if(cltype >= (&type_standard__Bool)->table_size) { +if(cltype >= (&type_core__Bool)->table_size) { var = 0; } else { -var = (&type_standard__Bool)->type_table[cltype] == idtype; +var = (&type_core__Bool)->type_table[cltype] == idtype; } if (unlikely(!var)) { -var_class_name = type_standard__Bool.name; +var_class_name = type_core__Bool.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name); PRINT_ERROR(" (%s:%d)\n", FILE_opts, 40); fatal_exit(1); @@ -610,8 +619,9 @@ opts___opts__Option___init(self, var_help, var, var_names); /* Direct call opts# } RET_LABEL:; } -/* method opts#OptionCount#read_param for (self: OptionCount, Iterator[String]) */ -void opts___opts__OptionCount___Option__read_param(val* self, val* p0) { +/* method opts#OptionCount#read_param for (self: OptionCount, OptionContext, Iterator[String]) */ +void opts___opts__OptionCount___Option__read_param(val* self, val* p0, val* p1) { +val* var_opts /* var opts: OptionContext */; val* var_it /* var it: Iterator[String] */; val* var_ /* var : OptionCount */; val* var /* : nullable Object */; @@ -629,9 +639,10 @@ int idtype11; const struct type* type_struct; const char* var_class_name12; val* var13 /* : nullable Object */; -var_it = p0; +var_opts = p0; +var_it = p1; { -((void(*)(val* self, val* p0))(self->class->vft[COLOR_opts___opts__OptionCount___Option__read_param]))(self, p0); /* read_param on */ +((void(*)(val* self, val* p0, val* p1))(self->class->vft[COLOR_opts___opts__OptionCount___Option__read_param]))(self, p0, p1); /* read_param on */ } var_ = self; { @@ -647,9 +658,9 @@ RET_LABEL1:(void)0; /* <1l:Int> isa OTHER */ var5 = 1; /* easy <1l:Int> isa OTHER*/ if (unlikely(!var5)) { -var_class_name = type_standard__Int.name; +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_standard__kernel, 537); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } var6 = (long)(var)>>2; @@ -666,13 +677,13 @@ RET_LABEL4:(void)0; type_struct = var_->type->resolution_table->types[COLOR_opts__Option__VALUE]; cltype10 = type_struct->color; idtype11 = type_struct->id; -if(cltype10 >= (&type_standard__Int)->table_size) { +if(cltype10 >= (&type_core__Int)->table_size) { var9 = 0; } else { -var9 = (&type_standard__Int)->type_table[cltype10] == idtype11; +var9 = (&type_core__Int)->type_table[cltype10] == idtype11; } if (unlikely(!var9)) { -var_class_name12 = type_standard__Int.name; +var_class_name12 = type_core__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name12); PRINT_ERROR(" (%s:%d)\n", FILE_opts, 40); fatal_exit(1); @@ -693,199 +704,285 @@ var = var1; RET_LABEL:; return var; } -/* method opts#OptionParameter#read_param for (self: OptionParameter, Iterator[String]) */ -void opts___opts__OptionParameter___Option__read_param(val* self, val* p0) { +/* method opts#OptionParameter#read_param for (self: OptionParameter, OptionContext, Iterator[String]) */ +void opts___opts__OptionParameter___Option__read_param(val* self, val* p0, val* p1) { +val* var_opts /* var opts: OptionContext */; val* var_it /* var it: Iterator[String] */; short int var /* : Bool */; +short int var_ok /* var ok: Bool */; short int var1 /* : Bool */; -short int var_ /* var : Bool */; short int var2 /* : Bool */; -val* var3 /* : nullable Object */; +short int var3 /* : Bool */; +short int var_ /* var : Bool */; short int var4 /* : Bool */; -short int var_5 /* var : Bool */; -val* var6 /* : nullable Object */; -val* var7 /* : SequenceRead[Char] */; -val* var8 /* : nullable Object */; -short int var9 /* : Bool */; +short int var6 /* : Bool */; +short int var7 /* : Bool */; +short int var_8 /* var : Bool */; +val* var9 /* : nullable Object */; +short int var10 /* : Bool */; short int var11 /* : Bool */; -uint32_t var12 /* : Char */; -short int var13 /* : Bool */; -val* var14 /* : nullable Object */; +short int var_12 /* var : Bool */; +val* var13 /* : nullable Object */; +val* var14 /* : SequenceRead[Char] */; val* var15 /* : nullable Object */; -short int var17 /* : Bool */; +short int var16 /* : Bool */; +short int var18 /* : Bool */; +uint32_t var19 /* : Char */; +val* var20 /* : Array[Option] */; +val* var22 /* : Array[Option] */; +val* var_23 /* var : Array[Option] */; +val* var24 /* : IndexedIterator[nullable Object] */; +val* var_25 /* var : IndexedIterator[Option] */; +short int var26 /* : Bool */; +val* var27 /* : nullable Object */; +val* var_opt /* var opt: Option */; +val* var28 /* : Array[String] */; +val* var30 /* : Array[String] */; +val* var31 /* : nullable Object */; +short int var32 /* : Bool */; +val* var33 /* : nullable Object */; +val* var34 /* : nullable Object */; +short int var36 /* : Bool */; int cltype; int idtype; const struct type* type_struct; short int is_nullable; const char* var_class_name; -short int var18 /* : Bool */; -short int var20 /* : Bool */; -val* var21 /* : Array[String] */; -val* var23 /* : Array[String] */; -val* var24 /* : NativeArray[String] */; +val* var37 /* : Array[String] */; +val* var39 /* : Array[String] */; +val* var40 /* : NativeArray[String] */; static val* varonce; -static val* varonce25; -val* var26 /* : String */; -char* var27 /* : NativeString */; -val* var28 /* : FlatString */; -static val* varonce29; -val* var30 /* : String */; -char* var31 /* : NativeString */; -val* var32 /* : FlatString */; -val* var33 /* : Array[String] */; -val* var35 /* : Array[String] */; -val* var36 /* : nullable Object */; -val* var37 /* : String */; -var_it = p0; +static val* varonce41; +val* var42 /* : String */; +char* var43 /* : NativeString */; +val* var44 /* : String */; +static val* varonce45; +val* var46 /* : String */; +char* var47 /* : NativeString */; +val* var48 /* : String */; +val* var49 /* : Array[String] */; +val* var51 /* : Array[String] */; +val* var52 /* : nullable Object */; +val* var53 /* : String */; +var_opts = p0; +var_it = p1; { -((void(*)(val* self, val* p0))(self->class->vft[COLOR_opts___opts__OptionParameter___Option__read_param]))(self, p0); /* read_param on */ +((void(*)(val* self, val* p0, val* p1))(self->class->vft[COLOR_opts___opts__OptionParameter___Option__read_param]))(self, p0, p1); /* read_param on */ } { -var1 = ((short int(*)(val* self))((((long)var_it&3)?class_info[((long)var_it&3)]:var_it->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_it); /* is_ok on */ +var = ((short int(*)(val* self))((((long)var_it&3)?class_info[((long)var_it&3)]:var_it->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_it); /* is_ok on */ +} +var_ok = var; +var_ = var_ok; +if (var_ok){ +{ +{ /* Inline opts#OptionParameter#parameter_mandatory (self) on */ +var6 = self->attrs[COLOR_opts__OptionParameter___parameter_mandatory].s; /* _parameter_mandatory on */ +var4 = var6; +RET_LABEL5:(void)0; +} +} +var7 = !var4; +var3 = var7; +} else { +var3 = var_; +} +var_8 = var3; +if (var3){ +{ +var9 = ((val*(*)(val* self))((((long)var_it&3)?class_info[((long)var_it&3)]:var_it->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_it); /* item on */ +} +{ +var10 = ((short int(*)(val* self))(var9->class->vft[COLOR_core__abstract_text__Text__is_empty]))(var9); /* is_empty on */ +} +var11 = !var10; +var2 = var11; +} else { +var2 = var_8; +} +var_12 = var2; +if (var2){ +{ +var13 = ((val*(*)(val* self))((((long)var_it&3)?class_info[((long)var_it&3)]:var_it->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_it); /* item on */ +} +{ +var14 = ((val*(*)(val* self))(var13->class->vft[COLOR_core__abstract_text__Text__chars]))(var13); /* chars on */ +} +{ +var15 = ((val*(*)(val* self))((((long)var14&3)?class_info[((long)var14&3)]:var14->class)->vft[COLOR_core__abstract_collection__Collection__first]))(var14); /* first on */ +} +{ +{ /* Inline kernel#Char#== (var15,'-') on */ +var19 = (uint32_t)((long)(var15)>>2); +var18 = var19 == '-'; +var16 = var18; +goto RET_LABEL17; +RET_LABEL17:(void)0; +} +} +var1 = var16; +} else { +var1 = var_12; } -var_ = var1; if (var1){ { -var3 = ((val*(*)(val* self))((((long)var_it&3)?class_info[((long)var_it&3)]:var_it->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_it); /* item on */ +{ /* Inline opts#OptionContext#options (var_opts) on */ +var22 = var_opts->attrs[COLOR_opts__OptionContext___options].val; /* _options on */ +if (unlikely(var22 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _options"); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 277); +fatal_exit(1); } +var20 = var22; +RET_LABEL21:(void)0; +} +} +var_23 = var20; { -var4 = standard___standard__Text___is_empty(var3); +var24 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_23); } -var_5 = var4; -if (var4){ -var2 = var_5; +var_25 = var24; +for(;;) { +{ +var26 = ((short int(*)(val* self))((((long)var_25&3)?class_info[((long)var_25&3)]:var_25->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_25); /* is_ok on */ +} +if (var26){ } else { +goto BREAK_label; +} { -var6 = ((val*(*)(val* self))((((long)var_it&3)?class_info[((long)var_it&3)]:var_it->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_it); /* item on */ +var27 = ((val*(*)(val* self))((((long)var_25&3)?class_info[((long)var_25&3)]:var_25->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_25); /* item on */ } +var_opt = var27; { -var7 = ((val*(*)(val* self))(var6->class->vft[COLOR_standard__string__Text__chars]))(var6); /* chars on */ +{ /* Inline opts#Option#names (var_opt) on */ +var30 = var_opt->attrs[COLOR_opts__Option___names].val; /* _names on */ +if (unlikely(var30 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names"); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 19); +fatal_exit(1); +} +var28 = var30; +RET_LABEL29:(void)0; +} } { -var8 = ((val*(*)(val* self))((((long)var7&3)?class_info[((long)var7&3)]:var7->class)->vft[COLOR_standard__abstract_collection__Collection__first]))(var7); /* first on */ +var31 = ((val*(*)(val* self))((((long)var_it&3)?class_info[((long)var_it&3)]:var_it->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_it); /* item on */ +} +{ +var32 = core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var28, var31); +} +if (var32){ +var_ok = 0; +goto BREAK_label; +} else { } { -{ /* Inline kernel#Char#!= (var8,'-') on */ -var12 = (uint32_t)((long)(var8)>>2); -var11 = (var8 != NULL) && (var12 == '-'); -var13 = !var11; -var9 = var13; -goto RET_LABEL10; -RET_LABEL10:(void)0; +((void(*)(val* self))((((long)var_25&3)?class_info[((long)var_25&3)]:var_25->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_25); /* next on */ } } -var2 = var9; +BREAK_label: (void)0; +{ +((void(*)(val* self))((((long)var_25&3)?class_info[((long)var_25&3)]:var_25->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_25); /* finish on */ } -var = var2; } else { -var = var_; } -if (var){ +if (var_ok){ { -var14 = ((val*(*)(val* self))((((long)var_it&3)?class_info[((long)var_it&3)]:var_it->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_it); /* item on */ +var33 = ((val*(*)(val* self))((((long)var_it&3)?class_info[((long)var_it&3)]:var_it->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_it); /* item on */ } { -var15 = ((val*(*)(val* self, val* p0))(self->class->vft[COLOR_opts__OptionParameter__convert]))(self, var14); /* convert on */ +var34 = ((val*(*)(val* self, val* p0))(self->class->vft[COLOR_opts__OptionParameter__convert]))(self, var33); /* convert on */ } { -{ /* Inline opts#Option#value= (self,var15) on */ -/* Covariant cast for argument 0 (value) isa VALUE */ -/* isa VALUE */ +{ /* Inline opts#Option#value= (self,var34) on */ +/* Covariant cast for argument 0 (value) isa VALUE */ +/* isa VALUE */ type_struct = self->type->resolution_table->types[COLOR_opts__Option__VALUE]; cltype = type_struct->color; idtype = type_struct->id; is_nullable = type_struct->is_nullable; -if(var15 == NULL) { -var17 = is_nullable; +if(var34 == NULL) { +var36 = is_nullable; } else { -if(cltype >= (((long)var15&3)?type_info[((long)var15&3)]:var15->type)->table_size) { -var17 = 0; +if(cltype >= (((long)var34&3)?type_info[((long)var34&3)]:var34->type)->table_size) { +var36 = 0; } else { -var17 = (((long)var15&3)?type_info[((long)var15&3)]:var15->type)->type_table[cltype] == idtype; +var36 = (((long)var34&3)?type_info[((long)var34&3)]:var34->type)->type_table[cltype] == idtype; } } -if (unlikely(!var17)) { -var_class_name = var15 == NULL ? "null" : (((long)var15&3)?type_info[((long)var15&3)]:var15->type)->name; +if (unlikely(!var36)) { +var_class_name = var34 == NULL ? "null" : (((long)var34&3)?type_info[((long)var34&3)]:var34->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name); PRINT_ERROR(" (%s:%d)\n", FILE_opts, 40); fatal_exit(1); } -self->attrs[COLOR_opts__Option___value].val = var15; /* _value on */ -RET_LABEL16:(void)0; +self->attrs[COLOR_opts__Option___value].val = var34; /* _value on */ +RET_LABEL35:(void)0; } } { -((void(*)(val* self))((((long)var_it&3)?class_info[((long)var_it&3)]:var_it->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_it); /* next on */ +((void(*)(val* self))((((long)var_it&3)?class_info[((long)var_it&3)]:var_it->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_it); /* next on */ } } else { { -{ /* Inline opts#OptionParameter#parameter_mandatory (self) on */ -var20 = self->attrs[COLOR_opts__OptionParameter___parameter_mandatory].s; /* _parameter_mandatory on */ -var18 = var20; -RET_LABEL19:(void)0; -} -} -if (var18){ -{ { /* Inline opts#Option#errors (self) on */ -var23 = self->attrs[COLOR_opts__Option___errors].val; /* _errors on */ -if (unlikely(var23 == NULL)) { +var39 = self->attrs[COLOR_opts__Option___errors].val; /* _errors on */ +if (unlikely(var39 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _errors"); PRINT_ERROR(" (%s:%d)\n", FILE_opts, 28); fatal_exit(1); } -var21 = var23; -RET_LABEL22:(void)0; +var37 = var39; +RET_LABEL38:(void)0; } } if (unlikely(varonce==NULL)) { -var24 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); -if (likely(varonce25!=NULL)) { -var26 = varonce25; +var40 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); +if (likely(varonce41!=NULL)) { +var42 = varonce41; } else { -var27 = "Parameter expected for option "; -var28 = standard___standard__NativeString___to_s_with_length(var27, 30l); -var26 = var28; -varonce25 = var26; +var43 = "Parameter expected for option "; +var44 = core__flat___NativeString___to_s_full(var43, 30l, 30l); +var42 = var44; +varonce41 = var42; } -((struct instance_standard__NativeArray*)var24)->values[0]=var26; -if (likely(varonce29!=NULL)) { -var30 = varonce29; +((struct instance_core__NativeArray*)var40)->values[0]=var42; +if (likely(varonce45!=NULL)) { +var46 = varonce45; } else { -var31 = "."; -var32 = standard___standard__NativeString___to_s_with_length(var31, 1l); -var30 = var32; -varonce29 = var30; +var47 = "."; +var48 = core__flat___NativeString___to_s_full(var47, 1l, 1l); +var46 = var48; +varonce45 = var46; } -((struct instance_standard__NativeArray*)var24)->values[2]=var30; +((struct instance_core__NativeArray*)var40)->values[2]=var46; } else { -var24 = varonce; +var40 = varonce; varonce = NULL; } { { /* Inline opts#Option#names (self) on */ -var35 = self->attrs[COLOR_opts__Option___names].val; /* _names on */ -if (unlikely(var35 == NULL)) { +var51 = self->attrs[COLOR_opts__Option___names].val; /* _names on */ +if (unlikely(var51 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names"); PRINT_ERROR(" (%s:%d)\n", FILE_opts, 19); fatal_exit(1); } -var33 = var35; -RET_LABEL34:(void)0; +var49 = var51; +RET_LABEL50:(void)0; } } { -var36 = standard___standard__SequenceRead___Collection__first(var33); +var52 = core___core__SequenceRead___Collection__first(var49); } -((struct instance_standard__NativeArray*)var24)->values[1]=var36; +((struct instance_core__NativeArray*)var40)->values[1]=var52; { -var37 = ((val*(*)(val* self))(var24->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var24); /* native_to_s on */ +var53 = ((val*(*)(val* self))(var40->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var40); /* native_to_s on */ } -varonce = var24; +varonce = var40; { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var21, var37); /* Direct call array#Array#add on */ -} -} else { +core___core__Array___core__abstract_collection__SimpleCollection__add(var37, var53); /* Direct call array#Array#add on */ } } RET_LABEL:; @@ -919,7 +1016,7 @@ var = ((val*)NULL)->type->type_table[cltype] == idtype; if (unlikely(!var)) { var_class_name = ((val*)NULL) == NULL ? "null" : ((val*)NULL)->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_opts, 172); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 184); fatal_exit(1); } { @@ -949,7 +1046,7 @@ var1 = var_str->type->type_table[cltype] == idtype; if (unlikely(!var1)) { var_class_name = var_str == NULL ? "null" : var_str->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_opts, 174); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 186); fatal_exit(1); } var = var_str; @@ -979,7 +1076,7 @@ val* var_str /* var str: String */; long var1 /* : Int */; var_str = p0; { -var1 = standard___standard__Text___to_i(var_str); +var1 = core__fixed_ints___Text___to_i(var_str); } var = var1; goto RET_LABEL; @@ -1011,9 +1108,9 @@ const struct type* type_struct; const char* var_class_name; var_help = p0; var_names = p1; -var = NEW_standard__Array(&type_standard__Array__standard__String); +var = NEW_core__Array(&type_core__Array__core__String); { -standard___standard__Array___standard__kernel__Object__init(var); /* Direct call array#Array#init on */ +core___core__Array___core__kernel__Object__init(var); /* Direct call array#Array#init on */ } { { /* Inline opts#OptionArray#values= (self,var) on */ @@ -1026,7 +1123,7 @@ RET_LABEL1:(void)0; var4 = self->attrs[COLOR_opts__OptionArray___values].val; /* _values on */ if (unlikely(var4 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _values"); -PRINT_ERROR(" (%s:%d)\n", FILE_opts, 254); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 267); fatal_exit(1); } var2 = var4; @@ -1045,7 +1142,7 @@ var5 = var2->type->type_table[cltype] == idtype; if (unlikely(!var5)) { var_class_name = var2 == NULL ? "null" : var2->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_opts, 251); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 264); fatal_exit(1); } { @@ -1060,7 +1157,7 @@ val* var1 /* : Array[String] */; var1 = self->attrs[COLOR_opts__OptionArray___values].val; /* _values on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _values"); -PRINT_ERROR(" (%s:%d)\n", FILE_opts, 254); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 267); fatal_exit(1); } var = var1; @@ -1091,7 +1188,7 @@ var_str = p0; var3 = self->attrs[COLOR_opts__OptionArray___values].val; /* _values on */ if (unlikely(var3 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _values"); -PRINT_ERROR(" (%s:%d)\n", FILE_opts, 254); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 267); fatal_exit(1); } var1 = var3; @@ -1099,14 +1196,14 @@ RET_LABEL2:(void)0; } } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var1, var_str); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var1, var_str); /* Direct call array#Array#add on */ } { { /* Inline opts#OptionArray#values (self) on */ var6 = self->attrs[COLOR_opts__OptionArray___values].val; /* _values on */ if (unlikely(var6 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _values"); -PRINT_ERROR(" (%s:%d)\n", FILE_opts, 254); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 267); fatal_exit(1); } var4 = var6; @@ -1125,7 +1222,7 @@ var7 = var4->type->type_table[cltype] == idtype; if (unlikely(!var7)) { var_class_name = var4 == NULL ? "null" : var4->type->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_opts, 258); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 271); fatal_exit(1); } var = var4; @@ -1140,7 +1237,7 @@ val* var1 /* : Array[Option] */; var1 = self->attrs[COLOR_opts__OptionContext___options].val; /* _options on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _options"); -PRINT_ERROR(" (%s:%d)\n", FILE_opts, 264); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 277); fatal_exit(1); } var = var1; @@ -1154,21 +1251,21 @@ val* var1 /* : Array[String] */; var1 = self->attrs[COLOR_opts__OptionContext___rest].val; /* _rest on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _rest"); -PRINT_ERROR(" (%s:%d)\n", FILE_opts, 267); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 280); fatal_exit(1); } var = var1; RET_LABEL:; return var; } -/* method opts#OptionContext#errors for (self: OptionContext): Array[String] */ -val* opts___opts__OptionContext___errors(val* self) { +/* method opts#OptionContext#context_errors for (self: OptionContext): Array[String] */ +val* opts___opts__OptionContext___context_errors(val* self) { val* var /* : Array[String] */; val* var1 /* : Array[String] */; -var1 = self->attrs[COLOR_opts__OptionContext___errors].val; /* _errors on */ +var1 = self->attrs[COLOR_opts__OptionContext___context_errors].val; /* _context_errors on */ if (unlikely(var1 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _errors"); -PRINT_ERROR(" (%s:%d)\n", FILE_opts, 270); +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _context_errors"); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 283); fatal_exit(1); } var = var1; @@ -1182,7 +1279,7 @@ val* var1 /* : HashMap[String, Option] */; var1 = self->attrs[COLOR_opts__OptionContext___optmap].val; /* _optmap on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _optmap"); -PRINT_ERROR(" (%s:%d)\n", FILE_opts, 273); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 286); fatal_exit(1); } var = var1; @@ -1200,7 +1297,7 @@ var_opts = p0; var2 = self->attrs[COLOR_opts__OptionContext___options].val; /* _options on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _options"); -PRINT_ERROR(" (%s:%d)\n", FILE_opts, 264); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 277); fatal_exit(1); } var = var2; @@ -1208,7 +1305,7 @@ RET_LABEL1:(void)0; } } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add_all(var, var_opts); /* Direct call array#Array#add_all on */ +core___core__Array___core__abstract_collection__SimpleCollection__add_all(var, var_opts); /* Direct call array#Array#add_all on */ } RET_LABEL:; } @@ -1218,8 +1315,8 @@ long var_lmax /* var lmax: Int */; val* var /* : Array[Option] */; val* var2 /* : Array[Option] */; val* var_ /* var : Array[Option] */; -val* var3 /* : ArrayIterator[nullable Object] */; -val* var_4 /* var : ArrayIterator[Option] */; +val* var3 /* : IndexedIterator[nullable Object] */; +val* var_4 /* var : IndexedIterator[Option] */; short int var5 /* : Bool */; val* var6 /* : nullable Object */; val* var_i /* var i: Option */; @@ -1227,50 +1324,50 @@ long var_l /* var l: Int */; val* var7 /* : Array[String] */; val* var9 /* : Array[String] */; val* var_10 /* var : Array[String] */; -val* var11 /* : ArrayIterator[nullable Object] */; -val* var_12 /* var : ArrayIterator[String] */; +val* var11 /* : IndexedIterator[nullable Object] */; +val* var_12 /* var : IndexedIterator[String] */; short int var13 /* : Bool */; -val* var14 /* : nullable Object */; +val* var15 /* : nullable Object */; val* var_n /* var n: String */; -long var15 /* : Int */; long var16 /* : Int */; -short int var18 /* : Bool */; +long var17 /* : Int */; +short int var19 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var19 /* : Int */; long var20 /* : Int */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; -const char* var_class_name25; -long var26 /* : Int */; -short int var27 /* : Bool */; -short int var29 /* : Bool */; -int cltype30; -int idtype31; -const char* var_class_name32; -short int var33 /* : Bool */; +long var21 /* : Int */; +short int var23 /* : Bool */; +int cltype24; +int idtype25; +const char* var_class_name26; +long var27 /* : Int */; +short int var28 /* : Bool */; +short int var30 /* : Bool */; +int cltype31; +int idtype32; +const char* var_class_name33; +short int var34 /* : Bool */; val* var35 /* : Array[Option] */; val* var37 /* : Array[Option] */; val* var_38 /* var : Array[Option] */; -val* var39 /* : ArrayIterator[nullable Object] */; -val* var_40 /* var : ArrayIterator[Option] */; +val* var39 /* : IndexedIterator[nullable Object] */; +val* var_40 /* var : IndexedIterator[Option] */; short int var41 /* : Bool */; -val* var42 /* : nullable Object */; -val* var_i43 /* var i: Option */; -short int var44 /* : Bool */; -short int var46 /* : Bool */; +val* var43 /* : nullable Object */; +val* var_i44 /* var i: Option */; +short int var45 /* : Bool */; short int var47 /* : Bool */; -val* var48 /* : Sys */; -val* var49 /* : String */; +short int var48 /* : Bool */; +val* var49 /* : Sys */; +val* var50 /* : String */; var_lmax = 1l; { { /* Inline opts#OptionContext#options (self) on */ var2 = self->attrs[COLOR_opts__OptionContext___options].val; /* _options on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _options"); -PRINT_ERROR(" (%s:%d)\n", FILE_opts, 264); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 277); fatal_exit(1); } var = var2; @@ -1279,16 +1376,19 @@ RET_LABEL1:(void)0; } var_ = var; { -var3 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); +var3 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_); } var_4 = var3; for(;;) { { -var5 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_4); +var5 = ((short int(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_4); /* is_ok on */ } if (var5){ +} else { +goto BREAK_label; +} { -var6 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_4); +var6 = ((val*(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_4); /* item on */ } var_i = var6; var_l = 3l; @@ -1306,105 +1406,102 @@ RET_LABEL8:(void)0; } var_10 = var7; { -var11 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_10); +var11 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_10); } var_12 = var11; for(;;) { { -var13 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_12); +var13 = ((short int(*)(val* self))((((long)var_12&3)?class_info[((long)var_12&3)]:var_12->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_12); /* is_ok on */ } if (var13){ +} else { +goto BREAK_label14; +} { -var14 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_12); +var15 = ((val*(*)(val* self))((((long)var_12&3)?class_info[((long)var_12&3)]:var_12->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_12); /* item on */ } -var_n = var14; +var_n = var15; { -var15 = ((long(*)(val* self))(var_n->class->vft[COLOR_standard__string__Text__length]))(var_n); /* length on */ +var16 = ((long(*)(val* self))(var_n->class->vft[COLOR_core__abstract_text__Text__length]))(var_n); /* length on */ } { -{ /* Inline kernel#Int#+ (var15,2l) on */ +{ /* Inline kernel#Int#+ (var16,2l) on */ /* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */ /* <2l:Int> isa OTHER */ -var18 = 1; /* easy <2l:Int> isa OTHER*/ -if (unlikely(!var18)) { -var_class_name = type_standard__Int.name; +var19 = 1; /* easy <2l:Int> isa OTHER*/ +if (unlikely(!var19)) { +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_standard__kernel, 537); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } -var19 = var15 + 2l; -var16 = var19; -goto RET_LABEL17; -RET_LABEL17:(void)0; +var20 = var16 + 2l; +var17 = var20; +goto RET_LABEL18; +RET_LABEL18:(void)0; } } { -{ /* Inline kernel#Int#+ (var_l,var16) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var22 = 1; /* easy isa OTHER*/ -if (unlikely(!var22)) { -var_class_name25 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name25); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +{ /* Inline kernel#Int#+ (var_l,var17) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var23 = 1; /* easy isa OTHER*/ +if (unlikely(!var23)) { +var_class_name26 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name26); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 731); fatal_exit(1); } -var26 = var_l + var16; -var20 = var26; -goto RET_LABEL21; -RET_LABEL21:(void)0; +var27 = var_l + var17; +var21 = var27; +goto RET_LABEL22; +RET_LABEL22:(void)0; } } -var_l = var20; +var_l = var21; { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_12); /* Direct call array#ArrayIterator#next on */ +((void(*)(val* self))((((long)var_12&3)?class_info[((long)var_12&3)]:var_12->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_12); /* next on */ } -} else { -goto BREAK_label; } -} -BREAK_label: (void)0; +BREAK_label14: (void)0; { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_12); /* Direct call array#ArrayIterator#finish on */ +((void(*)(val* self))((((long)var_12&3)?class_info[((long)var_12&3)]:var_12->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_12); /* finish on */ } { { /* Inline kernel#Int#< (var_lmax,var_l) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var29 = 1; /* easy isa OTHER*/ -if (unlikely(!var29)) { -var_class_name32 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +var30 = 1; /* easy isa OTHER*/ +if (unlikely(!var30)) { +var_class_name33 = type_core__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); fatal_exit(1); } -var33 = var_lmax < var_l; -var27 = var33; -goto RET_LABEL28; -RET_LABEL28:(void)0; +var34 = var_lmax < var_l; +var28 = var34; +goto RET_LABEL29; +RET_LABEL29:(void)0; } } -if (var27){ +if (var28){ var_lmax = var_l; } else { } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_4); /* Direct call array#ArrayIterator#next on */ -} -} else { -goto BREAK_label34; +((void(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_4); /* next on */ } } -BREAK_label34: (void)0; +BREAK_label: (void)0; { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_4); /* Direct call array#ArrayIterator#finish on */ +((void(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_4); /* finish on */ } { { /* Inline opts#OptionContext#options (self) on */ var37 = self->attrs[COLOR_opts__OptionContext___options].val; /* _options on */ if (unlikely(var37 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _options"); -PRINT_ERROR(" (%s:%d)\n", FILE_opts, 264); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 277); fatal_exit(1); } var35 = var37; @@ -1413,59 +1510,80 @@ RET_LABEL36:(void)0; } var_38 = var35; { -var39 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_38); +var39 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_38); } var_40 = var39; for(;;) { { -var41 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_40); +var41 = ((short int(*)(val* self))((((long)var_40&3)?class_info[((long)var_40&3)]:var_40->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_40); /* is_ok on */ } if (var41){ +} else { +goto BREAK_label42; +} { -var42 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_40); +var43 = ((val*(*)(val* self))((((long)var_40&3)?class_info[((long)var_40&3)]:var_40->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_40); /* item on */ } -var_i43 = var42; +var_i44 = var43; { -{ /* Inline opts#Option#hidden (var_i43) on */ -var46 = var_i43->attrs[COLOR_opts__Option___hidden].s; /* _hidden on */ -var44 = var46; -RET_LABEL45:(void)0; +{ /* Inline opts#Option#hidden (var_i44) on */ +var47 = var_i44->attrs[COLOR_opts__Option___hidden].s; /* _hidden on */ +var45 = var47; +RET_LABEL46:(void)0; } } -var47 = !var44; -if (var47){ -var48 = glob_sys; +var48 = !var45; +if (var48){ +var49 = glob_sys; { -var49 = opts___opts__Option___pretty(var_i43, var_lmax); +var50 = opts___opts__Option___pretty(var_i44, var_lmax); } { -standard__file___Sys___print(var48, var49); /* Direct call file#Sys#print on */ +core__file___Sys___print(var49, var50); /* Direct call file#Sys#print on */ } } else { } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_40); /* Direct call array#ArrayIterator#next on */ -} -} else { -goto BREAK_label50; +((void(*)(val* self))((((long)var_40&3)?class_info[((long)var_40&3)]:var_40->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_40); /* next on */ } } -BREAK_label50: (void)0; +BREAK_label42: (void)0; { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_40); /* Direct call array#ArrayIterator#finish on */ +((void(*)(val* self))((((long)var_40&3)?class_info[((long)var_40&3)]:var_40->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_40); /* finish on */ } RET_LABEL:; } -/* method opts#OptionContext#parse for (self: OptionContext, Collection[String]) */ +/* method opts#OptionContext#parse for (self: OptionContext, nullable Collection[String]) */ void opts___opts__OptionContext___parse(val* self, val* p0) { -val* var_argv /* var argv: Collection[String] */; -val* var /* : Iterator[nullable Object] */; +val* var_argv /* var argv: nullable Collection[String] */; +short int var /* : Bool */; +short int var1 /* : Bool */; +val* var2 /* : Sys */; +val* var3 /* : Sequence[String] */; +val* var4 /* : Iterator[nullable Object] */; val* var_it /* var it: Iterator[String] */; var_argv = p0; +if (var_argv == NULL) { +var = 1; /* is null */ +} else { +var = 0; /* arg is null but recv is not */ +} +if (0) { +var1 = ((short int(*)(val* self, val* p0))((((long)var_argv&3)?class_info[((long)var_argv&3)]:var_argv->class)->vft[COLOR_core__kernel__Object___61d_61d]))(var_argv, ((val*)NULL)); /* == on */ +var = var1; +} +if (var){ +var2 = glob_sys; { -var = ((val*(*)(val* self))((((long)var_argv&3)?class_info[((long)var_argv&3)]:var_argv->class)->vft[COLOR_standard__abstract_collection__Collection__iterator]))(var_argv); /* iterator on */ +var3 = core__abstract_text___Sys___args(var2); +} +var_argv = var3; +} else { } -var_it = var; +{ +var4 = ((val*(*)(val* self))((((long)var_argv&3)?class_info[((long)var_argv&3)]:var_argv->class)->vft[COLOR_core__abstract_collection__Collection__iterator]))(var_argv); /* iterator on */ +} +var_it = var4; { opts___opts__OptionContext___parse_intern(self, var_it); /* Direct call opts#OptionContext#parse_intern on */ } @@ -1495,7 +1613,7 @@ val* var_str /* var str: String */; static val* varonce; val* var6 /* : String */; char* var7 /* : NativeString */; -val* var8 /* : FlatString */; +val* var8 /* : String */; short int var9 /* : Bool */; val* var10 /* : Array[nullable Object] */; short int var11 /* : Bool */; @@ -1525,7 +1643,7 @@ short int var32 /* : Bool */; static val* varonce33; val* var34 /* : String */; char* var35 /* : NativeString */; -val* var36 /* : FlatString */; +val* var36 /* : String */; val* var37 /* : SequenceRead[Char] */; val* var38 /* : nullable Object */; val* var39 /* : String */; @@ -1558,38 +1676,38 @@ val* var67 /* : Array[nullable Object] */; val* var69 /* : Array[Option] */; val* var71 /* : Array[Option] */; val* var_72 /* var : Array[Option] */; -val* var73 /* : ArrayIterator[nullable Object] */; -val* var_74 /* var : ArrayIterator[Option] */; +val* var73 /* : IndexedIterator[nullable Object] */; +val* var_74 /* var : IndexedIterator[Option] */; short int var75 /* : Bool */; -val* var76 /* : nullable Object */; -val* var_opt77 /* var opt: Option */; -short int var78 /* : Bool */; +val* var77 /* : nullable Object */; +val* var_opt78 /* var opt: Option */; short int var79 /* : Bool */; -short int var81 /* : Bool */; -short int var_82 /* var : Bool */; -short int var83 /* : Bool */; -short int var85 /* : Bool */; +short int var80 /* : Bool */; +short int var82 /* : Bool */; +short int var_83 /* var : Bool */; +short int var84 /* : Bool */; short int var86 /* : Bool */; -val* var87 /* : Array[String] */; -val* var89 /* : Array[String] */; -val* var91 /* : NativeArray[String] */; -static val* varonce90; -static val* varonce92; -val* var93 /* : String */; -char* var94 /* : NativeString */; -val* var95 /* : FlatString */; -static val* varonce96; -val* var97 /* : String */; -char* var98 /* : NativeString */; -val* var99 /* : FlatString */; -val* var100 /* : Array[String] */; -val* var102 /* : Array[String] */; -static val* varonce103; -val* var104 /* : String */; -char* var105 /* : NativeString */; -val* var106 /* : FlatString */; +short int var87 /* : Bool */; +val* var88 /* : Array[String] */; +val* var90 /* : Array[String] */; +val* var92 /* : NativeArray[String] */; +static val* varonce91; +static val* varonce93; +val* var94 /* : String */; +char* var95 /* : NativeString */; +val* var96 /* : String */; +static val* varonce97; +val* var98 /* : String */; +char* var99 /* : NativeString */; +val* var100 /* : String */; +val* var101 /* : Array[String] */; +val* var103 /* : Array[String] */; +static val* varonce104; +val* var105 /* : String */; +char* var106 /* : NativeString */; val* var107 /* : String */; val* var108 /* : String */; +val* var109 /* : String */; var_it = p0; var_parseargs = 1; { @@ -1600,7 +1718,7 @@ opts___opts__OptionContext___build(self); /* Direct call opts#OptionContext#buil var2 = self->attrs[COLOR_opts__OptionContext___rest].val; /* _rest on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _rest"); -PRINT_ERROR(" (%s:%d)\n", FILE_opts, 267); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 280); fatal_exit(1); } var = var2; @@ -1612,7 +1730,7 @@ for(;;) { var_ = var_parseargs; if (var_parseargs){ { -var4 = ((short int(*)(val* self))((((long)var_it&3)?class_info[((long)var_it&3)]:var_it->class)->vft[COLOR_standard__abstract_collection__Iterator__is_ok]))(var_it); /* is_ok on */ +var4 = ((short int(*)(val* self))((((long)var_it&3)?class_info[((long)var_it&3)]:var_it->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_it); /* is_ok on */ } var3 = var4; } else { @@ -1620,38 +1738,38 @@ var3 = var_; } if (var3){ { -var5 = ((val*(*)(val* self))((((long)var_it&3)?class_info[((long)var_it&3)]:var_it->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_it); /* item on */ +var5 = ((val*(*)(val* self))((((long)var_it&3)?class_info[((long)var_it&3)]:var_it->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_it); /* item on */ } var_str = var5; if (likely(varonce!=NULL)) { var6 = varonce; } else { var7 = "--"; -var8 = standard___standard__NativeString___to_s_with_length(var7, 2l); +var8 = core__flat___NativeString___to_s_full(var7, 2l, 2l); var6 = var8; varonce = var6; } { -var9 = ((short int(*)(val* self, val* p0))(var_str->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_str, var6); /* == on */ +var9 = ((short int(*)(val* self, val* p0))(var_str->class->vft[COLOR_core__kernel__Object___61d_61d]))(var_str, var6); /* == on */ } if (var9){ { -((void(*)(val* self))((((long)var_it&3)?class_info[((long)var_it&3)]:var_it->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_it); /* next on */ +((void(*)(val* self))((((long)var_it&3)?class_info[((long)var_it&3)]:var_it->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_it); /* next on */ } { -var10 = standard__array___Iterator___to_a(var_it); +var10 = core__array___Iterator___to_a(var_it); } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add_all(var_rest, var10); /* Direct call array#Array#add_all on */ +core___core__Array___core__abstract_collection__SimpleCollection__add_all(var_rest, var10); /* Direct call array#Array#add_all on */ } var_parseargs = 0; } else { { -var12 = ((val*(*)(val* self))(var_str->class->vft[COLOR_standard__string__Text__chars]))(var_str); /* chars on */ +var12 = ((val*(*)(val* self))(var_str->class->vft[COLOR_core__abstract_text__Text__chars]))(var_str); /* chars on */ } { var13 = (val*)((long)('-')<<2|2); -var14 = ((long(*)(val* self, val* p0))((((long)var12&3)?class_info[((long)var12&3)]:var12->class)->vft[COLOR_standard__abstract_collection__SequenceRead__last_index_of]))(var12, var13); /* last_index_of on */ +var14 = ((long(*)(val* self, val* p0))((((long)var12&3)?class_info[((long)var12&3)]:var12->class)->vft[COLOR_core__abstract_collection__SequenceRead__last_index_of]))(var12, var13); /* last_index_of on */ } { { /* Inline kernel#Int#== (var14,0l) on */ @@ -1664,7 +1782,7 @@ RET_LABEL16:(void)0; var_18 = var15; if (var15){ { -var19 = ((long(*)(val* self))(var_str->class->vft[COLOR_standard__string__Text__length]))(var_str); /* length on */ +var19 = ((long(*)(val* self))(var_str->class->vft[COLOR_core__abstract_text__Text__length]))(var_str); /* length on */ } { { /* Inline kernel#Int#> (var19,2l) on */ @@ -1672,9 +1790,9 @@ var19 = ((long(*)(val* self))(var_str->class->vft[COLOR_standard__string__Text__ /* <2l:Int> isa OTHER */ var22 = 1; /* easy <2l:Int> isa OTHER*/ if (unlikely(!var22)) { -var_class_name = type_standard__Int.name; +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_standard__kernel, 536); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 730); fatal_exit(1); } var23 = var19 > 2l; @@ -1691,7 +1809,7 @@ if (var11){ var_next_called = 0; var_i = 1l; { -var24 = ((long(*)(val* self))(var_str->class->vft[COLOR_standard__string__Text__length]))(var_str); /* length on */ +var24 = ((long(*)(val* self))(var_str->class->vft[COLOR_core__abstract_text__Text__length]))(var_str); /* length on */ } var_25 = var24; for(;;) { @@ -1701,9 +1819,9 @@ for(;;) { /* isa OTHER */ var28 = 1; /* easy isa OTHER*/ if (unlikely(!var28)) { -var_class_name31 = type_standard__Int.name; +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_standard__kernel, 534); +PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 728); fatal_exit(1); } var32 = var_i < var_25; @@ -1713,26 +1831,29 @@ RET_LABEL27:(void)0; } } if (var26){ +} else { +goto BREAK_label; +} if (likely(varonce33!=NULL)) { var34 = varonce33; } else { var35 = "-"; -var36 = standard___standard__NativeString___to_s_with_length(var35, 1l); +var36 = core__flat___NativeString___to_s_full(var35, 1l, 1l); var34 = var36; varonce33 = var34; } { -var37 = ((val*(*)(val* self))(var_str->class->vft[COLOR_standard__string__Text__chars]))(var_str); /* chars on */ +var37 = ((val*(*)(val* self))(var_str->class->vft[COLOR_core__abstract_text__Text__chars]))(var_str); /* chars on */ } { -var38 = ((val*(*)(val* self, long p0))((((long)var37&3)?class_info[((long)var37&3)]:var37->class)->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var37, var_i); /* [] on */ +var38 = ((val*(*)(val* self, long p0))((((long)var37&3)?class_info[((long)var37&3)]:var37->class)->vft[COLOR_core__abstract_collection__SequenceRead___91d_93d]))(var37, var_i); /* [] on */ } { var40 = (uint32_t)((long)(var38)>>2); -var39 = standard__string___Char___Object__to_s(var40); +var39 = core__abstract_text___Char___Object__to_s(var40); } { -var41 = ((val*(*)(val* self, val* p0))(var34->class->vft[COLOR_standard__string__String___43d]))(var34, var39); /* + on */ +var41 = ((val*(*)(val* self, val* p0))(var34->class->vft[COLOR_core__abstract_text__String___43d]))(var34, var39); /* + on */ } var_short_opt = var41; { @@ -1740,7 +1861,7 @@ var_short_opt = var41; var44 = self->attrs[COLOR_opts__OptionContext___optmap].val; /* _optmap on */ if (unlikely(var44 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _optmap"); -PRINT_ERROR(" (%s:%d)\n", FILE_opts, 273); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 286); fatal_exit(1); } var42 = var44; @@ -1748,7 +1869,7 @@ RET_LABEL43:(void)0; } } { -var45 = standard___standard__HashMap___standard__abstract_collection__MapRead__has_key(var42, var_short_opt); +var45 = core___core__HashMap___core__abstract_collection__MapRead__has_key(var42, var_short_opt); } if (var45){ { @@ -1756,7 +1877,7 @@ if (var45){ var48 = self->attrs[COLOR_opts__OptionContext___optmap].val; /* _optmap on */ if (unlikely(var48 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _optmap"); -PRINT_ERROR(" (%s:%d)\n", FILE_opts, 273); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 286); fatal_exit(1); } var46 = var48; @@ -1764,7 +1885,7 @@ RET_LABEL47:(void)0; } } { -var49 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var46, var_short_opt); +var49 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var46, var_short_opt); } var_option = var49; /* isa OptionParameter */ @@ -1777,29 +1898,26 @@ var50 = var_option->type->type_table[cltype51] == idtype52; } if (var50){ { -((void(*)(val* self))((((long)var_it&3)?class_info[((long)var_it&3)]:var_it->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_it); /* next on */ +((void(*)(val* self))((((long)var_it&3)?class_info[((long)var_it&3)]:var_it->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_it); /* next on */ } var_next_called = 1; } else { } { -((void(*)(val* self, val* p0))(var_option->class->vft[COLOR_opts__Option__read_param]))(var_option, var_it); /* read_param on */ +((void(*)(val* self, val* p0, val* p1))(var_option->class->vft[COLOR_opts__Option__read_param]))(var_option, self, var_it); /* read_param on */ } } else { } { -var53 = standard___standard__Int___Discrete__successor(var_i, 1l); +var53 = core___core__Int___Discrete__successor(var_i, 1l); } var_i = var53; -} else { -goto BREAK_label; -} } BREAK_label: (void)0; var54 = !var_next_called; if (var54){ { -((void(*)(val* self))((((long)var_it&3)?class_info[((long)var_it&3)]:var_it->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_it); /* next on */ +((void(*)(val* self))((((long)var_it&3)?class_info[((long)var_it&3)]:var_it->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_it); /* next on */ } } else { } @@ -1809,7 +1927,7 @@ if (var54){ var57 = self->attrs[COLOR_opts__OptionContext___optmap].val; /* _optmap on */ if (unlikely(var57 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _optmap"); -PRINT_ERROR(" (%s:%d)\n", FILE_opts, 273); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 286); fatal_exit(1); } var55 = var57; @@ -1817,7 +1935,7 @@ RET_LABEL56:(void)0; } } { -var58 = standard___standard__HashMap___standard__abstract_collection__MapRead__has_key(var55, var_str); +var58 = core___core__HashMap___core__abstract_collection__MapRead__has_key(var55, var_str); } if (var58){ { @@ -1825,7 +1943,7 @@ if (var58){ var61 = self->attrs[COLOR_opts__OptionContext___optmap].val; /* _optmap on */ if (unlikely(var61 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _optmap"); -PRINT_ERROR(" (%s:%d)\n", FILE_opts, 273); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 286); fatal_exit(1); } var59 = var61; @@ -1833,24 +1951,24 @@ RET_LABEL60:(void)0; } } { -var62 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var59, var_str); +var62 = core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var59, var_str); } var_opt = var62; { -((void(*)(val* self))((((long)var_it&3)?class_info[((long)var_it&3)]:var_it->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_it); /* next on */ +((void(*)(val* self))((((long)var_it&3)?class_info[((long)var_it&3)]:var_it->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_it); /* next on */ } { -((void(*)(val* self, val* p0))(var_opt->class->vft[COLOR_opts__Option__read_param]))(var_opt, var_it); /* read_param on */ +((void(*)(val* self, val* p0, val* p1))(var_opt->class->vft[COLOR_opts__Option__read_param]))(var_opt, self, var_it); /* read_param on */ } } else { { -var63 = ((val*(*)(val* self))((((long)var_it&3)?class_info[((long)var_it&3)]:var_it->class)->vft[COLOR_standard__abstract_collection__Iterator__item]))(var_it); /* item on */ +var63 = ((val*(*)(val* self))((((long)var_it&3)?class_info[((long)var_it&3)]:var_it->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_it); /* item on */ } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_rest, var63); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var_rest, var63); /* Direct call array#Array#add on */ } { -((void(*)(val* self))((((long)var_it&3)?class_info[((long)var_it&3)]:var_it->class)->vft[COLOR_standard__abstract_collection__Iterator__next]))(var_it); /* next on */ +((void(*)(val* self))((((long)var_it&3)?class_info[((long)var_it&3)]:var_it->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_it); /* next on */ } { { /* Inline opts#OptionContext#options_before_rest (self) on */ @@ -1861,10 +1979,10 @@ RET_LABEL65:(void)0; } if (var64){ { -var67 = standard__array___Iterator___to_a(var_it); +var67 = core__array___Iterator___to_a(var_it); } { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add_all(var_rest, var67); /* Direct call array#Array#add_all on */ +core___core__Array___core__abstract_collection__SimpleCollection__add_all(var_rest, var67); /* Direct call array#Array#add_all on */ } var_parseargs = 0; } else { @@ -1882,7 +2000,7 @@ BREAK_label68: (void)0; var71 = self->attrs[COLOR_opts__OptionContext___options].val; /* _options on */ if (unlikely(var71 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _options"); -PRINT_ERROR(" (%s:%d)\n", FILE_opts, 264); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 277); fatal_exit(1); } var69 = var71; @@ -1891,119 +2009,119 @@ RET_LABEL70:(void)0; } var_72 = var69; { -var73 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_72); +var73 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_72); } var_74 = var73; for(;;) { { -var75 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_74); +var75 = ((short int(*)(val* self))((((long)var_74&3)?class_info[((long)var_74&3)]:var_74->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_74); /* is_ok on */ } if (var75){ +} else { +goto BREAK_label76; +} { -var76 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_74); +var77 = ((val*(*)(val* self))((((long)var_74&3)?class_info[((long)var_74&3)]:var_74->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_74); /* item on */ } -var_opt77 = var76; +var_opt78 = var77; { -{ /* Inline opts#Option#mandatory (var_opt77) on */ -var81 = var_opt77->attrs[COLOR_opts__Option___mandatory].s; /* _mandatory on */ -var79 = var81; -RET_LABEL80:(void)0; +{ /* Inline opts#Option#mandatory (var_opt78) on */ +var82 = var_opt78->attrs[COLOR_opts__Option___mandatory].s; /* _mandatory on */ +var80 = var82; +RET_LABEL81:(void)0; } } -var_82 = var79; -if (var79){ +var_83 = var80; +if (var80){ { -{ /* Inline opts#Option#read (var_opt77) on */ -var85 = var_opt77->attrs[COLOR_opts__Option___read].s; /* _read on */ -var83 = var85; -RET_LABEL84:(void)0; +{ /* Inline opts#Option#read (var_opt78) on */ +var86 = var_opt78->attrs[COLOR_opts__Option___read].s; /* _read on */ +var84 = var86; +RET_LABEL85:(void)0; } } -var86 = !var83; -var78 = var86; +var87 = !var84; +var79 = var87; } else { -var78 = var_82; +var79 = var_83; } -if (var78){ +if (var79){ { -{ /* Inline opts#OptionContext#errors (self) on */ -var89 = self->attrs[COLOR_opts__OptionContext___errors].val; /* _errors on */ -if (unlikely(var89 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _errors"); -PRINT_ERROR(" (%s:%d)\n", FILE_opts, 270); +{ /* Inline opts#OptionContext#context_errors (self) on */ +var90 = self->attrs[COLOR_opts__OptionContext___context_errors].val; /* _context_errors on */ +if (unlikely(var90 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _context_errors"); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 283); fatal_exit(1); } -var87 = var89; -RET_LABEL88:(void)0; +var88 = var90; +RET_LABEL89:(void)0; } } -if (unlikely(varonce90==NULL)) { -var91 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); -if (likely(varonce92!=NULL)) { -var93 = varonce92; +if (unlikely(varonce91==NULL)) { +var92 = NEW_core__NativeArray(3l, &type_core__NativeArray__core__String); +if (likely(varonce93!=NULL)) { +var94 = varonce93; } else { -var94 = "Mandatory option "; -var95 = standard___standard__NativeString___to_s_with_length(var94, 17l); -var93 = var95; -varonce92 = var93; +var95 = "Mandatory option "; +var96 = core__flat___NativeString___to_s_full(var95, 17l, 17l); +var94 = var96; +varonce93 = var94; } -((struct instance_standard__NativeArray*)var91)->values[0]=var93; -if (likely(varonce96!=NULL)) { -var97 = varonce96; +((struct instance_core__NativeArray*)var92)->values[0]=var94; +if (likely(varonce97!=NULL)) { +var98 = varonce97; } else { -var98 = " not found."; -var99 = standard___standard__NativeString___to_s_with_length(var98, 11l); -var97 = var99; -varonce96 = var97; +var99 = " not found."; +var100 = core__flat___NativeString___to_s_full(var99, 11l, 11l); +var98 = var100; +varonce97 = var98; } -((struct instance_standard__NativeArray*)var91)->values[2]=var97; +((struct instance_core__NativeArray*)var92)->values[2]=var98; } else { -var91 = varonce90; -varonce90 = NULL; +var92 = varonce91; +varonce91 = NULL; } { -{ /* Inline opts#Option#names (var_opt77) on */ -var102 = var_opt77->attrs[COLOR_opts__Option___names].val; /* _names on */ -if (unlikely(var102 == NULL)) { +{ /* Inline opts#Option#names (var_opt78) on */ +var103 = var_opt78->attrs[COLOR_opts__Option___names].val; /* _names on */ +if (unlikely(var103 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names"); PRINT_ERROR(" (%s:%d)\n", FILE_opts, 19); fatal_exit(1); } -var100 = var102; -RET_LABEL101:(void)0; +var101 = var103; +RET_LABEL102:(void)0; } } -if (likely(varonce103!=NULL)) { -var104 = varonce103; +if (likely(varonce104!=NULL)) { +var105 = varonce104; } else { -var105 = ", "; -var106 = standard___standard__NativeString___to_s_with_length(var105, 2l); -var104 = var106; -varonce103 = var104; +var106 = ", "; +var107 = core__flat___NativeString___to_s_full(var106, 2l, 2l); +var105 = var107; +varonce104 = var105; } { -var107 = standard__string___Collection___join(var100, var104); +var108 = core__abstract_text___Collection___join(var101, var105); } -((struct instance_standard__NativeArray*)var91)->values[1]=var107; +((struct instance_core__NativeArray*)var92)->values[1]=var108; { -var108 = ((val*(*)(val* self))(var91->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var91); /* native_to_s on */ +var109 = ((val*(*)(val* self))(var92->class->vft[COLOR_core__abstract_text__NativeArray__native_to_s]))(var92); /* native_to_s on */ } -varonce90 = var91; +varonce91 = var92; { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var87, var108); /* Direct call array#Array#add on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var88, var109); /* Direct call array#Array#add on */ } } else { } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_74); /* Direct call array#ArrayIterator#next on */ -} -} else { -goto BREAK_label109; +((void(*)(val* self))((((long)var_74&3)?class_info[((long)var_74&3)]:var_74->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_74); /* next on */ } } -BREAK_label109: (void)0; +BREAK_label76: (void)0; { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_74); /* Direct call array#ArrayIterator#finish on */ +((void(*)(val* self))((((long)var_74&3)?class_info[((long)var_74&3)]:var_74->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_74); /* finish on */ } RET_LABEL:; } @@ -2012,27 +2130,27 @@ void opts___opts__OptionContext___build(val* self) { val* var /* : Array[Option] */; val* var2 /* : Array[Option] */; val* var_ /* var : Array[Option] */; -val* var3 /* : ArrayIterator[nullable Object] */; -val* var_4 /* var : ArrayIterator[Option] */; +val* var3 /* : IndexedIterator[nullable Object] */; +val* var_4 /* var : IndexedIterator[Option] */; short int var5 /* : Bool */; val* var6 /* : nullable Object */; val* var_o /* var o: Option */; val* var7 /* : Array[String] */; val* var9 /* : Array[String] */; val* var_10 /* var : Array[String] */; -val* var11 /* : ArrayIterator[nullable Object] */; -val* var_12 /* var : ArrayIterator[String] */; +val* var11 /* : IndexedIterator[nullable Object] */; +val* var_12 /* var : IndexedIterator[String] */; short int var13 /* : Bool */; -val* var14 /* : nullable Object */; +val* var15 /* : nullable Object */; val* var_n /* var n: String */; -val* var15 /* : HashMap[String, Option] */; -val* var17 /* : HashMap[String, Option] */; +val* var16 /* : HashMap[String, Option] */; +val* var18 /* : HashMap[String, Option] */; { { /* Inline opts#OptionContext#options (self) on */ var2 = self->attrs[COLOR_opts__OptionContext___options].val; /* _options on */ if (unlikely(var2 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _options"); -PRINT_ERROR(" (%s:%d)\n", FILE_opts, 264); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 277); fatal_exit(1); } var = var2; @@ -2041,16 +2159,19 @@ RET_LABEL1:(void)0; } var_ = var; { -var3 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); +var3 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_); } var_4 = var3; for(;;) { { -var5 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_4); +var5 = ((short int(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_4); /* is_ok on */ } if (var5){ +} else { +goto BREAK_label; +} { -var6 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_4); +var6 = ((val*(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_4); /* item on */ } var_o = var6; { @@ -2067,162 +2188,173 @@ RET_LABEL8:(void)0; } var_10 = var7; { -var11 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_10); +var11 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_10); } var_12 = var11; for(;;) { { -var13 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_12); +var13 = ((short int(*)(val* self))((((long)var_12&3)?class_info[((long)var_12&3)]:var_12->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_12); /* is_ok on */ } if (var13){ +} else { +goto BREAK_label14; +} { -var14 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_12); +var15 = ((val*(*)(val* self))((((long)var_12&3)?class_info[((long)var_12&3)]:var_12->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_12); /* item on */ } -var_n = var14; +var_n = var15; { { /* Inline opts#OptionContext#optmap (self) on */ -var17 = self->attrs[COLOR_opts__OptionContext___optmap].val; /* _optmap on */ -if (unlikely(var17 == NULL)) { +var18 = self->attrs[COLOR_opts__OptionContext___optmap].val; /* _optmap on */ +if (unlikely(var18 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _optmap"); -PRINT_ERROR(" (%s:%d)\n", FILE_opts, 273); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 286); fatal_exit(1); } -var15 = var17; -RET_LABEL16:(void)0; +var16 = var18; +RET_LABEL17:(void)0; } } { -standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var15, var_n, var_o); /* Direct call hash_collection#HashMap#[]= on */ +core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var16, var_n, var_o); /* Direct call hash_collection#HashMap#[]= on */ } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_12); /* Direct call array#ArrayIterator#next on */ -} -} else { -goto BREAK_label; +((void(*)(val* self))((((long)var_12&3)?class_info[((long)var_12&3)]:var_12->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_12); /* next on */ } } -BREAK_label: (void)0; +BREAK_label14: (void)0; { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_12); /* Direct call array#ArrayIterator#finish on */ +((void(*)(val* self))((((long)var_12&3)?class_info[((long)var_12&3)]:var_12->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_12); /* finish on */ } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_4); /* Direct call array#ArrayIterator#next on */ -} -} else { -goto BREAK_label18; +((void(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_4); /* next on */ } } -BREAK_label18: (void)0; +BREAK_label: (void)0; { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_4); /* Direct call array#ArrayIterator#finish on */ +((void(*)(val* self))((((long)var_4&3)?class_info[((long)var_4&3)]:var_4->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_4); /* finish on */ } RET_LABEL:; } -/* method opts#OptionContext#get_errors for (self: OptionContext): Array[String] */ -val* opts___opts__OptionContext___get_errors(val* self) { +/* method opts#OptionContext#errors for (self: OptionContext): Array[String] */ +val* opts___opts__OptionContext___errors(val* self) { val* var /* : Array[String] */; val* var1 /* : Array[String] */; val* var_errors /* var errors: Array[String] */; -val* var2 /* : Array[Option] */; -val* var4 /* : Array[Option] */; +val* var2 /* : Array[String] */; +val* var4 /* : Array[String] */; +val* var5 /* : Array[Option] */; +val* var7 /* : Array[Option] */; val* var_ /* var : Array[Option] */; -val* var5 /* : ArrayIterator[nullable Object] */; -val* var_6 /* var : ArrayIterator[Option] */; -short int var7 /* : Bool */; -val* var8 /* : nullable Object */; +val* var8 /* : IndexedIterator[nullable Object] */; +val* var_9 /* var : IndexedIterator[Option] */; +short int var10 /* : Bool */; +val* var11 /* : nullable Object */; val* var_o /* var o: Option */; -val* var9 /* : Array[String] */; -val* var11 /* : Array[String] */; -val* var_12 /* var : Array[String] */; -val* var13 /* : ArrayIterator[nullable Object] */; -val* var_14 /* var : ArrayIterator[String] */; -short int var15 /* : Bool */; -val* var16 /* : nullable Object */; +val* var12 /* : Array[String] */; +val* var14 /* : Array[String] */; +val* var_15 /* var : Array[String] */; +val* var16 /* : IndexedIterator[nullable Object] */; +val* var_17 /* var : IndexedIterator[String] */; +short int var18 /* : Bool */; +val* var20 /* : nullable Object */; val* var_e /* var e: String */; -var1 = NEW_standard__Array(&type_standard__Array__standard__String); +var1 = NEW_core__Array(&type_core__Array__core__String); { -standard___standard__Array___standard__kernel__Object__init(var1); /* Direct call array#Array#init on */ +core___core__Array___core__kernel__Object__init(var1); /* Direct call array#Array#init on */ } var_errors = var1; { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add_all(var_errors, var_errors); /* Direct call array#Array#add_all on */ +{ /* Inline opts#OptionContext#context_errors (self) on */ +var4 = self->attrs[COLOR_opts__OptionContext___context_errors].val; /* _context_errors on */ +if (unlikely(var4 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _context_errors"); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 283); +fatal_exit(1); +} +var2 = var4; +RET_LABEL3:(void)0; +} +} +{ +core___core__Array___core__abstract_collection__SimpleCollection__add_all(var_errors, var2); /* Direct call array#Array#add_all on */ } { { /* Inline opts#OptionContext#options (self) on */ -var4 = self->attrs[COLOR_opts__OptionContext___options].val; /* _options on */ -if (unlikely(var4 == NULL)) { +var7 = self->attrs[COLOR_opts__OptionContext___options].val; /* _options on */ +if (unlikely(var7 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _options"); -PRINT_ERROR(" (%s:%d)\n", FILE_opts, 264); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 277); fatal_exit(1); } -var2 = var4; -RET_LABEL3:(void)0; +var5 = var7; +RET_LABEL6:(void)0; } } -var_ = var2; +var_ = var5; { -var5 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); +var8 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_); } -var_6 = var5; +var_9 = var8; for(;;) { { -var7 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_6); +var10 = ((short int(*)(val* self))((((long)var_9&3)?class_info[((long)var_9&3)]:var_9->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_9); /* is_ok on */ +} +if (var10){ +} else { +goto BREAK_label; } -if (var7){ { -var8 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_6); +var11 = ((val*(*)(val* self))((((long)var_9&3)?class_info[((long)var_9&3)]:var_9->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_9); /* item on */ } -var_o = var8; +var_o = var11; { { /* Inline opts#Option#errors (var_o) on */ -var11 = var_o->attrs[COLOR_opts__Option___errors].val; /* _errors on */ -if (unlikely(var11 == NULL)) { +var14 = var_o->attrs[COLOR_opts__Option___errors].val; /* _errors on */ +if (unlikely(var14 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _errors"); PRINT_ERROR(" (%s:%d)\n", FILE_opts, 28); fatal_exit(1); } -var9 = var11; -RET_LABEL10:(void)0; +var12 = var14; +RET_LABEL13:(void)0; } } -var_12 = var9; +var_15 = var12; { -var13 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_12); +var16 = core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_15); } -var_14 = var13; +var_17 = var16; for(;;) { { -var15 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_14); +var18 = ((short int(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_core__abstract_collection__Iterator__is_ok]))(var_17); /* is_ok on */ } -if (var15){ -{ -var16 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_14); +if (var18){ +} else { +goto BREAK_label19; } -var_e = var16; { -standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_errors, var_e); /* Direct call array#Array#add on */ +var20 = ((val*(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_core__abstract_collection__Iterator__item]))(var_17); /* item on */ } +var_e = var20; { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_14); /* Direct call array#ArrayIterator#next on */ +core___core__Array___core__abstract_collection__SimpleCollection__add(var_errors, var_e); /* Direct call array#Array#add on */ } -} else { -goto BREAK_label; +{ +((void(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_17); /* next on */ } } -BREAK_label: (void)0; +BREAK_label19: (void)0; { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_14); /* Direct call array#ArrayIterator#finish on */ +((void(*)(val* self))((((long)var_17&3)?class_info[((long)var_17&3)]:var_17->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_17); /* finish on */ } { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_6); /* Direct call array#ArrayIterator#next on */ -} -} else { -goto BREAK_label17; +((void(*)(val* self))((((long)var_9&3)?class_info[((long)var_9&3)]:var_9->class)->vft[COLOR_core__abstract_collection__Iterator__next]))(var_9); /* next on */ } } -BREAK_label17: (void)0; +BREAK_label: (void)0; { -standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_6); /* Direct call array#ArrayIterator#finish on */ +((void(*)(val* self))((((long)var_9&3)?class_info[((long)var_9&3)]:var_9->class)->vft[COLOR_core__abstract_collection__Iterator__finish]))(var_9); /* finish on */ } var = var_errors; goto RET_LABEL;