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