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