1 /* This C file is generated by NIT to compile module location. */
2 #include "location._sep.h"
3 static const char LOCATE_location___SourceFile___filename
[] = "location::SourceFile::filename";
4 val_t
location___SourceFile___filename(val_t p0
){
5 struct {struct stack_frame_t me
;} fra
;
8 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9 fra
.me
.file
= LOCATE_location
;
11 fra
.me
.meth
= LOCATE_location___SourceFile___filename
;
14 fra
.me
.nitni_local_ref_head
= NULL
;
15 fra
.me
.REG
[0] = NIT_NULL
;
18 REGB0
= TAG_Bool(ATTR_location___SourceFile_____atfilename(fra
.me
.REG
[0])!=NIT_NULL
);
19 if (UNTAG_Bool(REGB0
)) {
21 nit_abort("Uninitialized attribute %s", "@filename", LOCATE_location
, 22);
23 fra
.me
.REG
[0] = ATTR_location___SourceFile_____atfilename(fra
.me
.REG
[0]);
24 stack_frame_head
= fra
.me
.prev
;
27 static const char LOCATE_location___SourceFile___filename__eq
[] = "location::SourceFile::filename=";
28 void location___SourceFile___filename__eq(val_t p0
, val_t p1
){
29 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
31 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
32 fra
.me
.file
= LOCATE_location
;
34 fra
.me
.meth
= LOCATE_location___SourceFile___filename__eq
;
37 fra
.me
.nitni_local_ref_head
= NULL
;
38 fra
.me
.REG
[0] = NIT_NULL
;
39 fra
.me
.REG
[1] = NIT_NULL
;
43 ATTR_location___SourceFile_____atfilename(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
44 stack_frame_head
= fra
.me
.prev
;
47 static const char LOCATE_location___SourceFile___string
[] = "location::SourceFile::string";
48 val_t
location___SourceFile___string(val_t p0
){
49 struct {struct stack_frame_t me
;} fra
;
52 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
53 fra
.me
.file
= LOCATE_location
;
55 fra
.me
.meth
= LOCATE_location___SourceFile___string
;
58 fra
.me
.nitni_local_ref_head
= NULL
;
59 fra
.me
.REG
[0] = NIT_NULL
;
62 REGB0
= TAG_Bool(ATTR_location___SourceFile_____atstring(fra
.me
.REG
[0])!=NIT_NULL
);
63 if (UNTAG_Bool(REGB0
)) {
65 nit_abort("Uninitialized attribute %s", "@string", LOCATE_location
, 25);
67 fra
.me
.REG
[0] = ATTR_location___SourceFile_____atstring(fra
.me
.REG
[0]);
68 stack_frame_head
= fra
.me
.prev
;
71 static const char LOCATE_location___SourceFile___string__eq
[] = "location::SourceFile::string=";
72 void location___SourceFile___string__eq(val_t p0
, val_t p1
){
73 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
75 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
76 fra
.me
.file
= LOCATE_location
;
78 fra
.me
.meth
= LOCATE_location___SourceFile___string__eq
;
81 fra
.me
.nitni_local_ref_head
= NULL
;
82 fra
.me
.REG
[0] = NIT_NULL
;
83 fra
.me
.REG
[1] = NIT_NULL
;
87 ATTR_location___SourceFile_____atstring(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
88 stack_frame_head
= fra
.me
.prev
;
91 static const char LOCATE_location___SourceFile___init
[] = "location::SourceFile::init";
92 void location___SourceFile___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
93 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_location___SourceFile
].i
;
94 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
98 if (init_table
[itpos0
]) return;
99 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
100 fra
.me
.file
= LOCATE_location
;
102 fra
.me
.meth
= LOCATE_location___SourceFile___init
;
103 fra
.me
.has_broke
= 0;
105 fra
.me
.nitni_local_ref_head
= NULL
;
106 fra
.me
.REG
[0] = NIT_NULL
;
107 fra
.me
.REG
[1] = NIT_NULL
;
108 fra
.me
.REG
[2] = NIT_NULL
;
112 /* location.nit:31 */
113 CALL_location___SourceFile___filename__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
114 /* location.nit:32 */
115 fra
.me
.REG
[2] = CALL_standard___stream___IStream___read_all(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
116 CALL_location___SourceFile___string__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
117 /* location.nit:33 */
118 fra
.me
.REG
[0] = CALL_location___SourceFile___line_starts(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
121 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, REGB1
);
122 stack_frame_head
= fra
.me
.prev
;
123 init_table
[itpos0
] = 1;
126 static const char LOCATE_location___SourceFile___from_string
[] = "location::SourceFile::from_string";
127 void location___SourceFile___from_string(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
128 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_location___SourceFile
].i
;
129 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
133 if (init_table
[itpos1
]) return;
134 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
135 fra
.me
.file
= LOCATE_location
;
137 fra
.me
.meth
= LOCATE_location___SourceFile___from_string
;
138 fra
.me
.has_broke
= 0;
140 fra
.me
.nitni_local_ref_head
= NULL
;
141 fra
.me
.REG
[0] = NIT_NULL
;
142 fra
.me
.REG
[1] = NIT_NULL
;
143 fra
.me
.REG
[2] = NIT_NULL
;
147 /* location.nit:39 */
148 CALL_location___SourceFile___filename__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
149 /* location.nit:40 */
150 CALL_location___SourceFile___string__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
151 /* location.nit:41 */
152 fra
.me
.REG
[0] = CALL_location___SourceFile___line_starts(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
155 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, REGB1
);
156 stack_frame_head
= fra
.me
.prev
;
157 init_table
[itpos1
] = 1;
160 static const char LOCATE_location___SourceFile___line_starts
[] = "location::SourceFile::line_starts";
161 val_t
location___SourceFile___line_starts(val_t p0
){
162 struct {struct stack_frame_t me
;} fra
;
165 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
166 fra
.me
.file
= LOCATE_location
;
168 fra
.me
.meth
= LOCATE_location___SourceFile___line_starts
;
169 fra
.me
.has_broke
= 0;
171 fra
.me
.nitni_local_ref_head
= NULL
;
172 fra
.me
.REG
[0] = NIT_NULL
;
174 /* location.nit:44 */
175 REGB0
= TAG_Bool(ATTR_location___SourceFile_____atline_starts(fra
.me
.REG
[0])!=NIT_NULL
);
176 if (UNTAG_Bool(REGB0
)) {
178 nit_abort("Uninitialized attribute %s", "@line_starts", LOCATE_location
, 44);
180 fra
.me
.REG
[0] = ATTR_location___SourceFile_____atline_starts(fra
.me
.REG
[0]);
181 stack_frame_head
= fra
.me
.prev
;
182 return fra
.me
.REG
[0];
184 static const char LOCATE_location___SourceFile___line_starts__eq
[] = "location::SourceFile::line_starts=";
185 void location___SourceFile___line_starts__eq(val_t p0
, val_t p1
){
186 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
188 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
189 fra
.me
.file
= LOCATE_location
;
191 fra
.me
.meth
= LOCATE_location___SourceFile___line_starts__eq
;
192 fra
.me
.has_broke
= 0;
194 fra
.me
.nitni_local_ref_head
= NULL
;
195 fra
.me
.REG
[0] = NIT_NULL
;
196 fra
.me
.REG
[1] = NIT_NULL
;
199 /* location.nit:44 */
200 ATTR_location___SourceFile_____atline_starts(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
201 stack_frame_head
= fra
.me
.prev
;
204 static const char LOCATE_location___Location___file
[] = "location::Location::file";
205 val_t
location___Location___file(val_t p0
){
206 struct {struct stack_frame_t me
;} fra
;
208 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
209 fra
.me
.file
= LOCATE_location
;
211 fra
.me
.meth
= LOCATE_location___Location___file
;
212 fra
.me
.has_broke
= 0;
214 fra
.me
.nitni_local_ref_head
= NULL
;
215 fra
.me
.REG
[0] = NIT_NULL
;
217 /* location.nit:53 */
218 fra
.me
.REG
[0] = ATTR_location___Location____file(fra
.me
.REG
[0]);
219 stack_frame_head
= fra
.me
.prev
;
220 return fra
.me
.REG
[0];
222 static const char LOCATE_location___Location___line_start
[] = "location::Location::line_start";
223 val_t
location___Location___line_start(val_t p0
){
224 struct {struct stack_frame_t me
;} fra
;
227 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
228 fra
.me
.file
= LOCATE_location
;
230 fra
.me
.meth
= LOCATE_location___Location___line_start
;
231 fra
.me
.has_broke
= 0;
233 fra
.me
.nitni_local_ref_head
= NULL
;
234 fra
.me
.REG
[0] = NIT_NULL
;
236 /* location.nit:54 */
237 REGB0
= TAG_Bool(ATTR_location___Location____line_start(fra
.me
.REG
[0])!=NIT_NULL
);
238 if (UNTAG_Bool(REGB0
)) {
240 nit_abort("Uninitialized attribute %s", "_line_start", LOCATE_location
, 54);
242 REGB0
= ATTR_location___Location____line_start(fra
.me
.REG
[0]);
243 stack_frame_head
= fra
.me
.prev
;
246 static const char LOCATE_location___Location___line_end
[] = "location::Location::line_end";
247 val_t
location___Location___line_end(val_t p0
){
248 struct {struct stack_frame_t me
;} fra
;
251 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
252 fra
.me
.file
= LOCATE_location
;
254 fra
.me
.meth
= LOCATE_location___Location___line_end
;
255 fra
.me
.has_broke
= 0;
257 fra
.me
.nitni_local_ref_head
= NULL
;
258 fra
.me
.REG
[0] = NIT_NULL
;
260 /* location.nit:55 */
261 REGB0
= TAG_Bool(ATTR_location___Location____line_end(fra
.me
.REG
[0])!=NIT_NULL
);
262 if (UNTAG_Bool(REGB0
)) {
264 nit_abort("Uninitialized attribute %s", "_line_end", LOCATE_location
, 55);
266 REGB0
= ATTR_location___Location____line_end(fra
.me
.REG
[0]);
267 stack_frame_head
= fra
.me
.prev
;
270 static const char LOCATE_location___Location___column_start
[] = "location::Location::column_start";
271 val_t
location___Location___column_start(val_t p0
){
272 struct {struct stack_frame_t me
;} fra
;
275 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
276 fra
.me
.file
= LOCATE_location
;
278 fra
.me
.meth
= LOCATE_location___Location___column_start
;
279 fra
.me
.has_broke
= 0;
281 fra
.me
.nitni_local_ref_head
= NULL
;
282 fra
.me
.REG
[0] = NIT_NULL
;
284 /* location.nit:56 */
285 REGB0
= TAG_Bool(ATTR_location___Location____column_start(fra
.me
.REG
[0])!=NIT_NULL
);
286 if (UNTAG_Bool(REGB0
)) {
288 nit_abort("Uninitialized attribute %s", "_column_start", LOCATE_location
, 56);
290 REGB0
= ATTR_location___Location____column_start(fra
.me
.REG
[0]);
291 stack_frame_head
= fra
.me
.prev
;
294 static const char LOCATE_location___Location___column_end
[] = "location::Location::column_end";
295 val_t
location___Location___column_end(val_t p0
){
296 struct {struct stack_frame_t me
;} fra
;
299 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
300 fra
.me
.file
= LOCATE_location
;
302 fra
.me
.meth
= LOCATE_location___Location___column_end
;
303 fra
.me
.has_broke
= 0;
305 fra
.me
.nitni_local_ref_head
= NULL
;
306 fra
.me
.REG
[0] = NIT_NULL
;
308 /* location.nit:57 */
309 REGB0
= TAG_Bool(ATTR_location___Location____column_end(fra
.me
.REG
[0])!=NIT_NULL
);
310 if (UNTAG_Bool(REGB0
)) {
312 nit_abort("Uninitialized attribute %s", "_column_end", LOCATE_location
, 57);
314 REGB0
= ATTR_location___Location____column_end(fra
.me
.REG
[0]);
315 stack_frame_head
= fra
.me
.prev
;
318 static const char LOCATE_location___Location___init
[] = "location::Location::init";
319 void location___Location___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
, val_t p5
, int* init_table
){
320 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_location___Location
].i
;
321 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
327 if (init_table
[itpos2
]) return;
328 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
329 fra
.me
.file
= LOCATE_location
;
331 fra
.me
.meth
= LOCATE_location___Location___init
;
332 fra
.me
.has_broke
= 0;
334 fra
.me
.nitni_local_ref_head
= NULL
;
335 fra
.me
.REG
[0] = NIT_NULL
;
336 fra
.me
.REG
[1] = NIT_NULL
;
343 /* location.nit:60 */
344 ATTR_location___Location____file(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
345 /* location.nit:61 */
346 ATTR_location___Location____line_start(fra
.me
.REG
[0]) = REGB0
;
347 /* location.nit:62 */
348 ATTR_location___Location____line_end(fra
.me
.REG
[0]) = REGB1
;
349 /* location.nit:63 */
350 ATTR_location___Location____column_start(fra
.me
.REG
[0]) = REGB2
;
351 /* location.nit:64 */
352 ATTR_location___Location____column_end(fra
.me
.REG
[0]) = REGB3
;
353 stack_frame_head
= fra
.me
.prev
;
354 init_table
[itpos2
] = 1;
357 static const char LOCATE_location___Location___text
[] = "location::Location::text";
358 val_t
location___Location___text(val_t p0
){
359 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
365 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
366 fra
.me
.file
= LOCATE_location
;
368 fra
.me
.meth
= LOCATE_location___Location___text
;
369 fra
.me
.has_broke
= 0;
371 fra
.me
.nitni_local_ref_head
= NULL
;
372 fra
.me
.REG
[0] = NIT_NULL
;
373 fra
.me
.REG
[1] = NIT_NULL
;
374 fra
.me
.REG
[2] = NIT_NULL
;
375 fra
.me
.REG
[3] = NIT_NULL
;
376 fra
.me
.REG
[4] = NIT_NULL
;
378 /* location.nit:70 */
379 fra
.me
.REG
[1] = CALL_location___Location___text_cache(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
380 /* location.nit:71 */
381 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
382 if (UNTAG_Bool(REGB0
)) {
384 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
385 if (UNTAG_Bool(REGB1
)) {
389 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
393 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
394 if (UNTAG_Bool(REGB0
)) {
395 fra
.me
.REG
[2] = fra
.me
.REG
[1];
398 /* location.nit:72 */
399 fra
.me
.REG
[3] = fra
.me
.REG
[0];
400 /* location.nit:73 */
401 fra
.me
.REG
[4] = CALL_location___Location___file(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
402 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
403 if (UNTAG_Bool(REGB0
)) {
404 nit_abort("Reciever is null", NULL
, LOCATE_location
, 73);
406 fra
.me
.REG
[4] = CALL_location___SourceFile___line_starts(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
407 REGB0
= CALL_location___Location___line_start(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
409 /* ../lib/standard/kernel.nit:247 */
410 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
411 /* ../lib/standard/collection/array.nit:281 */
413 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
414 if (UNTAG_Bool(REGB2
)) {
416 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
418 /* ../lib/standard/kernel.nit:243 */
419 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
420 /* ../lib/standard/collection/array.nit:281 */
421 if (UNTAG_Bool(REGB0
)) {
422 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
423 if (UNTAG_Bool(REGB0
)) {
425 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
427 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
428 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
429 if (UNTAG_Bool(REGB2
)) {
431 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
433 /* ../lib/standard/kernel.nit:242 */
434 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
436 /* ../lib/standard/collection/array.nit:281 */
440 if (UNTAG_Bool(REGB0
)) {
442 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
444 /* ../lib/standard/collection/array.nit:282 */
445 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
446 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
447 if (UNTAG_Bool(REGB0
)) {
448 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
450 /* ../lib/standard/collection/array.nit:725 */
451 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB1
)];
452 /* ../lib/standard/collection/array.nit:282 */
455 /* location.nit:73 */
456 REGB1
= CALL_location___Location___column_start(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
457 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
458 if (UNTAG_Bool(REGB0
)) {
459 nit_abort("Reciever is null", NULL
, LOCATE_location
, 73);
461 /* ../lib/standard/kernel.nit:245 */
462 REGB1
= TAG_Int(UNTAG_Int(fra
.me
.REG
[4])+UNTAG_Int(REGB1
));
463 /* location.nit:73 */
465 /* ../lib/standard/kernel.nit:247 */
466 REGB0
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
467 /* location.nit:74 */
468 fra
.me
.REG
[4] = CALL_location___Location___file(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
469 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
470 if (UNTAG_Bool(REGB1
)) {
471 nit_abort("Reciever is null", NULL
, LOCATE_location
, 74);
473 fra
.me
.REG
[4] = CALL_location___SourceFile___line_starts(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
474 REGB1
= CALL_location___Location___line_end(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
476 /* ../lib/standard/kernel.nit:247 */
477 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
478 /* ../lib/standard/collection/array.nit:281 */
480 REGB3
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
481 if (UNTAG_Bool(REGB3
)) {
483 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
485 /* ../lib/standard/kernel.nit:243 */
486 REGB1
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB1
));
487 /* ../lib/standard/collection/array.nit:281 */
488 if (UNTAG_Bool(REGB1
)) {
489 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
490 if (UNTAG_Bool(REGB1
)) {
492 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
494 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
495 REGB3
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
496 if (UNTAG_Bool(REGB3
)) {
498 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
500 /* ../lib/standard/kernel.nit:242 */
501 REGB1
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB1
));
503 /* ../lib/standard/collection/array.nit:281 */
507 if (UNTAG_Bool(REGB1
)) {
509 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
511 /* ../lib/standard/collection/array.nit:282 */
512 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
513 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
514 if (UNTAG_Bool(REGB1
)) {
515 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
517 /* ../lib/standard/collection/array.nit:725 */
518 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB2
)];
519 /* ../lib/standard/collection/array.nit:282 */
522 /* location.nit:74 */
523 REGB2
= CALL_location___Location___column_end(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
524 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
525 if (UNTAG_Bool(REGB1
)) {
526 nit_abort("Reciever is null", NULL
, LOCATE_location
, 74);
528 /* ../lib/standard/kernel.nit:245 */
529 REGB2
= TAG_Int(UNTAG_Int(fra
.me
.REG
[4])+UNTAG_Int(REGB2
));
530 /* location.nit:74 */
532 /* ../lib/standard/kernel.nit:247 */
533 REGB1
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB1
));
534 /* location.nit:75 */
535 fra
.me
.REG
[3] = CALL_location___Location___file(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
536 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
537 if (UNTAG_Bool(REGB2
)) {
538 nit_abort("Reciever is null", NULL
, LOCATE_location
, 75);
540 fra
.me
.REG
[3] = CALL_location___SourceFile___string(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
541 /* ../lib/standard/kernel.nit:247 */
542 REGB1
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
543 /* location.nit:75 */
545 /* ../lib/standard/kernel.nit:245 */
546 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
547 /* location.nit:75 */
548 fra
.me
.REG
[3] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
, REGB2
);
549 fra
.me
.REG
[1] = fra
.me
.REG
[3];
550 /* location.nit:76 */
551 CALL_location___Location___text_cache__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
552 /* location.nit:77 */
553 fra
.me
.REG
[2] = fra
.me
.REG
[1];
556 stack_frame_head
= fra
.me
.prev
;
557 return fra
.me
.REG
[2];
559 static const char LOCATE_location___Location___text_cache
[] = "location::Location::text_cache";
560 val_t
location___Location___text_cache(val_t p0
){
561 struct {struct stack_frame_t me
;} fra
;
563 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
564 fra
.me
.file
= LOCATE_location
;
566 fra
.me
.meth
= LOCATE_location___Location___text_cache
;
567 fra
.me
.has_broke
= 0;
569 fra
.me
.nitni_local_ref_head
= NULL
;
570 fra
.me
.REG
[0] = NIT_NULL
;
572 /* location.nit:80 */
573 fra
.me
.REG
[0] = ATTR_location___Location_____attext_cache(fra
.me
.REG
[0]);
574 stack_frame_head
= fra
.me
.prev
;
575 return fra
.me
.REG
[0];
577 static const char LOCATE_location___Location___text_cache__eq
[] = "location::Location::text_cache=";
578 void location___Location___text_cache__eq(val_t p0
, val_t p1
){
579 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
581 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
582 fra
.me
.file
= LOCATE_location
;
584 fra
.me
.meth
= LOCATE_location___Location___text_cache__eq
;
585 fra
.me
.has_broke
= 0;
587 fra
.me
.nitni_local_ref_head
= NULL
;
588 fra
.me
.REG
[0] = NIT_NULL
;
589 fra
.me
.REG
[1] = NIT_NULL
;
592 /* location.nit:80 */
593 ATTR_location___Location_____attext_cache(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
594 stack_frame_head
= fra
.me
.prev
;
597 static const char LOCATE_location___Location___with_file
[] = "location::Location::with_file";
598 void location___Location___with_file(val_t p0
, val_t p1
, int* init_table
){
599 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_location___Location
].i
;
600 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
606 if (init_table
[itpos3
]) return;
607 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
608 fra
.me
.file
= LOCATE_location
;
610 fra
.me
.meth
= LOCATE_location___Location___with_file
;
611 fra
.me
.has_broke
= 0;
613 fra
.me
.nitni_local_ref_head
= NULL
;
614 fra
.me
.REG
[0] = NIT_NULL
;
615 fra
.me
.REG
[1] = NIT_NULL
;
618 /* location.nit:82 */
623 CALL_location___Location___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
, REGB1
, REGB2
, REGB3
, init_table
);
624 stack_frame_head
= fra
.me
.prev
;
625 init_table
[itpos3
] = 1;
628 static const char LOCATE_location___Location_____eqeq
[] = "location::Location::(kernel::Object::==)";
629 val_t
location___Location_____eqeq(val_t p0
, val_t p1
){
630 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
636 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
637 fra
.me
.file
= LOCATE_location
;
639 fra
.me
.meth
= LOCATE_location___Location_____eqeq
;
640 fra
.me
.has_broke
= 0;
642 fra
.me
.nitni_local_ref_head
= NULL
;
643 fra
.me
.REG
[0] = NIT_NULL
;
644 fra
.me
.REG
[1] = NIT_NULL
;
645 fra
.me
.REG
[2] = NIT_NULL
;
646 fra
.me
.REG
[3] = NIT_NULL
;
649 /* location.nit:85 */
650 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
651 if (UNTAG_Bool(REGB0
)) {
653 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
654 if (UNTAG_Bool(REGB1
)) {
658 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
662 if (UNTAG_Bool(REGB0
)) {
666 /* location.nit:86 */
667 REGB1
= TAG_Bool((fra
.me
.REG
[1]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[1], COLOR_location___Location
, ID_location___Location
)) /*cast Location*/;
668 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
669 if (UNTAG_Bool(REGB1
)) {
674 /* location.nit:88 */
675 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
676 if (UNTAG_Bool(REGB1
)) {
677 nit_abort("Reciever is null", NULL
, LOCATE_location
, 88);
679 fra
.me
.REG
[2] = CALL_location___Location___file(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
680 fra
.me
.REG
[3] = CALL_location___Location___file(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
681 REGB1
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[3]));
682 if (UNTAG_Bool(REGB1
)) {
684 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
685 if (UNTAG_Bool(REGB2
)) {
689 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
693 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
694 if (UNTAG_Bool(REGB1
)) {
699 /* location.nit:89 */
700 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
701 if (UNTAG_Bool(REGB1
)) {
702 nit_abort("Reciever is null", NULL
, LOCATE_location
, 89);
704 REGB1
= CALL_location___Location___line_start(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
705 REGB2
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
706 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
707 if (UNTAG_Bool(REGB3
)) {
709 /* ../lib/standard/kernel.nit:237 */
710 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
711 /* location.nit:89 */
714 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
715 if (UNTAG_Bool(REGB3
)) {
720 /* location.nit:90 */
721 REGB3
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
722 if (UNTAG_Bool(REGB3
)) {
723 nit_abort("Reciever is null", NULL
, LOCATE_location
, 90);
725 REGB3
= CALL_location___Location___line_end(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
726 REGB2
= CALL_location___Location___line_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
727 REGB1
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB2
));
728 if (UNTAG_Bool(REGB1
)) {
730 /* ../lib/standard/kernel.nit:237 */
731 REGB2
= TAG_Bool((REGB3
)==(REGB2
));
732 /* location.nit:90 */
735 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
736 if (UNTAG_Bool(REGB1
)) {
741 /* location.nit:91 */
742 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
743 if (UNTAG_Bool(REGB1
)) {
744 nit_abort("Reciever is null", NULL
, LOCATE_location
, 91);
746 REGB1
= CALL_location___Location___column_start(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
747 REGB2
= CALL_location___Location___column_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
748 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
749 if (UNTAG_Bool(REGB3
)) {
751 /* ../lib/standard/kernel.nit:237 */
752 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
753 /* location.nit:91 */
756 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
757 if (UNTAG_Bool(REGB3
)) {
762 /* location.nit:92 */
763 REGB3
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
764 if (UNTAG_Bool(REGB3
)) {
765 nit_abort("Reciever is null", NULL
, LOCATE_location
, 92);
767 REGB3
= CALL_location___Location___column_end(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
768 REGB2
= CALL_location___Location___column_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
769 REGB1
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB2
));
770 if (UNTAG_Bool(REGB1
)) {
772 /* ../lib/standard/kernel.nit:237 */
773 REGB2
= TAG_Bool((REGB3
)==(REGB2
));
774 /* location.nit:92 */
777 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
778 if (UNTAG_Bool(REGB1
)) {
783 /* location.nit:94 */
788 stack_frame_head
= fra
.me
.prev
;
791 static const char LOCATE_location___Location___located_in
[] = "location::Location::located_in";
792 val_t
location___Location___located_in(val_t p0
, val_t p1
){
793 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
799 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
800 fra
.me
.file
= LOCATE_location
;
802 fra
.me
.meth
= LOCATE_location___Location___located_in
;
803 fra
.me
.has_broke
= 0;
805 fra
.me
.nitni_local_ref_head
= NULL
;
806 fra
.me
.REG
[0] = NIT_NULL
;
807 fra
.me
.REG
[1] = NIT_NULL
;
810 /* location.nit:98 */
811 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
812 if (UNTAG_Bool(REGB0
)) {
814 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
815 if (UNTAG_Bool(REGB1
)) {
819 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
823 if (UNTAG_Bool(REGB0
)) {
827 /* location.nit:100 */
828 REGB1
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
829 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
830 if (UNTAG_Bool(REGB2
)) {
831 nit_abort("Reciever is null", NULL
, LOCATE_location
, 100);
833 REGB2
= CALL_location___Location___line_start(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
834 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
835 if (UNTAG_Bool(REGB3
)) {
837 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
839 /* ../lib/standard/kernel.nit:242 */
840 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
841 /* location.nit:100 */
842 if (UNTAG_Bool(REGB2
)) {
847 /* location.nit:101 */
848 REGB2
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
849 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
850 if (UNTAG_Bool(REGB1
)) {
851 nit_abort("Reciever is null", NULL
, LOCATE_location
, 101);
853 REGB1
= CALL_location___Location___line_end(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
854 REGB3
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
855 if (UNTAG_Bool(REGB3
)) {
857 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
859 /* ../lib/standard/kernel.nit:244 */
860 REGB1
= TAG_Bool(UNTAG_Int(REGB2
)>UNTAG_Int(REGB1
));
861 /* location.nit:101 */
862 if (UNTAG_Bool(REGB1
)) {
867 /* location.nit:103 */
868 REGB1
= CALL_location___Location___line_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
869 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
870 if (UNTAG_Bool(REGB2
)) {
871 nit_abort("Reciever is null", NULL
, LOCATE_location
, 103);
873 REGB2
= CALL_location___Location___line_end(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
874 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
875 if (UNTAG_Bool(REGB3
)) {
877 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
879 /* ../lib/standard/kernel.nit:244 */
880 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB2
));
881 /* location.nit:103 */
882 if (UNTAG_Bool(REGB2
)) {
887 /* location.nit:105 */
888 REGB2
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
889 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
890 if (UNTAG_Bool(REGB1
)) {
891 nit_abort("Reciever is null", NULL
, LOCATE_location
, 105);
893 REGB1
= CALL_location___Location___line_start(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
894 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB1
));
895 if (UNTAG_Bool(REGB3
)) {
897 /* ../lib/standard/kernel.nit:237 */
898 REGB1
= TAG_Bool((REGB2
)==(REGB1
));
899 /* location.nit:105 */
902 if (UNTAG_Bool(REGB3
)) {
903 /* location.nit:106 */
904 REGB3
= CALL_location___Location___column_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
905 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
906 if (UNTAG_Bool(REGB1
)) {
907 nit_abort("Reciever is null", NULL
, LOCATE_location
, 106);
909 REGB1
= CALL_location___Location___column_start(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
910 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
911 if (UNTAG_Bool(REGB2
)) {
913 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
915 /* ../lib/standard/kernel.nit:242 */
916 REGB1
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB1
));
917 /* location.nit:106 */
918 if (UNTAG_Bool(REGB1
)) {
923 /* location.nit:107 */
924 REGB1
= CALL_location___Location___column_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
925 REGB3
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
926 if (UNTAG_Bool(REGB3
)) {
927 nit_abort("Reciever is null", NULL
, LOCATE_location
, 107);
929 REGB3
= CALL_location___Location___column_end(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
930 REGB2
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
931 if (UNTAG_Bool(REGB2
)) {
933 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
935 /* ../lib/standard/kernel.nit:244 */
936 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB3
));
937 /* location.nit:107 */
938 if (UNTAG_Bool(REGB3
)) {
944 /* location.nit:110 */
945 REGB3
= CALL_location___Location___line_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
946 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
947 if (UNTAG_Bool(REGB1
)) {
948 nit_abort("Reciever is null", NULL
, LOCATE_location
, 110);
950 REGB1
= CALL_location___Location___line_end(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
951 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB1
));
952 if (UNTAG_Bool(REGB2
)) {
954 /* ../lib/standard/kernel.nit:237 */
955 REGB1
= TAG_Bool((REGB3
)==(REGB1
));
956 /* location.nit:110 */
959 if (UNTAG_Bool(REGB2
)) {
960 REGB2
= CALL_location___Location___column_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
961 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
962 if (UNTAG_Bool(REGB1
)) {
963 nit_abort("Reciever is null", NULL
, LOCATE_location
, 110);
965 REGB1
= CALL_location___Location___column_end(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
966 REGB3
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
967 if (UNTAG_Bool(REGB3
)) {
969 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
971 /* ../lib/standard/kernel.nit:244 */
972 REGB1
= TAG_Bool(UNTAG_Int(REGB2
)>UNTAG_Int(REGB1
));
974 /* location.nit:110 */
978 if (UNTAG_Bool(REGB1
)) {
983 /* location.nit:112 */
988 stack_frame_head
= fra
.me
.prev
;
991 static const char LOCATE_location___Location___to_s
[] = "location::Location::(string::Object::to_s)";
992 val_t
location___Location___to_s(val_t p0
){
993 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
998 static val_t once_value_1
; /* Once value */
999 static val_t once_value_2
; /* Once value */
1000 static val_t once_value_3
; /* Once value */
1001 static val_t once_value_4
; /* Once value */
1002 static val_t once_value_5
; /* Once value */
1003 static val_t once_value_6
; /* Once value */
1004 static val_t once_value_8
; /* Once value */
1005 static val_t once_value_9
; /* Once value */
1006 static val_t once_value_10
; /* Once value */
1007 static val_t once_value_11
; /* Once value */
1008 static val_t once_value_12
; /* Once value */
1009 static val_t once_value_13
; /* Once value */
1010 static val_t once_value_14
; /* Once value */
1011 static val_t once_value_15
; /* Once value */
1012 static val_t once_value_16
; /* Once value */
1013 static val_t once_value_17
; /* Once value */
1014 static val_t once_value_18
; /* Once value */
1015 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1016 fra
.me
.file
= LOCATE_location
;
1018 fra
.me
.meth
= LOCATE_location___Location___to_s
;
1019 fra
.me
.has_broke
= 0;
1020 fra
.me
.REG_size
= 5;
1021 fra
.me
.nitni_local_ref_head
= NULL
;
1022 fra
.me
.REG
[0] = NIT_NULL
;
1023 fra
.me
.REG
[1] = NIT_NULL
;
1024 fra
.me
.REG
[2] = NIT_NULL
;
1025 fra
.me
.REG
[3] = NIT_NULL
;
1026 fra
.me
.REG
[4] = NIT_NULL
;
1028 /* location.nit:116 */
1029 if (!once_value_1
) {
1030 fra
.me
.REG
[1] = BOX_NativeString("");
1032 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
1033 once_value_1
= fra
.me
.REG
[1];
1034 register_static_object(&once_value_1
);
1035 } else fra
.me
.REG
[1] = once_value_1
;
1036 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1037 /* location.nit:117 */
1038 fra
.me
.REG
[2] = CALL_location___Location___file(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1039 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1040 if (UNTAG_Bool(REGB0
)) {
1042 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1043 if (UNTAG_Bool(REGB1
)) {
1044 REGB1
= TAG_Bool(0);
1047 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1051 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1052 if (UNTAG_Bool(REGB0
)) {
1053 /* location.nit:118 */
1054 fra
.me
.REG
[2] = CALL_location___Location___file(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1055 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1056 if (UNTAG_Bool(REGB0
)) {
1057 nit_abort("Reciever is null", NULL
, LOCATE_location
, 118);
1059 fra
.me
.REG
[2] = CALL_location___SourceFile___filename(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1060 fra
.me
.REG
[1] = fra
.me
.REG
[2];
1061 /* location.nit:119 */
1062 fra
.me
.REG
[2] = CALL_location___Location___file(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1063 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1064 if (UNTAG_Bool(REGB0
)) {
1065 nit_abort("Reciever is null", NULL
, LOCATE_location
, 119);
1067 fra
.me
.REG
[2] = CALL_location___SourceFile___filename(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1068 /* ../lib/standard/collection/array.nit:24 */
1069 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1070 if (UNTAG_Bool(REGB0
)) {
1072 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1074 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1075 /* location.nit:119 */
1077 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1078 if (UNTAG_Bool(REGB2
)) {
1080 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1082 /* ../lib/standard/kernel.nit:244 */
1083 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
1084 /* location.nit:119 */
1085 if (UNTAG_Bool(REGB1
)) {
1086 if (!once_value_2
) {
1087 fra
.me
.REG
[2] = BOX_NativeString(":");
1089 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
1090 once_value_2
= fra
.me
.REG
[2];
1091 register_static_object(&once_value_2
);
1092 } else fra
.me
.REG
[2] = once_value_2
;
1093 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1094 fra
.me
.REG
[2] = CALL_standard___string___String_____plus(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1095 fra
.me
.REG
[1] = fra
.me
.REG
[2];
1098 /* location.nit:122 */
1099 REGB1
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1100 REGB0
= CALL_location___Location___line_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1101 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB0
));
1102 if (UNTAG_Bool(REGB2
)) {
1104 /* ../lib/standard/kernel.nit:237 */
1105 REGB0
= TAG_Bool((REGB1
)==(REGB0
));
1106 /* location.nit:122 */
1109 if (UNTAG_Bool(REGB2
)) {
1110 /* location.nit:123 */
1111 REGB2
= CALL_location___Location___column_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1112 REGB0
= CALL_location___Location___column_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1113 REGB1
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB0
));
1114 if (UNTAG_Bool(REGB1
)) {
1116 /* ../lib/standard/kernel.nit:237 */
1117 REGB0
= TAG_Bool((REGB2
)==(REGB0
));
1118 /* location.nit:123 */
1121 if (UNTAG_Bool(REGB1
)) {
1122 /* location.nit:124 */
1124 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
1125 if (!once_value_3
) {
1126 fra
.me
.REG
[3] = BOX_NativeString("");
1128 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB1
);
1129 once_value_3
= fra
.me
.REG
[3];
1130 register_static_object(&once_value_3
);
1131 } else fra
.me
.REG
[3] = once_value_3
;
1132 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1133 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1134 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1135 if (!once_value_4
) {
1136 fra
.me
.REG
[3] = BOX_NativeString("");
1138 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB1
);
1139 once_value_4
= fra
.me
.REG
[3];
1140 register_static_object(&once_value_4
);
1141 } else fra
.me
.REG
[3] = once_value_4
;
1142 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1143 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1144 REGB1
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1145 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(REGB1
)(REGB1
);
1146 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1147 if (!once_value_5
) {
1148 fra
.me
.REG
[3] = BOX_NativeString(",");
1150 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB1
);
1151 once_value_5
= fra
.me
.REG
[3];
1152 register_static_object(&once_value_5
);
1153 } else fra
.me
.REG
[3] = once_value_5
;
1154 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1155 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1156 REGB1
= CALL_location___Location___column_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1157 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(REGB1
)(REGB1
);
1158 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1159 if (!once_value_6
) {
1160 fra
.me
.REG
[3] = BOX_NativeString("");
1162 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB1
);
1163 once_value_6
= fra
.me
.REG
[3];
1164 register_static_object(&once_value_6
);
1165 } else fra
.me
.REG
[3] = once_value_6
;
1166 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1167 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1168 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1171 /* location.nit:126 */
1173 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
1174 if (!once_value_8
) {
1175 fra
.me
.REG
[4] = BOX_NativeString("");
1177 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
1178 once_value_8
= fra
.me
.REG
[4];
1179 register_static_object(&once_value_8
);
1180 } else fra
.me
.REG
[4] = once_value_8
;
1181 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1182 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1183 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1184 if (!once_value_9
) {
1185 fra
.me
.REG
[4] = BOX_NativeString("");
1187 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
1188 once_value_9
= fra
.me
.REG
[4];
1189 register_static_object(&once_value_9
);
1190 } else fra
.me
.REG
[4] = once_value_9
;
1191 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1192 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1193 REGB1
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1194 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB1
)(REGB1
);
1195 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1196 if (!once_value_10
) {
1197 fra
.me
.REG
[4] = BOX_NativeString(",");
1199 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
1200 once_value_10
= fra
.me
.REG
[4];
1201 register_static_object(&once_value_10
);
1202 } else fra
.me
.REG
[4] = once_value_10
;
1203 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1204 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1205 REGB1
= CALL_location___Location___column_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1206 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB1
)(REGB1
);
1207 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1208 if (!once_value_11
) {
1209 fra
.me
.REG
[4] = BOX_NativeString("--");
1211 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
1212 once_value_11
= fra
.me
.REG
[4];
1213 register_static_object(&once_value_11
);
1214 } else fra
.me
.REG
[4] = once_value_11
;
1215 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1216 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1217 REGB1
= CALL_location___Location___column_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1218 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB1
)(REGB1
);
1219 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1220 if (!once_value_12
) {
1221 fra
.me
.REG
[4] = BOX_NativeString("");
1223 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
1224 once_value_12
= fra
.me
.REG
[4];
1225 register_static_object(&once_value_12
);
1226 } else fra
.me
.REG
[4] = once_value_12
;
1227 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1228 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1229 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1230 fra
.me
.REG
[2] = fra
.me
.REG
[3];
1234 /* location.nit:129 */
1235 REGB1
= TAG_Int(11);
1236 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
1237 if (!once_value_13
) {
1238 fra
.me
.REG
[4] = BOX_NativeString("");
1240 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
1241 once_value_13
= fra
.me
.REG
[4];
1242 register_static_object(&once_value_13
);
1243 } else fra
.me
.REG
[4] = once_value_13
;
1244 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1245 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1246 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1247 if (!once_value_14
) {
1248 fra
.me
.REG
[1] = BOX_NativeString("");
1250 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB1
);
1251 once_value_14
= fra
.me
.REG
[1];
1252 register_static_object(&once_value_14
);
1253 } else fra
.me
.REG
[1] = once_value_14
;
1254 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1255 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1256 REGB1
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1257 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(REGB1
)(REGB1
);
1258 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1259 if (!once_value_15
) {
1260 fra
.me
.REG
[1] = BOX_NativeString(",");
1262 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB1
);
1263 once_value_15
= fra
.me
.REG
[1];
1264 register_static_object(&once_value_15
);
1265 } else fra
.me
.REG
[1] = once_value_15
;
1266 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1267 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1268 REGB1
= CALL_location___Location___column_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1269 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(REGB1
)(REGB1
);
1270 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1271 if (!once_value_16
) {
1272 fra
.me
.REG
[1] = BOX_NativeString("--");
1274 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB1
);
1275 once_value_16
= fra
.me
.REG
[1];
1276 register_static_object(&once_value_16
);
1277 } else fra
.me
.REG
[1] = once_value_16
;
1278 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1279 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1280 REGB1
= CALL_location___Location___line_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1281 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(REGB1
)(REGB1
);
1282 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1283 if (!once_value_17
) {
1284 fra
.me
.REG
[1] = BOX_NativeString(",");
1286 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB1
);
1287 once_value_17
= fra
.me
.REG
[1];
1288 register_static_object(&once_value_17
);
1289 } else fra
.me
.REG
[1] = once_value_17
;
1290 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1291 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1292 REGB1
= CALL_location___Location___column_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1293 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(REGB1
)(REGB1
);
1294 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1295 if (!once_value_18
) {
1296 fra
.me
.REG
[0] = BOX_NativeString("");
1298 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
1299 once_value_18
= fra
.me
.REG
[0];
1300 register_static_object(&once_value_18
);
1301 } else fra
.me
.REG
[0] = once_value_18
;
1302 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1303 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1304 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1305 fra
.me
.REG
[2] = fra
.me
.REG
[3];
1309 stack_frame_head
= fra
.me
.prev
;
1310 return fra
.me
.REG
[2];
1312 static const char LOCATE_location___Location___relative_to
[] = "location::Location::relative_to";
1313 val_t
location___Location___relative_to(val_t p0
, val_t p1
){
1314 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1320 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1321 fra
.me
.file
= LOCATE_location
;
1323 fra
.me
.meth
= LOCATE_location___Location___relative_to
;
1324 fra
.me
.has_broke
= 0;
1325 fra
.me
.REG_size
= 3;
1326 fra
.me
.nitni_local_ref_head
= NULL
;
1327 fra
.me
.REG
[0] = NIT_NULL
;
1328 fra
.me
.REG
[1] = NIT_NULL
;
1329 fra
.me
.REG
[2] = NIT_NULL
;
1332 /* location.nit:135 */
1333 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1334 if (UNTAG_Bool(REGB0
)) {
1336 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1337 if (UNTAG_Bool(REGB1
)) {
1338 REGB1
= TAG_Bool(0);
1341 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
1345 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1346 if (UNTAG_Bool(REGB0
)) {
1347 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1348 if (UNTAG_Bool(REGB0
)) {
1349 nit_abort("Reciever is null", NULL
, LOCATE_location
, 135);
1351 fra
.me
.REG
[1] = CALL_location___Location___file(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1352 fra
.me
.REG
[2] = CALL_location___Location___file(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1353 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[1],fra
.me
.REG
[2]));
1354 if (UNTAG_Bool(REGB0
)) {
1356 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1357 if (UNTAG_Bool(REGB1
)) {
1358 REGB1
= TAG_Bool(0);
1361 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1366 REGB1
= TAG_Bool(0);
1369 if (UNTAG_Bool(REGB0
)) {
1370 /* location.nit:136 */
1371 REGB0
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1372 REGB1
= CALL_location___Location___line_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1373 REGB2
= CALL_location___Location___column_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1374 REGB3
= CALL_location___Location___column_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1375 fra
.me
.REG
[2] = NEW_Location_location___Location___init(NIT_NULL
, REGB0
, REGB1
, REGB2
, REGB3
);
1377 /* location.nit:138 */
1378 fra
.me
.REG
[1] = CALL_location___Location___file(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1379 REGB3
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1380 REGB2
= CALL_location___Location___line_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1381 REGB1
= CALL_location___Location___column_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1382 REGB0
= CALL_location___Location___column_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1383 fra
.me
.REG
[1] = NEW_Location_location___Location___init(fra
.me
.REG
[1], REGB3
, REGB2
, REGB1
, REGB0
);
1384 fra
.me
.REG
[2] = fra
.me
.REG
[1];
1386 /* location.nit:140 */
1387 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1390 stack_frame_head
= fra
.me
.prev
;
1391 return fra
.me
.REG
[2];
1393 static const char LOCATE_location___Location_____l
[] = "location::Location::(kernel::Comparable::<)";
1394 val_t
location___Location_____l(val_t p0
, val_t p1
){
1395 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1401 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1402 fra
.me
.file
= LOCATE_location
;
1404 fra
.me
.meth
= LOCATE_location___Location_____l
;
1405 fra
.me
.has_broke
= 0;
1406 fra
.me
.REG_size
= 2;
1407 fra
.me
.nitni_local_ref_head
= NULL
;
1408 fra
.me
.REG
[0] = NIT_NULL
;
1409 fra
.me
.REG
[1] = NIT_NULL
;
1412 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[1], VTCOLOR_standard___kernel___Comparable___OTHER(fra
.me
.REG
[0]), VTID_standard___kernel___Comparable___OTHER(fra
.me
.REG
[0]))) /*cast OTHER*/;
1413 if (UNTAG_Bool(REGB0
)) {
1415 nit_abort("Cast failed", NULL
, LOCATE_location
, 0);
1417 /* location.nit:144 */
1418 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],fra
.me
.REG
[1]));
1419 if (UNTAG_Bool(REGB0
)) {
1421 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1424 if (UNTAG_Bool(REGB0
)) {
1425 REGB0
= TAG_Bool(0);
1428 /* location.nit:145 */
1429 REGB1
= CALL_location___Location___located_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1430 if (UNTAG_Bool(REGB1
)) {
1431 REGB1
= TAG_Bool(1);
1435 /* location.nit:146 */
1436 REGB1
= CALL_location___Location___located_in(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1437 if (UNTAG_Bool(REGB1
)) {
1438 REGB1
= TAG_Bool(0);
1442 /* location.nit:148 */
1443 REGB1
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1444 REGB2
= CALL_location___Location___line_start(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1445 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
1446 if (UNTAG_Bool(REGB3
)) {
1448 /* ../lib/standard/kernel.nit:237 */
1449 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
1450 /* location.nit:148 */
1453 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
1454 if (UNTAG_Bool(REGB3
)) {
1455 REGB3
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1456 REGB2
= CALL_location___Location___line_start(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1457 REGB1
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1458 if (UNTAG_Bool(REGB1
)) {
1460 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1462 /* ../lib/standard/kernel.nit:242 */
1463 REGB2
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB2
));
1464 /* location.nit:148 */
1468 /* location.nit:149 */
1469 REGB2
= CALL_location___Location___column_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1470 REGB3
= CALL_location___Location___column_start(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1471 REGB1
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB3
));
1472 if (UNTAG_Bool(REGB1
)) {
1474 /* ../lib/standard/kernel.nit:237 */
1475 REGB3
= TAG_Bool((REGB2
)==(REGB3
));
1476 /* location.nit:149 */
1479 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
1480 if (UNTAG_Bool(REGB1
)) {
1481 REGB1
= CALL_location___Location___column_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1482 REGB3
= CALL_location___Location___column_start(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1483 REGB2
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1484 if (UNTAG_Bool(REGB2
)) {
1486 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1488 /* ../lib/standard/kernel.nit:242 */
1489 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB3
));
1490 /* location.nit:149 */
1494 /* location.nit:150 */
1495 REGB3
= CALL_location___Location___line_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1496 REGB1
= CALL_location___Location___line_end(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1497 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB1
));
1498 if (UNTAG_Bool(REGB2
)) {
1500 /* ../lib/standard/kernel.nit:237 */
1501 REGB1
= TAG_Bool((REGB3
)==(REGB1
));
1502 /* location.nit:150 */
1505 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
1506 if (UNTAG_Bool(REGB2
)) {
1507 REGB2
= CALL_location___Location___line_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1508 REGB1
= CALL_location___Location___line_end(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1509 REGB3
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1510 if (UNTAG_Bool(REGB3
)) {
1512 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1514 /* ../lib/standard/kernel.nit:242 */
1515 REGB1
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB1
));
1516 /* location.nit:150 */
1520 /* location.nit:152 */
1521 REGB1
= CALL_location___Location___column_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1522 REGB2
= CALL_location___Location___column_end(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1523 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1524 if (UNTAG_Bool(REGB3
)) {
1526 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1528 /* ../lib/standard/kernel.nit:242 */
1529 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1530 /* location.nit:152 */
1534 stack_frame_head
= fra
.me
.prev
;
1537 static const char LOCATE_location___Location___colored_line
[] = "location::Location::colored_line";
1538 val_t
location___Location___colored_line(val_t p0
, val_t p1
){
1539 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
1547 static val_t once_value_1
; /* Once value */
1548 static val_t once_value_2
; /* Once value */
1549 static val_t once_value_3
; /* Once value */
1550 static val_t once_value_4
; /* Once value */
1551 static val_t once_value_5
; /* Once value */
1552 static val_t once_value_8
; /* Once value */
1553 static val_t once_value_9
; /* Once value */
1554 static val_t once_value_11
; /* Once value */
1555 static val_t once_value_12
; /* Once value */
1556 static val_t once_value_13
; /* Once value */
1557 static val_t once_value_14
; /* Once value */
1558 static val_t once_value_15
; /* Once value */
1559 static val_t once_value_16
; /* Once value */
1560 static val_t once_value_17
; /* Once value */
1561 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1562 fra
.me
.file
= LOCATE_location
;
1564 fra
.me
.meth
= LOCATE_location___Location___colored_line
;
1565 fra
.me
.has_broke
= 0;
1566 fra
.me
.REG_size
= 8;
1567 fra
.me
.nitni_local_ref_head
= NULL
;
1568 fra
.me
.REG
[0] = NIT_NULL
;
1569 fra
.me
.REG
[1] = NIT_NULL
;
1570 fra
.me
.REG
[2] = NIT_NULL
;
1571 fra
.me
.REG
[3] = NIT_NULL
;
1572 fra
.me
.REG
[4] = NIT_NULL
;
1573 fra
.me
.REG
[5] = NIT_NULL
;
1574 fra
.me
.REG
[6] = NIT_NULL
;
1575 fra
.me
.REG
[7] = NIT_NULL
;
1578 /* location.nit:162 */
1579 REGB0
= TAG_Int(27);
1580 /* ../lib/standard/kernel.nit:318 */
1581 REGB0
= TAG_Char(UNTAG_Int(REGB0
));
1582 /* location.nit:163 */
1584 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
1585 if (!once_value_1
) {
1586 fra
.me
.REG
[3] = BOX_NativeString("");
1588 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB1
);
1589 once_value_1
= fra
.me
.REG
[3];
1590 register_static_object(&once_value_1
);
1591 } else fra
.me
.REG
[3] = once_value_1
;
1592 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1593 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1594 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
1595 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1596 if (!once_value_2
) {
1597 fra
.me
.REG
[3] = BOX_NativeString("[0m");
1599 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB1
);
1600 once_value_2
= fra
.me
.REG
[3];
1601 register_static_object(&once_value_2
);
1602 } else fra
.me
.REG
[3] = once_value_2
;
1603 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1604 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1605 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1606 /* location.nit:164 */
1608 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
1609 if (!once_value_3
) {
1610 fra
.me
.REG
[4] = BOX_NativeString("");
1612 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
1613 once_value_3
= fra
.me
.REG
[4];
1614 register_static_object(&once_value_3
);
1615 } else fra
.me
.REG
[4] = once_value_3
;
1616 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1617 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1618 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
1619 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1620 if (!once_value_4
) {
1621 fra
.me
.REG
[4] = BOX_NativeString("[");
1623 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1624 once_value_4
= fra
.me
.REG
[4];
1625 register_static_object(&once_value_4
);
1626 } else fra
.me
.REG
[4] = once_value_4
;
1627 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1628 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1629 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1630 if (!once_value_5
) {
1631 fra
.me
.REG
[1] = BOX_NativeString("m");
1633 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
1634 once_value_5
= fra
.me
.REG
[1];
1635 register_static_object(&once_value_5
);
1636 } else fra
.me
.REG
[1] = once_value_5
;
1637 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1638 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1639 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1640 /* location.nit:167 */
1641 REGB0
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1642 /* location.nit:168 */
1643 fra
.me
.REG
[1] = CALL_location___Location___file(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1644 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1645 if (UNTAG_Bool(REGB1
)) {
1646 nit_abort("Reciever is null", NULL
, LOCATE_location
, 168);
1648 fra
.me
.REG
[1] = CALL_location___SourceFile___line_starts(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1650 /* ../lib/standard/kernel.nit:247 */
1651 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
1652 /* ../lib/standard/collection/array.nit:281 */
1654 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1655 if (UNTAG_Bool(REGB3
)) {
1657 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1659 /* ../lib/standard/kernel.nit:243 */
1660 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
1661 /* ../lib/standard/collection/array.nit:281 */
1662 if (UNTAG_Bool(REGB2
)) {
1663 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1664 if (UNTAG_Bool(REGB2
)) {
1666 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
1668 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1669 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1670 if (UNTAG_Bool(REGB3
)) {
1672 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1674 /* ../lib/standard/kernel.nit:242 */
1675 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1677 /* ../lib/standard/collection/array.nit:281 */
1678 REGB3
= TAG_Bool(0);
1681 if (UNTAG_Bool(REGB2
)) {
1683 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
1685 /* ../lib/standard/collection/array.nit:282 */
1686 fra
.me
.REG
[1] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
1687 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1688 if (UNTAG_Bool(REGB2
)) {
1689 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
1691 /* ../lib/standard/collection/array.nit:725 */
1692 fra
.me
.REG
[1] = ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB1
)];
1693 /* ../lib/standard/collection/array.nit:282 */
1696 /* location.nit:168 */
1697 REGB1
= fra
.me
.REG
[1];
1698 /* location.nit:169 */
1700 /* location.nit:170 */
1701 fra
.me
.REG
[1] = CALL_location___Location___file(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1702 REGB3
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1703 if (UNTAG_Bool(REGB3
)) {
1704 nit_abort("Reciever is null", NULL
, LOCATE_location
, 170);
1706 fra
.me
.REG
[1] = CALL_location___SourceFile___string(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1707 /* location.nit:171 */
1710 /* ../lib/standard/kernel.nit:245 */
1711 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
1712 /* ../lib/standard/collection/array.nit:24 */
1713 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1714 if (UNTAG_Bool(REGB4
)) {
1716 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1718 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1719 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1720 if (UNTAG_Bool(REGB5
)) {
1722 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1724 /* ../lib/standard/kernel.nit:242 */
1725 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
1726 /* location.nit:171 */
1727 if (UNTAG_Bool(REGB4
)) {
1729 /* ../lib/standard/kernel.nit:245 */
1730 REGB4
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB4
));
1731 /* location.nit:171 */
1732 REGB4
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB4
);
1733 REGB3
= TAG_Char('\n');
1734 REGB5
= TAG_Bool(IS_EQUAL_OO(REGB4
,REGB3
));
1735 if (UNTAG_Bool(REGB5
)) {
1737 /* ../lib/standard/kernel.nit:434 */
1738 REGB3
= TAG_Bool((REGB4
)==(REGB3
));
1739 /* location.nit:171 */
1742 REGB5
= TAG_Bool(!UNTAG_Bool(REGB5
));
1744 REGB3
= TAG_Bool(0);
1747 if (UNTAG_Bool(REGB5
)) {
1749 /* ../lib/standard/kernel.nit:245 */
1750 REGB5
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB5
));
1751 /* location.nit:171 */
1752 REGB5
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB5
);
1753 REGB3
= TAG_Char('\r');
1754 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB5
,REGB3
));
1755 if (UNTAG_Bool(REGB4
)) {
1757 /* ../lib/standard/kernel.nit:434 */
1758 REGB3
= TAG_Bool((REGB5
)==(REGB3
));
1759 /* location.nit:171 */
1762 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
1764 REGB3
= TAG_Bool(0);
1767 if (UNTAG_Bool(REGB4
)) {
1768 /* location.nit:172 */
1770 /* ../lib/standard/kernel.nit:245 */
1771 REGB4
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB4
));
1772 /* location.nit:172 */
1775 /* location.nit:171 */
1780 /* location.nit:174 */
1781 REGB4
= CALL_location___Location___column_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1783 /* ../lib/standard/kernel.nit:247 */
1784 REGB3
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB3
));
1785 /* location.nit:174 */
1786 fra
.me
.REG
[4] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB1
, REGB3
);
1787 /* location.nit:176 */
1788 REGB3
= CALL_location___Location___line_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1789 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB3
));
1790 if (UNTAG_Bool(REGB4
)) {
1792 /* ../lib/standard/kernel.nit:237 */
1793 REGB3
= TAG_Bool((REGB0
)==(REGB3
));
1794 /* location.nit:176 */
1797 REGB4
= TAG_Bool(!UNTAG_Bool(REGB4
));
1798 if (UNTAG_Bool(REGB4
)) {
1799 /* ../lib/standard/kernel.nit:247 */
1800 REGB4
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB1
));
1801 /* location.nit:177 */
1803 /* ../lib/standard/kernel.nit:245 */
1804 REGB3
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB3
));
1805 /* location.nit:177 */
1806 fra
.me
.REG
[5] = REGB3
;
1808 /* location.nit:179 */
1809 REGB3
= CALL_location___Location___column_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1810 fra
.me
.REG
[5] = REGB3
;
1812 /* ../lib/standard/kernel.nit:245 */
1813 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(fra
.me
.REG
[5]));
1814 /* ../lib/standard/collection/array.nit:24 */
1815 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1816 if (UNTAG_Bool(REGB4
)) {
1818 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1820 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1821 REGB0
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1822 if (UNTAG_Bool(REGB0
)) {
1824 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1826 /* ../lib/standard/kernel.nit:241 */
1827 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)<=UNTAG_Int(REGB4
));
1828 /* location.nit:183 */
1829 if (UNTAG_Bool(REGB4
)) {
1830 /* location.nit:184 */
1831 REGB4
= CALL_location___Location___column_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1832 /* ../lib/standard/kernel.nit:245 */
1833 REGB4
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB4
));
1834 /* location.nit:184 */
1836 /* ../lib/standard/kernel.nit:247 */
1837 REGB3
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB3
));
1838 /* location.nit:184 */
1839 REGB4
= CALL_location___Location___column_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1840 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1841 if (UNTAG_Bool(REGB0
)) {
1842 nit_abort("Reciever is null", NULL
, LOCATE_location
, 184);
1844 /* ../lib/standard/kernel.nit:247 */
1845 REGB4
= TAG_Int(UNTAG_Int(fra
.me
.REG
[5])-UNTAG_Int(REGB4
));
1846 /* location.nit:184 */
1848 /* ../lib/standard/kernel.nit:245 */
1849 REGB0
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB0
));
1850 /* location.nit:184 */
1851 fra
.me
.REG
[6] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB3
, REGB0
);
1852 /* ../lib/standard/kernel.nit:245 */
1853 REGB0
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(fra
.me
.REG
[5]));
1854 /* ../lib/standard/kernel.nit:247 */
1855 REGB2
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB1
));
1856 REGB2
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(fra
.me
.REG
[5]));
1857 /* location.nit:185 */
1859 /* ../lib/standard/kernel.nit:245 */
1860 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
1861 /* location.nit:185 */
1862 fra
.me
.REG
[5] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
, REGB3
);
1864 /* location.nit:187 */
1865 if (!once_value_8
) {
1866 fra
.me
.REG
[7] = BOX_NativeString("");
1868 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB3
);
1869 once_value_8
= fra
.me
.REG
[7];
1870 register_static_object(&once_value_8
);
1871 } else fra
.me
.REG
[7] = once_value_8
;
1872 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1873 fra
.me
.REG
[6] = fra
.me
.REG
[7];
1874 /* location.nit:188 */
1875 if (!once_value_9
) {
1876 fra
.me
.REG
[7] = BOX_NativeString("");
1878 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB3
);
1879 once_value_9
= fra
.me
.REG
[7];
1880 register_static_object(&once_value_9
);
1881 } else fra
.me
.REG
[7] = once_value_9
;
1882 fra
.me
.REG
[7] = fra
.me
.REG
[7];
1883 fra
.me
.REG
[5] = fra
.me
.REG
[7];
1885 /* location.nit:190 */
1886 fra
.me
.REG
[7] = NEW_Buffer_standard___string___Buffer___init();
1887 /* location.nit:191 */
1888 REGB3
= CALL_location___Location___column_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1889 /* ../lib/standard/kernel.nit:245 */
1890 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
1891 /* location.nit:191 */
1893 /* ../lib/standard/kernel.nit:247 */
1894 REGB0
= TAG_Int(UNTAG_Int(REGB3
)-UNTAG_Int(REGB0
));
1895 /* ../lib/standard/kernel.nit:404 */
1897 REGB3
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1898 if (UNTAG_Bool(REGB3
)) {
1900 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1902 /* ../lib/standard/kernel.nit:242 */
1903 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
1904 /* ../lib/standard/kernel.nit:404 */
1905 if (UNTAG_Bool(REGB3
)) {
1906 /* location.nit:191 */
1908 /* location.nit:192 */
1909 REGB3
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB3
);
1910 REGB2
= TAG_Char('\t');
1911 REGB4
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB2
));
1912 if (UNTAG_Bool(REGB4
)) {
1914 /* ../lib/standard/kernel.nit:434 */
1915 REGB2
= TAG_Bool((REGB3
)==(REGB2
));
1916 /* location.nit:192 */
1919 if (UNTAG_Bool(REGB4
)) {
1920 /* location.nit:193 */
1921 REGB4
= TAG_Char('\t');
1922 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB4
);
1924 /* location.nit:195 */
1925 REGB4
= TAG_Char(' ');
1926 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB4
);
1928 /* ../lib/standard/kernel.nit:406 */
1930 /* ../lib/standard/kernel.nit:245 */
1931 REGB4
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB4
));
1932 /* ../lib/standard/kernel.nit:406 */
1935 /* ../lib/standard/kernel.nit:404 */
1940 /* location.nit:198 */
1941 REGB1
= TAG_Int(13);
1942 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
1943 if (!once_value_11
) {
1944 fra
.me
.REG
[0] = BOX_NativeString("\t");
1946 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
1947 once_value_11
= fra
.me
.REG
[0];
1948 register_static_object(&once_value_11
);
1949 } else fra
.me
.REG
[0] = once_value_11
;
1950 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1951 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1952 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
1953 if (!once_value_12
) {
1954 fra
.me
.REG
[4] = BOX_NativeString("");
1956 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
1957 once_value_12
= fra
.me
.REG
[4];
1958 register_static_object(&once_value_12
);
1959 } else fra
.me
.REG
[4] = once_value_12
;
1960 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1961 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
1962 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1963 if (!once_value_13
) {
1964 fra
.me
.REG
[3] = BOX_NativeString("");
1966 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB1
);
1967 once_value_13
= fra
.me
.REG
[3];
1968 register_static_object(&once_value_13
);
1969 } else fra
.me
.REG
[3] = once_value_13
;
1970 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1971 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1972 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
1973 if (!once_value_14
) {
1974 fra
.me
.REG
[6] = BOX_NativeString("");
1976 fra
.me
.REG
[6] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[6])(fra
.me
.REG
[6], REGB1
);
1977 once_value_14
= fra
.me
.REG
[6];
1978 register_static_object(&once_value_14
);
1979 } else fra
.me
.REG
[6] = once_value_14
;
1980 fra
.me
.REG
[6] = fra
.me
.REG
[6];
1981 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[6]);
1982 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1983 if (!once_value_15
) {
1984 fra
.me
.REG
[2] = BOX_NativeString("");
1986 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
1987 once_value_15
= fra
.me
.REG
[2];
1988 register_static_object(&once_value_15
);
1989 } else fra
.me
.REG
[2] = once_value_15
;
1990 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1991 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1992 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
1993 if (!once_value_16
) {
1994 fra
.me
.REG
[5] = BOX_NativeString("\n\t");
1996 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB1
);
1997 once_value_16
= fra
.me
.REG
[5];
1998 register_static_object(&once_value_16
);
1999 } else fra
.me
.REG
[5] = once_value_16
;
2000 fra
.me
.REG
[5] = fra
.me
.REG
[5];
2001 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
2002 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
2003 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
2004 if (!once_value_17
) {
2005 fra
.me
.REG
[7] = BOX_NativeString("^");
2007 fra
.me
.REG
[7] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[7])(fra
.me
.REG
[7], REGB1
);
2008 once_value_17
= fra
.me
.REG
[7];
2009 register_static_object(&once_value_17
);
2010 } else fra
.me
.REG
[7] = once_value_17
;
2011 fra
.me
.REG
[7] = fra
.me
.REG
[7];
2012 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
2013 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2016 stack_frame_head
= fra
.me
.prev
;
2017 return fra
.me
.REG
[1];