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