1 /* This C file is generated by NIT to compile module location. */
2 #include "location._sep.h"
3 val_t
location___SourceFile___filename(val_t p0
){
4 struct {struct stack_frame_t me
;} fra
;
7 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8 fra
.me
.file
= LOCATE_location
;
10 fra
.me
.meth
= LOCATE_location___SourceFile___filename
;
13 fra
.me
.REG
[0] = NIT_NULL
;
15 /* ./location.nit:22 */
16 REGB0
= TAG_Bool(ATTR_location___SourceFile_____atfilename(fra
.me
.REG
[0])!=NIT_NULL
);
17 if (UNTAG_Bool(REGB0
)) {
19 nit_abort("Uninitialized attribute %s", "@filename", LOCATE_location
, 22);
21 fra
.me
.REG
[0] = ATTR_location___SourceFile_____atfilename(fra
.me
.REG
[0]);
22 stack_frame_head
= fra
.me
.prev
;
25 void location___SourceFile___filename__eq(val_t p0
, val_t p1
){
26 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
28 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
29 fra
.me
.file
= LOCATE_location
;
31 fra
.me
.meth
= LOCATE_location___SourceFile___filename__eq
;
34 fra
.me
.REG
[0] = NIT_NULL
;
35 fra
.me
.REG
[1] = NIT_NULL
;
38 /* ./location.nit:22 */
39 ATTR_location___SourceFile_____atfilename(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
40 stack_frame_head
= fra
.me
.prev
;
43 val_t
location___SourceFile___string(val_t p0
){
44 struct {struct stack_frame_t me
;} fra
;
47 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
48 fra
.me
.file
= LOCATE_location
;
50 fra
.me
.meth
= LOCATE_location___SourceFile___string
;
53 fra
.me
.REG
[0] = NIT_NULL
;
55 /* ./location.nit:25 */
56 REGB0
= TAG_Bool(ATTR_location___SourceFile_____atstring(fra
.me
.REG
[0])!=NIT_NULL
);
57 if (UNTAG_Bool(REGB0
)) {
59 nit_abort("Uninitialized attribute %s", "@string", LOCATE_location
, 25);
61 fra
.me
.REG
[0] = ATTR_location___SourceFile_____atstring(fra
.me
.REG
[0]);
62 stack_frame_head
= fra
.me
.prev
;
65 void location___SourceFile___string__eq(val_t p0
, val_t p1
){
66 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
68 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
69 fra
.me
.file
= LOCATE_location
;
71 fra
.me
.meth
= LOCATE_location___SourceFile___string__eq
;
74 fra
.me
.REG
[0] = NIT_NULL
;
75 fra
.me
.REG
[1] = NIT_NULL
;
78 /* ./location.nit:25 */
79 ATTR_location___SourceFile_____atstring(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
80 stack_frame_head
= fra
.me
.prev
;
83 void location___SourceFile___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
84 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_location___SourceFile
].i
;
85 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
89 if (init_table
[itpos0
]) return;
90 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
91 fra
.me
.file
= LOCATE_location
;
93 fra
.me
.meth
= LOCATE_location___SourceFile___init
;
96 fra
.me
.REG
[0] = NIT_NULL
;
97 fra
.me
.REG
[1] = NIT_NULL
;
98 fra
.me
.REG
[2] = NIT_NULL
;
102 /* ./location.nit:31 */
103 CALL_location___SourceFile___filename__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
104 /* ./location.nit:32 */
105 fra
.me
.REG
[2] = CALL_standard___stream___IStream___read_all(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
106 CALL_location___SourceFile___string__eq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
107 /* ./location.nit:33 */
108 fra
.me
.REG
[0] = CALL_location___SourceFile___line_starts(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
111 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, REGB1
);
112 stack_frame_head
= fra
.me
.prev
;
113 init_table
[itpos0
] = 1;
116 val_t
location___SourceFile___line_starts(val_t p0
){
117 struct {struct stack_frame_t me
;} fra
;
120 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
121 fra
.me
.file
= LOCATE_location
;
123 fra
.me
.meth
= LOCATE_location___SourceFile___line_starts
;
124 fra
.me
.has_broke
= 0;
126 fra
.me
.REG
[0] = NIT_NULL
;
128 /* ./location.nit:36 */
129 REGB0
= TAG_Bool(ATTR_location___SourceFile_____atline_starts(fra
.me
.REG
[0])!=NIT_NULL
);
130 if (UNTAG_Bool(REGB0
)) {
132 nit_abort("Uninitialized attribute %s", "@line_starts", LOCATE_location
, 36);
134 fra
.me
.REG
[0] = ATTR_location___SourceFile_____atline_starts(fra
.me
.REG
[0]);
135 stack_frame_head
= fra
.me
.prev
;
136 return fra
.me
.REG
[0];
138 void location___SourceFile___line_starts__eq(val_t p0
, val_t p1
){
139 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
141 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
142 fra
.me
.file
= LOCATE_location
;
144 fra
.me
.meth
= LOCATE_location___SourceFile___line_starts__eq
;
145 fra
.me
.has_broke
= 0;
147 fra
.me
.REG
[0] = NIT_NULL
;
148 fra
.me
.REG
[1] = NIT_NULL
;
151 /* ./location.nit:36 */
152 ATTR_location___SourceFile_____atline_starts(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
153 stack_frame_head
= fra
.me
.prev
;
156 val_t
location___Location___file(val_t p0
){
157 struct {struct stack_frame_t me
;} fra
;
159 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
160 fra
.me
.file
= LOCATE_location
;
162 fra
.me
.meth
= LOCATE_location___Location___file
;
163 fra
.me
.has_broke
= 0;
165 fra
.me
.REG
[0] = NIT_NULL
;
167 /* ./location.nit:45 */
168 fra
.me
.REG
[0] = ATTR_location___Location____file(fra
.me
.REG
[0]);
169 stack_frame_head
= fra
.me
.prev
;
170 return fra
.me
.REG
[0];
172 val_t
location___Location___line_start(val_t p0
){
173 struct {struct stack_frame_t me
;} fra
;
176 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
177 fra
.me
.file
= LOCATE_location
;
179 fra
.me
.meth
= LOCATE_location___Location___line_start
;
180 fra
.me
.has_broke
= 0;
182 fra
.me
.REG
[0] = NIT_NULL
;
184 /* ./location.nit:46 */
185 REGB0
= TAG_Bool(ATTR_location___Location____line_start(fra
.me
.REG
[0])!=NIT_NULL
);
186 if (UNTAG_Bool(REGB0
)) {
188 nit_abort("Uninitialized attribute %s", "_line_start", LOCATE_location
, 46);
190 REGB0
= ATTR_location___Location____line_start(fra
.me
.REG
[0]);
191 stack_frame_head
= fra
.me
.prev
;
194 val_t
location___Location___line_end(val_t p0
){
195 struct {struct stack_frame_t me
;} fra
;
198 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
199 fra
.me
.file
= LOCATE_location
;
201 fra
.me
.meth
= LOCATE_location___Location___line_end
;
202 fra
.me
.has_broke
= 0;
204 fra
.me
.REG
[0] = NIT_NULL
;
206 /* ./location.nit:47 */
207 REGB0
= TAG_Bool(ATTR_location___Location____line_end(fra
.me
.REG
[0])!=NIT_NULL
);
208 if (UNTAG_Bool(REGB0
)) {
210 nit_abort("Uninitialized attribute %s", "_line_end", LOCATE_location
, 47);
212 REGB0
= ATTR_location___Location____line_end(fra
.me
.REG
[0]);
213 stack_frame_head
= fra
.me
.prev
;
216 val_t
location___Location___column_start(val_t p0
){
217 struct {struct stack_frame_t me
;} fra
;
220 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
221 fra
.me
.file
= LOCATE_location
;
223 fra
.me
.meth
= LOCATE_location___Location___column_start
;
224 fra
.me
.has_broke
= 0;
226 fra
.me
.REG
[0] = NIT_NULL
;
228 /* ./location.nit:48 */
229 REGB0
= TAG_Bool(ATTR_location___Location____column_start(fra
.me
.REG
[0])!=NIT_NULL
);
230 if (UNTAG_Bool(REGB0
)) {
232 nit_abort("Uninitialized attribute %s", "_column_start", LOCATE_location
, 48);
234 REGB0
= ATTR_location___Location____column_start(fra
.me
.REG
[0]);
235 stack_frame_head
= fra
.me
.prev
;
238 val_t
location___Location___column_end(val_t p0
){
239 struct {struct stack_frame_t me
;} fra
;
242 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
243 fra
.me
.file
= LOCATE_location
;
245 fra
.me
.meth
= LOCATE_location___Location___column_end
;
246 fra
.me
.has_broke
= 0;
248 fra
.me
.REG
[0] = NIT_NULL
;
250 /* ./location.nit:49 */
251 REGB0
= TAG_Bool(ATTR_location___Location____column_end(fra
.me
.REG
[0])!=NIT_NULL
);
252 if (UNTAG_Bool(REGB0
)) {
254 nit_abort("Uninitialized attribute %s", "_column_end", LOCATE_location
, 49);
256 REGB0
= ATTR_location___Location____column_end(fra
.me
.REG
[0]);
257 stack_frame_head
= fra
.me
.prev
;
260 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
){
261 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_location___Location
].i
;
262 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
268 if (init_table
[itpos1
]) return;
269 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
270 fra
.me
.file
= LOCATE_location
;
272 fra
.me
.meth
= LOCATE_location___Location___init
;
273 fra
.me
.has_broke
= 0;
275 fra
.me
.REG
[0] = NIT_NULL
;
276 fra
.me
.REG
[1] = NIT_NULL
;
283 /* ./location.nit:52 */
284 ATTR_location___Location____file(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
285 /* ./location.nit:53 */
286 ATTR_location___Location____line_start(fra
.me
.REG
[0]) = REGB0
;
287 /* ./location.nit:54 */
288 ATTR_location___Location____line_end(fra
.me
.REG
[0]) = REGB1
;
289 /* ./location.nit:55 */
290 ATTR_location___Location____column_start(fra
.me
.REG
[0]) = REGB2
;
291 /* ./location.nit:56 */
292 ATTR_location___Location____column_end(fra
.me
.REG
[0]) = REGB3
;
293 stack_frame_head
= fra
.me
.prev
;
294 init_table
[itpos1
] = 1;
297 void location___Location___with_file(val_t p0
, val_t p1
, int* init_table
){
298 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_location___Location
].i
;
299 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
305 if (init_table
[itpos2
]) return;
306 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
307 fra
.me
.file
= LOCATE_location
;
309 fra
.me
.meth
= LOCATE_location___Location___with_file
;
310 fra
.me
.has_broke
= 0;
312 fra
.me
.REG
[0] = NIT_NULL
;
313 fra
.me
.REG
[1] = NIT_NULL
;
316 /* ./location.nit:59 */
321 CALL_location___Location___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
, REGB1
, REGB2
, REGB3
, init_table
);
322 stack_frame_head
= fra
.me
.prev
;
323 init_table
[itpos2
] = 1;
326 val_t
location___Location_____eqeq(val_t p0
, val_t p1
){
327 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
333 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
334 fra
.me
.file
= LOCATE_location
;
336 fra
.me
.meth
= LOCATE_location___Location_____eqeq
;
337 fra
.me
.has_broke
= 0;
339 fra
.me
.REG
[0] = NIT_NULL
;
340 fra
.me
.REG
[1] = NIT_NULL
;
341 fra
.me
.REG
[2] = NIT_NULL
;
342 fra
.me
.REG
[3] = NIT_NULL
;
345 /* ./location.nit:62 */
346 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
347 if (UNTAG_Bool(REGB0
)) {
349 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
350 if (UNTAG_Bool(REGB1
)) {
351 REGB1
= TAG_Bool(false);
354 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
358 if (UNTAG_Bool(REGB0
)) {
359 REGB0
= TAG_Bool(false);
362 /* ./location.nit:63 */
363 REGB1
= TAG_Bool((fra
.me
.REG
[1]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[1], COLOR_location___Location
, ID_location___Location
)) /*cast Location*/;
364 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
365 if (UNTAG_Bool(REGB1
)) {
366 REGB1
= TAG_Bool(false);
370 /* ./location.nit:65 */
371 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
372 if (UNTAG_Bool(REGB1
)) {
373 nit_abort("Reciever is null", NULL
, LOCATE_location
, 65);
375 fra
.me
.REG
[2] = CALL_location___Location___file(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
376 fra
.me
.REG
[3] = CALL_location___Location___file(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
377 REGB1
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[2],fra
.me
.REG
[3]));
378 if (UNTAG_Bool(REGB1
)) {
380 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
381 if (UNTAG_Bool(REGB2
)) {
382 REGB2
= TAG_Bool(false);
385 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
389 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
390 if (UNTAG_Bool(REGB1
)) {
391 REGB1
= TAG_Bool(false);
395 /* ./location.nit:66 */
396 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
397 if (UNTAG_Bool(REGB1
)) {
398 nit_abort("Reciever is null", NULL
, LOCATE_location
, 66);
400 REGB1
= CALL_location___Location___line_start(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
401 REGB2
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
402 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
403 if (UNTAG_Bool(REGB3
)) {
405 /* ./../lib/standard//kernel.nit:210 */
406 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
407 /* ./location.nit:66 */
410 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
411 if (UNTAG_Bool(REGB3
)) {
412 REGB3
= TAG_Bool(false);
416 /* ./location.nit:67 */
417 REGB3
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
418 if (UNTAG_Bool(REGB3
)) {
419 nit_abort("Reciever is null", NULL
, LOCATE_location
, 67);
421 REGB3
= CALL_location___Location___line_end(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
422 REGB2
= CALL_location___Location___line_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
423 REGB1
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB2
));
424 if (UNTAG_Bool(REGB1
)) {
426 /* ./../lib/standard//kernel.nit:210 */
427 REGB2
= TAG_Bool((REGB3
)==(REGB2
));
428 /* ./location.nit:67 */
431 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
432 if (UNTAG_Bool(REGB1
)) {
433 REGB1
= TAG_Bool(false);
437 /* ./location.nit:68 */
438 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
439 if (UNTAG_Bool(REGB1
)) {
440 nit_abort("Reciever is null", NULL
, LOCATE_location
, 68);
442 REGB1
= CALL_location___Location___column_start(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
443 REGB2
= CALL_location___Location___column_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
444 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
445 if (UNTAG_Bool(REGB3
)) {
447 /* ./../lib/standard//kernel.nit:210 */
448 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
449 /* ./location.nit:68 */
452 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
453 if (UNTAG_Bool(REGB3
)) {
454 REGB3
= TAG_Bool(false);
458 /* ./location.nit:69 */
459 REGB3
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
460 if (UNTAG_Bool(REGB3
)) {
461 nit_abort("Reciever is null", NULL
, LOCATE_location
, 69);
463 REGB3
= CALL_location___Location___column_end(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
464 REGB2
= CALL_location___Location___column_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
465 REGB1
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB2
));
466 if (UNTAG_Bool(REGB1
)) {
468 /* ./../lib/standard//kernel.nit:210 */
469 REGB2
= TAG_Bool((REGB3
)==(REGB2
));
470 /* ./location.nit:69 */
473 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
474 if (UNTAG_Bool(REGB1
)) {
475 REGB1
= TAG_Bool(false);
479 /* ./location.nit:71 */
480 REGB1
= TAG_Bool(true);
484 stack_frame_head
= fra
.me
.prev
;
487 val_t
location___Location___located_in(val_t p0
, val_t p1
){
488 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
494 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
495 fra
.me
.file
= LOCATE_location
;
497 fra
.me
.meth
= LOCATE_location___Location___located_in
;
498 fra
.me
.has_broke
= 0;
500 fra
.me
.REG
[0] = NIT_NULL
;
501 fra
.me
.REG
[1] = NIT_NULL
;
504 /* ./location.nit:75 */
505 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
506 if (UNTAG_Bool(REGB0
)) {
508 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
509 if (UNTAG_Bool(REGB1
)) {
510 REGB1
= TAG_Bool(false);
513 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
517 if (UNTAG_Bool(REGB0
)) {
518 REGB0
= TAG_Bool(false);
521 /* ./location.nit:77 */
522 REGB1
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
523 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
524 if (UNTAG_Bool(REGB2
)) {
525 nit_abort("Reciever is null", NULL
, LOCATE_location
, 77);
527 REGB2
= CALL_location___Location___line_start(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
528 /* ./../lib/standard//kernel.nit:215 */
529 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
530 /* ./location.nit:77 */
531 if (UNTAG_Bool(REGB2
)) {
532 REGB2
= TAG_Bool(false);
536 /* ./location.nit:78 */
537 REGB2
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
538 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
539 if (UNTAG_Bool(REGB1
)) {
540 nit_abort("Reciever is null", NULL
, LOCATE_location
, 78);
542 REGB1
= CALL_location___Location___line_end(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
543 /* ./../lib/standard//kernel.nit:217 */
544 REGB1
= TAG_Bool(UNTAG_Int(REGB2
)>UNTAG_Int(REGB1
));
545 /* ./location.nit:78 */
546 if (UNTAG_Bool(REGB1
)) {
547 REGB1
= TAG_Bool(false);
551 /* ./location.nit:80 */
552 REGB1
= CALL_location___Location___line_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
553 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
554 if (UNTAG_Bool(REGB2
)) {
555 nit_abort("Reciever is null", NULL
, LOCATE_location
, 80);
557 REGB2
= CALL_location___Location___line_end(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
558 /* ./../lib/standard//kernel.nit:217 */
559 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB2
));
560 /* ./location.nit:80 */
561 if (UNTAG_Bool(REGB2
)) {
562 REGB2
= TAG_Bool(false);
566 /* ./location.nit:82 */
567 REGB2
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
568 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
569 if (UNTAG_Bool(REGB1
)) {
570 nit_abort("Reciever is null", NULL
, LOCATE_location
, 82);
572 REGB1
= CALL_location___Location___line_start(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
573 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB1
));
574 if (UNTAG_Bool(REGB3
)) {
576 /* ./../lib/standard//kernel.nit:210 */
577 REGB1
= TAG_Bool((REGB2
)==(REGB1
));
578 /* ./location.nit:82 */
581 if (UNTAG_Bool(REGB3
)) {
582 /* ./location.nit:83 */
583 REGB3
= CALL_location___Location___column_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
584 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
585 if (UNTAG_Bool(REGB1
)) {
586 nit_abort("Reciever is null", NULL
, LOCATE_location
, 83);
588 REGB1
= CALL_location___Location___column_start(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
589 /* ./../lib/standard//kernel.nit:215 */
590 REGB1
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB1
));
591 /* ./location.nit:83 */
592 if (UNTAG_Bool(REGB1
)) {
593 REGB1
= TAG_Bool(false);
597 /* ./location.nit:84 */
598 REGB1
= CALL_location___Location___column_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
599 REGB3
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
600 if (UNTAG_Bool(REGB3
)) {
601 nit_abort("Reciever is null", NULL
, LOCATE_location
, 84);
603 REGB3
= CALL_location___Location___column_end(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
604 /* ./../lib/standard//kernel.nit:217 */
605 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB3
));
606 /* ./location.nit:84 */
607 if (UNTAG_Bool(REGB3
)) {
608 REGB3
= TAG_Bool(false);
613 /* ./location.nit:87 */
614 REGB3
= CALL_location___Location___line_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
615 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
616 if (UNTAG_Bool(REGB1
)) {
617 nit_abort("Reciever is null", NULL
, LOCATE_location
, 87);
619 REGB1
= CALL_location___Location___line_end(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
620 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB1
));
621 if (UNTAG_Bool(REGB2
)) {
623 /* ./../lib/standard//kernel.nit:210 */
624 REGB1
= TAG_Bool((REGB3
)==(REGB1
));
625 /* ./location.nit:87 */
628 if (UNTAG_Bool(REGB2
)) {
629 REGB2
= CALL_location___Location___column_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
630 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
631 if (UNTAG_Bool(REGB1
)) {
632 nit_abort("Reciever is null", NULL
, LOCATE_location
, 87);
634 REGB1
= CALL_location___Location___column_end(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
635 /* ./../lib/standard//kernel.nit:217 */
636 REGB1
= TAG_Bool(UNTAG_Int(REGB2
)>UNTAG_Int(REGB1
));
638 /* ./location.nit:87 */
639 REGB2
= TAG_Bool(false);
642 if (UNTAG_Bool(REGB1
)) {
643 REGB1
= TAG_Bool(false);
647 /* ./location.nit:89 */
648 REGB1
= TAG_Bool(true);
652 stack_frame_head
= fra
.me
.prev
;
655 val_t
location___Location___to_s(val_t p0
){
656 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
661 static val_t once_value_1
; /* Once value */
662 static val_t once_value_2
; /* Once value */
663 static val_t once_value_3
; /* Once value */
664 static val_t once_value_4
; /* Once value */
665 static val_t once_value_5
; /* Once value */
666 static val_t once_value_6
; /* Once value */
667 static val_t once_value_8
; /* Once value */
668 static val_t once_value_9
; /* Once value */
669 static val_t once_value_10
; /* Once value */
670 static val_t once_value_11
; /* Once value */
671 static val_t once_value_12
; /* Once value */
672 static val_t once_value_13
; /* Once value */
673 static val_t once_value_14
; /* Once value */
674 static val_t once_value_15
; /* Once value */
675 static val_t once_value_16
; /* Once value */
676 static val_t once_value_17
; /* Once value */
677 static val_t once_value_18
; /* Once value */
678 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
679 fra
.me
.file
= LOCATE_location
;
681 fra
.me
.meth
= LOCATE_location___Location___to_s
;
682 fra
.me
.has_broke
= 0;
684 fra
.me
.REG
[0] = NIT_NULL
;
685 fra
.me
.REG
[1] = NIT_NULL
;
686 fra
.me
.REG
[2] = NIT_NULL
;
687 fra
.me
.REG
[3] = NIT_NULL
;
688 fra
.me
.REG
[4] = NIT_NULL
;
690 /* ./location.nit:93 */
692 fra
.me
.REG
[1] = BOX_NativeString("");
694 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
695 once_value_1
= fra
.me
.REG
[1];
696 register_static_object(&once_value_1
);
697 } else fra
.me
.REG
[1] = once_value_1
;
698 fra
.me
.REG
[1] = fra
.me
.REG
[1];
699 /* ./location.nit:94 */
700 fra
.me
.REG
[2] = CALL_location___Location___file(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
701 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
702 if (UNTAG_Bool(REGB0
)) {
704 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
705 if (UNTAG_Bool(REGB1
)) {
706 REGB1
= TAG_Bool(false);
709 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
713 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
714 if (UNTAG_Bool(REGB0
)) {
715 /* ./location.nit:95 */
716 fra
.me
.REG
[2] = CALL_location___Location___file(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
717 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
718 if (UNTAG_Bool(REGB0
)) {
719 nit_abort("Reciever is null", NULL
, LOCATE_location
, 95);
721 fra
.me
.REG
[2] = CALL_location___SourceFile___filename(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
722 fra
.me
.REG
[1] = fra
.me
.REG
[2];
723 /* ./location.nit:96 */
724 fra
.me
.REG
[2] = CALL_location___Location___file(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
725 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
726 if (UNTAG_Bool(REGB0
)) {
727 nit_abort("Reciever is null", NULL
, LOCATE_location
, 96);
729 fra
.me
.REG
[2] = CALL_location___SourceFile___filename(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
730 /* ./../lib/standard//collection//array.nit:23 */
731 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
732 if (UNTAG_Bool(REGB0
)) {
734 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
736 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
737 /* ./location.nit:96 */
739 /* ./../lib/standard//kernel.nit:217 */
740 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
741 /* ./location.nit:96 */
742 if (UNTAG_Bool(REGB1
)) {
744 fra
.me
.REG
[2] = BOX_NativeString(":");
746 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
747 once_value_2
= fra
.me
.REG
[2];
748 register_static_object(&once_value_2
);
749 } else fra
.me
.REG
[2] = once_value_2
;
750 fra
.me
.REG
[2] = fra
.me
.REG
[2];
751 fra
.me
.REG
[2] = CALL_standard___string___String_____plus(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
752 fra
.me
.REG
[1] = fra
.me
.REG
[2];
755 /* ./location.nit:99 */
756 REGB1
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
757 REGB0
= CALL_location___Location___line_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
758 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB0
));
759 if (UNTAG_Bool(REGB2
)) {
761 /* ./../lib/standard//kernel.nit:210 */
762 REGB0
= TAG_Bool((REGB1
)==(REGB0
));
763 /* ./location.nit:99 */
766 if (UNTAG_Bool(REGB2
)) {
767 /* ./location.nit:100 */
768 REGB2
= CALL_location___Location___column_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
769 REGB0
= CALL_location___Location___column_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
770 REGB1
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB0
));
771 if (UNTAG_Bool(REGB1
)) {
773 /* ./../lib/standard//kernel.nit:210 */
774 REGB0
= TAG_Bool((REGB2
)==(REGB0
));
775 /* ./location.nit:100 */
778 if (UNTAG_Bool(REGB1
)) {
779 /* ./location.nit:101 */
781 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
783 fra
.me
.REG
[3] = BOX_NativeString("");
785 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
786 once_value_3
= fra
.me
.REG
[3];
787 register_static_object(&once_value_3
);
788 } else fra
.me
.REG
[3] = once_value_3
;
789 fra
.me
.REG
[3] = fra
.me
.REG
[3];
790 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
791 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
793 fra
.me
.REG
[3] = BOX_NativeString("");
795 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
796 once_value_4
= fra
.me
.REG
[3];
797 register_static_object(&once_value_4
);
798 } else fra
.me
.REG
[3] = once_value_4
;
799 fra
.me
.REG
[3] = fra
.me
.REG
[3];
800 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
801 REGB1
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
802 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(REGB1
)(REGB1
);
803 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
805 fra
.me
.REG
[3] = BOX_NativeString(",");
807 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
808 once_value_5
= fra
.me
.REG
[3];
809 register_static_object(&once_value_5
);
810 } else fra
.me
.REG
[3] = once_value_5
;
811 fra
.me
.REG
[3] = fra
.me
.REG
[3];
812 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
813 REGB1
= CALL_location___Location___column_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
814 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(REGB1
)(REGB1
);
815 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
817 fra
.me
.REG
[3] = BOX_NativeString("");
819 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
820 once_value_6
= fra
.me
.REG
[3];
821 register_static_object(&once_value_6
);
822 } else fra
.me
.REG
[3] = once_value_6
;
823 fra
.me
.REG
[3] = fra
.me
.REG
[3];
824 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
825 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
828 /* ./location.nit:103 */
830 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
832 fra
.me
.REG
[4] = BOX_NativeString("");
834 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
835 once_value_8
= fra
.me
.REG
[4];
836 register_static_object(&once_value_8
);
837 } else fra
.me
.REG
[4] = once_value_8
;
838 fra
.me
.REG
[4] = fra
.me
.REG
[4];
839 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
840 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
842 fra
.me
.REG
[4] = BOX_NativeString("");
844 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
845 once_value_9
= fra
.me
.REG
[4];
846 register_static_object(&once_value_9
);
847 } else fra
.me
.REG
[4] = once_value_9
;
848 fra
.me
.REG
[4] = fra
.me
.REG
[4];
849 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
850 REGB1
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
851 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB1
)(REGB1
);
852 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
853 if (!once_value_10
) {
854 fra
.me
.REG
[4] = BOX_NativeString(",");
856 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
857 once_value_10
= fra
.me
.REG
[4];
858 register_static_object(&once_value_10
);
859 } else fra
.me
.REG
[4] = once_value_10
;
860 fra
.me
.REG
[4] = fra
.me
.REG
[4];
861 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
862 REGB1
= CALL_location___Location___column_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
863 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB1
)(REGB1
);
864 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
865 if (!once_value_11
) {
866 fra
.me
.REG
[4] = BOX_NativeString("--");
868 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
869 once_value_11
= fra
.me
.REG
[4];
870 register_static_object(&once_value_11
);
871 } else fra
.me
.REG
[4] = once_value_11
;
872 fra
.me
.REG
[4] = fra
.me
.REG
[4];
873 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
874 REGB1
= CALL_location___Location___column_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
875 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(REGB1
)(REGB1
);
876 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
877 if (!once_value_12
) {
878 fra
.me
.REG
[4] = BOX_NativeString("");
880 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
881 once_value_12
= fra
.me
.REG
[4];
882 register_static_object(&once_value_12
);
883 } else fra
.me
.REG
[4] = once_value_12
;
884 fra
.me
.REG
[4] = fra
.me
.REG
[4];
885 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
886 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
887 fra
.me
.REG
[2] = fra
.me
.REG
[3];
891 /* ./location.nit:106 */
893 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
894 if (!once_value_13
) {
895 fra
.me
.REG
[4] = BOX_NativeString("");
897 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
898 once_value_13
= fra
.me
.REG
[4];
899 register_static_object(&once_value_13
);
900 } else fra
.me
.REG
[4] = once_value_13
;
901 fra
.me
.REG
[4] = fra
.me
.REG
[4];
902 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
903 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
904 if (!once_value_14
) {
905 fra
.me
.REG
[1] = BOX_NativeString("");
907 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB1
);
908 once_value_14
= fra
.me
.REG
[1];
909 register_static_object(&once_value_14
);
910 } else fra
.me
.REG
[1] = once_value_14
;
911 fra
.me
.REG
[1] = fra
.me
.REG
[1];
912 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
913 REGB1
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
914 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(REGB1
)(REGB1
);
915 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
916 if (!once_value_15
) {
917 fra
.me
.REG
[1] = BOX_NativeString(",");
919 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB1
);
920 once_value_15
= fra
.me
.REG
[1];
921 register_static_object(&once_value_15
);
922 } else fra
.me
.REG
[1] = once_value_15
;
923 fra
.me
.REG
[1] = fra
.me
.REG
[1];
924 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
925 REGB1
= CALL_location___Location___column_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
926 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(REGB1
)(REGB1
);
927 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
928 if (!once_value_16
) {
929 fra
.me
.REG
[1] = BOX_NativeString("--");
931 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB1
);
932 once_value_16
= fra
.me
.REG
[1];
933 register_static_object(&once_value_16
);
934 } else fra
.me
.REG
[1] = once_value_16
;
935 fra
.me
.REG
[1] = fra
.me
.REG
[1];
936 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
937 REGB1
= CALL_location___Location___line_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
938 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(REGB1
)(REGB1
);
939 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
940 if (!once_value_17
) {
941 fra
.me
.REG
[1] = BOX_NativeString(",");
943 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB1
);
944 once_value_17
= fra
.me
.REG
[1];
945 register_static_object(&once_value_17
);
946 } else fra
.me
.REG
[1] = once_value_17
;
947 fra
.me
.REG
[1] = fra
.me
.REG
[1];
948 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
949 REGB1
= CALL_location___Location___column_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
950 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(REGB1
)(REGB1
);
951 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
952 if (!once_value_18
) {
953 fra
.me
.REG
[0] = BOX_NativeString("");
955 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB1
);
956 once_value_18
= fra
.me
.REG
[0];
957 register_static_object(&once_value_18
);
958 } else fra
.me
.REG
[0] = once_value_18
;
959 fra
.me
.REG
[0] = fra
.me
.REG
[0];
960 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
961 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
962 fra
.me
.REG
[2] = fra
.me
.REG
[3];
966 stack_frame_head
= fra
.me
.prev
;
967 return fra
.me
.REG
[2];
969 val_t
location___Location___relative_to(val_t p0
, val_t p1
){
970 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
976 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
977 fra
.me
.file
= LOCATE_location
;
979 fra
.me
.meth
= LOCATE_location___Location___relative_to
;
980 fra
.me
.has_broke
= 0;
982 fra
.me
.REG
[0] = NIT_NULL
;
983 fra
.me
.REG
[1] = NIT_NULL
;
984 fra
.me
.REG
[2] = NIT_NULL
;
987 /* ./location.nit:112 */
988 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
989 if (UNTAG_Bool(REGB0
)) {
991 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
992 if (UNTAG_Bool(REGB1
)) {
993 REGB1
= TAG_Bool(false);
996 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
1000 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1001 if (UNTAG_Bool(REGB0
)) {
1002 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1003 if (UNTAG_Bool(REGB0
)) {
1004 nit_abort("Reciever is null", NULL
, LOCATE_location
, 112);
1006 fra
.me
.REG
[1] = CALL_location___Location___file(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1007 fra
.me
.REG
[2] = CALL_location___Location___file(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1008 REGB0
= TAG_Bool(IS_EQUAL_NN(fra
.me
.REG
[1],fra
.me
.REG
[2]));
1009 if (UNTAG_Bool(REGB0
)) {
1011 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1012 if (UNTAG_Bool(REGB1
)) {
1013 REGB1
= TAG_Bool(false);
1016 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1021 REGB1
= TAG_Bool(false);
1024 if (UNTAG_Bool(REGB0
)) {
1025 /* ./location.nit:113 */
1026 REGB0
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1027 REGB1
= CALL_location___Location___line_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1028 REGB2
= CALL_location___Location___column_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1029 REGB3
= CALL_location___Location___column_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1030 fra
.me
.REG
[2] = NEW_Location_location___Location___init(NIT_NULL
, REGB0
, REGB1
, REGB2
, REGB3
);
1032 /* ./location.nit:115 */
1033 fra
.me
.REG
[1] = CALL_location___Location___file(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1034 REGB3
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1035 REGB2
= CALL_location___Location___line_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1036 REGB1
= CALL_location___Location___column_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1037 REGB0
= CALL_location___Location___column_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1038 fra
.me
.REG
[1] = NEW_Location_location___Location___init(fra
.me
.REG
[1], REGB3
, REGB2
, REGB1
, REGB0
);
1039 fra
.me
.REG
[2] = fra
.me
.REG
[1];
1041 /* ./location.nit:117 */
1042 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1045 stack_frame_head
= fra
.me
.prev
;
1046 return fra
.me
.REG
[2];
1048 val_t
location___Location_____l(val_t p0
, val_t p1
){
1049 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1055 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1056 fra
.me
.file
= LOCATE_location
;
1058 fra
.me
.meth
= LOCATE_location___Location_____l
;
1059 fra
.me
.has_broke
= 0;
1060 fra
.me
.REG_size
= 2;
1061 fra
.me
.REG
[0] = NIT_NULL
;
1062 fra
.me
.REG
[1] = NIT_NULL
;
1065 /* ./location.nit:121 */
1066 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],fra
.me
.REG
[1]));
1067 if (UNTAG_Bool(REGB0
)) {
1069 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1072 if (UNTAG_Bool(REGB0
)) {
1073 REGB0
= TAG_Bool(false);
1076 /* ./location.nit:122 */
1077 REGB1
= CALL_location___Location___located_in(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1078 if (UNTAG_Bool(REGB1
)) {
1079 REGB1
= TAG_Bool(true);
1083 /* ./location.nit:123 */
1084 REGB1
= CALL_location___Location___located_in(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1085 if (UNTAG_Bool(REGB1
)) {
1086 REGB1
= TAG_Bool(false);
1090 /* ./location.nit:125 */
1091 REGB1
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1092 REGB2
= CALL_location___Location___line_start(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1093 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
1094 if (UNTAG_Bool(REGB3
)) {
1096 /* ./../lib/standard//kernel.nit:210 */
1097 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
1098 /* ./location.nit:125 */
1101 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
1102 if (UNTAG_Bool(REGB3
)) {
1103 REGB3
= CALL_location___Location___line_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1104 REGB2
= CALL_location___Location___line_start(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1105 /* ./../lib/standard//kernel.nit:215 */
1106 REGB2
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB2
));
1107 /* ./location.nit:125 */
1111 /* ./location.nit:126 */
1112 REGB2
= CALL_location___Location___column_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1113 REGB3
= CALL_location___Location___column_start(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1114 REGB1
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB3
));
1115 if (UNTAG_Bool(REGB1
)) {
1117 /* ./../lib/standard//kernel.nit:210 */
1118 REGB3
= TAG_Bool((REGB2
)==(REGB3
));
1119 /* ./location.nit:126 */
1122 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
1123 if (UNTAG_Bool(REGB1
)) {
1124 REGB1
= CALL_location___Location___column_start(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1125 REGB3
= CALL_location___Location___column_start(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1126 /* ./../lib/standard//kernel.nit:215 */
1127 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB3
));
1128 /* ./location.nit:126 */
1132 /* ./location.nit:127 */
1133 REGB3
= CALL_location___Location___line_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1134 REGB1
= CALL_location___Location___line_end(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1135 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB1
));
1136 if (UNTAG_Bool(REGB2
)) {
1138 /* ./../lib/standard//kernel.nit:210 */
1139 REGB1
= TAG_Bool((REGB3
)==(REGB1
));
1140 /* ./location.nit:127 */
1143 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
1144 if (UNTAG_Bool(REGB2
)) {
1145 REGB2
= CALL_location___Location___line_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1146 REGB1
= CALL_location___Location___line_end(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1147 /* ./../lib/standard//kernel.nit:215 */
1148 REGB1
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB1
));
1149 /* ./location.nit:127 */
1153 /* ./location.nit:129 */
1154 REGB1
= CALL_location___Location___column_end(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1155 REGB2
= CALL_location___Location___column_end(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1156 /* ./../lib/standard//kernel.nit:215 */
1157 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1158 /* ./location.nit:129 */
1162 stack_frame_head
= fra
.me
.prev
;