X-Git-Url: http://nitlanguage.org diff --git a/c_src/location.sep.1.c b/c_src/location.sep.1.c index 8d4577c..8d21cc9 100644 --- a/c_src/location.sep.1.c +++ b/c_src/location.sep.1.c @@ -3,10 +3,11 @@ val* location__SourceFile__filename(val* self) { val* var /* : String */; val* var1 /* : String */; -var1 = self->attrs[COLOR_location__SourceFile___64dfilename].val; /* @filename on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @filename", "src/location.nit", 22); -exit(1); +var1 = self->attrs[COLOR_location__SourceFile___filename].val; /* _filename on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename"); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 22); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -16,29 +17,43 @@ return var; val* VIRTUAL_location__SourceFile__filename(val* self) { val* var /* : String */; val* var1 /* : String */; -var1 = location__SourceFile__filename(self); +val* var3 /* : String */; +{ /* Inline location#SourceFile#filename (self) on */ +var3 = self->attrs[COLOR_location__SourceFile___filename].val; /* _filename on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename"); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 22); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} var = var1; RET_LABEL:; return var; } /* method location#SourceFile#filename= for (self: SourceFile, String) */ void location__SourceFile__filename_61d(val* self, val* p0) { -self->attrs[COLOR_location__SourceFile___64dfilename].val = p0; /* @filename on */ +self->attrs[COLOR_location__SourceFile___filename].val = p0; /* _filename on */ RET_LABEL:; } /* method location#SourceFile#filename= for (self: Object, String) */ void VIRTUAL_location__SourceFile__filename_61d(val* self, val* p0) { -location__SourceFile__filename_61d(self, p0); +{ /* Inline location#SourceFile#filename= (self,p0) on */ +self->attrs[COLOR_location__SourceFile___filename].val = p0; /* _filename on */ +RET_LABEL1:(void)0; +} RET_LABEL:; } /* method location#SourceFile#string for (self: SourceFile): String */ val* location__SourceFile__string(val* self) { val* var /* : String */; val* var1 /* : String */; -var1 = self->attrs[COLOR_location__SourceFile___64dstring].val; /* @string on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @string", "src/location.nit", 25); -exit(1); +var1 = self->attrs[COLOR_location__SourceFile___string].val; /* _string on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _string"); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 25); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -48,19 +63,32 @@ return var; val* VIRTUAL_location__SourceFile__string(val* self) { val* var /* : String */; val* var1 /* : String */; -var1 = location__SourceFile__string(self); +val* var3 /* : String */; +{ /* Inline location#SourceFile#string (self) on */ +var3 = self->attrs[COLOR_location__SourceFile___string].val; /* _string on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _string"); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 25); +show_backtrace(1); +} +var1 = var3; +RET_LABEL2:(void)0; +} var = var1; RET_LABEL:; return var; } /* method location#SourceFile#string= for (self: SourceFile, String) */ void location__SourceFile__string_61d(val* self, val* p0) { -self->attrs[COLOR_location__SourceFile___64dstring].val = p0; /* @string on */ +self->attrs[COLOR_location__SourceFile___string].val = p0; /* _string on */ RET_LABEL:; } /* method location#SourceFile#string= for (self: Object, String) */ void VIRTUAL_location__SourceFile__string_61d(val* self, val* p0) { -location__SourceFile__string_61d(self, p0); +{ /* Inline location#SourceFile#string= (self,p0) on */ +self->attrs[COLOR_location__SourceFile___string].val = p0; /* _string on */ +RET_LABEL1:(void)0; +} RET_LABEL:; } /* method location#SourceFile#init for (self: SourceFile, String, IStream) */ @@ -68,59 +96,62 @@ void location__SourceFile__init(val* self, val* p0, val* p1) { val* var_filename /* var filename: String */; val* var_stream /* var stream: IStream */; val* var /* : String */; -val* var1 /* : Array[Int] */; -long var2 /* : Int */; -long var3 /* : Int */; -val* var4 /* : nullable Object */; +val* var3 /* : Array[Int] */; +val* var5 /* : Array[Int] */; +long var6 /* : Int */; +long var7 /* : Int */; +val* var8 /* : nullable Object */; var_filename = p0; var_stream = p1; -((void (*)(val*, val*))(self->class->vft[COLOR_location__SourceFile__filename_61d]))(self, var_filename) /* filename= on */; -var = ((val* (*)(val*))(var_stream->class->vft[COLOR_stream__IStream__read_all]))(var_stream) /* read_all on */; -((void (*)(val*, val*))(self->class->vft[COLOR_location__SourceFile__string_61d]))(self, var) /* string= on */; -var1 = ((val* (*)(val*))(self->class->vft[COLOR_location__SourceFile__line_starts]))(self) /* line_starts on */; -var2 = 0; -var3 = 0; -var4 = BOX_kernel__Int(var3); /* autobox from Int to nullable Object */ -((void (*)(val*, long, val*))(var1->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var1, var2, var4) /* []= on */; -RET_LABEL:; +{ +{ /* Inline location#SourceFile#filename= (self,var_filename) on */ +self->attrs[COLOR_location__SourceFile___filename].val = var_filename; /* _filename on */ +RET_LABEL1:(void)0; } -/* method location#SourceFile#init for (self: Object, String, IStream) */ -void VIRTUAL_location__SourceFile__init(val* self, val* p0, val* p1) { -location__SourceFile__init(self, p0, p1); -RET_LABEL:; } -/* method location#SourceFile#from_string for (self: SourceFile, String, String) */ -void location__SourceFile__from_string(val* self, val* p0, val* p1) { -val* var_filename /* var filename: String */; -val* var_string /* var string: String */; -val* var /* : Array[Int] */; -long var1 /* : Int */; -long var2 /* : Int */; -val* var3 /* : nullable Object */; -var_filename = p0; -var_string = p1; -((void (*)(val*, val*))(self->class->vft[COLOR_location__SourceFile__filename_61d]))(self, var_filename) /* filename= on */; -((void (*)(val*, val*))(self->class->vft[COLOR_location__SourceFile__string_61d]))(self, var_string) /* string= on */; -var = ((val* (*)(val*))(self->class->vft[COLOR_location__SourceFile__line_starts]))(self) /* line_starts on */; -var1 = 0; -var2 = 0; -var3 = BOX_kernel__Int(var2); /* autobox from Int to nullable Object */ -((void (*)(val*, long, val*))(var->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var, var1, var3) /* []= on */; +{ +var = stream__BufferedIStream__read_all(var_stream); +} +{ +{ /* Inline location#SourceFile#string= (self,var) on */ +self->attrs[COLOR_location__SourceFile___string].val = var; /* _string on */ +RET_LABEL2:(void)0; +} +} +{ +{ /* Inline location#SourceFile#line_starts (self) on */ +var5 = self->attrs[COLOR_location__SourceFile___line_starts].val; /* _line_starts on */ +if (unlikely(var5 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _line_starts"); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 44); +show_backtrace(1); +} +var3 = var5; +RET_LABEL4:(void)0; +} +} +var6 = 0; +var7 = 0; +{ +var8 = BOX_kernel__Int(var7); /* autobox from Int to nullable Object */ +array__Array___91d_93d_61d(var3, var6, var8); /* Direct call array#Array#[]= on */ +} RET_LABEL:; } -/* method location#SourceFile#from_string for (self: Object, String, String) */ -void VIRTUAL_location__SourceFile__from_string(val* self, val* p0, val* p1) { -location__SourceFile__from_string(self, p0, p1); +/* method location#SourceFile#init for (self: Object, String, IStream) */ +void VIRTUAL_location__SourceFile__init(val* self, val* p0, val* p1) { +location__SourceFile__init(self, p0, p1); /* Direct call location#SourceFile#init on */ RET_LABEL:; } /* method location#SourceFile#line_starts for (self: SourceFile): Array[Int] */ val* location__SourceFile__line_starts(val* self) { val* var /* : Array[Int] */; val* var1 /* : Array[Int] */; -var1 = self->attrs[COLOR_location__SourceFile___64dline_starts].val; /* @line_starts on */ -if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute @line_starts", "src/location.nit", 44); -exit(1); +var1 = self->attrs[COLOR_location__SourceFile___line_starts].val; /* _line_starts on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _line_starts"); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 44); +show_backtrace(1); } var = var1; RET_LABEL:; @@ -130,26 +161,26 @@ return var; val* VIRTUAL_location__SourceFile__line_starts(val* self) { val* var /* : Array[Int] */; val* var1 /* : Array[Int] */; -var1 = location__SourceFile__line_starts(self); -var = var1; -RET_LABEL:; -return var; +val* var3 /* : Array[Int] */; +{ /* Inline location#SourceFile#line_starts (self) on */ +var3 = self->attrs[COLOR_location__SourceFile___line_starts].val; /* _line_starts on */ +if (unlikely(var3 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _line_starts"); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 44); +show_backtrace(1); } -/* method location#SourceFile#line_starts= for (self: SourceFile, Array[Int]) */ -void location__SourceFile__line_starts_61d(val* self, val* p0) { -self->attrs[COLOR_location__SourceFile___64dline_starts].val = p0; /* @line_starts on */ -RET_LABEL:; +var1 = var3; +RET_LABEL2:(void)0; } -/* method location#SourceFile#line_starts= for (self: Object, Array[Int]) */ -void VIRTUAL_location__SourceFile__line_starts_61d(val* self, val* p0) { -location__SourceFile__line_starts_61d(self, p0); +var = var1; RET_LABEL:; +return var; } /* method location#Location#file for (self: Location): nullable SourceFile */ val* location__Location__file(val* self) { val* var /* : nullable SourceFile */; val* var1 /* : nullable SourceFile */; -var1 = self->attrs[COLOR_location__Location___64dfile].val; /* @file on */ +var1 = self->attrs[COLOR_location__Location___file].val; /* _file on */ var = var1; RET_LABEL:; return var; @@ -158,26 +189,34 @@ return var; val* VIRTUAL_location__Location__file(val* self) { val* var /* : nullable SourceFile */; val* var1 /* : nullable SourceFile */; -var1 = location__Location__file(self); +val* var3 /* : nullable SourceFile */; +{ /* Inline location#Location#file (self) on */ +var3 = self->attrs[COLOR_location__Location___file].val; /* _file on */ +var1 = var3; +RET_LABEL2:(void)0; +} var = var1; RET_LABEL:; return var; } /* method location#Location#file= for (self: Location, nullable SourceFile) */ void location__Location__file_61d(val* self, val* p0) { -self->attrs[COLOR_location__Location___64dfile].val = p0; /* @file on */ +self->attrs[COLOR_location__Location___file].val = p0; /* _file on */ RET_LABEL:; } /* method location#Location#file= for (self: Object, nullable SourceFile) */ void VIRTUAL_location__Location__file_61d(val* self, val* p0) { -location__Location__file_61d(self, p0); +{ /* Inline location#Location#file= (self,p0) on */ +self->attrs[COLOR_location__Location___file].val = p0; /* _file on */ +RET_LABEL1:(void)0; +} RET_LABEL:; } /* method location#Location#line_start for (self: Location): Int */ long location__Location__line_start(val* self) { long var /* : Int */; long var1 /* : Int */; -var1 = self->attrs[COLOR_location__Location___64dline_start].l; /* @line_start on */ +var1 = self->attrs[COLOR_location__Location___line_start].l; /* _line_start on */ var = var1; RET_LABEL:; return var; @@ -186,26 +225,34 @@ return var; long VIRTUAL_location__Location__line_start(val* self) { long var /* : Int */; long var1 /* : Int */; -var1 = location__Location__line_start(self); +long var3 /* : Int */; +{ /* Inline location#Location#line_start (self) on */ +var3 = self->attrs[COLOR_location__Location___line_start].l; /* _line_start on */ +var1 = var3; +RET_LABEL2:(void)0; +} var = var1; RET_LABEL:; return var; } /* method location#Location#line_start= for (self: Location, Int) */ void location__Location__line_start_61d(val* self, long p0) { -self->attrs[COLOR_location__Location___64dline_start].l = p0; /* @line_start on */ +self->attrs[COLOR_location__Location___line_start].l = p0; /* _line_start on */ RET_LABEL:; } /* method location#Location#line_start= for (self: Object, Int) */ void VIRTUAL_location__Location__line_start_61d(val* self, long p0) { -location__Location__line_start_61d(self, p0); +{ /* Inline location#Location#line_start= (self,p0) on */ +self->attrs[COLOR_location__Location___line_start].l = p0; /* _line_start on */ +RET_LABEL1:(void)0; +} RET_LABEL:; } /* method location#Location#line_end for (self: Location): Int */ long location__Location__line_end(val* self) { long var /* : Int */; long var1 /* : Int */; -var1 = self->attrs[COLOR_location__Location___64dline_end].l; /* @line_end on */ +var1 = self->attrs[COLOR_location__Location___line_end].l; /* _line_end on */ var = var1; RET_LABEL:; return var; @@ -214,26 +261,34 @@ return var; long VIRTUAL_location__Location__line_end(val* self) { long var /* : Int */; long var1 /* : Int */; -var1 = location__Location__line_end(self); +long var3 /* : Int */; +{ /* Inline location#Location#line_end (self) on */ +var3 = self->attrs[COLOR_location__Location___line_end].l; /* _line_end on */ +var1 = var3; +RET_LABEL2:(void)0; +} var = var1; RET_LABEL:; return var; } /* method location#Location#line_end= for (self: Location, Int) */ void location__Location__line_end_61d(val* self, long p0) { -self->attrs[COLOR_location__Location___64dline_end].l = p0; /* @line_end on */ +self->attrs[COLOR_location__Location___line_end].l = p0; /* _line_end on */ RET_LABEL:; } /* method location#Location#line_end= for (self: Object, Int) */ void VIRTUAL_location__Location__line_end_61d(val* self, long p0) { -location__Location__line_end_61d(self, p0); +{ /* Inline location#Location#line_end= (self,p0) on */ +self->attrs[COLOR_location__Location___line_end].l = p0; /* _line_end on */ +RET_LABEL1:(void)0; +} RET_LABEL:; } /* method location#Location#column_start for (self: Location): Int */ long location__Location__column_start(val* self) { long var /* : Int */; long var1 /* : Int */; -var1 = self->attrs[COLOR_location__Location___64dcolumn_start].l; /* @column_start on */ +var1 = self->attrs[COLOR_location__Location___column_start].l; /* _column_start on */ var = var1; RET_LABEL:; return var; @@ -242,26 +297,34 @@ return var; long VIRTUAL_location__Location__column_start(val* self) { long var /* : Int */; long var1 /* : Int */; -var1 = location__Location__column_start(self); +long var3 /* : Int */; +{ /* Inline location#Location#column_start (self) on */ +var3 = self->attrs[COLOR_location__Location___column_start].l; /* _column_start on */ +var1 = var3; +RET_LABEL2:(void)0; +} var = var1; RET_LABEL:; return var; } /* method location#Location#column_start= for (self: Location, Int) */ void location__Location__column_start_61d(val* self, long p0) { -self->attrs[COLOR_location__Location___64dcolumn_start].l = p0; /* @column_start on */ +self->attrs[COLOR_location__Location___column_start].l = p0; /* _column_start on */ RET_LABEL:; } /* method location#Location#column_start= for (self: Object, Int) */ void VIRTUAL_location__Location__column_start_61d(val* self, long p0) { -location__Location__column_start_61d(self, p0); +{ /* Inline location#Location#column_start= (self,p0) on */ +self->attrs[COLOR_location__Location___column_start].l = p0; /* _column_start on */ +RET_LABEL1:(void)0; +} RET_LABEL:; } /* method location#Location#column_end for (self: Location): Int */ long location__Location__column_end(val* self) { long var /* : Int */; long var1 /* : Int */; -var1 = self->attrs[COLOR_location__Location___64dcolumn_end].l; /* @column_end on */ +var1 = self->attrs[COLOR_location__Location___column_end].l; /* _column_end on */ var = var1; RET_LABEL:; return var; @@ -270,19 +333,27 @@ return var; long VIRTUAL_location__Location__column_end(val* self) { long var /* : Int */; long var1 /* : Int */; -var1 = location__Location__column_end(self); +long var3 /* : Int */; +{ /* Inline location#Location#column_end (self) on */ +var3 = self->attrs[COLOR_location__Location___column_end].l; /* _column_end on */ +var1 = var3; +RET_LABEL2:(void)0; +} var = var1; RET_LABEL:; return var; } /* method location#Location#column_end= for (self: Location, Int) */ void location__Location__column_end_61d(val* self, long p0) { -self->attrs[COLOR_location__Location___64dcolumn_end].l = p0; /* @column_end on */ +self->attrs[COLOR_location__Location___column_end].l = p0; /* _column_end on */ RET_LABEL:; } /* method location#Location#column_end= for (self: Object, Int) */ void VIRTUAL_location__Location__column_end_61d(val* self, long p0) { -location__Location__column_end_61d(self, p0); +{ /* Inline location#Location#column_end= (self,p0) on */ +self->attrs[COLOR_location__Location___column_end].l = p0; /* _column_end on */ +RET_LABEL1:(void)0; +} RET_LABEL:; } /* method location#Location#init for (self: Location, nullable SourceFile, Int, Int, Int, Int) */ @@ -297,67 +368,176 @@ var_line_s = p1; var_line_e = p2; var_column_s = p3; var_column_e = p4; -((void (*)(val*, val*))(self->class->vft[COLOR_location__Location__file_61d]))(self, var_f) /* file= on */; -((void (*)(val*, long))(self->class->vft[COLOR_location__Location__line_start_61d]))(self, var_line_s) /* line_start= on */; -((void (*)(val*, long))(self->class->vft[COLOR_location__Location__line_end_61d]))(self, var_line_e) /* line_end= on */; -((void (*)(val*, long))(self->class->vft[COLOR_location__Location__column_start_61d]))(self, var_column_s) /* column_start= on */; -((void (*)(val*, long))(self->class->vft[COLOR_location__Location__column_end_61d]))(self, var_column_e) /* column_end= on */; +{ +{ /* Inline location#Location#file= (self,var_f) on */ +self->attrs[COLOR_location__Location___file].val = var_f; /* _file on */ +RET_LABEL1:(void)0; +} +} +{ +{ /* Inline location#Location#line_start= (self,var_line_s) on */ +self->attrs[COLOR_location__Location___line_start].l = var_line_s; /* _line_start on */ +RET_LABEL2:(void)0; +} +} +{ +{ /* Inline location#Location#line_end= (self,var_line_e) on */ +self->attrs[COLOR_location__Location___line_end].l = var_line_e; /* _line_end on */ +RET_LABEL3:(void)0; +} +} +{ +{ /* Inline location#Location#column_start= (self,var_column_s) on */ +self->attrs[COLOR_location__Location___column_start].l = var_column_s; /* _column_start on */ +RET_LABEL4:(void)0; +} +} +{ +{ /* Inline location#Location#column_end= (self,var_column_e) on */ +self->attrs[COLOR_location__Location___column_end].l = var_column_e; /* _column_end on */ +RET_LABEL5:(void)0; +} +} RET_LABEL:; } /* method location#Location#init for (self: Object, nullable SourceFile, Int, Int, Int, Int) */ void VIRTUAL_location__Location__init(val* self, val* p0, long p1, long p2, long p3, long p4) { -location__Location__init(self, p0, p1, p2, p3, p4); +location__Location__init(self, p0, p1, p2, p3, p4); /* Direct call location#Location#init on */ RET_LABEL:; } /* method location#Location#pstart for (self: Location): Int */ long location__Location__pstart(val* self) { long var /* : Int */; val* var1 /* : nullable SourceFile */; -val* var2 /* : Array[Int] */; -long var3 /* : Int */; -long var4 /* : Int */; -long var5 /* : Int */; +val* var3 /* : nullable SourceFile */; +val* var4 /* : Array[Int] */; +val* var6 /* : Array[Int] */; long var7 /* : Int */; -val* var8 /* : nullable Object */; long var9 /* : Int */; long var10 /* : Int */; -long var12 /* : Int */; -long var13 /* : Int */; +long var11 /* : Int */; +short int var13 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; long var14 /* : Int */; -long var15 /* : Int */; -long var17 /* : Int */; -var1 = ((val* (*)(val*))(self->class->vft[COLOR_location__Location__file]))(self) /* file on */; +val* var15 /* : nullable Object */; +long var16 /* : Int */; +long var18 /* : Int */; +long var19 /* : Int */; +short int var21 /* : Bool */; +int cltype22; +int idtype23; +const char* var_class_name24; +long var25 /* : Int */; +long var26 /* : Int */; +long var27 /* : Int */; +long var28 /* : Int */; +short int var30 /* : Bool */; +int cltype31; +int idtype32; +const char* var_class_name33; +long var34 /* : Int */; +{ +{ /* Inline location#Location#file (self) on */ +var3 = self->attrs[COLOR_location__Location___file].val; /* _file on */ +var1 = var3; +RET_LABEL2:(void)0; +} +} if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/location.nit", 68); -exit(1); -} else { -var2 = ((val* (*)(val*))(var1->class->vft[COLOR_location__SourceFile__line_starts]))(var1) /* line_starts on */; +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 68); +show_backtrace(1); +} else { +{ /* Inline location#SourceFile#line_starts (var1) on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 44); +show_backtrace(1); +} +var6 = var1->attrs[COLOR_location__SourceFile___line_starts].val; /* _line_starts on */ +if (unlikely(var6 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _line_starts"); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 44); +show_backtrace(1); +} +var4 = var6; +RET_LABEL5:(void)0; +} +} +{ +{ /* Inline location#Location#line_start (self) on */ +var9 = self->attrs[COLOR_location__Location___line_start].l; /* _line_start on */ +var7 = var9; +RET_LABEL8:(void)0; +} +} +var10 = 1; +{ +{ /* Inline kernel#Int#- (var7,var10) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var13 = 1; /* easy isa OTHER*/ +if (unlikely(!var13)) { +var_class_name = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377); +show_backtrace(1); +} +var14 = var7 - var10; +var11 = var14; +goto RET_LABEL12; +RET_LABEL12:(void)0; +} +} +{ +var15 = array__Array___91d_93d(var4, var11); +} +{ +{ /* Inline location#Location#column_start (self) on */ +var18 = self->attrs[COLOR_location__Location___column_start].l; /* _column_start on */ +var16 = var18; +RET_LABEL17:(void)0; } -var3 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_start]))(self) /* line_start on */; -var4 = 1; -{ /* Inline kernel#Int#- (var3,var4) */ -var7 = var3 - var4; -var5 = var7; -goto RET_LABEL6; -RET_LABEL6:(void)0; } -var8 = ((val* (*)(val*, long))(var2->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var2, var5) /* [] on */; -var9 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_start]))(self) /* column_start on */; -{ /* Inline kernel#Int#+ (var8,var9) */ -var12 = ((struct instance_kernel__Int*)var8)->value; /* autounbox from nullable Object to Int */; -var13 = var12 + var9; -var10 = var13; -goto RET_LABEL11; -RET_LABEL11:(void)0; +{ +{ /* Inline kernel#Int#+ (var15,var16) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var21 = 1; /* easy isa OTHER*/ +if (unlikely(!var21)) { +var_class_name24 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); +show_backtrace(1); +} +var25 = ((struct instance_kernel__Int*)var15)->value; /* autounbox from nullable Object to Int */; +var26 = var25 + var16; +var19 = var26; +goto RET_LABEL20; +RET_LABEL20:(void)0; +} +} +var27 = 1; +{ +{ /* Inline kernel#Int#- (var19,var27) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var30 = 1; /* easy isa OTHER*/ +if (unlikely(!var30)) { +var_class_name33 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377); +show_backtrace(1); +} +var34 = var19 - var27; +var28 = var34; +goto RET_LABEL29; +RET_LABEL29:(void)0; } -var14 = 1; -{ /* Inline kernel#Int#- (var10,var14) */ -var17 = var10 - var14; -var15 = var17; -goto RET_LABEL16; -RET_LABEL16:(void)0; } -var = var15; +var = var28; goto RET_LABEL; RET_LABEL:; return var; @@ -375,51 +555,135 @@ return var; long location__Location__pend(val* self) { long var /* : Int */; val* var1 /* : nullable SourceFile */; -val* var2 /* : Array[Int] */; -long var3 /* : Int */; -long var4 /* : Int */; -long var5 /* : Int */; +val* var3 /* : nullable SourceFile */; +val* var4 /* : Array[Int] */; +val* var6 /* : Array[Int] */; long var7 /* : Int */; -val* var8 /* : nullable Object */; long var9 /* : Int */; long var10 /* : Int */; -long var12 /* : Int */; -long var13 /* : Int */; +long var11 /* : Int */; +short int var13 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; long var14 /* : Int */; -long var15 /* : Int */; -long var17 /* : Int */; -var1 = ((val* (*)(val*))(self->class->vft[COLOR_location__Location__file]))(self) /* file on */; +val* var15 /* : nullable Object */; +long var16 /* : Int */; +long var18 /* : Int */; +long var19 /* : Int */; +short int var21 /* : Bool */; +int cltype22; +int idtype23; +const char* var_class_name24; +long var25 /* : Int */; +long var26 /* : Int */; +long var27 /* : Int */; +long var28 /* : Int */; +short int var30 /* : Bool */; +int cltype31; +int idtype32; +const char* var_class_name33; +long var34 /* : Int */; +{ +{ /* Inline location#Location#file (self) on */ +var3 = self->attrs[COLOR_location__Location___file].val; /* _file on */ +var1 = var3; +RET_LABEL2:(void)0; +} +} if (var1 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/location.nit", 71); -exit(1); -} else { -var2 = ((val* (*)(val*))(var1->class->vft[COLOR_location__SourceFile__line_starts]))(var1) /* line_starts on */; +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 71); +show_backtrace(1); +} else { +{ /* Inline location#SourceFile#line_starts (var1) on */ +if (unlikely(var1 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 44); +show_backtrace(1); +} +var6 = var1->attrs[COLOR_location__SourceFile___line_starts].val; /* _line_starts on */ +if (unlikely(var6 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _line_starts"); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 44); +show_backtrace(1); +} +var4 = var6; +RET_LABEL5:(void)0; +} +} +{ +{ /* Inline location#Location#line_end (self) on */ +var9 = self->attrs[COLOR_location__Location___line_end].l; /* _line_end on */ +var7 = var9; +RET_LABEL8:(void)0; +} +} +var10 = 1; +{ +{ /* Inline kernel#Int#- (var7,var10) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var13 = 1; /* easy isa OTHER*/ +if (unlikely(!var13)) { +var_class_name = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377); +show_backtrace(1); +} +var14 = var7 - var10; +var11 = var14; +goto RET_LABEL12; +RET_LABEL12:(void)0; +} +} +{ +var15 = array__Array___91d_93d(var4, var11); +} +{ +{ /* Inline location#Location#column_end (self) on */ +var18 = self->attrs[COLOR_location__Location___column_end].l; /* _column_end on */ +var16 = var18; +RET_LABEL17:(void)0; } -var3 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_end]))(self) /* line_end on */; -var4 = 1; -{ /* Inline kernel#Int#- (var3,var4) */ -var7 = var3 - var4; -var5 = var7; -goto RET_LABEL6; -RET_LABEL6:(void)0; } -var8 = ((val* (*)(val*, long))(var2->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var2, var5) /* [] on */; -var9 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_end]))(self) /* column_end on */; -{ /* Inline kernel#Int#+ (var8,var9) */ -var12 = ((struct instance_kernel__Int*)var8)->value; /* autounbox from nullable Object to Int */; -var13 = var12 + var9; -var10 = var13; -goto RET_LABEL11; -RET_LABEL11:(void)0; +{ +{ /* Inline kernel#Int#+ (var15,var16) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var21 = 1; /* easy isa OTHER*/ +if (unlikely(!var21)) { +var_class_name24 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); +show_backtrace(1); +} +var25 = ((struct instance_kernel__Int*)var15)->value; /* autounbox from nullable Object to Int */; +var26 = var25 + var16; +var19 = var26; +goto RET_LABEL20; +RET_LABEL20:(void)0; +} +} +var27 = 1; +{ +{ /* Inline kernel#Int#- (var19,var27) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var30 = 1; /* easy isa OTHER*/ +if (unlikely(!var30)) { +var_class_name33 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377); +show_backtrace(1); +} +var34 = var19 - var27; +var28 = var34; +goto RET_LABEL29; +RET_LABEL29:(void)0; } -var14 = 1; -{ /* Inline kernel#Int#- (var10,var14) */ -var17 = var10 - var14; -var15 = var17; -goto RET_LABEL16; -RET_LABEL16:(void)0; } -var = var15; +var = var28; goto RET_LABEL; RET_LABEL:; return var; @@ -437,63 +701,153 @@ return var; val* location__Location__text(val* self) { val* var /* : String */; val* var1 /* : nullable String */; +val* var3 /* : nullable String */; val* var_res /* var res: nullable String */; -val* var2 /* : null */; -short int var3 /* : Bool */; +val* var4 /* : null */; +short int var5 /* : Bool */; +short int var6 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var8 /* : Bool */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; val* var_l /* var l: Location */; -long var4 /* : Int */; -long var_pstart /* var pstart: Int */; -long var5 /* : Int */; -long var_pend /* var pend: Int */; -val* var6 /* : nullable SourceFile */; -val* var7 /* : String */; -long var8 /* : Int */; -long var10 /* : Int */; long var11 /* : Int */; +long var_pstart /* var pstart: Int */; long var12 /* : Int */; -long var14 /* : Int */; -val* var15 /* : String */; -var1 = ((val* (*)(val*))(self->class->vft[COLOR_location__Location__text_cache]))(self) /* text_cache on */; +long var_pend /* var pend: Int */; +val* var13 /* : nullable SourceFile */; +val* var15 /* : nullable SourceFile */; +val* var16 /* : String */; +val* var18 /* : String */; +long var19 /* : Int */; +short int var21 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; +long var22 /* : Int */; +long var23 /* : Int */; +long var24 /* : Int */; +short int var26 /* : Bool */; +int cltype27; +int idtype28; +const char* var_class_name29; +long var30 /* : Int */; +val* var31 /* : String */; +{ +{ /* Inline location#Location#text_cache (self) on */ +var3 = self->attrs[COLOR_location__Location___text_cache].val; /* _text_cache on */ +var1 = var3; +RET_LABEL2:(void)0; +} +} var_res = var1; -var2 = NULL; +var4 = NULL; if (var_res == NULL) { -var3 = 0; /* is null */ +var5 = 0; /* is null */ } else { -var3 = 1; /* arg is null and recv is not */ +var5 = 1; /* arg is null and recv is not */ +} +if (0) { +{ /* Inline kernel#Object#!= (var_res,var4) on */ +var_other = var4; +{ +var9 = ((short int (*)(val*, val*))(var_res->class->vft[COLOR_kernel__Object___61d_61d]))(var_res, var_other) /* == on */; +var8 = var9; +} +var10 = !var8; +var6 = var10; +goto RET_LABEL7; +RET_LABEL7:(void)0; } -if (var3){ +var5 = var6; +} +if (var5){ var = var_res; goto RET_LABEL; } else { } var_l = self; -var4 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__pstart]))(self) /* pstart on */; -var_pstart = var4; -var5 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__pend]))(self) /* pend on */; -var_pend = var5; -var6 = ((val* (*)(val*))(var_l->class->vft[COLOR_location__Location__file]))(var_l) /* file on */; -if (var6 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/location.nit", 81); -exit(1); -} else { -var7 = ((val* (*)(val*))(var6->class->vft[COLOR_location__SourceFile__string]))(var6) /* string on */; -} -{ /* Inline kernel#Int#- (var_pend,var_pstart) */ -var10 = var_pend - var_pstart; -var8 = var10; -goto RET_LABEL9; -RET_LABEL9:(void)0; +{ +var11 = location__Location__pstart(self); +} +var_pstart = var11; +{ +var12 = location__Location__pend(self); +} +var_pend = var12; +{ +{ /* Inline location#Location#file (var_l) on */ +var15 = var_l->attrs[COLOR_location__Location___file].val; /* _file on */ +var13 = var15; +RET_LABEL14:(void)0; +} +} +if (var13 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 81); +show_backtrace(1); +} else { +{ /* Inline location#SourceFile#string (var13) on */ +if (unlikely(var13 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 25); +show_backtrace(1); +} +var18 = var13->attrs[COLOR_location__SourceFile___string].val; /* _string on */ +if (unlikely(var18 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _string"); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 25); +show_backtrace(1); +} +var16 = var18; +RET_LABEL17:(void)0; +} +} +{ +{ /* Inline kernel#Int#- (var_pend,var_pstart) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var21 = 1; /* easy isa OTHER*/ +if (unlikely(!var21)) { +var_class_name = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377); +show_backtrace(1); +} +var22 = var_pend - var_pstart; +var19 = var22; +goto RET_LABEL20; +RET_LABEL20:(void)0; +} +} +var23 = 1; +{ +{ /* Inline kernel#Int#+ (var19,var23) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var26 = 1; /* easy isa OTHER*/ +if (unlikely(!var26)) { +var_class_name29 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name29); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); +show_backtrace(1); +} +var30 = var19 + var23; +var24 = var30; +goto RET_LABEL25; +RET_LABEL25:(void)0; +} +} +{ +var31 = string__FlatString__substring(var16, var_pstart, var24); +} +var_res = var31; +{ +{ /* Inline location#Location#text_cache= (self,var_res) on */ +self->attrs[COLOR_location__Location___text_cache].val = var_res; /* _text_cache on */ +RET_LABEL32:(void)0; } -var11 = 1; -{ /* Inline kernel#Int#+ (var8,var11) */ -var14 = var8 + var11; -var12 = var14; -goto RET_LABEL13; -RET_LABEL13:(void)0; } -var15 = ((val* (*)(val*, long, long))(var7->class->vft[COLOR_string__AbstractString__substring]))(var7, var_pstart, var12) /* substring on */; -var_res = var15; -((void (*)(val*, val*))(self->class->vft[COLOR_location__Location__text_cache_61d]))(self, var_res) /* text_cache= on */; var = var_res; goto RET_LABEL; RET_LABEL:; @@ -512,7 +866,7 @@ return var; val* location__Location__text_cache(val* self) { val* var /* : nullable String */; val* var1 /* : nullable String */; -var1 = self->attrs[COLOR_location__Location___64dtext_cache].val; /* @text_cache on */ +var1 = self->attrs[COLOR_location__Location___text_cache].val; /* _text_cache on */ var = var1; RET_LABEL:; return var; @@ -521,39 +875,27 @@ return var; val* VIRTUAL_location__Location__text_cache(val* self) { val* var /* : nullable String */; val* var1 /* : nullable String */; -var1 = location__Location__text_cache(self); +val* var3 /* : nullable String */; +{ /* Inline location#Location#text_cache (self) on */ +var3 = self->attrs[COLOR_location__Location___text_cache].val; /* _text_cache on */ +var1 = var3; +RET_LABEL2:(void)0; +} var = var1; RET_LABEL:; return var; } /* method location#Location#text_cache= for (self: Location, nullable String) */ void location__Location__text_cache_61d(val* self, val* p0) { -self->attrs[COLOR_location__Location___64dtext_cache].val = p0; /* @text_cache on */ +self->attrs[COLOR_location__Location___text_cache].val = p0; /* _text_cache on */ RET_LABEL:; } /* method location#Location#text_cache= for (self: Object, nullable String) */ void VIRTUAL_location__Location__text_cache_61d(val* self, val* p0) { -location__Location__text_cache_61d(self, p0); -RET_LABEL:; -} -/* method location#Location#with_file for (self: Location, SourceFile) */ -void location__Location__with_file(val* self, val* p0) { -val* var_f /* var f: SourceFile */; -long var /* : Int */; -long var1 /* : Int */; -long var2 /* : Int */; -long var3 /* : Int */; -var_f = p0; -var = 0; -var1 = 0; -var2 = 0; -var3 = 0; -((void (*)(val*, val*, long, long, long, long))(self->class->vft[COLOR_location__Location__init]))(self, var_f, var, var1, var2, var3) /* init on */; -RET_LABEL:; +{ /* Inline location#Location#text_cache= (self,p0) on */ +self->attrs[COLOR_location__Location___text_cache].val = p0; /* _text_cache on */ +RET_LABEL1:(void)0; } -/* method location#Location#with_file for (self: Object, SourceFile) */ -void VIRTUAL_location__Location__with_file(val* self, val* p0) { -location__Location__with_file(self, p0); RET_LABEL:; } /* method location#Location#== for (self: Location, nullable Object): Bool */ @@ -564,39 +906,59 @@ val* var1 /* : null */; short int var2 /* : Bool */; short int var3 /* : Bool */; short int var4 /* : Bool */; +short int var5 /* : Bool */; int cltype; int idtype; -short int var5 /* : Bool */; short int var6 /* : Bool */; -val* var7 /* : nullable SourceFile */; +short int var7 /* : Bool */; val* var8 /* : nullable SourceFile */; -short int var9 /* : Bool */; -short int var10 /* : Bool */; -long var11 /* : Int */; -long var12 /* : Int */; -short int var13 /* : Bool */; +val* var10 /* : nullable SourceFile */; +val* var11 /* : nullable SourceFile */; +val* var13 /* : nullable SourceFile */; +short int var14 /* : Bool */; short int var15 /* : Bool */; -short int var16 /* : Bool */; -short int var17 /* : Bool */; -long var18 /* : Int */; -long var19 /* : Int */; +val* var_other17 /* var other: nullable Object */; +short int var18 /* : Bool */; +short int var19 /* : Bool */; short int var20 /* : Bool */; -short int var22 /* : Bool */; -short int var23 /* : Bool */; -short int var24 /* : Bool */; +short int var21 /* : Bool */; +long var22 /* : Int */; +long var24 /* : Int */; long var25 /* : Int */; -long var26 /* : Int */; -short int var27 /* : Bool */; +long var27 /* : Int */; +short int var28 /* : Bool */; short int var29 /* : Bool */; -short int var30 /* : Bool */; short int var31 /* : Bool */; -long var32 /* : Int */; -long var33 /* : Int */; -short int var34 /* : Bool */; -short int var36 /* : Bool */; -short int var37 /* : Bool */; -short int var38 /* : Bool */; -short int var39 /* : Bool */; +short int var32 /* : Bool */; +short int var33 /* : Bool */; +long var34 /* : Int */; +long var36 /* : Int */; +long var37 /* : Int */; +long var39 /* : Int */; +short int var40 /* : Bool */; +short int var41 /* : Bool */; +short int var43 /* : Bool */; +short int var44 /* : Bool */; +short int var45 /* : Bool */; +long var46 /* : Int */; +long var48 /* : Int */; +long var49 /* : Int */; +long var51 /* : Int */; +short int var52 /* : Bool */; +short int var53 /* : Bool */; +short int var55 /* : Bool */; +short int var56 /* : Bool */; +short int var57 /* : Bool */; +long var58 /* : Int */; +long var60 /* : Int */; +long var61 /* : Int */; +long var63 /* : Int */; +short int var64 /* : Bool */; +short int var65 /* : Bool */; +short int var67 /* : Bool */; +short int var68 /* : Bool */; +short int var69 /* : Bool */; +short int var70 /* : Bool */; var_other = p0; var1 = NULL; if (var_other == NULL) { @@ -604,9 +966,13 @@ var2 = 1; /* is null */ } else { var2 = 0; /* arg is null but recv is not */ } +if (0) { +var3 = ((short int (*)(val*, val*))(var_other->class->vft[COLOR_kernel__Object___61d_61d]))(var_other, var1) /* == on */; +var2 = var3; +} if (var2){ -var3 = 0; -var = var3; +var4 = 0; +var = var4; goto RET_LABEL; } else { } @@ -614,92 +980,175 @@ goto RET_LABEL; cltype = type_location__Location.color; idtype = type_location__Location.id; if(cltype >= var_other->type->table_size) { -var4 = 0; +var5 = 0; } else { -var4 = var_other->type->type_table[cltype] == idtype; +var5 = var_other->type->type_table[cltype] == idtype; } -var5 = !var4; -if (var5){ -var6 = 0; -var = var6; +var6 = !var5; +if (var6){ +var7 = 0; +var = var7; goto RET_LABEL; } else { } -var7 = ((val* (*)(val*))(var_other->class->vft[COLOR_location__Location__file]))(var_other) /* file on */; -var8 = ((val* (*)(val*))(self->class->vft[COLOR_location__Location__file]))(self) /* file on */; -if (var7 == NULL) { -var9 = (var8 != NULL); +{ +{ /* Inline location#Location#file (var_other) on */ +var10 = var_other->attrs[COLOR_location__Location___file].val; /* _file on */ +var8 = var10; +RET_LABEL9:(void)0; +} +} +{ +{ /* Inline location#Location#file (self) on */ +var13 = self->attrs[COLOR_location__Location___file].val; /* _file on */ +var11 = var13; +RET_LABEL12:(void)0; +} +} +if (var8 == NULL) { +var14 = (var11 != NULL); } else { -var9 = ((short int (*)(val*, val*))(var7->class->vft[COLOR_kernel__Object___33d_61d]))(var7, var8) /* != on */; +{ /* Inline kernel#Object#!= (var8,var11) on */ +var_other17 = var11; +{ +var19 = ((short int (*)(val*, val*))(var8->class->vft[COLOR_kernel__Object___61d_61d]))(var8, var_other17) /* == on */; +var18 = var19; } -if (var9){ -var10 = 0; -var = var10; +var20 = !var18; +var15 = var20; +goto RET_LABEL16; +RET_LABEL16:(void)0; +} +var14 = var15; +} +if (var14){ +var21 = 0; +var = var21; goto RET_LABEL; } else { } -var11 = ((long (*)(val*))(var_other->class->vft[COLOR_location__Location__line_start]))(var_other) /* line_start on */; -var12 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_start]))(self) /* line_start on */; -{ /* Inline kernel#Int#!= (var11,var12) */ -var15 = var11 == var12; -var16 = !var15; -var13 = var16; -goto RET_LABEL14; -RET_LABEL14:(void)0; +{ +{ /* Inline location#Location#line_start (var_other) on */ +var24 = var_other->attrs[COLOR_location__Location___line_start].l; /* _line_start on */ +var22 = var24; +RET_LABEL23:(void)0; +} } -if (var13){ -var17 = 0; -var = var17; +{ +{ /* Inline location#Location#line_start (self) on */ +var27 = self->attrs[COLOR_location__Location___line_start].l; /* _line_start on */ +var25 = var27; +RET_LABEL26:(void)0; +} +} +{ +{ /* Inline kernel#Int#!= (var22,var25) on */ +var31 = var22 == var25; +var32 = !var31; +var29 = var32; +goto RET_LABEL30; +RET_LABEL30:(void)0; +} +var28 = var29; +} +if (var28){ +var33 = 0; +var = var33; goto RET_LABEL; } else { } -var18 = ((long (*)(val*))(var_other->class->vft[COLOR_location__Location__line_end]))(var_other) /* line_end on */; -var19 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_end]))(self) /* line_end on */; -{ /* Inline kernel#Int#!= (var18,var19) */ -var22 = var18 == var19; -var23 = !var22; -var20 = var23; -goto RET_LABEL21; -RET_LABEL21:(void)0; +{ +{ /* Inline location#Location#line_end (var_other) on */ +var36 = var_other->attrs[COLOR_location__Location___line_end].l; /* _line_end on */ +var34 = var36; +RET_LABEL35:(void)0; +} } -if (var20){ -var24 = 0; -var = var24; +{ +{ /* Inline location#Location#line_end (self) on */ +var39 = self->attrs[COLOR_location__Location___line_end].l; /* _line_end on */ +var37 = var39; +RET_LABEL38:(void)0; +} +} +{ +{ /* Inline kernel#Int#!= (var34,var37) on */ +var43 = var34 == var37; +var44 = !var43; +var41 = var44; +goto RET_LABEL42; +RET_LABEL42:(void)0; +} +var40 = var41; +} +if (var40){ +var45 = 0; +var = var45; goto RET_LABEL; } else { } -var25 = ((long (*)(val*))(var_other->class->vft[COLOR_location__Location__column_start]))(var_other) /* column_start on */; -var26 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_start]))(self) /* column_start on */; -{ /* Inline kernel#Int#!= (var25,var26) */ -var29 = var25 == var26; -var30 = !var29; -var27 = var30; -goto RET_LABEL28; -RET_LABEL28:(void)0; +{ +{ /* Inline location#Location#column_start (var_other) on */ +var48 = var_other->attrs[COLOR_location__Location___column_start].l; /* _column_start on */ +var46 = var48; +RET_LABEL47:(void)0; +} +} +{ +{ /* Inline location#Location#column_start (self) on */ +var51 = self->attrs[COLOR_location__Location___column_start].l; /* _column_start on */ +var49 = var51; +RET_LABEL50:(void)0; +} } -if (var27){ -var31 = 0; -var = var31; +{ +{ /* Inline kernel#Int#!= (var46,var49) on */ +var55 = var46 == var49; +var56 = !var55; +var53 = var56; +goto RET_LABEL54; +RET_LABEL54:(void)0; +} +var52 = var53; +} +if (var52){ +var57 = 0; +var = var57; goto RET_LABEL; } else { } -var32 = ((long (*)(val*))(var_other->class->vft[COLOR_location__Location__column_end]))(var_other) /* column_end on */; -var33 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_end]))(self) /* column_end on */; -{ /* Inline kernel#Int#!= (var32,var33) */ -var36 = var32 == var33; -var37 = !var36; -var34 = var37; -goto RET_LABEL35; -RET_LABEL35:(void)0; +{ +{ /* Inline location#Location#column_end (var_other) on */ +var60 = var_other->attrs[COLOR_location__Location___column_end].l; /* _column_end on */ +var58 = var60; +RET_LABEL59:(void)0; +} +} +{ +{ /* Inline location#Location#column_end (self) on */ +var63 = self->attrs[COLOR_location__Location___column_end].l; /* _column_end on */ +var61 = var63; +RET_LABEL62:(void)0; +} +} +{ +{ /* Inline kernel#Int#!= (var58,var61) on */ +var67 = var58 == var61; +var68 = !var67; +var65 = var68; +goto RET_LABEL66; +RET_LABEL66:(void)0; +} +var64 = var65; } -if (var34){ -var38 = 0; -var = var38; +if (var64){ +var69 = 0; +var = var69; goto RET_LABEL; } else { } -var39 = 1; -var = var39; +var70 = 1; +var = var70; goto RET_LABEL; RET_LABEL:; return var; @@ -720,65 +1169,90 @@ val* var_loc /* var loc: nullable Location */; val* var1 /* : null */; short int var2 /* : Bool */; short int var3 /* : Bool */; -long var4 /* : Int */; +short int var4 /* : Bool */; long var5 /* : Int */; -short int var6 /* : Bool */; -short int var8 /* : Bool */; +long var7 /* : Int */; +long var8 /* : Int */; +long var10 /* : Int */; +short int var11 /* : Bool */; +short int var13 /* : Bool */; int cltype; int idtype; -short int var9 /* : Bool */; -short int var10 /* : Bool */; -long var11 /* : Int */; -long var12 /* : Int */; -short int var13 /* : Bool */; +const char* var_class_name; +short int var14 /* : Bool */; short int var15 /* : Bool */; -int cltype16; -int idtype17; -short int var18 /* : Bool */; -short int var19 /* : Bool */; -long var20 /* : Int */; +long var16 /* : Int */; +long var18 /* : Int */; +long var19 /* : Int */; long var21 /* : Int */; short int var22 /* : Bool */; short int var24 /* : Bool */; int cltype25; int idtype26; -short int var27 /* : Bool */; +const char* var_class_name27; short int var28 /* : Bool */; -long var29 /* : Int */; +short int var29 /* : Bool */; long var30 /* : Int */; -short int var31 /* : Bool */; -short int var33 /* : Bool */; -long var34 /* : Int */; +long var32 /* : Int */; +long var33 /* : Int */; long var35 /* : Int */; short int var36 /* : Bool */; short int var38 /* : Bool */; int cltype39; int idtype40; -short int var41 /* : Bool */; +const char* var_class_name41; short int var42 /* : Bool */; -long var43 /* : Int */; +short int var43 /* : Bool */; long var44 /* : Int */; -short int var45 /* : Bool */; -short int var47 /* : Bool */; -int cltype48; -int idtype49; +long var46 /* : Int */; +long var47 /* : Int */; +long var49 /* : Int */; short int var50 /* : Bool */; short int var51 /* : Bool */; -short int var52 /* : Bool */; -long var53 /* : Int */; +short int var53 /* : Bool */; long var54 /* : Int */; -short int var55 /* : Bool */; -short int var57 /* : Bool */; -short int var_ /* var : Bool */; -long var58 /* : Int */; +long var56 /* : Int */; +long var57 /* : Int */; long var59 /* : Int */; short int var60 /* : Bool */; short int var62 /* : Bool */; int cltype63; int idtype64; -short int var65 /* : Bool */; +const char* var_class_name65; short int var66 /* : Bool */; short int var67 /* : Bool */; +long var68 /* : Int */; +long var70 /* : Int */; +long var71 /* : Int */; +long var73 /* : Int */; +short int var74 /* : Bool */; +short int var76 /* : Bool */; +int cltype77; +int idtype78; +const char* var_class_name79; +short int var80 /* : Bool */; +short int var81 /* : Bool */; +short int var82 /* : Bool */; +long var83 /* : Int */; +long var85 /* : Int */; +long var86 /* : Int */; +long var88 /* : Int */; +short int var89 /* : Bool */; +short int var90 /* : Bool */; +short int var92 /* : Bool */; +short int var_ /* var : Bool */; +long var93 /* : Int */; +long var95 /* : Int */; +long var96 /* : Int */; +long var98 /* : Int */; +short int var99 /* : Bool */; +short int var101 /* : Bool */; +int cltype102; +int idtype103; +const char* var_class_name104; +short int var105 /* : Bool */; +short int var106 /* : Bool */; +short int var107 /* : Bool */; var_loc = p0; var1 = NULL; if (var_loc == NULL) { @@ -786,165 +1260,295 @@ var2 = 1; /* is null */ } else { var2 = 0; /* arg is null but recv is not */ } +if (0) { +var3 = location__Location___61d_61d(var_loc, var1); +var2 = var3; +} if (var2){ -var3 = 0; -var = var3; +var4 = 0; +var = var4; goto RET_LABEL; } else { } -var4 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_start]))(self) /* line_start on */; -var5 = ((long (*)(val*))(var_loc->class->vft[COLOR_location__Location__line_start]))(var_loc) /* line_start on */; -{ /* Inline kernel#Int#< (var4,var5) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var8 = 1; /* easy isa OTHER*/ -if (!var8) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257); -exit(1); +{ +{ /* Inline location#Location#line_start (self) on */ +var7 = self->attrs[COLOR_location__Location___line_start].l; /* _line_start on */ +var5 = var7; +RET_LABEL6:(void)0; } -var9 = var4 < var5; -var6 = var9; -goto RET_LABEL7; -RET_LABEL7:(void)0; } -if (var6){ -var10 = 0; -var = var10; -goto RET_LABEL; -} else { +{ +{ /* Inline location#Location#line_start (var_loc) on */ +var10 = var_loc->attrs[COLOR_location__Location___line_start].l; /* _line_start on */ +var8 = var10; +RET_LABEL9:(void)0; } -var11 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_start]))(self) /* line_start on */; -var12 = ((long (*)(val*))(var_loc->class->vft[COLOR_location__Location__line_end]))(var_loc) /* line_end on */; -{ /* Inline kernel#Int#> (var11,var12) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var15 = 1; /* easy isa OTHER*/ -if (!var15) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259); -exit(1); } -var18 = var11 > var12; -var13 = var18; -goto RET_LABEL14; -RET_LABEL14:(void)0; +{ +{ /* Inline kernel#Int#< (var5,var8) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var13 = 1; /* easy isa OTHER*/ +if (unlikely(!var13)) { +var_class_name = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371); +show_backtrace(1); } -if (var13){ -var19 = 0; -var = var19; +var14 = var5 < var8; +var11 = var14; +goto RET_LABEL12; +RET_LABEL12:(void)0; +} +} +if (var11){ +var15 = 0; +var = var15; goto RET_LABEL; } else { } -var20 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_end]))(self) /* line_end on */; -var21 = ((long (*)(val*))(var_loc->class->vft[COLOR_location__Location__line_end]))(var_loc) /* line_end on */; -{ /* Inline kernel#Int#> (var20,var21) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var24 = 1; /* easy isa OTHER*/ -if (!var24) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259); -exit(1); +{ +{ /* Inline location#Location#line_start (self) on */ +var18 = self->attrs[COLOR_location__Location___line_start].l; /* _line_start on */ +var16 = var18; +RET_LABEL17:(void)0; +} +} +{ +{ /* Inline location#Location#line_end (var_loc) on */ +var21 = var_loc->attrs[COLOR_location__Location___line_end].l; /* _line_end on */ +var19 = var21; +RET_LABEL20:(void)0; +} +} +{ +{ /* Inline kernel#Int#> (var16,var19) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var24 = 1; /* easy isa OTHER*/ +if (unlikely(!var24)) { +var_class_name27 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373); +show_backtrace(1); } -var27 = var20 > var21; -var22 = var27; +var28 = var16 > var19; +var22 = var28; goto RET_LABEL23; RET_LABEL23:(void)0; } +} if (var22){ -var28 = 0; -var = var28; +var29 = 0; +var = var29; goto RET_LABEL; } else { } -var29 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_start]))(self) /* line_start on */; -var30 = ((long (*)(val*))(var_loc->class->vft[COLOR_location__Location__line_start]))(var_loc) /* line_start on */; -{ /* Inline kernel#Int#== (var29,var30) */ -var33 = var29 == var30; -var31 = var33; -goto RET_LABEL32; -RET_LABEL32:(void)0; +{ +{ /* Inline location#Location#line_end (self) on */ +var32 = self->attrs[COLOR_location__Location___line_end].l; /* _line_end on */ +var30 = var32; +RET_LABEL31:(void)0; } -if (var31){ -var34 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_start]))(self) /* column_start on */; -var35 = ((long (*)(val*))(var_loc->class->vft[COLOR_location__Location__column_start]))(var_loc) /* column_start on */; -{ /* Inline kernel#Int#< (var34,var35) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var38 = 1; /* easy isa OTHER*/ -if (!var38) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257); -exit(1); -} -var41 = var34 < var35; -var36 = var41; +} +{ +{ /* Inline location#Location#line_end (var_loc) on */ +var35 = var_loc->attrs[COLOR_location__Location___line_end].l; /* _line_end on */ +var33 = var35; +RET_LABEL34:(void)0; +} +} +{ +{ /* Inline kernel#Int#> (var30,var33) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var38 = 1; /* easy isa OTHER*/ +if (unlikely(!var38)) { +var_class_name41 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373); +show_backtrace(1); +} +var42 = var30 > var33; +var36 = var42; goto RET_LABEL37; RET_LABEL37:(void)0; } +} if (var36){ -var42 = 0; -var = var42; +var43 = 0; +var = var43; goto RET_LABEL; } else { } -var43 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_start]))(self) /* column_start on */; -var44 = ((long (*)(val*))(var_loc->class->vft[COLOR_location__Location__column_end]))(var_loc) /* column_end on */; -{ /* Inline kernel#Int#> (var43,var44) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var47 = 1; /* easy isa OTHER*/ -if (!var47) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259); -exit(1); +{ +{ /* Inline location#Location#line_start (self) on */ +var46 = self->attrs[COLOR_location__Location___line_start].l; /* _line_start on */ +var44 = var46; +RET_LABEL45:(void)0; +} +} +{ +{ /* Inline location#Location#line_start (var_loc) on */ +var49 = var_loc->attrs[COLOR_location__Location___line_start].l; /* _line_start on */ +var47 = var49; +RET_LABEL48:(void)0; +} +} +{ +{ /* Inline kernel#Int#== (var44,var47) on */ +var53 = var44 == var47; +var51 = var53; +goto RET_LABEL52; +RET_LABEL52:(void)0; +} +var50 = var51; +} +if (var50){ +{ +{ /* Inline location#Location#column_start (self) on */ +var56 = self->attrs[COLOR_location__Location___column_start].l; /* _column_start on */ +var54 = var56; +RET_LABEL55:(void)0; +} +} +{ +{ /* Inline location#Location#column_start (var_loc) on */ +var59 = var_loc->attrs[COLOR_location__Location___column_start].l; /* _column_start on */ +var57 = var59; +RET_LABEL58:(void)0; +} +} +{ +{ /* Inline kernel#Int#< (var54,var57) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var62 = 1; /* easy isa OTHER*/ +if (unlikely(!var62)) { +var_class_name65 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name65); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371); +show_backtrace(1); +} +var66 = var54 < var57; +var60 = var66; +goto RET_LABEL61; +RET_LABEL61:(void)0; } -var50 = var43 > var44; -var45 = var50; -goto RET_LABEL46; -RET_LABEL46:(void)0; } -if (var45){ -var51 = 0; -var = var51; +if (var60){ +var67 = 0; +var = var67; goto RET_LABEL; } else { } +{ +{ /* Inline location#Location#column_start (self) on */ +var70 = self->attrs[COLOR_location__Location___column_start].l; /* _column_start on */ +var68 = var70; +RET_LABEL69:(void)0; +} +} +{ +{ /* Inline location#Location#column_end (var_loc) on */ +var73 = var_loc->attrs[COLOR_location__Location___column_end].l; /* _column_end on */ +var71 = var73; +RET_LABEL72:(void)0; +} +} +{ +{ /* Inline kernel#Int#> (var68,var71) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var76 = 1; /* easy isa OTHER*/ +if (unlikely(!var76)) { +var_class_name79 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name79); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373); +show_backtrace(1); +} +var80 = var68 > var71; +var74 = var80; +goto RET_LABEL75; +RET_LABEL75:(void)0; +} +} +if (var74){ +var81 = 0; +var = var81; +goto RET_LABEL; } else { } -var53 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_end]))(self) /* line_end on */; -var54 = ((long (*)(val*))(var_loc->class->vft[COLOR_location__Location__line_end]))(var_loc) /* line_end on */; -{ /* Inline kernel#Int#== (var53,var54) */ -var57 = var53 == var54; -var55 = var57; -goto RET_LABEL56; -RET_LABEL56:(void)0; +} else { } -var_ = var55; -if (var55){ -var58 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_end]))(self) /* column_end on */; -var59 = ((long (*)(val*))(var_loc->class->vft[COLOR_location__Location__column_end]))(var_loc) /* column_end on */; -{ /* Inline kernel#Int#> (var58,var59) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var62 = 1; /* easy isa OTHER*/ -if (!var62) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259); -exit(1); +{ +{ /* Inline location#Location#line_end (self) on */ +var85 = self->attrs[COLOR_location__Location___line_end].l; /* _line_end on */ +var83 = var85; +RET_LABEL84:(void)0; } -var65 = var58 > var59; -var60 = var65; -goto RET_LABEL61; -RET_LABEL61:(void)0; } -var52 = var60; +{ +{ /* Inline location#Location#line_end (var_loc) on */ +var88 = var_loc->attrs[COLOR_location__Location___line_end].l; /* _line_end on */ +var86 = var88; +RET_LABEL87:(void)0; +} +} +{ +{ /* Inline kernel#Int#== (var83,var86) on */ +var92 = var83 == var86; +var90 = var92; +goto RET_LABEL91; +RET_LABEL91:(void)0; +} +var89 = var90; +} +var_ = var89; +if (var89){ +{ +{ /* Inline location#Location#column_end (self) on */ +var95 = self->attrs[COLOR_location__Location___column_end].l; /* _column_end on */ +var93 = var95; +RET_LABEL94:(void)0; +} +} +{ +{ /* Inline location#Location#column_end (var_loc) on */ +var98 = var_loc->attrs[COLOR_location__Location___column_end].l; /* _column_end on */ +var96 = var98; +RET_LABEL97:(void)0; +} +} +{ +{ /* Inline kernel#Int#> (var93,var96) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var101 = 1; /* easy isa OTHER*/ +if (unlikely(!var101)) { +var_class_name104 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name104); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373); +show_backtrace(1); +} +var105 = var93 > var96; +var99 = var105; +goto RET_LABEL100; +RET_LABEL100:(void)0; +} +} +var82 = var99; } else { -var52 = var_; +var82 = var_; } -if (var52){ -var66 = 0; -var = var66; +if (var82){ +var106 = 0; +var = var106; goto RET_LABEL; } else { } -var67 = 1; -var = var67; +var107 = 1; +var = var107; goto RET_LABEL; RET_LABEL:; return var; @@ -965,141 +1569,123 @@ static val* varonce; val* var1 /* : String */; char* var2 /* : NativeString */; long var3 /* : Int */; -val* var4 /* : String */; +val* var4 /* : FlatString */; val* var_file_part /* var file_part: String */; val* var5 /* : nullable SourceFile */; -val* var6 /* : null */; -short int var7 /* : Bool */; -val* var8 /* : nullable SourceFile */; -val* var9 /* : String */; -val* var10 /* : nullable SourceFile */; -val* var11 /* : String */; -long var12 /* : Int */; -long var13 /* : Int */; +val* var7 /* : nullable SourceFile */; +val* var8 /* : null */; +short int var9 /* : Bool */; +short int var10 /* : Bool */; +val* var_other /* var other: nullable Object */; +short int var12 /* : Bool */; +short int var13 /* : Bool */; short int var14 /* : Bool */; -short int var16 /* : Bool */; -int cltype; -int idtype; -short int var17 /* : Bool */; -static val* varonce18; -val* var19 /* : String */; -char* var20 /* : NativeString */; -long var21 /* : Int */; -val* var22 /* : String */; -val* var23 /* : String */; -long var24 /* : Int */; -long var25 /* : Int */; -short int var26 /* : Bool */; -short int var28 /* : Bool */; +val* var15 /* : nullable SourceFile */; +val* var17 /* : nullable SourceFile */; +val* var18 /* : String */; +val* var20 /* : String */; +val* var21 /* : nullable SourceFile */; +val* var23 /* : nullable SourceFile */; +val* var24 /* : String */; +val* var26 /* : String */; +long var27 /* : Int */; long var29 /* : Int */; long var30 /* : Int */; short int var31 /* : Bool */; short int var33 /* : Bool */; -val* var34 /* : Array[Object] */; -long var35 /* : Int */; -val* var_ /* var : Array[Object] */; -static val* varonce36; -val* var37 /* : String */; -char* var38 /* : NativeString */; -long var39 /* : Int */; +int cltype; +int idtype; +const char* var_class_name; +short int var34 /* : Bool */; +static val* varonce35; +val* var36 /* : String */; +char* var37 /* : NativeString */; +long var38 /* : Int */; +val* var39 /* : FlatString */; val* var40 /* : String */; -static val* varonce41; -val* var42 /* : String */; -char* var43 /* : NativeString */; +long var41 /* : Int */; +long var43 /* : Int */; long var44 /* : Int */; -val* var45 /* : String */; long var46 /* : Int */; -val* var47 /* : nullable Object */; -static val* varonce48; -val* var49 /* : String */; -char* var50 /* : NativeString */; +short int var47 /* : Bool */; +short int var48 /* : Bool */; +short int var50 /* : Bool */; long var51 /* : Int */; -val* var52 /* : String */; long var53 /* : Int */; -val* var54 /* : nullable Object */; -static val* varonce55; -val* var56 /* : String */; -char* var57 /* : NativeString */; -long var58 /* : Int */; -val* var59 /* : String */; -val* var60 /* : String */; -val* var61 /* : Array[Object] */; -long var62 /* : Int */; -val* var_63 /* var : Array[Object] */; +long var54 /* : Int */; +long var56 /* : Int */; +short int var57 /* : Bool */; +short int var58 /* : Bool */; +short int var60 /* : Bool */; +long var61 /* : Int */; +long var63 /* : Int */; static val* varonce64; val* var65 /* : String */; char* var66 /* : NativeString */; long var67 /* : Int */; -val* var68 /* : String */; -static val* varonce69; -val* var70 /* : String */; -char* var71 /* : NativeString */; -long var72 /* : Int */; -val* var73 /* : String */; -long var74 /* : Int */; -val* var75 /* : nullable Object */; -static val* varonce76; +val* var68 /* : FlatString */; +long var69 /* : Int */; +long var71 /* : Int */; +val* var72 /* : Array[Object] */; +long var73 /* : Int */; +val* var74 /* : NativeArray[Object] */; +val* var75 /* : Object */; +val* var76 /* : Object */; val* var77 /* : String */; -char* var78 /* : NativeString */; -long var79 /* : Int */; -val* var80 /* : String */; -long var81 /* : Int */; -val* var82 /* : nullable Object */; -static val* varonce83; -val* var84 /* : String */; -char* var85 /* : NativeString */; +long var78 /* : Int */; +long var80 /* : Int */; +static val* varonce81; +val* var82 /* : String */; +char* var83 /* : NativeString */; +long var84 /* : Int */; +val* var85 /* : FlatString */; long var86 /* : Int */; -val* var87 /* : String */; long var88 /* : Int */; -val* var89 /* : nullable Object */; -static val* varonce90; -val* var91 /* : String */; -char* var92 /* : NativeString */; -long var93 /* : Int */; -val* var94 /* : String */; -val* var95 /* : String */; -val* var96 /* : Array[Object] */; -long var97 /* : Int */; -val* var_98 /* var : Array[Object] */; -static val* varonce99; -val* var100 /* : String */; -char* var101 /* : NativeString */; -long var102 /* : Int */; +static val* varonce89; +val* var90 /* : String */; +char* var91 /* : NativeString */; +long var92 /* : Int */; +val* var93 /* : FlatString */; +long var94 /* : Int */; +long var96 /* : Int */; +val* var97 /* : Array[Object] */; +long var98 /* : Int */; +val* var99 /* : NativeArray[Object] */; +val* var100 /* : Object */; +val* var101 /* : Object */; +val* var102 /* : Object */; val* var103 /* : String */; -static val* varonce104; -val* var105 /* : String */; -char* var106 /* : NativeString */; -long var107 /* : Int */; +long var104 /* : Int */; +long var106 /* : Int */; +static val* varonce107; val* var108 /* : String */; -long var109 /* : Int */; -val* var110 /* : nullable Object */; -static val* varonce111; -val* var112 /* : String */; -char* var113 /* : NativeString */; +char* var109 /* : NativeString */; +long var110 /* : Int */; +val* var111 /* : FlatString */; +long var112 /* : Int */; long var114 /* : Int */; -val* var115 /* : String */; -long var116 /* : Int */; -val* var117 /* : nullable Object */; -static val* varonce118; -val* var119 /* : String */; -char* var120 /* : NativeString */; -long var121 /* : Int */; -val* var122 /* : String */; -long var123 /* : Int */; -val* var124 /* : nullable Object */; -static val* varonce125; -val* var126 /* : String */; -char* var127 /* : NativeString */; +static val* varonce115; +val* var116 /* : String */; +char* var117 /* : NativeString */; +long var118 /* : Int */; +val* var119 /* : FlatString */; +long var120 /* : Int */; +long var122 /* : Int */; +static val* varonce123; +val* var124 /* : String */; +char* var125 /* : NativeString */; +long var126 /* : Int */; +val* var127 /* : FlatString */; long var128 /* : Int */; -val* var129 /* : String */; long var130 /* : Int */; -val* var131 /* : nullable Object */; -static val* varonce132; -val* var133 /* : String */; -char* var134 /* : NativeString */; -long var135 /* : Int */; -val* var136 /* : String */; -val* var137 /* : String */; +val* var131 /* : Array[Object] */; +long var132 /* : Int */; +val* var133 /* : NativeArray[Object] */; +val* var134 /* : Object */; +val* var135 /* : Object */; +val* var136 /* : Object */; +val* var137 /* : Object */; +val* var138 /* : String */; if (varonce) { var1 = varonce; } else { @@ -1110,373 +1696,377 @@ var1 = var4; varonce = var1; } var_file_part = var1; -var5 = ((val* (*)(val*))(self->class->vft[COLOR_location__Location__file]))(self) /* file on */; -var6 = NULL; +{ +{ /* Inline location#Location#file (self) on */ +var7 = self->attrs[COLOR_location__Location___file].val; /* _file on */ +var5 = var7; +RET_LABEL6:(void)0; +} +} +var8 = NULL; if (var5 == NULL) { -var7 = 0; /* is null */ +var9 = 0; /* is null */ } else { -var7 = 1; /* arg is null and recv is not */ +var9 = 1; /* arg is null and recv is not */ } -if (var7){ -var8 = ((val* (*)(val*))(self->class->vft[COLOR_location__Location__file]))(self) /* file on */; -if (var8 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/location.nit", 124); -exit(1); -} else { -var9 = ((val* (*)(val*))(var8->class->vft[COLOR_location__SourceFile__filename]))(var8) /* filename on */; -} -var_file_part = var9; -var10 = ((val* (*)(val*))(self->class->vft[COLOR_location__Location__file]))(self) /* file on */; -if (var10 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/location.nit", 125); -exit(1); -} else { -var11 = ((val* (*)(val*))(var10->class->vft[COLOR_location__SourceFile__filename]))(var10) /* filename on */; -} -var12 = ((long (*)(val*))(var11->class->vft[COLOR_abstract_collection__Collection__length]))(var11) /* length on */; -var13 = 0; -{ /* Inline kernel#Int#> (var12,var13) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var16 = 1; /* easy isa OTHER*/ -if (!var16) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259); -exit(1); -} -var17 = var12 > var13; -var14 = var17; -goto RET_LABEL15; -RET_LABEL15:(void)0; +if (0) { +{ /* Inline kernel#Object#!= (var5,var8) on */ +var_other = var8; +{ +var13 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_other) /* == on */; +var12 = var13; } -if (var14){ -if (varonce18) { -var19 = varonce18; -} else { -var20 = ":"; -var21 = 1; -var22 = string__NativeString__to_s_with_length(var20, var21); -var19 = var22; -varonce18 = var19; +var14 = !var12; +var10 = var14; +goto RET_LABEL11; +RET_LABEL11:(void)0; +} +var9 = var10; +} +if (var9){ +{ +{ /* Inline location#Location#file (self) on */ +var17 = self->attrs[COLOR_location__Location___file].val; /* _file on */ +var15 = var17; +RET_LABEL16:(void)0; } -var23 = ((val* (*)(val*, val*))(var_file_part->class->vft[COLOR_string__String___43d]))(var_file_part, var19) /* + on */; -var_file_part = var23; +} +if (var15 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 125); +show_backtrace(1); } else { +{ /* Inline location#SourceFile#filename (var15) on */ +if (unlikely(var15 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 22); +show_backtrace(1); +} +var20 = var15->attrs[COLOR_location__SourceFile___filename].val; /* _filename on */ +if (unlikely(var20 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename"); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 22); +show_backtrace(1); +} +var18 = var20; +RET_LABEL19:(void)0; +} +} +var_file_part = var18; +{ +{ /* Inline location#Location#file (self) on */ +var23 = self->attrs[COLOR_location__Location___file].val; /* _file on */ +var21 = var23; +RET_LABEL22:(void)0; +} } +if (var21 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 126); +show_backtrace(1); } else { +{ /* Inline location#SourceFile#filename (var21) on */ +if (unlikely(var21 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 22); +show_backtrace(1); +} +var26 = var21->attrs[COLOR_location__SourceFile___filename].val; /* _filename on */ +if (unlikely(var26 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename"); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 22); +show_backtrace(1); +} +var24 = var26; +RET_LABEL25:(void)0; +} +} +{ +{ /* Inline string#FlatText#length (var24) on */ +var29 = var24->attrs[COLOR_string__FlatText___length].l; /* _length on */ +var27 = var29; +RET_LABEL28:(void)0; } -var24 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_start]))(self) /* line_start on */; -var25 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_end]))(self) /* line_end on */; -{ /* Inline kernel#Int#== (var24,var25) */ -var28 = var24 == var25; -var26 = var28; -goto RET_LABEL27; -RET_LABEL27:(void)0; } -if (var26){ -var29 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_start]))(self) /* column_start on */; -var30 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_end]))(self) /* column_end on */; -{ /* Inline kernel#Int#== (var29,var30) */ -var33 = var29 == var30; -var31 = var33; +var30 = 0; +{ +{ /* Inline kernel#Int#> (var27,var30) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var33 = 1; /* easy isa OTHER*/ +if (unlikely(!var33)) { +var_class_name = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 373); +show_backtrace(1); +} +var34 = var27 > var30; +var31 = var34; goto RET_LABEL32; RET_LABEL32:(void)0; } +} if (var31){ -var34 = NEW_array__Array(&type_array__Arraykernel__Object); -var35 = 7; -((void (*)(val*, long))(var34->class->vft[COLOR_array__Array__with_capacity]))(var34, var35) /* with_capacity on */; -CHECK_NEW_array__Array(var34); -var_ = var34; -if (varonce36) { -var37 = varonce36; -} else { -var38 = ""; -var39 = 0; -var40 = string__NativeString__to_s_with_length(var38, var39); -var37 = var40; -varonce36 = var37; -} -((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var37) /* add on */; -((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var_file_part) /* add on */; -if (varonce41) { -var42 = varonce41; -} else { -var43 = ""; -var44 = 0; -var45 = string__NativeString__to_s_with_length(var43, var44); -var42 = var45; -varonce41 = var42; -} -((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var42) /* add on */; -var46 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_start]))(self) /* line_start on */; -var47 = BOX_kernel__Int(var46); /* autobox from Int to nullable Object */ -((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var47) /* add on */; -if (varonce48) { -var49 = varonce48; -} else { -var50 = ","; -var51 = 1; -var52 = string__NativeString__to_s_with_length(var50, var51); -var49 = var52; -varonce48 = var49; -} -((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var49) /* add on */; -var53 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_start]))(self) /* column_start on */; -var54 = BOX_kernel__Int(var53); /* autobox from Int to nullable Object */ -((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var54) /* add on */; -if (varonce55) { -var56 = varonce55; -} else { -var57 = ""; -var58 = 0; -var59 = string__NativeString__to_s_with_length(var57, var58); -var56 = var59; -varonce55 = var56; -} -((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var56) /* add on */; -var60 = ((val* (*)(val*))(var_->class->vft[COLOR_string__Object__to_s]))(var_) /* to_s on */; -var = var60; -goto RET_LABEL; -} else { -var61 = NEW_array__Array(&type_array__Arraykernel__Object); -var62 = 9; -((void (*)(val*, long))(var61->class->vft[COLOR_array__Array__with_capacity]))(var61, var62) /* with_capacity on */; -CHECK_NEW_array__Array(var61); -var_63 = var61; -if (varonce64) { -var65 = varonce64; +if (varonce35) { +var36 = varonce35; } else { -var66 = ""; -var67 = 0; -var68 = string__NativeString__to_s_with_length(var66, var67); -var65 = var68; -varonce64 = var65; +var37 = ":"; +var38 = 1; +var39 = string__NativeString__to_s_with_length(var37, var38); +var36 = var39; +varonce35 = var36; } -((void (*)(val*, val*))(var_63->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_63, var65) /* add on */; -((void (*)(val*, val*))(var_63->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_63, var_file_part) /* add on */; -if (varonce69) { -var70 = varonce69; -} else { -var71 = ""; -var72 = 0; -var73 = string__NativeString__to_s_with_length(var71, var72); -var70 = var73; -varonce69 = var70; -} -((void (*)(val*, val*))(var_63->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_63, var70) /* add on */; -var74 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_start]))(self) /* line_start on */; -var75 = BOX_kernel__Int(var74); /* autobox from Int to nullable Object */ -((void (*)(val*, val*))(var_63->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_63, var75) /* add on */; -if (varonce76) { -var77 = varonce76; -} else { -var78 = ","; -var79 = 1; -var80 = string__NativeString__to_s_with_length(var78, var79); -var77 = var80; -varonce76 = var77; -} -((void (*)(val*, val*))(var_63->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_63, var77) /* add on */; -var81 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_start]))(self) /* column_start on */; -var82 = BOX_kernel__Int(var81); /* autobox from Int to nullable Object */ -((void (*)(val*, val*))(var_63->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_63, var82) /* add on */; -if (varonce83) { -var84 = varonce83; -} else { -var85 = "--"; -var86 = 2; -var87 = string__NativeString__to_s_with_length(var85, var86); -var84 = var87; -varonce83 = var84; -} -((void (*)(val*, val*))(var_63->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_63, var84) /* add on */; -var88 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_end]))(self) /* column_end on */; -var89 = BOX_kernel__Int(var88); /* autobox from Int to nullable Object */ -((void (*)(val*, val*))(var_63->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_63, var89) /* add on */; -if (varonce90) { -var91 = varonce90; -} else { -var92 = ""; -var93 = 0; -var94 = string__NativeString__to_s_with_length(var92, var93); -var91 = var94; -varonce90 = var91; -} -((void (*)(val*, val*))(var_63->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_63, var91) /* add on */; -var95 = ((val* (*)(val*))(var_63->class->vft[COLOR_string__Object__to_s]))(var_63) /* to_s on */; -var = var95; -goto RET_LABEL; +{ +var40 = string__FlatString___43d(var_file_part, var36); } +var_file_part = var40; } else { -var96 = NEW_array__Array(&type_array__Arraykernel__Object); -var97 = 11; -((void (*)(val*, long))(var96->class->vft[COLOR_array__Array__with_capacity]))(var96, var97) /* with_capacity on */; -CHECK_NEW_array__Array(var96); -var_98 = var96; -if (varonce99) { -var100 = varonce99; -} else { -var101 = ""; -var102 = 0; -var103 = string__NativeString__to_s_with_length(var101, var102); -var100 = var103; -varonce99 = var100; -} -((void (*)(val*, val*))(var_98->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_98, var100) /* add on */; -((void (*)(val*, val*))(var_98->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_98, var_file_part) /* add on */; -if (varonce104) { -var105 = varonce104; -} else { -var106 = ""; -var107 = 0; -var108 = string__NativeString__to_s_with_length(var106, var107); -var105 = var108; -varonce104 = var105; -} -((void (*)(val*, val*))(var_98->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_98, var105) /* add on */; -var109 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_start]))(self) /* line_start on */; -var110 = BOX_kernel__Int(var109); /* autobox from Int to nullable Object */ -((void (*)(val*, val*))(var_98->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_98, var110) /* add on */; -if (varonce111) { -var112 = varonce111; -} else { -var113 = ","; -var114 = 1; -var115 = string__NativeString__to_s_with_length(var113, var114); -var112 = var115; -varonce111 = var112; -} -((void (*)(val*, val*))(var_98->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_98, var112) /* add on */; -var116 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_start]))(self) /* column_start on */; -var117 = BOX_kernel__Int(var116); /* autobox from Int to nullable Object */ -((void (*)(val*, val*))(var_98->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_98, var117) /* add on */; -if (varonce118) { -var119 = varonce118; -} else { -var120 = "--"; -var121 = 2; -var122 = string__NativeString__to_s_with_length(var120, var121); -var119 = var122; -varonce118 = var119; -} -((void (*)(val*, val*))(var_98->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_98, var119) /* add on */; -var123 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_end]))(self) /* line_end on */; -var124 = BOX_kernel__Int(var123); /* autobox from Int to nullable Object */ -((void (*)(val*, val*))(var_98->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_98, var124) /* add on */; -if (varonce125) { -var126 = varonce125; -} else { -var127 = ","; -var128 = 1; -var129 = string__NativeString__to_s_with_length(var127, var128); -var126 = var129; -varonce125 = var126; -} -((void (*)(val*, val*))(var_98->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_98, var126) /* add on */; -var130 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_end]))(self) /* column_end on */; -var131 = BOX_kernel__Int(var130); /* autobox from Int to nullable Object */ -((void (*)(val*, val*))(var_98->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_98, var131) /* add on */; -if (varonce132) { -var133 = varonce132; -} else { -var134 = ""; -var135 = 0; -var136 = string__NativeString__to_s_with_length(var134, var135); -var133 = var136; -varonce132 = var133; -} -((void (*)(val*, val*))(var_98->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_98, var133) /* add on */; -var137 = ((val* (*)(val*))(var_98->class->vft[COLOR_string__Object__to_s]))(var_98) /* to_s on */; -var = var137; -goto RET_LABEL; } -RET_LABEL:; -return var; +} else { } -/* method location#Location#to_s for (self: Object): String */ -val* VIRTUAL_location__Location__to_s(val* self) { -val* var /* : String */; -val* var1 /* : String */; -var1 = location__Location__to_s(self); -var = var1; -RET_LABEL:; -return var; +{ +{ /* Inline location#Location#line_start (self) on */ +var43 = self->attrs[COLOR_location__Location___line_start].l; /* _line_start on */ +var41 = var43; +RET_LABEL42:(void)0; } -/* method location#Location#relative_to for (self: Location, nullable Location): String */ -val* location__Location__relative_to(val* self, val* p0) { -val* var /* : String */; -val* var_loc /* var loc: nullable Location */; -short int var1 /* : Bool */; -val* var2 /* : null */; -short int var3 /* : Bool */; -val* var4 /* : nullable SourceFile */; -val* var5 /* : nullable SourceFile */; -short int var6 /* : Bool */; -val* var7 /* : Location */; -val* var8 /* : null */; -long var9 /* : Int */; -long var10 /* : Int */; -long var11 /* : Int */; -long var12 /* : Int */; -val* var_relative /* var relative: Location */; -val* var13 /* : Location */; -val* var14 /* : nullable SourceFile */; -long var15 /* : Int */; -long var16 /* : Int */; -long var17 /* : Int */; -long var18 /* : Int */; -val* var19 /* : String */; -var_loc = p0; -var2 = NULL; -if (var_loc == NULL) { -var3 = 0; /* is null */ -} else { -var3 = 1; /* arg is null and recv is not */ } -if (!var3) { -var1 = 0; +{ +{ /* Inline location#Location#line_end (self) on */ +var46 = self->attrs[COLOR_location__Location___line_end].l; /* _line_end on */ +var44 = var46; +RET_LABEL45:(void)0; +} +} +{ +{ /* Inline kernel#Int#== (var41,var44) on */ +var50 = var41 == var44; +var48 = var50; +goto RET_LABEL49; +RET_LABEL49:(void)0; +} +var47 = var48; +} +if (var47){ +{ +{ /* Inline location#Location#column_start (self) on */ +var53 = self->attrs[COLOR_location__Location___column_start].l; /* _column_start on */ +var51 = var53; +RET_LABEL52:(void)0; +} +} +{ +{ /* Inline location#Location#column_end (self) on */ +var56 = self->attrs[COLOR_location__Location___column_end].l; /* _column_end on */ +var54 = var56; +RET_LABEL55:(void)0; +} +} +{ +{ /* Inline kernel#Int#== (var51,var54) on */ +var60 = var51 == var54; +var58 = var60; +goto RET_LABEL59; +RET_LABEL59:(void)0; +} +var57 = var58; +} +if (var57){ +{ +{ /* Inline location#Location#line_start (self) on */ +var63 = self->attrs[COLOR_location__Location___line_start].l; /* _line_start on */ +var61 = var63; +RET_LABEL62:(void)0; +} +} +if (varonce64) { +var65 = varonce64; } else { -var4 = ((val* (*)(val*))(var_loc->class->vft[COLOR_location__Location__file]))(var_loc) /* file on */; -var5 = ((val* (*)(val*))(self->class->vft[COLOR_location__Location__file]))(self) /* file on */; -if (var4 == NULL) { -var6 = (var5 == NULL); +var66 = ","; +var67 = 1; +var68 = string__NativeString__to_s_with_length(var66, var67); +var65 = var68; +varonce64 = var65; +} +{ +{ /* Inline location#Location#column_start (self) on */ +var71 = self->attrs[COLOR_location__Location___column_start].l; /* _column_start on */ +var69 = var71; +RET_LABEL70:(void)0; +} +} +var72 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var72 = array_instance Array[Object] */ +var73 = 4; +var74 = NEW_array__NativeArray(var73, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var74)->values[0] = (val*) var_file_part; +var75 = BOX_kernel__Int(var61); /* autobox from Int to Object */ +((struct instance_array__NativeArray*)var74)->values[1] = (val*) var75; +((struct instance_array__NativeArray*)var74)->values[2] = (val*) var65; +var76 = BOX_kernel__Int(var69); /* autobox from Int to Object */ +((struct instance_array__NativeArray*)var74)->values[3] = (val*) var76; +{ +((void (*)(val*, val*, long))(var72->class->vft[COLOR_array__Array__with_native]))(var72, var74, var73) /* with_native on */; +} +} +{ +var77 = ((val* (*)(val*))(var72->class->vft[COLOR_string__Object__to_s]))(var72) /* to_s on */; +} +var = var77; +goto RET_LABEL; } else { -var6 = ((short int (*)(val*, val*))(var4->class->vft[COLOR_kernel__Object___61d_61d]))(var4, var5) /* == on */; +{ +{ /* Inline location#Location#line_start (self) on */ +var80 = self->attrs[COLOR_location__Location___line_start].l; /* _line_start on */ +var78 = var80; +RET_LABEL79:(void)0; } -var1 = var6; } -if (var1){ -var7 = NEW_location__Location(&type_location__Location); -var8 = NULL; -var9 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_start]))(self) /* line_start on */; -var10 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_end]))(self) /* line_end on */; -var11 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_start]))(self) /* column_start on */; -var12 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_end]))(self) /* column_end on */; -((void (*)(val*, val*, long, long, long, long))(var7->class->vft[COLOR_location__Location__init]))(var7, var8, var9, var10, var11, var12) /* init on */; -CHECK_NEW_location__Location(var7); -var_relative = var7; -} else { -var13 = NEW_location__Location(&type_location__Location); -var14 = ((val* (*)(val*))(self->class->vft[COLOR_location__Location__file]))(self) /* file on */; -var15 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_start]))(self) /* line_start on */; -var16 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_end]))(self) /* line_end on */; -var17 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_start]))(self) /* column_start on */; -var18 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_end]))(self) /* column_end on */; -((void (*)(val*, val*, long, long, long, long))(var13->class->vft[COLOR_location__Location__init]))(var13, var14, var15, var16, var17, var18) /* init on */; -CHECK_NEW_location__Location(var13); -var_relative = var13; -} -var19 = ((val* (*)(val*))(var_relative->class->vft[COLOR_string__Object__to_s]))(var_relative) /* to_s on */; -var = var19; +if (varonce81) { +var82 = varonce81; +} else { +var83 = ","; +var84 = 1; +var85 = string__NativeString__to_s_with_length(var83, var84); +var82 = var85; +varonce81 = var82; +} +{ +{ /* Inline location#Location#column_start (self) on */ +var88 = self->attrs[COLOR_location__Location___column_start].l; /* _column_start on */ +var86 = var88; +RET_LABEL87:(void)0; +} +} +if (varonce89) { +var90 = varonce89; +} else { +var91 = "--"; +var92 = 2; +var93 = string__NativeString__to_s_with_length(var91, var92); +var90 = var93; +varonce89 = var90; +} +{ +{ /* Inline location#Location#column_end (self) on */ +var96 = self->attrs[COLOR_location__Location___column_end].l; /* _column_end on */ +var94 = var96; +RET_LABEL95:(void)0; +} +} +var97 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var97 = array_instance Array[Object] */ +var98 = 6; +var99 = NEW_array__NativeArray(var98, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var99)->values[0] = (val*) var_file_part; +var100 = BOX_kernel__Int(var78); /* autobox from Int to Object */ +((struct instance_array__NativeArray*)var99)->values[1] = (val*) var100; +((struct instance_array__NativeArray*)var99)->values[2] = (val*) var82; +var101 = BOX_kernel__Int(var86); /* autobox from Int to Object */ +((struct instance_array__NativeArray*)var99)->values[3] = (val*) var101; +((struct instance_array__NativeArray*)var99)->values[4] = (val*) var90; +var102 = BOX_kernel__Int(var94); /* autobox from Int to Object */ +((struct instance_array__NativeArray*)var99)->values[5] = (val*) var102; +{ +((void (*)(val*, val*, long))(var97->class->vft[COLOR_array__Array__with_native]))(var97, var99, var98) /* with_native on */; +} +} +{ +var103 = ((val* (*)(val*))(var97->class->vft[COLOR_string__Object__to_s]))(var97) /* to_s on */; +} +var = var103; +goto RET_LABEL; +} +} else { +{ +{ /* Inline location#Location#line_start (self) on */ +var106 = self->attrs[COLOR_location__Location___line_start].l; /* _line_start on */ +var104 = var106; +RET_LABEL105:(void)0; +} +} +if (varonce107) { +var108 = varonce107; +} else { +var109 = ","; +var110 = 1; +var111 = string__NativeString__to_s_with_length(var109, var110); +var108 = var111; +varonce107 = var108; +} +{ +{ /* Inline location#Location#column_start (self) on */ +var114 = self->attrs[COLOR_location__Location___column_start].l; /* _column_start on */ +var112 = var114; +RET_LABEL113:(void)0; +} +} +if (varonce115) { +var116 = varonce115; +} else { +var117 = "--"; +var118 = 2; +var119 = string__NativeString__to_s_with_length(var117, var118); +var116 = var119; +varonce115 = var116; +} +{ +{ /* Inline location#Location#line_end (self) on */ +var122 = self->attrs[COLOR_location__Location___line_end].l; /* _line_end on */ +var120 = var122; +RET_LABEL121:(void)0; +} +} +if (varonce123) { +var124 = varonce123; +} else { +var125 = ","; +var126 = 1; +var127 = string__NativeString__to_s_with_length(var125, var126); +var124 = var127; +varonce123 = var124; +} +{ +{ /* Inline location#Location#column_end (self) on */ +var130 = self->attrs[COLOR_location__Location___column_end].l; /* _column_end on */ +var128 = var130; +RET_LABEL129:(void)0; +} +} +var131 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var131 = array_instance Array[Object] */ +var132 = 8; +var133 = NEW_array__NativeArray(var132, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var133)->values[0] = (val*) var_file_part; +var134 = BOX_kernel__Int(var104); /* autobox from Int to Object */ +((struct instance_array__NativeArray*)var133)->values[1] = (val*) var134; +((struct instance_array__NativeArray*)var133)->values[2] = (val*) var108; +var135 = BOX_kernel__Int(var112); /* autobox from Int to Object */ +((struct instance_array__NativeArray*)var133)->values[3] = (val*) var135; +((struct instance_array__NativeArray*)var133)->values[4] = (val*) var116; +var136 = BOX_kernel__Int(var120); /* autobox from Int to Object */ +((struct instance_array__NativeArray*)var133)->values[5] = (val*) var136; +((struct instance_array__NativeArray*)var133)->values[6] = (val*) var124; +var137 = BOX_kernel__Int(var128); /* autobox from Int to Object */ +((struct instance_array__NativeArray*)var133)->values[7] = (val*) var137; +{ +((void (*)(val*, val*, long))(var131->class->vft[COLOR_array__Array__with_native]))(var131, var133, var132) /* with_native on */; +} +} +{ +var138 = ((val* (*)(val*))(var131->class->vft[COLOR_string__Object__to_s]))(var131) /* to_s on */; +} +var = var138; goto RET_LABEL; +} RET_LABEL:; return var; } -/* method location#Location#relative_to for (self: Object, nullable Location): String */ -val* VIRTUAL_location__Location__relative_to(val* self, val* p0) { +/* method location#Location#to_s for (self: Object): String */ +val* VIRTUAL_location__Location__to_s(val* self) { val* var /* : String */; val* var1 /* : String */; -var1 = location__Location__relative_to(self, p0); +var1 = location__Location__to_s(self); var = var1; RET_LABEL:; return var; @@ -1488,6 +2078,7 @@ short int var1 /* : Bool */; int cltype; int idtype; const struct type* type_struct; +const char* var_class_name; val* var_other /* var other: Location */; short int var2 /* : Bool */; short int var3 /* : Bool */; @@ -1495,49 +2086,71 @@ short int var4 /* : Bool */; short int var5 /* : Bool */; short int var6 /* : Bool */; short int var7 /* : Bool */; -long var8 /* : Int */; +short int var8 /* : Bool */; long var9 /* : Int */; -short int var10 /* : Bool */; -short int var12 /* : Bool */; -short int var13 /* : Bool */; +long var11 /* : Int */; +long var12 /* : Int */; long var14 /* : Int */; -long var15 /* : Int */; +short int var15 /* : Bool */; short int var16 /* : Bool */; short int var18 /* : Bool */; -int cltype19; -int idtype20; -short int var21 /* : Bool */; +short int var19 /* : Bool */; +long var20 /* : Int */; long var22 /* : Int */; long var23 /* : Int */; -short int var24 /* : Bool */; +long var25 /* : Int */; short int var26 /* : Bool */; -short int var27 /* : Bool */; -long var28 /* : Int */; -long var29 /* : Int */; -short int var30 /* : Bool */; +short int var28 /* : Bool */; +int cltype29; +int idtype30; +const char* var_class_name31; short int var32 /* : Bool */; -int cltype33; -int idtype34; -short int var35 /* : Bool */; +long var33 /* : Int */; +long var35 /* : Int */; long var36 /* : Int */; -long var37 /* : Int */; -short int var38 /* : Bool */; +long var38 /* : Int */; +short int var39 /* : Bool */; short int var40 /* : Bool */; -short int var41 /* : Bool */; -long var42 /* : Int */; -long var43 /* : Int */; -short int var44 /* : Bool */; -short int var46 /* : Bool */; -int cltype47; -int idtype48; -short int var49 /* : Bool */; -long var50 /* : Int */; -long var51 /* : Int */; +short int var42 /* : Bool */; +short int var43 /* : Bool */; +long var44 /* : Int */; +long var46 /* : Int */; +long var47 /* : Int */; +long var49 /* : Int */; +short int var50 /* : Bool */; short int var52 /* : Bool */; -short int var54 /* : Bool */; -int cltype55; -int idtype56; -short int var57 /* : Bool */; +int cltype53; +int idtype54; +const char* var_class_name55; +short int var56 /* : Bool */; +long var57 /* : Int */; +long var59 /* : Int */; +long var60 /* : Int */; +long var62 /* : Int */; +short int var63 /* : Bool */; +short int var64 /* : Bool */; +short int var66 /* : Bool */; +short int var67 /* : Bool */; +long var68 /* : Int */; +long var70 /* : Int */; +long var71 /* : Int */; +long var73 /* : Int */; +short int var74 /* : Bool */; +short int var76 /* : Bool */; +int cltype77; +int idtype78; +const char* var_class_name79; +short int var80 /* : Bool */; +long var81 /* : Int */; +long var83 /* : Int */; +long var84 /* : Int */; +long var86 /* : Int */; +short int var87 /* : Bool */; +short int var89 /* : Bool */; +int cltype90; +int idtype91; +const char* var_class_name92; +short int var93 /* : Bool */; /* Covariant cast for argument 0 (other) isa OTHER */ /* isa OTHER */ type_struct = self->type->resolution_table->types[COLOR_kernel__Comparable_VTOTHER]; @@ -1548,135 +2161,253 @@ var1 = 0; } else { var1 = p0->type->type_table[cltype] == idtype; } -if (!var1) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "src/location.nit", 149); -exit(1); +if (unlikely(!var1)) { +var_class_name = p0 == NULL ? "null" : p0->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 153); +show_backtrace(1); } var_other = p0; -var2 = ((short int (*)(val*, val*))(self->class->vft[COLOR_kernel__Object___61d_61d]))(self, var_other) /* == on */; +{ +var3 = location__Location___61d_61d(self, var_other); +var2 = var3; +} if (var2){ -var3 = 0; -var = var3; +var4 = 0; +var = var4; goto RET_LABEL; } else { } -var4 = ((short int (*)(val*, val*))(self->class->vft[COLOR_location__Location__located_in]))(self, var_other) /* located_in on */; -if (var4){ -var5 = 1; -var = var5; +{ +var5 = location__Location__located_in(self, var_other); +} +if (var5){ +var6 = 1; +var = var6; goto RET_LABEL; } else { } -var6 = ((short int (*)(val*, val*))(var_other->class->vft[COLOR_location__Location__located_in]))(var_other, self) /* located_in on */; -if (var6){ -var7 = 0; -var = var7; +{ +var7 = location__Location__located_in(var_other, self); +} +if (var7){ +var8 = 0; +var = var8; goto RET_LABEL; } else { } -var8 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_start]))(self) /* line_start on */; -var9 = ((long (*)(val*))(var_other->class->vft[COLOR_location__Location__line_start]))(var_other) /* line_start on */; -{ /* Inline kernel#Int#!= (var8,var9) */ -var12 = var8 == var9; -var13 = !var12; -var10 = var13; -goto RET_LABEL11; -RET_LABEL11:(void)0; +{ +{ /* Inline location#Location#line_start (self) on */ +var11 = self->attrs[COLOR_location__Location___line_start].l; /* _line_start on */ +var9 = var11; +RET_LABEL10:(void)0; +} } -if (var10){ -var14 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_start]))(self) /* line_start on */; -var15 = ((long (*)(val*))(var_other->class->vft[COLOR_location__Location__line_start]))(var_other) /* line_start on */; -{ /* Inline kernel#Int#< (var14,var15) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var18 = 1; /* easy isa OTHER*/ -if (!var18) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257); -exit(1); -} -var21 = var14 < var15; -var16 = var21; +{ +{ /* Inline location#Location#line_start (var_other) on */ +var14 = var_other->attrs[COLOR_location__Location___line_start].l; /* _line_start on */ +var12 = var14; +RET_LABEL13:(void)0; +} +} +{ +{ /* Inline kernel#Int#!= (var9,var12) on */ +var18 = var9 == var12; +var19 = !var18; +var16 = var19; goto RET_LABEL17; RET_LABEL17:(void)0; } -var = var16; +var15 = var16; +} +if (var15){ +{ +{ /* Inline location#Location#line_start (self) on */ +var22 = self->attrs[COLOR_location__Location___line_start].l; /* _line_start on */ +var20 = var22; +RET_LABEL21:(void)0; +} +} +{ +{ /* Inline location#Location#line_start (var_other) on */ +var25 = var_other->attrs[COLOR_location__Location___line_start].l; /* _line_start on */ +var23 = var25; +RET_LABEL24:(void)0; +} +} +{ +{ /* Inline kernel#Int#< (var20,var23) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var28 = 1; /* easy isa OTHER*/ +if (unlikely(!var28)) { +var_class_name31 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371); +show_backtrace(1); +} +var32 = var20 < var23; +var26 = var32; +goto RET_LABEL27; +RET_LABEL27:(void)0; +} +} +var = var26; goto RET_LABEL; } else { } -var22 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_start]))(self) /* column_start on */; -var23 = ((long (*)(val*))(var_other->class->vft[COLOR_location__Location__column_start]))(var_other) /* column_start on */; -{ /* Inline kernel#Int#!= (var22,var23) */ -var26 = var22 == var23; -var27 = !var26; -var24 = var27; -goto RET_LABEL25; -RET_LABEL25:(void)0; +{ +{ /* Inline location#Location#column_start (self) on */ +var35 = self->attrs[COLOR_location__Location___column_start].l; /* _column_start on */ +var33 = var35; +RET_LABEL34:(void)0; } -if (var24){ -var28 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_start]))(self) /* column_start on */; -var29 = ((long (*)(val*))(var_other->class->vft[COLOR_location__Location__column_start]))(var_other) /* column_start on */; -{ /* Inline kernel#Int#< (var28,var29) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var32 = 1; /* easy isa OTHER*/ -if (!var32) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257); -exit(1); -} -var35 = var28 < var29; -var30 = var35; -goto RET_LABEL31; -RET_LABEL31:(void)0; } -var = var30; +{ +{ /* Inline location#Location#column_start (var_other) on */ +var38 = var_other->attrs[COLOR_location__Location___column_start].l; /* _column_start on */ +var36 = var38; +RET_LABEL37:(void)0; +} +} +{ +{ /* Inline kernel#Int#!= (var33,var36) on */ +var42 = var33 == var36; +var43 = !var42; +var40 = var43; +goto RET_LABEL41; +RET_LABEL41:(void)0; +} +var39 = var40; +} +if (var39){ +{ +{ /* Inline location#Location#column_start (self) on */ +var46 = self->attrs[COLOR_location__Location___column_start].l; /* _column_start on */ +var44 = var46; +RET_LABEL45:(void)0; +} +} +{ +{ /* Inline location#Location#column_start (var_other) on */ +var49 = var_other->attrs[COLOR_location__Location___column_start].l; /* _column_start on */ +var47 = var49; +RET_LABEL48:(void)0; +} +} +{ +{ /* Inline kernel#Int#< (var44,var47) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var52 = 1; /* easy isa OTHER*/ +if (unlikely(!var52)) { +var_class_name55 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name55); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371); +show_backtrace(1); +} +var56 = var44 < var47; +var50 = var56; +goto RET_LABEL51; +RET_LABEL51:(void)0; +} +} +var = var50; goto RET_LABEL; } else { } -var36 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_end]))(self) /* line_end on */; -var37 = ((long (*)(val*))(var_other->class->vft[COLOR_location__Location__line_end]))(var_other) /* line_end on */; -{ /* Inline kernel#Int#!= (var36,var37) */ -var40 = var36 == var37; -var41 = !var40; -var38 = var41; -goto RET_LABEL39; -RET_LABEL39:(void)0; -} -if (var38){ -var42 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__line_end]))(self) /* line_end on */; -var43 = ((long (*)(val*))(var_other->class->vft[COLOR_location__Location__line_end]))(var_other) /* line_end on */; -{ /* Inline kernel#Int#< (var42,var43) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var46 = 1; /* easy isa OTHER*/ -if (!var46) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257); -exit(1); -} -var49 = var42 < var43; -var44 = var49; -goto RET_LABEL45; -RET_LABEL45:(void)0; +{ +{ /* Inline location#Location#line_end (self) on */ +var59 = self->attrs[COLOR_location__Location___line_end].l; /* _line_end on */ +var57 = var59; +RET_LABEL58:(void)0; +} +} +{ +{ /* Inline location#Location#line_end (var_other) on */ +var62 = var_other->attrs[COLOR_location__Location___line_end].l; /* _line_end on */ +var60 = var62; +RET_LABEL61:(void)0; } -var = var44; +} +{ +{ /* Inline kernel#Int#!= (var57,var60) on */ +var66 = var57 == var60; +var67 = !var66; +var64 = var67; +goto RET_LABEL65; +RET_LABEL65:(void)0; +} +var63 = var64; +} +if (var63){ +{ +{ /* Inline location#Location#line_end (self) on */ +var70 = self->attrs[COLOR_location__Location___line_end].l; /* _line_end on */ +var68 = var70; +RET_LABEL69:(void)0; +} +} +{ +{ /* Inline location#Location#line_end (var_other) on */ +var73 = var_other->attrs[COLOR_location__Location___line_end].l; /* _line_end on */ +var71 = var73; +RET_LABEL72:(void)0; +} +} +{ +{ /* Inline kernel#Int#< (var68,var71) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var76 = 1; /* easy isa OTHER*/ +if (unlikely(!var76)) { +var_class_name79 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name79); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371); +show_backtrace(1); +} +var80 = var68 < var71; +var74 = var80; +goto RET_LABEL75; +RET_LABEL75:(void)0; +} +} +var = var74; goto RET_LABEL; } else { } -var50 = ((long (*)(val*))(self->class->vft[COLOR_location__Location__column_end]))(self) /* column_end on */; -var51 = ((long (*)(val*))(var_other->class->vft[COLOR_location__Location__column_end]))(var_other) /* column_end on */; -{ /* Inline kernel#Int#< (var50,var51) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var54 = 1; /* easy isa OTHER*/ -if (!var54) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257); -exit(1); +{ +{ /* Inline location#Location#column_end (self) on */ +var83 = self->attrs[COLOR_location__Location___column_end].l; /* _column_end on */ +var81 = var83; +RET_LABEL82:(void)0; +} +} +{ +{ /* Inline location#Location#column_end (var_other) on */ +var86 = var_other->attrs[COLOR_location__Location___column_end].l; /* _column_end on */ +var84 = var86; +RET_LABEL85:(void)0; +} +} +{ +{ /* Inline kernel#Int#< (var81,var84) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var89 = 1; /* easy isa OTHER*/ +if (unlikely(!var89)) { +var_class_name92 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name92); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371); +show_backtrace(1); } -var57 = var50 < var51; -var52 = var57; -goto RET_LABEL53; -RET_LABEL53:(void)0; +var93 = var81 < var84; +var87 = var93; +goto RET_LABEL88; +RET_LABEL88:(void)0; } -var = var52; +} +var = var87; goto RET_LABEL; RET_LABEL:; return var; @@ -1698,696 +2429,1119 @@ long var1 /* : Int */; char var2 /* : Char */; char var4 /* : Char */; char var_esc /* var esc: Char */; -val* var5 /* : Array[Object] */; -long var6 /* : Int */; -val* var_ /* var : Array[Object] */; static val* varonce; -val* var7 /* : String */; -char* var8 /* : NativeString */; -long var9 /* : Int */; -val* var10 /* : String */; -val* var11 /* : nullable Object */; -static val* varonce12; +val* var5 /* : String */; +char* var6 /* : NativeString */; +long var7 /* : Int */; +val* var8 /* : FlatString */; +val* var9 /* : Array[Object] */; +long var10 /* : Int */; +val* var11 /* : NativeArray[Object] */; +val* var12 /* : Object */; val* var13 /* : String */; -char* var14 /* : NativeString */; -long var15 /* : Int */; -val* var16 /* : String */; -val* var17 /* : String */; val* var_def /* var def: String */; -val* var18 /* : Array[Object] */; -long var19 /* : Int */; -val* var_20 /* var : Array[Object] */; -static val* varonce21; -val* var22 /* : String */; -char* var23 /* : NativeString */; -long var24 /* : Int */; -val* var25 /* : String */; -val* var26 /* : nullable Object */; -static val* varonce27; +static val* varonce14; +val* var15 /* : String */; +char* var16 /* : NativeString */; +long var17 /* : Int */; +val* var18 /* : FlatString */; +static val* varonce19; +val* var20 /* : String */; +char* var21 /* : NativeString */; +long var22 /* : Int */; +val* var23 /* : FlatString */; +val* var24 /* : Array[Object] */; +long var25 /* : Int */; +val* var26 /* : NativeArray[Object] */; +val* var27 /* : Object */; val* var28 /* : String */; -char* var29 /* : NativeString */; -long var30 /* : Int */; -val* var31 /* : String */; -static val* varonce32; -val* var33 /* : String */; -char* var34 /* : NativeString */; -long var35 /* : Int */; -val* var36 /* : String */; -val* var37 /* : String */; val* var_col /* var col: String */; val* var_l /* var l: Location */; -long var38 /* : Int */; +long var29 /* : Int */; +long var31 /* : Int */; long var_i /* var i: Int */; -val* var39 /* : nullable SourceFile */; -val* var40 /* : Array[Int] */; -long var41 /* : Int */; +val* var32 /* : nullable SourceFile */; +val* var34 /* : nullable SourceFile */; +val* var35 /* : Array[Int] */; +val* var37 /* : Array[Int] */; +long var38 /* : Int */; +long var39 /* : Int */; +short int var41 /* : Bool */; +int cltype; +int idtype; +const char* var_class_name; long var42 /* : Int */; +val* var43 /* : nullable Object */; long var44 /* : Int */; -val* var45 /* : nullable Object */; -long var46 /* : Int */; long var_line_start /* var line_start: Int */; long var_line_end /* var line_end: Int */; +val* var45 /* : nullable SourceFile */; val* var47 /* : nullable SourceFile */; val* var48 /* : String */; +val* var50 /* : String */; val* var_string /* var string: String */; -short int var49 /* : Bool */; -short int var50 /* : Bool */; -long var51 /* : Int */; -long var52 /* : Int */; +short int var51 /* : Bool */; +short int var52 /* : Bool */; +long var53 /* : Int */; long var54 /* : Int */; -long var55 /* : Int */; short int var56 /* : Bool */; -short int var58 /* : Bool */; -int cltype; -int idtype; -short int var59 /* : Bool */; -short int var_60 /* var : Bool */; +int cltype57; +int idtype58; +const char* var_class_name59; +long var60 /* : Int */; long var61 /* : Int */; -long var62 /* : Int */; -long var64 /* : Int */; -val* var65 /* : nullable Object */; -char var66 /* : Char */; -short int var67 /* : Bool */; -short int var69 /* : Bool */; -char var70 /* : Char */; -short int var71 /* : Bool */; -short int var_72 /* var : Bool */; -long var73 /* : Int */; +long var63 /* : Int */; +short int var64 /* : Bool */; +short int var66 /* : Bool */; +int cltype67; +int idtype68; +const char* var_class_name69; +short int var70 /* : Bool */; +short int var_ /* var : Bool */; +val* var71 /* : SequenceRead[Char] */; +val* var73 /* : SequenceRead[Char] */; long var74 /* : Int */; -long var76 /* : Int */; -val* var77 /* : nullable Object */; -char var78 /* : Char */; -short int var79 /* : Bool */; -short int var81 /* : Bool */; -char var82 /* : Char */; -short int var83 /* : Bool */; -long var84 /* : Int */; -long var85 /* : Int */; -long var87 /* : Int */; -long var88 /* : Int */; -long var89 /* : Int */; -long var90 /* : Int */; -long var92 /* : Int */; -val* var93 /* : String */; -val* var_lstart /* var lstart: String */; +long var75 /* : Int */; +short int var77 /* : Bool */; +int cltype78; +int idtype79; +const char* var_class_name80; +long var81 /* : Int */; +val* var82 /* : nullable Object */; +char var83 /* : Char */; +short int var84 /* : Bool */; +short int var85 /* : Bool */; +short int var87 /* : Bool */; +char var88 /* : Char */; +short int var89 /* : Bool */; +short int var_90 /* var : Bool */; +val* var91 /* : SequenceRead[Char] */; +val* var93 /* : SequenceRead[Char] */; long var94 /* : Int */; -short int var95 /* : Bool */; +long var95 /* : Int */; short int var97 /* : Bool */; -short int var98 /* : Bool */; -long var99 /* : Int */; +int cltype98; +int idtype99; +const char* var_class_name100; long var101 /* : Int */; -long var102 /* : Int */; -long var103 /* : Int */; -long var105 /* : Int */; -val* var106 /* : nullable Object */; -val* var_cend /* var cend: nullable Object */; -long var107 /* : Int */; -val* var108 /* : nullable Object */; -long var109 /* : Int */; +val* var102 /* : nullable Object */; +char var103 /* : Char */; +short int var104 /* : Bool */; +short int var105 /* : Bool */; +short int var107 /* : Bool */; +char var108 /* : Char */; +short int var109 /* : Bool */; +long var110 /* : Int */; long var111 /* : Int */; -long var112 /* : Int */; -long var113 /* : Int */; -short int var114 /* : Bool */; -short int var116 /* : Bool */; -int cltype117; -int idtype118; -short int var119 /* : Bool */; +short int var113 /* : Bool */; +int cltype114; +int idtype115; +const char* var_class_name116; +long var117 /* : Int */; +long var118 /* : Int */; long var120 /* : Int */; long var121 /* : Int */; -long var123 /* : Int */; -long var124 /* : Int */; -long var125 /* : Int */; -long var127 /* : Int */; +long var122 /* : Int */; +short int var124 /* : Bool */; +int cltype125; +int idtype126; +const char* var_class_name127; long var128 /* : Int */; -long var129 /* : Int */; -long var131 /* : Int */; +val* var129 /* : String */; +val* var_lstart /* var lstart: String */; +long var130 /* : Int */; long var132 /* : Int */; -long var133 /* : Int */; -long var134 /* : Int */; -long var136 /* : Int */; -val* var137 /* : String */; -val* var_lmid /* var lmid: nullable Object */; +short int var133 /* : Bool */; +short int var134 /* : Bool */; +short int var136 /* : Bool */; +short int var137 /* : Bool */; long var138 /* : Int */; -long var140 /* : Int */; -long var141 /* : Int */; -long var142 /* : Int */; +short int var140 /* : Bool */; +int cltype141; +int idtype142; +const char* var_class_name143; long var144 /* : Int */; long var145 /* : Int */; -long var147 /* : Int */; -long var148 /* : Int */; -long var149 /* : Int */; -long var150 /* : Int */; +long var146 /* : Int */; +short int var148 /* : Bool */; +int cltype149; +int idtype150; +const char* var_class_name151; long var152 /* : Int */; -val* var153 /* : String */; -val* var_lend /* var lend: nullable Object */; -static val* varonce154; -val* var155 /* : String */; -char* var156 /* : NativeString */; -long var157 /* : Int */; -val* var158 /* : String */; -static val* varonce159; -val* var160 /* : String */; -char* var161 /* : NativeString */; -long var162 /* : Int */; -val* var163 /* : String */; -val* var164 /* : Buffer */; -val* var_indent /* var indent: Buffer */; -val* var165 /* : Range[Int] */; +val* var153 /* : nullable Object */; +val* var_cend /* var cend: nullable Object */; +long var154 /* : Int */; +long var156 /* : Int */; +val* var157 /* : nullable Object */; +long var158 /* : Int */; +short int var160 /* : Bool */; +int cltype161; +int idtype162; +const char* var_class_name163; +long var164 /* : Int */; +long var165 /* : Int */; long var166 /* : Int */; -long var167 /* : Int */; -long var169 /* : Int */; -long var170 /* : Int */; -long var171 /* : Int */; -long var173 /* : Int */; -val* var174 /* : Discrete */; -val* var175 /* : Discrete */; -val* var176 /* : Iterator[nullable Object] */; -short int var177 /* : Bool */; -val* var178 /* : nullable Object */; -long var_j /* var j: Int */; +long var168 /* : Int */; +short int var169 /* : Bool */; +short int var171 /* : Bool */; +int cltype172; +int idtype173; +const char* var_class_name174; +short int var175 /* : Bool */; +long var176 /* : Int */; +long var178 /* : Int */; long var179 /* : Int */; -val* var180 /* : nullable Object */; -char var181 /* : Char */; -short int var182 /* : Bool */; -short int var184 /* : Bool */; -char var185 /* : Char */; -char var186 /* : Char */; -val* var187 /* : nullable Object */; -char var188 /* : Char */; -val* var189 /* : nullable Object */; -val* var191 /* : Array[Object] */; -long var192 /* : Int */; -val* var_193 /* var : Array[Object] */; -static val* varonce194; -val* var195 /* : String */; -char* var196 /* : NativeString */; +short int var181 /* : Bool */; +int cltype182; +int idtype183; +const char* var_class_name184; +long var185 /* : Int */; +long var186 /* : Int */; +long var187 /* : Int */; +short int var189 /* : Bool */; +int cltype190; +int idtype191; +const char* var_class_name192; +long var193 /* : Int */; +long var194 /* : Int */; +long var196 /* : Int */; long var197 /* : Int */; -val* var198 /* : String */; -static val* varonce199; -val* var200 /* : String */; -char* var201 /* : NativeString */; -long var202 /* : Int */; -val* var203 /* : String */; -static val* varonce204; -val* var205 /* : String */; -char* var206 /* : NativeString */; -long var207 /* : Int */; -val* var208 /* : String */; -static val* varonce209; -val* var210 /* : String */; -char* var211 /* : NativeString */; +short int var199 /* : Bool */; +int cltype200; +int idtype201; +const char* var_class_name202; +long var203 /* : Int */; +long var204 /* : Int */; +long var205 /* : Int */; +long var206 /* : Int */; +short int var208 /* : Bool */; +int cltype209; +int idtype210; +const char* var_class_name211; long var212 /* : Int */; val* var213 /* : String */; -static val* varonce214; -val* var215 /* : String */; -char* var216 /* : NativeString */; -long var217 /* : Int */; -val* var218 /* : String */; -static val* varonce219; -val* var220 /* : String */; -char* var221 /* : NativeString */; +val* var_lmid /* var lmid: nullable Object */; +long var214 /* : Int */; +short int var216 /* : Bool */; +int cltype217; +int idtype218; +const char* var_class_name219; +long var220 /* : Int */; +long var221 /* : Int */; long var222 /* : Int */; -val* var223 /* : String */; -static val* varonce224; -val* var225 /* : String */; -char* var226 /* : NativeString */; -long var227 /* : Int */; -val* var228 /* : String */; -val* var229 /* : String */; +short int var224 /* : Bool */; +int cltype225; +int idtype226; +const char* var_class_name227; +long var228 /* : Int */; +long var229 /* : Int */; +short int var231 /* : Bool */; +int cltype232; +int idtype233; +const char* var_class_name234; +long var235 /* : Int */; +long var236 /* : Int */; +long var237 /* : Int */; +long var238 /* : Int */; +short int var240 /* : Bool */; +int cltype241; +int idtype242; +const char* var_class_name243; +long var244 /* : Int */; +val* var245 /* : String */; +val* var_lend /* var lend: nullable Object */; +static val* varonce246; +val* var247 /* : String */; +char* var248 /* : NativeString */; +long var249 /* : Int */; +val* var250 /* : FlatString */; +static val* varonce251; +val* var252 /* : String */; +char* var253 /* : NativeString */; +long var254 /* : Int */; +val* var255 /* : FlatString */; +val* var256 /* : FlatBuffer */; +val* var_indent /* var indent: FlatBuffer */; +long var_j /* var j: Int */; +long var257 /* : Int */; +long var259 /* : Int */; +long var260 /* : Int */; +short int var262 /* : Bool */; +int cltype263; +int idtype264; +const char* var_class_name265; +long var266 /* : Int */; +long var267 /* : Int */; +long var268 /* : Int */; +short int var270 /* : Bool */; +int cltype271; +int idtype272; +const char* var_class_name273; +long var274 /* : Int */; +long var_275 /* var : Int */; +short int var276 /* : Bool */; +short int var278 /* : Bool */; +int cltype279; +int idtype280; +const char* var_class_name281; +short int var282 /* : Bool */; +val* var283 /* : SequenceRead[Char] */; +val* var285 /* : SequenceRead[Char] */; +val* var286 /* : nullable Object */; +char var287 /* : Char */; +short int var288 /* : Bool */; +short int var289 /* : Bool */; +short int var291 /* : Bool */; +char var292 /* : Char */; +char var293 /* : Char */; +char var294 /* : Char */; +long var295 /* : Int */; +long var296 /* : Int */; +static val* varonce298; +val* var299 /* : String */; +char* var300 /* : NativeString */; +long var301 /* : Int */; +val* var302 /* : FlatString */; +static val* varonce303; +val* var304 /* : String */; +char* var305 /* : NativeString */; +long var306 /* : Int */; +val* var307 /* : FlatString */; +static val* varonce308; +val* var309 /* : String */; +char* var310 /* : NativeString */; +long var311 /* : Int */; +val* var312 /* : FlatString */; +val* var313 /* : Array[Object] */; +long var314 /* : Int */; +val* var315 /* : NativeArray[Object] */; +val* var316 /* : String */; var_color = p0; var1 = 27; -{ /* Inline kernel#Int#ascii (var1) */ +{ +{ /* Inline kernel#Int#ascii (var1) on */ var4 = var1; var2 = var4; goto RET_LABEL3; RET_LABEL3:(void)0; } +} var_esc = var2; -var5 = NEW_array__Array(&type_array__Arraykernel__Object); -var6 = 3; -((void (*)(val*, long))(var5->class->vft[COLOR_array__Array__with_capacity]))(var5, var6) /* with_capacity on */; -CHECK_NEW_array__Array(var5); -var_ = var5; if (varonce) { -var7 = varonce; -} else { -var8 = ""; -var9 = 0; -var10 = string__NativeString__to_s_with_length(var8, var9); -var7 = var10; -varonce = var7; -} -((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var7) /* add on */; -var11 = BOX_kernel__Char(var_esc); /* autobox from Char to nullable Object */ -((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var11) /* add on */; -if (varonce12) { -var13 = varonce12; -} else { -var14 = "[0m"; -var15 = 3; -var16 = string__NativeString__to_s_with_length(var14, var15); -var13 = var16; -varonce12 = var13; -} -((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var13) /* add on */; -var17 = ((val* (*)(val*))(var_->class->vft[COLOR_string__Object__to_s]))(var_) /* to_s on */; -var_def = var17; -var18 = NEW_array__Array(&type_array__Arraykernel__Object); -var19 = 5; -((void (*)(val*, long))(var18->class->vft[COLOR_array__Array__with_capacity]))(var18, var19) /* with_capacity on */; -CHECK_NEW_array__Array(var18); -var_20 = var18; -if (varonce21) { -var22 = varonce21; -} else { -var23 = ""; -var24 = 0; -var25 = string__NativeString__to_s_with_length(var23, var24); -var22 = var25; -varonce21 = var22; -} -((void (*)(val*, val*))(var_20->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_20, var22) /* add on */; -var26 = BOX_kernel__Char(var_esc); /* autobox from Char to nullable Object */ -((void (*)(val*, val*))(var_20->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_20, var26) /* add on */; -if (varonce27) { -var28 = varonce27; -} else { -var29 = "["; -var30 = 1; -var31 = string__NativeString__to_s_with_length(var29, var30); -var28 = var31; -varonce27 = var28; -} -((void (*)(val*, val*))(var_20->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_20, var28) /* add on */; -((void (*)(val*, val*))(var_20->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_20, var_color) /* add on */; -if (varonce32) { -var33 = varonce32; -} else { -var34 = "m"; -var35 = 1; -var36 = string__NativeString__to_s_with_length(var34, var35); -var33 = var36; -varonce32 = var33; -} -((void (*)(val*, val*))(var_20->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_20, var33) /* add on */; -var37 = ((val* (*)(val*))(var_20->class->vft[COLOR_string__Object__to_s]))(var_20) /* to_s on */; -var_col = var37; +var5 = varonce; +} else { +var6 = "[0m"; +var7 = 3; +var8 = string__NativeString__to_s_with_length(var6, var7); +var5 = var8; +varonce = var5; +} +var9 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var9 = array_instance Array[Object] */ +var10 = 2; +var11 = NEW_array__NativeArray(var10, &type_array__NativeArraykernel__Object); +var12 = BOX_kernel__Char(var_esc); /* autobox from Char to Object */ +((struct instance_array__NativeArray*)var11)->values[0] = (val*) var12; +((struct instance_array__NativeArray*)var11)->values[1] = (val*) var5; +{ +((void (*)(val*, val*, long))(var9->class->vft[COLOR_array__Array__with_native]))(var9, var11, var10) /* with_native on */; +} +} +{ +var13 = ((val* (*)(val*))(var9->class->vft[COLOR_string__Object__to_s]))(var9) /* to_s on */; +} +var_def = var13; +if (varonce14) { +var15 = varonce14; +} else { +var16 = "["; +var17 = 1; +var18 = string__NativeString__to_s_with_length(var16, var17); +var15 = var18; +varonce14 = var15; +} +if (varonce19) { +var20 = varonce19; +} else { +var21 = "m"; +var22 = 1; +var23 = string__NativeString__to_s_with_length(var21, var22); +var20 = var23; +varonce19 = var20; +} +var24 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var24 = array_instance Array[Object] */ +var25 = 4; +var26 = NEW_array__NativeArray(var25, &type_array__NativeArraykernel__Object); +var27 = BOX_kernel__Char(var_esc); /* autobox from Char to Object */ +((struct instance_array__NativeArray*)var26)->values[0] = (val*) var27; +((struct instance_array__NativeArray*)var26)->values[1] = (val*) var15; +((struct instance_array__NativeArray*)var26)->values[2] = (val*) var_color; +((struct instance_array__NativeArray*)var26)->values[3] = (val*) var20; +{ +((void (*)(val*, val*, long))(var24->class->vft[COLOR_array__Array__with_native]))(var24, var26, var25) /* with_native on */; +} +} +{ +var28 = ((val* (*)(val*))(var24->class->vft[COLOR_string__Object__to_s]))(var24) /* to_s on */; +} +var_col = var28; var_l = self; -var38 = ((long (*)(val*))(var_l->class->vft[COLOR_location__Location__line_start]))(var_l) /* line_start on */; -var_i = var38; -var39 = ((val* (*)(val*))(var_l->class->vft[COLOR_location__Location__file]))(var_l) /* file on */; -if (var39 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/location.nit", 174); -exit(1); -} else { -var40 = ((val* (*)(val*))(var39->class->vft[COLOR_location__SourceFile__line_starts]))(var39) /* line_starts on */; -} -var41 = 1; -{ /* Inline kernel#Int#- (var_i,var41) */ -var44 = var_i - var41; -var42 = var44; -goto RET_LABEL43; -RET_LABEL43:(void)0; -} -var45 = ((val* (*)(val*, long))(var40->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var40, var42) /* [] on */; -var46 = ((struct instance_kernel__Int*)var45)->value; /* autounbox from nullable Object to Int */; -var_line_start = var46; +{ +{ /* Inline location#Location#line_start (var_l) on */ +var31 = var_l->attrs[COLOR_location__Location___line_start].l; /* _line_start on */ +var29 = var31; +RET_LABEL30:(void)0; +} +} +var_i = var29; +{ +{ /* Inline location#Location#file (var_l) on */ +var34 = var_l->attrs[COLOR_location__Location___file].val; /* _file on */ +var32 = var34; +RET_LABEL33:(void)0; +} +} +if (var32 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 178); +show_backtrace(1); +} else { +{ /* Inline location#SourceFile#line_starts (var32) on */ +if (unlikely(var32 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 44); +show_backtrace(1); +} +var37 = var32->attrs[COLOR_location__SourceFile___line_starts].val; /* _line_starts on */ +if (unlikely(var37 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _line_starts"); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 44); +show_backtrace(1); +} +var35 = var37; +RET_LABEL36:(void)0; +} +} +var38 = 1; +{ +{ /* Inline kernel#Int#- (var_i,var38) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var41 = 1; /* easy isa OTHER*/ +if (unlikely(!var41)) { +var_class_name = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377); +show_backtrace(1); +} +var42 = var_i - var38; +var39 = var42; +goto RET_LABEL40; +RET_LABEL40:(void)0; +} +} +{ +var43 = array__Array___91d_93d(var35, var39); +} +var44 = ((struct instance_kernel__Int*)var43)->value; /* autounbox from nullable Object to Int */; +var_line_start = var44; var_line_end = var_line_start; -var47 = ((val* (*)(val*))(var_l->class->vft[COLOR_location__Location__file]))(var_l) /* file on */; -if (var47 == NULL) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Reciever is null", "src/location.nit", 176); -exit(1); -} else { -var48 = ((val* (*)(val*))(var47->class->vft[COLOR_location__SourceFile__string]))(var47) /* string on */; +{ +{ /* Inline location#Location#file (var_l) on */ +var47 = var_l->attrs[COLOR_location__Location___file].val; /* _file on */ +var45 = var47; +RET_LABEL46:(void)0; } -var_string = var48; -for(;;) { -var51 = 1; -{ /* Inline kernel#Int#+ (var_line_end,var51) */ -var54 = var_line_end + var51; -var52 = var54; -goto RET_LABEL53; -RET_LABEL53:(void)0; -} -var55 = ((long (*)(val*))(var_string->class->vft[COLOR_abstract_collection__Collection__length]))(var_string) /* length on */; -{ /* Inline kernel#Int#< (var52,var55) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var58 = 1; /* easy isa OTHER*/ -if (!var58) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257); -exit(1); -} -var59 = var52 < var55; -var56 = var59; -goto RET_LABEL57; -RET_LABEL57:(void)0; -} -var_60 = var56; -if (var56){ -var61 = 1; -{ /* Inline kernel#Int#+ (var_line_end,var61) */ -var64 = var_line_end + var61; -var62 = var64; -goto RET_LABEL63; -RET_LABEL63:(void)0; -} -var65 = ((val* (*)(val*, long))(var_string->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_string, var62) /* [] on */; -var66 = '\n'; -{ /* Inline kernel#Char#!= (var65,var66) */ -var69 = (var65 != NULL) && (var65->class == &class_kernel__Char); -if (var69) { -var70 = ((struct instance_kernel__Char*)var65)->value; /* autounbox from nullable Object to Char */; -var69 = (var70 == var66); -} -var71 = !var69; -var67 = var71; -goto RET_LABEL68; -RET_LABEL68:(void)0; -} -var50 = var67; -} else { -var50 = var_60; -} -var_72 = var50; -if (var50){ -var73 = 1; -{ /* Inline kernel#Int#+ (var_line_end,var73) */ -var76 = var_line_end + var73; -var74 = var76; -goto RET_LABEL75; -RET_LABEL75:(void)0; } -var77 = ((val* (*)(val*, long))(var_string->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_string, var74) /* [] on */; -var78 = '\15'; -{ /* Inline kernel#Char#!= (var77,var78) */ -var81 = (var77 != NULL) && (var77->class == &class_kernel__Char); -if (var81) { -var82 = ((struct instance_kernel__Char*)var77)->value; /* autounbox from nullable Object to Char */; -var81 = (var82 == var78); +if (var45 == NULL) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 180); +show_backtrace(1); +} else { +{ /* Inline location#SourceFile#string (var45) on */ +if (unlikely(var45 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Receiver is null"); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 25); +show_backtrace(1); } -var83 = !var81; -var79 = var83; -goto RET_LABEL80; -RET_LABEL80:(void)0; +var50 = var45->attrs[COLOR_location__SourceFile___string].val; /* _string on */ +if (unlikely(var50 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _string"); +PRINT_ERROR(" (%s:%d)\n", "location.nit", 25); +show_backtrace(1); } -var49 = var79; -} else { -var49 = var_72; +var48 = var50; +RET_LABEL49:(void)0; } -if (!var49) break; -var84 = 1; -{ /* Inline kernel#Int#+ (var_line_end,var84) */ -var87 = var_line_end + var84; -var85 = var87; +} +var_string = var48; +for(;;) { +var53 = 1; +{ +{ /* Inline kernel#Int#+ (var_line_end,var53) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var56 = 1; /* easy isa OTHER*/ +if (unlikely(!var56)) { +var_class_name59 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name59); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); +show_backtrace(1); +} +var60 = var_line_end + var53; +var54 = var60; +goto RET_LABEL55; +RET_LABEL55:(void)0; +} +} +{ +{ /* Inline string#FlatText#length (var_string) on */ +var63 = var_string->attrs[COLOR_string__FlatText___length].l; /* _length on */ +var61 = var63; +RET_LABEL62:(void)0; +} +} +{ +{ /* Inline kernel#Int#< (var54,var61) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var66 = 1; /* easy isa OTHER*/ +if (unlikely(!var66)) { +var_class_name69 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name69); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371); +show_backtrace(1); +} +var70 = var54 < var61; +var64 = var70; +goto RET_LABEL65; +RET_LABEL65:(void)0; +} +} +var_ = var64; +if (var64){ +{ +{ /* Inline string#FlatString#chars (var_string) on */ +var73 = var_string->attrs[COLOR_string__FlatString___chars].val; /* _chars on */ +if (unlikely(var73 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 939); +show_backtrace(1); +} +var71 = var73; +RET_LABEL72:(void)0; +} +} +var74 = 1; +{ +{ /* Inline kernel#Int#+ (var_line_end,var74) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var77 = 1; /* easy isa OTHER*/ +if (unlikely(!var77)) { +var_class_name80 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name80); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); +show_backtrace(1); +} +var81 = var_line_end + var74; +var75 = var81; +goto RET_LABEL76; +RET_LABEL76:(void)0; +} +} +{ +var82 = ((val* (*)(val*, long))(var71->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var71, var75) /* [] on */; +} +var83 = '\n'; +{ +{ /* Inline kernel#Char#!= (var82,var83) on */ +var87 = (var82 != NULL) && (var82->class == &class_kernel__Char); +if (var87) { +var88 = ((struct instance_kernel__Char*)var82)->value; /* autounbox from nullable Object to Char */; +var87 = (var88 == var83); +} +var89 = !var87; +var85 = var89; goto RET_LABEL86; RET_LABEL86:(void)0; } -var_line_end = var85; -CONTINUE_label: (void)0; +var84 = var85; } -BREAK_label: (void)0; -var88 = ((long (*)(val*))(var_l->class->vft[COLOR_location__Location__column_start]))(var_l) /* column_start on */; -var89 = 1; -{ /* Inline kernel#Int#- (var88,var89) */ -var92 = var88 - var89; -var90 = var92; -goto RET_LABEL91; -RET_LABEL91:(void)0; +var52 = var84; +} else { +var52 = var_; } -var93 = ((val* (*)(val*, long, long))(var_string->class->vft[COLOR_string__AbstractString__substring]))(var_string, var_line_start, var90) /* substring on */; -var_lstart = var93; -var94 = ((long (*)(val*))(var_l->class->vft[COLOR_location__Location__line_end]))(var_l) /* line_end on */; -{ /* Inline kernel#Int#!= (var_i,var94) */ -var97 = var_i == var94; -var98 = !var97; -var95 = var98; +var_90 = var52; +if (var52){ +{ +{ /* Inline string#FlatString#chars (var_string) on */ +var93 = var_string->attrs[COLOR_string__FlatString___chars].val; /* _chars on */ +if (unlikely(var93 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 939); +show_backtrace(1); +} +var91 = var93; +RET_LABEL92:(void)0; +} +} +var94 = 1; +{ +{ /* Inline kernel#Int#+ (var_line_end,var94) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var97 = 1; /* easy isa OTHER*/ +if (unlikely(!var97)) { +var_class_name100 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name100); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); +show_backtrace(1); +} +var101 = var_line_end + var94; +var95 = var101; goto RET_LABEL96; RET_LABEL96:(void)0; } -if (var95){ -{ /* Inline kernel#Int#- (var_line_end,var_line_start) */ -var101 = var_line_end - var_line_start; -var99 = var101; -goto RET_LABEL100; -RET_LABEL100:(void)0; } -var102 = 1; -{ /* Inline kernel#Int#+ (var99,var102) */ -var105 = var99 + var102; -var103 = var105; -goto RET_LABEL104; -RET_LABEL104:(void)0; -} -var106 = BOX_kernel__Int(var103); /* autobox from Int to nullable Object */ -var_cend = var106; -} else { -var107 = ((long (*)(val*))(var_l->class->vft[COLOR_location__Location__column_end]))(var_l) /* column_end on */; -var108 = BOX_kernel__Int(var107); /* autobox from Int to nullable Object */ -var_cend = var108; -} -{ /* Inline kernel#Int#+ (var_line_start,var_cend) */ -var111 = ((struct instance_kernel__Int*)var_cend)->value; /* autounbox from nullable Object to Int */; -var112 = var_line_start + var111; -var109 = var112; -goto RET_LABEL110; -RET_LABEL110:(void)0; -} -var113 = ((long (*)(val*))(var_string->class->vft[COLOR_abstract_collection__Collection__length]))(var_string) /* length on */; -{ /* Inline kernel#Int#<= (var109,var113) */ -/* Covariant cast for argument 0 (i) isa OTHER */ -/* isa OTHER */ -var116 = 1; /* easy isa OTHER*/ -if (!var116) { -fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 256); -exit(1); -} -var119 = var109 <= var113; -var114 = var119; -goto RET_LABEL115; -RET_LABEL115:(void)0; -} -if (var114){ -var120 = ((long (*)(val*))(var_l->class->vft[COLOR_location__Location__column_start]))(var_l) /* column_start on */; -{ /* Inline kernel#Int#+ (var_line_start,var120) */ -var123 = var_line_start + var120; -var121 = var123; -goto RET_LABEL122; -RET_LABEL122:(void)0; -} -var124 = 1; -{ /* Inline kernel#Int#- (var121,var124) */ -var127 = var121 - var124; -var125 = var127; -goto RET_LABEL126; -RET_LABEL126:(void)0; -} -var128 = ((long (*)(val*))(var_l->class->vft[COLOR_location__Location__column_start]))(var_l) /* column_start on */; -{ /* Inline kernel#Int#- (var_cend,var128) */ -var131 = ((struct instance_kernel__Int*)var_cend)->value; /* autounbox from nullable Object to Int */; -var132 = var131 - var128; -var129 = var132; -goto RET_LABEL130; -RET_LABEL130:(void)0; -} -var133 = 1; -{ /* Inline kernel#Int#+ (var129,var133) */ -var136 = var129 + var133; -var134 = var136; +{ +var102 = ((val* (*)(val*, long))(var91->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var91, var95) /* [] on */; +} +var103 = '\15'; +{ +{ /* Inline kernel#Char#!= (var102,var103) on */ +var107 = (var102 != NULL) && (var102->class == &class_kernel__Char); +if (var107) { +var108 = ((struct instance_kernel__Char*)var102)->value; /* autounbox from nullable Object to Char */; +var107 = (var108 == var103); +} +var109 = !var107; +var105 = var109; +goto RET_LABEL106; +RET_LABEL106:(void)0; +} +var104 = var105; +} +var51 = var104; +} else { +var51 = var_90; +} +if (var51){ +var110 = 1; +{ +{ /* Inline kernel#Int#+ (var_line_end,var110) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var113 = 1; /* easy isa OTHER*/ +if (unlikely(!var113)) { +var_class_name116 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name116); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); +show_backtrace(1); +} +var117 = var_line_end + var110; +var111 = var117; +goto RET_LABEL112; +RET_LABEL112:(void)0; +} +} +var_line_end = var111; +} else { +goto BREAK_label; +} +} +BREAK_label: (void)0; +{ +{ /* Inline location#Location#column_start (var_l) on */ +var120 = var_l->attrs[COLOR_location__Location___column_start].l; /* _column_start on */ +var118 = var120; +RET_LABEL119:(void)0; +} +} +var121 = 1; +{ +{ /* Inline kernel#Int#- (var118,var121) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var124 = 1; /* easy isa OTHER*/ +if (unlikely(!var124)) { +var_class_name127 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name127); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377); +show_backtrace(1); +} +var128 = var118 - var121; +var122 = var128; +goto RET_LABEL123; +RET_LABEL123:(void)0; +} +} +{ +var129 = string__FlatString__substring(var_string, var_line_start, var122); +} +var_lstart = var129; +{ +{ /* Inline location#Location#line_end (var_l) on */ +var132 = var_l->attrs[COLOR_location__Location___line_end].l; /* _line_end on */ +var130 = var132; +RET_LABEL131:(void)0; +} +} +{ +{ /* Inline kernel#Int#!= (var_i,var130) on */ +var136 = var_i == var130; +var137 = !var136; +var134 = var137; goto RET_LABEL135; RET_LABEL135:(void)0; } -var137 = ((val* (*)(val*, long, long))(var_string->class->vft[COLOR_string__AbstractString__substring]))(var_string, var125, var134) /* substring on */; -var_lmid = var137; -{ /* Inline kernel#Int#+ (var_line_start,var_cend) */ -var140 = ((struct instance_kernel__Int*)var_cend)->value; /* autounbox from nullable Object to Int */; -var141 = var_line_start + var140; -var138 = var141; +var133 = var134; +} +if (var133){ +{ +{ /* Inline kernel#Int#- (var_line_end,var_line_start) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var140 = 1; /* easy isa OTHER*/ +if (unlikely(!var140)) { +var_class_name143 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name143); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377); +show_backtrace(1); +} +var144 = var_line_end - var_line_start; +var138 = var144; goto RET_LABEL139; RET_LABEL139:(void)0; } -{ /* Inline kernel#Int#- (var_line_end,var_line_start) */ -var144 = var_line_end - var_line_start; -var142 = var144; -goto RET_LABEL143; -RET_LABEL143:(void)0; -} -{ /* Inline kernel#Int#- (var142,var_cend) */ -var147 = ((struct instance_kernel__Int*)var_cend)->value; /* autounbox from nullable Object to Int */; -var148 = var142 - var147; -var145 = var148; -goto RET_LABEL146; -RET_LABEL146:(void)0; -} -var149 = 1; -{ /* Inline kernel#Int#+ (var145,var149) */ -var152 = var145 + var149; -var150 = var152; -goto RET_LABEL151; -RET_LABEL151:(void)0; -} -var153 = ((val* (*)(val*, long, long))(var_string->class->vft[COLOR_string__AbstractString__substring]))(var_string, var138, var150) /* substring on */; -var_lend = var153; -} else { -if (varonce154) { -var155 = varonce154; -} else { -var156 = ""; -var157 = 0; -var158 = string__NativeString__to_s_with_length(var156, var157); -var155 = var158; -varonce154 = var155; -} -var_lmid = var155; -if (varonce159) { -var160 = varonce159; -} else { -var161 = ""; -var162 = 0; -var163 = string__NativeString__to_s_with_length(var161, var162); -var160 = var163; -varonce159 = var160; -} -var_lend = var160; -} -var164 = NEW_string__Buffer(&type_string__Buffer); -((void (*)(val*))(var164->class->vft[COLOR_string__Buffer__init]))(var164) /* init on */; -CHECK_NEW_string__Buffer(var164); -var_indent = var164; -var165 = NEW_range__Range(&type_range__Rangekernel__Int); -var166 = ((long (*)(val*))(var_l->class->vft[COLOR_location__Location__column_start]))(var_l) /* column_start on */; -{ /* Inline kernel#Int#+ (var_line_start,var166) */ -var169 = var_line_start + var166; -var167 = var169; -goto RET_LABEL168; -RET_LABEL168:(void)0; -} -var170 = 1; -{ /* Inline kernel#Int#- (var167,var170) */ -var173 = var167 - var170; -var171 = var173; -goto RET_LABEL172; -RET_LABEL172:(void)0; -} -var174 = BOX_kernel__Int(var_line_start); /* autobox from Int to Discrete */ -var175 = BOX_kernel__Int(var171); /* autobox from Int to Discrete */ -((void (*)(val*, val*, val*))(var165->class->vft[COLOR_range__Range__without_last]))(var165, var174, var175) /* without_last on */; -CHECK_NEW_range__Range(var165); -var176 = ((val* (*)(val*))(var165->class->vft[COLOR_abstract_collection__Collection__iterator]))(var165) /* iterator on */; +} +var145 = 1; +{ +{ /* Inline kernel#Int#+ (var138,var145) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var148 = 1; /* easy isa OTHER*/ +if (unlikely(!var148)) { +var_class_name151 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name151); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); +show_backtrace(1); +} +var152 = var138 + var145; +var146 = var152; +goto RET_LABEL147; +RET_LABEL147:(void)0; +} +} +var153 = BOX_kernel__Int(var146); /* autobox from Int to nullable Object */ +var_cend = var153; +} else { +{ +{ /* Inline location#Location#column_end (var_l) on */ +var156 = var_l->attrs[COLOR_location__Location___column_end].l; /* _column_end on */ +var154 = var156; +RET_LABEL155:(void)0; +} +} +var157 = BOX_kernel__Int(var154); /* autobox from Int to nullable Object */ +var_cend = var157; +} +{ +{ /* Inline kernel#Int#+ (var_line_start,var_cend) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var160 = 1; /* easy isa OTHER*/ +if (unlikely(!var160)) { +var_class_name163 = var_cend == NULL ? "null" : var_cend->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name163); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); +show_backtrace(1); +} +var164 = ((struct instance_kernel__Int*)var_cend)->value; /* autounbox from nullable Object to Int */; +var165 = var_line_start + var164; +var158 = var165; +goto RET_LABEL159; +RET_LABEL159:(void)0; +} +} +{ +{ /* Inline string#FlatText#length (var_string) on */ +var168 = var_string->attrs[COLOR_string__FlatText___length].l; /* _length on */ +var166 = var168; +RET_LABEL167:(void)0; +} +} +{ +{ /* Inline kernel#Int#<= (var158,var166) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var171 = 1; /* easy isa OTHER*/ +if (unlikely(!var171)) { +var_class_name174 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name174); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 370); +show_backtrace(1); +} +var175 = var158 <= var166; +var169 = var175; +goto RET_LABEL170; +RET_LABEL170:(void)0; +} +} +if (var169){ +{ +{ /* Inline location#Location#column_start (var_l) on */ +var178 = var_l->attrs[COLOR_location__Location___column_start].l; /* _column_start on */ +var176 = var178; +RET_LABEL177:(void)0; +} +} +{ +{ /* Inline kernel#Int#+ (var_line_start,var176) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var181 = 1; /* easy isa OTHER*/ +if (unlikely(!var181)) { +var_class_name184 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name184); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); +show_backtrace(1); +} +var185 = var_line_start + var176; +var179 = var185; +goto RET_LABEL180; +RET_LABEL180:(void)0; +} +} +var186 = 1; +{ +{ /* Inline kernel#Int#- (var179,var186) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var189 = 1; /* easy isa OTHER*/ +if (unlikely(!var189)) { +var_class_name192 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name192); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377); +show_backtrace(1); +} +var193 = var179 - var186; +var187 = var193; +goto RET_LABEL188; +RET_LABEL188:(void)0; +} +} +{ +{ /* Inline location#Location#column_start (var_l) on */ +var196 = var_l->attrs[COLOR_location__Location___column_start].l; /* _column_start on */ +var194 = var196; +RET_LABEL195:(void)0; +} +} +{ +{ /* Inline kernel#Int#- (var_cend,var194) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var199 = 1; /* easy isa OTHER*/ +if (unlikely(!var199)) { +var_class_name202 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name202); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377); +show_backtrace(1); +} +var203 = ((struct instance_kernel__Int*)var_cend)->value; /* autounbox from nullable Object to Int */; +var204 = var203 - var194; +var197 = var204; +goto RET_LABEL198; +RET_LABEL198:(void)0; +} +} +var205 = 1; +{ +{ /* Inline kernel#Int#+ (var197,var205) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var208 = 1; /* easy isa OTHER*/ +if (unlikely(!var208)) { +var_class_name211 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name211); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); +show_backtrace(1); +} +var212 = var197 + var205; +var206 = var212; +goto RET_LABEL207; +RET_LABEL207:(void)0; +} +} +{ +var213 = string__FlatString__substring(var_string, var187, var206); +} +var_lmid = var213; +{ +{ /* Inline kernel#Int#+ (var_line_start,var_cend) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var216 = 1; /* easy isa OTHER*/ +if (unlikely(!var216)) { +var_class_name219 = var_cend == NULL ? "null" : var_cend->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name219); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); +show_backtrace(1); +} +var220 = ((struct instance_kernel__Int*)var_cend)->value; /* autounbox from nullable Object to Int */; +var221 = var_line_start + var220; +var214 = var221; +goto RET_LABEL215; +RET_LABEL215:(void)0; +} +} +{ +{ /* Inline kernel#Int#- (var_line_end,var_line_start) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var224 = 1; /* easy isa OTHER*/ +if (unlikely(!var224)) { +var_class_name227 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name227); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377); +show_backtrace(1); +} +var228 = var_line_end - var_line_start; +var222 = var228; +goto RET_LABEL223; +RET_LABEL223:(void)0; +} +} +{ +{ /* Inline kernel#Int#- (var222,var_cend) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var231 = 1; /* easy isa OTHER*/ +if (unlikely(!var231)) { +var_class_name234 = var_cend == NULL ? "null" : var_cend->type->name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name234); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377); +show_backtrace(1); +} +var235 = ((struct instance_kernel__Int*)var_cend)->value; /* autounbox from nullable Object to Int */; +var236 = var222 - var235; +var229 = var236; +goto RET_LABEL230; +RET_LABEL230:(void)0; +} +} +var237 = 1; +{ +{ /* Inline kernel#Int#+ (var229,var237) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var240 = 1; /* easy isa OTHER*/ +if (unlikely(!var240)) { +var_class_name243 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name243); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); +show_backtrace(1); +} +var244 = var229 + var237; +var238 = var244; +goto RET_LABEL239; +RET_LABEL239:(void)0; +} +} +{ +var245 = string__FlatString__substring(var_string, var214, var238); +} +var_lend = var245; +} else { +if (varonce246) { +var247 = varonce246; +} else { +var248 = ""; +var249 = 0; +var250 = string__NativeString__to_s_with_length(var248, var249); +var247 = var250; +varonce246 = var247; +} +var_lmid = var247; +if (varonce251) { +var252 = varonce251; +} else { +var253 = ""; +var254 = 0; +var255 = string__NativeString__to_s_with_length(var253, var254); +var252 = var255; +varonce251 = var252; +} +var_lend = var252; +} +var256 = NEW_string__FlatBuffer(&type_string__FlatBuffer); +{ +((void (*)(val*))(var256->class->vft[COLOR_kernel__Object__init]))(var256) /* init on */; +} +var_indent = var256; +var_j = var_line_start; +{ +{ /* Inline location#Location#column_start (var_l) on */ +var259 = var_l->attrs[COLOR_location__Location___column_start].l; /* _column_start on */ +var257 = var259; +RET_LABEL258:(void)0; +} +} +{ +{ /* Inline kernel#Int#+ (var_line_start,var257) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var262 = 1; /* easy isa OTHER*/ +if (unlikely(!var262)) { +var_class_name265 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name265); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 374); +show_backtrace(1); +} +var266 = var_line_start + var257; +var260 = var266; +goto RET_LABEL261; +RET_LABEL261:(void)0; +} +} +var267 = 1; +{ +{ /* Inline kernel#Int#- (var260,var267) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var270 = 1; /* easy isa OTHER*/ +if (unlikely(!var270)) { +var_class_name273 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name273); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 377); +show_backtrace(1); +} +var274 = var260 - var267; +var268 = var274; +goto RET_LABEL269; +RET_LABEL269:(void)0; +} +} +var_275 = var268; for(;;) { -var177 = ((short int (*)(val*))(var176->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var176) /* is_ok on */; -if(!var177) break; -var178 = ((val* (*)(val*))(var176->class->vft[COLOR_abstract_collection__Iterator__item]))(var176) /* item on */; -var179 = ((struct instance_kernel__Int*)var178)->value; /* autounbox from nullable Object to Int */; -var_j = var179; -var180 = ((val* (*)(val*, long))(var_string->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var_string, var_j) /* [] on */; -var181 = '\11'; -{ /* Inline kernel#Char#== (var180,var181) */ -var184 = (var180 != NULL) && (var180->class == &class_kernel__Char); -if (var184) { -var185 = ((struct instance_kernel__Char*)var180)->value; /* autounbox from nullable Object to Char */; -var184 = (var185 == var181); -} -var182 = var184; -goto RET_LABEL183; -RET_LABEL183:(void)0; -} -if (var182){ -var186 = '\11'; -var187 = BOX_kernel__Char(var186); /* autobox from Char to nullable Object */ -((void (*)(val*, val*))(var_indent->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_indent, var187) /* add on */; -} else { -var188 = ' '; -var189 = BOX_kernel__Char(var188); /* autobox from Char to nullable Object */ -((void (*)(val*, val*))(var_indent->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_indent, var189) /* add on */; -} -CONTINUE_label190: (void)0; -((void (*)(val*))(var176->class->vft[COLOR_abstract_collection__Iterator__next]))(var176) /* next on */; -} -BREAK_label190: (void)0; -var191 = NEW_array__Array(&type_array__Arraykernel__Object); -var192 = 13; -((void (*)(val*, long))(var191->class->vft[COLOR_array__Array__with_capacity]))(var191, var192) /* with_capacity on */; -CHECK_NEW_array__Array(var191); -var_193 = var191; -if (varonce194) { -var195 = varonce194; -} else { -var196 = "\11"; -var197 = 1; -var198 = string__NativeString__to_s_with_length(var196, var197); -var195 = var198; -varonce194 = var195; -} -((void (*)(val*, val*))(var_193->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_193, var195) /* add on */; -((void (*)(val*, val*))(var_193->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_193, var_lstart) /* add on */; -if (varonce199) { -var200 = varonce199; -} else { -var201 = ""; -var202 = 0; -var203 = string__NativeString__to_s_with_length(var201, var202); -var200 = var203; -varonce199 = var200; -} -((void (*)(val*, val*))(var_193->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_193, var200) /* add on */; -((void (*)(val*, val*))(var_193->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_193, var_col) /* add on */; -if (varonce204) { -var205 = varonce204; -} else { -var206 = ""; -var207 = 0; -var208 = string__NativeString__to_s_with_length(var206, var207); -var205 = var208; -varonce204 = var205; -} -((void (*)(val*, val*))(var_193->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_193, var205) /* add on */; -((void (*)(val*, val*))(var_193->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_193, var_lmid) /* add on */; -if (varonce209) { -var210 = varonce209; -} else { -var211 = ""; -var212 = 0; -var213 = string__NativeString__to_s_with_length(var211, var212); -var210 = var213; -varonce209 = var210; -} -((void (*)(val*, val*))(var_193->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_193, var210) /* add on */; -((void (*)(val*, val*))(var_193->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_193, var_def) /* add on */; -if (varonce214) { -var215 = varonce214; -} else { -var216 = ""; -var217 = 0; -var218 = string__NativeString__to_s_with_length(var216, var217); -var215 = var218; -varonce214 = var215; -} -((void (*)(val*, val*))(var_193->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_193, var215) /* add on */; -((void (*)(val*, val*))(var_193->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_193, var_lend) /* add on */; -if (varonce219) { -var220 = varonce219; -} else { -var221 = "\n\11"; -var222 = 2; -var223 = string__NativeString__to_s_with_length(var221, var222); -var220 = var223; -varonce219 = var220; -} -((void (*)(val*, val*))(var_193->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_193, var220) /* add on */; -((void (*)(val*, val*))(var_193->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_193, var_indent) /* add on */; -if (varonce224) { -var225 = varonce224; -} else { -var226 = "^"; -var227 = 1; -var228 = string__NativeString__to_s_with_length(var226, var227); -var225 = var228; -varonce224 = var225; -} -((void (*)(val*, val*))(var_193->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_193, var225) /* add on */; -var229 = ((val* (*)(val*))(var_193->class->vft[COLOR_string__Object__to_s]))(var_193) /* to_s on */; -var = var229; +{ +{ /* Inline kernel#Int#< (var_j,var_275) on */ +/* Covariant cast for argument 0 (i) isa OTHER */ +/* isa OTHER */ +var278 = 1; /* easy isa OTHER*/ +if (unlikely(!var278)) { +var_class_name281 = type_kernel__Int.name; +PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name281); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/kernel.nit", 371); +show_backtrace(1); +} +var282 = var_j < var_275; +var276 = var282; +goto RET_LABEL277; +RET_LABEL277:(void)0; +} +} +if (var276){ +{ +{ /* Inline string#FlatString#chars (var_string) on */ +var285 = var_string->attrs[COLOR_string__FlatString___chars].val; /* _chars on */ +if (unlikely(var285 == NULL)) { +PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars"); +PRINT_ERROR(" (%s:%d)\n", "../lib/standard/string.nit", 939); +show_backtrace(1); +} +var283 = var285; +RET_LABEL284:(void)0; +} +} +{ +var286 = ((val* (*)(val*, long))(var283->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var283, var_j) /* [] on */; +} +var287 = '\11'; +{ +{ /* Inline kernel#Char#== (var286,var287) on */ +var291 = (var286 != NULL) && (var286->class == &class_kernel__Char); +if (var291) { +var292 = ((struct instance_kernel__Char*)var286)->value; /* autounbox from nullable Object to Char */; +var291 = (var292 == var287); +} +var289 = var291; +goto RET_LABEL290; +RET_LABEL290:(void)0; +} +var288 = var289; +} +if (var288){ +var293 = '\11'; +{ +string__FlatBuffer__add(var_indent, var293); /* Direct call string#FlatBuffer#add on */ +} +} else { +var294 = ' '; +{ +string__FlatBuffer__add(var_indent, var294); /* Direct call string#FlatBuffer#add on */ +} +} +var295 = 1; +{ +var296 = kernel__Int__successor(var_j, var295); +} +var_j = var296; +} else { +goto BREAK_label297; +} +} +BREAK_label297: (void)0; +if (varonce298) { +var299 = varonce298; +} else { +var300 = "\11"; +var301 = 1; +var302 = string__NativeString__to_s_with_length(var300, var301); +var299 = var302; +varonce298 = var299; +} +if (varonce303) { +var304 = varonce303; +} else { +var305 = "\n\11"; +var306 = 2; +var307 = string__NativeString__to_s_with_length(var305, var306); +var304 = var307; +varonce303 = var304; +} +if (varonce308) { +var309 = varonce308; +} else { +var310 = "^"; +var311 = 1; +var312 = string__NativeString__to_s_with_length(var310, var311); +var309 = var312; +varonce308 = var309; +} +var313 = NEW_array__Array(&type_array__Arraykernel__Object); +{ /* var313 = array_instance Array[Object] */ +var314 = 9; +var315 = NEW_array__NativeArray(var314, &type_array__NativeArraykernel__Object); +((struct instance_array__NativeArray*)var315)->values[0] = (val*) var299; +((struct instance_array__NativeArray*)var315)->values[1] = (val*) var_lstart; +((struct instance_array__NativeArray*)var315)->values[2] = (val*) var_col; +((struct instance_array__NativeArray*)var315)->values[3] = (val*) var_lmid; +((struct instance_array__NativeArray*)var315)->values[4] = (val*) var_def; +((struct instance_array__NativeArray*)var315)->values[5] = (val*) var_lend; +((struct instance_array__NativeArray*)var315)->values[6] = (val*) var304; +((struct instance_array__NativeArray*)var315)->values[7] = (val*) var_indent; +((struct instance_array__NativeArray*)var315)->values[8] = (val*) var309; +{ +((void (*)(val*, val*, long))(var313->class->vft[COLOR_array__Array__with_native]))(var313, var315, var314) /* with_native on */; +} +} +{ +var316 = ((val* (*)(val*))(var313->class->vft[COLOR_string__Object__to_s]))(var313) /* to_s on */; +} +var = var316; goto RET_LABEL; RET_LABEL:; return var;