misc/vim: inform the user when no results are found
[nit.git] / c_src / nit__location.sep.1.c
1 #include "nit__location.sep.0.h"
2 /* method location#SourceFile#filename for (self: SourceFile): String */
3 val* nit___nit__SourceFile___filename(val* self) {
4 val* var /* : String */;
5 val* var1 /* : String */;
6 var1 = self->attrs[COLOR_nit__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", FILE_nit__location, 22);
10 show_backtrace(1);
11 }
12 var = var1;
13 RET_LABEL:;
14 return var;
15 }
16 /* method location#SourceFile#filename= for (self: SourceFile, String) */
17 void nit___nit__SourceFile___filename_61d(val* self, val* p0) {
18 self->attrs[COLOR_nit__location__SourceFile___filename].val = p0; /* _filename on <self:SourceFile> */
19 RET_LABEL:;
20 }
21 /* method location#SourceFile#string for (self: SourceFile): String */
22 val* nit___nit__SourceFile___string(val* self) {
23 val* var /* : String */;
24 val* var1 /* : String */;
25 var1 = self->attrs[COLOR_nit__location__SourceFile___string].val; /* _string on <self:SourceFile> */
26 if (unlikely(var1 == NULL)) {
27 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _string");
28 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 25);
29 show_backtrace(1);
30 }
31 var = var1;
32 RET_LABEL:;
33 return var;
34 }
35 /* method location#SourceFile#string= for (self: SourceFile, String) */
36 void nit___nit__SourceFile___string_61d(val* self, val* p0) {
37 self->attrs[COLOR_nit__location__SourceFile___string].val = p0; /* _string on <self:SourceFile> */
38 RET_LABEL:;
39 }
40 /* method location#SourceFile#stream for (self: SourceFile): IStream */
41 val* nit___nit__SourceFile___stream(val* self) {
42 val* var /* : IStream */;
43 val* var1 /* : IStream */;
44 var1 = self->attrs[COLOR_nit__location__SourceFile___stream].val; /* _stream on <self:SourceFile> */
45 if (unlikely(var1 == NULL)) {
46 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stream");
47 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 28);
48 show_backtrace(1);
49 }
50 var = var1;
51 RET_LABEL:;
52 return var;
53 }
54 /* method location#SourceFile#stream= for (self: SourceFile, IStream) */
55 void nit___nit__SourceFile___stream_61d(val* self, val* p0) {
56 self->attrs[COLOR_nit__location__SourceFile___stream].val = p0; /* _stream on <self:SourceFile> */
57 RET_LABEL:;
58 }
59 /* method location#SourceFile#init for (self: SourceFile) */
60 void nit___nit__SourceFile___standard__kernel__Object__init(val* self) {
61 val* var /* : IStream */;
62 val* var2 /* : IStream */;
63 val* var3 /* : String */;
64 val* var5 /* : Array[Int] */;
65 val* var7 /* : Array[Int] */;
66 long var8 /* : Int */;
67 long var9 /* : Int */;
68 val* var10 /* : nullable Object */;
69 {
70 { /* Inline location#SourceFile#stream (self) on <self:SourceFile> */
71 var2 = self->attrs[COLOR_nit__location__SourceFile___stream].val; /* _stream on <self:SourceFile> */
72 if (unlikely(var2 == NULL)) {
73 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _stream");
74 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 28);
75 show_backtrace(1);
76 }
77 var = var2;
78 RET_LABEL1:(void)0;
79 }
80 }
81 {
82 var3 = standard___standard__BufferedIStream___IStream__read_all(var);
83 }
84 {
85 { /* Inline location#SourceFile#string= (self,var3) on <self:SourceFile> */
86 self->attrs[COLOR_nit__location__SourceFile___string].val = var3; /* _string on <self:SourceFile> */
87 RET_LABEL4:(void)0;
88 }
89 }
90 {
91 { /* Inline location#SourceFile#line_starts (self) on <self:SourceFile> */
92 var7 = self->attrs[COLOR_nit__location__SourceFile___line_starts].val; /* _line_starts on <self:SourceFile> */
93 if (unlikely(var7 == NULL)) {
94 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _line_starts");
95 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 45);
96 show_backtrace(1);
97 }
98 var5 = var7;
99 RET_LABEL6:(void)0;
100 }
101 }
102 var8 = 0;
103 var9 = 0;
104 {
105 var10 = BOX_standard__Int(var9); /* autobox from Int to nullable Object */
106 standard___standard__Array___standard__abstract_collection__Sequence___91d_93d_61d(var5, var8, var10); /* Direct call array#Array#[]= on <var5:Array[Int]>*/
107 }
108 RET_LABEL:;
109 }
110 /* method location#SourceFile#line_starts for (self: SourceFile): Array[Int] */
111 val* nit___nit__SourceFile___line_starts(val* self) {
112 val* var /* : Array[Int] */;
113 val* var1 /* : Array[Int] */;
114 var1 = self->attrs[COLOR_nit__location__SourceFile___line_starts].val; /* _line_starts on <self:SourceFile> */
115 if (unlikely(var1 == NULL)) {
116 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _line_starts");
117 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 45);
118 show_backtrace(1);
119 }
120 var = var1;
121 RET_LABEL:;
122 return var;
123 }
124 /* method location#Location#file for (self: Location): nullable SourceFile */
125 val* nit___nit__Location___file(val* self) {
126 val* var /* : nullable SourceFile */;
127 val* var1 /* : nullable SourceFile */;
128 var1 = self->attrs[COLOR_nit__location__Location___file].val; /* _file on <self:Location> */
129 var = var1;
130 RET_LABEL:;
131 return var;
132 }
133 /* method location#Location#file= for (self: Location, nullable SourceFile) */
134 void nit___nit__Location___file_61d(val* self, val* p0) {
135 self->attrs[COLOR_nit__location__Location___file].val = p0; /* _file on <self:Location> */
136 RET_LABEL:;
137 }
138 /* method location#Location#line_start for (self: Location): Int */
139 long nit___nit__Location___line_start(val* self) {
140 long var /* : Int */;
141 long var1 /* : Int */;
142 var1 = self->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on <self:Location> */
143 var = var1;
144 RET_LABEL:;
145 return var;
146 }
147 /* method location#Location#line_start= for (self: Location, Int) */
148 void nit___nit__Location___line_start_61d(val* self, long p0) {
149 self->attrs[COLOR_nit__location__Location___line_start].l = p0; /* _line_start on <self:Location> */
150 RET_LABEL:;
151 }
152 /* method location#Location#line_end for (self: Location): Int */
153 long nit___nit__Location___line_end(val* self) {
154 long var /* : Int */;
155 long var1 /* : Int */;
156 var1 = self->attrs[COLOR_nit__location__Location___line_end].l; /* _line_end on <self:Location> */
157 var = var1;
158 RET_LABEL:;
159 return var;
160 }
161 /* method location#Location#line_end= for (self: Location, Int) */
162 void nit___nit__Location___line_end_61d(val* self, long p0) {
163 self->attrs[COLOR_nit__location__Location___line_end].l = p0; /* _line_end on <self:Location> */
164 RET_LABEL:;
165 }
166 /* method location#Location#column_start for (self: Location): Int */
167 long nit___nit__Location___column_start(val* self) {
168 long var /* : Int */;
169 long var1 /* : Int */;
170 var1 = self->attrs[COLOR_nit__location__Location___column_start].l; /* _column_start on <self:Location> */
171 var = var1;
172 RET_LABEL:;
173 return var;
174 }
175 /* method location#Location#column_start= for (self: Location, Int) */
176 void nit___nit__Location___column_start_61d(val* self, long p0) {
177 self->attrs[COLOR_nit__location__Location___column_start].l = p0; /* _column_start on <self:Location> */
178 RET_LABEL:;
179 }
180 /* method location#Location#column_end for (self: Location): Int */
181 long nit___nit__Location___column_end(val* self) {
182 long var /* : Int */;
183 long var1 /* : Int */;
184 var1 = self->attrs[COLOR_nit__location__Location___column_end].l; /* _column_end on <self:Location> */
185 var = var1;
186 RET_LABEL:;
187 return var;
188 }
189 /* method location#Location#column_end= for (self: Location, Int) */
190 void nit___nit__Location___column_end_61d(val* self, long p0) {
191 self->attrs[COLOR_nit__location__Location___column_end].l = p0; /* _column_end on <self:Location> */
192 RET_LABEL:;
193 }
194 /* method location#Location#pstart for (self: Location): Int */
195 long nit___nit__Location___pstart(val* self) {
196 long var /* : Int */;
197 val* var1 /* : nullable SourceFile */;
198 val* var3 /* : nullable SourceFile */;
199 val* var4 /* : Array[Int] */;
200 val* var6 /* : Array[Int] */;
201 long var7 /* : Int */;
202 long var9 /* : Int */;
203 long var10 /* : Int */;
204 long var11 /* : Int */;
205 short int var13 /* : Bool */;
206 int cltype;
207 int idtype;
208 const char* var_class_name;
209 long var14 /* : Int */;
210 val* var15 /* : nullable Object */;
211 long var16 /* : Int */;
212 long var18 /* : Int */;
213 long var19 /* : Int */;
214 short int var21 /* : Bool */;
215 int cltype22;
216 int idtype23;
217 const char* var_class_name24;
218 long var25 /* : Int */;
219 long var26 /* : Int */;
220 long var27 /* : Int */;
221 long var28 /* : Int */;
222 short int var30 /* : Bool */;
223 int cltype31;
224 int idtype32;
225 const char* var_class_name33;
226 long var34 /* : Int */;
227 {
228 { /* Inline location#Location#file (self) on <self:Location> */
229 var3 = self->attrs[COLOR_nit__location__Location___file].val; /* _file on <self:Location> */
230 var1 = var3;
231 RET_LABEL2:(void)0;
232 }
233 }
234 if (var1 == NULL) {
235 PRINT_ERROR("Runtime error: %s", "Receiver is null");
236 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 76);
237 show_backtrace(1);
238 } else {
239 { /* Inline location#SourceFile#line_starts (var1) on <var1:nullable SourceFile> */
240 if (unlikely(var1 == NULL)) {
241 PRINT_ERROR("Runtime error: %s", "Receiver is null");
242 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 45);
243 show_backtrace(1);
244 }
245 var6 = var1->attrs[COLOR_nit__location__SourceFile___line_starts].val; /* _line_starts on <var1:nullable SourceFile> */
246 if (unlikely(var6 == NULL)) {
247 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _line_starts");
248 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 45);
249 show_backtrace(1);
250 }
251 var4 = var6;
252 RET_LABEL5:(void)0;
253 }
254 }
255 {
256 { /* Inline location#Location#line_start (self) on <self:Location> */
257 var9 = self->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on <self:Location> */
258 var7 = var9;
259 RET_LABEL8:(void)0;
260 }
261 }
262 var10 = 1;
263 {
264 { /* Inline kernel#Int#- (var7,var10) on <var7:Int> */
265 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
266 /* <var10:Int> isa OTHER */
267 var13 = 1; /* easy <var10:Int> isa OTHER*/
268 if (unlikely(!var13)) {
269 var_class_name = type_standard__Int.name;
270 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
271 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
272 show_backtrace(1);
273 }
274 var14 = var7 - var10;
275 var11 = var14;
276 goto RET_LABEL12;
277 RET_LABEL12:(void)0;
278 }
279 }
280 {
281 var15 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var4, var11);
282 }
283 {
284 { /* Inline location#Location#column_start (self) on <self:Location> */
285 var18 = self->attrs[COLOR_nit__location__Location___column_start].l; /* _column_start on <self:Location> */
286 var16 = var18;
287 RET_LABEL17:(void)0;
288 }
289 }
290 {
291 { /* Inline kernel#Int#+ (var15,var16) on <var15:nullable Object(Int)> */
292 /* Covariant cast for argument 0 (i) <var16:Int> isa OTHER */
293 /* <var16:Int> isa OTHER */
294 var21 = 1; /* easy <var16:Int> isa OTHER*/
295 if (unlikely(!var21)) {
296 var_class_name24 = type_standard__Int.name;
297 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24);
298 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
299 show_backtrace(1);
300 }
301 var25 = ((struct instance_standard__Int*)var15)->value; /* autounbox from nullable Object to Int */;
302 var26 = var25 + var16;
303 var19 = var26;
304 goto RET_LABEL20;
305 RET_LABEL20:(void)0;
306 }
307 }
308 var27 = 1;
309 {
310 { /* Inline kernel#Int#- (var19,var27) on <var19:Int> */
311 /* Covariant cast for argument 0 (i) <var27:Int> isa OTHER */
312 /* <var27:Int> isa OTHER */
313 var30 = 1; /* easy <var27:Int> isa OTHER*/
314 if (unlikely(!var30)) {
315 var_class_name33 = type_standard__Int.name;
316 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33);
317 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
318 show_backtrace(1);
319 }
320 var34 = var19 - var27;
321 var28 = var34;
322 goto RET_LABEL29;
323 RET_LABEL29:(void)0;
324 }
325 }
326 var = var28;
327 goto RET_LABEL;
328 RET_LABEL:;
329 return var;
330 }
331 /* method location#Location#pend for (self: Location): Int */
332 long nit___nit__Location___pend(val* self) {
333 long var /* : Int */;
334 val* var1 /* : nullable SourceFile */;
335 val* var3 /* : nullable SourceFile */;
336 val* var4 /* : Array[Int] */;
337 val* var6 /* : Array[Int] */;
338 long var7 /* : Int */;
339 long var9 /* : Int */;
340 long var10 /* : Int */;
341 long var11 /* : Int */;
342 short int var13 /* : Bool */;
343 int cltype;
344 int idtype;
345 const char* var_class_name;
346 long var14 /* : Int */;
347 val* var15 /* : nullable Object */;
348 long var16 /* : Int */;
349 long var18 /* : Int */;
350 long var19 /* : Int */;
351 short int var21 /* : Bool */;
352 int cltype22;
353 int idtype23;
354 const char* var_class_name24;
355 long var25 /* : Int */;
356 long var26 /* : Int */;
357 long var27 /* : Int */;
358 long var28 /* : Int */;
359 short int var30 /* : Bool */;
360 int cltype31;
361 int idtype32;
362 const char* var_class_name33;
363 long var34 /* : Int */;
364 {
365 { /* Inline location#Location#file (self) on <self:Location> */
366 var3 = self->attrs[COLOR_nit__location__Location___file].val; /* _file on <self:Location> */
367 var1 = var3;
368 RET_LABEL2:(void)0;
369 }
370 }
371 if (var1 == NULL) {
372 PRINT_ERROR("Runtime error: %s", "Receiver is null");
373 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 79);
374 show_backtrace(1);
375 } else {
376 { /* Inline location#SourceFile#line_starts (var1) on <var1:nullable SourceFile> */
377 if (unlikely(var1 == NULL)) {
378 PRINT_ERROR("Runtime error: %s", "Receiver is null");
379 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 45);
380 show_backtrace(1);
381 }
382 var6 = var1->attrs[COLOR_nit__location__SourceFile___line_starts].val; /* _line_starts on <var1:nullable SourceFile> */
383 if (unlikely(var6 == NULL)) {
384 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _line_starts");
385 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 45);
386 show_backtrace(1);
387 }
388 var4 = var6;
389 RET_LABEL5:(void)0;
390 }
391 }
392 {
393 { /* Inline location#Location#line_end (self) on <self:Location> */
394 var9 = self->attrs[COLOR_nit__location__Location___line_end].l; /* _line_end on <self:Location> */
395 var7 = var9;
396 RET_LABEL8:(void)0;
397 }
398 }
399 var10 = 1;
400 {
401 { /* Inline kernel#Int#- (var7,var10) on <var7:Int> */
402 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
403 /* <var10:Int> isa OTHER */
404 var13 = 1; /* easy <var10:Int> isa OTHER*/
405 if (unlikely(!var13)) {
406 var_class_name = type_standard__Int.name;
407 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
408 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
409 show_backtrace(1);
410 }
411 var14 = var7 - var10;
412 var11 = var14;
413 goto RET_LABEL12;
414 RET_LABEL12:(void)0;
415 }
416 }
417 {
418 var15 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var4, var11);
419 }
420 {
421 { /* Inline location#Location#column_end (self) on <self:Location> */
422 var18 = self->attrs[COLOR_nit__location__Location___column_end].l; /* _column_end on <self:Location> */
423 var16 = var18;
424 RET_LABEL17:(void)0;
425 }
426 }
427 {
428 { /* Inline kernel#Int#+ (var15,var16) on <var15:nullable Object(Int)> */
429 /* Covariant cast for argument 0 (i) <var16:Int> isa OTHER */
430 /* <var16:Int> isa OTHER */
431 var21 = 1; /* easy <var16:Int> isa OTHER*/
432 if (unlikely(!var21)) {
433 var_class_name24 = type_standard__Int.name;
434 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name24);
435 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
436 show_backtrace(1);
437 }
438 var25 = ((struct instance_standard__Int*)var15)->value; /* autounbox from nullable Object to Int */;
439 var26 = var25 + var16;
440 var19 = var26;
441 goto RET_LABEL20;
442 RET_LABEL20:(void)0;
443 }
444 }
445 var27 = 1;
446 {
447 { /* Inline kernel#Int#- (var19,var27) on <var19:Int> */
448 /* Covariant cast for argument 0 (i) <var27:Int> isa OTHER */
449 /* <var27:Int> isa OTHER */
450 var30 = 1; /* easy <var27:Int> isa OTHER*/
451 if (unlikely(!var30)) {
452 var_class_name33 = type_standard__Int.name;
453 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33);
454 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
455 show_backtrace(1);
456 }
457 var34 = var19 - var27;
458 var28 = var34;
459 goto RET_LABEL29;
460 RET_LABEL29:(void)0;
461 }
462 }
463 var = var28;
464 goto RET_LABEL;
465 RET_LABEL:;
466 return var;
467 }
468 /* method location#Location#text for (self: Location): String */
469 val* nit___nit__Location___text(val* self) {
470 val* var /* : String */;
471 val* var1 /* : nullable String */;
472 val* var3 /* : nullable String */;
473 val* var_res /* var res: nullable String */;
474 val* var4 /* : null */;
475 short int var5 /* : Bool */;
476 short int var6 /* : Bool */;
477 val* var_other /* var other: nullable Object */;
478 short int var8 /* : Bool */;
479 short int var9 /* : Bool */;
480 val* var_l /* var l: Location */;
481 long var10 /* : Int */;
482 long var_pstart /* var pstart: Int */;
483 long var11 /* : Int */;
484 long var_pend /* var pend: Int */;
485 val* var12 /* : nullable SourceFile */;
486 val* var14 /* : nullable SourceFile */;
487 val* var15 /* : String */;
488 val* var17 /* : String */;
489 long var18 /* : Int */;
490 short int var20 /* : Bool */;
491 int cltype;
492 int idtype;
493 const char* var_class_name;
494 long var21 /* : Int */;
495 long var22 /* : Int */;
496 long var23 /* : Int */;
497 short int var25 /* : Bool */;
498 int cltype26;
499 int idtype27;
500 const char* var_class_name28;
501 long var29 /* : Int */;
502 val* var30 /* : Text */;
503 {
504 { /* Inline location#Location#text_cache (self) on <self:Location> */
505 var3 = self->attrs[COLOR_nit__location__Location___text_cache].val; /* _text_cache on <self:Location> */
506 var1 = var3;
507 RET_LABEL2:(void)0;
508 }
509 }
510 var_res = var1;
511 var4 = NULL;
512 if (var_res == NULL) {
513 var5 = 0; /* is null */
514 } else {
515 var5 = 1; /* arg is null and recv is not */
516 }
517 if (0) {
518 { /* Inline kernel#Object#!= (var_res,var4) on <var_res:nullable String> */
519 var_other = var4;
520 {
521 var8 = ((short int (*)(val* self, val* p0))(var_res->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_res, var_other) /* == on <var_res:nullable String(String)>*/;
522 }
523 var9 = !var8;
524 var6 = var9;
525 goto RET_LABEL7;
526 RET_LABEL7:(void)0;
527 }
528 var5 = var6;
529 }
530 if (var5){
531 var = var_res;
532 goto RET_LABEL;
533 } else {
534 }
535 var_l = self;
536 {
537 var10 = nit___nit__Location___pstart(self);
538 }
539 var_pstart = var10;
540 {
541 var11 = nit___nit__Location___pend(self);
542 }
543 var_pend = var11;
544 {
545 { /* Inline location#Location#file (var_l) on <var_l:Location> */
546 var14 = var_l->attrs[COLOR_nit__location__Location___file].val; /* _file on <var_l:Location> */
547 var12 = var14;
548 RET_LABEL13:(void)0;
549 }
550 }
551 if (var12 == NULL) {
552 PRINT_ERROR("Runtime error: %s", "Receiver is null");
553 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 89);
554 show_backtrace(1);
555 } else {
556 { /* Inline location#SourceFile#string (var12) on <var12:nullable SourceFile> */
557 if (unlikely(var12 == NULL)) {
558 PRINT_ERROR("Runtime error: %s", "Receiver is null");
559 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 25);
560 show_backtrace(1);
561 }
562 var17 = var12->attrs[COLOR_nit__location__SourceFile___string].val; /* _string on <var12:nullable SourceFile> */
563 if (unlikely(var17 == NULL)) {
564 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _string");
565 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 25);
566 show_backtrace(1);
567 }
568 var15 = var17;
569 RET_LABEL16:(void)0;
570 }
571 }
572 {
573 { /* Inline kernel#Int#- (var_pend,var_pstart) on <var_pend:Int> */
574 /* Covariant cast for argument 0 (i) <var_pstart:Int> isa OTHER */
575 /* <var_pstart:Int> isa OTHER */
576 var20 = 1; /* easy <var_pstart:Int> isa OTHER*/
577 if (unlikely(!var20)) {
578 var_class_name = type_standard__Int.name;
579 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
580 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
581 show_backtrace(1);
582 }
583 var21 = var_pend - var_pstart;
584 var18 = var21;
585 goto RET_LABEL19;
586 RET_LABEL19:(void)0;
587 }
588 }
589 var22 = 1;
590 {
591 { /* Inline kernel#Int#+ (var18,var22) on <var18:Int> */
592 /* Covariant cast for argument 0 (i) <var22:Int> isa OTHER */
593 /* <var22:Int> isa OTHER */
594 var25 = 1; /* easy <var22:Int> isa OTHER*/
595 if (unlikely(!var25)) {
596 var_class_name28 = type_standard__Int.name;
597 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name28);
598 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
599 show_backtrace(1);
600 }
601 var29 = var18 + var22;
602 var23 = var29;
603 goto RET_LABEL24;
604 RET_LABEL24:(void)0;
605 }
606 }
607 {
608 var30 = ((val* (*)(val* self, long p0, long p1))(var15->class->vft[COLOR_standard__string__Text__substring]))(var15, var_pstart, var23) /* substring on <var15:String>*/;
609 }
610 var_res = var30;
611 {
612 { /* Inline location#Location#text_cache= (self,var_res) on <self:Location> */
613 self->attrs[COLOR_nit__location__Location___text_cache].val = var_res; /* _text_cache on <self:Location> */
614 RET_LABEL31:(void)0;
615 }
616 }
617 var = var_res;
618 goto RET_LABEL;
619 RET_LABEL:;
620 return var;
621 }
622 /* method location#Location#text_cache for (self: Location): nullable String */
623 val* nit___nit__Location___text_cache(val* self) {
624 val* var /* : nullable String */;
625 val* var1 /* : nullable String */;
626 var1 = self->attrs[COLOR_nit__location__Location___text_cache].val; /* _text_cache on <self:Location> */
627 var = var1;
628 RET_LABEL:;
629 return var;
630 }
631 /* method location#Location#text_cache= for (self: Location, nullable String) */
632 void nit___nit__Location___text_cache_61d(val* self, val* p0) {
633 self->attrs[COLOR_nit__location__Location___text_cache].val = p0; /* _text_cache on <self:Location> */
634 RET_LABEL:;
635 }
636 /* method location#Location#== for (self: Location, nullable Object): Bool */
637 short int nit___nit__Location___standard__kernel__Object___61d_61d(val* self, val* p0) {
638 short int var /* : Bool */;
639 val* var_other /* var other: nullable Object */;
640 val* var1 /* : null */;
641 short int var2 /* : Bool */;
642 short int var3 /* : Bool */;
643 short int var4 /* : Bool */;
644 short int var5 /* : Bool */;
645 int cltype;
646 int idtype;
647 short int var6 /* : Bool */;
648 short int var7 /* : Bool */;
649 val* var8 /* : nullable SourceFile */;
650 val* var10 /* : nullable SourceFile */;
651 val* var11 /* : nullable SourceFile */;
652 val* var13 /* : nullable SourceFile */;
653 short int var14 /* : Bool */;
654 short int var15 /* : Bool */;
655 val* var_other17 /* var other: nullable Object */;
656 short int var18 /* : Bool */;
657 short int var19 /* : Bool */;
658 short int var20 /* : Bool */;
659 long var21 /* : Int */;
660 long var23 /* : Int */;
661 long var24 /* : Int */;
662 long var26 /* : Int */;
663 short int var27 /* : Bool */;
664 short int var29 /* : Bool */;
665 short int var30 /* : Bool */;
666 short int var31 /* : Bool */;
667 long var32 /* : Int */;
668 long var34 /* : Int */;
669 long var35 /* : Int */;
670 long var37 /* : Int */;
671 short int var38 /* : Bool */;
672 short int var40 /* : Bool */;
673 short int var41 /* : Bool */;
674 short int var42 /* : Bool */;
675 long var43 /* : Int */;
676 long var45 /* : Int */;
677 long var46 /* : Int */;
678 long var48 /* : Int */;
679 short int var49 /* : Bool */;
680 short int var51 /* : Bool */;
681 short int var52 /* : Bool */;
682 short int var53 /* : Bool */;
683 long var54 /* : Int */;
684 long var56 /* : Int */;
685 long var57 /* : Int */;
686 long var59 /* : Int */;
687 short int var60 /* : Bool */;
688 short int var62 /* : Bool */;
689 short int var63 /* : Bool */;
690 short int var64 /* : Bool */;
691 short int var65 /* : Bool */;
692 var_other = p0;
693 var1 = NULL;
694 if (var_other == NULL) {
695 var2 = 1; /* is null */
696 } else {
697 var2 = 0; /* arg is null but recv is not */
698 }
699 if (0) {
700 var3 = ((short int (*)(val* self, val* p0))(var_other->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var_other, var1) /* == on <var_other:nullable Object>*/;
701 var2 = var3;
702 }
703 if (var2){
704 var4 = 0;
705 var = var4;
706 goto RET_LABEL;
707 } else {
708 }
709 /* <var_other:nullable Object(Object)> isa Location */
710 cltype = type_nit__Location.color;
711 idtype = type_nit__Location.id;
712 if(cltype >= var_other->type->table_size) {
713 var5 = 0;
714 } else {
715 var5 = var_other->type->type_table[cltype] == idtype;
716 }
717 var6 = !var5;
718 if (var6){
719 var7 = 0;
720 var = var7;
721 goto RET_LABEL;
722 } else {
723 }
724 {
725 { /* Inline location#Location#file (var_other) on <var_other:nullable Object(Location)> */
726 var10 = var_other->attrs[COLOR_nit__location__Location___file].val; /* _file on <var_other:nullable Object(Location)> */
727 var8 = var10;
728 RET_LABEL9:(void)0;
729 }
730 }
731 {
732 { /* Inline location#Location#file (self) on <self:Location> */
733 var13 = self->attrs[COLOR_nit__location__Location___file].val; /* _file on <self:Location> */
734 var11 = var13;
735 RET_LABEL12:(void)0;
736 }
737 }
738 if (var8 == NULL) {
739 var14 = (var11 != NULL);
740 } else {
741 { /* Inline kernel#Object#!= (var8,var11) on <var8:nullable SourceFile> */
742 var_other17 = var11;
743 {
744 var18 = ((short int (*)(val* self, val* p0))(var8->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var8, var_other17) /* == on <var8:nullable SourceFile(SourceFile)>*/;
745 }
746 var19 = !var18;
747 var15 = var19;
748 goto RET_LABEL16;
749 RET_LABEL16:(void)0;
750 }
751 var14 = var15;
752 }
753 if (var14){
754 var20 = 0;
755 var = var20;
756 goto RET_LABEL;
757 } else {
758 }
759 {
760 { /* Inline location#Location#line_start (var_other) on <var_other:nullable Object(Location)> */
761 var23 = var_other->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on <var_other:nullable Object(Location)> */
762 var21 = var23;
763 RET_LABEL22:(void)0;
764 }
765 }
766 {
767 { /* Inline location#Location#line_start (self) on <self:Location> */
768 var26 = self->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on <self:Location> */
769 var24 = var26;
770 RET_LABEL25:(void)0;
771 }
772 }
773 {
774 { /* Inline kernel#Int#!= (var21,var24) on <var21:Int> */
775 var29 = var21 == var24;
776 var30 = !var29;
777 var27 = var30;
778 goto RET_LABEL28;
779 RET_LABEL28:(void)0;
780 }
781 }
782 if (var27){
783 var31 = 0;
784 var = var31;
785 goto RET_LABEL;
786 } else {
787 }
788 {
789 { /* Inline location#Location#line_end (var_other) on <var_other:nullable Object(Location)> */
790 var34 = var_other->attrs[COLOR_nit__location__Location___line_end].l; /* _line_end on <var_other:nullable Object(Location)> */
791 var32 = var34;
792 RET_LABEL33:(void)0;
793 }
794 }
795 {
796 { /* Inline location#Location#line_end (self) on <self:Location> */
797 var37 = self->attrs[COLOR_nit__location__Location___line_end].l; /* _line_end on <self:Location> */
798 var35 = var37;
799 RET_LABEL36:(void)0;
800 }
801 }
802 {
803 { /* Inline kernel#Int#!= (var32,var35) on <var32:Int> */
804 var40 = var32 == var35;
805 var41 = !var40;
806 var38 = var41;
807 goto RET_LABEL39;
808 RET_LABEL39:(void)0;
809 }
810 }
811 if (var38){
812 var42 = 0;
813 var = var42;
814 goto RET_LABEL;
815 } else {
816 }
817 {
818 { /* Inline location#Location#column_start (var_other) on <var_other:nullable Object(Location)> */
819 var45 = var_other->attrs[COLOR_nit__location__Location___column_start].l; /* _column_start on <var_other:nullable Object(Location)> */
820 var43 = var45;
821 RET_LABEL44:(void)0;
822 }
823 }
824 {
825 { /* Inline location#Location#column_start (self) on <self:Location> */
826 var48 = self->attrs[COLOR_nit__location__Location___column_start].l; /* _column_start on <self:Location> */
827 var46 = var48;
828 RET_LABEL47:(void)0;
829 }
830 }
831 {
832 { /* Inline kernel#Int#!= (var43,var46) on <var43:Int> */
833 var51 = var43 == var46;
834 var52 = !var51;
835 var49 = var52;
836 goto RET_LABEL50;
837 RET_LABEL50:(void)0;
838 }
839 }
840 if (var49){
841 var53 = 0;
842 var = var53;
843 goto RET_LABEL;
844 } else {
845 }
846 {
847 { /* Inline location#Location#column_end (var_other) on <var_other:nullable Object(Location)> */
848 var56 = var_other->attrs[COLOR_nit__location__Location___column_end].l; /* _column_end on <var_other:nullable Object(Location)> */
849 var54 = var56;
850 RET_LABEL55:(void)0;
851 }
852 }
853 {
854 { /* Inline location#Location#column_end (self) on <self:Location> */
855 var59 = self->attrs[COLOR_nit__location__Location___column_end].l; /* _column_end on <self:Location> */
856 var57 = var59;
857 RET_LABEL58:(void)0;
858 }
859 }
860 {
861 { /* Inline kernel#Int#!= (var54,var57) on <var54:Int> */
862 var62 = var54 == var57;
863 var63 = !var62;
864 var60 = var63;
865 goto RET_LABEL61;
866 RET_LABEL61:(void)0;
867 }
868 }
869 if (var60){
870 var64 = 0;
871 var = var64;
872 goto RET_LABEL;
873 } else {
874 }
875 var65 = 1;
876 var = var65;
877 goto RET_LABEL;
878 RET_LABEL:;
879 return var;
880 }
881 /* method location#Location#located_in for (self: Location, nullable Location): Bool */
882 short int nit___nit__Location___located_in(val* self, val* p0) {
883 short int var /* : Bool */;
884 val* var_loc /* var loc: nullable Location */;
885 val* var1 /* : null */;
886 short int var2 /* : Bool */;
887 short int var3 /* : Bool */;
888 short int var4 /* : Bool */;
889 long var5 /* : Int */;
890 long var7 /* : Int */;
891 long var8 /* : Int */;
892 long var10 /* : Int */;
893 short int var11 /* : Bool */;
894 short int var13 /* : Bool */;
895 int cltype;
896 int idtype;
897 const char* var_class_name;
898 short int var14 /* : Bool */;
899 short int var15 /* : Bool */;
900 long var16 /* : Int */;
901 long var18 /* : Int */;
902 long var19 /* : Int */;
903 long var21 /* : Int */;
904 short int var22 /* : Bool */;
905 short int var24 /* : Bool */;
906 int cltype25;
907 int idtype26;
908 const char* var_class_name27;
909 short int var28 /* : Bool */;
910 short int var29 /* : Bool */;
911 long var30 /* : Int */;
912 long var32 /* : Int */;
913 long var33 /* : Int */;
914 long var35 /* : Int */;
915 short int var36 /* : Bool */;
916 short int var38 /* : Bool */;
917 int cltype39;
918 int idtype40;
919 const char* var_class_name41;
920 short int var42 /* : Bool */;
921 short int var43 /* : Bool */;
922 long var44 /* : Int */;
923 long var46 /* : Int */;
924 long var47 /* : Int */;
925 long var49 /* : Int */;
926 short int var50 /* : Bool */;
927 short int var52 /* : Bool */;
928 long var53 /* : Int */;
929 long var55 /* : Int */;
930 long var56 /* : Int */;
931 long var58 /* : Int */;
932 short int var59 /* : Bool */;
933 short int var61 /* : Bool */;
934 int cltype62;
935 int idtype63;
936 const char* var_class_name64;
937 short int var65 /* : Bool */;
938 short int var66 /* : Bool */;
939 long var67 /* : Int */;
940 long var69 /* : Int */;
941 long var70 /* : Int */;
942 long var72 /* : Int */;
943 short int var73 /* : Bool */;
944 short int var75 /* : Bool */;
945 int cltype76;
946 int idtype77;
947 const char* var_class_name78;
948 short int var79 /* : Bool */;
949 short int var80 /* : Bool */;
950 short int var81 /* : Bool */;
951 long var82 /* : Int */;
952 long var84 /* : Int */;
953 long var85 /* : Int */;
954 long var87 /* : Int */;
955 short int var88 /* : Bool */;
956 short int var90 /* : Bool */;
957 short int var_ /* var : Bool */;
958 long var91 /* : Int */;
959 long var93 /* : Int */;
960 long var94 /* : Int */;
961 long var96 /* : Int */;
962 short int var97 /* : Bool */;
963 short int var99 /* : Bool */;
964 int cltype100;
965 int idtype101;
966 const char* var_class_name102;
967 short int var103 /* : Bool */;
968 short int var104 /* : Bool */;
969 short int var105 /* : Bool */;
970 var_loc = p0;
971 var1 = NULL;
972 if (var_loc == NULL) {
973 var2 = 1; /* is null */
974 } else {
975 var2 = 0; /* arg is null but recv is not */
976 }
977 if (0) {
978 var3 = nit___nit__Location___standard__kernel__Object___61d_61d(var_loc, var1);
979 var2 = var3;
980 }
981 if (var2){
982 var4 = 0;
983 var = var4;
984 goto RET_LABEL;
985 } else {
986 }
987 {
988 { /* Inline location#Location#line_start (self) on <self:Location> */
989 var7 = self->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on <self:Location> */
990 var5 = var7;
991 RET_LABEL6:(void)0;
992 }
993 }
994 {
995 { /* Inline location#Location#line_start (var_loc) on <var_loc:nullable Location(Location)> */
996 var10 = var_loc->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on <var_loc:nullable Location(Location)> */
997 var8 = var10;
998 RET_LABEL9:(void)0;
999 }
1000 }
1001 {
1002 { /* Inline kernel#Int#< (var5,var8) on <var5:Int> */
1003 /* Covariant cast for argument 0 (i) <var8:Int> isa OTHER */
1004 /* <var8:Int> isa OTHER */
1005 var13 = 1; /* easy <var8:Int> isa OTHER*/
1006 if (unlikely(!var13)) {
1007 var_class_name = type_standard__Int.name;
1008 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1009 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
1010 show_backtrace(1);
1011 }
1012 var14 = var5 < var8;
1013 var11 = var14;
1014 goto RET_LABEL12;
1015 RET_LABEL12:(void)0;
1016 }
1017 }
1018 if (var11){
1019 var15 = 0;
1020 var = var15;
1021 goto RET_LABEL;
1022 } else {
1023 }
1024 {
1025 { /* Inline location#Location#line_start (self) on <self:Location> */
1026 var18 = self->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on <self:Location> */
1027 var16 = var18;
1028 RET_LABEL17:(void)0;
1029 }
1030 }
1031 {
1032 { /* Inline location#Location#line_end (var_loc) on <var_loc:nullable Location(Location)> */
1033 var21 = var_loc->attrs[COLOR_nit__location__Location___line_end].l; /* _line_end on <var_loc:nullable Location(Location)> */
1034 var19 = var21;
1035 RET_LABEL20:(void)0;
1036 }
1037 }
1038 {
1039 { /* Inline kernel#Int#> (var16,var19) on <var16:Int> */
1040 /* Covariant cast for argument 0 (i) <var19:Int> isa OTHER */
1041 /* <var19:Int> isa OTHER */
1042 var24 = 1; /* easy <var19:Int> isa OTHER*/
1043 if (unlikely(!var24)) {
1044 var_class_name27 = type_standard__Int.name;
1045 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27);
1046 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412);
1047 show_backtrace(1);
1048 }
1049 var28 = var16 > var19;
1050 var22 = var28;
1051 goto RET_LABEL23;
1052 RET_LABEL23:(void)0;
1053 }
1054 }
1055 if (var22){
1056 var29 = 0;
1057 var = var29;
1058 goto RET_LABEL;
1059 } else {
1060 }
1061 {
1062 { /* Inline location#Location#line_end (self) on <self:Location> */
1063 var32 = self->attrs[COLOR_nit__location__Location___line_end].l; /* _line_end on <self:Location> */
1064 var30 = var32;
1065 RET_LABEL31:(void)0;
1066 }
1067 }
1068 {
1069 { /* Inline location#Location#line_end (var_loc) on <var_loc:nullable Location(Location)> */
1070 var35 = var_loc->attrs[COLOR_nit__location__Location___line_end].l; /* _line_end on <var_loc:nullable Location(Location)> */
1071 var33 = var35;
1072 RET_LABEL34:(void)0;
1073 }
1074 }
1075 {
1076 { /* Inline kernel#Int#> (var30,var33) on <var30:Int> */
1077 /* Covariant cast for argument 0 (i) <var33:Int> isa OTHER */
1078 /* <var33:Int> isa OTHER */
1079 var38 = 1; /* easy <var33:Int> isa OTHER*/
1080 if (unlikely(!var38)) {
1081 var_class_name41 = type_standard__Int.name;
1082 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name41);
1083 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412);
1084 show_backtrace(1);
1085 }
1086 var42 = var30 > var33;
1087 var36 = var42;
1088 goto RET_LABEL37;
1089 RET_LABEL37:(void)0;
1090 }
1091 }
1092 if (var36){
1093 var43 = 0;
1094 var = var43;
1095 goto RET_LABEL;
1096 } else {
1097 }
1098 {
1099 { /* Inline location#Location#line_start (self) on <self:Location> */
1100 var46 = self->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on <self:Location> */
1101 var44 = var46;
1102 RET_LABEL45:(void)0;
1103 }
1104 }
1105 {
1106 { /* Inline location#Location#line_start (var_loc) on <var_loc:nullable Location(Location)> */
1107 var49 = var_loc->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on <var_loc:nullable Location(Location)> */
1108 var47 = var49;
1109 RET_LABEL48:(void)0;
1110 }
1111 }
1112 {
1113 { /* Inline kernel#Int#== (var44,var47) on <var44:Int> */
1114 var52 = var44 == var47;
1115 var50 = var52;
1116 goto RET_LABEL51;
1117 RET_LABEL51:(void)0;
1118 }
1119 }
1120 if (var50){
1121 {
1122 { /* Inline location#Location#column_start (self) on <self:Location> */
1123 var55 = self->attrs[COLOR_nit__location__Location___column_start].l; /* _column_start on <self:Location> */
1124 var53 = var55;
1125 RET_LABEL54:(void)0;
1126 }
1127 }
1128 {
1129 { /* Inline location#Location#column_start (var_loc) on <var_loc:nullable Location(Location)> */
1130 var58 = var_loc->attrs[COLOR_nit__location__Location___column_start].l; /* _column_start on <var_loc:nullable Location(Location)> */
1131 var56 = var58;
1132 RET_LABEL57:(void)0;
1133 }
1134 }
1135 {
1136 { /* Inline kernel#Int#< (var53,var56) on <var53:Int> */
1137 /* Covariant cast for argument 0 (i) <var56:Int> isa OTHER */
1138 /* <var56:Int> isa OTHER */
1139 var61 = 1; /* easy <var56:Int> isa OTHER*/
1140 if (unlikely(!var61)) {
1141 var_class_name64 = type_standard__Int.name;
1142 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name64);
1143 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
1144 show_backtrace(1);
1145 }
1146 var65 = var53 < var56;
1147 var59 = var65;
1148 goto RET_LABEL60;
1149 RET_LABEL60:(void)0;
1150 }
1151 }
1152 if (var59){
1153 var66 = 0;
1154 var = var66;
1155 goto RET_LABEL;
1156 } else {
1157 }
1158 {
1159 { /* Inline location#Location#column_start (self) on <self:Location> */
1160 var69 = self->attrs[COLOR_nit__location__Location___column_start].l; /* _column_start on <self:Location> */
1161 var67 = var69;
1162 RET_LABEL68:(void)0;
1163 }
1164 }
1165 {
1166 { /* Inline location#Location#column_end (var_loc) on <var_loc:nullable Location(Location)> */
1167 var72 = var_loc->attrs[COLOR_nit__location__Location___column_end].l; /* _column_end on <var_loc:nullable Location(Location)> */
1168 var70 = var72;
1169 RET_LABEL71:(void)0;
1170 }
1171 }
1172 {
1173 { /* Inline kernel#Int#> (var67,var70) on <var67:Int> */
1174 /* Covariant cast for argument 0 (i) <var70:Int> isa OTHER */
1175 /* <var70:Int> isa OTHER */
1176 var75 = 1; /* easy <var70:Int> isa OTHER*/
1177 if (unlikely(!var75)) {
1178 var_class_name78 = type_standard__Int.name;
1179 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name78);
1180 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412);
1181 show_backtrace(1);
1182 }
1183 var79 = var67 > var70;
1184 var73 = var79;
1185 goto RET_LABEL74;
1186 RET_LABEL74:(void)0;
1187 }
1188 }
1189 if (var73){
1190 var80 = 0;
1191 var = var80;
1192 goto RET_LABEL;
1193 } else {
1194 }
1195 } else {
1196 }
1197 {
1198 { /* Inline location#Location#line_end (self) on <self:Location> */
1199 var84 = self->attrs[COLOR_nit__location__Location___line_end].l; /* _line_end on <self:Location> */
1200 var82 = var84;
1201 RET_LABEL83:(void)0;
1202 }
1203 }
1204 {
1205 { /* Inline location#Location#line_end (var_loc) on <var_loc:nullable Location(Location)> */
1206 var87 = var_loc->attrs[COLOR_nit__location__Location___line_end].l; /* _line_end on <var_loc:nullable Location(Location)> */
1207 var85 = var87;
1208 RET_LABEL86:(void)0;
1209 }
1210 }
1211 {
1212 { /* Inline kernel#Int#== (var82,var85) on <var82:Int> */
1213 var90 = var82 == var85;
1214 var88 = var90;
1215 goto RET_LABEL89;
1216 RET_LABEL89:(void)0;
1217 }
1218 }
1219 var_ = var88;
1220 if (var88){
1221 {
1222 { /* Inline location#Location#column_end (self) on <self:Location> */
1223 var93 = self->attrs[COLOR_nit__location__Location___column_end].l; /* _column_end on <self:Location> */
1224 var91 = var93;
1225 RET_LABEL92:(void)0;
1226 }
1227 }
1228 {
1229 { /* Inline location#Location#column_end (var_loc) on <var_loc:nullable Location(Location)> */
1230 var96 = var_loc->attrs[COLOR_nit__location__Location___column_end].l; /* _column_end on <var_loc:nullable Location(Location)> */
1231 var94 = var96;
1232 RET_LABEL95:(void)0;
1233 }
1234 }
1235 {
1236 { /* Inline kernel#Int#> (var91,var94) on <var91:Int> */
1237 /* Covariant cast for argument 0 (i) <var94:Int> isa OTHER */
1238 /* <var94:Int> isa OTHER */
1239 var99 = 1; /* easy <var94:Int> isa OTHER*/
1240 if (unlikely(!var99)) {
1241 var_class_name102 = type_standard__Int.name;
1242 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name102);
1243 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412);
1244 show_backtrace(1);
1245 }
1246 var103 = var91 > var94;
1247 var97 = var103;
1248 goto RET_LABEL98;
1249 RET_LABEL98:(void)0;
1250 }
1251 }
1252 var81 = var97;
1253 } else {
1254 var81 = var_;
1255 }
1256 if (var81){
1257 var104 = 0;
1258 var = var104;
1259 goto RET_LABEL;
1260 } else {
1261 }
1262 var105 = 1;
1263 var = var105;
1264 goto RET_LABEL;
1265 RET_LABEL:;
1266 return var;
1267 }
1268 /* method location#Location#to_s for (self: Location): String */
1269 val* nit___nit__Location___standard__string__Object__to_s(val* self) {
1270 val* var /* : String */;
1271 static val* varonce;
1272 val* var1 /* : String */;
1273 char* var2 /* : NativeString */;
1274 long var3 /* : Int */;
1275 val* var4 /* : FlatString */;
1276 val* var_file_part /* var file_part: String */;
1277 val* var5 /* : nullable SourceFile */;
1278 val* var7 /* : nullable SourceFile */;
1279 val* var8 /* : null */;
1280 short int var9 /* : Bool */;
1281 short int var10 /* : Bool */;
1282 val* var_other /* var other: nullable Object */;
1283 short int var12 /* : Bool */;
1284 short int var13 /* : Bool */;
1285 val* var14 /* : nullable SourceFile */;
1286 val* var16 /* : nullable SourceFile */;
1287 val* var17 /* : String */;
1288 val* var19 /* : String */;
1289 val* var20 /* : nullable SourceFile */;
1290 val* var22 /* : nullable SourceFile */;
1291 val* var23 /* : String */;
1292 val* var25 /* : String */;
1293 long var26 /* : Int */;
1294 long var27 /* : Int */;
1295 short int var28 /* : Bool */;
1296 short int var30 /* : Bool */;
1297 int cltype;
1298 int idtype;
1299 const char* var_class_name;
1300 short int var31 /* : Bool */;
1301 static val* varonce32;
1302 val* var33 /* : String */;
1303 char* var34 /* : NativeString */;
1304 long var35 /* : Int */;
1305 val* var36 /* : FlatString */;
1306 val* var37 /* : String */;
1307 long var38 /* : Int */;
1308 long var40 /* : Int */;
1309 long var41 /* : Int */;
1310 long var43 /* : Int */;
1311 short int var44 /* : Bool */;
1312 short int var46 /* : Bool */;
1313 long var47 /* : Int */;
1314 long var49 /* : Int */;
1315 long var50 /* : Int */;
1316 long var52 /* : Int */;
1317 short int var53 /* : Bool */;
1318 short int var55 /* : Bool */;
1319 long var56 /* : Int */;
1320 long var58 /* : Int */;
1321 static val* varonce59;
1322 val* var60 /* : String */;
1323 char* var61 /* : NativeString */;
1324 long var62 /* : Int */;
1325 val* var63 /* : FlatString */;
1326 long var64 /* : Int */;
1327 long var66 /* : Int */;
1328 val* var67 /* : Array[Object] */;
1329 long var68 /* : Int */;
1330 val* var69 /* : NativeArray[Object] */;
1331 val* var70 /* : Object */;
1332 val* var71 /* : Object */;
1333 val* var72 /* : String */;
1334 long var73 /* : Int */;
1335 long var75 /* : Int */;
1336 static val* varonce76;
1337 val* var77 /* : String */;
1338 char* var78 /* : NativeString */;
1339 long var79 /* : Int */;
1340 val* var80 /* : FlatString */;
1341 long var81 /* : Int */;
1342 long var83 /* : Int */;
1343 static val* varonce84;
1344 val* var85 /* : String */;
1345 char* var86 /* : NativeString */;
1346 long var87 /* : Int */;
1347 val* var88 /* : FlatString */;
1348 long var89 /* : Int */;
1349 long var91 /* : Int */;
1350 val* var92 /* : Array[Object] */;
1351 long var93 /* : Int */;
1352 val* var94 /* : NativeArray[Object] */;
1353 val* var95 /* : Object */;
1354 val* var96 /* : Object */;
1355 val* var97 /* : Object */;
1356 val* var98 /* : String */;
1357 long var99 /* : Int */;
1358 long var101 /* : Int */;
1359 static val* varonce102;
1360 val* var103 /* : String */;
1361 char* var104 /* : NativeString */;
1362 long var105 /* : Int */;
1363 val* var106 /* : FlatString */;
1364 long var107 /* : Int */;
1365 long var109 /* : Int */;
1366 static val* varonce110;
1367 val* var111 /* : String */;
1368 char* var112 /* : NativeString */;
1369 long var113 /* : Int */;
1370 val* var114 /* : FlatString */;
1371 long var115 /* : Int */;
1372 long var117 /* : Int */;
1373 static val* varonce118;
1374 val* var119 /* : String */;
1375 char* var120 /* : NativeString */;
1376 long var121 /* : Int */;
1377 val* var122 /* : FlatString */;
1378 long var123 /* : Int */;
1379 long var125 /* : Int */;
1380 val* var126 /* : Array[Object] */;
1381 long var127 /* : Int */;
1382 val* var128 /* : NativeArray[Object] */;
1383 val* var129 /* : Object */;
1384 val* var130 /* : Object */;
1385 val* var131 /* : Object */;
1386 val* var132 /* : Object */;
1387 val* var133 /* : String */;
1388 if (varonce) {
1389 var1 = varonce;
1390 } else {
1391 var2 = "";
1392 var3 = 0;
1393 var4 = standard___standard__NativeString___to_s_with_length(var2, var3);
1394 var1 = var4;
1395 varonce = var1;
1396 }
1397 var_file_part = var1;
1398 {
1399 { /* Inline location#Location#file (self) on <self:Location> */
1400 var7 = self->attrs[COLOR_nit__location__Location___file].val; /* _file on <self:Location> */
1401 var5 = var7;
1402 RET_LABEL6:(void)0;
1403 }
1404 }
1405 var8 = NULL;
1406 if (var5 == NULL) {
1407 var9 = 0; /* is null */
1408 } else {
1409 var9 = 1; /* arg is null and recv is not */
1410 }
1411 if (0) {
1412 { /* Inline kernel#Object#!= (var5,var8) on <var5:nullable SourceFile> */
1413 var_other = var8;
1414 {
1415 var12 = ((short int (*)(val* self, val* p0))(var5->class->vft[COLOR_standard__kernel__Object___61d_61d]))(var5, var_other) /* == on <var5:nullable SourceFile(SourceFile)>*/;
1416 }
1417 var13 = !var12;
1418 var10 = var13;
1419 goto RET_LABEL11;
1420 RET_LABEL11:(void)0;
1421 }
1422 var9 = var10;
1423 }
1424 if (var9){
1425 {
1426 { /* Inline location#Location#file (self) on <self:Location> */
1427 var16 = self->attrs[COLOR_nit__location__Location___file].val; /* _file on <self:Location> */
1428 var14 = var16;
1429 RET_LABEL15:(void)0;
1430 }
1431 }
1432 if (var14 == NULL) {
1433 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1434 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 131);
1435 show_backtrace(1);
1436 } else {
1437 { /* Inline location#SourceFile#filename (var14) on <var14:nullable SourceFile> */
1438 if (unlikely(var14 == NULL)) {
1439 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1440 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 22);
1441 show_backtrace(1);
1442 }
1443 var19 = var14->attrs[COLOR_nit__location__SourceFile___filename].val; /* _filename on <var14:nullable SourceFile> */
1444 if (unlikely(var19 == NULL)) {
1445 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename");
1446 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 22);
1447 show_backtrace(1);
1448 }
1449 var17 = var19;
1450 RET_LABEL18:(void)0;
1451 }
1452 }
1453 var_file_part = var17;
1454 {
1455 { /* Inline location#Location#file (self) on <self:Location> */
1456 var22 = self->attrs[COLOR_nit__location__Location___file].val; /* _file on <self:Location> */
1457 var20 = var22;
1458 RET_LABEL21:(void)0;
1459 }
1460 }
1461 if (var20 == NULL) {
1462 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1463 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 132);
1464 show_backtrace(1);
1465 } else {
1466 { /* Inline location#SourceFile#filename (var20) on <var20:nullable SourceFile> */
1467 if (unlikely(var20 == NULL)) {
1468 PRINT_ERROR("Runtime error: %s", "Receiver is null");
1469 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 22);
1470 show_backtrace(1);
1471 }
1472 var25 = var20->attrs[COLOR_nit__location__SourceFile___filename].val; /* _filename on <var20:nullable SourceFile> */
1473 if (unlikely(var25 == NULL)) {
1474 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename");
1475 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 22);
1476 show_backtrace(1);
1477 }
1478 var23 = var25;
1479 RET_LABEL24:(void)0;
1480 }
1481 }
1482 {
1483 var26 = ((long (*)(val* self))(var23->class->vft[COLOR_standard__string__Text__length]))(var23) /* length on <var23:String>*/;
1484 }
1485 var27 = 0;
1486 {
1487 { /* Inline kernel#Int#> (var26,var27) on <var26:Int> */
1488 /* Covariant cast for argument 0 (i) <var27:Int> isa OTHER */
1489 /* <var27:Int> isa OTHER */
1490 var30 = 1; /* easy <var27:Int> isa OTHER*/
1491 if (unlikely(!var30)) {
1492 var_class_name = type_standard__Int.name;
1493 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1494 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412);
1495 show_backtrace(1);
1496 }
1497 var31 = var26 > var27;
1498 var28 = var31;
1499 goto RET_LABEL29;
1500 RET_LABEL29:(void)0;
1501 }
1502 }
1503 if (var28){
1504 if (varonce32) {
1505 var33 = varonce32;
1506 } else {
1507 var34 = ":";
1508 var35 = 1;
1509 var36 = standard___standard__NativeString___to_s_with_length(var34, var35);
1510 var33 = var36;
1511 varonce32 = var33;
1512 }
1513 {
1514 var37 = ((val* (*)(val* self, val* p0))(var_file_part->class->vft[COLOR_standard__string__String___43d]))(var_file_part, var33) /* + on <var_file_part:String>*/;
1515 }
1516 var_file_part = var37;
1517 } else {
1518 }
1519 } else {
1520 }
1521 {
1522 { /* Inline location#Location#line_start (self) on <self:Location> */
1523 var40 = self->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on <self:Location> */
1524 var38 = var40;
1525 RET_LABEL39:(void)0;
1526 }
1527 }
1528 {
1529 { /* Inline location#Location#line_end (self) on <self:Location> */
1530 var43 = self->attrs[COLOR_nit__location__Location___line_end].l; /* _line_end on <self:Location> */
1531 var41 = var43;
1532 RET_LABEL42:(void)0;
1533 }
1534 }
1535 {
1536 { /* Inline kernel#Int#== (var38,var41) on <var38:Int> */
1537 var46 = var38 == var41;
1538 var44 = var46;
1539 goto RET_LABEL45;
1540 RET_LABEL45:(void)0;
1541 }
1542 }
1543 if (var44){
1544 {
1545 { /* Inline location#Location#column_start (self) on <self:Location> */
1546 var49 = self->attrs[COLOR_nit__location__Location___column_start].l; /* _column_start on <self:Location> */
1547 var47 = var49;
1548 RET_LABEL48:(void)0;
1549 }
1550 }
1551 {
1552 { /* Inline location#Location#column_end (self) on <self:Location> */
1553 var52 = self->attrs[COLOR_nit__location__Location___column_end].l; /* _column_end on <self:Location> */
1554 var50 = var52;
1555 RET_LABEL51:(void)0;
1556 }
1557 }
1558 {
1559 { /* Inline kernel#Int#== (var47,var50) on <var47:Int> */
1560 var55 = var47 == var50;
1561 var53 = var55;
1562 goto RET_LABEL54;
1563 RET_LABEL54:(void)0;
1564 }
1565 }
1566 if (var53){
1567 {
1568 { /* Inline location#Location#line_start (self) on <self:Location> */
1569 var58 = self->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on <self:Location> */
1570 var56 = var58;
1571 RET_LABEL57:(void)0;
1572 }
1573 }
1574 if (varonce59) {
1575 var60 = varonce59;
1576 } else {
1577 var61 = ",";
1578 var62 = 1;
1579 var63 = standard___standard__NativeString___to_s_with_length(var61, var62);
1580 var60 = var63;
1581 varonce59 = var60;
1582 }
1583 {
1584 { /* Inline location#Location#column_start (self) on <self:Location> */
1585 var66 = self->attrs[COLOR_nit__location__Location___column_start].l; /* _column_start on <self:Location> */
1586 var64 = var66;
1587 RET_LABEL65:(void)0;
1588 }
1589 }
1590 var67 = NEW_standard__Array(&type_standard__Array__standard__Object);
1591 { /* var67 = array_instance Array[Object] */
1592 var68 = 4;
1593 var69 = NEW_standard__NativeArray(var68, &type_standard__NativeArray__standard__Object);
1594 ((struct instance_standard__NativeArray*)var69)->values[0] = (val*) var_file_part;
1595 var70 = BOX_standard__Int(var56); /* autobox from Int to Object */
1596 ((struct instance_standard__NativeArray*)var69)->values[1] = (val*) var70;
1597 ((struct instance_standard__NativeArray*)var69)->values[2] = (val*) var60;
1598 var71 = BOX_standard__Int(var64); /* autobox from Int to Object */
1599 ((struct instance_standard__NativeArray*)var69)->values[3] = (val*) var71;
1600 {
1601 ((void (*)(val* self, val* p0, long p1))(var67->class->vft[COLOR_standard__array__Array__with_native]))(var67, var69, var68) /* with_native on <var67:Array[Object]>*/;
1602 }
1603 }
1604 {
1605 var72 = ((val* (*)(val* self))(var67->class->vft[COLOR_standard__string__Object__to_s]))(var67) /* to_s on <var67:Array[Object]>*/;
1606 }
1607 var = var72;
1608 goto RET_LABEL;
1609 } else {
1610 {
1611 { /* Inline location#Location#line_start (self) on <self:Location> */
1612 var75 = self->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on <self:Location> */
1613 var73 = var75;
1614 RET_LABEL74:(void)0;
1615 }
1616 }
1617 if (varonce76) {
1618 var77 = varonce76;
1619 } else {
1620 var78 = ",";
1621 var79 = 1;
1622 var80 = standard___standard__NativeString___to_s_with_length(var78, var79);
1623 var77 = var80;
1624 varonce76 = var77;
1625 }
1626 {
1627 { /* Inline location#Location#column_start (self) on <self:Location> */
1628 var83 = self->attrs[COLOR_nit__location__Location___column_start].l; /* _column_start on <self:Location> */
1629 var81 = var83;
1630 RET_LABEL82:(void)0;
1631 }
1632 }
1633 if (varonce84) {
1634 var85 = varonce84;
1635 } else {
1636 var86 = "--";
1637 var87 = 2;
1638 var88 = standard___standard__NativeString___to_s_with_length(var86, var87);
1639 var85 = var88;
1640 varonce84 = var85;
1641 }
1642 {
1643 { /* Inline location#Location#column_end (self) on <self:Location> */
1644 var91 = self->attrs[COLOR_nit__location__Location___column_end].l; /* _column_end on <self:Location> */
1645 var89 = var91;
1646 RET_LABEL90:(void)0;
1647 }
1648 }
1649 var92 = NEW_standard__Array(&type_standard__Array__standard__Object);
1650 { /* var92 = array_instance Array[Object] */
1651 var93 = 6;
1652 var94 = NEW_standard__NativeArray(var93, &type_standard__NativeArray__standard__Object);
1653 ((struct instance_standard__NativeArray*)var94)->values[0] = (val*) var_file_part;
1654 var95 = BOX_standard__Int(var73); /* autobox from Int to Object */
1655 ((struct instance_standard__NativeArray*)var94)->values[1] = (val*) var95;
1656 ((struct instance_standard__NativeArray*)var94)->values[2] = (val*) var77;
1657 var96 = BOX_standard__Int(var81); /* autobox from Int to Object */
1658 ((struct instance_standard__NativeArray*)var94)->values[3] = (val*) var96;
1659 ((struct instance_standard__NativeArray*)var94)->values[4] = (val*) var85;
1660 var97 = BOX_standard__Int(var89); /* autobox from Int to Object */
1661 ((struct instance_standard__NativeArray*)var94)->values[5] = (val*) var97;
1662 {
1663 ((void (*)(val* self, val* p0, long p1))(var92->class->vft[COLOR_standard__array__Array__with_native]))(var92, var94, var93) /* with_native on <var92:Array[Object]>*/;
1664 }
1665 }
1666 {
1667 var98 = ((val* (*)(val* self))(var92->class->vft[COLOR_standard__string__Object__to_s]))(var92) /* to_s on <var92:Array[Object]>*/;
1668 }
1669 var = var98;
1670 goto RET_LABEL;
1671 }
1672 } else {
1673 {
1674 { /* Inline location#Location#line_start (self) on <self:Location> */
1675 var101 = self->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on <self:Location> */
1676 var99 = var101;
1677 RET_LABEL100:(void)0;
1678 }
1679 }
1680 if (varonce102) {
1681 var103 = varonce102;
1682 } else {
1683 var104 = ",";
1684 var105 = 1;
1685 var106 = standard___standard__NativeString___to_s_with_length(var104, var105);
1686 var103 = var106;
1687 varonce102 = var103;
1688 }
1689 {
1690 { /* Inline location#Location#column_start (self) on <self:Location> */
1691 var109 = self->attrs[COLOR_nit__location__Location___column_start].l; /* _column_start on <self:Location> */
1692 var107 = var109;
1693 RET_LABEL108:(void)0;
1694 }
1695 }
1696 if (varonce110) {
1697 var111 = varonce110;
1698 } else {
1699 var112 = "--";
1700 var113 = 2;
1701 var114 = standard___standard__NativeString___to_s_with_length(var112, var113);
1702 var111 = var114;
1703 varonce110 = var111;
1704 }
1705 {
1706 { /* Inline location#Location#line_end (self) on <self:Location> */
1707 var117 = self->attrs[COLOR_nit__location__Location___line_end].l; /* _line_end on <self:Location> */
1708 var115 = var117;
1709 RET_LABEL116:(void)0;
1710 }
1711 }
1712 if (varonce118) {
1713 var119 = varonce118;
1714 } else {
1715 var120 = ",";
1716 var121 = 1;
1717 var122 = standard___standard__NativeString___to_s_with_length(var120, var121);
1718 var119 = var122;
1719 varonce118 = var119;
1720 }
1721 {
1722 { /* Inline location#Location#column_end (self) on <self:Location> */
1723 var125 = self->attrs[COLOR_nit__location__Location___column_end].l; /* _column_end on <self:Location> */
1724 var123 = var125;
1725 RET_LABEL124:(void)0;
1726 }
1727 }
1728 var126 = NEW_standard__Array(&type_standard__Array__standard__Object);
1729 { /* var126 = array_instance Array[Object] */
1730 var127 = 8;
1731 var128 = NEW_standard__NativeArray(var127, &type_standard__NativeArray__standard__Object);
1732 ((struct instance_standard__NativeArray*)var128)->values[0] = (val*) var_file_part;
1733 var129 = BOX_standard__Int(var99); /* autobox from Int to Object */
1734 ((struct instance_standard__NativeArray*)var128)->values[1] = (val*) var129;
1735 ((struct instance_standard__NativeArray*)var128)->values[2] = (val*) var103;
1736 var130 = BOX_standard__Int(var107); /* autobox from Int to Object */
1737 ((struct instance_standard__NativeArray*)var128)->values[3] = (val*) var130;
1738 ((struct instance_standard__NativeArray*)var128)->values[4] = (val*) var111;
1739 var131 = BOX_standard__Int(var115); /* autobox from Int to Object */
1740 ((struct instance_standard__NativeArray*)var128)->values[5] = (val*) var131;
1741 ((struct instance_standard__NativeArray*)var128)->values[6] = (val*) var119;
1742 var132 = BOX_standard__Int(var123); /* autobox from Int to Object */
1743 ((struct instance_standard__NativeArray*)var128)->values[7] = (val*) var132;
1744 {
1745 ((void (*)(val* self, val* p0, long p1))(var126->class->vft[COLOR_standard__array__Array__with_native]))(var126, var128, var127) /* with_native on <var126:Array[Object]>*/;
1746 }
1747 }
1748 {
1749 var133 = ((val* (*)(val* self))(var126->class->vft[COLOR_standard__string__Object__to_s]))(var126) /* to_s on <var126:Array[Object]>*/;
1750 }
1751 var = var133;
1752 goto RET_LABEL;
1753 }
1754 RET_LABEL:;
1755 return var;
1756 }
1757 /* method location#Location#< for (self: Location, Location): Bool */
1758 short int nit___nit__Location___standard__kernel__Comparable___60d(val* self, val* p0) {
1759 short int var /* : Bool */;
1760 short int var1 /* : Bool */;
1761 int cltype;
1762 int idtype;
1763 const struct type* type_struct;
1764 const char* var_class_name;
1765 val* var_other /* var other: Location */;
1766 short int var2 /* : Bool */;
1767 short int var3 /* : Bool */;
1768 short int var4 /* : Bool */;
1769 short int var5 /* : Bool */;
1770 short int var6 /* : Bool */;
1771 short int var7 /* : Bool */;
1772 long var8 /* : Int */;
1773 long var10 /* : Int */;
1774 long var11 /* : Int */;
1775 long var13 /* : Int */;
1776 short int var14 /* : Bool */;
1777 short int var16 /* : Bool */;
1778 short int var17 /* : Bool */;
1779 long var18 /* : Int */;
1780 long var20 /* : Int */;
1781 long var21 /* : Int */;
1782 long var23 /* : Int */;
1783 short int var24 /* : Bool */;
1784 short int var26 /* : Bool */;
1785 int cltype27;
1786 int idtype28;
1787 const char* var_class_name29;
1788 short int var30 /* : Bool */;
1789 long var31 /* : Int */;
1790 long var33 /* : Int */;
1791 long var34 /* : Int */;
1792 long var36 /* : Int */;
1793 short int var37 /* : Bool */;
1794 short int var39 /* : Bool */;
1795 short int var40 /* : Bool */;
1796 long var41 /* : Int */;
1797 long var43 /* : Int */;
1798 long var44 /* : Int */;
1799 long var46 /* : Int */;
1800 short int var47 /* : Bool */;
1801 short int var49 /* : Bool */;
1802 int cltype50;
1803 int idtype51;
1804 const char* var_class_name52;
1805 short int var53 /* : Bool */;
1806 long var54 /* : Int */;
1807 long var56 /* : Int */;
1808 long var57 /* : Int */;
1809 long var59 /* : Int */;
1810 short int var60 /* : Bool */;
1811 short int var62 /* : Bool */;
1812 short int var63 /* : Bool */;
1813 long var64 /* : Int */;
1814 long var66 /* : Int */;
1815 long var67 /* : Int */;
1816 long var69 /* : Int */;
1817 short int var70 /* : Bool */;
1818 short int var72 /* : Bool */;
1819 int cltype73;
1820 int idtype74;
1821 const char* var_class_name75;
1822 short int var76 /* : Bool */;
1823 long var77 /* : Int */;
1824 long var79 /* : Int */;
1825 long var80 /* : Int */;
1826 long var82 /* : Int */;
1827 short int var83 /* : Bool */;
1828 short int var85 /* : Bool */;
1829 int cltype86;
1830 int idtype87;
1831 const char* var_class_name88;
1832 short int var89 /* : Bool */;
1833 /* Covariant cast for argument 0 (other) <p0:Location> isa OTHER */
1834 /* <p0:Location> isa OTHER */
1835 type_struct = self->type->resolution_table->types[COLOR_standard__kernel__Comparable__OTHER];
1836 cltype = type_struct->color;
1837 idtype = type_struct->id;
1838 if(cltype >= p0->type->table_size) {
1839 var1 = 0;
1840 } else {
1841 var1 = p0->type->type_table[cltype] == idtype;
1842 }
1843 if (unlikely(!var1)) {
1844 var_class_name = p0 == NULL ? "null" : p0->type->name;
1845 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
1846 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 159);
1847 show_backtrace(1);
1848 }
1849 var_other = p0;
1850 {
1851 var2 = nit___nit__Location___standard__kernel__Object___61d_61d(self, var_other);
1852 }
1853 if (var2){
1854 var3 = 0;
1855 var = var3;
1856 goto RET_LABEL;
1857 } else {
1858 }
1859 {
1860 var4 = nit___nit__Location___located_in(self, var_other);
1861 }
1862 if (var4){
1863 var5 = 1;
1864 var = var5;
1865 goto RET_LABEL;
1866 } else {
1867 }
1868 {
1869 var6 = nit___nit__Location___located_in(var_other, self);
1870 }
1871 if (var6){
1872 var7 = 0;
1873 var = var7;
1874 goto RET_LABEL;
1875 } else {
1876 }
1877 {
1878 { /* Inline location#Location#line_start (self) on <self:Location> */
1879 var10 = self->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on <self:Location> */
1880 var8 = var10;
1881 RET_LABEL9:(void)0;
1882 }
1883 }
1884 {
1885 { /* Inline location#Location#line_start (var_other) on <var_other:Location> */
1886 var13 = var_other->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on <var_other:Location> */
1887 var11 = var13;
1888 RET_LABEL12:(void)0;
1889 }
1890 }
1891 {
1892 { /* Inline kernel#Int#!= (var8,var11) on <var8:Int> */
1893 var16 = var8 == var11;
1894 var17 = !var16;
1895 var14 = var17;
1896 goto RET_LABEL15;
1897 RET_LABEL15:(void)0;
1898 }
1899 }
1900 if (var14){
1901 {
1902 { /* Inline location#Location#line_start (self) on <self:Location> */
1903 var20 = self->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on <self:Location> */
1904 var18 = var20;
1905 RET_LABEL19:(void)0;
1906 }
1907 }
1908 {
1909 { /* Inline location#Location#line_start (var_other) on <var_other:Location> */
1910 var23 = var_other->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on <var_other:Location> */
1911 var21 = var23;
1912 RET_LABEL22:(void)0;
1913 }
1914 }
1915 {
1916 { /* Inline kernel#Int#< (var18,var21) on <var18:Int> */
1917 /* Covariant cast for argument 0 (i) <var21:Int> isa OTHER */
1918 /* <var21:Int> isa OTHER */
1919 var26 = 1; /* easy <var21:Int> isa OTHER*/
1920 if (unlikely(!var26)) {
1921 var_class_name29 = type_standard__Int.name;
1922 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name29);
1923 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
1924 show_backtrace(1);
1925 }
1926 var30 = var18 < var21;
1927 var24 = var30;
1928 goto RET_LABEL25;
1929 RET_LABEL25:(void)0;
1930 }
1931 }
1932 var = var24;
1933 goto RET_LABEL;
1934 } else {
1935 }
1936 {
1937 { /* Inline location#Location#column_start (self) on <self:Location> */
1938 var33 = self->attrs[COLOR_nit__location__Location___column_start].l; /* _column_start on <self:Location> */
1939 var31 = var33;
1940 RET_LABEL32:(void)0;
1941 }
1942 }
1943 {
1944 { /* Inline location#Location#column_start (var_other) on <var_other:Location> */
1945 var36 = var_other->attrs[COLOR_nit__location__Location___column_start].l; /* _column_start on <var_other:Location> */
1946 var34 = var36;
1947 RET_LABEL35:(void)0;
1948 }
1949 }
1950 {
1951 { /* Inline kernel#Int#!= (var31,var34) on <var31:Int> */
1952 var39 = var31 == var34;
1953 var40 = !var39;
1954 var37 = var40;
1955 goto RET_LABEL38;
1956 RET_LABEL38:(void)0;
1957 }
1958 }
1959 if (var37){
1960 {
1961 { /* Inline location#Location#column_start (self) on <self:Location> */
1962 var43 = self->attrs[COLOR_nit__location__Location___column_start].l; /* _column_start on <self:Location> */
1963 var41 = var43;
1964 RET_LABEL42:(void)0;
1965 }
1966 }
1967 {
1968 { /* Inline location#Location#column_start (var_other) on <var_other:Location> */
1969 var46 = var_other->attrs[COLOR_nit__location__Location___column_start].l; /* _column_start on <var_other:Location> */
1970 var44 = var46;
1971 RET_LABEL45:(void)0;
1972 }
1973 }
1974 {
1975 { /* Inline kernel#Int#< (var41,var44) on <var41:Int> */
1976 /* Covariant cast for argument 0 (i) <var44:Int> isa OTHER */
1977 /* <var44:Int> isa OTHER */
1978 var49 = 1; /* easy <var44:Int> isa OTHER*/
1979 if (unlikely(!var49)) {
1980 var_class_name52 = type_standard__Int.name;
1981 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name52);
1982 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
1983 show_backtrace(1);
1984 }
1985 var53 = var41 < var44;
1986 var47 = var53;
1987 goto RET_LABEL48;
1988 RET_LABEL48:(void)0;
1989 }
1990 }
1991 var = var47;
1992 goto RET_LABEL;
1993 } else {
1994 }
1995 {
1996 { /* Inline location#Location#line_end (self) on <self:Location> */
1997 var56 = self->attrs[COLOR_nit__location__Location___line_end].l; /* _line_end on <self:Location> */
1998 var54 = var56;
1999 RET_LABEL55:(void)0;
2000 }
2001 }
2002 {
2003 { /* Inline location#Location#line_end (var_other) on <var_other:Location> */
2004 var59 = var_other->attrs[COLOR_nit__location__Location___line_end].l; /* _line_end on <var_other:Location> */
2005 var57 = var59;
2006 RET_LABEL58:(void)0;
2007 }
2008 }
2009 {
2010 { /* Inline kernel#Int#!= (var54,var57) on <var54:Int> */
2011 var62 = var54 == var57;
2012 var63 = !var62;
2013 var60 = var63;
2014 goto RET_LABEL61;
2015 RET_LABEL61:(void)0;
2016 }
2017 }
2018 if (var60){
2019 {
2020 { /* Inline location#Location#line_end (self) on <self:Location> */
2021 var66 = self->attrs[COLOR_nit__location__Location___line_end].l; /* _line_end on <self:Location> */
2022 var64 = var66;
2023 RET_LABEL65:(void)0;
2024 }
2025 }
2026 {
2027 { /* Inline location#Location#line_end (var_other) on <var_other:Location> */
2028 var69 = var_other->attrs[COLOR_nit__location__Location___line_end].l; /* _line_end on <var_other:Location> */
2029 var67 = var69;
2030 RET_LABEL68:(void)0;
2031 }
2032 }
2033 {
2034 { /* Inline kernel#Int#< (var64,var67) on <var64:Int> */
2035 /* Covariant cast for argument 0 (i) <var67:Int> isa OTHER */
2036 /* <var67:Int> isa OTHER */
2037 var72 = 1; /* easy <var67:Int> isa OTHER*/
2038 if (unlikely(!var72)) {
2039 var_class_name75 = type_standard__Int.name;
2040 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name75);
2041 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
2042 show_backtrace(1);
2043 }
2044 var76 = var64 < var67;
2045 var70 = var76;
2046 goto RET_LABEL71;
2047 RET_LABEL71:(void)0;
2048 }
2049 }
2050 var = var70;
2051 goto RET_LABEL;
2052 } else {
2053 }
2054 {
2055 { /* Inline location#Location#column_end (self) on <self:Location> */
2056 var79 = self->attrs[COLOR_nit__location__Location___column_end].l; /* _column_end on <self:Location> */
2057 var77 = var79;
2058 RET_LABEL78:(void)0;
2059 }
2060 }
2061 {
2062 { /* Inline location#Location#column_end (var_other) on <var_other:Location> */
2063 var82 = var_other->attrs[COLOR_nit__location__Location___column_end].l; /* _column_end on <var_other:Location> */
2064 var80 = var82;
2065 RET_LABEL81:(void)0;
2066 }
2067 }
2068 {
2069 { /* Inline kernel#Int#< (var77,var80) on <var77:Int> */
2070 /* Covariant cast for argument 0 (i) <var80:Int> isa OTHER */
2071 /* <var80:Int> isa OTHER */
2072 var85 = 1; /* easy <var80:Int> isa OTHER*/
2073 if (unlikely(!var85)) {
2074 var_class_name88 = type_standard__Int.name;
2075 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name88);
2076 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
2077 show_backtrace(1);
2078 }
2079 var89 = var77 < var80;
2080 var83 = var89;
2081 goto RET_LABEL84;
2082 RET_LABEL84:(void)0;
2083 }
2084 }
2085 var = var83;
2086 goto RET_LABEL;
2087 RET_LABEL:;
2088 return var;
2089 }
2090 /* method location#Location#colored_line for (self: Location, String): String */
2091 val* nit___nit__Location___colored_line(val* self, val* p0) {
2092 val* var /* : String */;
2093 val* var_color /* var color: String */;
2094 long var1 /* : Int */;
2095 char var2 /* : Char */;
2096 char var4 /* : Char */;
2097 char var_esc /* var esc: Char */;
2098 static val* varonce;
2099 val* var5 /* : String */;
2100 char* var6 /* : NativeString */;
2101 long var7 /* : Int */;
2102 val* var8 /* : FlatString */;
2103 val* var9 /* : Array[Object] */;
2104 long var10 /* : Int */;
2105 val* var11 /* : NativeArray[Object] */;
2106 val* var12 /* : Object */;
2107 val* var13 /* : String */;
2108 val* var_def /* var def: String */;
2109 static val* varonce14;
2110 val* var15 /* : String */;
2111 char* var16 /* : NativeString */;
2112 long var17 /* : Int */;
2113 val* var18 /* : FlatString */;
2114 static val* varonce19;
2115 val* var20 /* : String */;
2116 char* var21 /* : NativeString */;
2117 long var22 /* : Int */;
2118 val* var23 /* : FlatString */;
2119 val* var24 /* : Array[Object] */;
2120 long var25 /* : Int */;
2121 val* var26 /* : NativeArray[Object] */;
2122 val* var27 /* : Object */;
2123 val* var28 /* : String */;
2124 val* var_col /* var col: String */;
2125 val* var_l /* var l: Location */;
2126 long var29 /* : Int */;
2127 long var31 /* : Int */;
2128 long var_i /* var i: Int */;
2129 val* var32 /* : nullable SourceFile */;
2130 val* var34 /* : nullable SourceFile */;
2131 val* var35 /* : Array[Int] */;
2132 val* var37 /* : Array[Int] */;
2133 long var38 /* : Int */;
2134 long var39 /* : Int */;
2135 short int var41 /* : Bool */;
2136 int cltype;
2137 int idtype;
2138 const char* var_class_name;
2139 long var42 /* : Int */;
2140 val* var43 /* : nullable Object */;
2141 long var44 /* : Int */;
2142 long var_line_start /* var line_start: Int */;
2143 long var_line_end /* var line_end: Int */;
2144 val* var45 /* : nullable SourceFile */;
2145 val* var47 /* : nullable SourceFile */;
2146 val* var48 /* : String */;
2147 val* var50 /* : String */;
2148 val* var_string /* var string: String */;
2149 short int var51 /* : Bool */;
2150 short int var52 /* : Bool */;
2151 long var53 /* : Int */;
2152 long var54 /* : Int */;
2153 short int var56 /* : Bool */;
2154 int cltype57;
2155 int idtype58;
2156 const char* var_class_name59;
2157 long var60 /* : Int */;
2158 long var61 /* : Int */;
2159 short int var62 /* : Bool */;
2160 short int var64 /* : Bool */;
2161 int cltype65;
2162 int idtype66;
2163 const char* var_class_name67;
2164 short int var68 /* : Bool */;
2165 short int var_ /* var : Bool */;
2166 val* var69 /* : SequenceRead[Char] */;
2167 long var70 /* : Int */;
2168 long var71 /* : Int */;
2169 short int var73 /* : Bool */;
2170 int cltype74;
2171 int idtype75;
2172 const char* var_class_name76;
2173 long var77 /* : Int */;
2174 val* var78 /* : nullable Object */;
2175 char var79 /* : Char */;
2176 short int var80 /* : Bool */;
2177 short int var82 /* : Bool */;
2178 char var83 /* : Char */;
2179 short int var84 /* : Bool */;
2180 short int var_85 /* var : Bool */;
2181 val* var86 /* : SequenceRead[Char] */;
2182 long var87 /* : Int */;
2183 long var88 /* : Int */;
2184 short int var90 /* : Bool */;
2185 int cltype91;
2186 int idtype92;
2187 const char* var_class_name93;
2188 long var94 /* : Int */;
2189 val* var95 /* : nullable Object */;
2190 char var96 /* : Char */;
2191 short int var97 /* : Bool */;
2192 short int var99 /* : Bool */;
2193 char var100 /* : Char */;
2194 short int var101 /* : Bool */;
2195 long var102 /* : Int */;
2196 long var103 /* : Int */;
2197 short int var105 /* : Bool */;
2198 int cltype106;
2199 int idtype107;
2200 const char* var_class_name108;
2201 long var109 /* : Int */;
2202 long var110 /* : Int */;
2203 long var112 /* : Int */;
2204 long var113 /* : Int */;
2205 short int var114 /* : Bool */;
2206 short int var116 /* : Bool */;
2207 int cltype117;
2208 int idtype118;
2209 const char* var_class_name119;
2210 short int var120 /* : Bool */;
2211 long var121 /* : Int */;
2212 long var123 /* : Int */;
2213 long var124 /* : Int */;
2214 long var125 /* : Int */;
2215 short int var127 /* : Bool */;
2216 int cltype128;
2217 int idtype129;
2218 const char* var_class_name130;
2219 long var131 /* : Int */;
2220 val* var132 /* : Text */;
2221 val* var_lstart /* var lstart: nullable Object */;
2222 static val* varonce133;
2223 val* var134 /* : String */;
2224 char* var135 /* : NativeString */;
2225 long var136 /* : Int */;
2226 val* var137 /* : FlatString */;
2227 long var138 /* : Int */;
2228 long var140 /* : Int */;
2229 short int var141 /* : Bool */;
2230 short int var143 /* : Bool */;
2231 short int var144 /* : Bool */;
2232 long var145 /* : Int */;
2233 short int var147 /* : Bool */;
2234 int cltype148;
2235 int idtype149;
2236 const char* var_class_name150;
2237 long var151 /* : Int */;
2238 long var152 /* : Int */;
2239 long var153 /* : Int */;
2240 short int var155 /* : Bool */;
2241 int cltype156;
2242 int idtype157;
2243 const char* var_class_name158;
2244 long var159 /* : Int */;
2245 val* var160 /* : nullable Object */;
2246 val* var_cend /* var cend: nullable Object */;
2247 long var161 /* : Int */;
2248 long var163 /* : Int */;
2249 val* var164 /* : nullable Object */;
2250 long var165 /* : Int */;
2251 short int var167 /* : Bool */;
2252 int cltype168;
2253 int idtype169;
2254 const char* var_class_name170;
2255 long var171 /* : Int */;
2256 long var172 /* : Int */;
2257 long var173 /* : Int */;
2258 short int var174 /* : Bool */;
2259 short int var176 /* : Bool */;
2260 int cltype177;
2261 int idtype178;
2262 const char* var_class_name179;
2263 short int var180 /* : Bool */;
2264 long var181 /* : Int */;
2265 long var183 /* : Int */;
2266 long var184 /* : Int */;
2267 short int var186 /* : Bool */;
2268 int cltype187;
2269 int idtype188;
2270 const char* var_class_name189;
2271 long var190 /* : Int */;
2272 long var191 /* : Int */;
2273 long var192 /* : Int */;
2274 short int var194 /* : Bool */;
2275 int cltype195;
2276 int idtype196;
2277 const char* var_class_name197;
2278 long var198 /* : Int */;
2279 long var199 /* : Int */;
2280 long var201 /* : Int */;
2281 long var202 /* : Int */;
2282 short int var204 /* : Bool */;
2283 int cltype205;
2284 int idtype206;
2285 const char* var_class_name207;
2286 long var208 /* : Int */;
2287 long var209 /* : Int */;
2288 long var210 /* : Int */;
2289 long var211 /* : Int */;
2290 short int var213 /* : Bool */;
2291 int cltype214;
2292 int idtype215;
2293 const char* var_class_name216;
2294 long var217 /* : Int */;
2295 val* var218 /* : Text */;
2296 val* var_lmid /* var lmid: nullable Object */;
2297 long var219 /* : Int */;
2298 short int var221 /* : Bool */;
2299 int cltype222;
2300 int idtype223;
2301 const char* var_class_name224;
2302 long var225 /* : Int */;
2303 long var226 /* : Int */;
2304 long var227 /* : Int */;
2305 short int var229 /* : Bool */;
2306 int cltype230;
2307 int idtype231;
2308 const char* var_class_name232;
2309 long var233 /* : Int */;
2310 long var234 /* : Int */;
2311 short int var236 /* : Bool */;
2312 int cltype237;
2313 int idtype238;
2314 const char* var_class_name239;
2315 long var240 /* : Int */;
2316 long var241 /* : Int */;
2317 long var242 /* : Int */;
2318 long var243 /* : Int */;
2319 short int var245 /* : Bool */;
2320 int cltype246;
2321 int idtype247;
2322 const char* var_class_name248;
2323 long var249 /* : Int */;
2324 val* var250 /* : Text */;
2325 val* var_lend /* var lend: nullable Object */;
2326 static val* varonce251;
2327 val* var252 /* : String */;
2328 char* var253 /* : NativeString */;
2329 long var254 /* : Int */;
2330 val* var255 /* : FlatString */;
2331 static val* varonce256;
2332 val* var257 /* : String */;
2333 char* var258 /* : NativeString */;
2334 long var259 /* : Int */;
2335 val* var260 /* : FlatString */;
2336 val* var261 /* : FlatBuffer */;
2337 val* var_indent /* var indent: FlatBuffer */;
2338 long var_j /* var j: Int */;
2339 long var263 /* : Int */;
2340 long var265 /* : Int */;
2341 long var266 /* : Int */;
2342 short int var268 /* : Bool */;
2343 int cltype269;
2344 int idtype270;
2345 const char* var_class_name271;
2346 long var272 /* : Int */;
2347 long var273 /* : Int */;
2348 long var274 /* : Int */;
2349 short int var276 /* : Bool */;
2350 int cltype277;
2351 int idtype278;
2352 const char* var_class_name279;
2353 long var280 /* : Int */;
2354 long var_281 /* var : Int */;
2355 short int var282 /* : Bool */;
2356 short int var284 /* : Bool */;
2357 int cltype285;
2358 int idtype286;
2359 const char* var_class_name287;
2360 short int var288 /* : Bool */;
2361 val* var289 /* : SequenceRead[Char] */;
2362 val* var290 /* : nullable Object */;
2363 char var291 /* : Char */;
2364 short int var292 /* : Bool */;
2365 short int var294 /* : Bool */;
2366 char var295 /* : Char */;
2367 char var296 /* : Char */;
2368 char var297 /* : Char */;
2369 long var298 /* : Int */;
2370 long var299 /* : Int */;
2371 static val* varonce301;
2372 val* var302 /* : String */;
2373 char* var303 /* : NativeString */;
2374 long var304 /* : Int */;
2375 val* var305 /* : FlatString */;
2376 static val* varonce306;
2377 val* var307 /* : String */;
2378 char* var308 /* : NativeString */;
2379 long var309 /* : Int */;
2380 val* var310 /* : FlatString */;
2381 static val* varonce311;
2382 val* var312 /* : String */;
2383 char* var313 /* : NativeString */;
2384 long var314 /* : Int */;
2385 val* var315 /* : FlatString */;
2386 val* var316 /* : Array[Object] */;
2387 long var317 /* : Int */;
2388 val* var318 /* : NativeArray[Object] */;
2389 val* var319 /* : String */;
2390 var_color = p0;
2391 var1 = 27;
2392 {
2393 { /* Inline kernel#Int#ascii (var1) on <var1:Int> */
2394 var4 = var1;
2395 var2 = var4;
2396 goto RET_LABEL3;
2397 RET_LABEL3:(void)0;
2398 }
2399 }
2400 var_esc = var2;
2401 if (varonce) {
2402 var5 = varonce;
2403 } else {
2404 var6 = "[0m";
2405 var7 = 3;
2406 var8 = standard___standard__NativeString___to_s_with_length(var6, var7);
2407 var5 = var8;
2408 varonce = var5;
2409 }
2410 var9 = NEW_standard__Array(&type_standard__Array__standard__Object);
2411 { /* var9 = array_instance Array[Object] */
2412 var10 = 2;
2413 var11 = NEW_standard__NativeArray(var10, &type_standard__NativeArray__standard__Object);
2414 var12 = BOX_standard__Char(var_esc); /* autobox from Char to Object */
2415 ((struct instance_standard__NativeArray*)var11)->values[0] = (val*) var12;
2416 ((struct instance_standard__NativeArray*)var11)->values[1] = (val*) var5;
2417 {
2418 ((void (*)(val* self, val* p0, long p1))(var9->class->vft[COLOR_standard__array__Array__with_native]))(var9, var11, var10) /* with_native on <var9:Array[Object]>*/;
2419 }
2420 }
2421 {
2422 var13 = ((val* (*)(val* self))(var9->class->vft[COLOR_standard__string__Object__to_s]))(var9) /* to_s on <var9:Array[Object]>*/;
2423 }
2424 var_def = var13;
2425 if (varonce14) {
2426 var15 = varonce14;
2427 } else {
2428 var16 = "[";
2429 var17 = 1;
2430 var18 = standard___standard__NativeString___to_s_with_length(var16, var17);
2431 var15 = var18;
2432 varonce14 = var15;
2433 }
2434 if (varonce19) {
2435 var20 = varonce19;
2436 } else {
2437 var21 = "m";
2438 var22 = 1;
2439 var23 = standard___standard__NativeString___to_s_with_length(var21, var22);
2440 var20 = var23;
2441 varonce19 = var20;
2442 }
2443 var24 = NEW_standard__Array(&type_standard__Array__standard__Object);
2444 { /* var24 = array_instance Array[Object] */
2445 var25 = 4;
2446 var26 = NEW_standard__NativeArray(var25, &type_standard__NativeArray__standard__Object);
2447 var27 = BOX_standard__Char(var_esc); /* autobox from Char to Object */
2448 ((struct instance_standard__NativeArray*)var26)->values[0] = (val*) var27;
2449 ((struct instance_standard__NativeArray*)var26)->values[1] = (val*) var15;
2450 ((struct instance_standard__NativeArray*)var26)->values[2] = (val*) var_color;
2451 ((struct instance_standard__NativeArray*)var26)->values[3] = (val*) var20;
2452 {
2453 ((void (*)(val* self, val* p0, long p1))(var24->class->vft[COLOR_standard__array__Array__with_native]))(var24, var26, var25) /* with_native on <var24:Array[Object]>*/;
2454 }
2455 }
2456 {
2457 var28 = ((val* (*)(val* self))(var24->class->vft[COLOR_standard__string__Object__to_s]))(var24) /* to_s on <var24:Array[Object]>*/;
2458 }
2459 var_col = var28;
2460 var_l = self;
2461 {
2462 { /* Inline location#Location#line_start (var_l) on <var_l:Location> */
2463 var31 = var_l->attrs[COLOR_nit__location__Location___line_start].l; /* _line_start on <var_l:Location> */
2464 var29 = var31;
2465 RET_LABEL30:(void)0;
2466 }
2467 }
2468 var_i = var29;
2469 {
2470 { /* Inline location#Location#file (var_l) on <var_l:Location> */
2471 var34 = var_l->attrs[COLOR_nit__location__Location___file].val; /* _file on <var_l:Location> */
2472 var32 = var34;
2473 RET_LABEL33:(void)0;
2474 }
2475 }
2476 if (var32 == NULL) {
2477 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2478 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 184);
2479 show_backtrace(1);
2480 } else {
2481 { /* Inline location#SourceFile#line_starts (var32) on <var32:nullable SourceFile> */
2482 if (unlikely(var32 == NULL)) {
2483 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2484 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 45);
2485 show_backtrace(1);
2486 }
2487 var37 = var32->attrs[COLOR_nit__location__SourceFile___line_starts].val; /* _line_starts on <var32:nullable SourceFile> */
2488 if (unlikely(var37 == NULL)) {
2489 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _line_starts");
2490 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 45);
2491 show_backtrace(1);
2492 }
2493 var35 = var37;
2494 RET_LABEL36:(void)0;
2495 }
2496 }
2497 var38 = 1;
2498 {
2499 { /* Inline kernel#Int#- (var_i,var38) on <var_i:Int> */
2500 /* Covariant cast for argument 0 (i) <var38:Int> isa OTHER */
2501 /* <var38:Int> isa OTHER */
2502 var41 = 1; /* easy <var38:Int> isa OTHER*/
2503 if (unlikely(!var41)) {
2504 var_class_name = type_standard__Int.name;
2505 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name);
2506 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
2507 show_backtrace(1);
2508 }
2509 var42 = var_i - var38;
2510 var39 = var42;
2511 goto RET_LABEL40;
2512 RET_LABEL40:(void)0;
2513 }
2514 }
2515 {
2516 var43 = standard___standard__Array___standard__abstract_collection__SequenceRead___91d_93d(var35, var39);
2517 }
2518 var44 = ((struct instance_standard__Int*)var43)->value; /* autounbox from nullable Object to Int */;
2519 var_line_start = var44;
2520 var_line_end = var_line_start;
2521 {
2522 { /* Inline location#Location#file (var_l) on <var_l:Location> */
2523 var47 = var_l->attrs[COLOR_nit__location__Location___file].val; /* _file on <var_l:Location> */
2524 var45 = var47;
2525 RET_LABEL46:(void)0;
2526 }
2527 }
2528 if (var45 == NULL) {
2529 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2530 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 186);
2531 show_backtrace(1);
2532 } else {
2533 { /* Inline location#SourceFile#string (var45) on <var45:nullable SourceFile> */
2534 if (unlikely(var45 == NULL)) {
2535 PRINT_ERROR("Runtime error: %s", "Receiver is null");
2536 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 25);
2537 show_backtrace(1);
2538 }
2539 var50 = var45->attrs[COLOR_nit__location__SourceFile___string].val; /* _string on <var45:nullable SourceFile> */
2540 if (unlikely(var50 == NULL)) {
2541 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _string");
2542 PRINT_ERROR(" (%s:%d)\n", FILE_nit__location, 25);
2543 show_backtrace(1);
2544 }
2545 var48 = var50;
2546 RET_LABEL49:(void)0;
2547 }
2548 }
2549 var_string = var48;
2550 for(;;) {
2551 var53 = 1;
2552 {
2553 { /* Inline kernel#Int#+ (var_line_end,var53) on <var_line_end:Int> */
2554 /* Covariant cast for argument 0 (i) <var53:Int> isa OTHER */
2555 /* <var53:Int> isa OTHER */
2556 var56 = 1; /* easy <var53:Int> isa OTHER*/
2557 if (unlikely(!var56)) {
2558 var_class_name59 = type_standard__Int.name;
2559 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name59);
2560 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2561 show_backtrace(1);
2562 }
2563 var60 = var_line_end + var53;
2564 var54 = var60;
2565 goto RET_LABEL55;
2566 RET_LABEL55:(void)0;
2567 }
2568 }
2569 {
2570 var61 = ((long (*)(val* self))(var_string->class->vft[COLOR_standard__string__Text__length]))(var_string) /* length on <var_string:String>*/;
2571 }
2572 {
2573 { /* Inline kernel#Int#< (var54,var61) on <var54:Int> */
2574 /* Covariant cast for argument 0 (i) <var61:Int> isa OTHER */
2575 /* <var61:Int> isa OTHER */
2576 var64 = 1; /* easy <var61:Int> isa OTHER*/
2577 if (unlikely(!var64)) {
2578 var_class_name67 = type_standard__Int.name;
2579 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name67);
2580 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
2581 show_backtrace(1);
2582 }
2583 var68 = var54 < var61;
2584 var62 = var68;
2585 goto RET_LABEL63;
2586 RET_LABEL63:(void)0;
2587 }
2588 }
2589 var_ = var62;
2590 if (var62){
2591 {
2592 var69 = ((val* (*)(val* self))(var_string->class->vft[COLOR_standard__string__Text__chars]))(var_string) /* chars on <var_string:String>*/;
2593 }
2594 var70 = 1;
2595 {
2596 { /* Inline kernel#Int#+ (var_line_end,var70) on <var_line_end:Int> */
2597 /* Covariant cast for argument 0 (i) <var70:Int> isa OTHER */
2598 /* <var70:Int> isa OTHER */
2599 var73 = 1; /* easy <var70:Int> isa OTHER*/
2600 if (unlikely(!var73)) {
2601 var_class_name76 = type_standard__Int.name;
2602 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name76);
2603 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2604 show_backtrace(1);
2605 }
2606 var77 = var_line_end + var70;
2607 var71 = var77;
2608 goto RET_LABEL72;
2609 RET_LABEL72:(void)0;
2610 }
2611 }
2612 {
2613 var78 = ((val* (*)(val* self, long p0))(var69->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var69, var71) /* [] on <var69:SequenceRead[Char]>*/;
2614 }
2615 var79 = '\n';
2616 {
2617 { /* Inline kernel#Char#!= (var78,var79) on <var78:nullable Object(Char)> */
2618 var82 = (var78 != NULL) && (var78->class == &class_standard__Char);
2619 if (var82) {
2620 var83 = ((struct instance_standard__Char*)var78)->value; /* autounbox from nullable Object to Char */;
2621 var82 = (var83 == var79);
2622 }
2623 var84 = !var82;
2624 var80 = var84;
2625 goto RET_LABEL81;
2626 RET_LABEL81:(void)0;
2627 }
2628 }
2629 var52 = var80;
2630 } else {
2631 var52 = var_;
2632 }
2633 var_85 = var52;
2634 if (var52){
2635 {
2636 var86 = ((val* (*)(val* self))(var_string->class->vft[COLOR_standard__string__Text__chars]))(var_string) /* chars on <var_string:String>*/;
2637 }
2638 var87 = 1;
2639 {
2640 { /* Inline kernel#Int#+ (var_line_end,var87) on <var_line_end:Int> */
2641 /* Covariant cast for argument 0 (i) <var87:Int> isa OTHER */
2642 /* <var87:Int> isa OTHER */
2643 var90 = 1; /* easy <var87:Int> isa OTHER*/
2644 if (unlikely(!var90)) {
2645 var_class_name93 = type_standard__Int.name;
2646 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name93);
2647 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2648 show_backtrace(1);
2649 }
2650 var94 = var_line_end + var87;
2651 var88 = var94;
2652 goto RET_LABEL89;
2653 RET_LABEL89:(void)0;
2654 }
2655 }
2656 {
2657 var95 = ((val* (*)(val* self, long p0))(var86->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var86, var88) /* [] on <var86:SequenceRead[Char]>*/;
2658 }
2659 var96 = '\15';
2660 {
2661 { /* Inline kernel#Char#!= (var95,var96) on <var95:nullable Object(Char)> */
2662 var99 = (var95 != NULL) && (var95->class == &class_standard__Char);
2663 if (var99) {
2664 var100 = ((struct instance_standard__Char*)var95)->value; /* autounbox from nullable Object to Char */;
2665 var99 = (var100 == var96);
2666 }
2667 var101 = !var99;
2668 var97 = var101;
2669 goto RET_LABEL98;
2670 RET_LABEL98:(void)0;
2671 }
2672 }
2673 var51 = var97;
2674 } else {
2675 var51 = var_85;
2676 }
2677 if (var51){
2678 var102 = 1;
2679 {
2680 { /* Inline kernel#Int#+ (var_line_end,var102) on <var_line_end:Int> */
2681 /* Covariant cast for argument 0 (i) <var102:Int> isa OTHER */
2682 /* <var102:Int> isa OTHER */
2683 var105 = 1; /* easy <var102:Int> isa OTHER*/
2684 if (unlikely(!var105)) {
2685 var_class_name108 = type_standard__Int.name;
2686 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name108);
2687 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2688 show_backtrace(1);
2689 }
2690 var109 = var_line_end + var102;
2691 var103 = var109;
2692 goto RET_LABEL104;
2693 RET_LABEL104:(void)0;
2694 }
2695 }
2696 var_line_end = var103;
2697 } else {
2698 goto BREAK_label;
2699 }
2700 }
2701 BREAK_label: (void)0;
2702 {
2703 { /* Inline location#Location#column_start (var_l) on <var_l:Location> */
2704 var112 = var_l->attrs[COLOR_nit__location__Location___column_start].l; /* _column_start on <var_l:Location> */
2705 var110 = var112;
2706 RET_LABEL111:(void)0;
2707 }
2708 }
2709 var113 = 0;
2710 {
2711 { /* Inline kernel#Int#> (var110,var113) on <var110:Int> */
2712 /* Covariant cast for argument 0 (i) <var113:Int> isa OTHER */
2713 /* <var113:Int> isa OTHER */
2714 var116 = 1; /* easy <var113:Int> isa OTHER*/
2715 if (unlikely(!var116)) {
2716 var_class_name119 = type_standard__Int.name;
2717 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name119);
2718 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 412);
2719 show_backtrace(1);
2720 }
2721 var120 = var110 > var113;
2722 var114 = var120;
2723 goto RET_LABEL115;
2724 RET_LABEL115:(void)0;
2725 }
2726 }
2727 if (var114){
2728 {
2729 { /* Inline location#Location#column_start (var_l) on <var_l:Location> */
2730 var123 = var_l->attrs[COLOR_nit__location__Location___column_start].l; /* _column_start on <var_l:Location> */
2731 var121 = var123;
2732 RET_LABEL122:(void)0;
2733 }
2734 }
2735 var124 = 1;
2736 {
2737 { /* Inline kernel#Int#- (var121,var124) on <var121:Int> */
2738 /* Covariant cast for argument 0 (i) <var124:Int> isa OTHER */
2739 /* <var124:Int> isa OTHER */
2740 var127 = 1; /* easy <var124:Int> isa OTHER*/
2741 if (unlikely(!var127)) {
2742 var_class_name130 = type_standard__Int.name;
2743 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name130);
2744 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
2745 show_backtrace(1);
2746 }
2747 var131 = var121 - var124;
2748 var125 = var131;
2749 goto RET_LABEL126;
2750 RET_LABEL126:(void)0;
2751 }
2752 }
2753 {
2754 var132 = ((val* (*)(val* self, long p0, long p1))(var_string->class->vft[COLOR_standard__string__Text__substring]))(var_string, var_line_start, var125) /* substring on <var_string:String>*/;
2755 }
2756 var_lstart = var132;
2757 } else {
2758 if (varonce133) {
2759 var134 = varonce133;
2760 } else {
2761 var135 = "";
2762 var136 = 0;
2763 var137 = standard___standard__NativeString___to_s_with_length(var135, var136);
2764 var134 = var137;
2765 varonce133 = var134;
2766 }
2767 var_lstart = var134;
2768 }
2769 {
2770 { /* Inline location#Location#line_end (var_l) on <var_l:Location> */
2771 var140 = var_l->attrs[COLOR_nit__location__Location___line_end].l; /* _line_end on <var_l:Location> */
2772 var138 = var140;
2773 RET_LABEL139:(void)0;
2774 }
2775 }
2776 {
2777 { /* Inline kernel#Int#!= (var_i,var138) on <var_i:Int> */
2778 var143 = var_i == var138;
2779 var144 = !var143;
2780 var141 = var144;
2781 goto RET_LABEL142;
2782 RET_LABEL142:(void)0;
2783 }
2784 }
2785 if (var141){
2786 {
2787 { /* Inline kernel#Int#- (var_line_end,var_line_start) on <var_line_end:Int> */
2788 /* Covariant cast for argument 0 (i) <var_line_start:Int> isa OTHER */
2789 /* <var_line_start:Int> isa OTHER */
2790 var147 = 1; /* easy <var_line_start:Int> isa OTHER*/
2791 if (unlikely(!var147)) {
2792 var_class_name150 = type_standard__Int.name;
2793 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name150);
2794 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
2795 show_backtrace(1);
2796 }
2797 var151 = var_line_end - var_line_start;
2798 var145 = var151;
2799 goto RET_LABEL146;
2800 RET_LABEL146:(void)0;
2801 }
2802 }
2803 var152 = 1;
2804 {
2805 { /* Inline kernel#Int#+ (var145,var152) on <var145:Int> */
2806 /* Covariant cast for argument 0 (i) <var152:Int> isa OTHER */
2807 /* <var152:Int> isa OTHER */
2808 var155 = 1; /* easy <var152:Int> isa OTHER*/
2809 if (unlikely(!var155)) {
2810 var_class_name158 = type_standard__Int.name;
2811 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name158);
2812 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2813 show_backtrace(1);
2814 }
2815 var159 = var145 + var152;
2816 var153 = var159;
2817 goto RET_LABEL154;
2818 RET_LABEL154:(void)0;
2819 }
2820 }
2821 var160 = BOX_standard__Int(var153); /* autobox from Int to nullable Object */
2822 var_cend = var160;
2823 } else {
2824 {
2825 { /* Inline location#Location#column_end (var_l) on <var_l:Location> */
2826 var163 = var_l->attrs[COLOR_nit__location__Location___column_end].l; /* _column_end on <var_l:Location> */
2827 var161 = var163;
2828 RET_LABEL162:(void)0;
2829 }
2830 }
2831 var164 = BOX_standard__Int(var161); /* autobox from Int to nullable Object */
2832 var_cend = var164;
2833 }
2834 {
2835 { /* Inline kernel#Int#+ (var_line_start,var_cend) on <var_line_start:Int> */
2836 /* Covariant cast for argument 0 (i) <var_cend:nullable Object(Int)> isa OTHER */
2837 /* <var_cend:nullable Object(Int)> isa OTHER */
2838 var167 = 1; /* easy <var_cend:nullable Object(Int)> isa OTHER*/
2839 if (unlikely(!var167)) {
2840 var_class_name170 = var_cend == NULL ? "null" : var_cend->type->name;
2841 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name170);
2842 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2843 show_backtrace(1);
2844 }
2845 var171 = ((struct instance_standard__Int*)var_cend)->value; /* autounbox from nullable Object to Int */;
2846 var172 = var_line_start + var171;
2847 var165 = var172;
2848 goto RET_LABEL166;
2849 RET_LABEL166:(void)0;
2850 }
2851 }
2852 {
2853 var173 = ((long (*)(val* self))(var_string->class->vft[COLOR_standard__string__Text__length]))(var_string) /* length on <var_string:String>*/;
2854 }
2855 {
2856 { /* Inline kernel#Int#<= (var165,var173) on <var165:Int> */
2857 /* Covariant cast for argument 0 (i) <var173:Int> isa OTHER */
2858 /* <var173:Int> isa OTHER */
2859 var176 = 1; /* easy <var173:Int> isa OTHER*/
2860 if (unlikely(!var176)) {
2861 var_class_name179 = type_standard__Int.name;
2862 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name179);
2863 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 409);
2864 show_backtrace(1);
2865 }
2866 var180 = var165 <= var173;
2867 var174 = var180;
2868 goto RET_LABEL175;
2869 RET_LABEL175:(void)0;
2870 }
2871 }
2872 if (var174){
2873 {
2874 { /* Inline location#Location#column_start (var_l) on <var_l:Location> */
2875 var183 = var_l->attrs[COLOR_nit__location__Location___column_start].l; /* _column_start on <var_l:Location> */
2876 var181 = var183;
2877 RET_LABEL182:(void)0;
2878 }
2879 }
2880 {
2881 { /* Inline kernel#Int#+ (var_line_start,var181) on <var_line_start:Int> */
2882 /* Covariant cast for argument 0 (i) <var181:Int> isa OTHER */
2883 /* <var181:Int> isa OTHER */
2884 var186 = 1; /* easy <var181:Int> isa OTHER*/
2885 if (unlikely(!var186)) {
2886 var_class_name189 = type_standard__Int.name;
2887 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name189);
2888 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2889 show_backtrace(1);
2890 }
2891 var190 = var_line_start + var181;
2892 var184 = var190;
2893 goto RET_LABEL185;
2894 RET_LABEL185:(void)0;
2895 }
2896 }
2897 var191 = 1;
2898 {
2899 { /* Inline kernel#Int#- (var184,var191) on <var184:Int> */
2900 /* Covariant cast for argument 0 (i) <var191:Int> isa OTHER */
2901 /* <var191:Int> isa OTHER */
2902 var194 = 1; /* easy <var191:Int> isa OTHER*/
2903 if (unlikely(!var194)) {
2904 var_class_name197 = type_standard__Int.name;
2905 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name197);
2906 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
2907 show_backtrace(1);
2908 }
2909 var198 = var184 - var191;
2910 var192 = var198;
2911 goto RET_LABEL193;
2912 RET_LABEL193:(void)0;
2913 }
2914 }
2915 {
2916 { /* Inline location#Location#column_start (var_l) on <var_l:Location> */
2917 var201 = var_l->attrs[COLOR_nit__location__Location___column_start].l; /* _column_start on <var_l:Location> */
2918 var199 = var201;
2919 RET_LABEL200:(void)0;
2920 }
2921 }
2922 {
2923 { /* Inline kernel#Int#- (var_cend,var199) on <var_cend:nullable Object(Int)> */
2924 /* Covariant cast for argument 0 (i) <var199:Int> isa OTHER */
2925 /* <var199:Int> isa OTHER */
2926 var204 = 1; /* easy <var199:Int> isa OTHER*/
2927 if (unlikely(!var204)) {
2928 var_class_name207 = type_standard__Int.name;
2929 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name207);
2930 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
2931 show_backtrace(1);
2932 }
2933 var208 = ((struct instance_standard__Int*)var_cend)->value; /* autounbox from nullable Object to Int */;
2934 var209 = var208 - var199;
2935 var202 = var209;
2936 goto RET_LABEL203;
2937 RET_LABEL203:(void)0;
2938 }
2939 }
2940 var210 = 1;
2941 {
2942 { /* Inline kernel#Int#+ (var202,var210) on <var202:Int> */
2943 /* Covariant cast for argument 0 (i) <var210:Int> isa OTHER */
2944 /* <var210:Int> isa OTHER */
2945 var213 = 1; /* easy <var210:Int> isa OTHER*/
2946 if (unlikely(!var213)) {
2947 var_class_name216 = type_standard__Int.name;
2948 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name216);
2949 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2950 show_backtrace(1);
2951 }
2952 var217 = var202 + var210;
2953 var211 = var217;
2954 goto RET_LABEL212;
2955 RET_LABEL212:(void)0;
2956 }
2957 }
2958 {
2959 var218 = ((val* (*)(val* self, long p0, long p1))(var_string->class->vft[COLOR_standard__string__Text__substring]))(var_string, var192, var211) /* substring on <var_string:String>*/;
2960 }
2961 var_lmid = var218;
2962 {
2963 { /* Inline kernel#Int#+ (var_line_start,var_cend) on <var_line_start:Int> */
2964 /* Covariant cast for argument 0 (i) <var_cend:nullable Object(Int)> isa OTHER */
2965 /* <var_cend:nullable Object(Int)> isa OTHER */
2966 var221 = 1; /* easy <var_cend:nullable Object(Int)> isa OTHER*/
2967 if (unlikely(!var221)) {
2968 var_class_name224 = var_cend == NULL ? "null" : var_cend->type->name;
2969 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name224);
2970 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
2971 show_backtrace(1);
2972 }
2973 var225 = ((struct instance_standard__Int*)var_cend)->value; /* autounbox from nullable Object to Int */;
2974 var226 = var_line_start + var225;
2975 var219 = var226;
2976 goto RET_LABEL220;
2977 RET_LABEL220:(void)0;
2978 }
2979 }
2980 {
2981 { /* Inline kernel#Int#- (var_line_end,var_line_start) on <var_line_end:Int> */
2982 /* Covariant cast for argument 0 (i) <var_line_start:Int> isa OTHER */
2983 /* <var_line_start:Int> isa OTHER */
2984 var229 = 1; /* easy <var_line_start:Int> isa OTHER*/
2985 if (unlikely(!var229)) {
2986 var_class_name232 = type_standard__Int.name;
2987 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name232);
2988 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
2989 show_backtrace(1);
2990 }
2991 var233 = var_line_end - var_line_start;
2992 var227 = var233;
2993 goto RET_LABEL228;
2994 RET_LABEL228:(void)0;
2995 }
2996 }
2997 {
2998 { /* Inline kernel#Int#- (var227,var_cend) on <var227:Int> */
2999 /* Covariant cast for argument 0 (i) <var_cend:nullable Object(Int)> isa OTHER */
3000 /* <var_cend:nullable Object(Int)> isa OTHER */
3001 var236 = 1; /* easy <var_cend:nullable Object(Int)> isa OTHER*/
3002 if (unlikely(!var236)) {
3003 var_class_name239 = var_cend == NULL ? "null" : var_cend->type->name;
3004 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name239);
3005 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
3006 show_backtrace(1);
3007 }
3008 var240 = ((struct instance_standard__Int*)var_cend)->value; /* autounbox from nullable Object to Int */;
3009 var241 = var227 - var240;
3010 var234 = var241;
3011 goto RET_LABEL235;
3012 RET_LABEL235:(void)0;
3013 }
3014 }
3015 var242 = 1;
3016 {
3017 { /* Inline kernel#Int#+ (var234,var242) on <var234:Int> */
3018 /* Covariant cast for argument 0 (i) <var242:Int> isa OTHER */
3019 /* <var242:Int> isa OTHER */
3020 var245 = 1; /* easy <var242:Int> isa OTHER*/
3021 if (unlikely(!var245)) {
3022 var_class_name248 = type_standard__Int.name;
3023 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name248);
3024 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
3025 show_backtrace(1);
3026 }
3027 var249 = var234 + var242;
3028 var243 = var249;
3029 goto RET_LABEL244;
3030 RET_LABEL244:(void)0;
3031 }
3032 }
3033 {
3034 var250 = ((val* (*)(val* self, long p0, long p1))(var_string->class->vft[COLOR_standard__string__Text__substring]))(var_string, var219, var243) /* substring on <var_string:String>*/;
3035 }
3036 var_lend = var250;
3037 } else {
3038 if (varonce251) {
3039 var252 = varonce251;
3040 } else {
3041 var253 = "";
3042 var254 = 0;
3043 var255 = standard___standard__NativeString___to_s_with_length(var253, var254);
3044 var252 = var255;
3045 varonce251 = var252;
3046 }
3047 var_lmid = var252;
3048 if (varonce256) {
3049 var257 = varonce256;
3050 } else {
3051 var258 = "";
3052 var259 = 0;
3053 var260 = standard___standard__NativeString___to_s_with_length(var258, var259);
3054 var257 = var260;
3055 varonce256 = var257;
3056 }
3057 var_lend = var257;
3058 }
3059 var261 = NEW_standard__FlatBuffer(&type_standard__FlatBuffer);
3060 {
3061 { /* Inline string#FlatBuffer#init (var261) on <var261:FlatBuffer> */
3062 {
3063 ((void (*)(val* self))(var261->class->vft[COLOR_standard___standard__FlatBuffer___standard__kernel__Object__init]))(var261) /* init on <var261:FlatBuffer>*/;
3064 }
3065 RET_LABEL262:(void)0;
3066 }
3067 }
3068 var_indent = var261;
3069 var_j = var_line_start;
3070 {
3071 { /* Inline location#Location#column_start (var_l) on <var_l:Location> */
3072 var265 = var_l->attrs[COLOR_nit__location__Location___column_start].l; /* _column_start on <var_l:Location> */
3073 var263 = var265;
3074 RET_LABEL264:(void)0;
3075 }
3076 }
3077 {
3078 { /* Inline kernel#Int#+ (var_line_start,var263) on <var_line_start:Int> */
3079 /* Covariant cast for argument 0 (i) <var263:Int> isa OTHER */
3080 /* <var263:Int> isa OTHER */
3081 var268 = 1; /* easy <var263:Int> isa OTHER*/
3082 if (unlikely(!var268)) {
3083 var_class_name271 = type_standard__Int.name;
3084 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name271);
3085 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 413);
3086 show_backtrace(1);
3087 }
3088 var272 = var_line_start + var263;
3089 var266 = var272;
3090 goto RET_LABEL267;
3091 RET_LABEL267:(void)0;
3092 }
3093 }
3094 var273 = 1;
3095 {
3096 { /* Inline kernel#Int#- (var266,var273) on <var266:Int> */
3097 /* Covariant cast for argument 0 (i) <var273:Int> isa OTHER */
3098 /* <var273:Int> isa OTHER */
3099 var276 = 1; /* easy <var273:Int> isa OTHER*/
3100 if (unlikely(!var276)) {
3101 var_class_name279 = type_standard__Int.name;
3102 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name279);
3103 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 416);
3104 show_backtrace(1);
3105 }
3106 var280 = var266 - var273;
3107 var274 = var280;
3108 goto RET_LABEL275;
3109 RET_LABEL275:(void)0;
3110 }
3111 }
3112 var_281 = var274;
3113 for(;;) {
3114 {
3115 { /* Inline kernel#Int#< (var_j,var_281) on <var_j:Int> */
3116 /* Covariant cast for argument 0 (i) <var_281:Int> isa OTHER */
3117 /* <var_281:Int> isa OTHER */
3118 var284 = 1; /* easy <var_281:Int> isa OTHER*/
3119 if (unlikely(!var284)) {
3120 var_class_name287 = type_standard__Int.name;
3121 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name287);
3122 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel, 410);
3123 show_backtrace(1);
3124 }
3125 var288 = var_j < var_281;
3126 var282 = var288;
3127 goto RET_LABEL283;
3128 RET_LABEL283:(void)0;
3129 }
3130 }
3131 if (var282){
3132 {
3133 var289 = ((val* (*)(val* self))(var_string->class->vft[COLOR_standard__string__Text__chars]))(var_string) /* chars on <var_string:String>*/;
3134 }
3135 {
3136 var290 = ((val* (*)(val* self, long p0))(var289->class->vft[COLOR_standard__abstract_collection__SequenceRead___91d_93d]))(var289, var_j) /* [] on <var289:SequenceRead[Char]>*/;
3137 }
3138 var291 = '\11';
3139 {
3140 { /* Inline kernel#Char#== (var290,var291) on <var290:nullable Object(Char)> */
3141 var294 = (var290 != NULL) && (var290->class == &class_standard__Char);
3142 if (var294) {
3143 var295 = ((struct instance_standard__Char*)var290)->value; /* autounbox from nullable Object to Char */;
3144 var294 = (var295 == var291);
3145 }
3146 var292 = var294;
3147 goto RET_LABEL293;
3148 RET_LABEL293:(void)0;
3149 }
3150 }
3151 if (var292){
3152 var296 = '\11';
3153 {
3154 standard___standard__FlatBuffer___Buffer__add(var_indent, var296); /* Direct call string#FlatBuffer#add on <var_indent:FlatBuffer>*/
3155 }
3156 } else {
3157 var297 = ' ';
3158 {
3159 standard___standard__FlatBuffer___Buffer__add(var_indent, var297); /* Direct call string#FlatBuffer#add on <var_indent:FlatBuffer>*/
3160 }
3161 }
3162 var298 = 1;
3163 {
3164 var299 = standard___standard__Int___Discrete__successor(var_j, var298);
3165 }
3166 var_j = var299;
3167 } else {
3168 goto BREAK_label300;
3169 }
3170 }
3171 BREAK_label300: (void)0;
3172 if (varonce301) {
3173 var302 = varonce301;
3174 } else {
3175 var303 = "\11";
3176 var304 = 1;
3177 var305 = standard___standard__NativeString___to_s_with_length(var303, var304);
3178 var302 = var305;
3179 varonce301 = var302;
3180 }
3181 if (varonce306) {
3182 var307 = varonce306;
3183 } else {
3184 var308 = "\n\11";
3185 var309 = 2;
3186 var310 = standard___standard__NativeString___to_s_with_length(var308, var309);
3187 var307 = var310;
3188 varonce306 = var307;
3189 }
3190 if (varonce311) {
3191 var312 = varonce311;
3192 } else {
3193 var313 = "^";
3194 var314 = 1;
3195 var315 = standard___standard__NativeString___to_s_with_length(var313, var314);
3196 var312 = var315;
3197 varonce311 = var312;
3198 }
3199 var316 = NEW_standard__Array(&type_standard__Array__standard__Object);
3200 { /* var316 = array_instance Array[Object] */
3201 var317 = 9;
3202 var318 = NEW_standard__NativeArray(var317, &type_standard__NativeArray__standard__Object);
3203 ((struct instance_standard__NativeArray*)var318)->values[0] = (val*) var302;
3204 ((struct instance_standard__NativeArray*)var318)->values[1] = (val*) var_lstart;
3205 ((struct instance_standard__NativeArray*)var318)->values[2] = (val*) var_col;
3206 ((struct instance_standard__NativeArray*)var318)->values[3] = (val*) var_lmid;
3207 ((struct instance_standard__NativeArray*)var318)->values[4] = (val*) var_def;
3208 ((struct instance_standard__NativeArray*)var318)->values[5] = (val*) var_lend;
3209 ((struct instance_standard__NativeArray*)var318)->values[6] = (val*) var307;
3210 ((struct instance_standard__NativeArray*)var318)->values[7] = (val*) var_indent;
3211 ((struct instance_standard__NativeArray*)var318)->values[8] = (val*) var312;
3212 {
3213 ((void (*)(val* self, val* p0, long p1))(var316->class->vft[COLOR_standard__array__Array__with_native]))(var316, var318, var317) /* with_native on <var316:Array[Object]>*/;
3214 }
3215 }
3216 {
3217 var319 = ((val* (*)(val* self))(var316->class->vft[COLOR_standard__string__Object__to_s]))(var316) /* to_s on <var316:Array[Object]>*/;
3218 }
3219 var = var319;
3220 goto RET_LABEL;
3221 RET_LABEL:;
3222 return var;
3223 }
3224 /* method location#Location#init for (self: Location) */
3225 void nit___nit__Location___standard__kernel__Object__init(val* self) {
3226 {
3227 ((void (*)(val* self))(self->class->vft[COLOR_nit___nit__Location___standard__kernel__Object__init]))(self) /* init on <self:Location>*/;
3228 }
3229 RET_LABEL:;
3230 }