neo: Correct the documentation of neo.nit according to PR #734.
[nit.git] / c_src / location.sep.1.c
1 #include "location.sep.0.h"
2 /* method location#SourceFile#filename for (self: SourceFile): String */
3 val* location__SourceFile__filename(val* self) {
4 val* var /* : String */;
5 val* var1 /* : String */;
6 var1 = self->attrs[COLOR_location__SourceFile___filename].val; /* _filename on <self:SourceFile> */
7 if (unlikely(var1 == NULL)) {
8 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename");
9 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 22);
10 show_backtrace(1);
11 }
12 var = var1;
13 RET_LABEL:;
14 return var;
15 }
16 /* method location#SourceFile#filename for (self: Object): String */
17 val* VIRTUAL_location__SourceFile__filename(val* self) {
18 val* var /* : String */;
19 val* var1 /* : String */;
20 val* var3 /* : String */;
21 { /* Inline location#SourceFile#filename (self) on <self:Object(SourceFile)> */
22 var3 = self->attrs[COLOR_location__SourceFile___filename].val; /* _filename on <self:Object(SourceFile)> */
23 if (unlikely(var3 == NULL)) {
24 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename");
25 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 22);
26 show_backtrace(1);
27 }
28 var1 = var3;
29 RET_LABEL2:(void)0;
30 }
31 var = var1;
32 RET_LABEL:;
33 return var;
34 }
35 /* method location#SourceFile#filename= for (self: SourceFile, String) */
36 void location__SourceFile__filename_61d(val* self, val* p0) {
37 self->attrs[COLOR_location__SourceFile___filename].val = p0; /* _filename on <self:SourceFile> */
38 RET_LABEL:;
39 }
40 /* method location#SourceFile#filename= for (self: Object, String) */
41 void VIRTUAL_location__SourceFile__filename_61d(val* self, val* p0) {
42 { /* Inline location#SourceFile#filename= (self,p0) on <self:Object(SourceFile)> */
43 self->attrs[COLOR_location__SourceFile___filename].val = p0; /* _filename on <self:Object(SourceFile)> */
44 RET_LABEL1:(void)0;
45 }
46 RET_LABEL:;
47 }
48 /* method location#SourceFile#string for (self: SourceFile): String */
49 val* location__SourceFile__string(val* self) {
50 val* var /* : String */;
51 val* var1 /* : String */;
52 var1 = self->attrs[COLOR_location__SourceFile___string].val; /* _string on <self:SourceFile> */
53 if (unlikely(var1 == NULL)) {
54 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _string");
55 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 25);
56 show_backtrace(1);
57 }
58 var = var1;
59 RET_LABEL:;
60 return var;
61 }
62 /* method location#SourceFile#string for (self: Object): String */
63 val* VIRTUAL_location__SourceFile__string(val* self) {
64 val* var /* : String */;
65 val* var1 /* : String */;
66 val* var3 /* : String */;
67 { /* Inline location#SourceFile#string (self) on <self:Object(SourceFile)> */
68 var3 = self->attrs[COLOR_location__SourceFile___string].val; /* _string on <self:Object(SourceFile)> */
69 if (unlikely(var3 == NULL)) {
70 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _string");
71 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 25);
72 show_backtrace(1);
73 }
74 var1 = var3;
75 RET_LABEL2:(void)0;
76 }
77 var = var1;
78 RET_LABEL:;
79 return var;
80 }
81 /* method location#SourceFile#string= for (self: SourceFile, String) */
82 void location__SourceFile__string_61d(val* self, val* p0) {
83 self->attrs[COLOR_location__SourceFile___string].val = p0; /* _string on <self:SourceFile> */
84 RET_LABEL:;
85 }
86 /* method location#SourceFile#string= for (self: Object, String) */
87 void VIRTUAL_location__SourceFile__string_61d(val* self, val* p0) {
88 { /* Inline location#SourceFile#string= (self,p0) on <self:Object(SourceFile)> */
89 self->attrs[COLOR_location__SourceFile___string].val = p0; /* _string on <self:Object(SourceFile)> */
90 RET_LABEL1:(void)0;
91 }
92 RET_LABEL:;
93 }
94 /* method location#SourceFile#init for (self: SourceFile, String, IStream) */
95 void location__SourceFile__init(val* self, val* p0, val* p1) {
96 val* var_filename /* var filename: String */;
97 val* var_stream /* var stream: IStream */;
98 val* var /* : String */;
99 val* var3 /* : Array[Int] */;
100 val* var5 /* : Array[Int] */;
101 long var6 /* : Int */;
102 long var7 /* : Int */;
103 val* var8 /* : nullable Object */;
104 var_filename = p0;
105 var_stream = p1;
106 {
107 { /* Inline location#SourceFile#filename= (self,var_filename) on <self:SourceFile> */
108 self->attrs[COLOR_location__SourceFile___filename].val = var_filename; /* _filename on <self:SourceFile> */
109 RET_LABEL1:(void)0;
110 }
111 }
112 {
113 var = stream__BufferedIStream__read_all(var_stream);
114 }
115 {
116 { /* Inline location#SourceFile#string= (self,var) on <self:SourceFile> */
117 self->attrs[COLOR_location__SourceFile___string].val = var; /* _string on <self:SourceFile> */
118 RET_LABEL2:(void)0;
119 }
120 }
121 {
122 { /* Inline location#SourceFile#line_starts (self) on <self:SourceFile> */
123 var5 = self->attrs[COLOR_location__SourceFile___line_starts].val; /* _line_starts on <self:SourceFile> */
124 if (unlikely(var5 == NULL)) {
125 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _line_starts");
126 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 44);
127 show_backtrace(1);
128 }
129 var3 = var5;
130 RET_LABEL4:(void)0;
131 }
132 }
133 var6 = 0;
134 var7 = 0;
135 {
136 var8 = BOX_kernel__Int(var7); /* autobox from Int to nullable Object */
137 array__Array___91d_93d_61d(var3, var6, var8); /* Direct call array#Array#[]= on <var3:Array[Int]>*/
138 }
139 RET_LABEL:;
140 }
141 /* method location#SourceFile#init for (self: Object, String, IStream) */
142 void VIRTUAL_location__SourceFile__init(val* self, val* p0, val* p1) {
143 location__SourceFile__init(self, p0, p1); /* Direct call location#SourceFile#init on <self:Object(SourceFile)>*/
144 RET_LABEL:;
145 }
146 /* method location#SourceFile#line_starts for (self: SourceFile): Array[Int] */
147 val* location__SourceFile__line_starts(val* self) {
148 val* var /* : Array[Int] */;
149 val* var1 /* : Array[Int] */;
150 var1 = self->attrs[COLOR_location__SourceFile___line_starts].val; /* _line_starts on <self:SourceFile> */
151 if (unlikely(var1 == NULL)) {
152 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _line_starts");
153 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 44);
154 show_backtrace(1);
155 }
156 var = var1;
157 RET_LABEL:;
158 return var;
159 }
160 /* method location#SourceFile#line_starts for (self: Object): Array[Int] */
161 val* VIRTUAL_location__SourceFile__line_starts(val* self) {
162 val* var /* : Array[Int] */;
163 val* var1 /* : Array[Int] */;
164 val* var3 /* : Array[Int] */;
165 { /* Inline location#SourceFile#line_starts (self) on <self:Object(SourceFile)> */
166 var3 = self->attrs[COLOR_location__SourceFile___line_starts].val; /* _line_starts on <self:Object(SourceFile)> */
167 if (unlikely(var3 == NULL)) {
168 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _line_starts");
169 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 44);
170 show_backtrace(1);
171 }
172 var1 = var3;
173 RET_LABEL2:(void)0;
174 }
175 var = var1;
176 RET_LABEL:;
177 return var;
178 }
179 /* method location#Location#file for (self: Location): nullable SourceFile */
180 val* location__Location__file(val* self) {
181 val* var /* : nullable SourceFile */;
182 val* var1 /* : nullable SourceFile */;
183 var1 = self->attrs[COLOR_location__Location___file].val; /* _file on <self:Location> */
184 var = var1;
185 RET_LABEL:;
186 return var;
187 }
188 /* method location#Location#file for (self: Object): nullable SourceFile */
189 val* VIRTUAL_location__Location__file(val* self) {
190 val* var /* : nullable SourceFile */;
191 val* var1 /* : nullable SourceFile */;
192 val* var3 /* : nullable SourceFile */;
193 { /* Inline location#Location#file (self) on <self:Object(Location)> */
194 var3 = self->attrs[COLOR_location__Location___file].val; /* _file on <self:Object(Location)> */
195 var1 = var3;
196 RET_LABEL2:(void)0;
197 }
198 var = var1;
199 RET_LABEL:;
200 return var;
201 }
202 /* method location#Location#file= for (self: Location, nullable SourceFile) */
203 void location__Location__file_61d(val* self, val* p0) {
204 self->attrs[COLOR_location__Location___file].val = p0; /* _file on <self:Location> */
205 RET_LABEL:;
206 }
207 /* method location#Location#file= for (self: Object, nullable SourceFile) */
208 void VIRTUAL_location__Location__file_61d(val* self, val* p0) {
209 { /* Inline location#Location#file= (self,p0) on <self:Object(Location)> */
210 self->attrs[COLOR_location__Location___file].val = p0; /* _file on <self:Object(Location)> */
211 RET_LABEL1:(void)0;
212 }
213 RET_LABEL:;
214 }
215 /* method location#Location#line_start for (self: Location): Int */
216 long location__Location__line_start(val* self) {
217 long var /* : Int */;
218 long var1 /* : Int */;
219 var1 = self->attrs[COLOR_location__Location___line_start].l; /* _line_start on <self:Location> */
220 var = var1;
221 RET_LABEL:;
222 return var;
223 }
224 /* method location#Location#line_start for (self: Object): Int */
225 long VIRTUAL_location__Location__line_start(val* self) {
226 long var /* : Int */;
227 long var1 /* : Int */;
228 long var3 /* : Int */;
229 { /* Inline location#Location#line_start (self) on <self:Object(Location)> */
230 var3 = self->attrs[COLOR_location__Location___line_start].l; /* _line_start on <self:Object(Location)> */
231 var1 = var3;
232 RET_LABEL2:(void)0;
233 }
234 var = var1;
235 RET_LABEL:;
236 return var;
237 }
238 /* method location#Location#line_start= for (self: Location, Int) */
239 void location__Location__line_start_61d(val* self, long p0) {
240 self->attrs[COLOR_location__Location___line_start].l = p0; /* _line_start on <self:Location> */
241 RET_LABEL:;
242 }
243 /* method location#Location#line_start= for (self: Object, Int) */
244 void VIRTUAL_location__Location__line_start_61d(val* self, long p0) {
245 { /* Inline location#Location#line_start= (self,p0) on <self:Object(Location)> */
246 self->attrs[COLOR_location__Location___line_start].l = p0; /* _line_start on <self:Object(Location)> */
247 RET_LABEL1:(void)0;
248 }
249 RET_LABEL:;
250 }
251 /* method location#Location#line_end for (self: Location): Int */
252 long location__Location__line_end(val* self) {
253 long var /* : Int */;
254 long var1 /* : Int */;
255 var1 = self->attrs[COLOR_location__Location___line_end].l; /* _line_end on <self:Location> */
256 var = var1;
257 RET_LABEL:;
258 return var;
259 }
260 /* method location#Location#line_end for (self: Object): Int */
261 long VIRTUAL_location__Location__line_end(val* self) {
262 long var /* : Int */;
263 long var1 /* : Int */;
264 long var3 /* : Int */;
265 { /* Inline location#Location#line_end (self) on <self:Object(Location)> */
266 var3 = self->attrs[COLOR_location__Location___line_end].l; /* _line_end on <self:Object(Location)> */
267 var1 = var3;
268 RET_LABEL2:(void)0;
269 }
270 var = var1;
271 RET_LABEL:;
272 return var;
273 }
274 /* method location#Location#line_end= for (self: Location, Int) */
275 void location__Location__line_end_61d(val* self, long p0) {
276 self->attrs[COLOR_location__Location___line_end].l = p0; /* _line_end on <self:Location> */
277 RET_LABEL:;
278 }
279 /* method location#Location#line_end= for (self: Object, Int) */
280 void VIRTUAL_location__Location__line_end_61d(val* self, long p0) {
281 { /* Inline location#Location#line_end= (self,p0) on <self:Object(Location)> */
282 self->attrs[COLOR_location__Location___line_end].l = p0; /* _line_end on <self:Object(Location)> */
283 RET_LABEL1:(void)0;
284 }
285 RET_LABEL:;
286 }
287 /* method location#Location#column_start for (self: Location): Int */
288 long location__Location__column_start(val* self) {
289 long var /* : Int */;
290 long var1 /* : Int */;
291 var1 = self->attrs[COLOR_location__Location___column_start].l; /* _column_start on <self:Location> */
292 var = var1;
293 RET_LABEL:;
294 return var;
295 }
296 /* method location#Location#column_start for (self: Object): Int */
297 long VIRTUAL_location__Location__column_start(val* self) {
298 long var /* : Int */;
299 long var1 /* : Int */;
300 long var3 /* : Int */;
301 { /* Inline location#Location#column_start (self) on <self:Object(Location)> */
302 var3 = self->attrs[COLOR_location__Location___column_start].l; /* _column_start on <self:Object(Location)> */
303 var1 = var3;
304 RET_LABEL2:(void)0;
305 }
306 var = var1;
307 RET_LABEL:;
308 return var;
309 }
310 /* method location#Location#column_start= for (self: Location, Int) */
311 void location__Location__column_start_61d(val* self, long p0) {
312 self->attrs[COLOR_location__Location___column_start].l = p0; /* _column_start on <self:Location> */
313 RET_LABEL:;
314 }
315 /* method location#Location#column_start= for (self: Object, Int) */
316 void VIRTUAL_location__Location__column_start_61d(val* self, long p0) {
317 { /* Inline location#Location#column_start= (self,p0) on <self:Object(Location)> */
318 self->attrs[COLOR_location__Location___column_start].l = p0; /* _column_start on <self:Object(Location)> */
319 RET_LABEL1:(void)0;
320 }
321 RET_LABEL:;
322 }
323 /* method location#Location#column_end for (self: Location): Int */
324 long location__Location__column_end(val* self) {
325 long var /* : Int */;
326 long var1 /* : Int */;
327 var1 = self->attrs[COLOR_location__Location___column_end].l; /* _column_end on <self:Location> */
328 var = var1;
329 RET_LABEL:;
330 return var;
331 }
332 /* method location#Location#column_end for (self: Object): Int */
333 long VIRTUAL_location__Location__column_end(val* self) {
334 long var /* : Int */;
335 long var1 /* : Int */;
336 long var3 /* : Int */;
337 { /* Inline location#Location#column_end (self) on <self:Object(Location)> */
338 var3 = self->attrs[COLOR_location__Location___column_end].l; /* _column_end on <self:Object(Location)> */
339 var1 = var3;
340 RET_LABEL2:(void)0;
341 }
342 var = var1;
343 RET_LABEL:;
344 return var;
345 }
346 /* method location#Location#column_end= for (self: Location, Int) */
347 void location__Location__column_end_61d(val* self, long p0) {
348 self->attrs[COLOR_location__Location___column_end].l = p0; /* _column_end on <self:Location> */
349 RET_LABEL:;
350 }
351 /* method location#Location#column_end= for (self: Object, Int) */
352 void VIRTUAL_location__Location__column_end_61d(val* self, long p0) {
353 { /* Inline location#Location#column_end= (self,p0) on <self:Object(Location)> */
354 self->attrs[COLOR_location__Location___column_end].l = p0; /* _column_end on <self:Object(Location)> */
355 RET_LABEL1:(void)0;
356 }
357 RET_LABEL:;
358 }
359 /* method location#Location#init for (self: Location, nullable SourceFile, Int, Int, Int, Int) */
360 void location__Location__init(val* self, val* p0, long p1, long p2, long p3, long p4) {
361 val* var_f /* var f: nullable SourceFile */;
362 long var_line_s /* var line_s: Int */;
363 long var_line_e /* var line_e: Int */;
364 long var_column_s /* var column_s: Int */;
365 long var_column_e /* var column_e: Int */;
366 var_f = p0;
367 var_line_s = p1;
368 var_line_e = p2;
369 var_column_s = p3;
370 var_column_e = p4;
371 {
372 { /* Inline location#Location#file= (self,var_f) on <self:Location> */
373 self->attrs[COLOR_location__Location___file].val = var_f; /* _file on <self:Location> */
374 RET_LABEL1:(void)0;
375 }
376 }
377 {
378 { /* Inline location#Location#line_start= (self,var_line_s) on <self:Location> */
379 self->attrs[COLOR_location__Location___line_start].l = var_line_s; /* _line_start on <self:Location> */
380 RET_LABEL2:(void)0;
381 }
382 }
383 {
384 { /* Inline location#Location#line_end= (self,var_line_e) on <self:Location> */
385 self->attrs[COLOR_location__Location___line_end].l = var_line_e; /* _line_end on <self:Location> */
386 RET_LABEL3:(void)0;
387 }
388 }
389 {
390 { /* Inline location#Location#column_start= (self,var_column_s) on <self:Location> */
391 self->attrs[COLOR_location__Location___column_start].l = var_column_s; /* _column_start on <self:Location> */
392 RET_LABEL4:(void)0;
393 }
394 }
395 {
396 { /* Inline location#Location#column_end= (self,var_column_e) on <self:Location> */
397 self->attrs[COLOR_location__Location___column_end].l = var_column_e; /* _column_end on <self:Location> */
398 RET_LABEL5:(void)0;
399 }
400 }
401 RET_LABEL:;
402 }
403 /* method location#Location#init for (self: Object, nullable SourceFile, Int, Int, Int, Int) */
404 void VIRTUAL_location__Location__init(val* self, val* p0, long p1, long p2, long p3, long p4) {
405 location__Location__init(self, p0, p1, p2, p3, p4); /* Direct call location#Location#init on <self:Object(Location)>*/
406 RET_LABEL:;
407 }
408 /* method location#Location#pstart for (self: Location): Int */
409 long location__Location__pstart(val* self) {
410 long var /* : Int */;
411 val* var1 /* : nullable SourceFile */;
412 val* var3 /* : nullable SourceFile */;
413 val* var4 /* : Array[Int] */;
414 val* var6 /* : Array[Int] */;
415 long var7 /* : Int */;
416 long var9 /* : Int */;
417 long var10 /* : Int */;
418 long var11 /* : Int */;
419 short int var13 /* : Bool */;
420 int cltype;
421 int idtype;
422 const char* var_class_name;
423 long var14 /* : Int */;
424 val* var15 /* : nullable Object */;
425 long var16 /* : Int */;
426 long var18 /* : Int */;
427 long var19 /* : Int */;
428 short int var21 /* : Bool */;
429 int cltype22;
430 int idtype23;
431 const char* var_class_name24;
432 long var25 /* : Int */;
433 long var26 /* : Int */;
434 long var27 /* : Int */;
435 long var28 /* : Int */;
436 short int var30 /* : Bool */;
437 int cltype31;
438 int idtype32;
439 const char* var_class_name33;
440 long var34 /* : Int */;
441 {
442 { /* Inline location#Location#file (self) on <self:Location> */
443 var3 = self->attrs[COLOR_location__Location___file].val; /* _file on <self:Location> */
444 var1 = var3;
445 RET_LABEL2:(void)0;
446 }
447 }
448 if (var1 == NULL) {
449 PRINT_ERROR("Runtime error: %s", "Receiver is null");
450 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 68);
451 show_backtrace(1);
452 } else {
453 { /* Inline location#SourceFile#line_starts (var1) on <var1:nullable SourceFile> */
454 if (unlikely(var1 == NULL)) {
455 PRINT_ERROR("Runtime error: %s", "Receiver is null");
456 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 44);
457 show_backtrace(1);
458 }
459 var6 = var1->attrs[COLOR_location__SourceFile___line_starts].val; /* _line_starts on <var1:nullable SourceFile> */
460 if (unlikely(var6 == NULL)) {
461 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _line_starts");
462 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 44);
463 show_backtrace(1);
464 }
465 var4 = var6;
466 RET_LABEL5:(void)0;
467 }
468 }
469 {
470 { /* Inline location#Location#line_start (self) on <self:Location> */
471 var9 = self->attrs[COLOR_location__Location___line_start].l; /* _line_start on <self:Location> */
472 var7 = var9;
473 RET_LABEL8:(void)0;
474 }
475 }
476 var10 = 1;
477 {
478 { /* Inline kernel#Int#- (var7,var10) on <var7:Int> */
479 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
480 /* <var10:Int> isa OTHER */
481 var13 = 1; /* easy <var10:Int> isa OTHER*/
482 if (unlikely(!var13)) {
483 var_class_name = type_kernel__Int.name;
484 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
485 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
486 show_backtrace(1);
487 }
488 var14 = var7 - var10;
489 var11 = var14;
490 goto RET_LABEL12;
491 RET_LABEL12:(void)0;
492 }
493 }
494 {
495 var15 = array__Array___91d_93d(var4, var11);
496 }
497 {
498 { /* Inline location#Location#column_start (self) on <self:Location> */
499 var18 = self->attrs[COLOR_location__Location___column_start].l; /* _column_start on <self:Location> */
500 var16 = var18;
501 RET_LABEL17:(void)0;
502 }
503 }
504 {
505 { /* Inline kernel#Int#+ (var15,var16) on <var15:nullable Object(Int)> */
506 /* Covariant cast for argument 0 (i) <var16:Int> isa OTHER */
507 /* <var16:Int> isa OTHER */
508 var21 = 1; /* easy <var16:Int> isa OTHER*/
509 if (unlikely(!var21)) {
510 var_class_name24 = type_kernel__Int.name;
511 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24);
512 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
513 show_backtrace(1);
514 }
515 var25 = ((struct instance_kernel__Int*)var15)->value; /* autounbox from nullable Object to Int */;
516 var26 = var25 + var16;
517 var19 = var26;
518 goto RET_LABEL20;
519 RET_LABEL20:(void)0;
520 }
521 }
522 var27 = 1;
523 {
524 { /* Inline kernel#Int#- (var19,var27) on <var19:Int> */
525 /* Covariant cast for argument 0 (i) <var27:Int> isa OTHER */
526 /* <var27:Int> isa OTHER */
527 var30 = 1; /* easy <var27:Int> isa OTHER*/
528 if (unlikely(!var30)) {
529 var_class_name33 = type_kernel__Int.name;
530 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33);
531 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
532 show_backtrace(1);
533 }
534 var34 = var19 - var27;
535 var28 = var34;
536 goto RET_LABEL29;
537 RET_LABEL29:(void)0;
538 }
539 }
540 var = var28;
541 goto RET_LABEL;
542 RET_LABEL:;
543 return var;
544 }
545 /* method location#Location#pstart for (self: Object): Int */
546 long VIRTUAL_location__Location__pstart(val* self) {
547 long var /* : Int */;
548 long var1 /* : Int */;
549 var1 = location__Location__pstart(self);
550 var = var1;
551 RET_LABEL:;
552 return var;
553 }
554 /* method location#Location#pend for (self: Location): Int */
555 long location__Location__pend(val* self) {
556 long var /* : Int */;
557 val* var1 /* : nullable SourceFile */;
558 val* var3 /* : nullable SourceFile */;
559 val* var4 /* : Array[Int] */;
560 val* var6 /* : Array[Int] */;
561 long var7 /* : Int */;
562 long var9 /* : Int */;
563 long var10 /* : Int */;
564 long var11 /* : Int */;
565 short int var13 /* : Bool */;
566 int cltype;
567 int idtype;
568 const char* var_class_name;
569 long var14 /* : Int */;
570 val* var15 /* : nullable Object */;
571 long var16 /* : Int */;
572 long var18 /* : Int */;
573 long var19 /* : Int */;
574 short int var21 /* : Bool */;
575 int cltype22;
576 int idtype23;
577 const char* var_class_name24;
578 long var25 /* : Int */;
579 long var26 /* : Int */;
580 long var27 /* : Int */;
581 long var28 /* : Int */;
582 short int var30 /* : Bool */;
583 int cltype31;
584 int idtype32;
585 const char* var_class_name33;
586 long var34 /* : Int */;
587 {
588 { /* Inline location#Location#file (self) on <self:Location> */
589 var3 = self->attrs[COLOR_location__Location___file].val; /* _file on <self:Location> */
590 var1 = var3;
591 RET_LABEL2:(void)0;
592 }
593 }
594 if (var1 == NULL) {
595 PRINT_ERROR("Runtime error: %s", "Receiver is null");
596 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 71);
597 show_backtrace(1);
598 } else {
599 { /* Inline location#SourceFile#line_starts (var1) on <var1:nullable SourceFile> */
600 if (unlikely(var1 == NULL)) {
601 PRINT_ERROR("Runtime error: %s", "Receiver is null");
602 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 44);
603 show_backtrace(1);
604 }
605 var6 = var1->attrs[COLOR_location__SourceFile___line_starts].val; /* _line_starts on <var1:nullable SourceFile> */
606 if (unlikely(var6 == NULL)) {
607 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _line_starts");
608 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 44);
609 show_backtrace(1);
610 }
611 var4 = var6;
612 RET_LABEL5:(void)0;
613 }
614 }
615 {
616 { /* Inline location#Location#line_end (self) on <self:Location> */
617 var9 = self->attrs[COLOR_location__Location___line_end].l; /* _line_end on <self:Location> */
618 var7 = var9;
619 RET_LABEL8:(void)0;
620 }
621 }
622 var10 = 1;
623 {
624 { /* Inline kernel#Int#- (var7,var10) on <var7:Int> */
625 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
626 /* <var10:Int> isa OTHER */
627 var13 = 1; /* easy <var10:Int> isa OTHER*/
628 if (unlikely(!var13)) {
629 var_class_name = type_kernel__Int.name;
630 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
631 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
632 show_backtrace(1);
633 }
634 var14 = var7 - var10;
635 var11 = var14;
636 goto RET_LABEL12;
637 RET_LABEL12:(void)0;
638 }
639 }
640 {
641 var15 = array__Array___91d_93d(var4, var11);
642 }
643 {
644 { /* Inline location#Location#column_end (self) on <self:Location> */
645 var18 = self->attrs[COLOR_location__Location___column_end].l; /* _column_end on <self:Location> */
646 var16 = var18;
647 RET_LABEL17:(void)0;
648 }
649 }
650 {
651 { /* Inline kernel#Int#+ (var15,var16) on <var15:nullable Object(Int)> */
652 /* Covariant cast for argument 0 (i) <var16:Int> isa OTHER */
653 /* <var16:Int> isa OTHER */
654 var21 = 1; /* easy <var16:Int> isa OTHER*/
655 if (unlikely(!var21)) {
656 var_class_name24 = type_kernel__Int.name;
657 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24);
658 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
659 show_backtrace(1);
660 }
661 var25 = ((struct instance_kernel__Int*)var15)->value; /* autounbox from nullable Object to Int */;
662 var26 = var25 + var16;
663 var19 = var26;
664 goto RET_LABEL20;
665 RET_LABEL20:(void)0;
666 }
667 }
668 var27 = 1;
669 {
670 { /* Inline kernel#Int#- (var19,var27) on <var19:Int> */
671 /* Covariant cast for argument 0 (i) <var27:Int> isa OTHER */
672 /* <var27:Int> isa OTHER */
673 var30 = 1; /* easy <var27:Int> isa OTHER*/
674 if (unlikely(!var30)) {
675 var_class_name33 = type_kernel__Int.name;
676 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33);
677 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
678 show_backtrace(1);
679 }
680 var34 = var19 - var27;
681 var28 = var34;
682 goto RET_LABEL29;
683 RET_LABEL29:(void)0;
684 }
685 }
686 var = var28;
687 goto RET_LABEL;
688 RET_LABEL:;
689 return var;
690 }
691 /* method location#Location#pend for (self: Object): Int */
692 long VIRTUAL_location__Location__pend(val* self) {
693 long var /* : Int */;
694 long var1 /* : Int */;
695 var1 = location__Location__pend(self);
696 var = var1;
697 RET_LABEL:;
698 return var;
699 }
700 /* method location#Location#text for (self: Location): String */
701 val* location__Location__text(val* self) {
702 val* var /* : String */;
703 val* var1 /* : nullable String */;
704 val* var3 /* : nullable String */;
705 val* var_res /* var res: nullable String */;
706 val* var4 /* : null */;
707 short int var5 /* : Bool */;
708 short int var6 /* : Bool */;
709 val* var_other /* var other: nullable Object */;
710 short int var8 /* : Bool */;
711 short int var9 /* : Bool */;
712 short int var10 /* : Bool */;
713 val* var_l /* var l: Location */;
714 long var11 /* : Int */;
715 long var_pstart /* var pstart: Int */;
716 long var12 /* : Int */;
717 long var_pend /* var pend: Int */;
718 val* var13 /* : nullable SourceFile */;
719 val* var15 /* : nullable SourceFile */;
720 val* var16 /* : String */;
721 val* var18 /* : String */;
722 long var19 /* : Int */;
723 short int var21 /* : Bool */;
724 int cltype;
725 int idtype;
726 const char* var_class_name;
727 long var22 /* : Int */;
728 long var23 /* : Int */;
729 long var24 /* : Int */;
730 short int var26 /* : Bool */;
731 int cltype27;
732 int idtype28;
733 const char* var_class_name29;
734 long var30 /* : Int */;
735 val* var31 /* : String */;
736 {
737 { /* Inline location#Location#text_cache (self) on <self:Location> */
738 var3 = self->attrs[COLOR_location__Location___text_cache].val; /* _text_cache on <self:Location> */
739 var1 = var3;
740 RET_LABEL2:(void)0;
741 }
742 }
743 var_res = var1;
744 var4 = NULL;
745 if (var_res == NULL) {
746 var5 = 0; /* is null */
747 } else {
748 var5 = 1; /* arg is null and recv is not */
749 }
750 if (0) {
751 { /* Inline kernel#Object#!= (var_res,var4) on <var_res:nullable String> */
752 var_other = var4;
753 {
754 var9 = ((short int (*)(val*, val*))(var_res->class->vft[COLOR_kernel__Object___61d_61d]))(var_res, var_other) /* == on <var_res:nullable String(String)>*/;
755 var8 = var9;
756 }
757 var10 = !var8;
758 var6 = var10;
759 goto RET_LABEL7;
760 RET_LABEL7:(void)0;
761 }
762 var5 = var6;
763 }
764 if (var5){
765 var = var_res;
766 goto RET_LABEL;
767 } else {
768 }
769 var_l = self;
770 {
771 var11 = location__Location__pstart(self);
772 }
773 var_pstart = var11;
774 {
775 var12 = location__Location__pend(self);
776 }
777 var_pend = var12;
778 {
779 { /* Inline location#Location#file (var_l) on <var_l:Location> */
780 var15 = var_l->attrs[COLOR_location__Location___file].val; /* _file on <var_l:Location> */
781 var13 = var15;
782 RET_LABEL14:(void)0;
783 }
784 }
785 if (var13 == NULL) {
786 PRINT_ERROR("Runtime error: %s", "Receiver is null");
787 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 81);
788 show_backtrace(1);
789 } else {
790 { /* Inline location#SourceFile#string (var13) on <var13:nullable SourceFile> */
791 if (unlikely(var13 == NULL)) {
792 PRINT_ERROR("Runtime error: %s", "Receiver is null");
793 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 25);
794 show_backtrace(1);
795 }
796 var18 = var13->attrs[COLOR_location__SourceFile___string].val; /* _string on <var13:nullable SourceFile> */
797 if (unlikely(var18 == NULL)) {
798 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _string");
799 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 25);
800 show_backtrace(1);
801 }
802 var16 = var18;
803 RET_LABEL17:(void)0;
804 }
805 }
806 {
807 { /* Inline kernel#Int#- (var_pend,var_pstart) on <var_pend:Int> */
808 /* Covariant cast for argument 0 (i) <var_pstart:Int> isa OTHER */
809 /* <var_pstart:Int> isa OTHER */
810 var21 = 1; /* easy <var_pstart:Int> isa OTHER*/
811 if (unlikely(!var21)) {
812 var_class_name = type_kernel__Int.name;
813 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
814 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
815 show_backtrace(1);
816 }
817 var22 = var_pend - var_pstart;
818 var19 = var22;
819 goto RET_LABEL20;
820 RET_LABEL20:(void)0;
821 }
822 }
823 var23 = 1;
824 {
825 { /* Inline kernel#Int#+ (var19,var23) on <var19:Int> */
826 /* Covariant cast for argument 0 (i) <var23:Int> isa OTHER */
827 /* <var23:Int> isa OTHER */
828 var26 = 1; /* easy <var23:Int> isa OTHER*/
829 if (unlikely(!var26)) {
830 var_class_name29 = type_kernel__Int.name;
831 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name29);
832 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
833 show_backtrace(1);
834 }
835 var30 = var19 + var23;
836 var24 = var30;
837 goto RET_LABEL25;
838 RET_LABEL25:(void)0;
839 }
840 }
841 {
842 var31 = string__FlatString__substring(var16, var_pstart, var24);
843 }
844 var_res = var31;
845 {
846 { /* Inline location#Location#text_cache= (self,var_res) on <self:Location> */
847 self->attrs[COLOR_location__Location___text_cache].val = var_res; /* _text_cache on <self:Location> */
848 RET_LABEL32:(void)0;
849 }
850 }
851 var = var_res;
852 goto RET_LABEL;
853 RET_LABEL:;
854 return var;
855 }
856 /* method location#Location#text for (self: Object): String */
857 val* VIRTUAL_location__Location__text(val* self) {
858 val* var /* : String */;
859 val* var1 /* : String */;
860 var1 = location__Location__text(self);
861 var = var1;
862 RET_LABEL:;
863 return var;
864 }
865 /* method location#Location#text_cache for (self: Location): nullable String */
866 val* location__Location__text_cache(val* self) {
867 val* var /* : nullable String */;
868 val* var1 /* : nullable String */;
869 var1 = self->attrs[COLOR_location__Location___text_cache].val; /* _text_cache on <self:Location> */
870 var = var1;
871 RET_LABEL:;
872 return var;
873 }
874 /* method location#Location#text_cache for (self: Object): nullable String */
875 val* VIRTUAL_location__Location__text_cache(val* self) {
876 val* var /* : nullable String */;
877 val* var1 /* : nullable String */;
878 val* var3 /* : nullable String */;
879 { /* Inline location#Location#text_cache (self) on <self:Object(Location)> */
880 var3 = self->attrs[COLOR_location__Location___text_cache].val; /* _text_cache on <self:Object(Location)> */
881 var1 = var3;
882 RET_LABEL2:(void)0;
883 }
884 var = var1;
885 RET_LABEL:;
886 return var;
887 }
888 /* method location#Location#text_cache= for (self: Location, nullable String) */
889 void location__Location__text_cache_61d(val* self, val* p0) {
890 self->attrs[COLOR_location__Location___text_cache].val = p0; /* _text_cache on <self:Location> */
891 RET_LABEL:;
892 }
893 /* method location#Location#text_cache= for (self: Object, nullable String) */
894 void VIRTUAL_location__Location__text_cache_61d(val* self, val* p0) {
895 { /* Inline location#Location#text_cache= (self,p0) on <self:Object(Location)> */
896 self->attrs[COLOR_location__Location___text_cache].val = p0; /* _text_cache on <self:Object(Location)> */
897 RET_LABEL1:(void)0;
898 }
899 RET_LABEL:;
900 }
901 /* method location#Location#== for (self: Location, nullable Object): Bool */
902 short int location__Location___61d_61d(val* self, val* p0) {
903 short int var /* : Bool */;
904 val* var_other /* var other: nullable Object */;
905 val* var1 /* : null */;
906 short int var2 /* : Bool */;
907 short int var3 /* : Bool */;
908 short int var4 /* : Bool */;
909 short int var5 /* : Bool */;
910 int cltype;
911 int idtype;
912 short int var6 /* : Bool */;
913 short int var7 /* : Bool */;
914 val* var8 /* : nullable SourceFile */;
915 val* var10 /* : nullable SourceFile */;
916 val* var11 /* : nullable SourceFile */;
917 val* var13 /* : nullable SourceFile */;
918 short int var14 /* : Bool */;
919 short int var15 /* : Bool */;
920 val* var_other17 /* var other: nullable Object */;
921 short int var18 /* : Bool */;
922 short int var19 /* : Bool */;
923 short int var20 /* : Bool */;
924 short int var21 /* : Bool */;
925 long var22 /* : Int */;
926 long var24 /* : Int */;
927 long var25 /* : Int */;
928 long var27 /* : Int */;
929 short int var28 /* : Bool */;
930 short int var29 /* : Bool */;
931 short int var31 /* : Bool */;
932 short int var32 /* : Bool */;
933 short int var33 /* : Bool */;
934 long var34 /* : Int */;
935 long var36 /* : Int */;
936 long var37 /* : Int */;
937 long var39 /* : Int */;
938 short int var40 /* : Bool */;
939 short int var41 /* : Bool */;
940 short int var43 /* : Bool */;
941 short int var44 /* : Bool */;
942 short int var45 /* : Bool */;
943 long var46 /* : Int */;
944 long var48 /* : Int */;
945 long var49 /* : Int */;
946 long var51 /* : Int */;
947 short int var52 /* : Bool */;
948 short int var53 /* : Bool */;
949 short int var55 /* : Bool */;
950 short int var56 /* : Bool */;
951 short int var57 /* : Bool */;
952 long var58 /* : Int */;
953 long var60 /* : Int */;
954 long var61 /* : Int */;
955 long var63 /* : Int */;
956 short int var64 /* : Bool */;
957 short int var65 /* : Bool */;
958 short int var67 /* : Bool */;
959 short int var68 /* : Bool */;
960 short int var69 /* : Bool */;
961 short int var70 /* : Bool */;
962 var_other = p0;
963 var1 = NULL;
964 if (var_other == NULL) {
965 var2 = 1; /* is null */
966 } else {
967 var2 = 0; /* arg is null but recv is not */
968 }
969 if (0) {
970 var3 = ((short int (*)(val*, val*))(var_other->class->vft[COLOR_kernel__Object___61d_61d]))(var_other, var1) /* == on <var_other:nullable Object>*/;
971 var2 = var3;
972 }
973 if (var2){
974 var4 = 0;
975 var = var4;
976 goto RET_LABEL;
977 } else {
978 }
979 /* <var_other:nullable Object(Object)> isa Location */
980 cltype = type_location__Location.color;
981 idtype = type_location__Location.id;
982 if(cltype >= var_other->type->table_size) {
983 var5 = 0;
984 } else {
985 var5 = var_other->type->type_table[cltype] == idtype;
986 }
987 var6 = !var5;
988 if (var6){
989 var7 = 0;
990 var = var7;
991 goto RET_LABEL;
992 } else {
993 }
994 {
995 { /* Inline location#Location#file (var_other) on <var_other:nullable Object(Location)> */
996 var10 = var_other->attrs[COLOR_location__Location___file].val; /* _file on <var_other:nullable Object(Location)> */
997 var8 = var10;
998 RET_LABEL9:(void)0;
999 }
1000 }
1001 {
1002 { /* Inline location#Location#file (self) on <self:Location> */
1003 var13 = self->attrs[COLOR_location__Location___file].val; /* _file on <self:Location> */
1004 var11 = var13;
1005 RET_LABEL12:(void)0;
1006 }
1007 }
1008 if (var8 == NULL) {
1009 var14 = (var11 != NULL);
1010 } else {
1011 { /* Inline kernel#Object#!= (var8,var11) on <var8:nullable SourceFile> */
1012 var_other17 = var11;
1013 {
1014 var19 = ((short int (*)(val*, val*))(var8->class->vft[COLOR_kernel__Object___61d_61d]))(var8, var_other17) /* == on <var8:nullable SourceFile(SourceFile)>*/;
1015 var18 = var19;
1016 }
1017 var20 = !var18;
1018 var15 = var20;
1019 goto RET_LABEL16;
1020 RET_LABEL16:(void)0;
1021 }
1022 var14 = var15;
1023 }
1024 if (var14){
1025 var21 = 0;
1026 var = var21;
1027 goto RET_LABEL;
1028 } else {
1029 }
1030 {
1031 { /* Inline location#Location#line_start (var_other) on <var_other:nullable Object(Location)> */
1032 var24 = var_other->attrs[COLOR_location__Location___line_start].l; /* _line_start on <var_other:nullable Object(Location)> */
1033 var22 = var24;
1034 RET_LABEL23:(void)0;
1035 }
1036 }
1037 {
1038 { /* Inline location#Location#line_start (self) on <self:Location> */
1039 var27 = self->attrs[COLOR_location__Location___line_start].l; /* _line_start on <self:Location> */
1040 var25 = var27;
1041 RET_LABEL26:(void)0;
1042 }
1043 }
1044 {
1045 { /* Inline kernel#Int#!= (var22,var25) on <var22:Int> */
1046 var31 = var22 == var25;
1047 var32 = !var31;
1048 var29 = var32;
1049 goto RET_LABEL30;
1050 RET_LABEL30:(void)0;
1051 }
1052 var28 = var29;
1053 }
1054 if (var28){
1055 var33 = 0;
1056 var = var33;
1057 goto RET_LABEL;
1058 } else {
1059 }
1060 {
1061 { /* Inline location#Location#line_end (var_other) on <var_other:nullable Object(Location)> */
1062 var36 = var_other->attrs[COLOR_location__Location___line_end].l; /* _line_end on <var_other:nullable Object(Location)> */
1063 var34 = var36;
1064 RET_LABEL35:(void)0;
1065 }
1066 }
1067 {
1068 { /* Inline location#Location#line_end (self) on <self:Location> */
1069 var39 = self->attrs[COLOR_location__Location___line_end].l; /* _line_end on <self:Location> */
1070 var37 = var39;
1071 RET_LABEL38:(void)0;
1072 }
1073 }
1074 {
1075 { /* Inline kernel#Int#!= (var34,var37) on <var34:Int> */
1076 var43 = var34 == var37;
1077 var44 = !var43;
1078 var41 = var44;
1079 goto RET_LABEL42;
1080 RET_LABEL42:(void)0;
1081 }
1082 var40 = var41;
1083 }
1084 if (var40){
1085 var45 = 0;
1086 var = var45;
1087 goto RET_LABEL;
1088 } else {
1089 }
1090 {
1091 { /* Inline location#Location#column_start (var_other) on <var_other:nullable Object(Location)> */
1092 var48 = var_other->attrs[COLOR_location__Location___column_start].l; /* _column_start on <var_other:nullable Object(Location)> */
1093 var46 = var48;
1094 RET_LABEL47:(void)0;
1095 }
1096 }
1097 {
1098 { /* Inline location#Location#column_start (self) on <self:Location> */
1099 var51 = self->attrs[COLOR_location__Location___column_start].l; /* _column_start on <self:Location> */
1100 var49 = var51;
1101 RET_LABEL50:(void)0;
1102 }
1103 }
1104 {
1105 { /* Inline kernel#Int#!= (var46,var49) on <var46:Int> */
1106 var55 = var46 == var49;
1107 var56 = !var55;
1108 var53 = var56;
1109 goto RET_LABEL54;
1110 RET_LABEL54:(void)0;
1111 }
1112 var52 = var53;
1113 }
1114 if (var52){
1115 var57 = 0;
1116 var = var57;
1117 goto RET_LABEL;
1118 } else {
1119 }
1120 {
1121 { /* Inline location#Location#column_end (var_other) on <var_other:nullable Object(Location)> */
1122 var60 = var_other->attrs[COLOR_location__Location___column_end].l; /* _column_end on <var_other:nullable Object(Location)> */
1123 var58 = var60;
1124 RET_LABEL59:(void)0;
1125 }
1126 }
1127 {
1128 { /* Inline location#Location#column_end (self) on <self:Location> */
1129 var63 = self->attrs[COLOR_location__Location___column_end].l; /* _column_end on <self:Location> */
1130 var61 = var63;
1131 RET_LABEL62:(void)0;
1132 }
1133 }
1134 {
1135 { /* Inline kernel#Int#!= (var58,var61) on <var58:Int> */
1136 var67 = var58 == var61;
1137 var68 = !var67;
1138 var65 = var68;
1139 goto RET_LABEL66;
1140 RET_LABEL66:(void)0;
1141 }
1142 var64 = var65;
1143 }
1144 if (var64){
1145 var69 = 0;
1146 var = var69;
1147 goto RET_LABEL;
1148 } else {
1149 }
1150 var70 = 1;
1151 var = var70;
1152 goto RET_LABEL;
1153 RET_LABEL:;
1154 return var;
1155 }
1156 /* method location#Location#== for (self: Object, nullable Object): Bool */
1157 short int VIRTUAL_location__Location___61d_61d(val* self, val* p0) {
1158 short int var /* : Bool */;
1159 short int var1 /* : Bool */;
1160 var1 = location__Location___61d_61d(self, p0);
1161 var = var1;
1162 RET_LABEL:;
1163 return var;
1164 }
1165 /* method location#Location#located_in for (self: Location, nullable Location): Bool */
1166 short int location__Location__located_in(val* self, val* p0) {
1167 short int var /* : Bool */;
1168 val* var_loc /* var loc: nullable Location */;
1169 val* var1 /* : null */;
1170 short int var2 /* : Bool */;
1171 short int var3 /* : Bool */;
1172 short int var4 /* : Bool */;
1173 long var5 /* : Int */;
1174 long var7 /* : Int */;
1175 long var8 /* : Int */;
1176 long var10 /* : Int */;
1177 short int var11 /* : Bool */;
1178 short int var13 /* : Bool */;
1179 int cltype;
1180 int idtype;
1181 const char* var_class_name;
1182 short int var14 /* : Bool */;
1183 short int var15 /* : Bool */;
1184 long var16 /* : Int */;
1185 long var18 /* : Int */;
1186 long var19 /* : Int */;
1187 long var21 /* : Int */;
1188 short int var22 /* : Bool */;
1189 short int var24 /* : Bool */;
1190 int cltype25;
1191 int idtype26;
1192 const char* var_class_name27;
1193 short int var28 /* : Bool */;
1194 short int var29 /* : Bool */;
1195 long var30 /* : Int */;
1196 long var32 /* : Int */;
1197 long var33 /* : Int */;
1198 long var35 /* : Int */;
1199 short int var36 /* : Bool */;
1200 short int var38 /* : Bool */;
1201 int cltype39;
1202 int idtype40;
1203 const char* var_class_name41;
1204 short int var42 /* : Bool */;
1205 short int var43 /* : Bool */;
1206 long var44 /* : Int */;
1207 long var46 /* : Int */;
1208 long var47 /* : Int */;
1209 long var49 /* : Int */;
1210 short int var50 /* : Bool */;
1211 short int var51 /* : Bool */;
1212 short int var53 /* : Bool */;
1213 long var54 /* : Int */;
1214 long var56 /* : Int */;
1215 long var57 /* : Int */;
1216 long var59 /* : Int */;
1217 short int var60 /* : Bool */;
1218 short int var62 /* : Bool */;
1219 int cltype63;
1220 int idtype64;
1221 const char* var_class_name65;
1222 short int var66 /* : Bool */;
1223 short int var67 /* : Bool */;
1224 long var68 /* : Int */;
1225 long var70 /* : Int */;
1226 long var71 /* : Int */;
1227 long var73 /* : Int */;
1228 short int var74 /* : Bool */;
1229 short int var76 /* : Bool */;
1230 int cltype77;
1231 int idtype78;
1232 const char* var_class_name79;
1233 short int var80 /* : Bool */;
1234 short int var81 /* : Bool */;
1235 short int var82 /* : Bool */;
1236 long var83 /* : Int */;
1237 long var85 /* : Int */;
1238 long var86 /* : Int */;
1239 long var88 /* : Int */;
1240 short int var89 /* : Bool */;
1241 short int var90 /* : Bool */;
1242 short int var92 /* : Bool */;
1243 short int var_ /* var : Bool */;
1244 long var93 /* : Int */;
1245 long var95 /* : Int */;
1246 long var96 /* : Int */;
1247 long var98 /* : Int */;
1248 short int var99 /* : Bool */;
1249 short int var101 /* : Bool */;
1250 int cltype102;
1251 int idtype103;
1252 const char* var_class_name104;
1253 short int var105 /* : Bool */;
1254 short int var106 /* : Bool */;
1255 short int var107 /* : Bool */;
1256 var_loc = p0;
1257 var1 = NULL;
1258 if (var_loc == NULL) {
1259 var2 = 1; /* is null */
1260 } else {
1261 var2 = 0; /* arg is null but recv is not */
1262 }
1263 if (0) {
1264 var3 = location__Location___61d_61d(var_loc, var1);
1265 var2 = var3;
1266 }
1267 if (var2){
1268 var4 = 0;
1269 var = var4;
1270 goto RET_LABEL;
1271 } else {
1272 }
1273 {
1274 { /* Inline location#Location#line_start (self) on <self:Location> */
1275 var7 = self->attrs[COLOR_location__Location___line_start].l; /* _line_start on <self:Location> */
1276 var5 = var7;
1277 RET_LABEL6:(void)0;
1278 }
1279 }
1280 {
1281 { /* Inline location#Location#line_start (var_loc) on <var_loc:nullable Location(Location)> */
1282 var10 = var_loc->attrs[COLOR_location__Location___line_start].l; /* _line_start on <var_loc:nullable Location(Location)> */
1283 var8 = var10;
1284 RET_LABEL9:(void)0;
1285 }
1286 }
1287 {
1288 { /* Inline kernel#Int#< (var5,var8) on <var5:Int> */
1289 /* Covariant cast for argument 0 (i) <var8:Int> isa OTHER */
1290 /* <var8:Int> isa OTHER */
1291 var13 = 1; /* easy <var8:Int> isa OTHER*/
1292 if (unlikely(!var13)) {
1293 var_class_name = type_kernel__Int.name;
1294 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1295 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
1296 show_backtrace(1);
1297 }
1298 var14 = var5 < var8;
1299 var11 = var14;
1300 goto RET_LABEL12;
1301 RET_LABEL12:(void)0;
1302 }
1303 }
1304 if (var11){
1305 var15 = 0;
1306 var = var15;
1307 goto RET_LABEL;
1308 } else {
1309 }
1310 {
1311 { /* Inline location#Location#line_start (self) on <self:Location> */
1312 var18 = self->attrs[COLOR_location__Location___line_start].l; /* _line_start on <self:Location> */
1313 var16 = var18;
1314 RET_LABEL17:(void)0;
1315 }
1316 }
1317 {
1318 { /* Inline location#Location#line_end (var_loc) on <var_loc:nullable Location(Location)> */
1319 var21 = var_loc->attrs[COLOR_location__Location___line_end].l; /* _line_end on <var_loc:nullable Location(Location)> */
1320 var19 = var21;
1321 RET_LABEL20:(void)0;
1322 }
1323 }
1324 {
1325 { /* Inline kernel#Int#> (var16,var19) on <var16:Int> */
1326 /* Covariant cast for argument 0 (i) <var19:Int> isa OTHER */
1327 /* <var19:Int> isa OTHER */
1328 var24 = 1; /* easy <var19:Int> isa OTHER*/
1329 if (unlikely(!var24)) {
1330 var_class_name27 = type_kernel__Int.name;
1331 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27);
1332 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
1333 show_backtrace(1);
1334 }
1335 var28 = var16 > var19;
1336 var22 = var28;
1337 goto RET_LABEL23;
1338 RET_LABEL23:(void)0;
1339 }
1340 }
1341 if (var22){
1342 var29 = 0;
1343 var = var29;
1344 goto RET_LABEL;
1345 } else {
1346 }
1347 {
1348 { /* Inline location#Location#line_end (self) on <self:Location> */
1349 var32 = self->attrs[COLOR_location__Location___line_end].l; /* _line_end on <self:Location> */
1350 var30 = var32;
1351 RET_LABEL31:(void)0;
1352 }
1353 }
1354 {
1355 { /* Inline location#Location#line_end (var_loc) on <var_loc:nullable Location(Location)> */
1356 var35 = var_loc->attrs[COLOR_location__Location___line_end].l; /* _line_end on <var_loc:nullable Location(Location)> */
1357 var33 = var35;
1358 RET_LABEL34:(void)0;
1359 }
1360 }
1361 {
1362 { /* Inline kernel#Int#> (var30,var33) on <var30:Int> */
1363 /* Covariant cast for argument 0 (i) <var33:Int> isa OTHER */
1364 /* <var33:Int> isa OTHER */
1365 var38 = 1; /* easy <var33:Int> isa OTHER*/
1366 if (unlikely(!var38)) {
1367 var_class_name41 = type_kernel__Int.name;
1368 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41);
1369 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
1370 show_backtrace(1);
1371 }
1372 var42 = var30 > var33;
1373 var36 = var42;
1374 goto RET_LABEL37;
1375 RET_LABEL37:(void)0;
1376 }
1377 }
1378 if (var36){
1379 var43 = 0;
1380 var = var43;
1381 goto RET_LABEL;
1382 } else {
1383 }
1384 {
1385 { /* Inline location#Location#line_start (self) on <self:Location> */
1386 var46 = self->attrs[COLOR_location__Location___line_start].l; /* _line_start on <self:Location> */
1387 var44 = var46;
1388 RET_LABEL45:(void)0;
1389 }
1390 }
1391 {
1392 { /* Inline location#Location#line_start (var_loc) on <var_loc:nullable Location(Location)> */
1393 var49 = var_loc->attrs[COLOR_location__Location___line_start].l; /* _line_start on <var_loc:nullable Location(Location)> */
1394 var47 = var49;
1395 RET_LABEL48:(void)0;
1396 }
1397 }
1398 {
1399 { /* Inline kernel#Int#== (var44,var47) on <var44:Int> */
1400 var53 = var44 == var47;
1401 var51 = var53;
1402 goto RET_LABEL52;
1403 RET_LABEL52:(void)0;
1404 }
1405 var50 = var51;
1406 }
1407 if (var50){
1408 {
1409 { /* Inline location#Location#column_start (self) on <self:Location> */
1410 var56 = self->attrs[COLOR_location__Location___column_start].l; /* _column_start on <self:Location> */
1411 var54 = var56;
1412 RET_LABEL55:(void)0;
1413 }
1414 }
1415 {
1416 { /* Inline location#Location#column_start (var_loc) on <var_loc:nullable Location(Location)> */
1417 var59 = var_loc->attrs[COLOR_location__Location___column_start].l; /* _column_start on <var_loc:nullable Location(Location)> */
1418 var57 = var59;
1419 RET_LABEL58:(void)0;
1420 }
1421 }
1422 {
1423 { /* Inline kernel#Int#< (var54,var57) on <var54:Int> */
1424 /* Covariant cast for argument 0 (i) <var57:Int> isa OTHER */
1425 /* <var57:Int> isa OTHER */
1426 var62 = 1; /* easy <var57:Int> isa OTHER*/
1427 if (unlikely(!var62)) {
1428 var_class_name65 = type_kernel__Int.name;
1429 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name65);
1430 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
1431 show_backtrace(1);
1432 }
1433 var66 = var54 < var57;
1434 var60 = var66;
1435 goto RET_LABEL61;
1436 RET_LABEL61:(void)0;
1437 }
1438 }
1439 if (var60){
1440 var67 = 0;
1441 var = var67;
1442 goto RET_LABEL;
1443 } else {
1444 }
1445 {
1446 { /* Inline location#Location#column_start (self) on <self:Location> */
1447 var70 = self->attrs[COLOR_location__Location___column_start].l; /* _column_start on <self:Location> */
1448 var68 = var70;
1449 RET_LABEL69:(void)0;
1450 }
1451 }
1452 {
1453 { /* Inline location#Location#column_end (var_loc) on <var_loc:nullable Location(Location)> */
1454 var73 = var_loc->attrs[COLOR_location__Location___column_end].l; /* _column_end on <var_loc:nullable Location(Location)> */
1455 var71 = var73;
1456 RET_LABEL72:(void)0;
1457 }
1458 }
1459 {
1460 { /* Inline kernel#Int#> (var68,var71) on <var68:Int> */
1461 /* Covariant cast for argument 0 (i) <var71:Int> isa OTHER */
1462 /* <var71:Int> isa OTHER */
1463 var76 = 1; /* easy <var71:Int> isa OTHER*/
1464 if (unlikely(!var76)) {
1465 var_class_name79 = type_kernel__Int.name;
1466 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name79);
1467 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
1468 show_backtrace(1);
1469 }
1470 var80 = var68 > var71;
1471 var74 = var80;
1472 goto RET_LABEL75;
1473 RET_LABEL75:(void)0;
1474 }
1475 }
1476 if (var74){
1477 var81 = 0;
1478 var = var81;
1479 goto RET_LABEL;
1480 } else {
1481 }
1482 } else {
1483 }
1484 {
1485 { /* Inline location#Location#line_end (self) on <self:Location> */
1486 var85 = self->attrs[COLOR_location__Location___line_end].l; /* _line_end on <self:Location> */
1487 var83 = var85;
1488 RET_LABEL84:(void)0;
1489 }
1490 }
1491 {
1492 { /* Inline location#Location#line_end (var_loc) on <var_loc:nullable Location(Location)> */
1493 var88 = var_loc->attrs[COLOR_location__Location___line_end].l; /* _line_end on <var_loc:nullable Location(Location)> */
1494 var86 = var88;
1495 RET_LABEL87:(void)0;
1496 }
1497 }
1498 {
1499 { /* Inline kernel#Int#== (var83,var86) on <var83:Int> */
1500 var92 = var83 == var86;
1501 var90 = var92;
1502 goto RET_LABEL91;
1503 RET_LABEL91:(void)0;
1504 }
1505 var89 = var90;
1506 }
1507 var_ = var89;
1508 if (var89){
1509 {
1510 { /* Inline location#Location#column_end (self) on <self:Location> */
1511 var95 = self->attrs[COLOR_location__Location___column_end].l; /* _column_end on <self:Location> */
1512 var93 = var95;
1513 RET_LABEL94:(void)0;
1514 }
1515 }
1516 {
1517 { /* Inline location#Location#column_end (var_loc) on <var_loc:nullable Location(Location)> */
1518 var98 = var_loc->attrs[COLOR_location__Location___column_end].l; /* _column_end on <var_loc:nullable Location(Location)> */
1519 var96 = var98;
1520 RET_LABEL97:(void)0;
1521 }
1522 }
1523 {
1524 { /* Inline kernel#Int#> (var93,var96) on <var93:Int> */
1525 /* Covariant cast for argument 0 (i) <var96:Int> isa OTHER */
1526 /* <var96:Int> isa OTHER */
1527 var101 = 1; /* easy <var96:Int> isa OTHER*/
1528 if (unlikely(!var101)) {
1529 var_class_name104 = type_kernel__Int.name;
1530 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name104);
1531 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
1532 show_backtrace(1);
1533 }
1534 var105 = var93 > var96;
1535 var99 = var105;
1536 goto RET_LABEL100;
1537 RET_LABEL100:(void)0;
1538 }
1539 }
1540 var82 = var99;
1541 } else {
1542 var82 = var_;
1543 }
1544 if (var82){
1545 var106 = 0;
1546 var = var106;
1547 goto RET_LABEL;
1548 } else {
1549 }
1550 var107 = 1;
1551 var = var107;
1552 goto RET_LABEL;
1553 RET_LABEL:;
1554 return var;
1555 }
1556 /* method location#Location#located_in for (self: Object, nullable Location): Bool */
1557 short int VIRTUAL_location__Location__located_in(val* self, val* p0) {
1558 short int var /* : Bool */;
1559 short int var1 /* : Bool */;
1560 var1 = location__Location__located_in(self, p0);
1561 var = var1;
1562 RET_LABEL:;
1563 return var;
1564 }
1565 /* method location#Location#to_s for (self: Location): String */
1566 val* location__Location__to_s(val* self) {
1567 val* var /* : String */;
1568 static val* varonce;
1569 val* var1 /* : String */;
1570 char* var2 /* : NativeString */;
1571 long var3 /* : Int */;
1572 val* var4 /* : FlatString */;
1573 val* var_file_part /* var file_part: String */;
1574 val* var5 /* : nullable SourceFile */;
1575 val* var7 /* : nullable SourceFile */;
1576 val* var8 /* : null */;
1577 short int var9 /* : Bool */;
1578 short int var10 /* : Bool */;
1579 val* var_other /* var other: nullable Object */;
1580 short int var12 /* : Bool */;
1581 short int var13 /* : Bool */;
1582 short int var14 /* : Bool */;
1583 val* var15 /* : nullable SourceFile */;
1584 val* var17 /* : nullable SourceFile */;
1585 val* var18 /* : String */;
1586 val* var20 /* : String */;
1587 val* var21 /* : nullable SourceFile */;
1588 val* var23 /* : nullable SourceFile */;
1589 val* var24 /* : String */;
1590 val* var26 /* : String */;
1591 long var27 /* : Int */;
1592 long var29 /* : Int */;
1593 long var30 /* : Int */;
1594 short int var31 /* : Bool */;
1595 short int var33 /* : Bool */;
1596 int cltype;
1597 int idtype;
1598 const char* var_class_name;
1599 short int var34 /* : Bool */;
1600 static val* varonce35;
1601 val* var36 /* : String */;
1602 char* var37 /* : NativeString */;
1603 long var38 /* : Int */;
1604 val* var39 /* : FlatString */;
1605 val* var40 /* : String */;
1606 long var41 /* : Int */;
1607 long var43 /* : Int */;
1608 long var44 /* : Int */;
1609 long var46 /* : Int */;
1610 short int var47 /* : Bool */;
1611 short int var48 /* : Bool */;
1612 short int var50 /* : Bool */;
1613 long var51 /* : Int */;
1614 long var53 /* : Int */;
1615 long var54 /* : Int */;
1616 long var56 /* : Int */;
1617 short int var57 /* : Bool */;
1618 short int var58 /* : Bool */;
1619 short int var60 /* : Bool */;
1620 long var61 /* : Int */;
1621 long var63 /* : Int */;
1622 static val* varonce64;
1623 val* var65 /* : String */;
1624 char* var66 /* : NativeString */;
1625 long var67 /* : Int */;
1626 val* var68 /* : FlatString */;
1627 long var69 /* : Int */;
1628 long var71 /* : Int */;
1629 val* var72 /* : Array[Object] */;
1630 long var73 /* : Int */;
1631 val* var74 /* : NativeArray[Object] */;
1632 val* var75 /* : Object */;
1633 val* var76 /* : Object */;
1634 val* var77 /* : String */;
1635 long var78 /* : Int */;
1636 long var80 /* : Int */;
1637 static val* varonce81;
1638 val* var82 /* : String */;
1639 char* var83 /* : NativeString */;
1640 long var84 /* : Int */;
1641 val* var85 /* : FlatString */;
1642 long var86 /* : Int */;
1643 long var88 /* : Int */;
1644 static val* varonce89;
1645 val* var90 /* : String */;
1646 char* var91 /* : NativeString */;
1647 long var92 /* : Int */;
1648 val* var93 /* : FlatString */;
1649 long var94 /* : Int */;
1650 long var96 /* : Int */;
1651 val* var97 /* : Array[Object] */;
1652 long var98 /* : Int */;
1653 val* var99 /* : NativeArray[Object] */;
1654 val* var100 /* : Object */;
1655 val* var101 /* : Object */;
1656 val* var102 /* : Object */;
1657 val* var103 /* : String */;
1658 long var104 /* : Int */;
1659 long var106 /* : Int */;
1660 static val* varonce107;
1661 val* var108 /* : String */;
1662 char* var109 /* : NativeString */;
1663 long var110 /* : Int */;
1664 val* var111 /* : FlatString */;
1665 long var112 /* : Int */;
1666 long var114 /* : Int */;
1667 static val* varonce115;
1668 val* var116 /* : String */;
1669 char* var117 /* : NativeString */;
1670 long var118 /* : Int */;
1671 val* var119 /* : FlatString */;
1672 long var120 /* : Int */;
1673 long var122 /* : Int */;
1674 static val* varonce123;
1675 val* var124 /* : String */;
1676 char* var125 /* : NativeString */;
1677 long var126 /* : Int */;
1678 val* var127 /* : FlatString */;
1679 long var128 /* : Int */;
1680 long var130 /* : Int */;
1681 val* var131 /* : Array[Object] */;
1682 long var132 /* : Int */;
1683 val* var133 /* : NativeArray[Object] */;
1684 val* var134 /* : Object */;
1685 val* var135 /* : Object */;
1686 val* var136 /* : Object */;
1687 val* var137 /* : Object */;
1688 val* var138 /* : String */;
1689 if (varonce) {
1690 var1 = varonce;
1691 } else {
1692 var2 = "";
1693 var3 = 0;
1694 var4 = string__NativeString__to_s_with_length(var2, var3);
1695 var1 = var4;
1696 varonce = var1;
1697 }
1698 var_file_part = var1;
1699 {
1700 { /* Inline location#Location#file (self) on <self:Location> */
1701 var7 = self->attrs[COLOR_location__Location___file].val; /* _file on <self:Location> */
1702 var5 = var7;
1703 RET_LABEL6:(void)0;
1704 }
1705 }
1706 var8 = NULL;
1707 if (var5 == NULL) {
1708 var9 = 0; /* is null */
1709 } else {
1710 var9 = 1; /* arg is null and recv is not */
1711 }
1712 if (0) {
1713 { /* Inline kernel#Object#!= (var5,var8) on <var5:nullable SourceFile> */
1714 var_other = var8;
1715 {
1716 var13 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_other) /* == on <var5:nullable SourceFile(SourceFile)>*/;
1717 var12 = var13;
1718 }
1719 var14 = !var12;
1720 var10 = var14;
1721 goto RET_LABEL11;
1722 RET_LABEL11:(void)0;
1723 }
1724 var9 = var10;
1725 }
1726 if (var9){
1727 {
1728 { /* Inline location#Location#file (self) on <self:Location> */
1729 var17 = self->attrs[COLOR_location__Location___file].val; /* _file on <self:Location> */
1730 var15 = var17;
1731 RET_LABEL16:(void)0;
1732 }
1733 }
1734 if (var15 == NULL) {
1735 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1736 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 124);
1737 show_backtrace(1);
1738 } else {
1739 { /* Inline location#SourceFile#filename (var15) on <var15:nullable SourceFile> */
1740 if (unlikely(var15 == NULL)) {
1741 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1742 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 22);
1743 show_backtrace(1);
1744 }
1745 var20 = var15->attrs[COLOR_location__SourceFile___filename].val; /* _filename on <var15:nullable SourceFile> */
1746 if (unlikely(var20 == NULL)) {
1747 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename");
1748 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 22);
1749 show_backtrace(1);
1750 }
1751 var18 = var20;
1752 RET_LABEL19:(void)0;
1753 }
1754 }
1755 var_file_part = var18;
1756 {
1757 { /* Inline location#Location#file (self) on <self:Location> */
1758 var23 = self->attrs[COLOR_location__Location___file].val; /* _file on <self:Location> */
1759 var21 = var23;
1760 RET_LABEL22:(void)0;
1761 }
1762 }
1763 if (var21 == NULL) {
1764 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1765 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 125);
1766 show_backtrace(1);
1767 } else {
1768 { /* Inline location#SourceFile#filename (var21) on <var21:nullable SourceFile> */
1769 if (unlikely(var21 == NULL)) {
1770 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1771 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 22);
1772 show_backtrace(1);
1773 }
1774 var26 = var21->attrs[COLOR_location__SourceFile___filename].val; /* _filename on <var21:nullable SourceFile> */
1775 if (unlikely(var26 == NULL)) {
1776 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename");
1777 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 22);
1778 show_backtrace(1);
1779 }
1780 var24 = var26;
1781 RET_LABEL25:(void)0;
1782 }
1783 }
1784 {
1785 { /* Inline string#FlatText#length (var24) on <var24:String> */
1786 var29 = var24->attrs[COLOR_string__FlatText___length].l; /* _length on <var24:String> */
1787 var27 = var29;
1788 RET_LABEL28:(void)0;
1789 }
1790 }
1791 var30 = 0;
1792 {
1793 { /* Inline kernel#Int#> (var27,var30) on <var27:Int> */
1794 /* Covariant cast for argument 0 (i) <var30:Int> isa OTHER */
1795 /* <var30:Int> isa OTHER */
1796 var33 = 1; /* easy <var30:Int> isa OTHER*/
1797 if (unlikely(!var33)) {
1798 var_class_name = type_kernel__Int.name;
1799 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1800 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
1801 show_backtrace(1);
1802 }
1803 var34 = var27 > var30;
1804 var31 = var34;
1805 goto RET_LABEL32;
1806 RET_LABEL32:(void)0;
1807 }
1808 }
1809 if (var31){
1810 if (varonce35) {
1811 var36 = varonce35;
1812 } else {
1813 var37 = ":";
1814 var38 = 1;
1815 var39 = string__NativeString__to_s_with_length(var37, var38);
1816 var36 = var39;
1817 varonce35 = var36;
1818 }
1819 {
1820 var40 = string__FlatString___43d(var_file_part, var36);
1821 }
1822 var_file_part = var40;
1823 } else {
1824 }
1825 } else {
1826 }
1827 {
1828 { /* Inline location#Location#line_start (self) on <self:Location> */
1829 var43 = self->attrs[COLOR_location__Location___line_start].l; /* _line_start on <self:Location> */
1830 var41 = var43;
1831 RET_LABEL42:(void)0;
1832 }
1833 }
1834 {
1835 { /* Inline location#Location#line_end (self) on <self:Location> */
1836 var46 = self->attrs[COLOR_location__Location___line_end].l; /* _line_end on <self:Location> */
1837 var44 = var46;
1838 RET_LABEL45:(void)0;
1839 }
1840 }
1841 {
1842 { /* Inline kernel#Int#== (var41,var44) on <var41:Int> */
1843 var50 = var41 == var44;
1844 var48 = var50;
1845 goto RET_LABEL49;
1846 RET_LABEL49:(void)0;
1847 }
1848 var47 = var48;
1849 }
1850 if (var47){
1851 {
1852 { /* Inline location#Location#column_start (self) on <self:Location> */
1853 var53 = self->attrs[COLOR_location__Location___column_start].l; /* _column_start on <self:Location> */
1854 var51 = var53;
1855 RET_LABEL52:(void)0;
1856 }
1857 }
1858 {
1859 { /* Inline location#Location#column_end (self) on <self:Location> */
1860 var56 = self->attrs[COLOR_location__Location___column_end].l; /* _column_end on <self:Location> */
1861 var54 = var56;
1862 RET_LABEL55:(void)0;
1863 }
1864 }
1865 {
1866 { /* Inline kernel#Int#== (var51,var54) on <var51:Int> */
1867 var60 = var51 == var54;
1868 var58 = var60;
1869 goto RET_LABEL59;
1870 RET_LABEL59:(void)0;
1871 }
1872 var57 = var58;
1873 }
1874 if (var57){
1875 {
1876 { /* Inline location#Location#line_start (self) on <self:Location> */
1877 var63 = self->attrs[COLOR_location__Location___line_start].l; /* _line_start on <self:Location> */
1878 var61 = var63;
1879 RET_LABEL62:(void)0;
1880 }
1881 }
1882 if (varonce64) {
1883 var65 = varonce64;
1884 } else {
1885 var66 = ",";
1886 var67 = 1;
1887 var68 = string__NativeString__to_s_with_length(var66, var67);
1888 var65 = var68;
1889 varonce64 = var65;
1890 }
1891 {
1892 { /* Inline location#Location#column_start (self) on <self:Location> */
1893 var71 = self->attrs[COLOR_location__Location___column_start].l; /* _column_start on <self:Location> */
1894 var69 = var71;
1895 RET_LABEL70:(void)0;
1896 }
1897 }
1898 var72 = NEW_array__Array(&type_array__Arraykernel__Object);
1899 { /* var72 = array_instance Array[Object] */
1900 var73 = 4;
1901 var74 = NEW_array__NativeArray(var73, &type_array__NativeArraykernel__Object);
1902 ((struct instance_array__NativeArray*)var74)->values[0] = (val*) var_file_part;
1903 var75 = BOX_kernel__Int(var61); /* autobox from Int to Object */
1904 ((struct instance_array__NativeArray*)var74)->values[1] = (val*) var75;
1905 ((struct instance_array__NativeArray*)var74)->values[2] = (val*) var65;
1906 var76 = BOX_kernel__Int(var69); /* autobox from Int to Object */
1907 ((struct instance_array__NativeArray*)var74)->values[3] = (val*) var76;
1908 {
1909 ((void (*)(val*, val*, long))(var72->class->vft[COLOR_array__Array__with_native]))(var72, var74, var73) /* with_native on <var72:Array[Object]>*/;
1910 }
1911 }
1912 {
1913 var77 = ((val* (*)(val*))(var72->class->vft[COLOR_string__Object__to_s]))(var72) /* to_s on <var72:Array[Object]>*/;
1914 }
1915 var = var77;
1916 goto RET_LABEL;
1917 } else {
1918 {
1919 { /* Inline location#Location#line_start (self) on <self:Location> */
1920 var80 = self->attrs[COLOR_location__Location___line_start].l; /* _line_start on <self:Location> */
1921 var78 = var80;
1922 RET_LABEL79:(void)0;
1923 }
1924 }
1925 if (varonce81) {
1926 var82 = varonce81;
1927 } else {
1928 var83 = ",";
1929 var84 = 1;
1930 var85 = string__NativeString__to_s_with_length(var83, var84);
1931 var82 = var85;
1932 varonce81 = var82;
1933 }
1934 {
1935 { /* Inline location#Location#column_start (self) on <self:Location> */
1936 var88 = self->attrs[COLOR_location__Location___column_start].l; /* _column_start on <self:Location> */
1937 var86 = var88;
1938 RET_LABEL87:(void)0;
1939 }
1940 }
1941 if (varonce89) {
1942 var90 = varonce89;
1943 } else {
1944 var91 = "--";
1945 var92 = 2;
1946 var93 = string__NativeString__to_s_with_length(var91, var92);
1947 var90 = var93;
1948 varonce89 = var90;
1949 }
1950 {
1951 { /* Inline location#Location#column_end (self) on <self:Location> */
1952 var96 = self->attrs[COLOR_location__Location___column_end].l; /* _column_end on <self:Location> */
1953 var94 = var96;
1954 RET_LABEL95:(void)0;
1955 }
1956 }
1957 var97 = NEW_array__Array(&type_array__Arraykernel__Object);
1958 { /* var97 = array_instance Array[Object] */
1959 var98 = 6;
1960 var99 = NEW_array__NativeArray(var98, &type_array__NativeArraykernel__Object);
1961 ((struct instance_array__NativeArray*)var99)->values[0] = (val*) var_file_part;
1962 var100 = BOX_kernel__Int(var78); /* autobox from Int to Object */
1963 ((struct instance_array__NativeArray*)var99)->values[1] = (val*) var100;
1964 ((struct instance_array__NativeArray*)var99)->values[2] = (val*) var82;
1965 var101 = BOX_kernel__Int(var86); /* autobox from Int to Object */
1966 ((struct instance_array__NativeArray*)var99)->values[3] = (val*) var101;
1967 ((struct instance_array__NativeArray*)var99)->values[4] = (val*) var90;
1968 var102 = BOX_kernel__Int(var94); /* autobox from Int to Object */
1969 ((struct instance_array__NativeArray*)var99)->values[5] = (val*) var102;
1970 {
1971 ((void (*)(val*, val*, long))(var97->class->vft[COLOR_array__Array__with_native]))(var97, var99, var98) /* with_native on <var97:Array[Object]>*/;
1972 }
1973 }
1974 {
1975 var103 = ((val* (*)(val*))(var97->class->vft[COLOR_string__Object__to_s]))(var97) /* to_s on <var97:Array[Object]>*/;
1976 }
1977 var = var103;
1978 goto RET_LABEL;
1979 }
1980 } else {
1981 {
1982 { /* Inline location#Location#line_start (self) on <self:Location> */
1983 var106 = self->attrs[COLOR_location__Location___line_start].l; /* _line_start on <self:Location> */
1984 var104 = var106;
1985 RET_LABEL105:(void)0;
1986 }
1987 }
1988 if (varonce107) {
1989 var108 = varonce107;
1990 } else {
1991 var109 = ",";
1992 var110 = 1;
1993 var111 = string__NativeString__to_s_with_length(var109, var110);
1994 var108 = var111;
1995 varonce107 = var108;
1996 }
1997 {
1998 { /* Inline location#Location#column_start (self) on <self:Location> */
1999 var114 = self->attrs[COLOR_location__Location___column_start].l; /* _column_start on <self:Location> */
2000 var112 = var114;
2001 RET_LABEL113:(void)0;
2002 }
2003 }
2004 if (varonce115) {
2005 var116 = varonce115;
2006 } else {
2007 var117 = "--";
2008 var118 = 2;
2009 var119 = string__NativeString__to_s_with_length(var117, var118);
2010 var116 = var119;
2011 varonce115 = var116;
2012 }
2013 {
2014 { /* Inline location#Location#line_end (self) on <self:Location> */
2015 var122 = self->attrs[COLOR_location__Location___line_end].l; /* _line_end on <self:Location> */
2016 var120 = var122;
2017 RET_LABEL121:(void)0;
2018 }
2019 }
2020 if (varonce123) {
2021 var124 = varonce123;
2022 } else {
2023 var125 = ",";
2024 var126 = 1;
2025 var127 = string__NativeString__to_s_with_length(var125, var126);
2026 var124 = var127;
2027 varonce123 = var124;
2028 }
2029 {
2030 { /* Inline location#Location#column_end (self) on <self:Location> */
2031 var130 = self->attrs[COLOR_location__Location___column_end].l; /* _column_end on <self:Location> */
2032 var128 = var130;
2033 RET_LABEL129:(void)0;
2034 }
2035 }
2036 var131 = NEW_array__Array(&type_array__Arraykernel__Object);
2037 { /* var131 = array_instance Array[Object] */
2038 var132 = 8;
2039 var133 = NEW_array__NativeArray(var132, &type_array__NativeArraykernel__Object);
2040 ((struct instance_array__NativeArray*)var133)->values[0] = (val*) var_file_part;
2041 var134 = BOX_kernel__Int(var104); /* autobox from Int to Object */
2042 ((struct instance_array__NativeArray*)var133)->values[1] = (val*) var134;
2043 ((struct instance_array__NativeArray*)var133)->values[2] = (val*) var108;
2044 var135 = BOX_kernel__Int(var112); /* autobox from Int to Object */
2045 ((struct instance_array__NativeArray*)var133)->values[3] = (val*) var135;
2046 ((struct instance_array__NativeArray*)var133)->values[4] = (val*) var116;
2047 var136 = BOX_kernel__Int(var120); /* autobox from Int to Object */
2048 ((struct instance_array__NativeArray*)var133)->values[5] = (val*) var136;
2049 ((struct instance_array__NativeArray*)var133)->values[6] = (val*) var124;
2050 var137 = BOX_kernel__Int(var128); /* autobox from Int to Object */
2051 ((struct instance_array__NativeArray*)var133)->values[7] = (val*) var137;
2052 {
2053 ((void (*)(val*, val*, long))(var131->class->vft[COLOR_array__Array__with_native]))(var131, var133, var132) /* with_native on <var131:Array[Object]>*/;
2054 }
2055 }
2056 {
2057 var138 = ((val* (*)(val*))(var131->class->vft[COLOR_string__Object__to_s]))(var131) /* to_s on <var131:Array[Object]>*/;
2058 }
2059 var = var138;
2060 goto RET_LABEL;
2061 }
2062 RET_LABEL:;
2063 return var;
2064 }
2065 /* method location#Location#to_s for (self: Object): String */
2066 val* VIRTUAL_location__Location__to_s(val* self) {
2067 val* var /* : String */;
2068 val* var1 /* : String */;
2069 var1 = location__Location__to_s(self);
2070 var = var1;
2071 RET_LABEL:;
2072 return var;
2073 }
2074 /* method location#Location#< for (self: Location, Location): Bool */
2075 short int location__Location___60d(val* self, val* p0) {
2076 short int var /* : Bool */;
2077 short int var1 /* : Bool */;
2078 int cltype;
2079 int idtype;
2080 const struct type* type_struct;
2081 const char* var_class_name;
2082 val* var_other /* var other: Location */;
2083 short int var2 /* : Bool */;
2084 short int var3 /* : Bool */;
2085 short int var4 /* : Bool */;
2086 short int var5 /* : Bool */;
2087 short int var6 /* : Bool */;
2088 short int var7 /* : Bool */;
2089 short int var8 /* : Bool */;
2090 long var9 /* : Int */;
2091 long var11 /* : Int */;
2092 long var12 /* : Int */;
2093 long var14 /* : Int */;
2094 short int var15 /* : Bool */;
2095 short int var16 /* : Bool */;
2096 short int var18 /* : Bool */;
2097 short int var19 /* : Bool */;
2098 long var20 /* : Int */;
2099 long var22 /* : Int */;
2100 long var23 /* : Int */;
2101 long var25 /* : Int */;
2102 short int var26 /* : Bool */;
2103 short int var28 /* : Bool */;
2104 int cltype29;
2105 int idtype30;
2106 const char* var_class_name31;
2107 short int var32 /* : Bool */;
2108 long var33 /* : Int */;
2109 long var35 /* : Int */;
2110 long var36 /* : Int */;
2111 long var38 /* : Int */;
2112 short int var39 /* : Bool */;
2113 short int var40 /* : Bool */;
2114 short int var42 /* : Bool */;
2115 short int var43 /* : Bool */;
2116 long var44 /* : Int */;
2117 long var46 /* : Int */;
2118 long var47 /* : Int */;
2119 long var49 /* : Int */;
2120 short int var50 /* : Bool */;
2121 short int var52 /* : Bool */;
2122 int cltype53;
2123 int idtype54;
2124 const char* var_class_name55;
2125 short int var56 /* : Bool */;
2126 long var57 /* : Int */;
2127 long var59 /* : Int */;
2128 long var60 /* : Int */;
2129 long var62 /* : Int */;
2130 short int var63 /* : Bool */;
2131 short int var64 /* : Bool */;
2132 short int var66 /* : Bool */;
2133 short int var67 /* : Bool */;
2134 long var68 /* : Int */;
2135 long var70 /* : Int */;
2136 long var71 /* : Int */;
2137 long var73 /* : Int */;
2138 short int var74 /* : Bool */;
2139 short int var76 /* : Bool */;
2140 int cltype77;
2141 int idtype78;
2142 const char* var_class_name79;
2143 short int var80 /* : Bool */;
2144 long var81 /* : Int */;
2145 long var83 /* : Int */;
2146 long var84 /* : Int */;
2147 long var86 /* : Int */;
2148 short int var87 /* : Bool */;
2149 short int var89 /* : Bool */;
2150 int cltype90;
2151 int idtype91;
2152 const char* var_class_name92;
2153 short int var93 /* : Bool */;
2154 /* Covariant cast for argument 0 (other) <p0:Location> isa OTHER */
2155 /* <p0:Location> isa OTHER */
2156 type_struct = self->type->resolution_table->types[COLOR_kernel__Comparable_VTOTHER];
2157 cltype = type_struct->color;
2158 idtype = type_struct->id;
2159 if(cltype >= p0->type->table_size) {
2160 var1 = 0;
2161 } else {
2162 var1 = p0->type->type_table[cltype] == idtype;
2163 }
2164 if (unlikely(!var1)) {
2165 var_class_name = p0 == NULL ? "null" : p0->type->name;
2166 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2167 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 149);
2168 show_backtrace(1);
2169 }
2170 var_other = p0;
2171 {
2172 var3 = location__Location___61d_61d(self, var_other);
2173 var2 = var3;
2174 }
2175 if (var2){
2176 var4 = 0;
2177 var = var4;
2178 goto RET_LABEL;
2179 } else {
2180 }
2181 {
2182 var5 = location__Location__located_in(self, var_other);
2183 }
2184 if (var5){
2185 var6 = 1;
2186 var = var6;
2187 goto RET_LABEL;
2188 } else {
2189 }
2190 {
2191 var7 = location__Location__located_in(var_other, self);
2192 }
2193 if (var7){
2194 var8 = 0;
2195 var = var8;
2196 goto RET_LABEL;
2197 } else {
2198 }
2199 {
2200 { /* Inline location#Location#line_start (self) on <self:Location> */
2201 var11 = self->attrs[COLOR_location__Location___line_start].l; /* _line_start on <self:Location> */
2202 var9 = var11;
2203 RET_LABEL10:(void)0;
2204 }
2205 }
2206 {
2207 { /* Inline location#Location#line_start (var_other) on <var_other:Location> */
2208 var14 = var_other->attrs[COLOR_location__Location___line_start].l; /* _line_start on <var_other:Location> */
2209 var12 = var14;
2210 RET_LABEL13:(void)0;
2211 }
2212 }
2213 {
2214 { /* Inline kernel#Int#!= (var9,var12) on <var9:Int> */
2215 var18 = var9 == var12;
2216 var19 = !var18;
2217 var16 = var19;
2218 goto RET_LABEL17;
2219 RET_LABEL17:(void)0;
2220 }
2221 var15 = var16;
2222 }
2223 if (var15){
2224 {
2225 { /* Inline location#Location#line_start (self) on <self:Location> */
2226 var22 = self->attrs[COLOR_location__Location___line_start].l; /* _line_start on <self:Location> */
2227 var20 = var22;
2228 RET_LABEL21:(void)0;
2229 }
2230 }
2231 {
2232 { /* Inline location#Location#line_start (var_other) on <var_other:Location> */
2233 var25 = var_other->attrs[COLOR_location__Location___line_start].l; /* _line_start on <var_other:Location> */
2234 var23 = var25;
2235 RET_LABEL24:(void)0;
2236 }
2237 }
2238 {
2239 { /* Inline kernel#Int#< (var20,var23) on <var20:Int> */
2240 /* Covariant cast for argument 0 (i) <var23:Int> isa OTHER */
2241 /* <var23:Int> isa OTHER */
2242 var28 = 1; /* easy <var23:Int> isa OTHER*/
2243 if (unlikely(!var28)) {
2244 var_class_name31 = type_kernel__Int.name;
2245 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name31);
2246 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
2247 show_backtrace(1);
2248 }
2249 var32 = var20 < var23;
2250 var26 = var32;
2251 goto RET_LABEL27;
2252 RET_LABEL27:(void)0;
2253 }
2254 }
2255 var = var26;
2256 goto RET_LABEL;
2257 } else {
2258 }
2259 {
2260 { /* Inline location#Location#column_start (self) on <self:Location> */
2261 var35 = self->attrs[COLOR_location__Location___column_start].l; /* _column_start on <self:Location> */
2262 var33 = var35;
2263 RET_LABEL34:(void)0;
2264 }
2265 }
2266 {
2267 { /* Inline location#Location#column_start (var_other) on <var_other:Location> */
2268 var38 = var_other->attrs[COLOR_location__Location___column_start].l; /* _column_start on <var_other:Location> */
2269 var36 = var38;
2270 RET_LABEL37:(void)0;
2271 }
2272 }
2273 {
2274 { /* Inline kernel#Int#!= (var33,var36) on <var33:Int> */
2275 var42 = var33 == var36;
2276 var43 = !var42;
2277 var40 = var43;
2278 goto RET_LABEL41;
2279 RET_LABEL41:(void)0;
2280 }
2281 var39 = var40;
2282 }
2283 if (var39){
2284 {
2285 { /* Inline location#Location#column_start (self) on <self:Location> */
2286 var46 = self->attrs[COLOR_location__Location___column_start].l; /* _column_start on <self:Location> */
2287 var44 = var46;
2288 RET_LABEL45:(void)0;
2289 }
2290 }
2291 {
2292 { /* Inline location#Location#column_start (var_other) on <var_other:Location> */
2293 var49 = var_other->attrs[COLOR_location__Location___column_start].l; /* _column_start on <var_other:Location> */
2294 var47 = var49;
2295 RET_LABEL48:(void)0;
2296 }
2297 }
2298 {
2299 { /* Inline kernel#Int#< (var44,var47) on <var44:Int> */
2300 /* Covariant cast for argument 0 (i) <var47:Int> isa OTHER */
2301 /* <var47:Int> isa OTHER */
2302 var52 = 1; /* easy <var47:Int> isa OTHER*/
2303 if (unlikely(!var52)) {
2304 var_class_name55 = type_kernel__Int.name;
2305 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name55);
2306 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
2307 show_backtrace(1);
2308 }
2309 var56 = var44 < var47;
2310 var50 = var56;
2311 goto RET_LABEL51;
2312 RET_LABEL51:(void)0;
2313 }
2314 }
2315 var = var50;
2316 goto RET_LABEL;
2317 } else {
2318 }
2319 {
2320 { /* Inline location#Location#line_end (self) on <self:Location> */
2321 var59 = self->attrs[COLOR_location__Location___line_end].l; /* _line_end on <self:Location> */
2322 var57 = var59;
2323 RET_LABEL58:(void)0;
2324 }
2325 }
2326 {
2327 { /* Inline location#Location#line_end (var_other) on <var_other:Location> */
2328 var62 = var_other->attrs[COLOR_location__Location___line_end].l; /* _line_end on <var_other:Location> */
2329 var60 = var62;
2330 RET_LABEL61:(void)0;
2331 }
2332 }
2333 {
2334 { /* Inline kernel#Int#!= (var57,var60) on <var57:Int> */
2335 var66 = var57 == var60;
2336 var67 = !var66;
2337 var64 = var67;
2338 goto RET_LABEL65;
2339 RET_LABEL65:(void)0;
2340 }
2341 var63 = var64;
2342 }
2343 if (var63){
2344 {
2345 { /* Inline location#Location#line_end (self) on <self:Location> */
2346 var70 = self->attrs[COLOR_location__Location___line_end].l; /* _line_end on <self:Location> */
2347 var68 = var70;
2348 RET_LABEL69:(void)0;
2349 }
2350 }
2351 {
2352 { /* Inline location#Location#line_end (var_other) on <var_other:Location> */
2353 var73 = var_other->attrs[COLOR_location__Location___line_end].l; /* _line_end on <var_other:Location> */
2354 var71 = var73;
2355 RET_LABEL72:(void)0;
2356 }
2357 }
2358 {
2359 { /* Inline kernel#Int#< (var68,var71) on <var68:Int> */
2360 /* Covariant cast for argument 0 (i) <var71:Int> isa OTHER */
2361 /* <var71:Int> isa OTHER */
2362 var76 = 1; /* easy <var71:Int> isa OTHER*/
2363 if (unlikely(!var76)) {
2364 var_class_name79 = type_kernel__Int.name;
2365 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name79);
2366 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
2367 show_backtrace(1);
2368 }
2369 var80 = var68 < var71;
2370 var74 = var80;
2371 goto RET_LABEL75;
2372 RET_LABEL75:(void)0;
2373 }
2374 }
2375 var = var74;
2376 goto RET_LABEL;
2377 } else {
2378 }
2379 {
2380 { /* Inline location#Location#column_end (self) on <self:Location> */
2381 var83 = self->attrs[COLOR_location__Location___column_end].l; /* _column_end on <self:Location> */
2382 var81 = var83;
2383 RET_LABEL82:(void)0;
2384 }
2385 }
2386 {
2387 { /* Inline location#Location#column_end (var_other) on <var_other:Location> */
2388 var86 = var_other->attrs[COLOR_location__Location___column_end].l; /* _column_end on <var_other:Location> */
2389 var84 = var86;
2390 RET_LABEL85:(void)0;
2391 }
2392 }
2393 {
2394 { /* Inline kernel#Int#< (var81,var84) on <var81:Int> */
2395 /* Covariant cast for argument 0 (i) <var84:Int> isa OTHER */
2396 /* <var84:Int> isa OTHER */
2397 var89 = 1; /* easy <var84:Int> isa OTHER*/
2398 if (unlikely(!var89)) {
2399 var_class_name92 = type_kernel__Int.name;
2400 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name92);
2401 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
2402 show_backtrace(1);
2403 }
2404 var93 = var81 < var84;
2405 var87 = var93;
2406 goto RET_LABEL88;
2407 RET_LABEL88:(void)0;
2408 }
2409 }
2410 var = var87;
2411 goto RET_LABEL;
2412 RET_LABEL:;
2413 return var;
2414 }
2415 /* method location#Location#< for (self: Object, Comparable): Bool */
2416 short int VIRTUAL_location__Location___60d(val* self, val* p0) {
2417 short int var /* : Bool */;
2418 short int var1 /* : Bool */;
2419 var1 = location__Location___60d(self, p0);
2420 var = var1;
2421 RET_LABEL:;
2422 return var;
2423 }
2424 /* method location#Location#colored_line for (self: Location, String): String */
2425 val* location__Location__colored_line(val* self, val* p0) {
2426 val* var /* : String */;
2427 val* var_color /* var color: String */;
2428 long var1 /* : Int */;
2429 char var2 /* : Char */;
2430 char var4 /* : Char */;
2431 char var_esc /* var esc: Char */;
2432 static val* varonce;
2433 val* var5 /* : String */;
2434 char* var6 /* : NativeString */;
2435 long var7 /* : Int */;
2436 val* var8 /* : FlatString */;
2437 val* var9 /* : Array[Object] */;
2438 long var10 /* : Int */;
2439 val* var11 /* : NativeArray[Object] */;
2440 val* var12 /* : Object */;
2441 val* var13 /* : String */;
2442 val* var_def /* var def: String */;
2443 static val* varonce14;
2444 val* var15 /* : String */;
2445 char* var16 /* : NativeString */;
2446 long var17 /* : Int */;
2447 val* var18 /* : FlatString */;
2448 static val* varonce19;
2449 val* var20 /* : String */;
2450 char* var21 /* : NativeString */;
2451 long var22 /* : Int */;
2452 val* var23 /* : FlatString */;
2453 val* var24 /* : Array[Object] */;
2454 long var25 /* : Int */;
2455 val* var26 /* : NativeArray[Object] */;
2456 val* var27 /* : Object */;
2457 val* var28 /* : String */;
2458 val* var_col /* var col: String */;
2459 val* var_l /* var l: Location */;
2460 long var29 /* : Int */;
2461 long var31 /* : Int */;
2462 long var_i /* var i: Int */;
2463 val* var32 /* : nullable SourceFile */;
2464 val* var34 /* : nullable SourceFile */;
2465 val* var35 /* : Array[Int] */;
2466 val* var37 /* : Array[Int] */;
2467 long var38 /* : Int */;
2468 long var39 /* : Int */;
2469 short int var41 /* : Bool */;
2470 int cltype;
2471 int idtype;
2472 const char* var_class_name;
2473 long var42 /* : Int */;
2474 val* var43 /* : nullable Object */;
2475 long var44 /* : Int */;
2476 long var_line_start /* var line_start: Int */;
2477 long var_line_end /* var line_end: Int */;
2478 val* var45 /* : nullable SourceFile */;
2479 val* var47 /* : nullable SourceFile */;
2480 val* var48 /* : String */;
2481 val* var50 /* : String */;
2482 val* var_string /* var string: String */;
2483 short int var51 /* : Bool */;
2484 short int var52 /* : Bool */;
2485 long var53 /* : Int */;
2486 long var54 /* : Int */;
2487 short int var56 /* : Bool */;
2488 int cltype57;
2489 int idtype58;
2490 const char* var_class_name59;
2491 long var60 /* : Int */;
2492 long var61 /* : Int */;
2493 long var63 /* : Int */;
2494 short int var64 /* : Bool */;
2495 short int var66 /* : Bool */;
2496 int cltype67;
2497 int idtype68;
2498 const char* var_class_name69;
2499 short int var70 /* : Bool */;
2500 short int var_ /* var : Bool */;
2501 val* var71 /* : SequenceRead[Char] */;
2502 val* var73 /* : SequenceRead[Char] */;
2503 long var74 /* : Int */;
2504 long var75 /* : Int */;
2505 short int var77 /* : Bool */;
2506 int cltype78;
2507 int idtype79;
2508 const char* var_class_name80;
2509 long var81 /* : Int */;
2510 val* var82 /* : nullable Object */;
2511 char var83 /* : Char */;
2512 short int var84 /* : Bool */;
2513 short int var85 /* : Bool */;
2514 short int var87 /* : Bool */;
2515 char var88 /* : Char */;
2516 short int var89 /* : Bool */;
2517 short int var_90 /* var : Bool */;
2518 val* var91 /* : SequenceRead[Char] */;
2519 val* var93 /* : SequenceRead[Char] */;
2520 long var94 /* : Int */;
2521 long var95 /* : Int */;
2522 short int var97 /* : Bool */;
2523 int cltype98;
2524 int idtype99;
2525 const char* var_class_name100;
2526 long var101 /* : Int */;
2527 val* var102 /* : nullable Object */;
2528 char var103 /* : Char */;
2529 short int var104 /* : Bool */;
2530 short int var105 /* : Bool */;
2531 short int var107 /* : Bool */;
2532 char var108 /* : Char */;
2533 short int var109 /* : Bool */;
2534 long var110 /* : Int */;
2535 long var111 /* : Int */;
2536 short int var113 /* : Bool */;
2537 int cltype114;
2538 int idtype115;
2539 const char* var_class_name116;
2540 long var117 /* : Int */;
2541 long var118 /* : Int */;
2542 long var120 /* : Int */;
2543 long var121 /* : Int */;
2544 long var122 /* : Int */;
2545 short int var124 /* : Bool */;
2546 int cltype125;
2547 int idtype126;
2548 const char* var_class_name127;
2549 long var128 /* : Int */;
2550 val* var129 /* : String */;
2551 val* var_lstart /* var lstart: String */;
2552 long var130 /* : Int */;
2553 long var132 /* : Int */;
2554 short int var133 /* : Bool */;
2555 short int var134 /* : Bool */;
2556 short int var136 /* : Bool */;
2557 short int var137 /* : Bool */;
2558 long var138 /* : Int */;
2559 short int var140 /* : Bool */;
2560 int cltype141;
2561 int idtype142;
2562 const char* var_class_name143;
2563 long var144 /* : Int */;
2564 long var145 /* : Int */;
2565 long var146 /* : Int */;
2566 short int var148 /* : Bool */;
2567 int cltype149;
2568 int idtype150;
2569 const char* var_class_name151;
2570 long var152 /* : Int */;
2571 val* var153 /* : nullable Object */;
2572 val* var_cend /* var cend: nullable Object */;
2573 long var154 /* : Int */;
2574 long var156 /* : Int */;
2575 val* var157 /* : nullable Object */;
2576 long var158 /* : Int */;
2577 short int var160 /* : Bool */;
2578 int cltype161;
2579 int idtype162;
2580 const char* var_class_name163;
2581 long var164 /* : Int */;
2582 long var165 /* : Int */;
2583 long var166 /* : Int */;
2584 long var168 /* : Int */;
2585 short int var169 /* : Bool */;
2586 short int var171 /* : Bool */;
2587 int cltype172;
2588 int idtype173;
2589 const char* var_class_name174;
2590 short int var175 /* : Bool */;
2591 long var176 /* : Int */;
2592 long var178 /* : Int */;
2593 long var179 /* : Int */;
2594 short int var181 /* : Bool */;
2595 int cltype182;
2596 int idtype183;
2597 const char* var_class_name184;
2598 long var185 /* : Int */;
2599 long var186 /* : Int */;
2600 long var187 /* : Int */;
2601 short int var189 /* : Bool */;
2602 int cltype190;
2603 int idtype191;
2604 const char* var_class_name192;
2605 long var193 /* : Int */;
2606 long var194 /* : Int */;
2607 long var196 /* : Int */;
2608 long var197 /* : Int */;
2609 short int var199 /* : Bool */;
2610 int cltype200;
2611 int idtype201;
2612 const char* var_class_name202;
2613 long var203 /* : Int */;
2614 long var204 /* : Int */;
2615 long var205 /* : Int */;
2616 long var206 /* : Int */;
2617 short int var208 /* : Bool */;
2618 int cltype209;
2619 int idtype210;
2620 const char* var_class_name211;
2621 long var212 /* : Int */;
2622 val* var213 /* : String */;
2623 val* var_lmid /* var lmid: nullable Object */;
2624 long var214 /* : Int */;
2625 short int var216 /* : Bool */;
2626 int cltype217;
2627 int idtype218;
2628 const char* var_class_name219;
2629 long var220 /* : Int */;
2630 long var221 /* : Int */;
2631 long var222 /* : Int */;
2632 short int var224 /* : Bool */;
2633 int cltype225;
2634 int idtype226;
2635 const char* var_class_name227;
2636 long var228 /* : Int */;
2637 long var229 /* : Int */;
2638 short int var231 /* : Bool */;
2639 int cltype232;
2640 int idtype233;
2641 const char* var_class_name234;
2642 long var235 /* : Int */;
2643 long var236 /* : Int */;
2644 long var237 /* : Int */;
2645 long var238 /* : Int */;
2646 short int var240 /* : Bool */;
2647 int cltype241;
2648 int idtype242;
2649 const char* var_class_name243;
2650 long var244 /* : Int */;
2651 val* var245 /* : String */;
2652 val* var_lend /* var lend: nullable Object */;
2653 static val* varonce246;
2654 val* var247 /* : String */;
2655 char* var248 /* : NativeString */;
2656 long var249 /* : Int */;
2657 val* var250 /* : FlatString */;
2658 static val* varonce251;
2659 val* var252 /* : String */;
2660 char* var253 /* : NativeString */;
2661 long var254 /* : Int */;
2662 val* var255 /* : FlatString */;
2663 val* var256 /* : FlatBuffer */;
2664 val* var_indent /* var indent: FlatBuffer */;
2665 val* var257 /* : Range[Int] */;
2666 long var258 /* : Int */;
2667 long var260 /* : Int */;
2668 long var261 /* : Int */;
2669 short int var263 /* : Bool */;
2670 int cltype264;
2671 int idtype265;
2672 const char* var_class_name266;
2673 long var267 /* : Int */;
2674 long var268 /* : Int */;
2675 long var269 /* : Int */;
2676 short int var271 /* : Bool */;
2677 int cltype272;
2678 int idtype273;
2679 const char* var_class_name274;
2680 long var275 /* : Int */;
2681 val* var276 /* : Discrete */;
2682 val* var277 /* : Discrete */;
2683 val* var278 /* : Iterator[Discrete] */;
2684 short int var279 /* : Bool */;
2685 val* var280 /* : nullable Object */;
2686 long var_j /* var j: Int */;
2687 long var281 /* : Int */;
2688 val* var282 /* : SequenceRead[Char] */;
2689 val* var284 /* : SequenceRead[Char] */;
2690 val* var285 /* : nullable Object */;
2691 char var286 /* : Char */;
2692 short int var287 /* : Bool */;
2693 short int var288 /* : Bool */;
2694 short int var290 /* : Bool */;
2695 char var291 /* : Char */;
2696 char var292 /* : Char */;
2697 char var293 /* : Char */;
2698 static val* varonce295;
2699 val* var296 /* : String */;
2700 char* var297 /* : NativeString */;
2701 long var298 /* : Int */;
2702 val* var299 /* : FlatString */;
2703 static val* varonce300;
2704 val* var301 /* : String */;
2705 char* var302 /* : NativeString */;
2706 long var303 /* : Int */;
2707 val* var304 /* : FlatString */;
2708 static val* varonce305;
2709 val* var306 /* : String */;
2710 char* var307 /* : NativeString */;
2711 long var308 /* : Int */;
2712 val* var309 /* : FlatString */;
2713 val* var310 /* : Array[Object] */;
2714 long var311 /* : Int */;
2715 val* var312 /* : NativeArray[Object] */;
2716 val* var313 /* : String */;
2717 var_color = p0;
2718 var1 = 27;
2719 {
2720 { /* Inline kernel#Int#ascii (var1) on <var1:Int> */
2721 var4 = var1;
2722 var2 = var4;
2723 goto RET_LABEL3;
2724 RET_LABEL3:(void)0;
2725 }
2726 }
2727 var_esc = var2;
2728 if (varonce) {
2729 var5 = varonce;
2730 } else {
2731 var6 = "[0m";
2732 var7 = 3;
2733 var8 = string__NativeString__to_s_with_length(var6, var7);
2734 var5 = var8;
2735 varonce = var5;
2736 }
2737 var9 = NEW_array__Array(&type_array__Arraykernel__Object);
2738 { /* var9 = array_instance Array[Object] */
2739 var10 = 2;
2740 var11 = NEW_array__NativeArray(var10, &type_array__NativeArraykernel__Object);
2741 var12 = BOX_kernel__Char(var_esc); /* autobox from Char to Object */
2742 ((struct instance_array__NativeArray*)var11)->values[0] = (val*) var12;
2743 ((struct instance_array__NativeArray*)var11)->values[1] = (val*) var5;
2744 {
2745 ((void (*)(val*, val*, long))(var9->class->vft[COLOR_array__Array__with_native]))(var9, var11, var10) /* with_native on <var9:Array[Object]>*/;
2746 }
2747 }
2748 {
2749 var13 = ((val* (*)(val*))(var9->class->vft[COLOR_string__Object__to_s]))(var9) /* to_s on <var9:Array[Object]>*/;
2750 }
2751 var_def = var13;
2752 if (varonce14) {
2753 var15 = varonce14;
2754 } else {
2755 var16 = "[";
2756 var17 = 1;
2757 var18 = string__NativeString__to_s_with_length(var16, var17);
2758 var15 = var18;
2759 varonce14 = var15;
2760 }
2761 if (varonce19) {
2762 var20 = varonce19;
2763 } else {
2764 var21 = "m";
2765 var22 = 1;
2766 var23 = string__NativeString__to_s_with_length(var21, var22);
2767 var20 = var23;
2768 varonce19 = var20;
2769 }
2770 var24 = NEW_array__Array(&type_array__Arraykernel__Object);
2771 { /* var24 = array_instance Array[Object] */
2772 var25 = 4;
2773 var26 = NEW_array__NativeArray(var25, &type_array__NativeArraykernel__Object);
2774 var27 = BOX_kernel__Char(var_esc); /* autobox from Char to Object */
2775 ((struct instance_array__NativeArray*)var26)->values[0] = (val*) var27;
2776 ((struct instance_array__NativeArray*)var26)->values[1] = (val*) var15;
2777 ((struct instance_array__NativeArray*)var26)->values[2] = (val*) var_color;
2778 ((struct instance_array__NativeArray*)var26)->values[3] = (val*) var20;
2779 {
2780 ((void (*)(val*, val*, long))(var24->class->vft[COLOR_array__Array__with_native]))(var24, var26, var25) /* with_native on <var24:Array[Object]>*/;
2781 }
2782 }
2783 {
2784 var28 = ((val* (*)(val*))(var24->class->vft[COLOR_string__Object__to_s]))(var24) /* to_s on <var24:Array[Object]>*/;
2785 }
2786 var_col = var28;
2787 var_l = self;
2788 {
2789 { /* Inline location#Location#line_start (var_l) on <var_l:Location> */
2790 var31 = var_l->attrs[COLOR_location__Location___line_start].l; /* _line_start on <var_l:Location> */
2791 var29 = var31;
2792 RET_LABEL30:(void)0;
2793 }
2794 }
2795 var_i = var29;
2796 {
2797 { /* Inline location#Location#file (var_l) on <var_l:Location> */
2798 var34 = var_l->attrs[COLOR_location__Location___file].val; /* _file on <var_l:Location> */
2799 var32 = var34;
2800 RET_LABEL33:(void)0;
2801 }
2802 }
2803 if (var32 == NULL) {
2804 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2805 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 174);
2806 show_backtrace(1);
2807 } else {
2808 { /* Inline location#SourceFile#line_starts (var32) on <var32:nullable SourceFile> */
2809 if (unlikely(var32 == NULL)) {
2810 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2811 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 44);
2812 show_backtrace(1);
2813 }
2814 var37 = var32->attrs[COLOR_location__SourceFile___line_starts].val; /* _line_starts on <var32:nullable SourceFile> */
2815 if (unlikely(var37 == NULL)) {
2816 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _line_starts");
2817 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 44);
2818 show_backtrace(1);
2819 }
2820 var35 = var37;
2821 RET_LABEL36:(void)0;
2822 }
2823 }
2824 var38 = 1;
2825 {
2826 { /* Inline kernel#Int#- (var_i,var38) on <var_i:Int> */
2827 /* Covariant cast for argument 0 (i) <var38:Int> isa OTHER */
2828 /* <var38:Int> isa OTHER */
2829 var41 = 1; /* easy <var38:Int> isa OTHER*/
2830 if (unlikely(!var41)) {
2831 var_class_name = type_kernel__Int.name;
2832 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2833 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
2834 show_backtrace(1);
2835 }
2836 var42 = var_i - var38;
2837 var39 = var42;
2838 goto RET_LABEL40;
2839 RET_LABEL40:(void)0;
2840 }
2841 }
2842 {
2843 var43 = array__Array___91d_93d(var35, var39);
2844 }
2845 var44 = ((struct instance_kernel__Int*)var43)->value; /* autounbox from nullable Object to Int */;
2846 var_line_start = var44;
2847 var_line_end = var_line_start;
2848 {
2849 { /* Inline location#Location#file (var_l) on <var_l:Location> */
2850 var47 = var_l->attrs[COLOR_location__Location___file].val; /* _file on <var_l:Location> */
2851 var45 = var47;
2852 RET_LABEL46:(void)0;
2853 }
2854 }
2855 if (var45 == NULL) {
2856 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2857 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 176);
2858 show_backtrace(1);
2859 } else {
2860 { /* Inline location#SourceFile#string (var45) on <var45:nullable SourceFile> */
2861 if (unlikely(var45 == NULL)) {
2862 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2863 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 25);
2864 show_backtrace(1);
2865 }
2866 var50 = var45->attrs[COLOR_location__SourceFile___string].val; /* _string on <var45:nullable SourceFile> */
2867 if (unlikely(var50 == NULL)) {
2868 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _string");
2869 PRINT_ERROR(" (%s:%d)\n", "src/location.nit", 25);
2870 show_backtrace(1);
2871 }
2872 var48 = var50;
2873 RET_LABEL49:(void)0;
2874 }
2875 }
2876 var_string = var48;
2877 for(;;) {
2878 var53 = 1;
2879 {
2880 { /* Inline kernel#Int#+ (var_line_end,var53) on <var_line_end:Int> */
2881 /* Covariant cast for argument 0 (i) <var53:Int> isa OTHER */
2882 /* <var53:Int> isa OTHER */
2883 var56 = 1; /* easy <var53:Int> isa OTHER*/
2884 if (unlikely(!var56)) {
2885 var_class_name59 = type_kernel__Int.name;
2886 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name59);
2887 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
2888 show_backtrace(1);
2889 }
2890 var60 = var_line_end + var53;
2891 var54 = var60;
2892 goto RET_LABEL55;
2893 RET_LABEL55:(void)0;
2894 }
2895 }
2896 {
2897 { /* Inline string#FlatText#length (var_string) on <var_string:String> */
2898 var63 = var_string->attrs[COLOR_string__FlatText___length].l; /* _length on <var_string:String> */
2899 var61 = var63;
2900 RET_LABEL62:(void)0;
2901 }
2902 }
2903 {
2904 { /* Inline kernel#Int#< (var54,var61) on <var54:Int> */
2905 /* Covariant cast for argument 0 (i) <var61:Int> isa OTHER */
2906 /* <var61:Int> isa OTHER */
2907 var66 = 1; /* easy <var61:Int> isa OTHER*/
2908 if (unlikely(!var66)) {
2909 var_class_name69 = type_kernel__Int.name;
2910 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name69);
2911 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
2912 show_backtrace(1);
2913 }
2914 var70 = var54 < var61;
2915 var64 = var70;
2916 goto RET_LABEL65;
2917 RET_LABEL65:(void)0;
2918 }
2919 }
2920 var_ = var64;
2921 if (var64){
2922 {
2923 { /* Inline string#FlatString#chars (var_string) on <var_string:String> */
2924 var73 = var_string->attrs[COLOR_string__FlatString___chars].val; /* _chars on <var_string:String> */
2925 if (unlikely(var73 == NULL)) {
2926 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
2927 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 746);
2928 show_backtrace(1);
2929 }
2930 var71 = var73;
2931 RET_LABEL72:(void)0;
2932 }
2933 }
2934 var74 = 1;
2935 {
2936 { /* Inline kernel#Int#+ (var_line_end,var74) on <var_line_end:Int> */
2937 /* Covariant cast for argument 0 (i) <var74:Int> isa OTHER */
2938 /* <var74:Int> isa OTHER */
2939 var77 = 1; /* easy <var74:Int> isa OTHER*/
2940 if (unlikely(!var77)) {
2941 var_class_name80 = type_kernel__Int.name;
2942 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name80);
2943 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
2944 show_backtrace(1);
2945 }
2946 var81 = var_line_end + var74;
2947 var75 = var81;
2948 goto RET_LABEL76;
2949 RET_LABEL76:(void)0;
2950 }
2951 }
2952 {
2953 var82 = ((val* (*)(val*, long))(var71->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var71, var75) /* [] on <var71:SequenceRead[Char]>*/;
2954 }
2955 var83 = '\n';
2956 {
2957 { /* Inline kernel#Char#!= (var82,var83) on <var82:nullable Object(Char)> */
2958 var87 = (var82 != NULL) && (var82->class == &class_kernel__Char);
2959 if (var87) {
2960 var88 = ((struct instance_kernel__Char*)var82)->value; /* autounbox from nullable Object to Char */;
2961 var87 = (var88 == var83);
2962 }
2963 var89 = !var87;
2964 var85 = var89;
2965 goto RET_LABEL86;
2966 RET_LABEL86:(void)0;
2967 }
2968 var84 = var85;
2969 }
2970 var52 = var84;
2971 } else {
2972 var52 = var_;
2973 }
2974 var_90 = var52;
2975 if (var52){
2976 {
2977 { /* Inline string#FlatString#chars (var_string) on <var_string:String> */
2978 var93 = var_string->attrs[COLOR_string__FlatString___chars].val; /* _chars on <var_string:String> */
2979 if (unlikely(var93 == NULL)) {
2980 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
2981 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 746);
2982 show_backtrace(1);
2983 }
2984 var91 = var93;
2985 RET_LABEL92:(void)0;
2986 }
2987 }
2988 var94 = 1;
2989 {
2990 { /* Inline kernel#Int#+ (var_line_end,var94) on <var_line_end:Int> */
2991 /* Covariant cast for argument 0 (i) <var94:Int> isa OTHER */
2992 /* <var94:Int> isa OTHER */
2993 var97 = 1; /* easy <var94:Int> isa OTHER*/
2994 if (unlikely(!var97)) {
2995 var_class_name100 = type_kernel__Int.name;
2996 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name100);
2997 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
2998 show_backtrace(1);
2999 }
3000 var101 = var_line_end + var94;
3001 var95 = var101;
3002 goto RET_LABEL96;
3003 RET_LABEL96:(void)0;
3004 }
3005 }
3006 {
3007 var102 = ((val* (*)(val*, long))(var91->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var91, var95) /* [] on <var91:SequenceRead[Char]>*/;
3008 }
3009 var103 = '\15';
3010 {
3011 { /* Inline kernel#Char#!= (var102,var103) on <var102:nullable Object(Char)> */
3012 var107 = (var102 != NULL) && (var102->class == &class_kernel__Char);
3013 if (var107) {
3014 var108 = ((struct instance_kernel__Char*)var102)->value; /* autounbox from nullable Object to Char */;
3015 var107 = (var108 == var103);
3016 }
3017 var109 = !var107;
3018 var105 = var109;
3019 goto RET_LABEL106;
3020 RET_LABEL106:(void)0;
3021 }
3022 var104 = var105;
3023 }
3024 var51 = var104;
3025 } else {
3026 var51 = var_90;
3027 }
3028 if (!var51) break;
3029 var110 = 1;
3030 {
3031 { /* Inline kernel#Int#+ (var_line_end,var110) on <var_line_end:Int> */
3032 /* Covariant cast for argument 0 (i) <var110:Int> isa OTHER */
3033 /* <var110:Int> isa OTHER */
3034 var113 = 1; /* easy <var110:Int> isa OTHER*/
3035 if (unlikely(!var113)) {
3036 var_class_name116 = type_kernel__Int.name;
3037 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name116);
3038 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
3039 show_backtrace(1);
3040 }
3041 var117 = var_line_end + var110;
3042 var111 = var117;
3043 goto RET_LABEL112;
3044 RET_LABEL112:(void)0;
3045 }
3046 }
3047 var_line_end = var111;
3048 CONTINUE_label: (void)0;
3049 }
3050 BREAK_label: (void)0;
3051 {
3052 { /* Inline location#Location#column_start (var_l) on <var_l:Location> */
3053 var120 = var_l->attrs[COLOR_location__Location___column_start].l; /* _column_start on <var_l:Location> */
3054 var118 = var120;
3055 RET_LABEL119:(void)0;
3056 }
3057 }
3058 var121 = 1;
3059 {
3060 { /* Inline kernel#Int#- (var118,var121) on <var118:Int> */
3061 /* Covariant cast for argument 0 (i) <var121:Int> isa OTHER */
3062 /* <var121:Int> isa OTHER */
3063 var124 = 1; /* easy <var121:Int> isa OTHER*/
3064 if (unlikely(!var124)) {
3065 var_class_name127 = type_kernel__Int.name;
3066 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name127);
3067 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
3068 show_backtrace(1);
3069 }
3070 var128 = var118 - var121;
3071 var122 = var128;
3072 goto RET_LABEL123;
3073 RET_LABEL123:(void)0;
3074 }
3075 }
3076 {
3077 var129 = string__FlatString__substring(var_string, var_line_start, var122);
3078 }
3079 var_lstart = var129;
3080 {
3081 { /* Inline location#Location#line_end (var_l) on <var_l:Location> */
3082 var132 = var_l->attrs[COLOR_location__Location___line_end].l; /* _line_end on <var_l:Location> */
3083 var130 = var132;
3084 RET_LABEL131:(void)0;
3085 }
3086 }
3087 {
3088 { /* Inline kernel#Int#!= (var_i,var130) on <var_i:Int> */
3089 var136 = var_i == var130;
3090 var137 = !var136;
3091 var134 = var137;
3092 goto RET_LABEL135;
3093 RET_LABEL135:(void)0;
3094 }
3095 var133 = var134;
3096 }
3097 if (var133){
3098 {
3099 { /* Inline kernel#Int#- (var_line_end,var_line_start) on <var_line_end:Int> */
3100 /* Covariant cast for argument 0 (i) <var_line_start:Int> isa OTHER */
3101 /* <var_line_start:Int> isa OTHER */
3102 var140 = 1; /* easy <var_line_start:Int> isa OTHER*/
3103 if (unlikely(!var140)) {
3104 var_class_name143 = type_kernel__Int.name;
3105 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name143);
3106 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
3107 show_backtrace(1);
3108 }
3109 var144 = var_line_end - var_line_start;
3110 var138 = var144;
3111 goto RET_LABEL139;
3112 RET_LABEL139:(void)0;
3113 }
3114 }
3115 var145 = 1;
3116 {
3117 { /* Inline kernel#Int#+ (var138,var145) on <var138:Int> */
3118 /* Covariant cast for argument 0 (i) <var145:Int> isa OTHER */
3119 /* <var145:Int> isa OTHER */
3120 var148 = 1; /* easy <var145:Int> isa OTHER*/
3121 if (unlikely(!var148)) {
3122 var_class_name151 = type_kernel__Int.name;
3123 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name151);
3124 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
3125 show_backtrace(1);
3126 }
3127 var152 = var138 + var145;
3128 var146 = var152;
3129 goto RET_LABEL147;
3130 RET_LABEL147:(void)0;
3131 }
3132 }
3133 var153 = BOX_kernel__Int(var146); /* autobox from Int to nullable Object */
3134 var_cend = var153;
3135 } else {
3136 {
3137 { /* Inline location#Location#column_end (var_l) on <var_l:Location> */
3138 var156 = var_l->attrs[COLOR_location__Location___column_end].l; /* _column_end on <var_l:Location> */
3139 var154 = var156;
3140 RET_LABEL155:(void)0;
3141 }
3142 }
3143 var157 = BOX_kernel__Int(var154); /* autobox from Int to nullable Object */
3144 var_cend = var157;
3145 }
3146 {
3147 { /* Inline kernel#Int#+ (var_line_start,var_cend) on <var_line_start:Int> */
3148 /* Covariant cast for argument 0 (i) <var_cend:nullable Object(Int)> isa OTHER */
3149 /* <var_cend:nullable Object(Int)> isa OTHER */
3150 var160 = 1; /* easy <var_cend:nullable Object(Int)> isa OTHER*/
3151 if (unlikely(!var160)) {
3152 var_class_name163 = var_cend == NULL ? "null" : var_cend->type->name;
3153 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name163);
3154 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
3155 show_backtrace(1);
3156 }
3157 var164 = ((struct instance_kernel__Int*)var_cend)->value; /* autounbox from nullable Object to Int */;
3158 var165 = var_line_start + var164;
3159 var158 = var165;
3160 goto RET_LABEL159;
3161 RET_LABEL159:(void)0;
3162 }
3163 }
3164 {
3165 { /* Inline string#FlatText#length (var_string) on <var_string:String> */
3166 var168 = var_string->attrs[COLOR_string__FlatText___length].l; /* _length on <var_string:String> */
3167 var166 = var168;
3168 RET_LABEL167:(void)0;
3169 }
3170 }
3171 {
3172 { /* Inline kernel#Int#<= (var158,var166) on <var158:Int> */
3173 /* Covariant cast for argument 0 (i) <var166:Int> isa OTHER */
3174 /* <var166:Int> isa OTHER */
3175 var171 = 1; /* easy <var166:Int> isa OTHER*/
3176 if (unlikely(!var171)) {
3177 var_class_name174 = type_kernel__Int.name;
3178 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name174);
3179 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 324);
3180 show_backtrace(1);
3181 }
3182 var175 = var158 <= var166;
3183 var169 = var175;
3184 goto RET_LABEL170;
3185 RET_LABEL170:(void)0;
3186 }
3187 }
3188 if (var169){
3189 {
3190 { /* Inline location#Location#column_start (var_l) on <var_l:Location> */
3191 var178 = var_l->attrs[COLOR_location__Location___column_start].l; /* _column_start on <var_l:Location> */
3192 var176 = var178;
3193 RET_LABEL177:(void)0;
3194 }
3195 }
3196 {
3197 { /* Inline kernel#Int#+ (var_line_start,var176) on <var_line_start:Int> */
3198 /* Covariant cast for argument 0 (i) <var176:Int> isa OTHER */
3199 /* <var176:Int> isa OTHER */
3200 var181 = 1; /* easy <var176:Int> isa OTHER*/
3201 if (unlikely(!var181)) {
3202 var_class_name184 = type_kernel__Int.name;
3203 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name184);
3204 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
3205 show_backtrace(1);
3206 }
3207 var185 = var_line_start + var176;
3208 var179 = var185;
3209 goto RET_LABEL180;
3210 RET_LABEL180:(void)0;
3211 }
3212 }
3213 var186 = 1;
3214 {
3215 { /* Inline kernel#Int#- (var179,var186) on <var179:Int> */
3216 /* Covariant cast for argument 0 (i) <var186:Int> isa OTHER */
3217 /* <var186:Int> isa OTHER */
3218 var189 = 1; /* easy <var186:Int> isa OTHER*/
3219 if (unlikely(!var189)) {
3220 var_class_name192 = type_kernel__Int.name;
3221 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name192);
3222 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
3223 show_backtrace(1);
3224 }
3225 var193 = var179 - var186;
3226 var187 = var193;
3227 goto RET_LABEL188;
3228 RET_LABEL188:(void)0;
3229 }
3230 }
3231 {
3232 { /* Inline location#Location#column_start (var_l) on <var_l:Location> */
3233 var196 = var_l->attrs[COLOR_location__Location___column_start].l; /* _column_start on <var_l:Location> */
3234 var194 = var196;
3235 RET_LABEL195:(void)0;
3236 }
3237 }
3238 {
3239 { /* Inline kernel#Int#- (var_cend,var194) on <var_cend:nullable Object(Int)> */
3240 /* Covariant cast for argument 0 (i) <var194:Int> isa OTHER */
3241 /* <var194:Int> isa OTHER */
3242 var199 = 1; /* easy <var194:Int> isa OTHER*/
3243 if (unlikely(!var199)) {
3244 var_class_name202 = type_kernel__Int.name;
3245 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name202);
3246 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
3247 show_backtrace(1);
3248 }
3249 var203 = ((struct instance_kernel__Int*)var_cend)->value; /* autounbox from nullable Object to Int */;
3250 var204 = var203 - var194;
3251 var197 = var204;
3252 goto RET_LABEL198;
3253 RET_LABEL198:(void)0;
3254 }
3255 }
3256 var205 = 1;
3257 {
3258 { /* Inline kernel#Int#+ (var197,var205) on <var197:Int> */
3259 /* Covariant cast for argument 0 (i) <var205:Int> isa OTHER */
3260 /* <var205:Int> isa OTHER */
3261 var208 = 1; /* easy <var205:Int> isa OTHER*/
3262 if (unlikely(!var208)) {
3263 var_class_name211 = type_kernel__Int.name;
3264 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name211);
3265 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
3266 show_backtrace(1);
3267 }
3268 var212 = var197 + var205;
3269 var206 = var212;
3270 goto RET_LABEL207;
3271 RET_LABEL207:(void)0;
3272 }
3273 }
3274 {
3275 var213 = string__FlatString__substring(var_string, var187, var206);
3276 }
3277 var_lmid = var213;
3278 {
3279 { /* Inline kernel#Int#+ (var_line_start,var_cend) on <var_line_start:Int> */
3280 /* Covariant cast for argument 0 (i) <var_cend:nullable Object(Int)> isa OTHER */
3281 /* <var_cend:nullable Object(Int)> isa OTHER */
3282 var216 = 1; /* easy <var_cend:nullable Object(Int)> isa OTHER*/
3283 if (unlikely(!var216)) {
3284 var_class_name219 = var_cend == NULL ? "null" : var_cend->type->name;
3285 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name219);
3286 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
3287 show_backtrace(1);
3288 }
3289 var220 = ((struct instance_kernel__Int*)var_cend)->value; /* autounbox from nullable Object to Int */;
3290 var221 = var_line_start + var220;
3291 var214 = var221;
3292 goto RET_LABEL215;
3293 RET_LABEL215:(void)0;
3294 }
3295 }
3296 {
3297 { /* Inline kernel#Int#- (var_line_end,var_line_start) on <var_line_end:Int> */
3298 /* Covariant cast for argument 0 (i) <var_line_start:Int> isa OTHER */
3299 /* <var_line_start:Int> isa OTHER */
3300 var224 = 1; /* easy <var_line_start:Int> isa OTHER*/
3301 if (unlikely(!var224)) {
3302 var_class_name227 = type_kernel__Int.name;
3303 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name227);
3304 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
3305 show_backtrace(1);
3306 }
3307 var228 = var_line_end - var_line_start;
3308 var222 = var228;
3309 goto RET_LABEL223;
3310 RET_LABEL223:(void)0;
3311 }
3312 }
3313 {
3314 { /* Inline kernel#Int#- (var222,var_cend) on <var222:Int> */
3315 /* Covariant cast for argument 0 (i) <var_cend:nullable Object(Int)> isa OTHER */
3316 /* <var_cend:nullable Object(Int)> isa OTHER */
3317 var231 = 1; /* easy <var_cend:nullable Object(Int)> isa OTHER*/
3318 if (unlikely(!var231)) {
3319 var_class_name234 = var_cend == NULL ? "null" : var_cend->type->name;
3320 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name234);
3321 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
3322 show_backtrace(1);
3323 }
3324 var235 = ((struct instance_kernel__Int*)var_cend)->value; /* autounbox from nullable Object to Int */;
3325 var236 = var222 - var235;
3326 var229 = var236;
3327 goto RET_LABEL230;
3328 RET_LABEL230:(void)0;
3329 }
3330 }
3331 var237 = 1;
3332 {
3333 { /* Inline kernel#Int#+ (var229,var237) on <var229:Int> */
3334 /* Covariant cast for argument 0 (i) <var237:Int> isa OTHER */
3335 /* <var237:Int> isa OTHER */
3336 var240 = 1; /* easy <var237:Int> isa OTHER*/
3337 if (unlikely(!var240)) {
3338 var_class_name243 = type_kernel__Int.name;
3339 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name243);
3340 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
3341 show_backtrace(1);
3342 }
3343 var244 = var229 + var237;
3344 var238 = var244;
3345 goto RET_LABEL239;
3346 RET_LABEL239:(void)0;
3347 }
3348 }
3349 {
3350 var245 = string__FlatString__substring(var_string, var214, var238);
3351 }
3352 var_lend = var245;
3353 } else {
3354 if (varonce246) {
3355 var247 = varonce246;
3356 } else {
3357 var248 = "";
3358 var249 = 0;
3359 var250 = string__NativeString__to_s_with_length(var248, var249);
3360 var247 = var250;
3361 varonce246 = var247;
3362 }
3363 var_lmid = var247;
3364 if (varonce251) {
3365 var252 = varonce251;
3366 } else {
3367 var253 = "";
3368 var254 = 0;
3369 var255 = string__NativeString__to_s_with_length(var253, var254);
3370 var252 = var255;
3371 varonce251 = var252;
3372 }
3373 var_lend = var252;
3374 }
3375 var256 = NEW_string__FlatBuffer(&type_string__FlatBuffer);
3376 {
3377 string__FlatBuffer__init(var256); /* Direct call string#FlatBuffer#init on <var256:FlatBuffer>*/
3378 }
3379 var_indent = var256;
3380 var257 = NEW_range__Range(&type_range__Rangekernel__Int);
3381 {
3382 { /* Inline location#Location#column_start (var_l) on <var_l:Location> */
3383 var260 = var_l->attrs[COLOR_location__Location___column_start].l; /* _column_start on <var_l:Location> */
3384 var258 = var260;
3385 RET_LABEL259:(void)0;
3386 }
3387 }
3388 {
3389 { /* Inline kernel#Int#+ (var_line_start,var258) on <var_line_start:Int> */
3390 /* Covariant cast for argument 0 (i) <var258:Int> isa OTHER */
3391 /* <var258:Int> isa OTHER */
3392 var263 = 1; /* easy <var258:Int> isa OTHER*/
3393 if (unlikely(!var263)) {
3394 var_class_name266 = type_kernel__Int.name;
3395 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name266);
3396 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
3397 show_backtrace(1);
3398 }
3399 var267 = var_line_start + var258;
3400 var261 = var267;
3401 goto RET_LABEL262;
3402 RET_LABEL262:(void)0;
3403 }
3404 }
3405 var268 = 1;
3406 {
3407 { /* Inline kernel#Int#- (var261,var268) on <var261:Int> */
3408 /* Covariant cast for argument 0 (i) <var268:Int> isa OTHER */
3409 /* <var268:Int> isa OTHER */
3410 var271 = 1; /* easy <var268:Int> isa OTHER*/
3411 if (unlikely(!var271)) {
3412 var_class_name274 = type_kernel__Int.name;
3413 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name274);
3414 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
3415 show_backtrace(1);
3416 }
3417 var275 = var261 - var268;
3418 var269 = var275;
3419 goto RET_LABEL270;
3420 RET_LABEL270:(void)0;
3421 }
3422 }
3423 {
3424 var276 = BOX_kernel__Int(var_line_start); /* autobox from Int to Discrete */
3425 var277 = BOX_kernel__Int(var269); /* autobox from Int to Discrete */
3426 range__Range__without_last(var257, var276, var277); /* Direct call range#Range#without_last on <var257:Range[Int]>*/
3427 }
3428 {
3429 var278 = range__Range__iterator(var257);
3430 }
3431 for(;;) {
3432 {
3433 var279 = ((short int (*)(val*))(var278->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var278) /* is_ok on <var278:Iterator[Discrete]>*/;
3434 }
3435 if(!var279) break;
3436 {
3437 var280 = ((val* (*)(val*))(var278->class->vft[COLOR_abstract_collection__Iterator__item]))(var278) /* item on <var278:Iterator[Discrete]>*/;
3438 }
3439 var281 = ((struct instance_kernel__Int*)var280)->value; /* autounbox from nullable Object to Int */;
3440 var_j = var281;
3441 {
3442 { /* Inline string#FlatString#chars (var_string) on <var_string:String> */
3443 var284 = var_string->attrs[COLOR_string__FlatString___chars].val; /* _chars on <var_string:String> */
3444 if (unlikely(var284 == NULL)) {
3445 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
3446 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 746);
3447 show_backtrace(1);
3448 }
3449 var282 = var284;
3450 RET_LABEL283:(void)0;
3451 }
3452 }
3453 {
3454 var285 = ((val* (*)(val*, long))(var282->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var282, var_j) /* [] on <var282:SequenceRead[Char]>*/;
3455 }
3456 var286 = '\11';
3457 {
3458 { /* Inline kernel#Char#== (var285,var286) on <var285:nullable Object(Char)> */
3459 var290 = (var285 != NULL) && (var285->class == &class_kernel__Char);
3460 if (var290) {
3461 var291 = ((struct instance_kernel__Char*)var285)->value; /* autounbox from nullable Object to Char */;
3462 var290 = (var291 == var286);
3463 }
3464 var288 = var290;
3465 goto RET_LABEL289;
3466 RET_LABEL289:(void)0;
3467 }
3468 var287 = var288;
3469 }
3470 if (var287){
3471 var292 = '\11';
3472 {
3473 string__FlatBuffer__add(var_indent, var292); /* Direct call string#FlatBuffer#add on <var_indent:FlatBuffer>*/
3474 }
3475 } else {
3476 var293 = ' ';
3477 {
3478 string__FlatBuffer__add(var_indent, var293); /* Direct call string#FlatBuffer#add on <var_indent:FlatBuffer>*/
3479 }
3480 }
3481 CONTINUE_label294: (void)0;
3482 {
3483 ((void (*)(val*))(var278->class->vft[COLOR_abstract_collection__Iterator__next]))(var278) /* next on <var278:Iterator[Discrete]>*/;
3484 }
3485 }
3486 BREAK_label294: (void)0;
3487 if (varonce295) {
3488 var296 = varonce295;
3489 } else {
3490 var297 = "\11";
3491 var298 = 1;
3492 var299 = string__NativeString__to_s_with_length(var297, var298);
3493 var296 = var299;
3494 varonce295 = var296;
3495 }
3496 if (varonce300) {
3497 var301 = varonce300;
3498 } else {
3499 var302 = "\n\11";
3500 var303 = 2;
3501 var304 = string__NativeString__to_s_with_length(var302, var303);
3502 var301 = var304;
3503 varonce300 = var301;
3504 }
3505 if (varonce305) {
3506 var306 = varonce305;
3507 } else {
3508 var307 = "^";
3509 var308 = 1;
3510 var309 = string__NativeString__to_s_with_length(var307, var308);
3511 var306 = var309;
3512 varonce305 = var306;
3513 }
3514 var310 = NEW_array__Array(&type_array__Arraykernel__Object);
3515 { /* var310 = array_instance Array[Object] */
3516 var311 = 9;
3517 var312 = NEW_array__NativeArray(var311, &type_array__NativeArraykernel__Object);
3518 ((struct instance_array__NativeArray*)var312)->values[0] = (val*) var296;
3519 ((struct instance_array__NativeArray*)var312)->values[1] = (val*) var_lstart;
3520 ((struct instance_array__NativeArray*)var312)->values[2] = (val*) var_col;
3521 ((struct instance_array__NativeArray*)var312)->values[3] = (val*) var_lmid;
3522 ((struct instance_array__NativeArray*)var312)->values[4] = (val*) var_def;
3523 ((struct instance_array__NativeArray*)var312)->values[5] = (val*) var_lend;
3524 ((struct instance_array__NativeArray*)var312)->values[6] = (val*) var301;
3525 ((struct instance_array__NativeArray*)var312)->values[7] = (val*) var_indent;
3526 ((struct instance_array__NativeArray*)var312)->values[8] = (val*) var306;
3527 {
3528 ((void (*)(val*, val*, long))(var310->class->vft[COLOR_array__Array__with_native]))(var310, var312, var311) /* with_native on <var310:Array[Object]>*/;
3529 }
3530 }
3531 {
3532 var313 = ((val* (*)(val*))(var310->class->vft[COLOR_string__Object__to_s]))(var310) /* to_s on <var310:Array[Object]>*/;
3533 }
3534 var = var313;
3535 goto RET_LABEL;
3536 RET_LABEL:;
3537 return var;
3538 }
3539 /* method location#Location#colored_line for (self: Object, String): String */
3540 val* VIRTUAL_location__Location__colored_line(val* self, val* p0) {
3541 val* var /* : String */;
3542 val* var1 /* : String */;
3543 var1 = location__Location__colored_line(self, p0);
3544 var = var1;
3545 RET_LABEL:;
3546 return var;
3547 }