X-Git-Url: http://nitlanguage.org diff --git a/c_src/opts.sep.1.c b/c_src/opts.sep.1.c index 72952d4..b3ce7ee 100644 --- a/c_src/opts.sep.1.c +++ b/c_src/opts.sep.1.c @@ -1,131 +1,58 @@ #include "opts.sep.0.h" /* method opts#Option#names for (self: Option): Array[String] */ -val* opts__Option__names(val* self) { +val* opts___opts__Option___names(val* self) { val* var /* : Array[String] */; val* var1 /* : Array[String] */; var1 = self->attrs[COLOR_opts__Option___names].val; /* _names on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names"); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 19); -show_backtrace(1); -} -var = var1; -RET_LABEL:; -return var; -} -/* method opts#Option#names for (self: Object): Array[String] */ -val* VIRTUAL_opts__Option__names(val* self) { -val* var /* : Array[String] */; -val* var1 /* : Array[String] */; -val* var3 /* : Array[String] */; -{ /* Inline opts#Option#names (self) on */ -var3 = self->attrs[COLOR_opts__Option___names].val; /* _names on */ -if (unlikely(var3 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names"); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 19); -show_backtrace(1); -} -var1 = var3; -RET_LABEL2:(void)0; +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 19); +fatal_exit(1); } var = var1; RET_LABEL:; return var; } /* method opts#Option#names= for (self: Option, Array[String]) */ -void opts__Option__names_61d(val* self, val* p0) { +void opts___opts__Option___names_61d(val* self, val* p0) { self->attrs[COLOR_opts__Option___names].val = p0; /* _names on */ RET_LABEL:; } -/* method opts#Option#names= for (self: Object, Array[String]) */ -void VIRTUAL_opts__Option__names_61d(val* self, val* p0) { -{ /* Inline opts#Option#names= (self,p0) on */ -self->attrs[COLOR_opts__Option___names].val = p0; /* _names on */ -RET_LABEL1:(void)0; -} -RET_LABEL:; -} /* method opts#Option#helptext for (self: Option): String */ -val* opts__Option__helptext(val* self) { +val* opts___opts__Option___helptext(val* self) { val* var /* : String */; val* var1 /* : String */; var1 = self->attrs[COLOR_opts__Option___helptext].val; /* _helptext on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _helptext"); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 25); -show_backtrace(1); -} -var = var1; -RET_LABEL:; -return var; -} -/* method opts#Option#helptext for (self: Object): String */ -val* VIRTUAL_opts__Option__helptext(val* self) { -val* var /* : String */; -val* var1 /* : String */; -val* var3 /* : String */; -{ /* Inline opts#Option#helptext (self) on */ -var3 = self->attrs[COLOR_opts__Option___helptext].val; /* _helptext on */ -if (unlikely(var3 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _helptext"); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 25); -show_backtrace(1); -} -var1 = var3; -RET_LABEL2:(void)0; +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 25); +fatal_exit(1); } var = var1; RET_LABEL:; return var; } /* method opts#Option#helptext= for (self: Option, String) */ -void opts__Option__helptext_61d(val* self, val* p0) { +void opts___opts__Option___helptext_61d(val* self, val* p0) { self->attrs[COLOR_opts__Option___helptext].val = p0; /* _helptext on */ RET_LABEL:; } -/* method opts#Option#helptext= for (self: Object, String) */ -void VIRTUAL_opts__Option__helptext_61d(val* self, val* p0) { -{ /* Inline opts#Option#helptext= (self,p0) on */ -self->attrs[COLOR_opts__Option___helptext].val = p0; /* _helptext on */ -RET_LABEL1:(void)0; -} -RET_LABEL:; -} /* method opts#Option#errors for (self: Option): Array[String] */ -val* opts__Option__errors(val* self) { +val* opts___opts__Option___errors(val* self) { val* var /* : Array[String] */; val* var1 /* : Array[String] */; var1 = self->attrs[COLOR_opts__Option___errors].val; /* _errors on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _errors"); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 28); -show_backtrace(1); -} -var = var1; -RET_LABEL:; -return var; -} -/* method opts#Option#errors for (self: Object): Array[String] */ -val* VIRTUAL_opts__Option__errors(val* self) { -val* var /* : Array[String] */; -val* var1 /* : Array[String] */; -val* var3 /* : Array[String] */; -{ /* Inline opts#Option#errors (self) on */ -var3 = self->attrs[COLOR_opts__Option___errors].val; /* _errors on */ -if (unlikely(var3 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _errors"); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 28); -show_backtrace(1); -} -var1 = var3; -RET_LABEL2:(void)0; +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 28); +fatal_exit(1); } var = var1; RET_LABEL:; return var; } /* method opts#Option#mandatory for (self: Option): Bool */ -short int opts__Option__mandatory(val* self) { +short int opts___opts__Option___mandatory(val* self) { short int var /* : Bool */; short int var1 /* : Bool */; var1 = self->attrs[COLOR_opts__Option___mandatory].s; /* _mandatory on */ @@ -133,22 +60,8 @@ var = var1; RET_LABEL:; return var; } -/* method opts#Option#mandatory for (self: Object): Bool */ -short int VIRTUAL_opts__Option__mandatory(val* self) { -short int var /* : Bool */; -short int var1 /* : Bool */; -short int var3 /* : Bool */; -{ /* Inline opts#Option#mandatory (self) on */ -var3 = self->attrs[COLOR_opts__Option___mandatory].s; /* _mandatory on */ -var1 = var3; -RET_LABEL2:(void)0; -} -var = var1; -RET_LABEL:; -return var; -} /* method opts#Option#hidden for (self: Option): Bool */ -short int opts__Option__hidden(val* self) { +short int opts___opts__Option___hidden(val* self) { short int var /* : Bool */; short int var1 /* : Bool */; var1 = self->attrs[COLOR_opts__Option___hidden].s; /* _hidden on */ @@ -156,22 +69,13 @@ var = var1; RET_LABEL:; return var; } -/* method opts#Option#hidden for (self: Object): Bool */ -short int VIRTUAL_opts__Option__hidden(val* self) { -short int var /* : Bool */; -short int var1 /* : Bool */; -short int var3 /* : Bool */; -{ /* Inline opts#Option#hidden (self) on */ -var3 = self->attrs[COLOR_opts__Option___hidden].s; /* _hidden on */ -var1 = var3; -RET_LABEL2:(void)0; -} -var = var1; +/* method opts#Option#hidden= for (self: Option, Bool) */ +void opts___opts__Option___hidden_61d(val* self, short int p0) { +self->attrs[COLOR_opts__Option___hidden].s = p0; /* _hidden on */ RET_LABEL:; -return var; } /* method opts#Option#read for (self: Option): Bool */ -short int opts__Option__read(val* self) { +short int opts___opts__Option___read(val* self) { short int var /* : Bool */; short int var1 /* : Bool */; var1 = self->attrs[COLOR_opts__Option___read].s; /* _read on */ @@ -179,35 +83,13 @@ var = var1; RET_LABEL:; return var; } -/* method opts#Option#read for (self: Object): Bool */ -short int VIRTUAL_opts__Option__read(val* self) { -short int var /* : Bool */; -short int var1 /* : Bool */; -short int var3 /* : Bool */; -{ /* Inline opts#Option#read (self) on */ -var3 = self->attrs[COLOR_opts__Option___read].s; /* _read on */ -var1 = var3; -RET_LABEL2:(void)0; -} -var = var1; -RET_LABEL:; -return var; -} /* method opts#Option#read= for (self: Option, Bool) */ -void opts__Option__read_61d(val* self, short int p0) { +void opts___opts__Option___read_61d(val* self, short int p0) { self->attrs[COLOR_opts__Option___read].s = p0; /* _read on */ RET_LABEL:; } -/* method opts#Option#read= for (self: Object, Bool) */ -void VIRTUAL_opts__Option__read_61d(val* self, short int p0) { -{ /* Inline opts#Option#read= (self,p0) on */ -self->attrs[COLOR_opts__Option___read].s = p0; /* _read on */ -RET_LABEL1:(void)0; -} -RET_LABEL:; -} /* method opts#Option#value for (self: Option): nullable Object */ -val* opts__Option__value(val* self) { +val* opts___opts__Option___value(val* self) { val* var /* : nullable Object */; val* var1 /* : nullable Object */; var1 = self->attrs[COLOR_opts__Option___value].val; /* _value on */ @@ -215,22 +97,8 @@ var = var1; RET_LABEL:; return var; } -/* method opts#Option#value for (self: Object): nullable Object */ -val* VIRTUAL_opts__Option__value(val* self) { -val* var /* : nullable Object */; -val* var1 /* : nullable Object */; -val* var3 /* : nullable Object */; -{ /* Inline opts#Option#value (self) on */ -var3 = self->attrs[COLOR_opts__Option___value].val; /* _value on */ -var1 = var3; -RET_LABEL2:(void)0; -} -var = var1; -RET_LABEL:; -return var; -} /* method opts#Option#value= for (self: Option, nullable Object) */ -void opts__Option__value_61d(val* self, val* p0) { +void opts___opts__Option___value_61d(val* self, val* p0) { short int var /* : Bool */; int cltype; int idtype; @@ -239,65 +107,30 @@ short int is_nullable; const char* var_class_name; /* Covariant cast for argument 0 (value) isa VALUE */ /* isa VALUE */ -type_struct = self->type->resolution_table->types[COLOR_opts__Option_VTVALUE]; +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(p0 == NULL) { var = is_nullable; } else { -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var = 0; } else { -var = p0->type->type_table[cltype] == idtype; +var = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } } if (unlikely(!var)) { -var_class_name = p0 == NULL ? "null" : p0->type->name; +var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 40); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 40); +fatal_exit(1); } self->attrs[COLOR_opts__Option___value].val = p0; /* _value on */ RET_LABEL:; } -/* method opts#Option#value= for (self: Object, nullable Object) */ -void VIRTUAL_opts__Option__value_61d(val* self, val* p0) { -short int var /* : Bool */; -int cltype; -int idtype; -const struct type* type_struct; -short int is_nullable; -const char* var_class_name; -{ /* Inline opts#Option#value= (self,p0) on */ -/* Covariant cast for argument 0 (value) isa VALUE */ -/* isa VALUE */ -type_struct = self->type->resolution_table->types[COLOR_opts__Option_VTVALUE]; -cltype = type_struct->color; -idtype = type_struct->id; -is_nullable = type_struct->is_nullable; -if(p0 == NULL) { -var = is_nullable; -} else { -if(cltype >= p0->type->table_size) { -var = 0; -} else { -var = p0->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var)) { -var_class_name = p0 == NULL ? "null" : p0->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 40); -show_backtrace(1); -} -self->attrs[COLOR_opts__Option___value].val = p0; /* _value on */ -RET_LABEL1:(void)0; -} -RET_LABEL:; -} /* method opts#Option#default_value= for (self: Option, nullable Object) */ -void opts__Option__default_value_61d(val* self, val* p0) { +void opts___opts__Option___default_value_61d(val* self, val* p0) { short int var /* : Bool */; int cltype; int idtype; @@ -306,65 +139,30 @@ short int is_nullable; const char* var_class_name; /* Covariant cast for argument 0 (default_value) isa VALUE */ /* isa VALUE */ -type_struct = self->type->resolution_table->types[COLOR_opts__Option_VTVALUE]; +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(p0 == NULL) { var = is_nullable; } else { -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var = 0; } else { -var = p0->type->type_table[cltype] == idtype; +var = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } } if (unlikely(!var)) { -var_class_name = p0 == NULL ? "null" : p0->type->name; +var_class_name = p0 == NULL ? "null" : (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 43); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 43); +fatal_exit(1); } self->attrs[COLOR_opts__Option___default_value].val = p0; /* _default_value on */ RET_LABEL:; } -/* method opts#Option#default_value= for (self: Object, nullable Object) */ -void VIRTUAL_opts__Option__default_value_61d(val* self, val* p0) { -short int var /* : Bool */; -int cltype; -int idtype; -const struct type* type_struct; -short int is_nullable; -const char* var_class_name; -{ /* Inline opts#Option#default_value= (self,p0) on */ -/* Covariant cast for argument 0 (default_value) isa VALUE */ -/* isa VALUE */ -type_struct = self->type->resolution_table->types[COLOR_opts__Option_VTVALUE]; -cltype = type_struct->color; -idtype = type_struct->id; -is_nullable = type_struct->is_nullable; -if(p0 == NULL) { -var = is_nullable; -} else { -if(cltype >= p0->type->table_size) { -var = 0; -} else { -var = p0->type->type_table[cltype] == idtype; -} -} -if (unlikely(!var)) { -var_class_name = p0 == NULL ? "null" : p0->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 43); -show_backtrace(1); -} -self->attrs[COLOR_opts__Option___default_value].val = p0; /* _default_value on */ -RET_LABEL1:(void)0; -} -RET_LABEL:; -} /* method opts#Option#init for (self: Option, String, nullable Object, nullable Array[String]) */ -void opts__Option__init(val* self, val* p0, val* p1, val* p2) { +void opts___opts__Option___init(val* self, val* p0, val* p1, val* p2) { short int var /* : Bool */; int cltype; int idtype; @@ -376,40 +174,35 @@ val* var_default /* var default: nullable Object */; val* var_names /* var names: nullable Array[String] */; /* Covariant cast for argument 1 (default) isa VALUE */ /* isa VALUE */ -type_struct = self->type->resolution_table->types[COLOR_opts__Option_VTVALUE]; +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(p1 == NULL) { var = is_nullable; } else { -if(cltype >= p1->type->table_size) { +if(cltype >= (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->table_size) { var = 0; } else { -var = p1->type->type_table[cltype] == idtype; +var = (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->type_table[cltype] == idtype; } } if (unlikely(!var)) { -var_class_name = p1 == NULL ? "null" : p1->type->name; +var_class_name = p1 == NULL ? "null" : (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 46); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 46); +fatal_exit(1); } var_help = p0; var_default = p1; var_names = p2; { -opts__Option__init_opt(self, var_help, var_default, var_names); /* Direct call opts#Option#init_opt on */ -} -RET_LABEL:; +opts___opts__Option___init_opt(self, var_help, var_default, var_names); /* Direct call opts#Option#init_opt on */ } -/* method opts#Option#init for (self: Object, String, nullable Object, nullable Array[String]) */ -void VIRTUAL_opts__Option__init(val* self, val* p0, val* p1, val* p2) { -opts__Option__init(self, p0, p1, p2); /* Direct call opts#Option#init on */ RET_LABEL:; } /* method opts#Option#init_opt for (self: Option, String, nullable Object, nullable Array[String]) */ -void opts__Option__init_opt(val* self, val* p0, val* p1, val* p2) { +void opts___opts__Option___init_opt(val* self, val* p0, val* p1, val* p2) { short int var /* : Bool */; int cltype; int idtype; @@ -419,492 +212,426 @@ const char* var_class_name; val* var_help /* var help: String */; val* var_default /* var default: nullable Object */; val* var_names /* var names: nullable Array[String] */; -val* var1 /* : null */; +short int var1 /* : Bool */; short int var2 /* : Bool */; -short int var3 /* : Bool */; -val* var4 /* : Array[String] */; -val* var6 /* : Array[nullable Object] */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; -const struct type* type_struct13; -short int is_nullable14; -const char* var_class_name15; -short int var17 /* : Bool */; -int cltype18; -int idtype19; -const struct type* type_struct20; -short int is_nullable21; -const char* var_class_name22; +val* var3 /* : Array[String] */; +val* var5 /* : Array[nullable Object] */; +short int var9 /* : Bool */; +int cltype10; +int idtype11; +const struct type* type_struct12; +short int is_nullable13; +const char* var_class_name14; +short int var16 /* : Bool */; +int cltype17; +int idtype18; +const struct type* type_struct19; +short int is_nullable20; +const char* var_class_name21; /* Covariant cast for argument 1 (default) isa VALUE */ /* isa VALUE */ -type_struct = self->type->resolution_table->types[COLOR_opts__Option_VTVALUE]; +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(p1 == NULL) { var = is_nullable; } else { -if(cltype >= p1->type->table_size) { +if(cltype >= (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->table_size) { var = 0; } else { -var = p1->type->type_table[cltype] == idtype; +var = (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->type_table[cltype] == idtype; } } if (unlikely(!var)) { -var_class_name = p1 == NULL ? "null" : p1->type->name; +var_class_name = p1 == NULL ? "null" : (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 52); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 51); +fatal_exit(1); } var_help = p0; var_default = p1; var_names = p2; -var1 = NULL; if (var_names == NULL) { -var2 = 1; /* is null */ +var1 = 1; /* is null */ } else { -var2 = 0; /* arg is null but recv is not */ +var1 = 0; /* arg is null but recv is not */ } if (0) { -var3 = abstract_collection__SequenceRead___61d_61d(var_names, var1); -var2 = var3; +var2 = standard___standard__Array___standard__kernel__Object___61d_61d(var_names, ((val*)NULL)); +var1 = var2; } -if (var2){ -var4 = NEW_array__Array(&type_array__Arraystring__String); +if (var1){ +var3 = NEW_standard__Array(&type_standard__Array__standard__String); { -array__Array__init(var4); /* Direct call array#Array#init on */ +standard___standard__Array___standard__kernel__Object__init(var3); /* Direct call array#Array#init on */ } { -{ /* Inline opts#Option#names= (self,var4) on */ -self->attrs[COLOR_opts__Option___names].val = var4; /* _names on */ -RET_LABEL5:(void)0; +{ /* Inline opts#Option#names= (self,var3) on */ +self->attrs[COLOR_opts__Option___names].val = var3; /* _names on */ +RET_LABEL4:(void)0; } } } else { { -var6 = array__Collection__to_a(var_names); +var5 = standard__array___Collection___to_a(var_names); } { -{ /* Inline opts#Option#names= (self,var6) on */ -self->attrs[COLOR_opts__Option___names].val = var6; /* _names on */ -RET_LABEL7:(void)0; +{ /* Inline opts#Option#names= (self,var5) on */ +self->attrs[COLOR_opts__Option___names].val = var5; /* _names on */ +RET_LABEL6:(void)0; } } } { { /* Inline opts#Option#helptext= (self,var_help) on */ self->attrs[COLOR_opts__Option___helptext].val = var_help; /* _helptext on */ -RET_LABEL8:(void)0; +RET_LABEL7:(void)0; } } { { /* Inline opts#Option#default_value= (self,var_default) on */ /* Covariant cast for argument 0 (default_value) isa VALUE */ /* isa VALUE */ -type_struct13 = self->type->resolution_table->types[COLOR_opts__Option_VTVALUE]; -cltype11 = type_struct13->color; -idtype12 = type_struct13->id; -is_nullable14 = type_struct13->is_nullable; +type_struct12 = self->type->resolution_table->types[COLOR_opts__Option__VALUE]; +cltype10 = type_struct12->color; +idtype11 = type_struct12->id; +is_nullable13 = type_struct12->is_nullable; if(var_default == NULL) { -var10 = is_nullable14; +var9 = is_nullable13; } else { -if(cltype11 >= var_default->type->table_size) { -var10 = 0; +if(cltype10 >= (((long)var_default&3)?type_info[((long)var_default&3)]:var_default->type)->table_size) { +var9 = 0; } else { -var10 = var_default->type->type_table[cltype11] == idtype12; +var9 = (((long)var_default&3)?type_info[((long)var_default&3)]:var_default->type)->type_table[cltype10] == idtype11; } } -if (unlikely(!var10)) { -var_class_name15 = var_default == NULL ? "null" : var_default->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name15); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 43); -show_backtrace(1); +if (unlikely(!var9)) { +var_class_name14 = var_default == NULL ? "null" : (((long)var_default&3)?type_info[((long)var_default&3)]:var_default->type)->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name14); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 43); +fatal_exit(1); } self->attrs[COLOR_opts__Option___default_value].val = var_default; /* _default_value on */ -RET_LABEL9:(void)0; +RET_LABEL8:(void)0; } } { { /* Inline opts#Option#value= (self,var_default) on */ /* Covariant cast for argument 0 (value) isa VALUE */ /* isa VALUE */ -type_struct20 = self->type->resolution_table->types[COLOR_opts__Option_VTVALUE]; -cltype18 = type_struct20->color; -idtype19 = type_struct20->id; -is_nullable21 = type_struct20->is_nullable; +type_struct19 = self->type->resolution_table->types[COLOR_opts__Option__VALUE]; +cltype17 = type_struct19->color; +idtype18 = type_struct19->id; +is_nullable20 = type_struct19->is_nullable; if(var_default == NULL) { -var17 = is_nullable21; +var16 = is_nullable20; } else { -if(cltype18 >= var_default->type->table_size) { -var17 = 0; +if(cltype17 >= (((long)var_default&3)?type_info[((long)var_default&3)]:var_default->type)->table_size) { +var16 = 0; } else { -var17 = var_default->type->type_table[cltype18] == idtype19; +var16 = (((long)var_default&3)?type_info[((long)var_default&3)]:var_default->type)->type_table[cltype17] == idtype18; } } -if (unlikely(!var17)) { -var_class_name22 = var_default == NULL ? "null" : var_default->type->name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name22); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 40); -show_backtrace(1); +if (unlikely(!var16)) { +var_class_name21 = var_default == NULL ? "null" : (((long)var_default&3)?type_info[((long)var_default&3)]:var_default->type)->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name21); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 40); +fatal_exit(1); } self->attrs[COLOR_opts__Option___value].val = var_default; /* _value on */ -RET_LABEL16:(void)0; -} +RET_LABEL15:(void)0; } -RET_LABEL:; } -/* method opts#Option#init_opt for (self: Object, String, nullable Object, nullable Array[String]) */ -void VIRTUAL_opts__Option__init_opt(val* self, val* p0, val* p1, val* p2) { -opts__Option__init_opt(self, p0, p1, p2); /* Direct call opts#Option#init_opt on */ RET_LABEL:; } /* method opts#Option#to_s for (self: Option): String */ -val* opts__Option__to_s(val* self) { +val* opts___opts__Option___standard__string__Object__to_s(val* self) { val* var /* : String */; -long var1 /* : Int */; -val* var2 /* : String */; -var1 = 2; +val* var1 /* : String */; { -var2 = opts__Option__pretty(self, var1); -} -var = var2; -goto RET_LABEL; -RET_LABEL:; -return var; +var1 = opts___opts__Option___pretty(self, 2l); } -/* method opts#Option#to_s for (self: Object): String */ -val* VIRTUAL_opts__Option__to_s(val* self) { -val* var /* : String */; -val* var1 /* : String */; -var1 = opts__Option__to_s(self); var = var1; +goto RET_LABEL; RET_LABEL:; return var; } /* method opts#Option#pretty for (self: Option, Int): String */ -val* opts__Option__pretty(val* self, long p0) { +val* opts___opts__Option___pretty(val* self, long p0) { val* var /* : String */; long var_off /* var off: Int */; val* var1 /* : FlatBuffer */; static val* varonce; val* var2 /* : String */; char* var3 /* : NativeString */; -long var4 /* : Int */; -val* var5 /* : FlatString */; +val* var4 /* : FlatString */; val* var_text /* var text: FlatBuffer */; -val* var6 /* : Array[String] */; -val* var8 /* : Array[String] */; -static val* varonce9; -val* var10 /* : String */; -char* var11 /* : NativeString */; -long var12 /* : Int */; -val* var13 /* : FlatString */; +val* var5 /* : Array[String] */; +val* var7 /* : Array[String] */; +static val* varonce8; +val* var9 /* : String */; +char* var10 /* : NativeString */; +val* var11 /* : FlatString */; +val* var12 /* : String */; +static val* varonce13; val* var14 /* : String */; -static val* varonce15; -val* var16 /* : String */; -char* var17 /* : NativeString */; -long var18 /* : Int */; -val* var19 /* : FlatString */; +char* var15 /* : NativeString */; +val* var16 /* : FlatString */; +long var17 /* : Int */; +long var19 /* : Int */; long var20 /* : Int */; -long var22 /* : Int */; -long var23 /* : Int */; -short int var25 /* : Bool */; +short int var22 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var26 /* : Int */; +long var23 /* : Int */; long var_rest /* var rest: Int */; -long var27 /* : Int */; -short int var28 /* : Bool */; +short int var24 /* : Bool */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +const char* var_class_name29; short int var30 /* : Bool */; -int cltype31; -int idtype32; -const char* var_class_name33; -short int var34 /* : Bool */; -static val* varonce35; +static val* varonce31; +val* var32 /* : String */; +char* var33 /* : NativeString */; +val* var34 /* : FlatString */; +val* var35 /* : String */; val* var36 /* : String */; -char* var37 /* : NativeString */; -long var38 /* : Int */; -val* var39 /* : FlatString */; -val* var40 /* : String */; -val* var41 /* : String */; -val* var43 /* : String */; -val* var44 /* : String */; +val* var38 /* : String */; +val* var39 /* : String */; var_off = p0; -var1 = NEW_string__FlatBuffer(&type_string__FlatBuffer); -if (varonce) { +var1 = NEW_standard__FlatBuffer(&type_standard__FlatBuffer); +if (likely(varonce!=NULL)) { var2 = varonce; } else { var3 = " "; -var4 = 2; -var5 = string__NativeString__to_s_with_length(var3, var4); -var2 = var5; +var4 = standard___standard__NativeString___to_s_with_length(var3, 2l); +var2 = var4; varonce = var2; } { -string__FlatBuffer__from(var1, var2); /* Direct call string#FlatBuffer#from on */ +standard___standard__FlatBuffer___from(var1, var2); /* Direct call string#FlatBuffer#from on */ } var_text = var1; { { /* Inline opts#Option#names (self) on */ -var8 = self->attrs[COLOR_opts__Option___names].val; /* _names on */ -if (unlikely(var8 == NULL)) { +var7 = self->attrs[COLOR_opts__Option___names].val; /* _names on */ +if (unlikely(var7 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names"); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 19); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 19); +fatal_exit(1); } -var6 = var8; -RET_LABEL7:(void)0; +var5 = var7; +RET_LABEL6:(void)0; } } -if (varonce9) { -var10 = varonce9; +if (likely(varonce8!=NULL)) { +var9 = varonce8; } else { -var11 = ", "; -var12 = 2; -var13 = string__NativeString__to_s_with_length(var11, var12); -var10 = var13; -varonce9 = var10; +var10 = ", "; +var11 = standard___standard__NativeString___to_s_with_length(var10, 2l); +var9 = var11; +varonce8 = var9; } { -var14 = string__Collection__join(var6, var10); +var12 = standard__string___Collection___join(var5, var9); } { -string__FlatBuffer__append(var_text, var14); /* Direct call string#FlatBuffer#append on */ +standard___standard__FlatBuffer___Buffer__append(var_text, var12); /* Direct call string#FlatBuffer#append on */ } -if (varonce15) { -var16 = varonce15; +if (likely(varonce13!=NULL)) { +var14 = varonce13; } else { -var17 = " "; -var18 = 2; -var19 = string__NativeString__to_s_with_length(var17, var18); -var16 = var19; -varonce15 = var16; +var15 = " "; +var16 = standard___standard__NativeString___to_s_with_length(var15, 2l); +var14 = var16; +varonce13 = var14; } { -string__FlatBuffer__append(var_text, var16); /* Direct call string#FlatBuffer#append on */ +standard___standard__FlatBuffer___Buffer__append(var_text, var14); /* Direct call string#FlatBuffer#append on */ } { { /* Inline string#FlatText#length (var_text) on */ -var22 = var_text->attrs[COLOR_string__FlatText___length].l; /* _length on */ -var20 = var22; -RET_LABEL21:(void)0; +var19 = var_text->attrs[COLOR_standard__string__FlatText___length].l; /* _length on */ +var17 = var19; +RET_LABEL18:(void)0; } } { -{ /* Inline kernel#Int#- (var_off,var20) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var25 = 1; /* easy isa OTHER*/ -if (unlikely(!var25)) { -var_class_name = type_kernel__Int.name; +{ /* Inline kernel#Int#- (var_off,var17) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var22 = 1; /* easy isa OTHER*/ +if (unlikely(!var22)) { +var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); } -var26 = var_off - var20; -var23 = var26; -goto RET_LABEL24; -RET_LABEL24:(void)0; +var23 = var_off - var17; +var20 = var23; +goto RET_LABEL21; +RET_LABEL21:(void)0; } } -var_rest = var23; -var27 = 0; +var_rest = var20; { -{ /* Inline kernel#Int#> (var_rest,var27) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var30 = 1; /* easy isa OTHER*/ -if (unlikely(!var30)) { -var_class_name33 = type_kernel__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327); -show_backtrace(1); +{ /* Inline kernel#Int#> (var_rest,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var26 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var26)) { +var_class_name29 = type_standard__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); +fatal_exit(1); } -var34 = var_rest > var27; -var28 = var34; -goto RET_LABEL29; -RET_LABEL29:(void)0; +var30 = var_rest > 0l; +var24 = var30; +goto RET_LABEL25; +RET_LABEL25:(void)0; } } -if (var28){ -if (varonce35) { -var36 = varonce35; +if (var24){ +if (likely(varonce31!=NULL)) { +var32 = varonce31; } else { -var37 = " "; -var38 = 1; -var39 = string__NativeString__to_s_with_length(var37, var38); -var36 = var39; -varonce35 = var36; +var33 = " "; +var34 = standard___standard__NativeString___to_s_with_length(var33, 1l); +var32 = var34; +varonce31 = var32; } { -var40 = string__FlatString___42d(var36, var_rest); +var35 = ((val*(*)(val* self, long p0))(var32->class->vft[COLOR_standard__string__String___42d]))(var32, var_rest); /* * on */ } { -string__FlatBuffer__append(var_text, var40); /* Direct call string#FlatBuffer#append on */ +standard___standard__FlatBuffer___Buffer__append(var_text, var35); /* Direct call string#FlatBuffer#append on */ } } else { } { { /* Inline opts#Option#helptext (self) on */ -var43 = self->attrs[COLOR_opts__Option___helptext].val; /* _helptext on */ -if (unlikely(var43 == NULL)) { +var38 = self->attrs[COLOR_opts__Option___helptext].val; /* _helptext on */ +if (unlikely(var38 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _helptext"); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 25); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 25); +fatal_exit(1); } -var41 = var43; -RET_LABEL42:(void)0; +var36 = var38; +RET_LABEL37:(void)0; } } { -string__FlatBuffer__append(var_text, var41); /* Direct call string#FlatBuffer#append on */ +standard___standard__FlatBuffer___Buffer__append(var_text, var36); /* Direct call string#FlatBuffer#append on */ } { -var44 = string__FlatBuffer__to_s(var_text); +var39 = standard___standard__FlatBuffer___Object__to_s(var_text); } -var = var44; +var = var39; goto RET_LABEL; RET_LABEL:; return var; } -/* method opts#Option#pretty for (self: Object, Int): String */ -val* VIRTUAL_opts__Option__pretty(val* self, long p0) { -val* var /* : String */; -val* var1 /* : String */; -var1 = opts__Option__pretty(self, p0); -var = var1; -RET_LABEL:; -return var; -} /* method opts#Option#read_param for (self: Option, Iterator[String]) */ -void opts__Option__read_param(val* self, val* p0) { +void opts___opts__Option___read_param(val* self, val* p0) { val* var_it /* var it: Iterator[String] */; -short int var /* : Bool */; var_it = p0; -var = 1; { -{ /* Inline opts#Option#read= (self,var) on */ -self->attrs[COLOR_opts__Option___read].s = var; /* _read on */ +{ /* Inline opts#Option#read= (self,1) on */ +self->attrs[COLOR_opts__Option___read].s = 1; /* _read on */ RET_LABEL1:(void)0; } } RET_LABEL:; } -/* method opts#Option#read_param for (self: Object, Iterator[String]) */ -void VIRTUAL_opts__Option__read_param(val* self, val* p0) { -opts__Option__read_param(self, p0); /* Direct call opts#Option#read_param on */ -RET_LABEL:; -} /* method opts#OptionBool#init for (self: OptionBool, String, Array[String]) */ -void opts__OptionBool__init(val* self, val* p0, val* p1) { +void opts___opts__OptionBool___init(val* self, val* p0, val* p1) { val* var_help /* var help: String */; val* var_names /* var names: Array[String] */; -short int var /* : Bool */; -val* var1 /* : nullable Object */; +val* var /* : nullable Object */; var_help = p0; var_names = p1; -var = 0; { -var1 = BOX_kernel__Bool(var); /* autobox from Bool to nullable Object */ -opts__Option__init(self, var_help, var1, var_names); /* Direct call opts#Option#init on */ -} -RET_LABEL:; +var = (val*)((long)(0)<<2|3); +opts___opts__Option___init(self, var_help, var, var_names); /* Direct call opts#Option#init on */ } -/* method opts#OptionBool#init for (self: Object, String, Array[String]) */ -void VIRTUAL_opts__OptionBool__init(val* self, val* p0, val* p1) { -opts__OptionBool__init(self, p0, p1); /* Direct call opts#OptionBool#init on */ RET_LABEL:; } /* method opts#OptionBool#read_param for (self: OptionBool, Iterator[String]) */ -void opts__OptionBool__read_param(val* self, val* p0) { +void opts___opts__OptionBool___Option__read_param(val* self, val* p0) { val* var_it /* var it: Iterator[String] */; short int var /* : Bool */; -short int var2 /* : Bool */; int cltype; int idtype; const struct type* type_struct; const char* var_class_name; -val* var3 /* : nullable Object */; +val* var2 /* : nullable Object */; var_it = p0; { -((void (*)(val*, val*))(self->class->vft[COLOR_opts__OptionBool__read_param]))(self, p0) /* read_param on */; +((void(*)(val* self, val* p0))(self->class->vft[COLOR_opts___opts__OptionBool___Option__read_param]))(self, p0); /* read_param on */ } -var = 1; { -{ /* Inline opts#Option#value= (self,var) on */ -/* Covariant cast for argument 0 (value) isa VALUE */ -/* isa VALUE */ -type_struct = self->type->resolution_table->types[COLOR_opts__Option_VTVALUE]; +{ /* Inline opts#Option#value= (self,1) on */ +/* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */ +/* <1:Bool> isa VALUE */ +type_struct = self->type->resolution_table->types[COLOR_opts__Option__VALUE]; cltype = type_struct->color; idtype = type_struct->id; -if(cltype >= (&type_kernel__Bool)->table_size) { -var2 = 0; +if(cltype >= (&type_standard__Bool)->table_size) { +var = 0; } else { -var2 = (&type_kernel__Bool)->type_table[cltype] == idtype; +var = (&type_standard__Bool)->type_table[cltype] == idtype; } -if (unlikely(!var2)) { -var_class_name = type_kernel__Bool.name; +if (unlikely(!var)) { +var_class_name = type_standard__Bool.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 40); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 40); +fatal_exit(1); } -var3 = BOX_kernel__Bool(var); /* autobox from Bool to nullable Object */ -self->attrs[COLOR_opts__Option___value].val = var3; /* _value on */ +var2 = (val*)((long)(1)<<2|3); +self->attrs[COLOR_opts__Option___value].val = var2; /* _value on */ RET_LABEL1:(void)0; } } RET_LABEL:; } -/* method opts#OptionBool#read_param for (self: Object, Iterator[String]) */ -void VIRTUAL_opts__OptionBool__read_param(val* self, val* p0) { -opts__OptionBool__read_param(self, p0); /* Direct call opts#OptionBool#read_param on */ -RET_LABEL:; -} /* method opts#OptionCount#init for (self: OptionCount, String, Array[String]) */ -void opts__OptionCount__init(val* self, val* p0, val* p1) { +void opts___opts__OptionCount___init(val* self, val* p0, val* p1) { val* var_help /* var help: String */; val* var_names /* var names: Array[String] */; -long var /* : Int */; -val* var1 /* : nullable Object */; +val* var /* : nullable Object */; var_help = p0; var_names = p1; -var = 0; { -var1 = BOX_kernel__Int(var); /* autobox from Int to nullable Object */ -opts__Option__init(self, var_help, var1, var_names); /* Direct call opts#Option#init on */ +var = (val*)(0l<<2|1); +opts___opts__Option___init(self, var_help, var, var_names); /* Direct call opts#Option#init on */ } RET_LABEL:; } -/* method opts#OptionCount#init for (self: Object, String, Array[String]) */ -void VIRTUAL_opts__OptionCount__init(val* self, val* p0, val* p1) { -opts__OptionCount__init(self, p0, p1); /* Direct call opts#OptionCount#init on */ -RET_LABEL:; -} /* method opts#OptionCount#read_param for (self: OptionCount, Iterator[String]) */ -void opts__OptionCount__read_param(val* self, val* p0) { +void opts___opts__OptionCount___Option__read_param(val* self, val* p0) { val* var_it /* var it: Iterator[String] */; val* var_ /* var : OptionCount */; val* var /* : nullable Object */; val* var2 /* : nullable Object */; long var3 /* : Int */; -long var4 /* : Int */; -short int var6 /* : Bool */; +short int var5 /* : Bool */; int cltype; int idtype; const char* var_class_name; +long var6 /* : Int */; long var7 /* : Int */; -long var8 /* : Int */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; +short int var9 /* : Bool */; +int cltype10; +int idtype11; const struct type* type_struct; -const char* var_class_name13; -val* var14 /* : nullable Object */; +const char* var_class_name12; +val* var13 /* : nullable Object */; var_it = p0; { -((void (*)(val*, val*))(self->class->vft[COLOR_opts__OptionCount__read_param]))(self, p0) /* read_param on */; +((void(*)(val* self, val* p0))(self->class->vft[COLOR_opts___opts__OptionCount___Option__read_param]))(self, p0); /* read_param on */ } var_ = self; { @@ -914,57 +641,51 @@ var = var2; RET_LABEL1:(void)0; } } -var3 = 1; { -{ /* Inline kernel#Int#+ (var,var3) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var6 = 1; /* easy isa OTHER*/ -if (unlikely(!var6)) { -var_class_name = type_kernel__Int.name; +{ /* Inline kernel#Int#+ (var,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var5 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var5)) { +var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var7 = ((struct instance_kernel__Int*)var)->value; /* autounbox from nullable Object to Int */; -var8 = var7 + var3; -var4 = var8; -goto RET_LABEL5; -RET_LABEL5:(void)0; +var6 = (long)(var)>>2; +var7 = var6 + 1l; +var3 = var7; +goto RET_LABEL4; +RET_LABEL4:(void)0; } } { -{ /* Inline opts#Option#value= (var_,var4) on */ -/* Covariant cast for argument 0 (value) isa VALUE */ -/* isa VALUE */ -type_struct = var_->type->resolution_table->types[COLOR_opts__Option_VTVALUE]; -cltype11 = type_struct->color; -idtype12 = type_struct->id; -if(cltype11 >= (&type_kernel__Int)->table_size) { -var10 = 0; +{ /* Inline opts#Option#value= (var_,var3) on */ +/* Covariant cast for argument 0 (value) isa VALUE */ +/* isa VALUE */ +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) { +var9 = 0; } else { -var10 = (&type_kernel__Int)->type_table[cltype11] == idtype12; -} -if (unlikely(!var10)) { -var_class_name13 = type_kernel__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name13); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 40); -show_backtrace(1); +var9 = (&type_standard__Int)->type_table[cltype10] == idtype11; } -var14 = BOX_kernel__Int(var4); /* autobox from Int to nullable Object */ -var_->attrs[COLOR_opts__Option___value].val = var14; /* _value on */ -RET_LABEL9:(void)0; +if (unlikely(!var9)) { +var_class_name12 = type_standard__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); } +var13 = (val*)(var3<<2|1); +var_->attrs[COLOR_opts__Option___value].val = var13; /* _value on */ +RET_LABEL8:(void)0; } -RET_LABEL:; } -/* method opts#OptionCount#read_param for (self: Object, Iterator[String]) */ -void VIRTUAL_opts__OptionCount__read_param(val* self, val* p0) { -opts__OptionCount__read_param(self, p0); /* Direct call opts#OptionCount#read_param on */ RET_LABEL:; } /* method opts#OptionParameter#parameter_mandatory for (self: OptionParameter): Bool */ -short int opts__OptionParameter__parameter_mandatory(val* self) { +short int opts___opts__OptionParameter___parameter_mandatory(val* self) { short int var /* : Bool */; short int var1 /* : Bool */; var1 = self->attrs[COLOR_opts__OptionParameter___parameter_mandatory].s; /* _parameter_mandatory on */ @@ -972,35 +693,22 @@ var = var1; RET_LABEL:; return var; } -/* method opts#OptionParameter#parameter_mandatory for (self: Object): Bool */ -short int VIRTUAL_opts__OptionParameter__parameter_mandatory(val* self) { -short int var /* : Bool */; -short int var1 /* : Bool */; -short int var3 /* : Bool */; -{ /* Inline opts#OptionParameter#parameter_mandatory (self) on */ -var3 = self->attrs[COLOR_opts__OptionParameter___parameter_mandatory].s; /* _parameter_mandatory on */ -var1 = var3; -RET_LABEL2:(void)0; -} -var = var1; -RET_LABEL:; -return var; -} /* method opts#OptionParameter#read_param for (self: OptionParameter, Iterator[String]) */ -void opts__OptionParameter__read_param(val* self, val* p0) { +void opts___opts__OptionParameter___Option__read_param(val* self, val* p0) { val* var_it /* var it: Iterator[String] */; short int var /* : Bool */; short int var1 /* : Bool */; short int var_ /* var : Bool */; -val* var2 /* : nullable Object */; -val* var3 /* : SequenceRead[Char] */; -val* var5 /* : SequenceRead[Char] */; +short int var2 /* : Bool */; +val* var3 /* : nullable Object */; +short int var4 /* : Bool */; +short int var_5 /* var : Bool */; val* var6 /* : nullable Object */; -char var7 /* : Char */; -short int var8 /* : Bool */; +val* var7 /* : SequenceRead[Char] */; +val* var8 /* : nullable Object */; short int var9 /* : Bool */; short int var11 /* : Bool */; -char var12 /* : Char */; +uint32_t var12 /* : Char */; short int var13 /* : Bool */; val* var14 /* : nullable Object */; val* var15 /* : nullable Object */; @@ -1014,105 +722,100 @@ short int var18 /* : Bool */; short int var20 /* : Bool */; val* var21 /* : Array[String] */; val* var23 /* : Array[String] */; +val* var24 /* : NativeArray[String] */; static val* varonce; -val* var24 /* : String */; -char* var25 /* : NativeString */; -long var26 /* : Int */; -val* var27 /* : FlatString */; -val* var28 /* : Array[String] */; -val* var30 /* : Array[String] */; -val* var31 /* : nullable Object */; -static val* varonce32; -val* var33 /* : String */; -char* var34 /* : NativeString */; -long var35 /* : Int */; -val* var36 /* : FlatString */; -val* var37 /* : Array[Object] */; -long var38 /* : Int */; -val* var39 /* : NativeArray[Object] */; -val* var40 /* : String */; +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; { -((void (*)(val*, val*))(self->class->vft[COLOR_opts__OptionParameter__read_param]))(self, p0) /* read_param on */; +((void(*)(val* self, val* p0))(self->class->vft[COLOR_opts___opts__OptionParameter___Option__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 */; +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_ = var1; if (var1){ { -var2 = ((val* (*)(val*))(var_it->class->vft[COLOR_abstract_collection__Iterator__item]))(var_it) /* item on */; +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 string#FlatString#chars (var2) on */ -var5 = var2->attrs[COLOR_string__FlatString___chars].val; /* _chars on */ -if (unlikely(var5 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars"); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 746); -show_backtrace(1); -} -var3 = var5; -RET_LABEL4:(void)0; +var4 = standard___standard__Text___is_empty(var3); } +var_5 = var4; +if (var4){ +var2 = var_5; +} else { +{ +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 */ } { -var6 = ((val* (*)(val*))(var3->class->vft[COLOR_abstract_collection__Collection__first]))(var3) /* first on */; +var7 = ((val*(*)(val* self))(var6->class->vft[COLOR_standard__string__Text__chars]))(var6); /* chars on */ } -var7 = '-'; { -{ /* Inline kernel#Char#!= (var6,var7) on */ -var11 = (var6 != NULL) && (var6->class == &class_kernel__Char); -if (var11) { -var12 = ((struct instance_kernel__Char*)var6)->value; /* autounbox from nullable Object to Char */; -var11 = (var12 == var7); +var8 = ((val*(*)(val* self))((((long)var7&3)?class_info[((long)var7&3)]:var7->class)->vft[COLOR_standard__abstract_collection__Collection__first]))(var7); /* first on */ } +{ +{ /* 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; } -var8 = var9; } -var = var8; +var2 = var9; +} +var = var2; } else { var = var_; } if (var){ { -var14 = ((val* (*)(val*))(var_it->class->vft[COLOR_abstract_collection__Iterator__item]))(var_it) /* item on */; +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 */ } { -var15 = ((val* (*)(val*, val*))(self->class->vft[COLOR_opts__OptionParameter__convert]))(self, var14) /* convert on */; +var15 = ((val*(*)(val* self, val* p0))(self->class->vft[COLOR_opts__OptionParameter__convert]))(self, var14); /* convert on */ } { { /* Inline opts#Option#value= (self,var15) on */ /* Covariant cast for argument 0 (value) isa VALUE */ /* isa VALUE */ -type_struct = self->type->resolution_table->types[COLOR_opts__Option_VTVALUE]; +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; } else { -if(cltype >= var15->type->table_size) { +if(cltype >= (((long)var15&3)?type_info[((long)var15&3)]:var15->type)->table_size) { var17 = 0; } else { -var17 = var15->type->type_table[cltype] == idtype; +var17 = (((long)var15&3)?type_info[((long)var15&3)]:var15->type)->type_table[cltype] == idtype; } } if (unlikely(!var17)) { -var_class_name = var15 == NULL ? "null" : var15->type->name; +var_class_name = var15 == NULL ? "null" : (((long)var15&3)?type_info[((long)var15&3)]:var15->type)->name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 40); -show_backtrace(1); +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; } } { -((void (*)(val*))(var_it->class->vft[COLOR_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_standard__abstract_collection__Iterator__next]))(var_it); /* next on */ } } else { { @@ -1128,79 +831,70 @@ if (var18){ var23 = self->attrs[COLOR_opts__Option___errors].val; /* _errors on */ if (unlikely(var23 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _errors"); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 28); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 28); +fatal_exit(1); } var21 = var23; RET_LABEL22:(void)0; } } -if (varonce) { -var24 = varonce; +if (unlikely(varonce==NULL)) { +var24 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce25!=NULL)) { +var26 = varonce25; } else { -var25 = "Parameter expected for option "; -var26 = 30; -var27 = string__NativeString__to_s_with_length(var25, var26); -var24 = var27; -varonce = var24; -} -{ -{ /* Inline opts#Option#names (self) on */ -var30 = self->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", "lib/opts.nit", 19); -show_backtrace(1); -} -var28 = var30; -RET_LABEL29:(void)0; +var27 = "Parameter expected for option "; +var28 = standard___standard__NativeString___to_s_with_length(var27, 30l); +var26 = var28; +varonce25 = var26; +} +((struct instance_standard__NativeArray*)var24)->values[0]=var26; +if (likely(varonce29!=NULL)) { +var30 = varonce29; +} else { +var31 = "."; +var32 = standard___standard__NativeString___to_s_with_length(var31, 1l); +var30 = var32; +varonce29 = var30; } +((struct instance_standard__NativeArray*)var24)->values[2]=var30; +} else { +var24 = varonce; +varonce = NULL; } { -var31 = abstract_collection__SequenceRead__first(var28); +{ /* Inline opts#Option#names (self) on */ +var35 = self->attrs[COLOR_opts__Option___names].val; /* _names on */ +if (unlikely(var35 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names"); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 19); +fatal_exit(1); } -if (varonce32) { -var33 = varonce32; -} else { -var34 = "."; -var35 = 1; -var36 = string__NativeString__to_s_with_length(var34, var35); -var33 = var36; -varonce32 = var33; +var33 = var35; +RET_LABEL34:(void)0; } -var37 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var37 = array_instance Array[Object] */ -var38 = 3; -var39 = NEW_array__NativeArray(var38, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var39)->values[0] = (val*) var24; -((struct instance_array__NativeArray*)var39)->values[1] = (val*) var31; -((struct instance_array__NativeArray*)var39)->values[2] = (val*) var33; -{ -((void (*)(val*, val*, long))(var37->class->vft[COLOR_array__Array__with_native]))(var37, var39, var38) /* with_native on */; } +{ +var36 = standard___standard__SequenceRead___Collection__first(var33); } +((struct instance_standard__NativeArray*)var24)->values[1]=var36; { -var40 = ((val* (*)(val*))(var37->class->vft[COLOR_string__Object__to_s]))(var37) /* to_s on */; +var37 = ((val*(*)(val* self))(var24->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var24); /* native_to_s on */ } +varonce = var24; { -array__Array__add(var21, var40); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var21, var37); /* Direct call array#Array#add on */ } } else { } } RET_LABEL:; } -/* method opts#OptionParameter#read_param for (self: Object, Iterator[String]) */ -void VIRTUAL_opts__OptionParameter__read_param(val* self, val* p0) { -opts__OptionParameter__read_param(self, p0); /* Direct call opts#OptionParameter#read_param on */ -RET_LABEL:; -} /* method opts#OptionString#init for (self: OptionString, String, Array[String]) */ -void opts__OptionString__init(val* self, val* p0, val* p1) { +void opts___opts__OptionString___init(val* self, val* p0, val* p1) { val* var_help /* var help: String */; val* var_names /* var names: Array[String] */; -val* var /* : null */; -short int var1 /* : Bool */; +short int var /* : Bool */; int cltype; int idtype; const struct type* type_struct; @@ -1208,39 +902,33 @@ short int is_nullable; const char* var_class_name; var_help = p0; var_names = p1; -var = NULL; -/* isa VALUE */ -type_struct = self->type->resolution_table->types[COLOR_opts__Option_VTVALUE]; +/* <((val*)NULL):null> 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(var == NULL) { -var1 = is_nullable; +if(((val*)NULL) == NULL) { +var = is_nullable; } else { -if(cltype >= var->type->table_size) { -var1 = 0; +if(cltype >= ((val*)NULL)->type->table_size) { +var = 0; } else { -var1 = var->type->type_table[cltype] == idtype; +var = ((val*)NULL)->type->type_table[cltype] == idtype; } } -if (unlikely(!var1)) { -var_class_name = var == NULL ? "null" : var->type->name; +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", "lib/opts.nit", 162); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 172); +fatal_exit(1); } { -opts__Option__init(self, var_help, var, var_names); /* Direct call opts#Option#init on */ +opts___opts__Option___init(self, var_help, ((val*)NULL), var_names); /* Direct call opts#Option#init on */ } RET_LABEL:; } -/* method opts#OptionString#init for (self: Object, String, Array[String]) */ -void VIRTUAL_opts__OptionString__init(val* self, val* p0, val* p1) { -opts__OptionString__init(self, p0, p1); /* Direct call opts#OptionString#init on */ -RET_LABEL:; -} /* method opts#OptionString#convert for (self: OptionString, String): nullable String */ -val* opts__OptionString__convert(val* self, val* p0) { +val* opts___opts__OptionString___OptionParameter__convert(val* self, val* p0) { val* var /* : nullable String */; val* var_str /* var str: String */; short int var1 /* : Bool */; @@ -1250,7 +938,7 @@ const struct type* type_struct; const char* var_class_name; var_str = p0; /* isa VALUE */ -type_struct = self->type->resolution_table->types[COLOR_opts__Option_VTVALUE]; +type_struct = self->type->resolution_table->types[COLOR_opts__Option__VALUE]; cltype = type_struct->color; idtype = type_struct->id; if(cltype >= var_str->type->table_size) { @@ -1261,25 +949,56 @@ 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", "lib/opts.nit", 164); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 174); +fatal_exit(1); } var = var_str; goto RET_LABEL; RET_LABEL:; return var; } -/* method opts#OptionString#convert for (self: Object, String): nullable Object */ -val* VIRTUAL_opts__OptionString__convert(val* self, val* p0) { +/* method opts#OptionInt#init for (self: OptionInt, String, Int, Array[String]) */ +void opts___opts__OptionInt___init(val* self, val* p0, long p1, val* p2) { +val* var_help /* var help: String */; +long var_default /* var default: Int */; +val* var_names /* var names: Array[String] */; val* var /* : nullable Object */; -val* var1 /* : nullable String */; -var1 = opts__OptionString__convert(self, p0); +var_help = p0; +var_default = p1; +var_names = p2; +{ +var = (val*)(var_default<<2|1); +opts___opts__Option___init(self, var_help, var, var_names); /* Direct call opts#Option#init on */ +} +RET_LABEL:; +} +/* method opts#OptionInt#convert for (self: OptionInt, String): Int */ +long opts___opts__OptionInt___OptionParameter__convert(val* self, val* p0) { +long var /* : Int */; +val* var_str /* var str: String */; +long var1 /* : Int */; +var_str = p0; +{ +var1 = standard___standard__Text___to_i(var_str); +} var = var1; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method opts#OptionInt#convert for (self: OptionParameter, String): nullable Object */ +val* VIRTUAL_opts___opts__OptionInt___OptionParameter__convert(val* self, val* p0) { +val* var /* : nullable Object */; +long var1 /* : Int */; +val* var2 /* : nullable Object */; +var1 = opts___opts__OptionInt___OptionParameter__convert(self, p0); +var2 = (val*)(var1<<2|1); +var = var2; RET_LABEL:; return var; } /* method opts#OptionArray#init for (self: OptionArray, String, Array[String]) */ -void opts__OptionArray__init(val* self, val* p0, val* p1) { +void opts___opts__OptionArray___init(val* self, val* p0, val* p1) { val* var_help /* var help: String */; val* var_names /* var names: Array[String] */; val* var /* : Array[String] */; @@ -1292,9 +1011,9 @@ const struct type* type_struct; const char* var_class_name; var_help = p0; var_names = p1; -var = NEW_array__Array(&type_array__Arraystring__String); +var = NEW_standard__Array(&type_standard__Array__standard__String); { -array__Array__init(var); /* Direct call array#Array#init on */ +standard___standard__Array___standard__kernel__Object__init(var); /* Direct call array#Array#init on */ } { { /* Inline opts#OptionArray#values= (self,var) on */ @@ -1307,15 +1026,15 @@ 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", "lib/opts.nit", 237); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 254); +fatal_exit(1); } var2 = var4; RET_LABEL3:(void)0; } } /* isa VALUE */ -type_struct = self->type->resolution_table->types[COLOR_opts__Option_VTVALUE]; +type_struct = self->type->resolution_table->types[COLOR_opts__Option__VALUE]; cltype = type_struct->color; idtype = type_struct->id; if(cltype >= var2->type->table_size) { @@ -1326,67 +1045,35 @@ 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", "lib/opts.nit", 234); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 251); +fatal_exit(1); } { -opts__Option__init(self, var_help, var2, var_names); /* Direct call opts#Option#init on */ +opts___opts__Option___init(self, var_help, var2, var_names); /* Direct call opts#Option#init on */ } RET_LABEL:; } -/* method opts#OptionArray#init for (self: Object, String, Array[String]) */ -void VIRTUAL_opts__OptionArray__init(val* self, val* p0, val* p1) { -opts__OptionArray__init(self, p0, p1); /* Direct call opts#OptionArray#init on */ -RET_LABEL:; -} /* method opts#OptionArray#values for (self: OptionArray): Array[String] */ -val* opts__OptionArray__values(val* self) { +val* opts___opts__OptionArray___values(val* self) { val* var /* : Array[String] */; 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", "lib/opts.nit", 237); -show_backtrace(1); -} -var = var1; -RET_LABEL:; -return var; -} -/* method opts#OptionArray#values for (self: Object): Array[String] */ -val* VIRTUAL_opts__OptionArray__values(val* self) { -val* var /* : Array[String] */; -val* var1 /* : Array[String] */; -val* var3 /* : Array[String] */; -{ /* Inline opts#OptionArray#values (self) on */ -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", "lib/opts.nit", 237); -show_backtrace(1); -} -var1 = var3; -RET_LABEL2:(void)0; +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 254); +fatal_exit(1); } var = var1; RET_LABEL:; return var; } /* method opts#OptionArray#values= for (self: OptionArray, Array[String]) */ -void opts__OptionArray__values_61d(val* self, val* p0) { +void opts___opts__OptionArray___values_61d(val* self, val* p0) { self->attrs[COLOR_opts__OptionArray___values].val = p0; /* _values on */ RET_LABEL:; } -/* method opts#OptionArray#values= for (self: Object, Array[String]) */ -void VIRTUAL_opts__OptionArray__values_61d(val* self, val* p0) { -{ /* Inline opts#OptionArray#values= (self,p0) on */ -self->attrs[COLOR_opts__OptionArray___values].val = p0; /* _values on */ -RET_LABEL1:(void)0; -} -RET_LABEL:; -} /* method opts#OptionArray#convert for (self: OptionArray, String): Array[String] */ -val* opts__OptionArray__convert(val* self, val* p0) { +val* opts___opts__OptionArray___OptionParameter__convert(val* self, val* p0) { val* var /* : Array[String] */; val* var_str /* var str: String */; val* var1 /* : Array[String] */; @@ -1404,30 +1091,30 @@ 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", "lib/opts.nit", 237); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 254); +fatal_exit(1); } var1 = var3; RET_LABEL2:(void)0; } } { -array__Array__add(var1, var_str); /* Direct call array#Array#add on */ +standard___standard__Array___standard__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", "lib/opts.nit", 237); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 254); +fatal_exit(1); } var4 = var6; RET_LABEL5:(void)0; } } /* isa VALUE */ -type_struct = self->type->resolution_table->types[COLOR_opts__Option_VTVALUE]; +type_struct = self->type->resolution_table->types[COLOR_opts__Option__VALUE]; cltype = type_struct->color; idtype = type_struct->id; if(cltype >= var4->type->table_size) { @@ -1438,262 +1125,72 @@ 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", "lib/opts.nit", 241); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 258); +fatal_exit(1); } var = var4; goto RET_LABEL; RET_LABEL:; return var; } -/* method opts#OptionArray#convert for (self: Object, String): nullable Object */ -val* VIRTUAL_opts__OptionArray__convert(val* self, val* p0) { -val* var /* : nullable Object */; -val* var1 /* : Array[String] */; -var1 = opts__OptionArray__convert(self, p0); -var = var1; -RET_LABEL:; -return var; -} /* method opts#OptionContext#options for (self: OptionContext): Array[Option] */ -val* opts__OptionContext__options(val* self) { +val* opts___opts__OptionContext___options(val* self) { val* var /* : Array[Option] */; 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", "lib/opts.nit", 247); -show_backtrace(1); -} -var = var1; -RET_LABEL:; -return var; -} -/* method opts#OptionContext#options for (self: Object): Array[Option] */ -val* VIRTUAL_opts__OptionContext__options(val* self) { -val* var /* : Array[Option] */; -val* var1 /* : Array[Option] */; -val* var3 /* : Array[Option] */; -{ /* Inline opts#OptionContext#options (self) on */ -var3 = self->attrs[COLOR_opts__OptionContext___options].val; /* _options on */ -if (unlikely(var3 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _options"); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 247); -show_backtrace(1); -} -var1 = var3; -RET_LABEL2:(void)0; +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 264); +fatal_exit(1); } var = var1; RET_LABEL:; return var; } -/* method opts#OptionContext#options= for (self: OptionContext, Array[Option]) */ -void opts__OptionContext__options_61d(val* self, val* p0) { -self->attrs[COLOR_opts__OptionContext___options].val = p0; /* _options on */ -RET_LABEL:; -} -/* method opts#OptionContext#options= for (self: Object, Array[Option]) */ -void VIRTUAL_opts__OptionContext__options_61d(val* self, val* p0) { -{ /* Inline opts#OptionContext#options= (self,p0) on */ -self->attrs[COLOR_opts__OptionContext___options].val = p0; /* _options on */ -RET_LABEL1:(void)0; -} -RET_LABEL:; -} /* method opts#OptionContext#rest for (self: OptionContext): Array[String] */ -val* opts__OptionContext__rest(val* self) { +val* opts___opts__OptionContext___rest(val* self) { val* var /* : Array[String] */; 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", "lib/opts.nit", 250); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 267); +fatal_exit(1); } var = var1; RET_LABEL:; return var; } -/* method opts#OptionContext#rest for (self: Object): Array[String] */ -val* VIRTUAL_opts__OptionContext__rest(val* self) { -val* var /* : Array[String] */; -val* var1 /* : Array[String] */; -val* var3 /* : Array[String] */; -{ /* Inline opts#OptionContext#rest (self) on */ -var3 = self->attrs[COLOR_opts__OptionContext___rest].val; /* _rest on */ -if (unlikely(var3 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _rest"); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 250); -show_backtrace(1); -} -var1 = var3; -RET_LABEL2:(void)0; -} -var = var1; -RET_LABEL:; -return var; -} -/* method opts#OptionContext#rest= for (self: OptionContext, Array[String]) */ -void opts__OptionContext__rest_61d(val* self, val* p0) { -self->attrs[COLOR_opts__OptionContext___rest].val = p0; /* _rest on */ -RET_LABEL:; -} -/* method opts#OptionContext#rest= for (self: Object, Array[String]) */ -void VIRTUAL_opts__OptionContext__rest_61d(val* self, val* p0) { -{ /* Inline opts#OptionContext#rest= (self,p0) on */ -self->attrs[COLOR_opts__OptionContext___rest].val = p0; /* _rest on */ -RET_LABEL1:(void)0; -} -RET_LABEL:; -} /* method opts#OptionContext#errors for (self: OptionContext): Array[String] */ -val* opts__OptionContext__errors(val* self) { +val* opts___opts__OptionContext___errors(val* self) { val* var /* : Array[String] */; val* var1 /* : Array[String] */; var1 = self->attrs[COLOR_opts__OptionContext___errors].val; /* _errors on */ if (unlikely(var1 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _errors"); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 253); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 270); +fatal_exit(1); } var = var1; RET_LABEL:; return var; } -/* method opts#OptionContext#errors for (self: Object): Array[String] */ -val* VIRTUAL_opts__OptionContext__errors(val* self) { -val* var /* : Array[String] */; -val* var1 /* : Array[String] */; -val* var3 /* : Array[String] */; -{ /* Inline opts#OptionContext#errors (self) on */ -var3 = self->attrs[COLOR_opts__OptionContext___errors].val; /* _errors on */ -if (unlikely(var3 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _errors"); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 253); -show_backtrace(1); -} -var1 = var3; -RET_LABEL2:(void)0; -} -var = var1; -RET_LABEL:; -return var; -} -/* method opts#OptionContext#errors= for (self: OptionContext, Array[String]) */ -void opts__OptionContext__errors_61d(val* self, val* p0) { -self->attrs[COLOR_opts__OptionContext___errors].val = p0; /* _errors on */ -RET_LABEL:; -} -/* method opts#OptionContext#errors= for (self: Object, Array[String]) */ -void VIRTUAL_opts__OptionContext__errors_61d(val* self, val* p0) { -{ /* Inline opts#OptionContext#errors= (self,p0) on */ -self->attrs[COLOR_opts__OptionContext___errors].val = p0; /* _errors on */ -RET_LABEL1:(void)0; -} -RET_LABEL:; -} -/* method opts#OptionContext#optmap for (self: OptionContext): Map[String, Option] */ -val* opts__OptionContext__optmap(val* self) { -val* var /* : Map[String, Option] */; -val* var1 /* : Map[String, Option] */; +/* method opts#OptionContext#optmap for (self: OptionContext): HashMap[String, Option] */ +val* opts___opts__OptionContext___optmap(val* self) { +val* var /* : HashMap[String, Option] */; +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", "lib/opts.nit", 256); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 273); +fatal_exit(1); } var = var1; RET_LABEL:; return var; } -/* method opts#OptionContext#optmap for (self: Object): Map[String, Option] */ -val* VIRTUAL_opts__OptionContext__optmap(val* self) { -val* var /* : Map[String, Option] */; -val* var1 /* : Map[String, Option] */; -val* var3 /* : Map[String, Option] */; -{ /* Inline opts#OptionContext#optmap (self) on */ -var3 = self->attrs[COLOR_opts__OptionContext___optmap].val; /* _optmap on */ -if (unlikely(var3 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _optmap"); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 256); -show_backtrace(1); -} -var1 = var3; -RET_LABEL2:(void)0; -} -var = var1; -RET_LABEL:; -return var; -} -/* method opts#OptionContext#optmap= for (self: OptionContext, Map[String, Option]) */ -void opts__OptionContext__optmap_61d(val* self, val* p0) { -self->attrs[COLOR_opts__OptionContext___optmap].val = p0; /* _optmap on */ -RET_LABEL:; -} -/* method opts#OptionContext#optmap= for (self: Object, Map[String, Option]) */ -void VIRTUAL_opts__OptionContext__optmap_61d(val* self, val* p0) { -{ /* Inline opts#OptionContext#optmap= (self,p0) on */ -self->attrs[COLOR_opts__OptionContext___optmap].val = p0; /* _optmap on */ -RET_LABEL1:(void)0; -} -RET_LABEL:; -} -/* method opts#OptionContext#init for (self: OptionContext) */ -void opts__OptionContext__init(val* self) { -val* var /* : Array[Option] */; -val* var2 /* : HashMap[String, Option] */; -val* var4 /* : Array[String] */; -val* var6 /* : Array[String] */; -var = NEW_array__Array(&type_array__Arrayopts__Option); -{ -array__Array__init(var); /* Direct call array#Array#init on */ -} -{ -{ /* Inline opts#OptionContext#options= (self,var) on */ -self->attrs[COLOR_opts__OptionContext___options].val = var; /* _options on */ -RET_LABEL1:(void)0; -} -} -var2 = NEW_hash_collection__HashMap(&type_hash_collection__HashMapstring__Stringopts__Option); -{ -hash_collection__HashMap__init(var2); /* Direct call hash_collection#HashMap#init on */ -} -{ -{ /* Inline opts#OptionContext#optmap= (self,var2) on */ -self->attrs[COLOR_opts__OptionContext___optmap].val = var2; /* _optmap on */ -RET_LABEL3:(void)0; -} -} -var4 = NEW_array__Array(&type_array__Arraystring__String); -{ -array__Array__init(var4); /* Direct call array#Array#init on */ -} -{ -{ /* Inline opts#OptionContext#rest= (self,var4) on */ -self->attrs[COLOR_opts__OptionContext___rest].val = var4; /* _rest on */ -RET_LABEL5:(void)0; -} -} -var6 = NEW_array__Array(&type_array__Arraystring__String); -{ -array__Array__init(var6); /* Direct call array#Array#init on */ -} -{ -{ /* Inline opts#OptionContext#errors= (self,var6) on */ -self->attrs[COLOR_opts__OptionContext___errors].val = var6; /* _errors on */ -RET_LABEL7:(void)0; -} -} -RET_LABEL:; -} -/* method opts#OptionContext#init for (self: Object) */ -void VIRTUAL_opts__OptionContext__init(val* self) { -opts__OptionContext__init(self); /* Direct call opts#OptionContext#init on */ -RET_LABEL:; -} /* method opts#OptionContext#add_option for (self: OptionContext, Array[Option]) */ -void opts__OptionContext__add_option(val* self, val* p0) { +void opts___opts__OptionContext___add_option(val* self, val* p0) { val* var_opts /* var opts: Array[Option] */; val* var /* : Array[Option] */; val* var2 /* : Array[Option] */; @@ -1703,222 +1200,229 @@ 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", "lib/opts.nit", 247); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 264); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; } } { -abstract_collection__SimpleCollection__add_all(var, var_opts); /* Direct call abstract_collection#SimpleCollection#add_all on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add_all(var, var_opts); /* Direct call array#Array#add_all on */ } RET_LABEL:; } -/* method opts#OptionContext#add_option for (self: Object, Array[Option]) */ -void VIRTUAL_opts__OptionContext__add_option(val* self, val* p0) { -opts__OptionContext__add_option(self, p0); /* Direct call opts#OptionContext#add_option on */ -RET_LABEL:; -} /* method opts#OptionContext#usage for (self: OptionContext) */ -void opts__OptionContext__usage(val* self) { -long var /* : Int */; +void opts___opts__OptionContext___usage(val* self) { long var_lmax /* var lmax: Int */; -val* var1 /* : Array[Option] */; -val* var3 /* : Array[Option] */; -val* var4 /* : ArrayIterator[nullable Object] */; +val* var /* : Array[Option] */; +val* var2 /* : Array[Option] */; +val* var_ /* var : Array[Option] */; +val* var3 /* : ArrayIterator[nullable Object] */; +val* var_4 /* var : ArrayIterator[Option] */; short int var5 /* : Bool */; val* var6 /* : nullable Object */; val* var_i /* var i: Option */; -long var7 /* : Int */; long var_l /* var l: Int */; -val* var8 /* : Array[String] */; -val* var10 /* : Array[String] */; +val* var7 /* : Array[String] */; +val* var9 /* : Array[String] */; +val* var_10 /* var : Array[String] */; val* var11 /* : ArrayIterator[nullable Object] */; -short int var12 /* : Bool */; -val* var13 /* : nullable Object */; +val* var_12 /* var : ArrayIterator[String] */; +short int var13 /* : Bool */; +val* var14 /* : nullable Object */; val* var_n /* var n: String */; -long var14 /* : Int */; +long var15 /* : Int */; long var16 /* : Int */; -long var17 /* : Int */; -long var18 /* : Int */; -short int var20 /* : Bool */; +short int var18 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var21 /* : Int */; -long var22 /* : Int */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -const char* var_class_name27; -long var28 /* : Int */; +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 */; -short int var31 /* : Bool */; -int cltype32; -int idtype33; -const char* var_class_name34; -short int var35 /* : Bool */; +int cltype30; +int idtype31; +const char* var_class_name32; +short int var33 /* : Bool */; +val* var35 /* : Array[Option] */; val* var37 /* : Array[Option] */; -val* var39 /* : Array[Option] */; -val* var40 /* : ArrayIterator[nullable Object] */; +val* var_38 /* var : Array[Option] */; +val* var39 /* : ArrayIterator[nullable Object] */; +val* var_40 /* var : ArrayIterator[Option] */; short int var41 /* : Bool */; val* var42 /* : nullable Object */; val* var_i43 /* var i: Option */; short int var44 /* : Bool */; short int var46 /* : Bool */; short int var47 /* : Bool */; -val* var48 /* : String */; -var = 1; -var_lmax = var; +val* var48 /* : Sys */; +val* var49 /* : String */; +var_lmax = 1l; { { /* Inline opts#OptionContext#options (self) on */ -var3 = self->attrs[COLOR_opts__OptionContext___options].val; /* _options on */ -if (unlikely(var3 == NULL)) { +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", "lib/opts.nit", 247); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 264); +fatal_exit(1); } -var1 = var3; -RET_LABEL2:(void)0; +var = var2; +RET_LABEL1:(void)0; } } +var_ = var; { -var4 = array__AbstractArrayRead__iterator(var1); +var3 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); } +var_4 = var3; for(;;) { { -var5 = array__ArrayIterator__is_ok(var4); +var5 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_4); } -if(!var5) break; +if (var5){ { -var6 = array__ArrayIterator__item(var4); +var6 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_4); } var_i = var6; -var7 = 3; -var_l = var7; +var_l = 3l; { { /* Inline opts#Option#names (var_i) on */ -var10 = var_i->attrs[COLOR_opts__Option___names].val; /* _names on */ -if (unlikely(var10 == NULL)) { +var9 = var_i->attrs[COLOR_opts__Option___names].val; /* _names on */ +if (unlikely(var9 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names"); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 19); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 19); +fatal_exit(1); } -var8 = var10; -RET_LABEL9:(void)0; +var7 = var9; +RET_LABEL8:(void)0; } } +var_10 = var7; { -var11 = array__AbstractArrayRead__iterator(var8); +var11 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_10); } +var_12 = var11; for(;;) { { -var12 = array__ArrayIterator__is_ok(var11); +var13 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_12); } -if(!var12) break; +if (var13){ { -var13 = array__ArrayIterator__item(var11); +var14 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_12); } -var_n = var13; +var_n = var14; { -{ /* Inline string#FlatText#length (var_n) on */ -var16 = var_n->attrs[COLOR_string__FlatText___length].l; /* _length on */ -var14 = var16; -RET_LABEL15:(void)0; +var15 = ((long(*)(val* self))(var_n->class->vft[COLOR_standard__string__Text__length]))(var_n); /* length on */ } -} -var17 = 2; { -{ /* Inline kernel#Int#+ (var14,var17) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var20 = 1; /* easy isa OTHER*/ -if (unlikely(!var20)) { -var_class_name = type_kernel__Int.name; +{ /* Inline kernel#Int#+ (var15,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; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var21 = var14 + var17; -var18 = var21; -goto RET_LABEL19; -RET_LABEL19:(void)0; +var19 = var15 + 2l; +var16 = var19; +goto RET_LABEL17; +RET_LABEL17:(void)0; } } { -{ /* Inline kernel#Int#+ (var_l,var18) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var24 = 1; /* easy isa OTHER*/ -if (unlikely(!var24)) { -var_class_name27 = type_kernel__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328); -show_backtrace(1); +{ /* 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); +fatal_exit(1); } -var28 = var_l + var18; -var22 = var28; -goto RET_LABEL23; -RET_LABEL23:(void)0; +var26 = var_l + var16; +var20 = var26; +goto RET_LABEL21; +RET_LABEL21:(void)0; } } -var_l = var22; -CONTINUE_label: (void)0; +var_l = var20; { -array__ArrayIterator__next(var11); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_12); /* Direct call array#ArrayIterator#next on */ +} +} else { +goto BREAK_label; } } BREAK_label: (void)0; { +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_12); /* Direct call array#ArrayIterator#finish on */ +} +{ { /* Inline kernel#Int#< (var_lmax,var_l) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var31 = 1; /* easy isa OTHER*/ -if (unlikely(!var31)) { -var_class_name34 = type_kernel__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325); -show_backtrace(1); +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); +fatal_exit(1); } -var35 = var_lmax < var_l; -var29 = var35; -goto RET_LABEL30; -RET_LABEL30:(void)0; +var33 = var_lmax < var_l; +var27 = var33; +goto RET_LABEL28; +RET_LABEL28:(void)0; } } -if (var29){ +if (var27){ var_lmax = var_l; } else { } -CONTINUE_label36: (void)0; { -array__ArrayIterator__next(var4); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_4); /* Direct call array#ArrayIterator#next on */ } +} else { +goto BREAK_label34; +} +} +BREAK_label34: (void)0; +{ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_4); /* Direct call array#ArrayIterator#finish on */ } -BREAK_label36: (void)0; { { /* Inline opts#OptionContext#options (self) on */ -var39 = self->attrs[COLOR_opts__OptionContext___options].val; /* _options on */ -if (unlikely(var39 == NULL)) { +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", "lib/opts.nit", 247); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 264); +fatal_exit(1); } -var37 = var39; -RET_LABEL38:(void)0; +var35 = var37; +RET_LABEL36:(void)0; } } +var_38 = var35; { -var40 = array__AbstractArrayRead__iterator(var37); +var39 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_38); } +var_40 = var39; for(;;) { { -var41 = array__ArrayIterator__is_ok(var40); +var41 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_40); } -if(!var41) break; +if (var41){ { -var42 = array__ArrayIterator__item(var40); +var42 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_40); } var_i43 = var42; { @@ -1930,801 +1434,798 @@ RET_LABEL45:(void)0; } var47 = !var44; if (var47){ +var48 = glob_sys; { -var48 = opts__Option__pretty(var_i43, var_lmax); +var49 = opts___opts__Option___pretty(var_i43, var_lmax); } { -file__Object__print(self, var48); /* Direct call file#Object#print on */ +standard__file___Sys___print(var48, var49); /* Direct call file#Sys#print on */ } } else { } -CONTINUE_label49: (void)0; { -array__ArrayIterator__next(var40); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_40); /* Direct call array#ArrayIterator#next on */ } +} else { +goto BREAK_label50; } -BREAK_label49: (void)0; -RET_LABEL:; } -/* method opts#OptionContext#usage for (self: Object) */ -void VIRTUAL_opts__OptionContext__usage(val* self) { -opts__OptionContext__usage(self); /* Direct call opts#OptionContext#usage on */ +BREAK_label50: (void)0; +{ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_40); /* Direct call array#ArrayIterator#finish on */ +} RET_LABEL:; } /* method opts#OptionContext#parse for (self: OptionContext, Collection[String]) */ -void opts__OptionContext__parse(val* self, val* p0) { +void opts___opts__OptionContext___parse(val* self, val* p0) { val* var_argv /* var argv: Collection[String] */; val* var /* : Iterator[nullable Object] */; val* var_it /* var it: Iterator[String] */; var_argv = p0; { -var = ((val* (*)(val*))(var_argv->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_argv) /* iterator on */; +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 */ } var_it = var; { -opts__OptionContext__parse_intern(self, var_it); /* Direct call opts#OptionContext#parse_intern on */ +opts___opts__OptionContext___parse_intern(self, var_it); /* Direct call opts#OptionContext#parse_intern on */ } RET_LABEL:; } -/* method opts#OptionContext#parse for (self: Object, Collection[String]) */ -void VIRTUAL_opts__OptionContext__parse(val* self, val* p0) { -opts__OptionContext__parse(self, p0); /* Direct call opts#OptionContext#parse on */ +/* method opts#OptionContext#options_before_rest for (self: OptionContext): Bool */ +short int opts___opts__OptionContext___options_before_rest(val* self) { +short int var /* : Bool */; +short int var1 /* : Bool */; +var1 = self->attrs[COLOR_opts__OptionContext___options_before_rest].s; /* _options_before_rest on */ +var = var1; RET_LABEL:; +return var; } /* method opts#OptionContext#parse_intern for (self: OptionContext, Iterator[String]) */ -void opts__OptionContext__parse_intern(val* self, val* p0) { +void opts___opts__OptionContext___parse_intern(val* self, val* p0) { val* var_it /* var it: Iterator[String] */; -short int var /* : Bool */; short int var_parseargs /* var parseargs: Bool */; -val* var1 /* : Array[String] */; -val* var3 /* : Array[String] */; +val* var /* : Array[String] */; +val* var2 /* : Array[String] */; val* var_rest /* var rest: Array[String] */; -short int var4 /* : Bool */; +short int var3 /* : Bool */; short int var_ /* var : Bool */; -short int var5 /* : Bool */; -val* var6 /* : nullable Object */; +short int var4 /* : Bool */; +val* var5 /* : nullable Object */; val* var_str /* var str: String */; static val* varonce; -val* var7 /* : String */; -char* var8 /* : NativeString */; -long var9 /* : Int */; -val* var10 /* : FlatString */; +val* var6 /* : String */; +char* var7 /* : NativeString */; +val* var8 /* : FlatString */; +short int var9 /* : Bool */; +val* var10 /* : Array[nullable Object] */; short int var11 /* : Bool */; -short int var12 /* : Bool */; -val* var13 /* : Array[nullable Object] */; -short int var14 /* : Bool */; +val* var12 /* : SequenceRead[Char] */; +val* var13 /* : nullable Object */; +long var14 /* : Int */; short int var15 /* : Bool */; -val* var16 /* : SequenceRead[Char] */; -val* var18 /* : SequenceRead[Char] */; -char var19 /* : Char */; -long var20 /* : Int */; -val* var21 /* : nullable Object */; -long var22 /* : Int */; -short int var23 /* : Bool */; -short int var24 /* : Bool */; -short int var26 /* : Bool */; -short int var_27 /* var : Bool */; -long var28 /* : Int */; -long var30 /* : Int */; -long var31 /* : Int */; -short int var32 /* : Bool */; -short int var34 /* : Bool */; +short int var17 /* : Bool */; +short int var_18 /* var : Bool */; +long var19 /* : Int */; +short int var20 /* : Bool */; +short int var22 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var35 /* : Bool */; -short int var36 /* : Bool */; +short int var23 /* : Bool */; short int var_next_called /* var next_called: Bool */; -val* var37 /* : Range[Int] */; -long var38 /* : Int */; -long var39 /* : Int */; -long var41 /* : Int */; -val* var42 /* : Discrete */; -val* var43 /* : Discrete */; -val* var44 /* : Iterator[Discrete] */; -short int var45 /* : Bool */; -val* var46 /* : nullable Object */; long var_i /* var i: Int */; -long var47 /* : Int */; -static val* varonce48; -val* var49 /* : String */; -char* var50 /* : NativeString */; -long var51 /* : Int */; -val* var52 /* : FlatString */; -val* var53 /* : SequenceRead[Char] */; -val* var55 /* : SequenceRead[Char] */; -val* var56 /* : nullable Object */; -val* var57 /* : String */; -char var58 /* : Char */; -val* var59 /* : String */; +long var24 /* : Int */; +long var_25 /* var : Int */; +short int var26 /* : Bool */; +short int var28 /* : Bool */; +int cltype29; +int idtype30; +const char* var_class_name31; +short int var32 /* : Bool */; +static val* varonce33; +val* var34 /* : String */; +char* var35 /* : NativeString */; +val* var36 /* : FlatString */; +val* var37 /* : SequenceRead[Char] */; +val* var38 /* : nullable Object */; +val* var39 /* : String */; +uint32_t var40 /* : Char */; +val* var41 /* : String */; val* var_short_opt /* var short_opt: String */; -val* var60 /* : Map[String, Option] */; -val* var62 /* : Map[String, Option] */; -short int var63 /* : Bool */; -val* var64 /* : Map[String, Option] */; -val* var66 /* : Map[String, Option] */; -val* var67 /* : nullable Object */; +val* var42 /* : HashMap[String, Option] */; +val* var44 /* : HashMap[String, Option] */; +short int var45 /* : Bool */; +val* var46 /* : HashMap[String, Option] */; +val* var48 /* : HashMap[String, Option] */; +val* var49 /* : nullable Object */; val* var_option /* var option: Option */; -short int var68 /* : Bool */; -int cltype69; -int idtype70; -short int var71 /* : Bool */; -short int var72 /* : Bool */; -val* var73 /* : Map[String, Option] */; -val* var75 /* : Map[String, Option] */; -short int var76 /* : Bool */; -val* var77 /* : Map[String, Option] */; -val* var79 /* : Map[String, Option] */; -val* var80 /* : nullable Object */; +short int var50 /* : Bool */; +int cltype51; +int idtype52; +long var53 /* : Int */; +short int var54 /* : Bool */; +val* var55 /* : HashMap[String, Option] */; +val* var57 /* : HashMap[String, Option] */; +short int var58 /* : Bool */; +val* var59 /* : HashMap[String, Option] */; +val* var61 /* : HashMap[String, Option] */; +val* var62 /* : nullable Object */; val* var_opt /* var opt: Option */; -val* var81 /* : nullable Object */; -val* var83 /* : Array[Option] */; -val* var85 /* : Array[Option] */; -val* var86 /* : ArrayIterator[nullable Object] */; -short int var87 /* : Bool */; -val* var88 /* : nullable Object */; -val* var_opt89 /* var opt: Option */; -short int var90 /* : Bool */; -short int var91 /* : Bool */; -short int var93 /* : Bool */; -short int var_94 /* var : Bool */; -short int var95 /* : Bool */; -short int var97 /* : Bool */; -short int var98 /* : Bool */; -val* var99 /* : Array[String] */; -val* var101 /* : Array[String] */; -static val* varonce102; -val* var103 /* : String */; -char* var104 /* : NativeString */; -long var105 /* : Int */; +val* var63 /* : nullable Object */; +short int var64 /* : Bool */; +short int var66 /* : Bool */; +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] */; +short int var75 /* : Bool */; +val* var76 /* : nullable Object */; +val* var_opt77 /* var opt: Option */; +short int var78 /* : Bool */; +short int var79 /* : Bool */; +short int var81 /* : Bool */; +short int var_82 /* var : Bool */; +short int var83 /* : Bool */; +short int var85 /* : 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 */; -val* var107 /* : Array[String] */; -val* var109 /* : Array[String] */; -static val* varonce110; -val* var111 /* : String */; -char* var112 /* : NativeString */; -long var113 /* : Int */; -val* var114 /* : FlatString */; -val* var115 /* : String */; -static val* varonce116; -val* var117 /* : String */; -char* var118 /* : NativeString */; -long var119 /* : Int */; -val* var120 /* : FlatString */; -val* var121 /* : Array[Object] */; -long var122 /* : Int */; -val* var123 /* : NativeArray[Object] */; -val* var124 /* : String */; +val* var107 /* : String */; +val* var108 /* : String */; var_it = p0; -var = 1; -var_parseargs = var; +var_parseargs = 1; { -opts__OptionContext__build(self); /* Direct call opts#OptionContext#build on */ +opts___opts__OptionContext___build(self); /* Direct call opts#OptionContext#build on */ } { { /* Inline opts#OptionContext#rest (self) on */ -var3 = self->attrs[COLOR_opts__OptionContext___rest].val; /* _rest on */ -if (unlikely(var3 == NULL)) { +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", "lib/opts.nit", 250); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 267); +fatal_exit(1); } -var1 = var3; -RET_LABEL2:(void)0; +var = var2; +RET_LABEL1:(void)0; } } -var_rest = var1; +var_rest = var; for(;;) { var_ = var_parseargs; if (var_parseargs){ { -var5 = ((short int (*)(val*))(var_it->class->vft[COLOR_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_standard__abstract_collection__Iterator__is_ok]))(var_it); /* is_ok on */ } -var4 = var5; +var3 = var4; } else { -var4 = var_; +var3 = var_; } -if (!var4) break; +if (var3){ { -var6 = ((val* (*)(val*))(var_it->class->vft[COLOR_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_standard__abstract_collection__Iterator__item]))(var_it); /* item on */ } -var_str = var6; -if (varonce) { -var7 = varonce; +var_str = var5; +if (likely(varonce!=NULL)) { +var6 = varonce; } else { -var8 = "--"; -var9 = 2; -var10 = string__NativeString__to_s_with_length(var8, var9); -var7 = var10; -varonce = var7; +var7 = "--"; +var8 = standard___standard__NativeString___to_s_with_length(var7, 2l); +var6 = var8; +varonce = var6; } { -var12 = string__FlatString___61d_61d(var_str, var7); -var11 = var12; +var9 = ((short int(*)(val* self, val* p0))(var_str->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_str, var6); /* == on */ } -if (var11){ +if (var9){ { -((void (*)(val*))(var_it->class->vft[COLOR_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_standard__abstract_collection__Iterator__next]))(var_it); /* next on */ } { -var13 = array__Iterator__to_a(var_it); +var10 = standard__array___Iterator___to_a(var_it); } { -abstract_collection__SimpleCollection__add_all(var_rest, var13); /* Direct call abstract_collection#SimpleCollection#add_all on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add_all(var_rest, var10); /* Direct call array#Array#add_all on */ } -var14 = 0; -var_parseargs = var14; +var_parseargs = 0; } else { { -{ /* Inline string#FlatString#chars (var_str) on */ -var18 = var_str->attrs[COLOR_string__FlatString___chars].val; /* _chars on */ -if (unlikely(var18 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars"); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 746); -show_backtrace(1); +var12 = ((val*(*)(val* self))(var_str->class->vft[COLOR_standard__string__Text__chars]))(var_str); /* chars on */ } -var16 = var18; -RET_LABEL17:(void)0; -} -} -var19 = '-'; { -var21 = BOX_kernel__Char(var19); /* autobox from Char to nullable Object */ -var20 = ((long (*)(val*, val*))(var16->class->vft[COLOR_abstract_collection__SequenceRead__last_index_of]))(var16, var21) /* last_index_of 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 */ } -var22 = 0; { -{ /* Inline kernel#Int#== (var20,var22) on */ -var26 = var20 == var22; -var24 = var26; -goto RET_LABEL25; -RET_LABEL25:(void)0; +{ /* Inline kernel#Int#== (var14,0l) on */ +var17 = var14 == 0l; +var15 = var17; +goto RET_LABEL16; +RET_LABEL16:(void)0; } -var23 = var24; } -var_27 = var23; -if (var23){ +var_18 = var15; +if (var15){ { -{ /* Inline string#FlatText#length (var_str) on */ -var30 = var_str->attrs[COLOR_string__FlatText___length].l; /* _length on */ -var28 = var30; -RET_LABEL29:(void)0; -} +var19 = ((long(*)(val* self))(var_str->class->vft[COLOR_standard__string__Text__length]))(var_str); /* length on */ } -var31 = 2; { -{ /* Inline kernel#Int#> (var28,var31) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var34 = 1; /* easy isa OTHER*/ -if (unlikely(!var34)) { -var_class_name = type_kernel__Int.name; +{ /* Inline kernel#Int#> (var19,2l) on */ +/* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */ +/* <2l:Int> isa OTHER */ +var22 = 1; /* easy <2l:Int> isa OTHER*/ +if (unlikely(!var22)) { +var_class_name = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536); +fatal_exit(1); } -var35 = var28 > var31; -var32 = var35; -goto RET_LABEL33; -RET_LABEL33:(void)0; +var23 = var19 > 2l; +var20 = var23; +goto RET_LABEL21; +RET_LABEL21:(void)0; } } -var15 = var32; +var11 = var20; } else { -var15 = var_27; -} -if (var15){ -var36 = 0; -var_next_called = var36; -var37 = NEW_range__Range(&type_range__Rangekernel__Int); -var38 = 1; -{ -{ /* Inline string#FlatText#length (var_str) on */ -var41 = var_str->attrs[COLOR_string__FlatText___length].l; /* _length on */ -var39 = var41; -RET_LABEL40:(void)0; -} -} -{ -var42 = BOX_kernel__Int(var38); /* autobox from Int to Discrete */ -var43 = BOX_kernel__Int(var39); /* autobox from Int to Discrete */ -range__Range__without_last(var37, var42, var43); /* Direct call range#Range#without_last on */ +var11 = var_18; } +if (var11){ +var_next_called = 0; +var_i = 1l; { -var44 = range__Range__iterator(var37); +var24 = ((long(*)(val* self))(var_str->class->vft[COLOR_standard__string__Text__length]))(var_str); /* length on */ } +var_25 = var24; for(;;) { { -var45 = ((short int (*)(val*))(var44->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var44) /* is_ok on */; -} -if(!var45) break; -{ -var46 = ((val* (*)(val*))(var44->class->vft[COLOR_abstract_collection__Iterator__item]))(var44) /* item on */; -} -var47 = ((struct instance_kernel__Int*)var46)->value; /* autounbox from nullable Object to Int */; -var_i = var47; -if (varonce48) { -var49 = varonce48; +{ /* Inline kernel#Int#< (var_i,var_25) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var28 = 1; /* easy isa OTHER*/ +if (unlikely(!var28)) { +var_class_name31 = type_standard__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); +fatal_exit(1); +} +var32 = var_i < var_25; +var26 = var32; +goto RET_LABEL27; +RET_LABEL27:(void)0; +} +} +if (var26){ +if (likely(varonce33!=NULL)) { +var34 = varonce33; } else { -var50 = "-"; -var51 = 1; -var52 = string__NativeString__to_s_with_length(var50, var51); -var49 = var52; -varonce48 = var49; +var35 = "-"; +var36 = standard___standard__NativeString___to_s_with_length(var35, 1l); +var34 = var36; +varonce33 = var34; } { -{ /* Inline string#FlatString#chars (var_str) on */ -var55 = var_str->attrs[COLOR_string__FlatString___chars].val; /* _chars on */ -if (unlikely(var55 == NULL)) { -PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars"); -PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 746); -show_backtrace(1); -} -var53 = var55; -RET_LABEL54:(void)0; -} +var37 = ((val*(*)(val* self))(var_str->class->vft[COLOR_standard__string__Text__chars]))(var_str); /* chars on */ } { -var56 = ((val* (*)(val*, long))(var53->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var53, var_i) /* [] 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 */ } { -var58 = ((struct instance_kernel__Char*)var56)->value; /* autounbox from nullable Object to Char */; -var57 = string__Char__to_s(var58); +var40 = (uint32_t)((long)(var38)>>2); +var39 = standard__string___Char___Object__to_s(var40); } { -var59 = string__FlatString___43d(var49, var57); +var41 = ((val*(*)(val* self, val* p0))(var34->class->vft[COLOR_standard__string__String___43d]))(var34, var39); /* + on */ } -var_short_opt = var59; +var_short_opt = var41; { { /* Inline opts#OptionContext#optmap (self) on */ -var62 = self->attrs[COLOR_opts__OptionContext___optmap].val; /* _optmap on */ -if (unlikely(var62 == NULL)) { +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", "lib/opts.nit", 256); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 273); +fatal_exit(1); } -var60 = var62; -RET_LABEL61:(void)0; +var42 = var44; +RET_LABEL43:(void)0; } } { -var63 = abstract_collection__MapRead__has_key(var60, var_short_opt); +var45 = standard___standard__HashMap___standard__abstract_collection__MapRead__has_key(var42, var_short_opt); } -if (var63){ +if (var45){ { { /* Inline opts#OptionContext#optmap (self) on */ -var66 = self->attrs[COLOR_opts__OptionContext___optmap].val; /* _optmap on */ -if (unlikely(var66 == NULL)) { +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", "lib/opts.nit", 256); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 273); +fatal_exit(1); } -var64 = var66; -RET_LABEL65:(void)0; +var46 = var48; +RET_LABEL47:(void)0; } } { -var67 = ((val* (*)(val*, val*))(var64->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var64, var_short_opt) /* [] on */; +var49 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var46, var_short_opt); } -var_option = var67; +var_option = var49; /* isa OptionParameter */ -cltype69 = type_opts__OptionParameter.color; -idtype70 = type_opts__OptionParameter.id; -if(cltype69 >= var_option->type->table_size) { -var68 = 0; +cltype51 = type_opts__OptionParameter.color; +idtype52 = type_opts__OptionParameter.id; +if(cltype51 >= var_option->type->table_size) { +var50 = 0; } else { -var68 = var_option->type->type_table[cltype69] == idtype70; +var50 = var_option->type->type_table[cltype51] == idtype52; } -if (var68){ +if (var50){ { -((void (*)(val*))(var_it->class->vft[COLOR_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_standard__abstract_collection__Iterator__next]))(var_it); /* next on */ } -var71 = 1; -var_next_called = var71; +var_next_called = 1; } else { } { -((void (*)(val*, val*))(var_option->class->vft[COLOR_opts__Option__read_param]))(var_option, var_it) /* read_param on */; +((void(*)(val* self, val* p0))(var_option->class->vft[COLOR_opts__Option__read_param]))(var_option, var_it); /* read_param on */ } } else { } -CONTINUE_label: (void)0; { -((void (*)(val*))(var44->class->vft[COLOR_abstract_collection__Iterator__next]))(var44) /* next on */; +var53 = standard___standard__Int___Discrete__successor(var_i, 1l); +} +var_i = var53; +} else { +goto BREAK_label; } } BREAK_label: (void)0; -var72 = !var_next_called; -if (var72){ +var54 = !var_next_called; +if (var54){ { -((void (*)(val*))(var_it->class->vft[COLOR_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_standard__abstract_collection__Iterator__next]))(var_it); /* next on */ } } else { } } else { { { /* Inline opts#OptionContext#optmap (self) on */ -var75 = self->attrs[COLOR_opts__OptionContext___optmap].val; /* _optmap on */ -if (unlikely(var75 == NULL)) { +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", "lib/opts.nit", 256); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 273); +fatal_exit(1); } -var73 = var75; -RET_LABEL74:(void)0; +var55 = var57; +RET_LABEL56:(void)0; } } { -var76 = abstract_collection__MapRead__has_key(var73, var_str); +var58 = standard___standard__HashMap___standard__abstract_collection__MapRead__has_key(var55, var_str); } -if (var76){ +if (var58){ { { /* Inline opts#OptionContext#optmap (self) on */ -var79 = self->attrs[COLOR_opts__OptionContext___optmap].val; /* _optmap on */ -if (unlikely(var79 == NULL)) { +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", "lib/opts.nit", 256); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 273); +fatal_exit(1); } -var77 = var79; -RET_LABEL78:(void)0; +var59 = var61; +RET_LABEL60:(void)0; } } { -var80 = ((val* (*)(val*, val*))(var77->class->vft[COLOR_abstract_collection__MapRead___91d_93d]))(var77, var_str) /* [] on */; +var62 = standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var59, var_str); } -var_opt = var80; +var_opt = var62; { -((void (*)(val*))(var_it->class->vft[COLOR_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_standard__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 */; +((void(*)(val* self, val* p0))(var_opt->class->vft[COLOR_opts__Option__read_param]))(var_opt, var_it); /* read_param on */ } } else { { -var81 = ((val* (*)(val*))(var_it->class->vft[COLOR_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_standard__abstract_collection__Iterator__item]))(var_it); /* item on */ } { -array__Array__add(var_rest, var81); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_rest, var63); /* Direct call array#Array#add on */ } { -((void (*)(val*))(var_it->class->vft[COLOR_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_standard__abstract_collection__Iterator__next]))(var_it); /* next on */ } +{ +{ /* Inline opts#OptionContext#options_before_rest (self) on */ +var66 = self->attrs[COLOR_opts__OptionContext___options_before_rest].s; /* _options_before_rest on */ +var64 = var66; +RET_LABEL65:(void)0; } } +if (var64){ +{ +var67 = standard__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 */ +} +var_parseargs = 0; +} else { +} } -CONTINUE_label82: (void)0; } -BREAK_label82: (void)0; +} +} else { +goto BREAK_label68; +} +} +BREAK_label68: (void)0; { { /* Inline opts#OptionContext#options (self) on */ -var85 = self->attrs[COLOR_opts__OptionContext___options].val; /* _options on */ -if (unlikely(var85 == NULL)) { +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", "lib/opts.nit", 247); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 264); +fatal_exit(1); } -var83 = var85; -RET_LABEL84:(void)0; +var69 = var71; +RET_LABEL70:(void)0; } } +var_72 = var69; { -var86 = array__AbstractArrayRead__iterator(var83); +var73 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_72); } +var_74 = var73; for(;;) { { -var87 = array__ArrayIterator__is_ok(var86); +var75 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_74); } -if(!var87) break; +if (var75){ { -var88 = array__ArrayIterator__item(var86); +var76 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_74); } -var_opt89 = var88; +var_opt77 = var76; { -{ /* Inline opts#Option#mandatory (var_opt89) on */ -var93 = var_opt89->attrs[COLOR_opts__Option___mandatory].s; /* _mandatory on */ -var91 = var93; -RET_LABEL92:(void)0; +{ /* Inline opts#Option#mandatory (var_opt77) on */ +var81 = var_opt77->attrs[COLOR_opts__Option___mandatory].s; /* _mandatory on */ +var79 = var81; +RET_LABEL80:(void)0; } } -var_94 = var91; -if (var91){ +var_82 = var79; +if (var79){ { -{ /* Inline opts#Option#read (var_opt89) on */ -var97 = var_opt89->attrs[COLOR_opts__Option___read].s; /* _read on */ -var95 = var97; -RET_LABEL96:(void)0; +{ /* Inline opts#Option#read (var_opt77) on */ +var85 = var_opt77->attrs[COLOR_opts__Option___read].s; /* _read on */ +var83 = var85; +RET_LABEL84:(void)0; } } -var98 = !var95; -var90 = var98; +var86 = !var83; +var78 = var86; } else { -var90 = var_94; +var78 = var_82; } -if (var90){ +if (var78){ { { /* Inline opts#OptionContext#errors (self) on */ -var101 = self->attrs[COLOR_opts__OptionContext___errors].val; /* _errors on */ -if (unlikely(var101 == NULL)) { +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", "lib/opts.nit", 253); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 270); +fatal_exit(1); } -var99 = var101; -RET_LABEL100:(void)0; +var87 = var89; +RET_LABEL88:(void)0; } } -if (varonce102) { -var103 = varonce102; +if (unlikely(varonce90==NULL)) { +var91 = NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String); +if (likely(varonce92!=NULL)) { +var93 = varonce92; +} else { +var94 = "Mandatory option "; +var95 = standard___standard__NativeString___to_s_with_length(var94, 17l); +var93 = var95; +varonce92 = var93; +} +((struct instance_standard__NativeArray*)var91)->values[0]=var93; +if (likely(varonce96!=NULL)) { +var97 = varonce96; +} else { +var98 = " not found."; +var99 = standard___standard__NativeString___to_s_with_length(var98, 11l); +var97 = var99; +varonce96 = var97; +} +((struct instance_standard__NativeArray*)var91)->values[2]=var97; } else { -var104 = "Mandatory option "; -var105 = 17; -var106 = string__NativeString__to_s_with_length(var104, var105); -var103 = var106; -varonce102 = var103; +var91 = varonce90; +varonce90 = NULL; } { -{ /* Inline opts#Option#names (var_opt89) on */ -var109 = var_opt89->attrs[COLOR_opts__Option___names].val; /* _names on */ -if (unlikely(var109 == NULL)) { +{ /* Inline opts#Option#names (var_opt77) on */ +var102 = var_opt77->attrs[COLOR_opts__Option___names].val; /* _names on */ +if (unlikely(var102 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names"); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 19); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 19); +fatal_exit(1); } -var107 = var109; -RET_LABEL108:(void)0; +var100 = var102; +RET_LABEL101:(void)0; } } -if (varonce110) { -var111 = varonce110; +if (likely(varonce103!=NULL)) { +var104 = varonce103; } else { -var112 = ", "; -var113 = 2; -var114 = string__NativeString__to_s_with_length(var112, var113); -var111 = var114; -varonce110 = var111; +var105 = ", "; +var106 = standard___standard__NativeString___to_s_with_length(var105, 2l); +var104 = var106; +varonce103 = var104; } { -var115 = string__Collection__join(var107, var111); -} -if (varonce116) { -var117 = varonce116; -} else { -var118 = " not found."; -var119 = 11; -var120 = string__NativeString__to_s_with_length(var118, var119); -var117 = var120; -varonce116 = var117; -} -var121 = NEW_array__Array(&type_array__Arraykernel__Object); -{ /* var121 = array_instance Array[Object] */ -var122 = 3; -var123 = NEW_array__NativeArray(var122, &type_array__NativeArraykernel__Object); -((struct instance_array__NativeArray*)var123)->values[0] = (val*) var103; -((struct instance_array__NativeArray*)var123)->values[1] = (val*) var115; -((struct instance_array__NativeArray*)var123)->values[2] = (val*) var117; -{ -((void (*)(val*, val*, long))(var121->class->vft[COLOR_array__Array__with_native]))(var121, var123, var122) /* with_native on */; -} +var107 = standard__string___Collection___join(var100, var104); } +((struct instance_standard__NativeArray*)var91)->values[1]=var107; { -var124 = ((val* (*)(val*))(var121->class->vft[COLOR_string__Object__to_s]))(var121) /* to_s on */; +var108 = ((val*(*)(val* self))(var91->class->vft[COLOR_standard__string__NativeArray__native_to_s]))(var91); /* native_to_s on */ } +varonce90 = var91; { -array__Array__add(var99, var124); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var87, var108); /* Direct call array#Array#add on */ } } else { } -CONTINUE_label125: (void)0; { -array__ArrayIterator__next(var86); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_74); /* Direct call array#ArrayIterator#next on */ } +} else { +goto BREAK_label109; } -BREAK_label125: (void)0; -RET_LABEL:; } -/* method opts#OptionContext#parse_intern for (self: Object, Iterator[String]) */ -void VIRTUAL_opts__OptionContext__parse_intern(val* self, val* p0) { -opts__OptionContext__parse_intern(self, p0); /* Direct call opts#OptionContext#parse_intern on */ +BREAK_label109: (void)0; +{ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_74); /* Direct call array#ArrayIterator#finish on */ +} RET_LABEL:; } /* method opts#OptionContext#build for (self: OptionContext) */ -void opts__OptionContext__build(val* self) { +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] */; -short int var4 /* : Bool */; -val* var5 /* : nullable Object */; +val* var_4 /* var : ArrayIterator[Option] */; +short int var5 /* : Bool */; +val* var6 /* : nullable Object */; val* var_o /* var o: Option */; -val* var6 /* : Array[String] */; -val* var8 /* : Array[String] */; -val* var9 /* : ArrayIterator[nullable Object] */; -short int var10 /* : Bool */; -val* var11 /* : nullable Object */; +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] */; +short int var13 /* : Bool */; +val* var14 /* : nullable Object */; val* var_n /* var n: String */; -val* var12 /* : Map[String, Option] */; -val* var14 /* : Map[String, Option] */; +val* var15 /* : HashMap[String, Option] */; +val* var17 /* : 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", "lib/opts.nit", 247); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 264); +fatal_exit(1); } var = var2; RET_LABEL1:(void)0; } } +var_ = var; { -var3 = array__AbstractArrayRead__iterator(var); +var3 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); } +var_4 = var3; for(;;) { { -var4 = array__ArrayIterator__is_ok(var3); +var5 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_4); } -if(!var4) break; +if (var5){ { -var5 = array__ArrayIterator__item(var3); +var6 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_4); } -var_o = var5; +var_o = var6; { { /* Inline opts#Option#names (var_o) on */ -var8 = var_o->attrs[COLOR_opts__Option___names].val; /* _names on */ -if (unlikely(var8 == NULL)) { +var9 = var_o->attrs[COLOR_opts__Option___names].val; /* _names on */ +if (unlikely(var9 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names"); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 19); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 19); +fatal_exit(1); } -var6 = var8; -RET_LABEL7:(void)0; +var7 = var9; +RET_LABEL8:(void)0; } } +var_10 = var7; { -var9 = array__AbstractArrayRead__iterator(var6); +var11 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_10); } +var_12 = var11; for(;;) { { -var10 = array__ArrayIterator__is_ok(var9); +var13 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_12); } -if(!var10) break; +if (var13){ { -var11 = array__ArrayIterator__item(var9); +var14 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_12); } -var_n = var11; +var_n = var14; { { /* Inline opts#OptionContext#optmap (self) on */ -var14 = self->attrs[COLOR_opts__OptionContext___optmap].val; /* _optmap on */ -if (unlikely(var14 == NULL)) { +var17 = self->attrs[COLOR_opts__OptionContext___optmap].val; /* _optmap on */ +if (unlikely(var17 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _optmap"); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 256); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 273); +fatal_exit(1); } -var12 = var14; -RET_LABEL13:(void)0; +var15 = var17; +RET_LABEL16:(void)0; } } { -((void (*)(val*, val*, val*))(var12->class->vft[COLOR_abstract_collection__Map___91d_93d_61d]))(var12, var_n, var_o) /* []= on */; +standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var15, var_n, var_o); /* Direct call hash_collection#HashMap#[]= on */ } -CONTINUE_label: (void)0; { -array__ArrayIterator__next(var9); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_12); /* Direct call array#ArrayIterator#next on */ +} +} else { +goto BREAK_label; } } BREAK_label: (void)0; -CONTINUE_label15: (void)0; { -array__ArrayIterator__next(var3); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_12); /* Direct call array#ArrayIterator#finish on */ } +{ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_4); /* Direct call array#ArrayIterator#next on */ +} +} else { +goto BREAK_label18; } -BREAK_label15: (void)0; -RET_LABEL:; } -/* method opts#OptionContext#build for (self: Object) */ -void VIRTUAL_opts__OptionContext__build(val* self) { -opts__OptionContext__build(self); /* Direct call opts#OptionContext#build on */ +BREAK_label18: (void)0; +{ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_4); /* Direct call array#ArrayIterator#finish on */ +} RET_LABEL:; } /* method opts#OptionContext#get_errors for (self: OptionContext): Array[String] */ -val* opts__OptionContext__get_errors(val* self) { +val* opts___opts__OptionContext___get_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* var_ /* var : Array[Option] */; val* var5 /* : ArrayIterator[nullable Object] */; -short int var6 /* : Bool */; -val* var7 /* : nullable Object */; +val* var_6 /* var : ArrayIterator[Option] */; +short int var7 /* : Bool */; +val* var8 /* : nullable Object */; val* var_o /* var o: Option */; -val* var8 /* : Array[String] */; -val* var10 /* : Array[String] */; -val* var11 /* : ArrayIterator[nullable Object] */; -short int var12 /* : Bool */; -val* var13 /* : nullable Object */; +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* var_e /* var e: String */; -var1 = NEW_array__Array(&type_array__Arraystring__String); +var1 = NEW_standard__Array(&type_standard__Array__standard__String); { -array__Array__init(var1); /* Direct call array#Array#init on */ +standard___standard__Array___standard__kernel__Object__init(var1); /* Direct call array#Array#init on */ } var_errors = var1; { -abstract_collection__SimpleCollection__add_all(var_errors, var_errors); /* Direct call abstract_collection#SimpleCollection#add_all on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add_all(var_errors, var_errors); /* 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)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _options"); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 247); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 264); +fatal_exit(1); } var2 = var4; RET_LABEL3:(void)0; } } +var_ = var2; { -var5 = array__AbstractArrayRead__iterator(var2); +var5 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_); } +var_6 = var5; for(;;) { { -var6 = array__ArrayIterator__is_ok(var5); +var7 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_6); } -if(!var6) break; +if (var7){ { -var7 = array__ArrayIterator__item(var5); +var8 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_6); } -var_o = var7; +var_o = var8; { { /* Inline opts#Option#errors (var_o) on */ -var10 = var_o->attrs[COLOR_opts__Option___errors].val; /* _errors on */ -if (unlikely(var10 == NULL)) { +var11 = var_o->attrs[COLOR_opts__Option___errors].val; /* _errors on */ +if (unlikely(var11 == NULL)) { PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _errors"); -PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 28); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_opts, 28); +fatal_exit(1); } -var8 = var10; -RET_LABEL9:(void)0; +var9 = var11; +RET_LABEL10:(void)0; } } +var_12 = var9; { -var11 = array__AbstractArrayRead__iterator(var8); +var13 = standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_12); } +var_14 = var13; for(;;) { { -var12 = array__ArrayIterator__is_ok(var11); +var15 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_14); } -if(!var12) break; +if (var15){ { -var13 = array__ArrayIterator__item(var11); +var16 = standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_14); } -var_e = var13; +var_e = var16; { -array__Array__add(var_errors, var_e); /* Direct call array#Array#add on */ +standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_errors, var_e); /* Direct call array#Array#add on */ } -CONTINUE_label: (void)0; { -array__ArrayIterator__next(var11); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_14); /* Direct call array#ArrayIterator#next on */ +} +} else { +goto BREAK_label; } } BREAK_label: (void)0; -CONTINUE_label14: (void)0; { -array__ArrayIterator__next(var5); /* Direct call array#ArrayIterator#next on */ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_14); /* Direct call array#ArrayIterator#finish on */ +} +{ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_6); /* Direct call array#ArrayIterator#next on */ +} +} else { +goto BREAK_label17; } } -BREAK_label14: (void)0; +BREAK_label17: (void)0; +{ +standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_6); /* Direct call array#ArrayIterator#finish on */ +} var = var_errors; goto RET_LABEL; RET_LABEL:; return var; } -/* method opts#OptionContext#get_errors for (self: Object): Array[String] */ -val* VIRTUAL_opts__OptionContext__get_errors(val* self) { -val* var /* : Array[String] */; -val* var1 /* : Array[String] */; -var1 = opts__OptionContext__get_errors(self); -var = var1; -RET_LABEL:; -return var; -}