X-Git-Url: http://nitlanguage.org diff --git a/c_src/opts.sep.1.c b/c_src/opts.sep.1.c index 0ea9f33..22e950f 100644 --- a/c_src/opts.sep.1.c +++ b/c_src/opts.sep.1.c @@ -7,7 +7,7 @@ var1 = self->attrs[COLOR_opts__Option___names].val; /* _names on * if (var1 == NULL) { fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _names"); fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 19); -exit(1); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -30,7 +30,7 @@ var1 = self->attrs[COLOR_opts__Option___helptext].val; /* _helptext on attrs[COLOR_opts__Option___errors].val; /* _errors on if (var1 == NULL) { fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _errors"); fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 28); -exit(1); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -123,7 +123,7 @@ const struct type* type_struct; const char* var_class_name; /* Covariant cast for argument 0 (value) isa nullable VALUE */ /* isa nullable VALUE */ -type_struct = self->type->resolution_table->types[COLOR_opts__Option_VTVALUE]; +type_struct = self->type->resolution_table->types[COLOR_nullable_opts__Option_VTVALUE]; cltype = type_struct->color; idtype = type_struct->id; if(p0 == NULL) { @@ -139,7 +139,7 @@ if (!var) { var_class_name = p0 == NULL ? "null" : p0->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable VALUE", var_class_name); fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 37); -exit(1); +show_backtrace(1); } self->attrs[COLOR_opts__Option___value].val = p0; /* _value on */ RET_LABEL:; @@ -178,7 +178,7 @@ if (!var2) { var_class_name = var1 == NULL ? "null" : var1->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name); fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 41); -exit(1); +show_backtrace(1); } var = var1; goto RET_LABEL; @@ -221,7 +221,7 @@ const struct type* type_struct; const char* var_class_name; /* Covariant cast for argument 0 (default_value) isa nullable VALUE */ /* isa nullable VALUE */ -type_struct = self->type->resolution_table->types[COLOR_opts__Option_VTVALUE]; +type_struct = self->type->resolution_table->types[COLOR_nullable_opts__Option_VTVALUE]; cltype = type_struct->color; idtype = type_struct->id; if(p0 == NULL) { @@ -237,7 +237,7 @@ if (!var) { var_class_name = p0 == NULL ? "null" : p0->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable VALUE", var_class_name); fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 43); -exit(1); +show_backtrace(1); } self->attrs[COLOR_opts__Option___default_value].val = p0; /* _default_value on */ RET_LABEL:; @@ -266,7 +266,7 @@ short int var6 /* : Bool */; val* var7 /* : Array[String] */; /* Covariant cast for argument 1 (default) isa nullable VALUE */ /* isa nullable VALUE */ -type_struct = self->type->resolution_table->types[COLOR_opts__Option_VTVALUE]; +type_struct = self->type->resolution_table->types[COLOR_nullable_opts__Option_VTVALUE]; cltype = type_struct->color; idtype = type_struct->id; if(p1 == NULL) { @@ -282,7 +282,7 @@ if (!var) { var_class_name = p1 == NULL ? "null" : p1->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable VALUE", var_class_name); fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 46); -exit(1); +show_backtrace(1); } var_help = p0; var_default = p1; @@ -296,7 +296,6 @@ var2 = 0; /* arg is null but recv is not */ if (var2){ var3 = NEW_array__Array(&type_array__Arraystring__String); ((void (*)(val*))(var3->class->vft[COLOR_array__Array__init]))(var3) /* init on */; -CHECK_NEW_array__Array(var3); self->attrs[COLOR_opts__Option___names].val = var3; /* _names on */ } else { var4 = ((val* (*)(val*))(var_names->class->vft[COLOR_array__Collection__to_a]))(var_names) /* to_a on */; @@ -311,7 +310,6 @@ self->attrs[COLOR_opts__Option___default_value].val = var_default; /* _default_v self->attrs[COLOR_opts__Option___value].val = var_default; /* _value on */ var7 = NEW_array__Array(&type_array__Arraystring__String); ((void (*)(val*))(var7->class->vft[COLOR_array__Array__init]))(var7) /* init on */; -CHECK_NEW_array__Array(var7); self->attrs[COLOR_opts__Option___errors].val = var7; /* _errors on */ RET_LABEL:; } @@ -329,7 +327,7 @@ var = self->attrs[COLOR_opts__Option___names].val; /* _names on */ if (var == NULL) { fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _names"); fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 63); -exit(1); +show_backtrace(1); } ((void (*)(val*, val*))(var->class->vft[COLOR_abstract_collection__SimpleCollection__add_all]))(var, var_names) /* add_all on */; RET_LABEL:; @@ -414,13 +412,12 @@ var2 = var5; varonce = var2; } ((void (*)(val*, val*))(var1->class->vft[COLOR_string__Buffer__from]))(var1, var2) /* from on */; -CHECK_NEW_string__Buffer(var1); var_text = var1; var6 = self->attrs[COLOR_opts__Option___names].val; /* _names on */ if (var6 == NULL) { fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _names"); fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 72); -exit(1); +show_backtrace(1); } if (varonce7) { var8 = varonce7; @@ -459,8 +456,8 @@ var25 = 1; /* easy isa OTHER*/ if (!var25) { var_class_name = type_kernel__Int.name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 263); -exit(1); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 267); +show_backtrace(1); } var26 = var_rest > var22; var23 = var26; @@ -536,7 +533,6 @@ if (var3){ var4 = NEW_array__Array(&type_array__Arraykernel__Object); var5 = 3; ((void (*)(val*, long))(var4->class->vft[COLOR_array__Array__with_capacity]))(var4, var5) /* with_capacity on */; -CHECK_NEW_array__Array(var4); var_ = var4; if (varonce) { var6 = varonce; @@ -748,7 +744,7 @@ const char* var_class_name; var_class_name = self == NULL ? "null" : self->type->name; fprintf(stderr, "Runtime error: Abstract method `%s` called on `%s`", "convert", var_class_name); fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 133); -exit(1); +show_backtrace(1); RET_LABEL:; return var; } @@ -796,101 +792,102 @@ short int var /* : Bool */; short int var1 /* : Bool */; short int var_ /* var : Bool */; val* var2 /* : nullable Object */; -val* var3 /* : nullable Object */; -char var4 /* : Char */; -short int var5 /* : Bool */; -short int var7 /* : Bool */; -char var8 /* : Char */; -short int var9 /* : Bool */; -val* var10 /* : nullable Object */; +val* var3 /* : StringCharView */; +val* var4 /* : nullable Object */; +char var5 /* : Char */; +short int var6 /* : Bool */; +short int var8 /* : Bool */; +char var9 /* : Char */; +short int var10 /* : Bool */; val* var11 /* : nullable Object */; -short int var12 /* : Bool */; -val* var13 /* : Array[String] */; +val* var12 /* : nullable Object */; +short int var13 /* : Bool */; +val* var14 /* : Array[String] */; static val* varonce; -val* var14 /* : String */; -char* var15 /* : NativeString */; -long var16 /* : Int */; -val* var17 /* : String */; -val* var18 /* : Array[String] */; -val* var19 /* : nullable Object */; -static val* varonce20; -val* var21 /* : String */; -char* var22 /* : NativeString */; -long var23 /* : Int */; -val* var24 /* : String */; -val* var25 /* : Array[Object] */; -long var26 /* : Int */; -val* var27 /* : NativeArray[Object] */; -val* var28 /* : String */; +val* var15 /* : String */; +char* var16 /* : NativeString */; +long var17 /* : Int */; +val* var18 /* : String */; +val* var19 /* : Array[String] */; +val* var20 /* : nullable Object */; +static val* varonce21; +val* var22 /* : String */; +char* var23 /* : NativeString */; +long var24 /* : Int */; +val* var25 /* : String */; +val* var26 /* : Array[Object] */; +long var27 /* : Int */; +val* var28 /* : NativeArray[Object] */; +val* var29 /* : String */; var_it = p0; ((void (*)(val*, val*))(self->class->vft[COLOR_opts__OptionParameter__read_param]))(self, p0) /* read_param on */; var1 = ((short int (*)(val*))(var_it->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var_it) /* is_ok on */; var_ = var1; if (var1){ var2 = ((val* (*)(val*))(var_it->class->vft[COLOR_abstract_collection__Iterator__item]))(var_it) /* item on */; -var3 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Collection__first]))(var2) /* first on */; -var4 = '-'; -{ /* Inline kernel#Char#!= (var3,var4) */ -var7 = (var3 != NULL) && (var3->class == &class_kernel__Char); -if (var7) { -var8 = ((struct instance_kernel__Char*)var3)->value; /* autounbox from nullable Object to Char */; -var7 = (var8 == var4); -} -var9 = !var7; -var5 = var9; -goto RET_LABEL6; -RET_LABEL6:(void)0; -} -var = var5; +var3 = ((val* (*)(val*))(var2->class->vft[COLOR_string__AbstractString__chars]))(var2) /* chars on */; +var4 = ((val* (*)(val*))(var3->class->vft[COLOR_abstract_collection__Collection__first]))(var3) /* first on */; +var5 = '-'; +{ /* Inline kernel#Char#!= (var4,var5) */ +var8 = (var4 != NULL) && (var4->class == &class_kernel__Char); +if (var8) { +var9 = ((struct instance_kernel__Char*)var4)->value; /* autounbox from nullable Object to Char */; +var8 = (var9 == var5); +} +var10 = !var8; +var6 = var10; +goto RET_LABEL7; +RET_LABEL7:(void)0; +} +var = var6; } else { var = var_; } if (var){ -var10 = ((val* (*)(val*))(var_it->class->vft[COLOR_abstract_collection__Iterator__item]))(var_it) /* item on */; -var11 = ((val* (*)(val*, val*))(self->class->vft[COLOR_opts__OptionParameter__convert]))(self, var10) /* convert on */; -((void (*)(val*, val*))(self->class->vft[COLOR_opts__Option__value_61d]))(self, var11) /* value= on */; +var11 = ((val* (*)(val*))(var_it->class->vft[COLOR_abstract_collection__Iterator__item]))(var_it) /* item on */; +var12 = ((val* (*)(val*, val*))(self->class->vft[COLOR_opts__OptionParameter__convert]))(self, var11) /* convert on */; +((void (*)(val*, val*))(self->class->vft[COLOR_opts__Option__value_61d]))(self, var12) /* value= on */; ((void (*)(val*))(var_it->class->vft[COLOR_abstract_collection__Iterator__next]))(var_it) /* next on */; } else { -var12 = self->attrs[COLOR_opts__OptionParameter___parameter_mandatory].s; /* _parameter_mandatory on */ -if (var12){ -var13 = self->attrs[COLOR_opts__Option___errors].val; /* _errors on */ -if (var13 == NULL) { +var13 = self->attrs[COLOR_opts__OptionParameter___parameter_mandatory].s; /* _parameter_mandatory on */ +if (var13){ +var14 = self->attrs[COLOR_opts__Option___errors].val; /* _errors on */ +if (var14 == NULL) { fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _errors"); fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 146); -exit(1); +show_backtrace(1); } if (varonce) { -var14 = varonce; +var15 = varonce; } else { -var15 = "Parameter expected for option "; -var16 = 30; -var17 = string__NativeString__to_s_with_length(var15, var16); -var14 = var17; -varonce = var14; +var16 = "Parameter expected for option "; +var17 = 30; +var18 = string__NativeString__to_s_with_length(var16, var17); +var15 = var18; +varonce = var15; } -var18 = ((val* (*)(val*))(self->class->vft[COLOR_opts__Option__names]))(self) /* names on */; -var19 = ((val* (*)(val*))(var18->class->vft[COLOR_abstract_collection__Collection__first]))(var18) /* first on */; -if (varonce20) { -var21 = varonce20; +var19 = ((val* (*)(val*))(self->class->vft[COLOR_opts__Option__names]))(self) /* names on */; +var20 = ((val* (*)(val*))(var19->class->vft[COLOR_abstract_collection__Collection__first]))(var19) /* first on */; +if (varonce21) { +var22 = varonce21; } else { -var22 = "."; -var23 = 1; -var24 = string__NativeString__to_s_with_length(var22, var23); -var21 = var24; -varonce20 = var21; -} -var25 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var25 = array_instance Array[Object] */ -var26 = 3; -var27 = NEW_array__NativeArray(var26, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var27)->values[0] = (val*) var14; -((struct instance_array__NativeArray*)var27)->values[1] = (val*) var19; -((struct instance_array__NativeArray*)var27)->values[2] = (val*) var21; -((void (*)(val*, val*, long))(var25->class->vft[COLOR_array__Array__with_native]))(var25, var27, var26) /* with_native on */; -CHECK_NEW_array__Array(var25); -} -var28 = ((val* (*)(val*))(var25->class->vft[COLOR_string__Object__to_s]))(var25) /* to_s on */; -((void (*)(val*, val*))(var13->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var13, var28) /* add on */; +var23 = "."; +var24 = 1; +var25 = string__NativeString__to_s_with_length(var23, var24); +var22 = var25; +varonce21 = var22; +} +var26 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var26 = array_instance Array[Object] */ +var27 = 3; +var28 = NEW_array__NativeArray(var27, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var28)->values[0] = (val*) var15; +((struct instance_array__NativeArray*)var28)->values[1] = (val*) var20; +((struct instance_array__NativeArray*)var28)->values[2] = (val*) var22; +((void (*)(val*, val*, long))(var26->class->vft[COLOR_array__Array__with_native]))(var26, var28, var27) /* with_native on */; +} +var29 = ((val* (*)(val*))(var26->class->vft[COLOR_string__Object__to_s]))(var26) /* to_s on */; +((void (*)(val*, val*))(var14->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var14, var29) /* add on */; } else { } } @@ -914,7 +911,7 @@ val* var_n /* var n: nullable Array[String] */; short int var1 /* : Bool */; /* Covariant cast for argument 1 (d) isa nullable VALUE */ /* isa nullable VALUE */ -type_struct = self->type->resolution_table->types[COLOR_opts__Option_VTVALUE]; +type_struct = self->type->resolution_table->types[COLOR_nullable_opts__Option_VTVALUE]; cltype = type_struct->color; idtype = type_struct->id; if(p1 == NULL) { @@ -930,7 +927,7 @@ if (!var) { var_class_name = p1 == NULL ? "null" : p1->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable VALUE", var_class_name); fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 151); -exit(1); +show_backtrace(1); } var_h = p0; var_d = p1; @@ -984,7 +981,7 @@ if (!var1) { var_class_name = var_str == NULL ? "null" : var_str->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name); fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 164); -exit(1); +show_backtrace(1); } var = var_str; goto RET_LABEL; @@ -1049,8 +1046,8 @@ var4 = 1; /* easy isa OTHER*/ if (!var4) { var_class_name = type_kernel__Int.name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 263); -exit(1); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 267); +show_backtrace(1); } var5 = var > var1; var2 = var5; @@ -1060,7 +1057,7 @@ RET_LABEL3:(void)0; if (!var2) { fprintf(stderr, "Runtime error: %s", "Assert failed"); fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 174); -exit(1); +show_backtrace(1); } var6 = ((val* (*)(val*))(var_values->class->vft[COLOR_array__Collection__to_a]))(var_values) /* to_a on */; self->attrs[COLOR_opts__OptionEnum___values].val = var6; /* _values on */ @@ -1101,7 +1098,6 @@ var24 = NEW_array__NativeArray(var23, &type_array__NativeArraykernel__Object); ((struct instance_array__NativeArray*)var24)->values[2] = (val*) var16; ((struct instance_array__NativeArray*)var24)->values[3] = (val*) var18; ((void (*)(val*, val*, long))(var22->class->vft[COLOR_array__Array__with_native]))(var22, var24, var23) /* with_native on */; -CHECK_NEW_array__Array(var22); } var25 = ((val* (*)(val*))(var22->class->vft[COLOR_string__Object__to_s]))(var22) /* to_s on */; var26 = BOX_kernel__Int(var_default); /* autobox from Int to nullable Object */ @@ -1175,7 +1171,7 @@ var1 = self->attrs[COLOR_opts__OptionEnum___values].val; /* _values on class->vft[COLOR_abstract_collection__SequenceRead__index_of]))(var1, var_str) /* index_of on */; var_id = var2; @@ -1196,7 +1192,6 @@ if (var7){ var10 = NEW_array__Array(&type_array__Arraykernel__Object); var11 = 3; ((void (*)(val*, long))(var10->class->vft[COLOR_array__Array__with_capacity]))(var10, var11) /* with_capacity on */; -CHECK_NEW_array__Array(var10); var_ = var10; if (varonce) { var12 = varonce; @@ -1212,7 +1207,7 @@ var16 = self->attrs[COLOR_opts__Option___names].val; /* _names on class->vft[COLOR_array__Array__with_capacity]))(var29, var30) /* with_capacity on */; -CHECK_NEW_array__Array(var29); var_31 = var29; if (varonce32) { var33 = varonce32; @@ -1256,7 +1250,7 @@ var37 = self->attrs[COLOR_opts__OptionEnum___values].val; /* _values on attrs[COLOR_opts__Option___errors].val; /* _errors on class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var51, var_e) /* add on */; } else { @@ -1318,7 +1312,7 @@ var1 = self->attrs[COLOR_opts__OptionEnum___values].val; /* _values on class->vft[COLOR_opts__Option__value]))(self) /* value on */; var4 = ((struct instance_kernel__Int*)var2)->value; /* autounbox from nullable Object to Int */; @@ -1377,7 +1371,6 @@ if (var3){ var4 = NEW_array__Array(&type_array__Arraykernel__Object); var5 = 3; ((void (*)(val*, long))(var4->class->vft[COLOR_array__Array__with_capacity]))(var4, var5) /* with_capacity on */; -CHECK_NEW_array__Array(var4); var_ = var4; if (varonce) { var6 = varonce; @@ -1393,13 +1386,13 @@ var10 = self->attrs[COLOR_opts__OptionEnum___values].val; /* _values on class->vft[COLOR_opts__Option__default_value]))(self) /* default_value on */; if (var11 == NULL) { fprintf(stderr, "Runtime error: %s", "Cast failed"); fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 195); -exit(1); +show_backtrace(1); } var13 = ((struct instance_kernel__Int*)var11)->value; /* autounbox from nullable Int to Int */; var12 = ((val* (*)(val*, long))(var10->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var10, var13) /* [] on */; @@ -1498,16 +1491,15 @@ var_help = p0; var_names = p1; var = NEW_array__Array(&type_array__Arraystring__String); ((void (*)(val*))(var->class->vft[COLOR_array__Array__init]))(var) /* init on */; -CHECK_NEW_array__Array(var); self->attrs[COLOR_opts__OptionArray___values].val = var; /* _values on */ var1 = self->attrs[COLOR_opts__OptionArray___values].val; /* _values on */ if (var1 == NULL) { fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _values"); fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 218); -exit(1); +show_backtrace(1); } /* isa nullable VALUE */ -type_struct = self->type->resolution_table->types[COLOR_opts__Option_VTVALUE]; +type_struct = self->type->resolution_table->types[COLOR_nullable_opts__Option_VTVALUE]; cltype = type_struct->color; idtype = type_struct->id; if(cltype >= var1->type->table_size) { @@ -1519,7 +1511,7 @@ if (!var2) { var_class_name = var1 == NULL ? "null" : var1->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable VALUE", var_class_name); fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 218); -exit(1); +show_backtrace(1); } ((void (*)(val*, val*, val*, val*))(self->class->vft[COLOR_opts__OptionParameter__init_opt]))(self, var_help, var1, var_names) /* init_opt on */; RET_LABEL:; @@ -1545,14 +1537,14 @@ var1 = self->attrs[COLOR_opts__OptionArray___values].val; /* _values on class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var1, var_str) /* add on */; var2 = self->attrs[COLOR_opts__OptionArray___values].val; /* _values on */ if (var2 == NULL) { fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _values"); fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 225); -exit(1); +show_backtrace(1); } /* isa VALUE */ type_struct = self->type->resolution_table->types[COLOR_opts__Option_VTVALUE]; @@ -1567,7 +1559,7 @@ if (!var3) { var_class_name = var2 == NULL ? "null" : var2->type->name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name); fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 225); -exit(1); +show_backtrace(1); } var = var2; goto RET_LABEL; @@ -1591,7 +1583,7 @@ var1 = self->attrs[COLOR_opts__OptionContext___options].val; /* _options on attrs[COLOR_opts__OptionContext___rest].val; /* _rest on attrs[COLOR_opts__OptionContext___errors].val; /* _errors on attrs[COLOR_opts__OptionContext___options].val; /* _options on class->vft[COLOR_abstract_collection__Collection__iterator]))(var1) /* iterator on */; for(;;) { @@ -1735,8 +1727,8 @@ var20 = 1; /* easy isa OTHER*/ if (!var20) { var_class_name = type_kernel__Int.name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 261); -exit(1); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 265); +show_backtrace(1); } var21 = var_lmax < var_l; var18 = var21; @@ -1755,7 +1747,7 @@ var23 = self->attrs[COLOR_opts__OptionContext___options].val; /* _options on class->vft[COLOR_abstract_collection__Collection__iterator]))(var23) /* iterator on */; for(;;) { @@ -1845,59 +1837,60 @@ val* var38 /* : String */; char* var39 /* : NativeString */; long var40 /* : Int */; val* var41 /* : String */; -val* var42 /* : nullable Object */; -val* var43 /* : String */; -char var44 /* : Char */; -val* var45 /* : String */; +val* var42 /* : StringCharView */; +val* var43 /* : nullable Object */; +val* var44 /* : String */; +char var45 /* : Char */; +val* var46 /* : String */; val* var_short_opt /* var short_opt: String */; -val* var46 /* : Map[String, Option] */; -short int var47 /* : Bool */; -val* var48 /* : Map[String, Option] */; -val* var49 /* : nullable Object */; +val* var47 /* : Map[String, Option] */; +short int var48 /* : Bool */; +val* var49 /* : Map[String, Option] */; +val* var50 /* : nullable Object */; val* var_option /* var option: Option */; -short int var50 /* : Bool */; -int cltype51; -int idtype52; -short int var53 /* : Bool */; +short int var51 /* : Bool */; +int cltype52; +int idtype53; short int var54 /* : Bool */; -val* var55 /* : Map[String, Option] */; -short int var56 /* : Bool */; -val* var57 /* : Map[String, Option] */; -val* var58 /* : nullable Object */; -val* var_opt /* var opt: Option */; +short int var55 /* : Bool */; +val* var56 /* : Map[String, Option] */; +short int var57 /* : Bool */; +val* var58 /* : Map[String, Option] */; val* var59 /* : nullable Object */; -val* var61 /* : Array[Option] */; -val* var62 /* : Iterator[nullable Object] */; -short int var63 /* : Bool */; -val* var64 /* : nullable Object */; -val* var_opt65 /* var opt: Option */; -short int var66 /* : Bool */; +val* var_opt /* var opt: Option */; +val* var60 /* : nullable Object */; +val* var62 /* : Array[Option] */; +val* var63 /* : Iterator[nullable Object] */; +short int var64 /* : Bool */; +val* var65 /* : nullable Object */; +val* var_opt66 /* var opt: Option */; short int var67 /* : Bool */; -short int var_68 /* var : Bool */; -short int var69 /* : Bool */; +short int var68 /* : Bool */; +short int var_69 /* var : Bool */; short int var70 /* : Bool */; -val* var71 /* : Array[String] */; -static val* varonce72; -val* var73 /* : String */; -char* var74 /* : NativeString */; -long var75 /* : Int */; -val* var76 /* : String */; -val* var77 /* : Array[String] */; -static val* varonce78; -val* var79 /* : String */; -char* var80 /* : NativeString */; -long var81 /* : Int */; -val* var82 /* : String */; +short int var71 /* : Bool */; +val* var72 /* : Array[String] */; +static val* varonce73; +val* var74 /* : String */; +char* var75 /* : NativeString */; +long var76 /* : Int */; +val* var77 /* : String */; +val* var78 /* : Array[String] */; +static val* varonce79; +val* var80 /* : String */; +char* var81 /* : NativeString */; +long var82 /* : Int */; val* var83 /* : String */; -static val* varonce84; -val* var85 /* : String */; -char* var86 /* : NativeString */; -long var87 /* : Int */; -val* var88 /* : String */; -val* var89 /* : Array[Object] */; -long var90 /* : Int */; -val* var91 /* : NativeArray[Object] */; -val* var92 /* : String */; +val* var84 /* : String */; +static val* varonce85; +val* var86 /* : String */; +char* var87 /* : NativeString */; +long var88 /* : Int */; +val* var89 /* : String */; +val* var90 /* : Array[Object] */; +long var91 /* : Int */; +val* var92 /* : NativeArray[Object] */; +val* var93 /* : String */; var_it = p0; var = 1; var_parseargs = var; @@ -1906,7 +1899,7 @@ var1 = self->attrs[COLOR_opts__OptionContext___rest].val; /* _rest on isa OTHER*/ if (!var25) { var_class_name = type_kernel__Int.name; fprintf(stderr, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 263); -exit(1); +fprintf(stderr, " (%s:%d)\n", "lib/standard/kernel.nit", 267); +show_backtrace(1); } var26 = var21 > var22; var23 = var26; @@ -1979,7 +1972,6 @@ var30 = ((long (*)(val*))(var_str->class->vft[COLOR_abstract_collection__Collect var31 = BOX_kernel__Int(var29); /* autobox from Int to Discrete */ var32 = BOX_kernel__Int(var30); /* autobox from Int to Discrete */ ((void (*)(val*, val*, val*))(var28->class->vft[COLOR_range__Range__init]))(var28, var31, var32) /* init on */; -CHECK_NEW_range__Range(var28); var33 = ((val* (*)(val*))(var28->class->vft[COLOR_abstract_collection__Collection__iterator]))(var28) /* iterator on */; for(;;) { var34 = ((short int (*)(val*))(var33->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var33) /* is_ok on */; @@ -1996,39 +1988,40 @@ var41 = string__NativeString__to_s_with_length(var39, var40); var38 = var41; varonce37 = var38; } -var42 = ((val* (*)(val*, long))(var_str->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_str, var_i) /* [] on */; -var44 = ((struct instance_kernel__Char*)var42)->value; /* autounbox from nullable Object to Char */; -var43 = string__Char__to_s(var44); -var45 = ((val* (*)(val*, val*))(var38->class->vft[COLOR_string__String___43d]))(var38, var43) /* + on */; -var_short_opt = var45; -var46 = self->attrs[COLOR_opts__OptionContext___optmap].val; /* _optmap on */ -if (var46 == NULL) { +var42 = ((val* (*)(val*))(var_str->class->vft[COLOR_string__AbstractString__chars]))(var_str) /* chars on */; +var43 = ((val* (*)(val*, long))(var42->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var42, var_i) /* [] on */; +var45 = ((struct instance_kernel__Char*)var43)->value; /* autounbox from nullable Object to Char */; +var44 = string__Char__to_s(var45); +var46 = ((val* (*)(val*, val*))(var38->class->vft[COLOR_string__String___43d]))(var38, var44) /* + on */; +var_short_opt = var46; +var47 = self->attrs[COLOR_opts__OptionContext___optmap].val; /* _optmap on */ +if (var47 == NULL) { fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _optmap"); fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 277); -exit(1); +show_backtrace(1); } -var47 = ((short int (*)(val*, val*))(var46->class->vft[COLOR_abstract_collection__MapRead__has_key]))(var46, var_short_opt) /* has_key on */; -if (var47){ -var48 = self->attrs[COLOR_opts__OptionContext___optmap].val; /* _optmap on */ -if (var48 == NULL) { +var48 = ((short int (*)(val*, val*))(var47->class->vft[COLOR_abstract_collection__MapRead__has_key]))(var47, var_short_opt) /* has_key on */; +if (var48){ +var49 = self->attrs[COLOR_opts__OptionContext___optmap].val; /* _optmap on */ +if (var49 == NULL) { fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _optmap"); fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 278); -exit(1); +show_backtrace(1); } -var49 = ((val* (*)(val*, val*))(var48->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var48, var_short_opt) /* [] on */; -var_option = var49; +var50 = ((val* (*)(val*, val*))(var49->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var49, var_short_opt) /* [] on */; +var_option = var50; /* isa OptionParameter */ -cltype51 = type_opts__OptionParameter.color; -idtype52 = type_opts__OptionParameter.id; -if(cltype51 >= var_option->type->table_size) { -var50 = 0; +cltype52 = type_opts__OptionParameter.color; +idtype53 = type_opts__OptionParameter.id; +if(cltype52 >= var_option->type->table_size) { +var51 = 0; } else { -var50 = var_option->type->type_table[cltype51] == idtype52; +var51 = var_option->type->type_table[cltype52] == idtype53; } -if (var50){ +if (var51){ ((void (*)(val*))(var_it->class->vft[COLOR_abstract_collection__Iterator__next]))(var_it) /* next on */; -var53 = 1; -var_next_called = var53; +var54 = 1; +var_next_called = var54; } else { } ((void (*)(val*, val*))(var_option->class->vft[COLOR_opts__Option__read_param]))(var_option, var_it) /* read_param on */; @@ -2038,115 +2031,114 @@ CONTINUE_label: (void)0; ((void (*)(val*))(var33->class->vft[COLOR_abstract_collection__Iterator__next]))(var33) /* next on */; } BREAK_label: (void)0; -var54 = !var_next_called; -if (var54){ +var55 = !var_next_called; +if (var55){ ((void (*)(val*))(var_it->class->vft[COLOR_abstract_collection__Iterator__next]))(var_it) /* next on */; } else { } } else { -var55 = self->attrs[COLOR_opts__OptionContext___optmap].val; /* _optmap on */ -if (var55 == NULL) { +var56 = self->attrs[COLOR_opts__OptionContext___optmap].val; /* _optmap on */ +if (var56 == NULL) { fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _optmap"); fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 288); -exit(1); +show_backtrace(1); } -var56 = ((short int (*)(val*, val*))(var55->class->vft[COLOR_abstract_collection__MapRead__has_key]))(var55, var_str) /* has_key on */; -if (var56){ -var57 = self->attrs[COLOR_opts__OptionContext___optmap].val; /* _optmap on */ -if (var57 == NULL) { +var57 = ((short int (*)(val*, val*))(var56->class->vft[COLOR_abstract_collection__MapRead__has_key]))(var56, var_str) /* has_key on */; +if (var57){ +var58 = self->attrs[COLOR_opts__OptionContext___optmap].val; /* _optmap on */ +if (var58 == NULL) { fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _optmap"); fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 289); -exit(1); +show_backtrace(1); } -var58 = ((val* (*)(val*, val*))(var57->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var57, var_str) /* [] on */; -var_opt = var58; +var59 = ((val* (*)(val*, val*))(var58->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var58, var_str) /* [] on */; +var_opt = var59; ((void (*)(val*))(var_it->class->vft[COLOR_abstract_collection__Iterator__next]))(var_it) /* next on */; ((void (*)(val*, val*))(var_opt->class->vft[COLOR_opts__Option__read_param]))(var_opt, var_it) /* read_param on */; } else { -var59 = ((val* (*)(val*))(var_it->class->vft[COLOR_abstract_collection__Iterator__item]))(var_it) /* item on */; -((void (*)(val*, val*))(var_rest->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_rest, var59) /* add on */; +var60 = ((val* (*)(val*))(var_it->class->vft[COLOR_abstract_collection__Iterator__item]))(var_it) /* item on */; +((void (*)(val*, val*))(var_rest->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_rest, var60) /* add on */; ((void (*)(val*))(var_it->class->vft[COLOR_abstract_collection__Iterator__next]))(var_it) /* next on */; } } } -CONTINUE_label60: (void)0; +CONTINUE_label61: (void)0; } -BREAK_label60: (void)0; -var61 = self->attrs[COLOR_opts__OptionContext___options].val; /* _options on */ -if (var61 == NULL) { +BREAK_label61: (void)0; +var62 = self->attrs[COLOR_opts__OptionContext___options].val; /* _options on */ +if (var62 == NULL) { fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _options"); fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 300); -exit(1); +show_backtrace(1); } -var62 = ((val* (*)(val*))(var61->class->vft[COLOR_abstract_collection__Collection__iterator]))(var61) /* iterator on */; +var63 = ((val* (*)(val*))(var62->class->vft[COLOR_abstract_collection__Collection__iterator]))(var62) /* iterator on */; for(;;) { -var63 = ((short int (*)(val*))(var62->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var62) /* is_ok on */; -if(!var63) break; -var64 = ((val* (*)(val*))(var62->class->vft[COLOR_abstract_collection__Iterator__item]))(var62) /* item on */; -var_opt65 = var64; -var67 = ((short int (*)(val*))(var_opt65->class->vft[COLOR_opts__Option__mandatory]))(var_opt65) /* mandatory on */; -var_68 = var67; -if (var67){ -var69 = ((short int (*)(val*))(var_opt65->class->vft[COLOR_opts__Option__read]))(var_opt65) /* read on */; -var70 = !var69; -var66 = var70; +var64 = ((short int (*)(val*))(var63->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var63) /* is_ok on */; +if(!var64) break; +var65 = ((val* (*)(val*))(var63->class->vft[COLOR_abstract_collection__Iterator__item]))(var63) /* item on */; +var_opt66 = var65; +var68 = ((short int (*)(val*))(var_opt66->class->vft[COLOR_opts__Option__mandatory]))(var_opt66) /* mandatory on */; +var_69 = var68; +if (var68){ +var70 = ((short int (*)(val*))(var_opt66->class->vft[COLOR_opts__Option__read]))(var_opt66) /* read on */; +var71 = !var70; +var67 = var71; } else { -var66 = var_68; +var67 = var_69; } -if (var66){ -var71 = self->attrs[COLOR_opts__OptionContext___errors].val; /* _errors on */ -if (var71 == NULL) { +if (var67){ +var72 = self->attrs[COLOR_opts__OptionContext___errors].val; /* _errors on */ +if (var72 == NULL) { fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _errors"); fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 302); -exit(1); +show_backtrace(1); } -if (varonce72) { -var73 = varonce72; +if (varonce73) { +var74 = varonce73; } else { -var74 = "Mandatory option "; -var75 = 17; -var76 = string__NativeString__to_s_with_length(var74, var75); -var73 = var76; -varonce72 = var73; -} -var77 = ((val* (*)(val*))(var_opt65->class->vft[COLOR_opts__Option__names]))(var_opt65) /* names on */; -if (varonce78) { -var79 = varonce78; +var75 = "Mandatory option "; +var76 = 17; +var77 = string__NativeString__to_s_with_length(var75, var76); +var74 = var77; +varonce73 = var74; +} +var78 = ((val* (*)(val*))(var_opt66->class->vft[COLOR_opts__Option__names]))(var_opt66) /* names on */; +if (varonce79) { +var80 = varonce79; } else { -var80 = ", "; -var81 = 2; -var82 = string__NativeString__to_s_with_length(var80, var81); -var79 = var82; -varonce78 = var79; -} -var83 = ((val* (*)(val*, val*))(var77->class->vft[COLOR_string__Collection__join]))(var77, var79) /* join on */; -if (varonce84) { -var85 = varonce84; +var81 = ", "; +var82 = 2; +var83 = string__NativeString__to_s_with_length(var81, var82); +var80 = var83; +varonce79 = var80; +} +var84 = ((val* (*)(val*, val*))(var78->class->vft[COLOR_string__Collection__join]))(var78, var80) /* join on */; +if (varonce85) { +var86 = varonce85; } else { -var86 = " not found."; -var87 = 11; -var88 = string__NativeString__to_s_with_length(var86, var87); -var85 = var88; -varonce84 = var85; -} -var89 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var89 = array_instance Array[Object] */ -var90 = 3; -var91 = NEW_array__NativeArray(var90, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var91)->values[0] = (val*) var73; -((struct instance_array__NativeArray*)var91)->values[1] = (val*) var83; -((struct instance_array__NativeArray*)var91)->values[2] = (val*) var85; -((void (*)(val*, val*, long))(var89->class->vft[COLOR_array__Array__with_native]))(var89, var91, var90) /* with_native on */; -CHECK_NEW_array__Array(var89); -} -var92 = ((val* (*)(val*))(var89->class->vft[COLOR_string__Object__to_s]))(var89) /* to_s on */; -((void (*)(val*, val*))(var71->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var71, var92) /* add on */; +var87 = " not found."; +var88 = 11; +var89 = string__NativeString__to_s_with_length(var87, var88); +var86 = var89; +varonce85 = var86; +} +var90 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var90 = array_instance Array[Object] */ +var91 = 3; +var92 = NEW_array__NativeArray(var91, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var92)->values[0] = (val*) var74; +((struct instance_array__NativeArray*)var92)->values[1] = (val*) var84; +((struct instance_array__NativeArray*)var92)->values[2] = (val*) var86; +((void (*)(val*, val*, long))(var90->class->vft[COLOR_array__Array__with_native]))(var90, var92, var91) /* with_native on */; +} +var93 = ((val* (*)(val*))(var90->class->vft[COLOR_string__Object__to_s]))(var90) /* to_s on */; +((void (*)(val*, val*))(var72->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var72, var93) /* add on */; } else { } -CONTINUE_label93: (void)0; -((void (*)(val*))(var62->class->vft[COLOR_abstract_collection__Iterator__next]))(var62) /* next on */; +CONTINUE_label94: (void)0; +((void (*)(val*))(var63->class->vft[COLOR_abstract_collection__Iterator__next]))(var63) /* next on */; } -BREAK_label93: (void)0; +BREAK_label94: (void)0; RET_LABEL:; } /* method opts#OptionContext#parse_intern for (self: Object, Iterator[String]) */ @@ -2173,7 +2165,7 @@ var3 = self->attrs[COLOR_opts__OptionContext___options].val; /* _options on class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var3, var_opt) /* add on */; CONTINUE_label: (void)0; @@ -2195,19 +2187,15 @@ val* var2 /* : Array[String] */; val* var3 /* : Array[String] */; var = NEW_array__Array(&type_array__Arrayopts__Option); ((void (*)(val*))(var->class->vft[COLOR_array__Array__init]))(var) /* init on */; -CHECK_NEW_array__Array(var); self->attrs[COLOR_opts__OptionContext___options].val = var; /* _options on */ var1 = NEW_hash_collection__HashMap(&type_hash_collection__HashMapstring__Stringopts__Option); ((void (*)(val*))(var1->class->vft[COLOR_hash_collection__HashMap__init]))(var1) /* init on */; -CHECK_NEW_hash_collection__HashMap(var1); self->attrs[COLOR_opts__OptionContext___optmap].val = var1; /* _optmap on */ var2 = NEW_array__Array(&type_array__Arraystring__String); ((void (*)(val*))(var2->class->vft[COLOR_array__Array__init]))(var2) /* init on */; -CHECK_NEW_array__Array(var2); self->attrs[COLOR_opts__OptionContext___rest].val = var2; /* _rest on */ var3 = NEW_array__Array(&type_array__Arraystring__String); ((void (*)(val*))(var3->class->vft[COLOR_array__Array__init]))(var3) /* init on */; -CHECK_NEW_array__Array(var3); self->attrs[COLOR_opts__OptionContext___errors].val = var3; /* _errors on */ RET_LABEL:; } @@ -2233,7 +2221,7 @@ var = self->attrs[COLOR_opts__OptionContext___options].val; /* _options on class->vft[COLOR_abstract_collection__Collection__iterator]))(var) /* iterator on */; for(;;) { @@ -2252,7 +2240,7 @@ var8 = self->attrs[COLOR_opts__OptionContext___optmap].val; /* _optmap on class->vft[COLOR_abstract_collection__Map___91d_93d_61d]))(var8, var_n, var_o) /* []= on */; CONTINUE_label: (void)0; @@ -2288,20 +2276,19 @@ val* var10 /* : nullable Object */; val* var_e /* var e: String */; var1 = NEW_array__Array(&type_array__Arraystring__String); ((void (*)(val*))(var1->class->vft[COLOR_array__Array__init]))(var1) /* init on */; -CHECK_NEW_array__Array(var1); var_errors = var1; var2 = self->attrs[COLOR_opts__OptionContext___errors].val; /* _errors on */ if (var2 == NULL) { fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _errors"); fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 335); -exit(1); +show_backtrace(1); } ((void (*)(val*, val*))(var_errors->class->vft[COLOR_abstract_collection__SimpleCollection__add_all]))(var_errors, var2) /* add_all on */; var3 = self->attrs[COLOR_opts__OptionContext___options].val; /* _options on */ if (var3 == NULL) { fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _options"); fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 337); -exit(1); +show_backtrace(1); } var4 = ((val* (*)(val*))(var3->class->vft[COLOR_abstract_collection__Collection__iterator]))(var3) /* iterator on */; for(;;) {