X-Git-Url: http://nitlanguage.org diff --git a/c_src/standard__kernel.sep.1.c b/c_src/standard__kernel.sep.1.c index 92ee991..14ead5e 100644 --- a/c_src/standard__kernel.sep.1.c +++ b/c_src/standard__kernel.sep.1.c @@ -13,7 +13,7 @@ return var; short int standard___standard__Object___is_same_instance(val* self, val* p0) { short int var /* : Bool */; short int var1 /* : Bool */; -var1 = self == p0 || (p0 != NULL && self->class == p0->class && ((self->class->box_kind == 1 && ((struct instance_standard__Int*)self)->value == ((struct instance_standard__Int*)p0)->value) || (self->class->box_kind == 2 && ((struct instance_standard__Bool*)self)->value == ((struct instance_standard__Bool*)p0)->value) || (self->class->box_kind == 3 && ((struct instance_standard__Char*)self)->value == ((struct instance_standard__Char*)p0)->value) || (self->class->box_kind == 4 && ((struct instance_standard__Float*)self)->value == ((struct instance_standard__Float*)p0)->value) || (self->class->box_kind == 5 && ((struct instance_standard__NativeString*)self)->value == ((struct instance_standard__NativeString*)p0)->value) || (self->class->box_kind == 6 && ((struct instance_standard__Pointer*)self)->value == ((struct instance_standard__Pointer*)p0)->value))); +var1 = self == p0 || (p0 != NULL && (!((long)self&3)) && (!((long)p0&3)) && self->class == p0->class && ((self->class->box_kind == 3 && ((struct instance_standard__Byte*)self)->value == ((struct instance_standard__Byte*)p0)->value) || (self->class->box_kind == 5 && ((struct instance_standard__Float*)self)->value == ((struct instance_standard__Float*)p0)->value) || (self->class->box_kind == 6 && ((struct instance_standard__NativeString*)self)->value == ((struct instance_standard__NativeString*)p0)->value) || (self->class->box_kind == 7 && ((struct instance_standard__Pointer*)self)->value == ((struct instance_standard__Pointer*)p0)->value))); var = var1; goto RET_LABEL; RET_LABEL:; @@ -28,7 +28,7 @@ short int var3 /* : Bool */; var_other = p0; { { /* Inline kernel#Object#is_same_instance (self,var_other) on */ -var3 = self == var_other || (var_other != NULL && self->class == var_other->class && ((self->class->box_kind == 1 && ((struct instance_standard__Int*)self)->value == ((struct instance_standard__Int*)var_other)->value) || (self->class->box_kind == 2 && ((struct instance_standard__Bool*)self)->value == ((struct instance_standard__Bool*)var_other)->value) || (self->class->box_kind == 3 && ((struct instance_standard__Char*)self)->value == ((struct instance_standard__Char*)var_other)->value) || (self->class->box_kind == 4 && ((struct instance_standard__Float*)self)->value == ((struct instance_standard__Float*)var_other)->value) || (self->class->box_kind == 5 && ((struct instance_standard__NativeString*)self)->value == ((struct instance_standard__NativeString*)var_other)->value) || (self->class->box_kind == 6 && ((struct instance_standard__Pointer*)self)->value == ((struct instance_standard__Pointer*)var_other)->value))); +var3 = self == var_other || (var_other != NULL && (!((long)self&3)) && (!((long)var_other&3)) && self->class == var_other->class && ((self->class->box_kind == 3 && ((struct instance_standard__Byte*)self)->value == ((struct instance_standard__Byte*)var_other)->value) || (self->class->box_kind == 5 && ((struct instance_standard__Float*)self)->value == ((struct instance_standard__Float*)var_other)->value) || (self->class->box_kind == 6 && ((struct instance_standard__NativeString*)self)->value == ((struct instance_standard__NativeString*)var_other)->value) || (self->class->box_kind == 7 && ((struct instance_standard__Pointer*)self)->value == ((struct instance_standard__Pointer*)var_other)->value))); var1 = var3; goto RET_LABEL2; RET_LABEL2:(void)0; @@ -47,7 +47,7 @@ short int var1 /* : Bool */; short int var2 /* : Bool */; var_other = p0; { -var1 = ((short int (*)(val* self, val* p0))(self->class->vft[COLOR_standard__kernel__Object___61d_61d]))(self, var_other) /* == on */; +var1 = ((short int(*)(val* self, val* p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__kernel__Object___61d_61d]))(self, var_other); /* == on */ } var2 = !var1; var = var2; @@ -60,43 +60,36 @@ long standard___standard__Object___hash(val* self) { long var /* : Int */; long var1 /* : Int */; long var2 /* : Int */; -long var3 /* : Int */; -short int var5 /* : Bool */; +short int var4 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var6 /* : Int */; +long var5 /* : Int */; { -var1 = ((long (*)(val* self))(self->class->vft[COLOR_standard__kernel__Object__object_id]))(self) /* object_id on */; +var1 = ((long(*)(val* self))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__kernel__Object__object_id]))(self); /* object_id on */ } -var2 = 8; { -{ /* Inline kernel#Int#/ (var1,var2) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var5 = 1; /* easy isa OTHER*/ -if (unlikely(!var5)) { +{ /* Inline kernel#Int#/ (var1,8l) on */ +/* Covariant cast for argument 0 (i) <8l:Int> isa OTHER */ +/* <8l:Int> isa OTHER */ +var4 = 1; /* easy <8l:Int> isa OTHER*/ +if (unlikely(!var4)) { 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", FILE_standard__kernel, 418); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 542); +fatal_exit(1); } -var6 = var1 / var2; -var3 = var6; -goto RET_LABEL4; -RET_LABEL4:(void)0; +var5 = var1 / 8l; +var2 = var5; +goto RET_LABEL3; +RET_LABEL3:(void)0; } } -var = var3; +var = var2; goto RET_LABEL; RET_LABEL:; return var; } -/* method kernel#Object#exit for (self: Object, Int) */ -void standard___standard__Object___exit(val* self, long p0) { -exit(p0); -RET_LABEL:; -} /* method kernel#Object#sys for (self: Object): Sys */ val* standard___standard__Object___sys(val* self) { val* var /* : Sys */; @@ -121,16 +114,18 @@ RET_LABEL:; /* method kernel#Sys#errno for (self: Sys): Int */ long standard___standard__Sys___errno(val* self) { long var /* : Int */; -long var1 /* : Int */; -struct nitni_instance* var_for_c_0; -var_for_c_0 = nit_alloc(sizeof(struct nitni_instance)); -var_for_c_0->value = self; -var1 = kernel___Sys_errno___impl(var_for_c_0); +long var1 /* : Int for extern */; +var1 = sys_errno(self); var = var1; goto RET_LABEL; RET_LABEL:; return var; } +/* method kernel#Sys#exit for (self: Sys, Int) */ +void standard___standard__Sys___exit(val* self, long p0) { +exit(p0); +RET_LABEL:; +} /* method kernel#Comparable#<= for (self: Comparable, Comparable): Bool */ short int standard___standard__Comparable____60d_61d(val* self, val* p0) { short int var /* : Bool */; @@ -144,23 +139,23 @@ short int var2 /* : Bool */; short int var3 /* : Bool */; /* Covariant cast for argument 0 (other) isa OTHER */ /* isa OTHER */ -type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; cltype = type_struct->color; idtype = type_struct->id; -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var1 = 0; } else { -var1 = p0->type->type_table[cltype] == idtype; +var1 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } if (unlikely(!var1)) { -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`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 139); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 133); +fatal_exit(1); } var_other = p0; { -var2 = ((short int (*)(val* self, val* p0))(var_other->class->vft[COLOR_standard__kernel__Comparable___60d]))(var_other, self) /* < on */; +var2 = ((short int(*)(val* self, val* p0))((((long)var_other&3)?class_info[((long)var_other&3)]:var_other->class)->vft[COLOR_standard__kernel__Comparable___60d]))(var_other, self); /* < on */ } var3 = !var2; var = var3; @@ -181,23 +176,23 @@ short int var2 /* : Bool */; short int var3 /* : Bool */; /* Covariant cast for argument 0 (other) isa OTHER */ /* isa OTHER */ -type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; cltype = type_struct->color; idtype = type_struct->id; -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var1 = 0; } else { -var1 = p0->type->type_table[cltype] == idtype; +var1 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } if (unlikely(!var1)) { -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`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 143); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 137); +fatal_exit(1); } var_other = p0; { -var2 = ((short int (*)(val* self, val* p0))(self->class->vft[COLOR_standard__kernel__Comparable___60d]))(self, var_other) /* < on */; +var2 = ((short int(*)(val* self, val* p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__kernel__Comparable___60d]))(self, var_other); /* < on */ } var3 = !var2; var = var3; @@ -217,23 +212,23 @@ val* var_other /* var other: Comparable */; short int var2 /* : Bool */; /* Covariant cast for argument 0 (other) isa OTHER */ /* isa OTHER */ -type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; cltype = type_struct->color; idtype = type_struct->id; -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var1 = 0; } else { -var1 = p0->type->type_table[cltype] == idtype; +var1 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } if (unlikely(!var1)) { -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`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 147); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 141); +fatal_exit(1); } var_other = p0; { -var2 = ((short int (*)(val* self, val* p0))(var_other->class->vft[COLOR_standard__kernel__Comparable___60d]))(var_other, self) /* < on */; +var2 = ((short int(*)(val* self, val* p0))((((long)var_other&3)?class_info[((long)var_other&3)]:var_other->class)->vft[COLOR_standard__kernel__Comparable___60d]))(var_other, self); /* < on */ } var = var2; goto RET_LABEL; @@ -251,54 +246,48 @@ const char* var_class_name; val* var_other /* var other: Comparable */; short int var2 /* : Bool */; long var3 /* : Int */; -long var4 /* : Int */; -long var6 /* : Int */; -short int var7 /* : Bool */; -long var8 /* : Int */; -long var9 /* : Int */; +long var5 /* : Int */; +short int var6 /* : Bool */; /* Covariant cast for argument 0 (other) isa OTHER */ /* isa OTHER */ -type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; cltype = type_struct->color; idtype = type_struct->id; -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var1 = 0; } else { -var1 = p0->type->type_table[cltype] == idtype; +var1 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } if (unlikely(!var1)) { -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`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 150); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 144); +fatal_exit(1); } var_other = p0; { -var2 = ((short int (*)(val* self, val* p0))(self->class->vft[COLOR_standard__kernel__Comparable___60d]))(self, var_other) /* < on */; +var2 = ((short int(*)(val* self, val* p0))((((long)self&3)?class_info[((long)self&3)]:self->class)->vft[COLOR_standard__kernel__Comparable___60d]))(self, var_other); /* < on */ } if (var2){ -var3 = 1; { -{ /* Inline kernel#Int#unary - (var3) on */ -var6 = -var3; -var4 = var6; -goto RET_LABEL5; -RET_LABEL5:(void)0; +{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */ +var5 = -1l; +var3 = var5; +goto RET_LABEL4; +RET_LABEL4:(void)0; } } -var = var4; +var = var3; goto RET_LABEL; } else { { -var7 = ((short int (*)(val* self, val* p0))(var_other->class->vft[COLOR_standard__kernel__Comparable___60d]))(var_other, self) /* < on */; +var6 = ((short int(*)(val* self, val* p0))((((long)var_other&3)?class_info[((long)var_other&3)]:var_other->class)->vft[COLOR_standard__kernel__Comparable___60d]))(var_other, self); /* < on */ } -if (var7){ -var8 = 1; -var = var8; +if (var6){ +var = 1l; goto RET_LABEL; } else { -var9 = 0; -var = var9; +var = 0l; goto RET_LABEL; } } @@ -322,7 +311,7 @@ long var1 /* : Int */; short int var3 /* : Bool */; long var4 /* : Int */; { /* Inline kernel#Bool#object_id (self) on */ -var3 = ((struct instance_standard__Bool*)self)->value; /* autounbox from Object to Bool */; +var3 = (short int)((long)(self)>>2); var4 = (long)var3; var1 = var4; goto RET_LABEL2; @@ -337,11 +326,8 @@ short int standard___standard__Bool___Object___61d_61d(short int self, val* p0) short int var /* : Bool */; short int var1 /* : Bool */; short int var2 /* : Bool */; -var1 = (p0 != NULL) && (p0->class == &class_standard__Bool); -if (var1) { -var2 = ((struct instance_standard__Bool*)p0)->value; /* autounbox from nullable Object to Bool */; -var1 = (var2 == self); -} +var2 = (short int)((long)(p0)>>2); +var1 = (p0 != NULL) && (var2 == self); var = var1; goto RET_LABEL; RET_LABEL:; @@ -353,7 +339,7 @@ short int var /* : Bool */; short int var1 /* : Bool */; short int var3 /* : Bool */; { /* Inline kernel#Bool#== (self,p0) on */ -var3 = self == p0 || (p0 != NULL && self->class == p0->class && ((struct instance_standard__Bool*)self)->value == ((struct instance_standard__Bool*)p0)->value); +var3 = self == p0; var1 = var3; goto RET_LABEL2; RET_LABEL2:(void)0; @@ -368,11 +354,8 @@ short int var /* : Bool */; short int var1 /* : Bool */; short int var2 /* : Bool */; short int var3 /* : Bool */; -var1 = (p0 != NULL) && (p0->class == &class_standard__Bool); -if (var1) { -var2 = ((struct instance_standard__Bool*)p0)->value; /* autounbox from nullable Object to Bool */; -var1 = (var2 == self); -} +var2 = (short int)((long)(p0)>>2); +var1 = (p0 != NULL) && (var2 == self); var3 = !var1; var = var3; goto RET_LABEL; @@ -386,7 +369,7 @@ short int var1 /* : Bool */; short int var3 /* : Bool */; short int var4 /* : Bool */; { /* Inline kernel#Bool#!= (self,p0) on */ -var3 = self == p0 || (p0 != NULL && self->class == p0->class && ((struct instance_standard__Bool*)self)->value == ((struct instance_standard__Bool*)p0)->value); +var3 = self == p0; var4 = !var3; var1 = var4; goto RET_LABEL2; @@ -413,7 +396,7 @@ long VIRTUAL_standard___standard__Bool___Object__hash(val* self) { long var /* : Int */; long var1 /* : Int */; short int var2 /* : Bool */; -var2 = ((struct instance_standard__Bool*)self)->value; /* autounbox from Object to Bool */; +var2 = (short int)((long)(self)>>2); var1 = standard___standard__Bool___Object__hash(var2); var = var1; RET_LABEL:; @@ -422,15 +405,11 @@ return var; /* method kernel#Bool#to_i for (self: Bool): Int */ long standard___standard__Bool___to_i(short int self) { long var /* : Int */; -long var1 /* : Int */; -long var2 /* : Int */; if (self){ -var1 = 1; -var = var1; +var = 1l; goto RET_LABEL; } else { -var2 = 0; -var = var2; +var = 0l; goto RET_LABEL; } RET_LABEL:; @@ -484,7 +463,7 @@ short int var /* : Bool */; short int var1 /* : Bool */; short int var3 /* : Bool */; { /* Inline kernel#Float#== (self,p0) on */ -var3 = self == p0 || (p0 != NULL && self->class == p0->class && ((struct instance_standard__Float*)self)->value == ((struct instance_standard__Float*)p0)->value); +var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_standard__Float*)self)->value == ((struct instance_standard__Float*)p0)->value); var1 = var3; goto RET_LABEL2; RET_LABEL2:(void)0; @@ -517,7 +496,7 @@ short int var1 /* : Bool */; short int var3 /* : Bool */; short int var4 /* : Bool */; { /* Inline kernel#Float#!= (self,p0) on */ -var3 = self == p0 || (p0 != NULL && self->class == p0->class && ((struct instance_standard__Float*)self)->value == ((struct instance_standard__Float*)p0)->value); +var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_standard__Float*)self)->value == ((struct instance_standard__Float*)p0)->value); var4 = !var3; var1 = var4; goto RET_LABEL2; @@ -541,8 +520,8 @@ var1 = 1; /* easy isa OTHER*/ if (unlikely(!var1)) { var_class_name = type_standard__Float.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 321); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 340); +fatal_exit(1); } var2 = self <= p0; var = var2; @@ -565,19 +544,19 @@ short int var6 /* : Bool */; { /* Inline kernel#Float#<= (self,p0) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; cltype = type_struct->color; idtype = type_struct->id; -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var3 = 0; } else { -var3 = p0->type->type_table[cltype] == idtype; +var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } if (unlikely(!var3)) { -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`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 321); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 340); +fatal_exit(1); } var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Comparable to Float */; var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Comparable to Float */; @@ -604,8 +583,8 @@ var1 = 1; /* easy isa OTHER*/ if (unlikely(!var1)) { var_class_name = type_standard__Float.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 322); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 341); +fatal_exit(1); } var2 = self < p0; var = var2; @@ -628,19 +607,19 @@ short int var6 /* : Bool */; { /* Inline kernel#Float#< (self,p0) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; cltype = type_struct->color; idtype = type_struct->id; -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var3 = 0; } else { -var3 = p0->type->type_table[cltype] == idtype; +var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } if (unlikely(!var3)) { -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`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 322); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 341); +fatal_exit(1); } var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Comparable to Float */; var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Comparable to Float */; @@ -667,8 +646,8 @@ var1 = 1; /* easy isa OTHER*/ if (unlikely(!var1)) { var_class_name = type_standard__Float.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 323); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 342); +fatal_exit(1); } var2 = self >= p0; var = var2; @@ -691,19 +670,19 @@ short int var6 /* : Bool */; { /* Inline kernel#Float#>= (self,p0) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; cltype = type_struct->color; idtype = type_struct->id; -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var3 = 0; } else { -var3 = p0->type->type_table[cltype] == idtype; +var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } if (unlikely(!var3)) { -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`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 323); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 342); +fatal_exit(1); } var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Comparable to Float */; var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Comparable to Float */; @@ -730,8 +709,8 @@ var1 = 1; /* easy isa OTHER*/ if (unlikely(!var1)) { var_class_name = type_standard__Float.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 324); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 343); +fatal_exit(1); } var2 = self > p0; var = var2; @@ -754,19 +733,19 @@ short int var6 /* : Bool */; { /* Inline kernel#Float#> (self,p0) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; cltype = type_struct->color; idtype = type_struct->id; -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var3 = 0; } else { -var3 = p0->type->type_table[cltype] == idtype; +var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } if (unlikely(!var3)) { -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`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 324); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 343); +fatal_exit(1); } var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Comparable to Float */; var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Comparable to Float */; @@ -793,8 +772,8 @@ var1 = 1; /* easy isa OTHER*/ if (unlikely(!var1)) { var_class_name = type_standard__Float.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 326); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 345); +fatal_exit(1); } var2 = self + p0; var = var2; @@ -818,19 +797,19 @@ val* var7 /* : Numeric */; { /* Inline kernel#Float#+ (self,p0) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; cltype = type_struct->color; idtype = type_struct->id; -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var3 = 0; } else { -var3 = p0->type->type_table[cltype] == idtype; +var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } if (unlikely(!var3)) { -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`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 326); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 345); +fatal_exit(1); } var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Numeric to Float */; var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Numeric to Float */; @@ -887,8 +866,8 @@ var1 = 1; /* easy isa OTHER*/ if (unlikely(!var1)) { var_class_name = type_standard__Float.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 328); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 347); +fatal_exit(1); } var2 = self - p0; var = var2; @@ -912,19 +891,19 @@ val* var7 /* : Numeric */; { /* Inline kernel#Float#- (self,p0) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; cltype = type_struct->color; idtype = type_struct->id; -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var3 = 0; } else { -var3 = p0->type->type_table[cltype] == idtype; +var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } if (unlikely(!var3)) { -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`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 328); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 347); +fatal_exit(1); } var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Numeric to Float */; var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Numeric to Float */; @@ -952,8 +931,8 @@ var1 = 1; /* easy isa OTHER*/ if (unlikely(!var1)) { var_class_name = type_standard__Float.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 329); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 348); +fatal_exit(1); } var2 = self * p0; var = var2; @@ -977,19 +956,19 @@ val* var7 /* : Numeric */; { /* Inline kernel#Float#* (self,p0) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; cltype = type_struct->color; idtype = type_struct->id; -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var3 = 0; } else { -var3 = p0->type->type_table[cltype] == idtype; +var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } if (unlikely(!var3)) { -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`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 329); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 348); +fatal_exit(1); } var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Numeric to Float */; var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Numeric to Float */; @@ -1017,8 +996,8 @@ var1 = 1; /* easy isa OTHER*/ if (unlikely(!var1)) { var_class_name = type_standard__Float.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 330); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 349); +fatal_exit(1); } var2 = self / p0; var = var2; @@ -1042,19 +1021,19 @@ val* var7 /* : Numeric */; { /* Inline kernel#Float#/ (self,p0) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; cltype = type_struct->color; idtype = type_struct->id; -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var3 = 0; } else { -var3 = p0->type->type_table[cltype] == idtype; +var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } if (unlikely(!var3)) { -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`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 330); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 349); +fatal_exit(1); } var4 = ((struct instance_standard__Float*)self)->value; /* autounbox from Numeric to Float */; var5 = ((struct instance_standard__Float*)p0)->value; /* autounbox from Numeric to Float */; @@ -1114,6 +1093,33 @@ var = var1; RET_LABEL:; return var; } +/* method kernel#Float#to_b for (self: Float): Byte */ +unsigned char standard___standard__Float___Numeric__to_b(double self) { +unsigned char var /* : Byte */; +unsigned char var1 /* : Byte */; +var1 = (unsigned char)self; +var = var1; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method kernel#Float#to_b for (self: Numeric): Byte */ +unsigned char VIRTUAL_standard___standard__Float___Numeric__to_b(val* self) { +unsigned char var /* : Byte */; +unsigned char var1 /* : Byte */; +double var3 /* : Float */; +unsigned char var4 /* : Byte */; +{ /* Inline kernel#Float#to_b (self) on */ +var3 = ((struct instance_standard__Float*)self)->value; /* autounbox from Numeric to Float */; +var4 = (unsigned char)var3; +var1 = var4; +goto RET_LABEL2; +RET_LABEL2:(void)0; +} +var = var1; +RET_LABEL:; +return var; +} /* method kernel#Float#<=> for (self: Float, Float): Int */ long standard___standard__Float___Comparable___60d_61d_62d(double self, double p0) { long var /* : Int */; @@ -1129,24 +1135,21 @@ int idtype6; const char* var_class_name7; short int var8 /* : Bool */; long var9 /* : Int */; -long var10 /* : Int */; -long var12 /* : Int */; -short int var13 /* : Bool */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; -const char* var_class_name18; -short int var19 /* : Bool */; -long var20 /* : Int */; -long var21 /* : Int */; +long var11 /* : Int */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +int cltype15; +int idtype16; +const char* var_class_name17; +short int var18 /* : Bool */; /* Covariant cast for argument 0 (other) isa OTHER */ /* isa OTHER */ var1 = 1; /* easy isa OTHER*/ if (unlikely(!var1)) { var_class_name = type_standard__Float.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 338); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 358); +fatal_exit(1); } var_other = p0; { @@ -1157,8 +1160,8 @@ var4 = 1; /* easy isa OTHER*/ if (unlikely(!var4)) { var_class_name7 = type_standard__Float.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 322); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 341); +fatal_exit(1); } var8 = self < var_other; var2 = var8; @@ -1167,42 +1170,39 @@ RET_LABEL3:(void)0; } } if (var2){ -var9 = 1; { -{ /* Inline kernel#Int#unary - (var9) on */ -var12 = -var9; -var10 = var12; -goto RET_LABEL11; -RET_LABEL11:(void)0; +{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */ +var11 = -1l; +var9 = var11; +goto RET_LABEL10; +RET_LABEL10:(void)0; } } -var = var10; +var = var9; goto RET_LABEL; } else { { { /* Inline kernel#Float#< (var_other,self) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var15 = 1; /* easy isa OTHER*/ -if (unlikely(!var15)) { -var_class_name18 = type_standard__Float.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 322); -show_backtrace(1); +var14 = 1; /* easy isa OTHER*/ +if (unlikely(!var14)) { +var_class_name17 = type_standard__Float.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 341); +fatal_exit(1); } -var19 = var_other < self; -var13 = var19; -goto RET_LABEL14; -RET_LABEL14:(void)0; +var18 = var_other < self; +var12 = var18; +goto RET_LABEL13; +RET_LABEL13:(void)0; } } -if (var13){ -var20 = 1; -var = var20; +if (var12){ +var = 1l; goto RET_LABEL; } else { -var21 = 0; -var = var21; +var = 0l; goto RET_LABEL; } } @@ -1222,68 +1222,82 @@ var = var1; RET_LABEL:; return var; } -/* method kernel#Int#successor for (self: Int, Int): Int */ -long standard___standard__Int___Discrete__successor(long self, long p0) { -long var /* : Int */; +/* method kernel#Byte#successor for (self: Byte, Int): Byte */ +unsigned char standard___standard__Byte___Discrete__successor(unsigned char self, long p0) { +unsigned char var /* : Byte */; long var_i /* var i: Int */; -long var1 /* : Int */; -short int var3 /* : Bool */; +unsigned char var1 /* : Byte */; +unsigned char var3 /* : Byte */; +unsigned char var4 /* : Byte */; +short int var6 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var4 /* : Int */; +unsigned char var7 /* : Byte */; var_i = p0; { -{ /* Inline kernel#Int#+ (self,var_i) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var3 = 1; /* easy isa OTHER*/ -if (unlikely(!var3)) { -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", FILE_standard__kernel, 413); -show_backtrace(1); -} -var4 = self + var_i; -var1 = var4; +{ /* Inline kernel#Int#to_b (var_i) on */ +var3 = (unsigned char)var_i; +var1 = var3; goto RET_LABEL2; RET_LABEL2:(void)0; } } -var = var1; +{ +{ /* Inline kernel#Byte#+ (self,var1) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var6 = 1; /* easy isa OTHER*/ +if (unlikely(!var6)) { +var_class_name = type_standard__Byte.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 433); +fatal_exit(1); +} +var7 = self + var1; +var4 = var7; +goto RET_LABEL5; +RET_LABEL5:(void)0; +} +} +var = var4; goto RET_LABEL; RET_LABEL:; return var; } -/* method kernel#Int#successor for (self: Discrete, Int): Discrete */ -val* VIRTUAL_standard___standard__Int___Discrete__successor(val* self, long p0) { +/* method kernel#Byte#successor for (self: Discrete, Int): Discrete */ +val* VIRTUAL_standard___standard__Byte___Discrete__successor(val* self, long p0) { val* var /* : Discrete */; -long var1 /* : Int */; -long var2 /* : Int */; +unsigned char var1 /* : Byte */; +unsigned char var2 /* : Byte */; val* var3 /* : Discrete */; -var2 = ((struct instance_standard__Int*)self)->value; /* autounbox from Discrete to Int */; -var1 = standard___standard__Int___Discrete__successor(var2, p0); -var3 = BOX_standard__Int(var1); /* autobox from Int to Discrete */ +var2 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Discrete to Byte */; +var1 = standard___standard__Byte___Discrete__successor(var2, p0); +var3 = BOX_standard__Byte(var1); /* autobox from Byte to Discrete */ var = var3; RET_LABEL:; return var; } -/* method kernel#Int#object_id for (self: Int): Int */ -long standard___standard__Int___Object__object_id(long self) { +/* method kernel#Byte#object_id for (self: Byte): Int */ +long standard___standard__Byte___Object__object_id(unsigned char self) { long var /* : Int */; -var = self; +long var1 /* : Int */; +var1 = (long)self; +var = var1; goto RET_LABEL; RET_LABEL:; return var; } -/* method kernel#Int#object_id for (self: Object): Int */ -long VIRTUAL_standard___standard__Int___Object__object_id(val* self) { +/* method kernel#Byte#object_id for (self: Object): Int */ +long VIRTUAL_standard___standard__Byte___Object__object_id(val* self) { long var /* : Int */; long var1 /* : Int */; -long var3 /* : Int */; -{ /* Inline kernel#Int#object_id (self) on */ -var3 = ((struct instance_standard__Int*)self)->value; /* autounbox from Object to Int */; -var1 = var3; +unsigned char var3 /* : Byte */; +long var4 /* : Int */; +{ /* Inline kernel#Byte#object_id (self) on */ +var3 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Object to Byte */; +var4 = (long)var3; +var1 = var4; goto RET_LABEL2; RET_LABEL2:(void)0; } @@ -1291,33 +1305,43 @@ var = var1; RET_LABEL:; return var; } -/* method kernel#Int#hash for (self: Int): Int */ -long standard___standard__Int___Object__hash(long self) { +/* method kernel#Byte#hash for (self: Byte): Int */ +long standard___standard__Byte___Object__hash(unsigned char self) { long var /* : Int */; -var = self; +long var1 /* : Int */; +long var3 /* : Int */; +{ +{ /* Inline kernel#Byte#to_i (self) on */ +var3 = (long)self; +var1 = var3; +goto RET_LABEL2; +RET_LABEL2:(void)0; +} +} +var = var1; goto RET_LABEL; RET_LABEL:; return var; } -/* method kernel#Int#hash for (self: Object): Int */ -long VIRTUAL_standard___standard__Int___Object__hash(val* self) { +/* method kernel#Byte#hash for (self: Object): Int */ +long VIRTUAL_standard___standard__Byte___Object__hash(val* self) { long var /* : Int */; long var1 /* : Int */; -long var2 /* : Int */; -var2 = ((struct instance_standard__Int*)self)->value; /* autounbox from Object to Int */; -var1 = standard___standard__Int___Object__hash(var2); +unsigned char var2 /* : Byte */; +var2 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Object to Byte */; +var1 = standard___standard__Byte___Object__hash(var2); var = var1; RET_LABEL:; return var; } -/* method kernel#Int#== for (self: Int, nullable Object): Bool */ -short int standard___standard__Int___Object___61d_61d(long self, val* p0) { +/* method kernel#Byte#== for (self: Byte, nullable Object): Bool */ +short int standard___standard__Byte___Object___61d_61d(unsigned char self, val* p0) { short int var /* : Bool */; short int var1 /* : Bool */; -long var2 /* : Int */; -var1 = (p0 != NULL) && (p0->class == &class_standard__Int); +unsigned char var2 /* : Byte */; +var1 = (p0 != NULL) && (p0->class == &class_standard__Byte); if (var1) { -var2 = ((struct instance_standard__Int*)p0)->value; /* autounbox from nullable Object to Int */; +var2 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from nullable Object to Byte */; var1 = (var2 == self); } var = var1; @@ -1325,13 +1349,13 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method kernel#Int#== for (self: Object, nullable Object): Bool */ -short int VIRTUAL_standard___standard__Int___Object___61d_61d(val* self, val* p0) { +/* method kernel#Byte#== for (self: Object, nullable Object): Bool */ +short int VIRTUAL_standard___standard__Byte___Object___61d_61d(val* self, val* p0) { short int var /* : Bool */; short int var1 /* : Bool */; short int var3 /* : Bool */; -{ /* Inline kernel#Int#== (self,p0) on */ -var3 = self == p0 || (p0 != NULL && self->class == p0->class && ((struct instance_standard__Int*)self)->value == ((struct instance_standard__Int*)p0)->value); +{ /* Inline kernel#Byte#== (self,p0) on */ +var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_standard__Byte*)self)->value == ((struct instance_standard__Byte*)p0)->value); var1 = var3; goto RET_LABEL2; RET_LABEL2:(void)0; @@ -1340,15 +1364,15 @@ var = var1; RET_LABEL:; return var; } -/* method kernel#Int#!= for (self: Int, nullable Object): Bool */ -short int standard___standard__Int___Object___33d_61d(long self, val* p0) { +/* method kernel#Byte#!= for (self: Byte, nullable Object): Bool */ +short int standard___standard__Byte___Object___33d_61d(unsigned char self, val* p0) { short int var /* : Bool */; short int var1 /* : Bool */; -long var2 /* : Int */; +unsigned char var2 /* : Byte */; short int var3 /* : Bool */; -var1 = (p0 != NULL) && (p0->class == &class_standard__Int); +var1 = (p0 != NULL) && (p0->class == &class_standard__Byte); if (var1) { -var2 = ((struct instance_standard__Int*)p0)->value; /* autounbox from nullable Object to Int */; +var2 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from nullable Object to Byte */; var1 = (var2 == self); } var3 = !var1; @@ -1357,14 +1381,14 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method kernel#Int#!= for (self: Object, nullable Object): Bool */ -short int VIRTUAL_standard___standard__Int___Object___33d_61d(val* self, val* p0) { +/* method kernel#Byte#!= for (self: Object, nullable Object): Bool */ +short int VIRTUAL_standard___standard__Byte___Object___33d_61d(val* self, val* p0) { short int var /* : Bool */; short int var1 /* : Bool */; short int var3 /* : Bool */; short int var4 /* : Bool */; -{ /* Inline kernel#Int#!= (self,p0) on */ -var3 = self == p0 || (p0 != NULL && self->class == p0->class && ((struct instance_standard__Int*)self)->value == ((struct instance_standard__Int*)p0)->value); +{ /* Inline kernel#Byte#!= (self,p0) on */ +var3 = self == p0 || (p0 != NULL && (!((long)p0&3)) && self->class == p0->class && ((struct instance_standard__Byte*)self)->value == ((struct instance_standard__Byte*)p0)->value); var4 = !var3; var1 = var4; goto RET_LABEL2; @@ -1374,22 +1398,22 @@ var = var1; RET_LABEL:; return var; } -/* method kernel#Int#<= for (self: Int, Int): Bool */ -short int standard___standard__Int___Comparable___60d_61d(long self, long p0) { +/* method kernel#Byte#<= for (self: Byte, Byte): Bool */ +short int standard___standard__Byte___Comparable___60d_61d(unsigned char self, unsigned char p0) { short int var /* : Bool */; short int var1 /* : Bool */; int cltype; int idtype; const char* var_class_name; short int var2 /* : Bool */; -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var1 = 1; /* easy isa OTHER*/ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var1 = 1; /* easy isa OTHER*/ if (unlikely(!var1)) { -var_class_name = type_standard__Int.name; +var_class_name = type_standard__Byte.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 429); +fatal_exit(1); } var2 = self <= p0; var = var2; @@ -1397,8 +1421,8 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method kernel#Int#<= for (self: Comparable, Comparable): Bool */ -short int VIRTUAL_standard___standard__Int___Comparable___60d_61d(val* self, val* p0) { +/* method kernel#Byte#<= for (self: Comparable, Comparable): Bool */ +short int VIRTUAL_standard___standard__Byte___Comparable___60d_61d(val* self, val* p0) { short int var /* : Bool */; short int var1 /* : Bool */; short int var3 /* : Bool */; @@ -1406,28 +1430,28 @@ int cltype; int idtype; const struct type* type_struct; const char* var_class_name; -long var4 /* : Int */; -long var5 /* : Int */; +unsigned char var4 /* : Byte */; +unsigned char var5 /* : Byte */; short int var6 /* : Bool */; -{ /* Inline kernel#Int#<= (self,p0) on */ +{ /* Inline kernel#Byte#<= (self,p0) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; cltype = type_struct->color; idtype = type_struct->id; -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var3 = 0; } else { -var3 = p0->type->type_table[cltype] == idtype; +var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } if (unlikely(!var3)) { -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`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 429); +fatal_exit(1); } -var4 = ((struct instance_standard__Int*)self)->value; /* autounbox from Comparable to Int */; -var5 = ((struct instance_standard__Int*)p0)->value; /* autounbox from Comparable to Int */; +var4 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Comparable to Byte */; +var5 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Comparable to Byte */; var6 = var4 <= var5; var1 = var6; goto RET_LABEL2; @@ -1437,22 +1461,22 @@ var = var1; RET_LABEL:; return var; } -/* method kernel#Int#< for (self: Int, Int): Bool */ -short int standard___standard__Int___Comparable___60d(long self, long p0) { +/* method kernel#Byte#< for (self: Byte, Byte): Bool */ +short int standard___standard__Byte___Comparable___60d(unsigned char self, unsigned char p0) { short int var /* : Bool */; short int var1 /* : Bool */; int cltype; int idtype; const char* var_class_name; short int var2 /* : Bool */; -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var1 = 1; /* easy isa OTHER*/ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var1 = 1; /* easy isa OTHER*/ if (unlikely(!var1)) { -var_class_name = type_standard__Int.name; +var_class_name = type_standard__Byte.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 430); +fatal_exit(1); } var2 = self < p0; var = var2; @@ -1460,8 +1484,8 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method kernel#Int#< for (self: Comparable, Comparable): Bool */ -short int VIRTUAL_standard___standard__Int___Comparable___60d(val* self, val* p0) { +/* method kernel#Byte#< for (self: Comparable, Comparable): Bool */ +short int VIRTUAL_standard___standard__Byte___Comparable___60d(val* self, val* p0) { short int var /* : Bool */; short int var1 /* : Bool */; short int var3 /* : Bool */; @@ -1469,28 +1493,28 @@ int cltype; int idtype; const struct type* type_struct; const char* var_class_name; -long var4 /* : Int */; -long var5 /* : Int */; +unsigned char var4 /* : Byte */; +unsigned char var5 /* : Byte */; short int var6 /* : Bool */; -{ /* Inline kernel#Int#< (self,p0) on */ +{ /* Inline kernel#Byte#< (self,p0) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; cltype = type_struct->color; idtype = type_struct->id; -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var3 = 0; } else { -var3 = p0->type->type_table[cltype] == idtype; +var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } if (unlikely(!var3)) { -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`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 430); +fatal_exit(1); } -var4 = ((struct instance_standard__Int*)self)->value; /* autounbox from Comparable to Int */; -var5 = ((struct instance_standard__Int*)p0)->value; /* autounbox from Comparable to Int */; +var4 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Comparable to Byte */; +var5 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Comparable to Byte */; var6 = var4 < var5; var1 = var6; goto RET_LABEL2; @@ -1500,22 +1524,22 @@ var = var1; RET_LABEL:; return var; } -/* method kernel#Int#>= for (self: Int, Int): Bool */ -short int standard___standard__Int___Comparable___62d_61d(long self, long p0) { +/* method kernel#Byte#>= for (self: Byte, Byte): Bool */ +short int standard___standard__Byte___Comparable___62d_61d(unsigned char self, unsigned char p0) { short int var /* : Bool */; short int var1 /* : Bool */; int cltype; int idtype; const char* var_class_name; short int var2 /* : Bool */; -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var1 = 1; /* easy isa OTHER*/ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var1 = 1; /* easy isa OTHER*/ if (unlikely(!var1)) { -var_class_name = type_standard__Int.name; +var_class_name = type_standard__Byte.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 431); +fatal_exit(1); } var2 = self >= p0; var = var2; @@ -1523,8 +1547,8 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method kernel#Int#>= for (self: Comparable, Comparable): Bool */ -short int VIRTUAL_standard___standard__Int___Comparable___62d_61d(val* self, val* p0) { +/* method kernel#Byte#>= for (self: Comparable, Comparable): Bool */ +short int VIRTUAL_standard___standard__Byte___Comparable___62d_61d(val* self, val* p0) { short int var /* : Bool */; short int var1 /* : Bool */; short int var3 /* : Bool */; @@ -1532,28 +1556,28 @@ int cltype; int idtype; const struct type* type_struct; const char* var_class_name; -long var4 /* : Int */; -long var5 /* : Int */; +unsigned char var4 /* : Byte */; +unsigned char var5 /* : Byte */; short int var6 /* : Bool */; -{ /* Inline kernel#Int#>= (self,p0) on */ +{ /* Inline kernel#Byte#>= (self,p0) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; cltype = type_struct->color; idtype = type_struct->id; -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var3 = 0; } else { -var3 = p0->type->type_table[cltype] == idtype; +var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } if (unlikely(!var3)) { -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`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 431); +fatal_exit(1); } -var4 = ((struct instance_standard__Int*)self)->value; /* autounbox from Comparable to Int */; -var5 = ((struct instance_standard__Int*)p0)->value; /* autounbox from Comparable to Int */; +var4 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Comparable to Byte */; +var5 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Comparable to Byte */; var6 = var4 >= var5; var1 = var6; goto RET_LABEL2; @@ -1563,22 +1587,22 @@ var = var1; RET_LABEL:; return var; } -/* method kernel#Int#> for (self: Int, Int): Bool */ -short int standard___standard__Int___Comparable___62d(long self, long p0) { +/* method kernel#Byte#> for (self: Byte, Byte): Bool */ +short int standard___standard__Byte___Comparable___62d(unsigned char self, unsigned char p0) { short int var /* : Bool */; short int var1 /* : Bool */; int cltype; int idtype; const char* var_class_name; short int var2 /* : Bool */; -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var1 = 1; /* easy isa OTHER*/ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var1 = 1; /* easy isa OTHER*/ if (unlikely(!var1)) { -var_class_name = type_standard__Int.name; +var_class_name = type_standard__Byte.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 432); +fatal_exit(1); } var2 = self > p0; var = var2; @@ -1586,8 +1610,8 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method kernel#Int#> for (self: Comparable, Comparable): Bool */ -short int VIRTUAL_standard___standard__Int___Comparable___62d(val* self, val* p0) { +/* method kernel#Byte#> for (self: Comparable, Comparable): Bool */ +short int VIRTUAL_standard___standard__Byte___Comparable___62d(val* self, val* p0) { short int var /* : Bool */; short int var1 /* : Bool */; short int var3 /* : Bool */; @@ -1595,28 +1619,28 @@ int cltype; int idtype; const struct type* type_struct; const char* var_class_name; -long var4 /* : Int */; -long var5 /* : Int */; +unsigned char var4 /* : Byte */; +unsigned char var5 /* : Byte */; short int var6 /* : Bool */; -{ /* Inline kernel#Int#> (self,p0) on */ +{ /* Inline kernel#Byte#> (self,p0) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; cltype = type_struct->color; idtype = type_struct->id; -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var3 = 0; } else { -var3 = p0->type->type_table[cltype] == idtype; +var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } if (unlikely(!var3)) { -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`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 432); +fatal_exit(1); } -var4 = ((struct instance_standard__Int*)self)->value; /* autounbox from Comparable to Int */; -var5 = ((struct instance_standard__Int*)p0)->value; /* autounbox from Comparable to Int */; +var4 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Comparable to Byte */; +var5 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Comparable to Byte */; var6 = var4 > var5; var1 = var6; goto RET_LABEL2; @@ -1626,22 +1650,22 @@ var = var1; RET_LABEL:; return var; } -/* method kernel#Int#+ for (self: Int, Int): Int */ -long standard___standard__Int___Numeric___43d(long self, long p0) { -long var /* : Int */; +/* method kernel#Byte#+ for (self: Byte, Byte): Byte */ +unsigned char standard___standard__Byte___Numeric___43d(unsigned char self, unsigned char p0) { +unsigned char var /* : Byte */; short int var1 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var2 /* : Int */; -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var1 = 1; /* easy isa OTHER*/ +unsigned char var2 /* : Byte */; +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var1 = 1; /* easy isa OTHER*/ if (unlikely(!var1)) { -var_class_name = type_standard__Int.name; +var_class_name = type_standard__Byte.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 433); +fatal_exit(1); } var2 = self + p0; var = var2; @@ -1649,93 +1673,93 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method kernel#Int#+ for (self: Numeric, Numeric): Numeric */ -val* VIRTUAL_standard___standard__Int___Numeric___43d(val* self, val* p0) { +/* method kernel#Byte#+ for (self: Numeric, Numeric): Numeric */ +val* VIRTUAL_standard___standard__Byte___Numeric___43d(val* self, val* p0) { val* var /* : Numeric */; -long var1 /* : Int */; +unsigned char var1 /* : Byte */; short int var3 /* : Bool */; int cltype; int idtype; const struct type* type_struct; const char* var_class_name; -long var4 /* : Int */; -long var5 /* : Int */; -long var6 /* : Int */; +unsigned char var4 /* : Byte */; +unsigned char var5 /* : Byte */; +unsigned char var6 /* : Byte */; val* var7 /* : Numeric */; -{ /* Inline kernel#Int#+ (self,p0) on */ +{ /* Inline kernel#Byte#+ (self,p0) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; cltype = type_struct->color; idtype = type_struct->id; -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var3 = 0; } else { -var3 = p0->type->type_table[cltype] == idtype; +var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } if (unlikely(!var3)) { -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`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 433); +fatal_exit(1); } -var4 = ((struct instance_standard__Int*)self)->value; /* autounbox from Numeric to Int */; -var5 = ((struct instance_standard__Int*)p0)->value; /* autounbox from Numeric to Int */; +var4 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Numeric to Byte */; +var5 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Numeric to Byte */; var6 = var4 + var5; var1 = var6; goto RET_LABEL2; RET_LABEL2:(void)0; } -var7 = BOX_standard__Int(var1); /* autobox from Int to Numeric */ +var7 = BOX_standard__Byte(var1); /* autobox from Byte to Numeric */ var = var7; RET_LABEL:; return var; } -/* method kernel#Int#unary - for (self: Int): Int */ -long standard___standard__Int___Numeric__unary_32d_45d(long self) { -long var /* : Int */; -long var1 /* : Int */; +/* method kernel#Byte#unary - for (self: Byte): Byte */ +unsigned char standard___standard__Byte___Numeric__unary_32d_45d(unsigned char self) { +unsigned char var /* : Byte */; +unsigned char var1 /* : Byte */; var1 = -self; var = var1; goto RET_LABEL; RET_LABEL:; return var; } -/* method kernel#Int#unary - for (self: Numeric): Numeric */ -val* VIRTUAL_standard___standard__Int___Numeric__unary_32d_45d(val* self) { +/* method kernel#Byte#unary - for (self: Numeric): Numeric */ +val* VIRTUAL_standard___standard__Byte___Numeric__unary_32d_45d(val* self) { val* var /* : Numeric */; -long var1 /* : Int */; -long var3 /* : Int */; -long var4 /* : Int */; +unsigned char var1 /* : Byte */; +unsigned char var3 /* : Byte */; +unsigned char var4 /* : Byte */; val* var5 /* : Numeric */; -{ /* Inline kernel#Int#unary - (self) on */ -var3 = ((struct instance_standard__Int*)self)->value; /* autounbox from Numeric to Int */; +{ /* Inline kernel#Byte#unary - (self) on */ +var3 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Numeric to Byte */; var4 = -var3; var1 = var4; goto RET_LABEL2; RET_LABEL2:(void)0; } -var5 = BOX_standard__Int(var1); /* autobox from Int to Numeric */ +var5 = BOX_standard__Byte(var1); /* autobox from Byte to Numeric */ var = var5; RET_LABEL:; return var; } -/* method kernel#Int#- for (self: Int, Int): Int */ -long standard___standard__Int___Numeric___45d(long self, long p0) { -long var /* : Int */; +/* method kernel#Byte#- for (self: Byte, Byte): Byte */ +unsigned char standard___standard__Byte___Numeric___45d(unsigned char self, unsigned char p0) { +unsigned char var /* : Byte */; short int var1 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var2 /* : Int */; -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var1 = 1; /* easy isa OTHER*/ +unsigned char var2 /* : Byte */; +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var1 = 1; /* easy isa OTHER*/ if (unlikely(!var1)) { -var_class_name = type_standard__Int.name; +var_class_name = type_standard__Byte.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 440); +fatal_exit(1); } var2 = self - p0; var = var2; @@ -1743,64 +1767,64 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method kernel#Int#- for (self: Numeric, Numeric): Numeric */ -val* VIRTUAL_standard___standard__Int___Numeric___45d(val* self, val* p0) { +/* method kernel#Byte#- for (self: Numeric, Numeric): Numeric */ +val* VIRTUAL_standard___standard__Byte___Numeric___45d(val* self, val* p0) { val* var /* : Numeric */; -long var1 /* : Int */; +unsigned char var1 /* : Byte */; short int var3 /* : Bool */; int cltype; int idtype; const struct type* type_struct; const char* var_class_name; -long var4 /* : Int */; -long var5 /* : Int */; -long var6 /* : Int */; +unsigned char var4 /* : Byte */; +unsigned char var5 /* : Byte */; +unsigned char var6 /* : Byte */; val* var7 /* : Numeric */; -{ /* Inline kernel#Int#- (self,p0) on */ +{ /* Inline kernel#Byte#- (self,p0) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; cltype = type_struct->color; idtype = type_struct->id; -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var3 = 0; } else { -var3 = p0->type->type_table[cltype] == idtype; +var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } if (unlikely(!var3)) { -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`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 440); +fatal_exit(1); } -var4 = ((struct instance_standard__Int*)self)->value; /* autounbox from Numeric to Int */; -var5 = ((struct instance_standard__Int*)p0)->value; /* autounbox from Numeric to Int */; +var4 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Numeric to Byte */; +var5 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Numeric to Byte */; var6 = var4 - var5; var1 = var6; goto RET_LABEL2; RET_LABEL2:(void)0; } -var7 = BOX_standard__Int(var1); /* autobox from Int to Numeric */ +var7 = BOX_standard__Byte(var1); /* autobox from Byte to Numeric */ var = var7; RET_LABEL:; return var; } -/* method kernel#Int#* for (self: Int, Int): Int */ -long standard___standard__Int___Numeric___42d(long self, long p0) { -long var /* : Int */; +/* method kernel#Byte#* for (self: Byte, Byte): Byte */ +unsigned char standard___standard__Byte___Numeric___42d(unsigned char self, unsigned char p0) { +unsigned char var /* : Byte */; short int var1 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var2 /* : Int */; -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var1 = 1; /* easy isa OTHER*/ +unsigned char var2 /* : Byte */; +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var1 = 1; /* easy isa OTHER*/ if (unlikely(!var1)) { -var_class_name = type_standard__Int.name; +var_class_name = type_standard__Byte.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 417); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 441); +fatal_exit(1); } var2 = self * p0; var = var2; @@ -1808,64 +1832,64 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method kernel#Int#* for (self: Numeric, Numeric): Numeric */ -val* VIRTUAL_standard___standard__Int___Numeric___42d(val* self, val* p0) { +/* method kernel#Byte#* for (self: Numeric, Numeric): Numeric */ +val* VIRTUAL_standard___standard__Byte___Numeric___42d(val* self, val* p0) { val* var /* : Numeric */; -long var1 /* : Int */; +unsigned char var1 /* : Byte */; short int var3 /* : Bool */; int cltype; int idtype; const struct type* type_struct; const char* var_class_name; -long var4 /* : Int */; -long var5 /* : Int */; -long var6 /* : Int */; +unsigned char var4 /* : Byte */; +unsigned char var5 /* : Byte */; +unsigned char var6 /* : Byte */; val* var7 /* : Numeric */; -{ /* Inline kernel#Int#* (self,p0) on */ +{ /* Inline kernel#Byte#* (self,p0) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; cltype = type_struct->color; idtype = type_struct->id; -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var3 = 0; } else { -var3 = p0->type->type_table[cltype] == idtype; +var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } if (unlikely(!var3)) { -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`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 417); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 441); +fatal_exit(1); } -var4 = ((struct instance_standard__Int*)self)->value; /* autounbox from Numeric to Int */; -var5 = ((struct instance_standard__Int*)p0)->value; /* autounbox from Numeric to Int */; +var4 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Numeric to Byte */; +var5 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Numeric to Byte */; var6 = var4 * var5; var1 = var6; goto RET_LABEL2; RET_LABEL2:(void)0; } -var7 = BOX_standard__Int(var1); /* autobox from Int to Numeric */ +var7 = BOX_standard__Byte(var1); /* autobox from Byte to Numeric */ var = var7; RET_LABEL:; return var; } -/* method kernel#Int#/ for (self: Int, Int): Int */ -long standard___standard__Int___Numeric___47d(long self, long p0) { -long var /* : Int */; +/* method kernel#Byte#/ for (self: Byte, Byte): Byte */ +unsigned char standard___standard__Byte___Numeric___47d(unsigned char self, unsigned char p0) { +unsigned char var /* : Byte */; short int var1 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var2 /* : Int */; -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var1 = 1; /* easy isa OTHER*/ +unsigned char var2 /* : Byte */; +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var1 = 1; /* easy isa OTHER*/ if (unlikely(!var1)) { -var_class_name = type_standard__Int.name; +var_class_name = type_standard__Byte.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 418); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 442); +fatal_exit(1); } var2 = self / p0; var = var2; @@ -1873,89 +1897,77 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method kernel#Int#/ for (self: Numeric, Numeric): Numeric */ -val* VIRTUAL_standard___standard__Int___Numeric___47d(val* self, val* p0) { +/* method kernel#Byte#/ for (self: Numeric, Numeric): Numeric */ +val* VIRTUAL_standard___standard__Byte___Numeric___47d(val* self, val* p0) { val* var /* : Numeric */; -long var1 /* : Int */; +unsigned char var1 /* : Byte */; short int var3 /* : Bool */; int cltype; int idtype; const struct type* type_struct; const char* var_class_name; -long var4 /* : Int */; -long var5 /* : Int */; -long var6 /* : Int */; +unsigned char var4 /* : Byte */; +unsigned char var5 /* : Byte */; +unsigned char var6 /* : Byte */; val* var7 /* : Numeric */; -{ /* Inline kernel#Int#/ (self,p0) on */ +{ /* Inline kernel#Byte#/ (self,p0) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; cltype = type_struct->color; idtype = type_struct->id; -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var3 = 0; } else { -var3 = p0->type->type_table[cltype] == idtype; +var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } if (unlikely(!var3)) { -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`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 418); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 442); +fatal_exit(1); } -var4 = ((struct instance_standard__Int*)self)->value; /* autounbox from Numeric to Int */; -var5 = ((struct instance_standard__Int*)p0)->value; /* autounbox from Numeric to Int */; +var4 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Numeric to Byte */; +var5 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Numeric to Byte */; var6 = var4 / var5; var1 = var6; goto RET_LABEL2; RET_LABEL2:(void)0; } -var7 = BOX_standard__Int(var1); /* autobox from Int to Numeric */ +var7 = BOX_standard__Byte(var1); /* autobox from Byte to Numeric */ var = var7; RET_LABEL:; return var; } -/* method kernel#Int#% for (self: Int, Int): Int */ -long standard___standard__Int____37d(long self, long p0) { +/* method kernel#Byte#to_i for (self: Byte): Int */ +long standard___standard__Byte___Numeric__to_i(unsigned char self) { long var /* : Int */; long var1 /* : Int */; -var1 = self % p0; +var1 = (long)self; var = var1; goto RET_LABEL; RET_LABEL:; return var; } -/* method kernel#Int#lshift for (self: Int, Int): Int */ -long standard___standard__Int___lshift(long self, long p0) { +/* method kernel#Byte#to_i for (self: Numeric): Int */ +long VIRTUAL_standard___standard__Byte___Numeric__to_i(val* self) { long var /* : Int */; long var1 /* : Int */; -var1 = self << p0; -var = var1; -goto RET_LABEL; -RET_LABEL:; -return var; -} -/* method kernel#Int#to_i for (self: Int): Int */ -long standard___standard__Int___Numeric__to_i(long self) { -long var /* : Int */; -var = self; -goto RET_LABEL; -RET_LABEL:; -return var; +unsigned char var3 /* : Byte */; +long var4 /* : Int */; +{ /* Inline kernel#Byte#to_i (self) on */ +var3 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Numeric to Byte */; +var4 = (long)var3; +var1 = var4; +goto RET_LABEL2; +RET_LABEL2:(void)0; } -/* method kernel#Int#to_i for (self: Numeric): Int */ -long VIRTUAL_standard___standard__Int___Numeric__to_i(val* self) { -long var /* : Int */; -long var1 /* : Int */; -long var2 /* : Int */; -var2 = ((struct instance_standard__Int*)self)->value; /* autounbox from Numeric to Int */; -var1 = standard___standard__Int___Numeric__to_i(var2); var = var1; RET_LABEL:; return var; } -/* method kernel#Int#to_f for (self: Int): Float */ -double standard___standard__Int___Numeric__to_f(long self) { +/* method kernel#Byte#to_f for (self: Byte): Float */ +double standard___standard__Byte___Numeric__to_f(unsigned char self) { double var /* : Float */; double var1 /* : Float */; var1 = (double)self; @@ -1964,14 +1976,14 @@ goto RET_LABEL; RET_LABEL:; return var; } -/* method kernel#Int#to_f for (self: Numeric): Float */ -double VIRTUAL_standard___standard__Int___Numeric__to_f(val* self) { +/* method kernel#Byte#to_f for (self: Numeric): Float */ +double VIRTUAL_standard___standard__Byte___Numeric__to_f(val* self) { double var /* : Float */; double var1 /* : Float */; -long var3 /* : Int */; +unsigned char var3 /* : Byte */; double var4 /* : Float */; -{ /* Inline kernel#Int#to_f (self) on */ -var3 = ((struct instance_standard__Int*)self)->value; /* autounbox from Numeric to Int */; +{ /* Inline kernel#Byte#to_f (self) on */ +var3 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Numeric to Byte */; var4 = (double)var3; var1 = var4; goto RET_LABEL2; @@ -1981,50 +1993,61 @@ var = var1; RET_LABEL:; return var; } -/* method kernel#Int#distance for (self: Int, Int): Int */ -long standard___standard__Int___Discrete__distance(long self, long p0) { +/* method kernel#Byte#to_b for (self: Byte): Byte */ +unsigned char standard___standard__Byte___Numeric__to_b(unsigned char self) { +unsigned char var /* : Byte */; +var = self; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method kernel#Byte#to_b for (self: Numeric): Byte */ +unsigned char VIRTUAL_standard___standard__Byte___Numeric__to_b(val* self) { +unsigned char var /* : Byte */; +unsigned char var1 /* : Byte */; +unsigned char var2 /* : Byte */; +var2 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Numeric to Byte */; +var1 = standard___standard__Byte___Numeric__to_b(var2); +var = var1; +RET_LABEL:; +return var; +} +/* method kernel#Byte#distance for (self: Byte, Byte): Int */ +long standard___standard__Byte___Discrete__distance(unsigned char self, unsigned char p0) { long var /* : Int */; short int var1 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var_i /* var i: Int */; -long var2 /* : Int */; +unsigned char var_i /* var i: Byte */; +unsigned char var2 /* : Byte */; short int var4 /* : Bool */; int cltype5; int idtype6; const char* var_class_name7; -long var8 /* : Int */; -long var_d /* var d: Int */; +unsigned char var8 /* : Byte */; long var9 /* : Int */; -short int var10 /* : Bool */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; -const char* var_class_name15; -short int var16 /* : Bool */; -long var17 /* : Int */; -long var19 /* : Int */; -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var1 = 1; /* easy isa OTHER*/ +long var11 /* : Int */; +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var1 = 1; /* easy isa OTHER*/ if (unlikely(!var1)) { -var_class_name = type_standard__Int.name; +var_class_name = type_standard__Byte.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 444); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 475); +fatal_exit(1); } var_i = p0; { -{ /* Inline kernel#Int#- (self,var_i) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var4 = 1; /* easy isa OTHER*/ +{ /* Inline kernel#Byte#- (self,var_i) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var4 = 1; /* easy isa OTHER*/ if (unlikely(!var4)) { -var_class_name7 = type_standard__Int.name; +var_class_name7 = type_standard__Byte.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 440); +fatal_exit(1); } var8 = self - var_i; var2 = var8; @@ -2032,64 +2055,40 @@ goto RET_LABEL3; RET_LABEL3:(void)0; } } -var_d = var2; -var9 = 0; -{ -{ /* Inline kernel#Int#>= (var_d,var9) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var12 = 1; /* easy isa OTHER*/ -if (unlikely(!var12)) { -var_class_name15 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411); -show_backtrace(1); -} -var16 = var_d >= var9; -var10 = var16; -goto RET_LABEL11; -RET_LABEL11:(void)0; -} -} -if (var10){ -var = var_d; -goto RET_LABEL; -} else { { -{ /* Inline kernel#Int#unary - (var_d) on */ -var19 = -var_d; -var17 = var19; -goto RET_LABEL18; -RET_LABEL18:(void)0; +{ /* Inline kernel#Byte#to_i (var2) on */ +var11 = (long)var2; +var9 = var11; +goto RET_LABEL10; +RET_LABEL10:(void)0; } } -var = var17; +var = var9; goto RET_LABEL; -} RET_LABEL:; return var; } -/* method kernel#Int#distance for (self: Discrete, Discrete): Int */ -long VIRTUAL_standard___standard__Int___Discrete__distance(val* self, val* p0) { +/* method kernel#Byte#distance for (self: Discrete, Discrete): Int */ +long VIRTUAL_standard___standard__Byte___Discrete__distance(val* self, val* p0) { long var /* : Int */; long var1 /* : Int */; -long var2 /* : Int */; -long var3 /* : Int */; -var2 = ((struct instance_standard__Int*)self)->value; /* autounbox from Discrete to Int */; -var3 = ((struct instance_standard__Int*)p0)->value; /* autounbox from Discrete to Int */; -var1 = standard___standard__Int___Discrete__distance(var2, var3); +unsigned char var2 /* : Byte */; +unsigned char var3 /* : Byte */; +var2 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Discrete to Byte */; +var3 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Discrete to Byte */; +var1 = standard___standard__Byte___Discrete__distance(var2, var3); var = var1; RET_LABEL:; return var; } -/* method kernel#Int#<=> for (self: Int, Int): Int */ -long standard___standard__Int___Comparable___60d_61d_62d(long self, long p0) { +/* method kernel#Byte#<=> for (self: Byte, Byte): Int */ +long standard___standard__Byte___Comparable___60d_61d_62d(unsigned char self, unsigned char p0) { long var /* : Int */; short int var1 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var_other /* var other: Int */; +unsigned char var_other /* var other: Byte */; short int var2 /* : Bool */; short int var4 /* : Bool */; int cltype5; @@ -2097,36 +2096,33 @@ int idtype6; const char* var_class_name7; short int var8 /* : Bool */; long var9 /* : Int */; -long var10 /* : Int */; -long var12 /* : Int */; -short int var13 /* : Bool */; -short int var15 /* : Bool */; -int cltype16; -int idtype17; -const char* var_class_name18; -short int var19 /* : Bool */; -long var20 /* : Int */; -long var21 /* : Int */; -/* Covariant cast for argument 0 (other) isa OTHER */ -/* isa OTHER */ -var1 = 1; /* easy isa OTHER*/ +long var11 /* : Int */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +int cltype15; +int idtype16; +const char* var_class_name17; +short int var18 /* : Bool */; +/* Covariant cast for argument 0 (other) isa OTHER */ +/* isa OTHER */ +var1 = 1; /* easy isa OTHER*/ if (unlikely(!var1)) { -var_class_name = type_standard__Int.name; +var_class_name = type_standard__Byte.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 454); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 477); +fatal_exit(1); } var_other = p0; { -{ /* Inline kernel#Int#< (self,var_other) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var4 = 1; /* easy isa OTHER*/ +{ /* Inline kernel#Byte#< (self,var_other) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var4 = 1; /* easy isa OTHER*/ if (unlikely(!var4)) { -var_class_name7 = type_standard__Int.name; +var_class_name7 = type_standard__Byte.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 430); +fatal_exit(1); } var8 = self < var_other; var2 = var8; @@ -2135,241 +2131,1203 @@ RET_LABEL3:(void)0; } } if (var2){ -var9 = 1; { -{ /* Inline kernel#Int#unary - (var9) on */ -var12 = -var9; -var10 = var12; -goto RET_LABEL11; -RET_LABEL11:(void)0; +{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */ +var11 = -1l; +var9 = var11; +goto RET_LABEL10; +RET_LABEL10:(void)0; } } -var = var10; +var = var9; goto RET_LABEL; } else { { -{ /* Inline kernel#Int#< (var_other,self) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var15 = 1; /* easy isa OTHER*/ -if (unlikely(!var15)) { -var_class_name18 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +{ /* Inline kernel#Byte#< (var_other,self) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var14 = 1; /* easy isa OTHER*/ +if (unlikely(!var14)) { +var_class_name17 = type_standard__Byte.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 430); +fatal_exit(1); } -var19 = var_other < self; -var13 = var19; -goto RET_LABEL14; -RET_LABEL14:(void)0; +var18 = var_other < self; +var12 = var18; +goto RET_LABEL13; +RET_LABEL13:(void)0; } } -if (var13){ -var20 = 1; -var = var20; +if (var12){ +var = 1l; goto RET_LABEL; } else { -var21 = 0; -var = var21; +var = 0l; goto RET_LABEL; } } RET_LABEL:; return var; } -/* method kernel#Int#<=> for (self: Comparable, Comparable): Int */ -long VIRTUAL_standard___standard__Int___Comparable___60d_61d_62d(val* self, val* p0) { +/* method kernel#Byte#<=> for (self: Comparable, Comparable): Int */ +long VIRTUAL_standard___standard__Byte___Comparable___60d_61d_62d(val* self, val* p0) { long var /* : Int */; long var1 /* : Int */; -long var2 /* : Int */; -long var3 /* : Int */; -var2 = ((struct instance_standard__Int*)self)->value; /* autounbox from Comparable to Int */; -var3 = ((struct instance_standard__Int*)p0)->value; /* autounbox from Comparable to Int */; -var1 = standard___standard__Int___Comparable___60d_61d_62d(var2, var3); -var = var1; -RET_LABEL:; -return var; -} -/* method kernel#Int#ascii for (self: Int): Char */ -char standard___standard__Int___ascii(long self) { -char var /* : Char */; -char var1 /* : Char */; -var1 = self; +unsigned char var2 /* : Byte */; +unsigned char var3 /* : Byte */; +var2 = ((struct instance_standard__Byte*)self)->value; /* autounbox from Comparable to Byte */; +var3 = ((struct instance_standard__Byte*)p0)->value; /* autounbox from Comparable to Byte */; +var1 = standard___standard__Byte___Comparable___60d_61d_62d(var2, var3); var = var1; -goto RET_LABEL; RET_LABEL:; return var; } -/* method kernel#Int#digit_count for (self: Int, Int): Int */ -long standard___standard__Int___digit_count(long self, long p0) { +/* method kernel#Int#successor for (self: Int, Int): Int */ +long standard___standard__Int___Discrete__successor(long self, long p0) { long var /* : Int */; -long var_b /* var b: Int */; +long var_i /* var i: Int */; long var1 /* : Int */; -short int var2 /* : Bool */; -short int var4 /* : Bool */; -long var5 /* : Int */; -long var6 /* : Int */; -short int var7 /* : Bool */; -short int var9 /* : Bool */; +short int var3 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var10 /* : Bool */; -long var11 /* : Int */; -long var_d /* var d: Int */; -long var12 /* : Int */; -long var14 /* : Int */; -long var_n /* var n: Int */; -long var15 /* : Int */; -short int var16 /* : Bool */; -short int var18 /* : Bool */; -long var19 /* : Int */; -long var20 /* : Int */; -long var21 /* : Int */; -short int var22 /* : Bool */; -short int var24 /* : Bool */; -int cltype25; -int idtype26; -const char* var_class_name27; -short int var28 /* : Bool */; -long var29 /* : Int */; -long var30 /* : Int */; -short int var32 /* : Bool */; -int cltype33; -int idtype34; -const char* var_class_name35; -long var36 /* : Int */; -long var37 /* : Int */; -short int var39 /* : Bool */; -int cltype40; -int idtype41; -const char* var_class_name42; -long var43 /* : Int */; -var_b = p0; -var1 = 10; -{ -{ /* Inline kernel#Int#== (var_b,var1) on */ -var4 = var_b == var1; -var2 = var4; -goto RET_LABEL3; -RET_LABEL3:(void)0; -} -} -if (var2){ -{ -var5 = standard___standard__Int___digit_count_base_95d10(self); -} -var = var5; -goto RET_LABEL; -} else { -} -var6 = 0; +long var4 /* : Int */; +var_i = p0; { -{ /* Inline kernel#Int#< (self,var6) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var9 = 1; /* easy isa OTHER*/ -if (unlikely(!var9)) { +{ /* Inline kernel#Int#+ (self,var_i) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var3 = 1; /* easy isa OTHER*/ +if (unlikely(!var3)) { 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", FILE_standard__kernel, 410); -show_backtrace(1); -} -var10 = self < var6; -var7 = var10; -goto RET_LABEL8; -RET_LABEL8:(void)0; -} -} -if (var7){ -var11 = 1; -var_d = var11; -{ -{ /* Inline kernel#Int#unary - (self) on */ -var14 = -self; -var12 = var14; -goto RET_LABEL13; -RET_LABEL13:(void)0; +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -} -var_n = var12; -} else { -var15 = 0; -{ -{ /* Inline kernel#Int#== (self,var15) on */ -var18 = self == var15; -var16 = var18; -goto RET_LABEL17; -RET_LABEL17:(void)0; +var4 = self + var_i; +var1 = var4; +goto RET_LABEL2; +RET_LABEL2:(void)0; } } -if (var16){ -var19 = 1; -var = var19; +var = var1; goto RET_LABEL; -} else { -var20 = 0; -var_d = var20; -var_n = self; +RET_LABEL:; +return var; } +/* method kernel#Int#successor for (self: Discrete, Int): Discrete */ +val* VIRTUAL_standard___standard__Int___Discrete__successor(val* self, long p0) { +val* var /* : Discrete */; +long var1 /* : Int */; +long var2 /* : Int */; +val* var3 /* : Discrete */; +var2 = (long)(self)>>2; +var1 = standard___standard__Int___Discrete__successor(var2, p0); +var3 = (val*)(var1<<2|1); +var = var3; +RET_LABEL:; +return var; } -for(;;) { -var21 = 0; +/* method kernel#Int#object_id for (self: Int): Int */ +long standard___standard__Int___Object__object_id(long self) { +long var /* : Int */; +var = self; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method kernel#Int#object_id for (self: Object): Int */ +long VIRTUAL_standard___standard__Int___Object__object_id(val* self) { +long var /* : Int */; +long var1 /* : Int */; +long var3 /* : Int */; +{ /* Inline kernel#Int#object_id (self) on */ +var3 = (long)(self)>>2; +var1 = var3; +goto RET_LABEL2; +RET_LABEL2:(void)0; +} +var = var1; +RET_LABEL:; +return var; +} +/* method kernel#Int#hash for (self: Int): Int */ +long standard___standard__Int___Object__hash(long self) { +long var /* : Int */; +var = self; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method kernel#Int#hash for (self: Object): Int */ +long VIRTUAL_standard___standard__Int___Object__hash(val* self) { +long var /* : Int */; +long var1 /* : Int */; +long var2 /* : Int */; +var2 = (long)(self)>>2; +var1 = standard___standard__Int___Object__hash(var2); +var = var1; +RET_LABEL:; +return var; +} +/* method kernel#Int#== for (self: Int, nullable Object): Bool */ +short int standard___standard__Int___Object___61d_61d(long self, val* p0) { +short int var /* : Bool */; +short int var1 /* : Bool */; +long var2 /* : Int */; +var2 = (long)(p0)>>2; +var1 = (p0 != NULL) && (var2 == self); +var = var1; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method kernel#Int#== for (self: Object, nullable Object): Bool */ +short int VIRTUAL_standard___standard__Int___Object___61d_61d(val* self, val* p0) { +short int var /* : Bool */; +short int var1 /* : Bool */; +short int var3 /* : Bool */; +{ /* Inline kernel#Int#== (self,p0) on */ +var3 = self == p0; +var1 = var3; +goto RET_LABEL2; +RET_LABEL2:(void)0; +} +var = var1; +RET_LABEL:; +return var; +} +/* method kernel#Int#!= for (self: Int, nullable Object): Bool */ +short int standard___standard__Int___Object___33d_61d(long self, val* p0) { +short int var /* : Bool */; +short int var1 /* : Bool */; +long var2 /* : Int */; +short int var3 /* : Bool */; +var2 = (long)(p0)>>2; +var1 = (p0 != NULL) && (var2 == self); +var3 = !var1; +var = var3; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method kernel#Int#!= for (self: Object, nullable Object): Bool */ +short int VIRTUAL_standard___standard__Int___Object___33d_61d(val* self, val* p0) { +short int var /* : Bool */; +short int var1 /* : Bool */; +short int var3 /* : Bool */; +short int var4 /* : Bool */; +{ /* Inline kernel#Int#!= (self,p0) on */ +var3 = self == p0; +var4 = !var3; +var1 = var4; +goto RET_LABEL2; +RET_LABEL2:(void)0; +} +var = var1; +RET_LABEL:; +return var; +} +/* method kernel#Int#<= for (self: Int, Int): Bool */ +short int standard___standard__Int___Comparable___60d_61d(long self, long p0) { +short int var /* : Bool */; +short int var1 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +short int var2 /* : Bool */; +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var1 = 1; /* easy isa OTHER*/ +if (unlikely(!var1)) { +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", FILE_standard__kernel, 533); +fatal_exit(1); +} +var2 = self <= p0; +var = var2; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method kernel#Int#<= for (self: Comparable, Comparable): Bool */ +short int VIRTUAL_standard___standard__Int___Comparable___60d_61d(val* self, val* p0) { +short int var /* : Bool */; +short int var1 /* : Bool */; +short int var3 /* : Bool */; +int cltype; +int idtype; +const struct type* type_struct; +const char* var_class_name; +long var4 /* : Int */; +long var5 /* : Int */; +short int var6 /* : Bool */; +{ /* Inline kernel#Int#<= (self,p0) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +cltype = type_struct->color; +idtype = type_struct->id; +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { +var3 = 0; +} else { +var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; +} +if (unlikely(!var3)) { +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`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533); +fatal_exit(1); +} +var4 = (long)(self)>>2; +var5 = (long)(p0)>>2; +var6 = var4 <= var5; +var1 = var6; +goto RET_LABEL2; +RET_LABEL2:(void)0; +} +var = var1; +RET_LABEL:; +return var; +} +/* method kernel#Int#< for (self: Int, Int): Bool */ +short int standard___standard__Int___Comparable___60d(long self, long p0) { +short int var /* : Bool */; +short int var1 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +short int var2 /* : Bool */; +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var1 = 1; /* easy isa OTHER*/ +if (unlikely(!var1)) { +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", FILE_standard__kernel, 534); +fatal_exit(1); +} +var2 = self < p0; +var = var2; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method kernel#Int#< for (self: Comparable, Comparable): Bool */ +short int VIRTUAL_standard___standard__Int___Comparable___60d(val* self, val* p0) { +short int var /* : Bool */; +short int var1 /* : Bool */; +short int var3 /* : Bool */; +int cltype; +int idtype; +const struct type* type_struct; +const char* var_class_name; +long var4 /* : Int */; +long var5 /* : Int */; +short int var6 /* : Bool */; +{ /* Inline kernel#Int#< (self,p0) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +cltype = type_struct->color; +idtype = type_struct->id; +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { +var3 = 0; +} else { +var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; +} +if (unlikely(!var3)) { +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`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); +} +var4 = (long)(self)>>2; +var5 = (long)(p0)>>2; +var6 = var4 < var5; +var1 = var6; +goto RET_LABEL2; +RET_LABEL2:(void)0; +} +var = var1; +RET_LABEL:; +return var; +} +/* method kernel#Int#>= for (self: Int, Int): Bool */ +short int standard___standard__Int___Comparable___62d_61d(long self, long p0) { +short int var /* : Bool */; +short int var1 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +short int var2 /* : Bool */; +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var1 = 1; /* easy isa OTHER*/ +if (unlikely(!var1)) { +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", FILE_standard__kernel, 535); +fatal_exit(1); +} +var2 = self >= p0; +var = var2; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method kernel#Int#>= for (self: Comparable, Comparable): Bool */ +short int VIRTUAL_standard___standard__Int___Comparable___62d_61d(val* self, val* p0) { +short int var /* : Bool */; +short int var1 /* : Bool */; +short int var3 /* : Bool */; +int cltype; +int idtype; +const struct type* type_struct; +const char* var_class_name; +long var4 /* : Int */; +long var5 /* : Int */; +short int var6 /* : Bool */; +{ /* Inline kernel#Int#>= (self,p0) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +cltype = type_struct->color; +idtype = type_struct->id; +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { +var3 = 0; +} else { +var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; +} +if (unlikely(!var3)) { +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`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535); +fatal_exit(1); +} +var4 = (long)(self)>>2; +var5 = (long)(p0)>>2; +var6 = var4 >= var5; +var1 = var6; +goto RET_LABEL2; +RET_LABEL2:(void)0; +} +var = var1; +RET_LABEL:; +return var; +} +/* method kernel#Int#> for (self: Int, Int): Bool */ +short int standard___standard__Int___Comparable___62d(long self, long p0) { +short int var /* : Bool */; +short int var1 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +short int var2 /* : Bool */; +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var1 = 1; /* easy isa OTHER*/ +if (unlikely(!var1)) { +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", FILE_standard__kernel, 536); +fatal_exit(1); +} +var2 = self > p0; +var = var2; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method kernel#Int#> for (self: Comparable, Comparable): Bool */ +short int VIRTUAL_standard___standard__Int___Comparable___62d(val* self, val* p0) { +short int var /* : Bool */; +short int var1 /* : Bool */; +short int var3 /* : Bool */; +int cltype; +int idtype; +const struct type* type_struct; +const char* var_class_name; +long var4 /* : Int */; +long var5 /* : Int */; +short int var6 /* : Bool */; +{ /* Inline kernel#Int#> (self,p0) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +cltype = type_struct->color; +idtype = type_struct->id; +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { +var3 = 0; +} else { +var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; +} +if (unlikely(!var3)) { +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`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536); +fatal_exit(1); +} +var4 = (long)(self)>>2; +var5 = (long)(p0)>>2; +var6 = var4 > var5; +var1 = var6; +goto RET_LABEL2; +RET_LABEL2:(void)0; +} +var = var1; +RET_LABEL:; +return var; +} +/* method kernel#Int#+ for (self: Int, Int): Int */ +long standard___standard__Int___Numeric___43d(long self, long p0) { +long var /* : Int */; +short int var1 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +long var2 /* : Int */; +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var1 = 1; /* easy isa OTHER*/ +if (unlikely(!var1)) { +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", FILE_standard__kernel, 537); +fatal_exit(1); +} +var2 = self + p0; +var = var2; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method kernel#Int#+ for (self: Numeric, Numeric): Numeric */ +val* VIRTUAL_standard___standard__Int___Numeric___43d(val* self, val* p0) { +val* var /* : Numeric */; +long var1 /* : Int */; +short int var3 /* : Bool */; +int cltype; +int idtype; +const struct type* type_struct; +const char* var_class_name; +long var4 /* : Int */; +long var5 /* : Int */; +long var6 /* : Int */; +val* var7 /* : Numeric */; +{ /* Inline kernel#Int#+ (self,p0) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +cltype = type_struct->color; +idtype = type_struct->id; +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { +var3 = 0; +} else { +var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; +} +if (unlikely(!var3)) { +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`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); +} +var4 = (long)(self)>>2; +var5 = (long)(p0)>>2; +var6 = var4 + var5; +var1 = var6; +goto RET_LABEL2; +RET_LABEL2:(void)0; +} +var7 = (val*)(var1<<2|1); +var = var7; +RET_LABEL:; +return var; +} +/* method kernel#Int#unary - for (self: Int): Int */ +long standard___standard__Int___Numeric__unary_32d_45d(long self) { +long var /* : Int */; +long var1 /* : Int */; +var1 = -self; +var = var1; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method kernel#Int#unary - for (self: Numeric): Numeric */ +val* VIRTUAL_standard___standard__Int___Numeric__unary_32d_45d(val* self) { +val* var /* : Numeric */; +long var1 /* : Int */; +long var3 /* : Int */; +long var4 /* : Int */; +val* var5 /* : Numeric */; +{ /* Inline kernel#Int#unary - (self) on */ +var3 = (long)(self)>>2; +var4 = -var3; +var1 = var4; +goto RET_LABEL2; +RET_LABEL2:(void)0; +} +var5 = (val*)(var1<<2|1); +var = var5; +RET_LABEL:; +return var; +} +/* method kernel#Int#- for (self: Int, Int): Int */ +long standard___standard__Int___Numeric___45d(long self, long p0) { +long var /* : Int */; +short int var1 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +long var2 /* : Int */; +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var1 = 1; /* easy isa OTHER*/ +if (unlikely(!var1)) { +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", FILE_standard__kernel, 540); +fatal_exit(1); +} +var2 = self - p0; +var = var2; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method kernel#Int#- for (self: Numeric, Numeric): Numeric */ +val* VIRTUAL_standard___standard__Int___Numeric___45d(val* self, val* p0) { +val* var /* : Numeric */; +long var1 /* : Int */; +short int var3 /* : Bool */; +int cltype; +int idtype; +const struct type* type_struct; +const char* var_class_name; +long var4 /* : Int */; +long var5 /* : Int */; +long var6 /* : Int */; +val* var7 /* : Numeric */; +{ /* Inline kernel#Int#- (self,p0) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +cltype = type_struct->color; +idtype = type_struct->id; +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { +var3 = 0; +} else { +var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; +} +if (unlikely(!var3)) { +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`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); +} +var4 = (long)(self)>>2; +var5 = (long)(p0)>>2; +var6 = var4 - var5; +var1 = var6; +goto RET_LABEL2; +RET_LABEL2:(void)0; +} +var7 = (val*)(var1<<2|1); +var = var7; +RET_LABEL:; +return var; +} +/* method kernel#Int#* for (self: Int, Int): Int */ +long standard___standard__Int___Numeric___42d(long self, long p0) { +long var /* : Int */; +short int var1 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +long var2 /* : Int */; +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var1 = 1; /* easy isa OTHER*/ +if (unlikely(!var1)) { +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", FILE_standard__kernel, 541); +fatal_exit(1); +} +var2 = self * p0; +var = var2; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method kernel#Int#* for (self: Numeric, Numeric): Numeric */ +val* VIRTUAL_standard___standard__Int___Numeric___42d(val* self, val* p0) { +val* var /* : Numeric */; +long var1 /* : Int */; +short int var3 /* : Bool */; +int cltype; +int idtype; +const struct type* type_struct; +const char* var_class_name; +long var4 /* : Int */; +long var5 /* : Int */; +long var6 /* : Int */; +val* var7 /* : Numeric */; +{ /* Inline kernel#Int#* (self,p0) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +cltype = type_struct->color; +idtype = type_struct->id; +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { +var3 = 0; +} else { +var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; +} +if (unlikely(!var3)) { +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`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 541); +fatal_exit(1); +} +var4 = (long)(self)>>2; +var5 = (long)(p0)>>2; +var6 = var4 * var5; +var1 = var6; +goto RET_LABEL2; +RET_LABEL2:(void)0; +} +var7 = (val*)(var1<<2|1); +var = var7; +RET_LABEL:; +return var; +} +/* method kernel#Int#/ for (self: Int, Int): Int */ +long standard___standard__Int___Numeric___47d(long self, long p0) { +long var /* : Int */; +short int var1 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +long var2 /* : Int */; +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var1 = 1; /* easy isa OTHER*/ +if (unlikely(!var1)) { +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", FILE_standard__kernel, 542); +fatal_exit(1); +} +var2 = self / p0; +var = var2; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method kernel#Int#/ for (self: Numeric, Numeric): Numeric */ +val* VIRTUAL_standard___standard__Int___Numeric___47d(val* self, val* p0) { +val* var /* : Numeric */; +long var1 /* : Int */; +short int var3 /* : Bool */; +int cltype; +int idtype; +const struct type* type_struct; +const char* var_class_name; +long var4 /* : Int */; +long var5 /* : Int */; +long var6 /* : Int */; +val* var7 /* : Numeric */; +{ /* Inline kernel#Int#/ (self,p0) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +cltype = type_struct->color; +idtype = type_struct->id; +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { +var3 = 0; +} else { +var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; +} +if (unlikely(!var3)) { +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`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 542); +fatal_exit(1); +} +var4 = (long)(self)>>2; +var5 = (long)(p0)>>2; +var6 = var4 / var5; +var1 = var6; +goto RET_LABEL2; +RET_LABEL2:(void)0; +} +var7 = (val*)(var1<<2|1); +var = var7; +RET_LABEL:; +return var; +} +/* method kernel#Int#% for (self: Int, Int): Int */ +long standard___standard__Int____37d(long self, long p0) { +long var /* : Int */; +long var1 /* : Int */; +var1 = self % p0; +var = var1; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method kernel#Int#lshift for (self: Int, Int): Int */ +long standard___standard__Int___lshift(long self, long p0) { +long var /* : Int */; +long var1 /* : Int */; +var1 = self << p0; +var = var1; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method kernel#Int#to_i for (self: Int): Int */ +long standard___standard__Int___Numeric__to_i(long self) { +long var /* : Int */; +var = self; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method kernel#Int#to_i for (self: Numeric): Int */ +long VIRTUAL_standard___standard__Int___Numeric__to_i(val* self) { +long var /* : Int */; +long var1 /* : Int */; +long var2 /* : Int */; +var2 = (long)(self)>>2; +var1 = standard___standard__Int___Numeric__to_i(var2); +var = var1; +RET_LABEL:; +return var; +} +/* method kernel#Int#to_f for (self: Int): Float */ +double standard___standard__Int___Numeric__to_f(long self) { +double var /* : Float */; +double var1 /* : Float */; +var1 = (double)self; +var = var1; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method kernel#Int#to_f for (self: Numeric): Float */ +double VIRTUAL_standard___standard__Int___Numeric__to_f(val* self) { +double var /* : Float */; +double var1 /* : Float */; +long var3 /* : Int */; +double var4 /* : Float */; +{ /* Inline kernel#Int#to_f (self) on */ +var3 = (long)(self)>>2; +var4 = (double)var3; +var1 = var4; +goto RET_LABEL2; +RET_LABEL2:(void)0; +} +var = var1; +RET_LABEL:; +return var; +} +/* method kernel#Int#to_b for (self: Int): Byte */ +unsigned char standard___standard__Int___Numeric__to_b(long self) { +unsigned char var /* : Byte */; +unsigned char var1 /* : Byte */; +var1 = (unsigned char)self; +var = var1; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method kernel#Int#to_b for (self: Numeric): Byte */ +unsigned char VIRTUAL_standard___standard__Int___Numeric__to_b(val* self) { +unsigned char var /* : Byte */; +unsigned char var1 /* : Byte */; +long var3 /* : Int */; +unsigned char var4 /* : Byte */; +{ /* Inline kernel#Int#to_b (self) on */ +var3 = (long)(self)>>2; +var4 = (unsigned char)var3; +var1 = var4; +goto RET_LABEL2; +RET_LABEL2:(void)0; +} +var = var1; +RET_LABEL:; +return var; +} +/* method kernel#Int#distance for (self: Int, Int): Int */ +long standard___standard__Int___Discrete__distance(long self, long p0) { +long var /* : Int */; +short int var1 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +long var_i /* var i: Int */; +long var2 /* : Int */; +short int var4 /* : Bool */; +int cltype5; +int idtype6; +const char* var_class_name7; +long var8 /* : Int */; +long var_d /* var d: Int */; +short int var9 /* : Bool */; +short int var11 /* : Bool */; +int cltype12; +int idtype13; +const char* var_class_name14; +short int var15 /* : Bool */; +long var16 /* : Int */; +long var18 /* : Int */; +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var1 = 1; /* easy isa OTHER*/ +if (unlikely(!var1)) { +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", FILE_standard__kernel, 575); +fatal_exit(1); +} +var_i = p0; +{ +{ /* Inline kernel#Int#- (self,var_i) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var4 = 1; /* easy isa OTHER*/ +if (unlikely(!var4)) { +var_class_name7 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); +} +var8 = self - var_i; +var2 = var8; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +} +var_d = var2; +{ +{ /* Inline kernel#Int#>= (var_d,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var11 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var11)) { +var_class_name14 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name14); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535); +fatal_exit(1); +} +var15 = var_d >= 0l; +var9 = var15; +goto RET_LABEL10; +RET_LABEL10:(void)0; +} +} +if (var9){ +var = var_d; +goto RET_LABEL; +} else { +{ +{ /* Inline kernel#Int#unary - (var_d) on */ +var18 = -var_d; +var16 = var18; +goto RET_LABEL17; +RET_LABEL17:(void)0; +} +} +var = var16; +goto RET_LABEL; +} +RET_LABEL:; +return var; +} +/* method kernel#Int#distance for (self: Discrete, Discrete): Int */ +long VIRTUAL_standard___standard__Int___Discrete__distance(val* self, val* p0) { +long var /* : Int */; +long var1 /* : Int */; +long var2 /* : Int */; +long var3 /* : Int */; +var2 = (long)(self)>>2; +var3 = (long)(p0)>>2; +var1 = standard___standard__Int___Discrete__distance(var2, var3); +var = var1; +RET_LABEL:; +return var; +} +/* method kernel#Int#<=> for (self: Int, Int): Int */ +long standard___standard__Int___Comparable___60d_61d_62d(long self, long p0) { +long var /* : Int */; +short int var1 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +long var_other /* var other: Int */; +short int var2 /* : Bool */; +short int var4 /* : Bool */; +int cltype5; +int idtype6; +const char* var_class_name7; +short int var8 /* : Bool */; +long var9 /* : Int */; +long var11 /* : Int */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +int cltype15; +int idtype16; +const char* var_class_name17; +short int var18 /* : Bool */; +/* Covariant cast for argument 0 (other) isa OTHER */ +/* isa OTHER */ +var1 = 1; /* easy isa OTHER*/ +if (unlikely(!var1)) { +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", FILE_standard__kernel, 585); +fatal_exit(1); +} +var_other = p0; +{ +{ /* Inline kernel#Int#< (self,var_other) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var4 = 1; /* easy isa OTHER*/ +if (unlikely(!var4)) { +var_class_name7 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name7); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); +} +var8 = self < var_other; +var2 = var8; +goto RET_LABEL3; +RET_LABEL3:(void)0; +} +} +if (var2){ +{ +{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */ +var11 = -1l; +var9 = var11; +goto RET_LABEL10; +RET_LABEL10:(void)0; +} +} +var = var9; +goto RET_LABEL; +} else { +{ +{ /* Inline kernel#Int#< (var_other,self) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var14 = 1; /* easy isa OTHER*/ +if (unlikely(!var14)) { +var_class_name17 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); +} +var18 = var_other < self; +var12 = var18; +goto RET_LABEL13; +RET_LABEL13:(void)0; +} +} +if (var12){ +var = 1l; +goto RET_LABEL; +} else { +var = 0l; +goto RET_LABEL; +} +} +RET_LABEL:; +return var; +} +/* method kernel#Int#<=> for (self: Comparable, Comparable): Int */ +long VIRTUAL_standard___standard__Int___Comparable___60d_61d_62d(val* self, val* p0) { +long var /* : Int */; +long var1 /* : Int */; +long var2 /* : Int */; +long var3 /* : Int */; +var2 = (long)(self)>>2; +var3 = (long)(p0)>>2; +var1 = standard___standard__Int___Comparable___60d_61d_62d(var2, var3); +var = var1; +RET_LABEL:; +return var; +} +/* method kernel#Int#ascii for (self: Int): Char */ +uint32_t standard___standard__Int___ascii(long self) { +uint32_t var /* : Char */; +uint32_t var1 /* : Char */; +var1 = (uint32_t)self; +var = var1; +goto RET_LABEL; +RET_LABEL:; +return var; +} +/* method kernel#Int#digit_count for (self: Int, Int): Int */ +long standard___standard__Int___digit_count(long self, long p0) { +long var /* : Int */; +long var_b /* var b: Int */; +short int var1 /* : Bool */; +short int var3 /* : Bool */; +long var4 /* : Int */; +short int var5 /* : Bool */; +short int var7 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +short int var8 /* : Bool */; +long var_d /* var d: Int */; +long var9 /* : Int */; +long var11 /* : Int */; +long var_n /* var n: Int */; +short int var12 /* : Bool */; +short int var14 /* : Bool */; +short int var15 /* : Bool */; +short int var17 /* : Bool */; +int cltype18; +int idtype19; +const char* var_class_name20; +short int var21 /* : Bool */; +long var22 /* : Int */; +short int var24 /* : Bool */; +int cltype25; +int idtype26; +const char* var_class_name27; +long var28 /* : Int */; +long var29 /* : Int */; +short int var31 /* : Bool */; +int cltype32; +int idtype33; +const char* var_class_name34; +long var35 /* : Int */; +var_b = p0; +{ +{ /* Inline kernel#Int#== (var_b,10l) on */ +var3 = var_b == 10l; +var1 = var3; +goto RET_LABEL2; +RET_LABEL2:(void)0; +} +} +if (var1){ +{ +var4 = standard___standard__Int___digit_count_base_95d10(self); +} +var = var4; +goto RET_LABEL; +} else { +} +{ +{ /* Inline kernel#Int#< (self,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var7 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var7)) { +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", FILE_standard__kernel, 534); +fatal_exit(1); +} +var8 = self < 0l; +var5 = var8; +goto RET_LABEL6; +RET_LABEL6:(void)0; +} +} +if (var5){ +var_d = 1l; +{ +{ /* Inline kernel#Int#unary - (self) on */ +var11 = -self; +var9 = var11; +goto RET_LABEL10; +RET_LABEL10:(void)0; +} +} +var_n = var9; +} else { +{ +{ /* Inline kernel#Int#== (self,0l) on */ +var14 = self == 0l; +var12 = var14; +goto RET_LABEL13; +RET_LABEL13:(void)0; +} +} +if (var12){ +var = 1l; +goto RET_LABEL; +} else { +var_d = 0l; +var_n = self; +} +} +for(;;) { { -{ /* Inline kernel#Int#> (var_n,var21) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var24 = 1; /* easy isa OTHER*/ +{ /* Inline kernel#Int#> (var_n,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var17 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var17)) { +var_class_name20 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 536); +fatal_exit(1); +} +var21 = var_n > 0l; +var15 = var21; +goto RET_LABEL16; +RET_LABEL16:(void)0; +} +} +if (var15){ +{ +{ /* Inline kernel#Int#+ (var_d,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var24 = 1; /* easy <1l:Int> isa OTHER*/ if (unlikely(!var24)) { var_class_name27 = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var28 = var_n > var21; +var28 = var_d + 1l; var22 = var28; goto RET_LABEL23; RET_LABEL23:(void)0; } } -if (var22){ -var29 = 1; -{ -{ /* Inline kernel#Int#+ (var_d,var29) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var32 = 1; /* easy isa OTHER*/ -if (unlikely(!var32)) { -var_class_name35 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name35); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); -} -var36 = var_d + var29; -var30 = var36; -goto RET_LABEL31; -RET_LABEL31:(void)0; -} -} -var_d = var30; +var_d = var22; { { /* Inline kernel#Int#/ (var_n,var_b) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var39 = 1; /* easy isa OTHER*/ -if (unlikely(!var39)) { -var_class_name42 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name42); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 418); -show_backtrace(1); +var31 = 1; /* easy isa OTHER*/ +if (unlikely(!var31)) { +var_class_name34 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 542); +fatal_exit(1); } -var43 = var_n / var_b; -var37 = var43; -goto RET_LABEL38; -RET_LABEL38:(void)0; +var35 = var_n / var_b; +var29 = var35; +goto RET_LABEL30; +RET_LABEL30:(void)0; } } -var_n = var37; +var_n = var29; } else { goto BREAK_label; } @@ -2383,517 +3341,481 @@ return var; /* method kernel#Int#digit_count_base_10 for (self: Int): Int */ long standard___standard__Int___digit_count_base_95d10(long self) { long var /* : Int */; -long var1 /* : Int */; -short int var2 /* : Bool */; -short int var4 /* : Bool */; +short int var1 /* : Bool */; +short int var3 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var5 /* : Bool */; -long var6 /* : Int */; +short int var4 /* : Bool */; long var_result /* var result: Int */; +long var5 /* : Int */; long var7 /* : Int */; -long var9 /* : Int */; long var_val /* var val: Int */; -long var10 /* : Int */; -long var11 /* : Int */; -short int var12 /* : Bool */; +short int var8 /* : Bool */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +const char* var_class_name13; short int var14 /* : Bool */; -int cltype15; -int idtype16; -const char* var_class_name17; -short int var18 /* : Bool */; -long var19 /* : Int */; -short int var20 /* : Bool */; -short int var22 /* : Bool */; -int cltype23; -int idtype24; -const char* var_class_name25; -short int var26 /* : Bool */; -long var27 /* : Int */; +short int var15 /* : Bool */; +short int var17 /* : Bool */; +int cltype18; +int idtype19; +const char* var_class_name20; +short int var21 /* : Bool */; +long var22 /* : Int */; +short int var24 /* : Bool */; +int cltype25; +int idtype26; +const char* var_class_name27; long var28 /* : Int */; -short int var30 /* : Bool */; -int cltype31; -int idtype32; -const char* var_class_name33; -long var34 /* : Int */; -long var35 /* : Int */; -short int var36 /* : Bool */; +short int var29 /* : Bool */; +short int var31 /* : Bool */; +int cltype32; +int idtype33; +const char* var_class_name34; +short int var35 /* : Bool */; +long var36 /* : Int */; short int var38 /* : Bool */; int cltype39; int idtype40; const char* var_class_name41; -short int var42 /* : Bool */; -long var43 /* : Int */; -long var44 /* : Int */; -short int var46 /* : Bool */; -int cltype47; -int idtype48; -const char* var_class_name49; +long var42 /* : Int */; +short int var43 /* : Bool */; +short int var45 /* : Bool */; +int cltype46; +int idtype47; +const char* var_class_name48; +short int var49 /* : Bool */; long var50 /* : Int */; -long var51 /* : Int */; short int var52 /* : Bool */; -short int var54 /* : Bool */; -int cltype55; -int idtype56; -const char* var_class_name57; -short int var58 /* : Bool */; -long var59 /* : Int */; -long var60 /* : Int */; -short int var62 /* : Bool */; -int cltype63; -int idtype64; -const char* var_class_name65; -long var66 /* : Int */; -long var67 /* : Int */; -long var68 /* : Int */; -short int var70 /* : Bool */; -int cltype71; -int idtype72; -const char* var_class_name73; -long var74 /* : Int */; -long var75 /* : Int */; -long var76 /* : Int */; -short int var78 /* : Bool */; -int cltype79; -int idtype80; -const char* var_class_name81; -long var82 /* : Int */; -var1 = 0; +int cltype53; +int idtype54; +const char* var_class_name55; +long var56 /* : Int */; +long var57 /* : Int */; +short int var59 /* : Bool */; +int cltype60; +int idtype61; +const char* var_class_name62; +long var63 /* : Int */; +long var64 /* : Int */; +short int var66 /* : Bool */; +int cltype67; +int idtype68; +const char* var_class_name69; +long var70 /* : Int */; { -{ /* Inline kernel#Int#< (self,var1) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var4 = 1; /* easy isa OTHER*/ -if (unlikely(!var4)) { +{ /* Inline kernel#Int#< (self,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var3 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var3)) { 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", FILE_standard__kernel, 410); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } -var5 = self < var1; -var2 = var5; -goto RET_LABEL3; -RET_LABEL3:(void)0; +var4 = self < 0l; +var1 = var4; +goto RET_LABEL2; +RET_LABEL2:(void)0; } } -if (var2){ -var6 = 2; -var_result = var6; +if (var1){ +var_result = 2l; { { /* Inline kernel#Int#unary - (self) on */ -var9 = -self; -var7 = var9; -goto RET_LABEL8; -RET_LABEL8:(void)0; +var7 = -self; +var5 = var7; +goto RET_LABEL6; +RET_LABEL6:(void)0; } } -var_val = var7; +var_val = var5; } else { -var10 = 1; -var_result = var10; +var_result = 1l; var_val = self; } for(;;) { -var11 = 10; { -{ /* Inline kernel#Int#< (var_val,var11) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var14 = 1; /* easy isa OTHER*/ -if (unlikely(!var14)) { -var_class_name17 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name17); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +{ /* Inline kernel#Int#< (var_val,10l) on */ +/* Covariant cast for argument 0 (i) <10l:Int> isa OTHER */ +/* <10l:Int> isa OTHER */ +var10 = 1; /* easy <10l:Int> isa OTHER*/ +if (unlikely(!var10)) { +var_class_name13 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); } -var18 = var_val < var11; -var12 = var18; -goto RET_LABEL13; -RET_LABEL13:(void)0; +var14 = var_val < 10l; +var8 = var14; +goto RET_LABEL9; +RET_LABEL9:(void)0; } } -if (var12){ +if (var8){ var = var_result; goto RET_LABEL; } else { } -var19 = 100; { -{ /* Inline kernel#Int#< (var_val,var19) 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, 410); -show_backtrace(1); -} -var26 = var_val < var19; -var20 = var26; -goto RET_LABEL21; -RET_LABEL21:(void)0; -} -} -if (var20){ -var27 = 1; +{ /* Inline kernel#Int#< (var_val,100l) on */ +/* Covariant cast for argument 0 (i) <100l:Int> isa OTHER */ +/* <100l:Int> isa OTHER */ +var17 = 1; /* easy <100l:Int> isa OTHER*/ +if (unlikely(!var17)) { +var_class_name20 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); +} +var21 = var_val < 100l; +var15 = var21; +goto RET_LABEL16; +RET_LABEL16:(void)0; +} +} +if (var15){ { -{ /* Inline kernel#Int#+ (var_result,var27) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var30 = 1; /* easy isa OTHER*/ -if (unlikely(!var30)) { -var_class_name33 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var_result,1l) on */ +/* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */ +/* <1l:Int> isa OTHER */ +var24 = 1; /* easy <1l:Int> isa OTHER*/ +if (unlikely(!var24)) { +var_class_name27 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var34 = var_result + var27; -var28 = var34; -goto RET_LABEL29; -RET_LABEL29:(void)0; +var28 = var_result + 1l; +var22 = var28; +goto RET_LABEL23; +RET_LABEL23:(void)0; } } -var = var28; +var = var22; goto RET_LABEL; } else { } -var35 = 1000; { -{ /* Inline kernel#Int#< (var_val,var35) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var38 = 1; /* easy isa OTHER*/ +{ /* Inline kernel#Int#< (var_val,1000l) on */ +/* Covariant cast for argument 0 (i) <1000l:Int> isa OTHER */ +/* <1000l:Int> isa OTHER */ +var31 = 1; /* easy <1000l:Int> isa OTHER*/ +if (unlikely(!var31)) { +var_class_name34 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); +} +var35 = var_val < 1000l; +var29 = var35; +goto RET_LABEL30; +RET_LABEL30:(void)0; +} +} +if (var29){ +{ +{ /* Inline kernel#Int#+ (var_result,2l) on */ +/* Covariant cast for argument 0 (i) <2l:Int> isa OTHER */ +/* <2l:Int> isa OTHER */ +var38 = 1; /* easy <2l:Int> isa OTHER*/ if (unlikely(!var38)) { var_class_name41 = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var42 = var_val < var35; +var42 = var_result + 2l; var36 = var42; goto RET_LABEL37; RET_LABEL37:(void)0; } } -if (var36){ -var43 = 2; -{ -{ /* Inline kernel#Int#+ (var_result,var43) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var46 = 1; /* easy isa OTHER*/ -if (unlikely(!var46)) { -var_class_name49 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name49); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); -} -var50 = var_result + var43; -var44 = var50; -goto RET_LABEL45; -RET_LABEL45:(void)0; -} -} -var = var44; +var = var36; goto RET_LABEL; } else { } -var51 = 10000; { -{ /* Inline kernel#Int#< (var_val,var51) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var54 = 1; /* easy isa OTHER*/ -if (unlikely(!var54)) { -var_class_name57 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name57); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); -} -var58 = var_val < var51; -var52 = var58; -goto RET_LABEL53; -RET_LABEL53:(void)0; -} -} -if (var52){ -var59 = 3; +{ /* Inline kernel#Int#< (var_val,10000l) on */ +/* Covariant cast for argument 0 (i) <10000l:Int> isa OTHER */ +/* <10000l:Int> isa OTHER */ +var45 = 1; /* easy <10000l:Int> isa OTHER*/ +if (unlikely(!var45)) { +var_class_name48 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); +} +var49 = var_val < 10000l; +var43 = var49; +goto RET_LABEL44; +RET_LABEL44:(void)0; +} +} +if (var43){ { -{ /* Inline kernel#Int#+ (var_result,var59) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var62 = 1; /* easy isa OTHER*/ -if (unlikely(!var62)) { -var_class_name65 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name65); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); -} -var66 = var_result + var59; -var60 = var66; -goto RET_LABEL61; -RET_LABEL61:(void)0; -} -} -var = var60; +{ /* Inline kernel#Int#+ (var_result,3l) on */ +/* Covariant cast for argument 0 (i) <3l:Int> isa OTHER */ +/* <3l:Int> isa OTHER */ +var52 = 1; /* easy <3l:Int> isa OTHER*/ +if (unlikely(!var52)) { +var_class_name55 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name55); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); +} +var56 = var_result + 3l; +var50 = var56; +goto RET_LABEL51; +RET_LABEL51:(void)0; +} +} +var = var50; goto RET_LABEL; } else { } -var67 = 10000; { -{ /* Inline kernel#Int#/ (var_val,var67) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var70 = 1; /* easy isa OTHER*/ -if (unlikely(!var70)) { -var_class_name73 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name73); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 418); -show_backtrace(1); -} -var74 = var_val / var67; -var68 = var74; -goto RET_LABEL69; -RET_LABEL69:(void)0; -} -} -var_val = var68; -var75 = 4; +{ /* Inline kernel#Int#/ (var_val,10000l) on */ +/* Covariant cast for argument 0 (i) <10000l:Int> isa OTHER */ +/* <10000l:Int> isa OTHER */ +var59 = 1; /* easy <10000l:Int> isa OTHER*/ +if (unlikely(!var59)) { +var_class_name62 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name62); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 542); +fatal_exit(1); +} +var63 = var_val / 10000l; +var57 = var63; +goto RET_LABEL58; +RET_LABEL58:(void)0; +} +} +var_val = var57; { -{ /* Inline kernel#Int#+ (var_result,var75) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var78 = 1; /* easy isa OTHER*/ -if (unlikely(!var78)) { -var_class_name81 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name81); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (var_result,4l) on */ +/* Covariant cast for argument 0 (i) <4l:Int> isa OTHER */ +/* <4l:Int> isa OTHER */ +var66 = 1; /* easy <4l:Int> isa OTHER*/ +if (unlikely(!var66)) { +var_class_name69 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name69); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var82 = var_result + var75; -var76 = var82; -goto RET_LABEL77; -RET_LABEL77:(void)0; +var70 = var_result + 4l; +var64 = var70; +goto RET_LABEL65; +RET_LABEL65:(void)0; } } -var_result = var76; +var_result = var64; } RET_LABEL:; return var; } /* method kernel#Int#to_c for (self: Int): Char */ -char standard___standard__Int___to_c(long self) { -char var /* : Char */; +uint32_t standard___standard__Int___to_c(long self) { +uint32_t var /* : Char */; short int var1 /* : Bool */; -long var2 /* : Int */; -short int var3 /* : Bool */; -short int var5 /* : Bool */; +short int var2 /* : Bool */; +short int var4 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var6 /* : Bool */; +short int var5 /* : Bool */; short int var_ /* var : Bool */; -long var7 /* : Int */; +short int var6 /* : Bool */; short int var8 /* : Bool */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; -const char* var_class_name13; -short int var14 /* : Bool */; -long var15 /* : Int */; -short int var16 /* : Bool */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -const char* var_class_name21; -short int var22 /* : Bool */; -char var23 /* : Char */; -long var24 /* : Int */; -long var26 /* : Int */; -long var27 /* : Int */; -short int var29 /* : Bool */; -int cltype30; -int idtype31; -const char* var_class_name32; +int cltype9; +int idtype10; +const char* var_class_name11; +short int var12 /* : Bool */; +short int var13 /* : Bool */; +short int var15 /* : Bool */; +int cltype16; +int idtype17; +const char* var_class_name18; +short int var19 /* : Bool */; +long var20 /* : Int */; +long var22 /* : Int */; +long var23 /* : Int */; +short int var25 /* : Bool */; +int cltype26; +int idtype27; +const char* var_class_name28; +long var29 /* : Int */; +uint32_t var30 /* : Char */; +uint32_t var32 /* : Char */; long var33 /* : Int */; -char var34 /* : Char */; -char var36 /* : Char */; -char var37 /* : Char */; -long var38 /* : Int */; -long var40 /* : Int */; -long var41 /* : Int */; +long var35 /* : Int */; +long var36 /* : Int */; +short int var38 /* : Bool */; +int cltype39; +int idtype40; +const char* var_class_name41; long var42 /* : Int */; -short int var44 /* : Bool */; -int cltype45; -int idtype46; -const char* var_class_name47; -long var48 /* : Int */; +long var43 /* : Int */; +short int var45 /* : Bool */; +int cltype46; +int idtype47; +const char* var_class_name48; long var49 /* : Int */; -short int var51 /* : Bool */; -int cltype52; -int idtype53; -const char* var_class_name54; -long var55 /* : Int */; -char var56 /* : Char */; -char var58 /* : Char */; -var2 = 0; -{ -{ /* Inline kernel#Int#>= (self,var2) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var5 = 1; /* easy isa OTHER*/ -if (unlikely(!var5)) { +uint32_t var50 /* : Char */; +uint32_t var52 /* : Char */; +{ +{ /* Inline kernel#Int#>= (self,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var4 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var4)) { 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", FILE_standard__kernel, 411); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535); +fatal_exit(1); } -var6 = self >= var2; -var3 = var6; -goto RET_LABEL4; -RET_LABEL4:(void)0; +var5 = self >= 0l; +var2 = var5; +goto RET_LABEL3; +RET_LABEL3:(void)0; } } -var_ = var3; -if (var3){ -var7 = 36; +var_ = var2; +if (var2){ { -{ /* Inline kernel#Int#<= (self,var7) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var10 = 1; /* easy isa OTHER*/ -if (unlikely(!var10)) { -var_class_name13 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409); -show_backtrace(1); -} -var14 = self <= var7; -var8 = var14; -goto RET_LABEL9; -RET_LABEL9:(void)0; +{ /* Inline kernel#Int#<= (self,36l) on */ +/* Covariant cast for argument 0 (i) <36l:Int> isa OTHER */ +/* <36l:Int> isa OTHER */ +var8 = 1; /* easy <36l:Int> isa OTHER*/ +if (unlikely(!var8)) { +var_class_name11 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 533); +fatal_exit(1); +} +var12 = self <= 36l; +var6 = var12; +goto RET_LABEL7; +RET_LABEL7:(void)0; } } -var1 = var8; +var1 = var6; } else { var1 = var_; } if (unlikely(!var1)) { PRINT_ERROR("Runtime error: %s", "Assert failed"); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 554); -show_backtrace(1); -} -var15 = 10; -{ -{ /* Inline kernel#Int#< (self,var15) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var18 = 1; /* easy isa OTHER*/ -if (unlikely(!var18)) { -var_class_name21 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410); -show_backtrace(1); -} -var22 = self < var15; -var16 = var22; -goto RET_LABEL17; -RET_LABEL17:(void)0; -} +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 685); +fatal_exit(1); } -if (var16){ -var23 = '0'; { -{ /* Inline kernel#Char#ascii (var23) on */ -var26 = (unsigned char)var23; -var24 = var26; -goto RET_LABEL25; -RET_LABEL25:(void)0; +{ /* Inline kernel#Int#< (self,10l) on */ +/* Covariant cast for argument 0 (i) <10l:Int> isa OTHER */ +/* <10l:Int> isa OTHER */ +var15 = 1; /* easy <10l:Int> isa OTHER*/ +if (unlikely(!var15)) { +var_class_name18 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 534); +fatal_exit(1); +} +var19 = self < 10l; +var13 = var19; +goto RET_LABEL14; +RET_LABEL14:(void)0; } } +if (var13){ { -{ /* Inline kernel#Int#+ (self,var24) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var29 = 1; /* easy isa OTHER*/ -if (unlikely(!var29)) { -var_class_name32 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name32); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Char#ascii ('0') on <'0':Char> */ +var22 = (long)'0'; +var20 = var22; +goto RET_LABEL21; +RET_LABEL21:(void)0; } -var33 = self + var24; -var27 = var33; -goto RET_LABEL28; -RET_LABEL28:(void)0; +} +{ +{ /* Inline kernel#Int#+ (self,var20) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var25 = 1; /* easy isa OTHER*/ +if (unlikely(!var25)) { +var_class_name28 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); +} +var29 = self + var20; +var23 = var29; +goto RET_LABEL24; +RET_LABEL24:(void)0; } } { -{ /* Inline kernel#Int#ascii (var27) on */ -var36 = var27; -var34 = var36; -goto RET_LABEL35; -RET_LABEL35:(void)0; +{ /* Inline kernel#Int#ascii (var23) on */ +var32 = (uint32_t)var23; +var30 = var32; +goto RET_LABEL31; +RET_LABEL31:(void)0; } } -var = var34; +var = var30; goto RET_LABEL; } else { -var37 = 'a'; { -{ /* Inline kernel#Char#ascii (var37) on */ -var40 = (unsigned char)var37; -var38 = var40; -goto RET_LABEL39; -RET_LABEL39:(void)0; +{ /* Inline kernel#Char#ascii ('a') on <'a':Char> */ +var35 = (long)'a'; +var33 = var35; +goto RET_LABEL34; +RET_LABEL34:(void)0; } } -var41 = 10; { -{ /* Inline kernel#Int#- (var38,var41) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var44 = 1; /* easy isa OTHER*/ -if (unlikely(!var44)) { -var_class_name47 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name47); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); +{ /* Inline kernel#Int#- (var33,10l) on */ +/* Covariant cast for argument 0 (i) <10l:Int> isa OTHER */ +/* <10l:Int> isa OTHER */ +var38 = 1; /* easy <10l:Int> isa OTHER*/ +if (unlikely(!var38)) { +var_class_name41 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); } -var48 = var38 - var41; -var42 = var48; -goto RET_LABEL43; -RET_LABEL43:(void)0; +var42 = var33 - 10l; +var36 = var42; +goto RET_LABEL37; +RET_LABEL37:(void)0; } } { -{ /* Inline kernel#Int#+ (self,var42) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var51 = 1; /* easy isa OTHER*/ -if (unlikely(!var51)) { -var_class_name54 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name54); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); +{ /* Inline kernel#Int#+ (self,var36) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var45 = 1; /* easy isa OTHER*/ +if (unlikely(!var45)) { +var_class_name48 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name48); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var55 = self + var42; -var49 = var55; -goto RET_LABEL50; -RET_LABEL50:(void)0; +var49 = self + var36; +var43 = var49; +goto RET_LABEL44; +RET_LABEL44:(void)0; } } { -{ /* Inline kernel#Int#ascii (var49) on */ -var58 = var49; -var56 = var58; -goto RET_LABEL57; -RET_LABEL57:(void)0; +{ /* Inline kernel#Int#ascii (var43) on */ +var52 = (uint32_t)var43; +var50 = var52; +goto RET_LABEL51; +RET_LABEL51:(void)0; } } -var = var56; +var = var50; goto RET_LABEL; } RET_LABEL:; @@ -2902,78 +3824,74 @@ return var; /* method kernel#Int#abs for (self: Int): Int */ long standard___standard__Int___abs(long self) { long var /* : Int */; -long var1 /* : Int */; -short int var2 /* : Bool */; -short int var4 /* : Bool */; +short int var1 /* : Bool */; +short int var3 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var5 /* : Bool */; -long var6 /* : Int */; +short int var4 /* : Bool */; +long var5 /* : Int */; long var7 /* : Int */; -long var9 /* : Int */; -long var10 /* : Int */; -short int var12 /* : Bool */; -int cltype13; -int idtype14; -const char* var_class_name15; -long var16 /* : Int */; -var1 = 0; +long var8 /* : Int */; +short int var10 /* : Bool */; +int cltype11; +int idtype12; +const char* var_class_name13; +long var14 /* : Int */; { -{ /* Inline kernel#Int#>= (self,var1) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var4 = 1; /* easy isa OTHER*/ -if (unlikely(!var4)) { +{ /* Inline kernel#Int#>= (self,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var3 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var3)) { 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", FILE_standard__kernel, 411); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535); +fatal_exit(1); } -var5 = self >= var1; -var2 = var5; -goto RET_LABEL3; -RET_LABEL3:(void)0; +var4 = self >= 0l; +var1 = var4; +goto RET_LABEL2; +RET_LABEL2:(void)0; } } -if (var2){ +if (var1){ var = self; goto RET_LABEL; } else { -var6 = 1; { -{ /* Inline kernel#Int#unary - (var6) on */ -var9 = -var6; -var7 = var9; -goto RET_LABEL8; -RET_LABEL8:(void)0; +{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */ +var7 = -1l; +var5 = var7; +goto RET_LABEL6; +RET_LABEL6:(void)0; } } { -{ /* Inline kernel#Int#* (var7,self) on */ +{ /* Inline kernel#Int#* (var5,self) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -var12 = 1; /* easy isa OTHER*/ -if (unlikely(!var12)) { -var_class_name15 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name15); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 417); -show_backtrace(1); -} -var16 = var7 * self; -var10 = var16; -goto RET_LABEL11; -RET_LABEL11:(void)0; +var10 = 1; /* easy isa OTHER*/ +if (unlikely(!var10)) { +var_class_name13 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 541); +fatal_exit(1); } +var14 = var5 * self; +var8 = var14; +goto RET_LABEL9; +RET_LABEL9:(void)0; } -var = var10; +} +var = var8; goto RET_LABEL; } RET_LABEL:; return var; } /* method kernel#Char#object_id for (self: Char): Int */ -long standard___standard__Char___Object__object_id(char self) { +long standard___standard__Char___Object__object_id(uint32_t self) { long var /* : Int */; long var1 /* : Int */; var1 = (long)self; @@ -2986,10 +3904,10 @@ return var; long VIRTUAL_standard___standard__Char___Object__object_id(val* self) { long var /* : Int */; long var1 /* : Int */; -char var3 /* : Char */; +uint32_t var3 /* : Char */; long var4 /* : Int */; { /* Inline kernel#Char#object_id (self) on */ -var3 = ((struct instance_standard__Char*)self)->value; /* autounbox from Object to Char */; +var3 = (uint32_t)((long)(self)>>2); var4 = (long)var3; var1 = var4; goto RET_LABEL2; @@ -3000,13 +3918,13 @@ RET_LABEL:; return var; } /* method kernel#Char#hash for (self: Char): Int */ -long standard___standard__Char___Object__hash(char self) { +long standard___standard__Char___Object__hash(uint32_t self) { long var /* : Int */; long var1 /* : Int */; long var3 /* : Int */; { { /* Inline kernel#Char#ascii (self) on */ -var3 = (unsigned char)self; +var3 = (long)self; var1 = var3; goto RET_LABEL2; RET_LABEL2:(void)0; @@ -3021,23 +3939,20 @@ return var; long VIRTUAL_standard___standard__Char___Object__hash(val* self) { long var /* : Int */; long var1 /* : Int */; -char var2 /* : Char */; -var2 = ((struct instance_standard__Char*)self)->value; /* autounbox from Object to Char */; +uint32_t var2 /* : Char */; +var2 = (uint32_t)((long)(self)>>2); var1 = standard___standard__Char___Object__hash(var2); var = var1; RET_LABEL:; return var; } /* method kernel#Char#== for (self: Char, nullable Object): Bool */ -short int standard___standard__Char___Object___61d_61d(char self, val* p0) { +short int standard___standard__Char___Object___61d_61d(uint32_t self, val* p0) { short int var /* : Bool */; short int var1 /* : Bool */; -char var2 /* : Char */; -var1 = (p0 != NULL) && (p0->class == &class_standard__Char); -if (var1) { -var2 = ((struct instance_standard__Char*)p0)->value; /* autounbox from nullable Object to Char */; -var1 = (var2 == self); -} +uint32_t var2 /* : Char */; +var2 = (uint32_t)((long)(p0)>>2); +var1 = (p0 != NULL) && (var2 == self); var = var1; goto RET_LABEL; RET_LABEL:; @@ -3049,7 +3964,7 @@ short int var /* : Bool */; short int var1 /* : Bool */; short int var3 /* : Bool */; { /* Inline kernel#Char#== (self,p0) on */ -var3 = self == p0 || (p0 != NULL && self->class == p0->class && ((struct instance_standard__Char*)self)->value == ((struct instance_standard__Char*)p0)->value); +var3 = self == p0; var1 = var3; goto RET_LABEL2; RET_LABEL2:(void)0; @@ -3059,16 +3974,13 @@ RET_LABEL:; return var; } /* method kernel#Char#!= for (self: Char, nullable Object): Bool */ -short int standard___standard__Char___Object___33d_61d(char self, val* p0) { +short int standard___standard__Char___Object___33d_61d(uint32_t self, val* p0) { short int var /* : Bool */; short int var1 /* : Bool */; -char var2 /* : Char */; +uint32_t var2 /* : Char */; short int var3 /* : Bool */; -var1 = (p0 != NULL) && (p0->class == &class_standard__Char); -if (var1) { -var2 = ((struct instance_standard__Char*)p0)->value; /* autounbox from nullable Object to Char */; -var1 = (var2 == self); -} +var2 = (uint32_t)((long)(p0)>>2); +var1 = (p0 != NULL) && (var2 == self); var3 = !var1; var = var3; goto RET_LABEL; @@ -3082,7 +3994,7 @@ short int var1 /* : Bool */; short int var3 /* : Bool */; short int var4 /* : Bool */; { /* Inline kernel#Char#!= (self,p0) on */ -var3 = self == p0 || (p0 != NULL && self->class == p0->class && ((struct instance_standard__Char*)self)->value == ((struct instance_standard__Char*)p0)->value); +var3 = self == p0; var4 = !var3; var1 = var4; goto RET_LABEL2; @@ -3093,7 +4005,7 @@ RET_LABEL:; return var; } /* method kernel#Char#<= for (self: Char, Char): Bool */ -short int standard___standard__Char___Comparable___60d_61d(char self, char p0) { +short int standard___standard__Char___Comparable___60d_61d(uint32_t self, uint32_t p0) { short int var /* : Bool */; short int var1 /* : Bool */; int cltype; @@ -3106,8 +4018,8 @@ var1 = 1; /* easy isa OTHER*/ if (unlikely(!var1)) { var_class_name = type_standard__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 591); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 722); +fatal_exit(1); } var2 = self <= p0; var = var2; @@ -3124,28 +4036,28 @@ int cltype; int idtype; const struct type* type_struct; const char* var_class_name; -char var4 /* : Char */; -char var5 /* : Char */; +uint32_t var4 /* : Char */; +uint32_t var5 /* : Char */; short int var6 /* : Bool */; { /* Inline kernel#Char#<= (self,p0) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; cltype = type_struct->color; idtype = type_struct->id; -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var3 = 0; } else { -var3 = p0->type->type_table[cltype] == idtype; +var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } if (unlikely(!var3)) { -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`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 591); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 722); +fatal_exit(1); } -var4 = ((struct instance_standard__Char*)self)->value; /* autounbox from Comparable to Char */; -var5 = ((struct instance_standard__Char*)p0)->value; /* autounbox from Comparable to Char */; +var4 = (uint32_t)((long)(self)>>2); +var5 = (uint32_t)((long)(p0)>>2); var6 = var4 <= var5; var1 = var6; goto RET_LABEL2; @@ -3156,7 +4068,7 @@ RET_LABEL:; return var; } /* method kernel#Char#< for (self: Char, Char): Bool */ -short int standard___standard__Char___Comparable___60d(char self, char p0) { +short int standard___standard__Char___Comparable___60d(uint32_t self, uint32_t p0) { short int var /* : Bool */; short int var1 /* : Bool */; int cltype; @@ -3169,8 +4081,8 @@ var1 = 1; /* easy isa OTHER*/ if (unlikely(!var1)) { var_class_name = type_standard__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 592); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 723); +fatal_exit(1); } var2 = self < p0; var = var2; @@ -3187,28 +4099,28 @@ int cltype; int idtype; const struct type* type_struct; const char* var_class_name; -char var4 /* : Char */; -char var5 /* : Char */; +uint32_t var4 /* : Char */; +uint32_t var5 /* : Char */; short int var6 /* : Bool */; { /* Inline kernel#Char#< (self,p0) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; cltype = type_struct->color; idtype = type_struct->id; -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var3 = 0; } else { -var3 = p0->type->type_table[cltype] == idtype; +var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } if (unlikely(!var3)) { -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`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 592); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 723); +fatal_exit(1); } -var4 = ((struct instance_standard__Char*)self)->value; /* autounbox from Comparable to Char */; -var5 = ((struct instance_standard__Char*)p0)->value; /* autounbox from Comparable to Char */; +var4 = (uint32_t)((long)(self)>>2); +var5 = (uint32_t)((long)(p0)>>2); var6 = var4 < var5; var1 = var6; goto RET_LABEL2; @@ -3219,7 +4131,7 @@ RET_LABEL:; return var; } /* method kernel#Char#>= for (self: Char, Char): Bool */ -short int standard___standard__Char___Comparable___62d_61d(char self, char p0) { +short int standard___standard__Char___Comparable___62d_61d(uint32_t self, uint32_t p0) { short int var /* : Bool */; short int var1 /* : Bool */; int cltype; @@ -3232,8 +4144,8 @@ var1 = 1; /* easy isa OTHER*/ if (unlikely(!var1)) { var_class_name = type_standard__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 593); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 724); +fatal_exit(1); } var2 = self >= p0; var = var2; @@ -3250,28 +4162,28 @@ int cltype; int idtype; const struct type* type_struct; const char* var_class_name; -char var4 /* : Char */; -char var5 /* : Char */; +uint32_t var4 /* : Char */; +uint32_t var5 /* : Char */; short int var6 /* : Bool */; { /* Inline kernel#Char#>= (self,p0) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; cltype = type_struct->color; idtype = type_struct->id; -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var3 = 0; } else { -var3 = p0->type->type_table[cltype] == idtype; +var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } if (unlikely(!var3)) { -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`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 593); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 724); +fatal_exit(1); } -var4 = ((struct instance_standard__Char*)self)->value; /* autounbox from Comparable to Char */; -var5 = ((struct instance_standard__Char*)p0)->value; /* autounbox from Comparable to Char */; +var4 = (uint32_t)((long)(self)>>2); +var5 = (uint32_t)((long)(p0)>>2); var6 = var4 >= var5; var1 = var6; goto RET_LABEL2; @@ -3282,7 +4194,7 @@ RET_LABEL:; return var; } /* method kernel#Char#> for (self: Char, Char): Bool */ -short int standard___standard__Char___Comparable___62d(char self, char p0) { +short int standard___standard__Char___Comparable___62d(uint32_t self, uint32_t p0) { short int var /* : Bool */; short int var1 /* : Bool */; int cltype; @@ -3295,8 +4207,8 @@ var1 = 1; /* easy isa OTHER*/ if (unlikely(!var1)) { var_class_name = type_standard__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 594); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 725); +fatal_exit(1); } var2 = self > p0; var = var2; @@ -3313,28 +4225,28 @@ int cltype; int idtype; const struct type* type_struct; const char* var_class_name; -char var4 /* : Char */; -char var5 /* : Char */; +uint32_t var4 /* : Char */; +uint32_t var5 /* : Char */; short int var6 /* : Bool */; { /* Inline kernel#Char#> (self,p0) on */ /* Covariant cast for argument 0 (i) isa OTHER */ /* isa OTHER */ -type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; +type_struct = (((long)self&3)?type_info[((long)self&3)]:self->type)->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER]; cltype = type_struct->color; idtype = type_struct->id; -if(cltype >= p0->type->table_size) { +if(cltype >= (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->table_size) { var3 = 0; } else { -var3 = p0->type->type_table[cltype] == idtype; +var3 = (((long)p0&3)?type_info[((long)p0&3)]:p0->type)->type_table[cltype] == idtype; } if (unlikely(!var3)) { -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`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 594); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 725); +fatal_exit(1); } -var4 = ((struct instance_standard__Char*)self)->value; /* autounbox from Comparable to Char */; -var5 = ((struct instance_standard__Char*)p0)->value; /* autounbox from Comparable to Char */; +var4 = (uint32_t)((long)(self)>>2); +var5 = (uint32_t)((long)(p0)>>2); var6 = var4 > var5; var1 = var6; goto RET_LABEL2; @@ -3345,9 +4257,9 @@ RET_LABEL:; return var; } /* method kernel#Char#successor for (self: Char, Int): Char */ -char standard___standard__Char___Discrete__successor(char self, long p0) { -char var /* : Char */; -char var1 /* : Char */; +uint32_t standard___standard__Char___Discrete__successor(uint32_t self, long p0) { +uint32_t var /* : Char */; +uint32_t var1 /* : Char */; var1 = self + p0; var = var1; goto RET_LABEL; @@ -3357,30 +4269,30 @@ return var; /* method kernel#Char#successor for (self: Discrete, Int): Discrete */ val* VIRTUAL_standard___standard__Char___Discrete__successor(val* self, long p0) { val* var /* : Discrete */; -char var1 /* : Char */; -char var3 /* : Char */; -char var4 /* : Char */; +uint32_t var1 /* : Char */; +uint32_t var3 /* : Char */; +uint32_t var4 /* : Char */; val* var5 /* : Discrete */; { /* Inline kernel#Char#successor (self,p0) on */ -var3 = ((struct instance_standard__Char*)self)->value; /* autounbox from Discrete to Char */; +var3 = (uint32_t)((long)(self)>>2); var4 = var3 + p0; var1 = var4; goto RET_LABEL2; RET_LABEL2:(void)0; } -var5 = BOX_standard__Char(var1); /* autobox from Char to Discrete */ +var5 = (val*)((long)(var1)<<2|2); var = var5; RET_LABEL:; return var; } /* method kernel#Char#distance for (self: Char, Char): Int */ -long standard___standard__Char___Discrete__distance(char self, char p0) { +long standard___standard__Char___Discrete__distance(uint32_t self, uint32_t p0) { long var /* : Int */; short int var1 /* : Bool */; int cltype; int idtype; const char* var_class_name; -char var_c /* var c: Char */; +uint32_t var_c /* var c: Char */; long var2 /* : Int */; long var4 /* : Int */; long var5 /* : Int */; @@ -3392,28 +4304,27 @@ int idtype12; const char* var_class_name13; long var14 /* : Int */; long var_d /* var d: Int */; -long var15 /* : Int */; -short int var16 /* : Bool */; -short int var18 /* : Bool */; -int cltype19; -int idtype20; -const char* var_class_name21; -short int var22 /* : Bool */; -long var23 /* : Int */; -long var25 /* : Int */; +short int var15 /* : Bool */; +short int var17 /* : Bool */; +int cltype18; +int idtype19; +const char* var_class_name20; +short int var21 /* : Bool */; +long var22 /* : Int */; +long var24 /* : Int */; /* Covariant cast for argument 0 (c) isa OTHER */ /* isa OTHER */ var1 = 1; /* easy isa OTHER*/ if (unlikely(!var1)) { var_class_name = type_standard__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 599); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 730); +fatal_exit(1); } var_c = p0; { { /* Inline kernel#Char#ascii (self) on */ -var4 = (unsigned char)self; +var4 = (long)self; var2 = var4; goto RET_LABEL3; RET_LABEL3:(void)0; @@ -3421,7 +4332,7 @@ RET_LABEL3:(void)0; } { { /* Inline kernel#Char#ascii (var_c) on */ -var7 = (unsigned char)var_c; +var7 = (long)var_c; var5 = var7; goto RET_LABEL6; RET_LABEL6:(void)0; @@ -3435,8 +4346,8 @@ var10 = 1; /* easy isa OTHER*/ if (unlikely(!var10)) { var_class_name13 = type_standard__Int.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); } var14 = var2 - var5; var8 = var14; @@ -3445,37 +4356,36 @@ RET_LABEL9:(void)0; } } var_d = var8; -var15 = 0; -{ -{ /* Inline kernel#Int#>= (var_d,var15) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var18 = 1; /* easy isa OTHER*/ -if (unlikely(!var18)) { -var_class_name21 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name21); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 411); -show_backtrace(1); -} -var22 = var_d >= var15; -var16 = var22; -goto RET_LABEL17; -RET_LABEL17:(void)0; -} -} -if (var16){ +{ +{ /* Inline kernel#Int#>= (var_d,0l) on */ +/* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */ +/* <0l:Int> isa OTHER */ +var17 = 1; /* easy <0l:Int> isa OTHER*/ +if (unlikely(!var17)) { +var_class_name20 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name20); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 535); +fatal_exit(1); +} +var21 = var_d >= 0l; +var15 = var21; +goto RET_LABEL16; +RET_LABEL16:(void)0; +} +} +if (var15){ var = var_d; goto RET_LABEL; } else { { { /* Inline kernel#Int#unary - (var_d) on */ -var25 = -var_d; -var23 = var25; -goto RET_LABEL24; -RET_LABEL24:(void)0; +var24 = -var_d; +var22 = var24; +goto RET_LABEL23; +RET_LABEL23:(void)0; } } -var = var23; +var = var22; goto RET_LABEL; } RET_LABEL:; @@ -3485,174 +4395,164 @@ return var; long VIRTUAL_standard___standard__Char___Discrete__distance(val* self, val* p0) { long var /* : Int */; long var1 /* : Int */; -char var2 /* : Char */; -char var3 /* : Char */; -var2 = ((struct instance_standard__Char*)self)->value; /* autounbox from Discrete to Char */; -var3 = ((struct instance_standard__Char*)p0)->value; /* autounbox from Discrete to Char */; +uint32_t var2 /* : Char */; +uint32_t var3 /* : Char */; +var2 = (uint32_t)((long)(self)>>2); +var3 = (uint32_t)((long)(p0)>>2); var1 = standard___standard__Char___Discrete__distance(var2, var3); var = var1; RET_LABEL:; return var; } /* method kernel#Char#to_i for (self: Char): Int */ -long standard___standard__Char___to_i(char self) { +long standard___standard__Char___to_i(uint32_t self) { long var /* : Int */; -char var1 /* : Char */; -short int var2 /* : Bool */; -short int var4 /* : Bool */; -long var5 /* : Int */; +short int var1 /* : Bool */; +short int var3 /* : Bool */; +long var4 /* : Int */; long var6 /* : Int */; +short int var7 /* : Bool */; long var8 /* : Int */; -short int var9 /* : Bool */; long var10 /* : Int */; -long var12 /* : Int */; -char var13 /* : Char */; +long var11 /* : Int */; +long var13 /* : Int */; long var14 /* : Int */; -long var16 /* : Int */; -long var17 /* : Int */; -short int var19 /* : Bool */; +short int var16 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var20 /* : Int */; -char var21 /* : Char */; +long var17 /* : Int */; +uint32_t var18 /* : Char */; +long var19 /* : Int */; +long var21 /* : Int */; long var22 /* : Int */; long var24 /* : Int */; -char var25 /* : Char */; -long var26 /* : Int */; -long var28 /* : Int */; -long var29 /* : Int */; -short int var31 /* : Bool */; -int cltype32; -int idtype33; -const char* var_class_name34; -long var35 /* : Int */; -long var36 /* : Int */; -long var37 /* : Int */; -short int var39 /* : Bool */; -int cltype40; -int idtype41; -const char* var_class_name42; -long var43 /* : Int */; -var1 = '-'; +long var25 /* : Int */; +short int var27 /* : Bool */; +int cltype28; +int idtype29; +const char* var_class_name30; +long var31 /* : Int */; +long var32 /* : Int */; +short int var34 /* : Bool */; +int cltype35; +int idtype36; +const char* var_class_name37; +long var38 /* : Int */; { -{ /* Inline kernel#Char#== (self,var1) on */ -var4 = self == var1; -var2 = var4; -goto RET_LABEL3; -RET_LABEL3:(void)0; +{ /* Inline kernel#Char#== (self,'-') on */ +var3 = self == '-'; +var1 = var3; +goto RET_LABEL2; +RET_LABEL2:(void)0; } } -if (var2){ -var5 = 1; +if (var1){ { -{ /* Inline kernel#Int#unary - (var5) on */ -var8 = -var5; -var6 = var8; -goto RET_LABEL7; -RET_LABEL7:(void)0; +{ /* Inline kernel#Int#unary - (1l) on <1l:Int> */ +var6 = -1l; +var4 = var6; +goto RET_LABEL5; +RET_LABEL5:(void)0; } } -var = var6; +var = var4; goto RET_LABEL; } else { { -var9 = standard___standard__Char___is_digit(self); +var7 = standard___standard__Char___is_digit(self); } -if (var9){ +if (var7){ { { /* Inline kernel#Char#ascii (self) on */ -var12 = (unsigned char)self; -var10 = var12; -goto RET_LABEL11; -RET_LABEL11:(void)0; +var10 = (long)self; +var8 = var10; +goto RET_LABEL9; +RET_LABEL9:(void)0; } } -var13 = '0'; { -{ /* Inline kernel#Char#ascii (var13) on */ -var16 = (unsigned char)var13; -var14 = var16; -goto RET_LABEL15; -RET_LABEL15:(void)0; +{ /* Inline kernel#Char#ascii ('0') on <'0':Char> */ +var13 = (long)'0'; +var11 = var13; +goto RET_LABEL12; +RET_LABEL12:(void)0; } } { -{ /* Inline kernel#Int#- (var10,var14) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var19 = 1; /* easy isa OTHER*/ -if (unlikely(!var19)) { +{ /* Inline kernel#Int#- (var8,var11) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var16 = 1; /* easy isa OTHER*/ +if (unlikely(!var16)) { 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", FILE_standard__kernel, 416); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); } -var20 = var10 - var14; -var17 = var20; -goto RET_LABEL18; -RET_LABEL18:(void)0; +var17 = var8 - var11; +var14 = var17; +goto RET_LABEL15; +RET_LABEL15:(void)0; } } -var = var17; +var = var14; goto RET_LABEL; } else { { -var21 = standard___standard__Char___to_lower(self); +var18 = standard___standard__Char___to_lower(self); } { -{ /* Inline kernel#Char#ascii (var21) on */ -var24 = (unsigned char)var21; -var22 = var24; -goto RET_LABEL23; -RET_LABEL23:(void)0; +{ /* Inline kernel#Char#ascii (var18) on */ +var21 = (long)var18; +var19 = var21; +goto RET_LABEL20; +RET_LABEL20:(void)0; } } -var25 = 'a'; { -{ /* Inline kernel#Char#ascii (var25) on */ -var28 = (unsigned char)var25; -var26 = var28; -goto RET_LABEL27; -RET_LABEL27:(void)0; +{ /* Inline kernel#Char#ascii ('a') on <'a':Char> */ +var24 = (long)'a'; +var22 = var24; +goto RET_LABEL23; +RET_LABEL23:(void)0; } } { -{ /* Inline kernel#Int#- (var22,var26) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var31 = 1; /* easy isa OTHER*/ -if (unlikely(!var31)) { -var_class_name34 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416); -show_backtrace(1); -} -var35 = var22 - var26; -var29 = var35; -goto RET_LABEL30; -RET_LABEL30:(void)0; +{ /* Inline kernel#Int#- (var19,var22) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var27 = 1; /* easy isa OTHER*/ +if (unlikely(!var27)) { +var_class_name30 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name30); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); +} +var31 = var19 - var22; +var25 = var31; +goto RET_LABEL26; +RET_LABEL26:(void)0; } } -var36 = 10; { -{ /* Inline kernel#Int#+ (var29,var36) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var39 = 1; /* easy isa OTHER*/ -if (unlikely(!var39)) { -var_class_name42 = type_standard__Int.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name42); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413); -show_backtrace(1); -} -var43 = var29 + var36; -var37 = var43; -goto RET_LABEL38; -RET_LABEL38:(void)0; -} -} -var = var37; +{ /* Inline kernel#Int#+ (var25,10l) on */ +/* Covariant cast for argument 0 (i) <10l:Int> isa OTHER */ +/* <10l:Int> isa OTHER */ +var34 = 1; /* easy <10l:Int> isa OTHER*/ +if (unlikely(!var34)) { +var_class_name37 = type_standard__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name37); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); +} +var38 = var25 + 10l; +var32 = var38; +goto RET_LABEL33; +RET_LABEL33:(void)0; +} +} +var = var32; goto RET_LABEL; } } @@ -3660,75 +4560,71 @@ RET_LABEL:; return var; } /* method kernel#Char#ascii for (self: Char): Int */ -long standard___standard__Char___ascii(char self) { +long standard___standard__Char___ascii(uint32_t self) { long var /* : Int */; long var1 /* : Int */; -var1 = (unsigned char)self; +var1 = (long)self; var = var1; goto RET_LABEL; RET_LABEL:; return var; } /* method kernel#Char#to_lower for (self: Char): Char */ -char standard___standard__Char___to_lower(char self) { -char var /* : Char */; +uint32_t standard___standard__Char___to_lower(uint32_t self) { +uint32_t var /* : Char */; short int var1 /* : Bool */; long var2 /* : Int */; long var4 /* : Int */; -char var5 /* : Char */; -char var6 /* : Char */; -long var7 /* : Int */; -long var8 /* : Int */; -short int var10 /* : Bool */; +long var5 /* : Int */; +long var6 /* : Int */; +short int var8 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var11 /* : Int */; -char var12 /* : Char */; -char var14 /* : Char */; +long var9 /* : Int */; +uint32_t var10 /* : Char */; +uint32_t var12 /* : Char */; { var1 = standard___standard__Char___is_upper(self); } if (var1){ { { /* Inline kernel#Char#ascii (self) on */ -var4 = (unsigned char)self; +var4 = (long)self; var2 = var4; goto RET_LABEL3; RET_LABEL3:(void)0; } } -var5 = 'a'; -var6 = 'A'; { -var7 = standard___standard__Char___Discrete__distance(var5, var6); +var5 = standard___standard__Char___Discrete__distance('a', 'A'); } { -{ /* Inline kernel#Int#+ (var2,var7) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var10 = 1; /* easy isa OTHER*/ -if (unlikely(!var10)) { +{ /* Inline kernel#Int#+ (var2,var5) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var8 = 1; /* easy isa OTHER*/ +if (unlikely(!var8)) { 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", FILE_standard__kernel, 413); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 537); +fatal_exit(1); } -var11 = var2 + var7; -var8 = var11; -goto RET_LABEL9; -RET_LABEL9:(void)0; +var9 = var2 + var5; +var6 = var9; +goto RET_LABEL7; +RET_LABEL7:(void)0; } } { -{ /* Inline kernel#Int#ascii (var8) on */ -var14 = var8; -var12 = var14; -goto RET_LABEL13; -RET_LABEL13:(void)0; +{ /* Inline kernel#Int#ascii (var6) on */ +var12 = (uint32_t)var6; +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } } -var = var12; +var = var10; goto RET_LABEL; } else { var = self; @@ -3738,65 +4634,61 @@ RET_LABEL:; return var; } /* method kernel#Char#to_upper for (self: Char): Char */ -char standard___standard__Char___to_upper(char self) { -char var /* : Char */; +uint32_t standard___standard__Char___to_upper(uint32_t self) { +uint32_t var /* : Char */; short int var1 /* : Bool */; long var2 /* : Int */; long var4 /* : Int */; -char var5 /* : Char */; -char var6 /* : Char */; -long var7 /* : Int */; -long var8 /* : Int */; -short int var10 /* : Bool */; +long var5 /* : Int */; +long var6 /* : Int */; +short int var8 /* : Bool */; int cltype; int idtype; const char* var_class_name; -long var11 /* : Int */; -char var12 /* : Char */; -char var14 /* : Char */; +long var9 /* : Int */; +uint32_t var10 /* : Char */; +uint32_t var12 /* : Char */; { var1 = standard___standard__Char___is_lower(self); } if (var1){ { { /* Inline kernel#Char#ascii (self) on */ -var4 = (unsigned char)self; +var4 = (long)self; var2 = var4; goto RET_LABEL3; RET_LABEL3:(void)0; } } -var5 = 'a'; -var6 = 'A'; { -var7 = standard___standard__Char___Discrete__distance(var5, var6); +var5 = standard___standard__Char___Discrete__distance('a', 'A'); } { -{ /* Inline kernel#Int#- (var2,var7) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var10 = 1; /* easy isa OTHER*/ -if (unlikely(!var10)) { +{ /* Inline kernel#Int#- (var2,var5) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var8 = 1; /* easy isa OTHER*/ +if (unlikely(!var8)) { 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", FILE_standard__kernel, 416); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 540); +fatal_exit(1); } -var11 = var2 - var7; -var8 = var11; -goto RET_LABEL9; -RET_LABEL9:(void)0; +var9 = var2 - var5; +var6 = var9; +goto RET_LABEL7; +RET_LABEL7:(void)0; } } { -{ /* Inline kernel#Int#ascii (var8) on */ -var14 = var8; -var12 = var14; -goto RET_LABEL13; -RET_LABEL13:(void)0; +{ /* Inline kernel#Int#ascii (var6) on */ +var12 = (uint32_t)var6; +var10 = var12; +goto RET_LABEL11; +RET_LABEL11:(void)0; } } -var = var12; +var = var10; goto RET_LABEL; } else { var = self; @@ -3806,63 +4698,59 @@ RET_LABEL:; return var; } /* method kernel#Char#is_digit for (self: Char): Bool */ -short int standard___standard__Char___is_digit(char self) { +short int standard___standard__Char___is_digit(uint32_t self) { short int var /* : Bool */; short int var1 /* : Bool */; -char var2 /* : Char */; -short int var3 /* : Bool */; -short int var5 /* : Bool */; +short int var2 /* : Bool */; +short int var4 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var6 /* : Bool */; +short int var5 /* : Bool */; short int var_ /* var : Bool */; -char var7 /* : Char */; +short int var6 /* : Bool */; short int var8 /* : Bool */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; -const char* var_class_name13; -short int var14 /* : Bool */; -var2 = '0'; +int cltype9; +int idtype10; +const char* var_class_name11; +short int var12 /* : Bool */; { -{ /* Inline kernel#Char#>= (self,var2) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var5 = 1; /* easy isa OTHER*/ -if (unlikely(!var5)) { +{ /* Inline kernel#Char#>= (self,'0') on */ +/* Covariant cast for argument 0 (i) <'0':Char> isa OTHER */ +/* <'0':Char> isa OTHER */ +var4 = 1; /* easy <'0':Char> isa OTHER*/ +if (unlikely(!var4)) { var_class_name = type_standard__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 593); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 724); +fatal_exit(1); } -var6 = self >= var2; -var3 = var6; -goto RET_LABEL4; -RET_LABEL4:(void)0; +var5 = self >= '0'; +var2 = var5; +goto RET_LABEL3; +RET_LABEL3:(void)0; } } -var_ = var3; -if (var3){ -var7 = '9'; +var_ = var2; +if (var2){ { -{ /* Inline kernel#Char#<= (self,var7) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var10 = 1; /* easy isa OTHER*/ -if (unlikely(!var10)) { -var_class_name13 = type_standard__Char.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 591); -show_backtrace(1); -} -var14 = self <= var7; -var8 = var14; -goto RET_LABEL9; -RET_LABEL9:(void)0; +{ /* Inline kernel#Char#<= (self,'9') on */ +/* Covariant cast for argument 0 (i) <'9':Char> isa OTHER */ +/* <'9':Char> isa OTHER */ +var8 = 1; /* easy <'9':Char> isa OTHER*/ +if (unlikely(!var8)) { +var_class_name11 = type_standard__Char.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 722); +fatal_exit(1); +} +var12 = self <= '9'; +var6 = var12; +goto RET_LABEL7; +RET_LABEL7:(void)0; } } -var1 = var8; +var1 = var6; } else { var1 = var_; } @@ -3872,63 +4760,59 @@ RET_LABEL:; return var; } /* method kernel#Char#is_lower for (self: Char): Bool */ -short int standard___standard__Char___is_lower(char self) { +short int standard___standard__Char___is_lower(uint32_t self) { short int var /* : Bool */; short int var1 /* : Bool */; -char var2 /* : Char */; -short int var3 /* : Bool */; -short int var5 /* : Bool */; +short int var2 /* : Bool */; +short int var4 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var6 /* : Bool */; +short int var5 /* : Bool */; short int var_ /* var : Bool */; -char var7 /* : Char */; +short int var6 /* : Bool */; short int var8 /* : Bool */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; -const char* var_class_name13; -short int var14 /* : Bool */; -var2 = 'a'; +int cltype9; +int idtype10; +const char* var_class_name11; +short int var12 /* : Bool */; { -{ /* Inline kernel#Char#>= (self,var2) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var5 = 1; /* easy isa OTHER*/ -if (unlikely(!var5)) { +{ /* Inline kernel#Char#>= (self,'a') on */ +/* Covariant cast for argument 0 (i) <'a':Char> isa OTHER */ +/* <'a':Char> isa OTHER */ +var4 = 1; /* easy <'a':Char> isa OTHER*/ +if (unlikely(!var4)) { var_class_name = type_standard__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 593); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 724); +fatal_exit(1); } -var6 = self >= var2; -var3 = var6; -goto RET_LABEL4; -RET_LABEL4:(void)0; +var5 = self >= 'a'; +var2 = var5; +goto RET_LABEL3; +RET_LABEL3:(void)0; } } -var_ = var3; -if (var3){ -var7 = 'z'; +var_ = var2; +if (var2){ { -{ /* Inline kernel#Char#<= (self,var7) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var10 = 1; /* easy isa OTHER*/ -if (unlikely(!var10)) { -var_class_name13 = type_standard__Char.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 591); -show_backtrace(1); -} -var14 = self <= var7; -var8 = var14; -goto RET_LABEL9; -RET_LABEL9:(void)0; +{ /* Inline kernel#Char#<= (self,'z') on */ +/* Covariant cast for argument 0 (i) <'z':Char> isa OTHER */ +/* <'z':Char> isa OTHER */ +var8 = 1; /* easy <'z':Char> isa OTHER*/ +if (unlikely(!var8)) { +var_class_name11 = type_standard__Char.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 722); +fatal_exit(1); +} +var12 = self <= 'z'; +var6 = var12; +goto RET_LABEL7; +RET_LABEL7:(void)0; } } -var1 = var8; +var1 = var6; } else { var1 = var_; } @@ -3938,63 +4822,59 @@ RET_LABEL:; return var; } /* method kernel#Char#is_upper for (self: Char): Bool */ -short int standard___standard__Char___is_upper(char self) { +short int standard___standard__Char___is_upper(uint32_t self) { short int var /* : Bool */; short int var1 /* : Bool */; -char var2 /* : Char */; -short int var3 /* : Bool */; -short int var5 /* : Bool */; +short int var2 /* : Bool */; +short int var4 /* : Bool */; int cltype; int idtype; const char* var_class_name; -short int var6 /* : Bool */; +short int var5 /* : Bool */; short int var_ /* var : Bool */; -char var7 /* : Char */; +short int var6 /* : Bool */; short int var8 /* : Bool */; -short int var10 /* : Bool */; -int cltype11; -int idtype12; -const char* var_class_name13; -short int var14 /* : Bool */; -var2 = 'A'; +int cltype9; +int idtype10; +const char* var_class_name11; +short int var12 /* : Bool */; { -{ /* Inline kernel#Char#>= (self,var2) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var5 = 1; /* easy isa OTHER*/ -if (unlikely(!var5)) { +{ /* Inline kernel#Char#>= (self,'A') on */ +/* Covariant cast for argument 0 (i) <'A':Char> isa OTHER */ +/* <'A':Char> isa OTHER */ +var4 = 1; /* easy <'A':Char> isa OTHER*/ +if (unlikely(!var4)) { var_class_name = type_standard__Char.name; PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 593); -show_backtrace(1); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 724); +fatal_exit(1); } -var6 = self >= var2; -var3 = var6; -goto RET_LABEL4; -RET_LABEL4:(void)0; +var5 = self >= 'A'; +var2 = var5; +goto RET_LABEL3; +RET_LABEL3:(void)0; } } -var_ = var3; -if (var3){ -var7 = 'Z'; +var_ = var2; +if (var2){ { -{ /* Inline kernel#Char#<= (self,var7) on */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var10 = 1; /* easy isa OTHER*/ -if (unlikely(!var10)) { -var_class_name13 = type_standard__Char.name; -PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name13); -PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 591); -show_backtrace(1); -} -var14 = self <= var7; -var8 = var14; -goto RET_LABEL9; -RET_LABEL9:(void)0; +{ /* Inline kernel#Char#<= (self,'Z') on */ +/* Covariant cast for argument 0 (i) <'Z':Char> isa OTHER */ +/* <'Z':Char> isa OTHER */ +var8 = 1; /* easy <'Z':Char> isa OTHER*/ +if (unlikely(!var8)) { +var_class_name11 = type_standard__Char.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name11); +PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 722); +fatal_exit(1); +} +var12 = self <= 'Z'; +var6 = var12; +goto RET_LABEL7; +RET_LABEL7:(void)0; } } -var1 = var8; +var1 = var6; } else { var1 = var_; }