ni: fix isa checks with new module names and updates c_src accordingly
[nit.git] / c_src / location._sep.c
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;
5 val_t REGB0;
6 val_t tmp;
7 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8 fra.me.file = LOCATE_location;
9 fra.me.line = 22;
10 fra.me.meth = LOCATE_location___SourceFile___filename;
11 fra.me.has_broke = 0;
12 fra.me.REG_size = 1;
13 fra.me.REG[0] = NIT_NULL;
14 fra.me.REG[0] = p0;
15 /* ./location.nit:22 */
16 REGB0 = TAG_Bool(ATTR_location___SourceFile_____atfilename(fra.me.REG[0])!=NIT_NULL);
17 if (UNTAG_Bool(REGB0)) {
18 } else {
19 nit_abort("Uninitialized attribute %s", "@filename", LOCATE_location, 22);
20 }
21 fra.me.REG[0] = ATTR_location___SourceFile_____atfilename(fra.me.REG[0]);
22 stack_frame_head = fra.me.prev;
23 return fra.me.REG[0];
24 }
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;
27 val_t tmp;
28 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29 fra.me.file = LOCATE_location;
30 fra.me.line = 22;
31 fra.me.meth = LOCATE_location___SourceFile___filename__eq;
32 fra.me.has_broke = 0;
33 fra.me.REG_size = 2;
34 fra.me.REG[0] = NIT_NULL;
35 fra.me.REG[1] = NIT_NULL;
36 fra.me.REG[0] = p0;
37 fra.me.REG[1] = p1;
38 /* ./location.nit:22 */
39 ATTR_location___SourceFile_____atfilename(fra.me.REG[0]) = fra.me.REG[1];
40 stack_frame_head = fra.me.prev;
41 return;
42 }
43 val_t location___SourceFile___string(val_t p0){
44 struct {struct stack_frame_t me;} fra;
45 val_t REGB0;
46 val_t tmp;
47 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48 fra.me.file = LOCATE_location;
49 fra.me.line = 25;
50 fra.me.meth = LOCATE_location___SourceFile___string;
51 fra.me.has_broke = 0;
52 fra.me.REG_size = 1;
53 fra.me.REG[0] = NIT_NULL;
54 fra.me.REG[0] = p0;
55 /* ./location.nit:25 */
56 REGB0 = TAG_Bool(ATTR_location___SourceFile_____atstring(fra.me.REG[0])!=NIT_NULL);
57 if (UNTAG_Bool(REGB0)) {
58 } else {
59 nit_abort("Uninitialized attribute %s", "@string", LOCATE_location, 25);
60 }
61 fra.me.REG[0] = ATTR_location___SourceFile_____atstring(fra.me.REG[0]);
62 stack_frame_head = fra.me.prev;
63 return fra.me.REG[0];
64 }
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;
67 val_t tmp;
68 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
69 fra.me.file = LOCATE_location;
70 fra.me.line = 25;
71 fra.me.meth = LOCATE_location___SourceFile___string__eq;
72 fra.me.has_broke = 0;
73 fra.me.REG_size = 2;
74 fra.me.REG[0] = NIT_NULL;
75 fra.me.REG[1] = NIT_NULL;
76 fra.me.REG[0] = p0;
77 fra.me.REG[1] = p1;
78 /* ./location.nit:25 */
79 ATTR_location___SourceFile_____atstring(fra.me.REG[0]) = fra.me.REG[1];
80 stack_frame_head = fra.me.prev;
81 return;
82 }
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;
86 val_t REGB0;
87 val_t REGB1;
88 val_t tmp;
89 if (init_table[itpos0]) return;
90 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
91 fra.me.file = LOCATE_location;
92 fra.me.line = 28;
93 fra.me.meth = LOCATE_location___SourceFile___init;
94 fra.me.has_broke = 0;
95 fra.me.REG_size = 3;
96 fra.me.REG[0] = NIT_NULL;
97 fra.me.REG[1] = NIT_NULL;
98 fra.me.REG[2] = NIT_NULL;
99 fra.me.REG[0] = p0;
100 fra.me.REG[1] = p1;
101 fra.me.REG[2] = p2;
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]);
109 REGB0 = TAG_Int(0);
110 REGB1 = TAG_Int(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;
114 return;
115 }
116 val_t location___SourceFile___line_starts(val_t p0){
117 struct {struct stack_frame_t me;} fra;
118 val_t REGB0;
119 val_t tmp;
120 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
121 fra.me.file = LOCATE_location;
122 fra.me.line = 36;
123 fra.me.meth = LOCATE_location___SourceFile___line_starts;
124 fra.me.has_broke = 0;
125 fra.me.REG_size = 1;
126 fra.me.REG[0] = NIT_NULL;
127 fra.me.REG[0] = p0;
128 /* ./location.nit:36 */
129 REGB0 = TAG_Bool(ATTR_location___SourceFile_____atline_starts(fra.me.REG[0])!=NIT_NULL);
130 if (UNTAG_Bool(REGB0)) {
131 } else {
132 nit_abort("Uninitialized attribute %s", "@line_starts", LOCATE_location, 36);
133 }
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];
137 }
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;
140 val_t tmp;
141 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
142 fra.me.file = LOCATE_location;
143 fra.me.line = 36;
144 fra.me.meth = LOCATE_location___SourceFile___line_starts__eq;
145 fra.me.has_broke = 0;
146 fra.me.REG_size = 2;
147 fra.me.REG[0] = NIT_NULL;
148 fra.me.REG[1] = NIT_NULL;
149 fra.me.REG[0] = p0;
150 fra.me.REG[1] = p1;
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;
154 return;
155 }
156 val_t location___Location___file(val_t p0){
157 struct {struct stack_frame_t me;} fra;
158 val_t tmp;
159 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
160 fra.me.file = LOCATE_location;
161 fra.me.line = 45;
162 fra.me.meth = LOCATE_location___Location___file;
163 fra.me.has_broke = 0;
164 fra.me.REG_size = 1;
165 fra.me.REG[0] = NIT_NULL;
166 fra.me.REG[0] = p0;
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];
171 }
172 val_t location___Location___line_start(val_t p0){
173 struct {struct stack_frame_t me;} fra;
174 val_t REGB0;
175 val_t tmp;
176 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
177 fra.me.file = LOCATE_location;
178 fra.me.line = 46;
179 fra.me.meth = LOCATE_location___Location___line_start;
180 fra.me.has_broke = 0;
181 fra.me.REG_size = 1;
182 fra.me.REG[0] = NIT_NULL;
183 fra.me.REG[0] = p0;
184 /* ./location.nit:46 */
185 REGB0 = TAG_Bool(ATTR_location___Location____line_start(fra.me.REG[0])!=NIT_NULL);
186 if (UNTAG_Bool(REGB0)) {
187 } else {
188 nit_abort("Uninitialized attribute %s", "_line_start", LOCATE_location, 46);
189 }
190 REGB0 = ATTR_location___Location____line_start(fra.me.REG[0]);
191 stack_frame_head = fra.me.prev;
192 return REGB0;
193 }
194 val_t location___Location___line_end(val_t p0){
195 struct {struct stack_frame_t me;} fra;
196 val_t REGB0;
197 val_t tmp;
198 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
199 fra.me.file = LOCATE_location;
200 fra.me.line = 47;
201 fra.me.meth = LOCATE_location___Location___line_end;
202 fra.me.has_broke = 0;
203 fra.me.REG_size = 1;
204 fra.me.REG[0] = NIT_NULL;
205 fra.me.REG[0] = p0;
206 /* ./location.nit:47 */
207 REGB0 = TAG_Bool(ATTR_location___Location____line_end(fra.me.REG[0])!=NIT_NULL);
208 if (UNTAG_Bool(REGB0)) {
209 } else {
210 nit_abort("Uninitialized attribute %s", "_line_end", LOCATE_location, 47);
211 }
212 REGB0 = ATTR_location___Location____line_end(fra.me.REG[0]);
213 stack_frame_head = fra.me.prev;
214 return REGB0;
215 }
216 val_t location___Location___column_start(val_t p0){
217 struct {struct stack_frame_t me;} fra;
218 val_t REGB0;
219 val_t tmp;
220 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
221 fra.me.file = LOCATE_location;
222 fra.me.line = 48;
223 fra.me.meth = LOCATE_location___Location___column_start;
224 fra.me.has_broke = 0;
225 fra.me.REG_size = 1;
226 fra.me.REG[0] = NIT_NULL;
227 fra.me.REG[0] = p0;
228 /* ./location.nit:48 */
229 REGB0 = TAG_Bool(ATTR_location___Location____column_start(fra.me.REG[0])!=NIT_NULL);
230 if (UNTAG_Bool(REGB0)) {
231 } else {
232 nit_abort("Uninitialized attribute %s", "_column_start", LOCATE_location, 48);
233 }
234 REGB0 = ATTR_location___Location____column_start(fra.me.REG[0]);
235 stack_frame_head = fra.me.prev;
236 return REGB0;
237 }
238 val_t location___Location___column_end(val_t p0){
239 struct {struct stack_frame_t me;} fra;
240 val_t REGB0;
241 val_t tmp;
242 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
243 fra.me.file = LOCATE_location;
244 fra.me.line = 49;
245 fra.me.meth = LOCATE_location___Location___column_end;
246 fra.me.has_broke = 0;
247 fra.me.REG_size = 1;
248 fra.me.REG[0] = NIT_NULL;
249 fra.me.REG[0] = p0;
250 /* ./location.nit:49 */
251 REGB0 = TAG_Bool(ATTR_location___Location____column_end(fra.me.REG[0])!=NIT_NULL);
252 if (UNTAG_Bool(REGB0)) {
253 } else {
254 nit_abort("Uninitialized attribute %s", "_column_end", LOCATE_location, 49);
255 }
256 REGB0 = ATTR_location___Location____column_end(fra.me.REG[0]);
257 stack_frame_head = fra.me.prev;
258 return REGB0;
259 }
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;
263 val_t REGB0;
264 val_t REGB1;
265 val_t REGB2;
266 val_t REGB3;
267 val_t tmp;
268 if (init_table[itpos1]) return;
269 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
270 fra.me.file = LOCATE_location;
271 fra.me.line = 51;
272 fra.me.meth = LOCATE_location___Location___init;
273 fra.me.has_broke = 0;
274 fra.me.REG_size = 2;
275 fra.me.REG[0] = NIT_NULL;
276 fra.me.REG[1] = NIT_NULL;
277 fra.me.REG[0] = p0;
278 fra.me.REG[1] = p1;
279 REGB0 = p2;
280 REGB1 = p3;
281 REGB2 = p4;
282 REGB3 = p5;
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;
295 return;
296 }
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;
300 val_t REGB0;
301 val_t REGB1;
302 val_t REGB2;
303 val_t REGB3;
304 val_t tmp;
305 if (init_table[itpos2]) return;
306 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
307 fra.me.file = LOCATE_location;
308 fra.me.line = 59;
309 fra.me.meth = LOCATE_location___Location___with_file;
310 fra.me.has_broke = 0;
311 fra.me.REG_size = 2;
312 fra.me.REG[0] = NIT_NULL;
313 fra.me.REG[1] = NIT_NULL;
314 fra.me.REG[0] = p0;
315 fra.me.REG[1] = p1;
316 /* ./location.nit:59 */
317 REGB0 = TAG_Int(0);
318 REGB1 = TAG_Int(0);
319 REGB2 = TAG_Int(0);
320 REGB3 = TAG_Int(0);
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;
324 return;
325 }
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;
328 val_t REGB0;
329 val_t REGB1;
330 val_t REGB2;
331 val_t REGB3;
332 val_t tmp;
333 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
334 fra.me.file = LOCATE_location;
335 fra.me.line = 61;
336 fra.me.meth = LOCATE_location___Location_____eqeq;
337 fra.me.has_broke = 0;
338 fra.me.REG_size = 4;
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;
343 fra.me.REG[0] = p0;
344 fra.me.REG[1] = p1;
345 /* ./location.nit:62 */
346 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
347 if (UNTAG_Bool(REGB0)) {
348 } else {
349 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
350 if (UNTAG_Bool(REGB1)) {
351 REGB1 = TAG_Bool(false);
352 REGB0 = REGB1;
353 } else {
354 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
355 REGB0 = REGB1;
356 }
357 }
358 if (UNTAG_Bool(REGB0)) {
359 REGB0 = TAG_Bool(false);
360 goto label1;
361 }
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);
367 REGB0 = REGB1;
368 goto label1;
369 }
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);
374 }
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)) {
379 } else {
380 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
381 if (UNTAG_Bool(REGB2)) {
382 REGB2 = TAG_Bool(false);
383 REGB1 = REGB2;
384 } else {
385 REGB2 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
386 REGB1 = REGB2;
387 }
388 }
389 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
390 if (UNTAG_Bool(REGB1)) {
391 REGB1 = TAG_Bool(false);
392 REGB0 = REGB1;
393 goto label1;
394 }
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);
399 }
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)) {
404 } else {
405 /* ./../lib/standard//kernel.nit:210 */
406 REGB2 = TAG_Bool((REGB1)==(REGB2));
407 /* ./location.nit:66 */
408 REGB3 = REGB2;
409 }
410 REGB3 = TAG_Bool(!UNTAG_Bool(REGB3));
411 if (UNTAG_Bool(REGB3)) {
412 REGB3 = TAG_Bool(false);
413 REGB0 = REGB3;
414 goto label1;
415 }
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);
420 }
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)) {
425 } else {
426 /* ./../lib/standard//kernel.nit:210 */
427 REGB2 = TAG_Bool((REGB3)==(REGB2));
428 /* ./location.nit:67 */
429 REGB1 = REGB2;
430 }
431 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
432 if (UNTAG_Bool(REGB1)) {
433 REGB1 = TAG_Bool(false);
434 REGB0 = REGB1;
435 goto label1;
436 }
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);
441 }
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)) {
446 } else {
447 /* ./../lib/standard//kernel.nit:210 */
448 REGB2 = TAG_Bool((REGB1)==(REGB2));
449 /* ./location.nit:68 */
450 REGB3 = REGB2;
451 }
452 REGB3 = TAG_Bool(!UNTAG_Bool(REGB3));
453 if (UNTAG_Bool(REGB3)) {
454 REGB3 = TAG_Bool(false);
455 REGB0 = REGB3;
456 goto label1;
457 }
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);
462 }
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)) {
467 } else {
468 /* ./../lib/standard//kernel.nit:210 */
469 REGB2 = TAG_Bool((REGB3)==(REGB2));
470 /* ./location.nit:69 */
471 REGB1 = REGB2;
472 }
473 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
474 if (UNTAG_Bool(REGB1)) {
475 REGB1 = TAG_Bool(false);
476 REGB0 = REGB1;
477 goto label1;
478 }
479 /* ./location.nit:71 */
480 REGB1 = TAG_Bool(true);
481 REGB0 = REGB1;
482 goto label1;
483 label1: while(0);
484 stack_frame_head = fra.me.prev;
485 return REGB0;
486 }
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;
489 val_t REGB0;
490 val_t REGB1;
491 val_t REGB2;
492 val_t REGB3;
493 val_t tmp;
494 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
495 fra.me.file = LOCATE_location;
496 fra.me.line = 74;
497 fra.me.meth = LOCATE_location___Location___located_in;
498 fra.me.has_broke = 0;
499 fra.me.REG_size = 2;
500 fra.me.REG[0] = NIT_NULL;
501 fra.me.REG[1] = NIT_NULL;
502 fra.me.REG[0] = p0;
503 fra.me.REG[1] = p1;
504 /* ./location.nit:75 */
505 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
506 if (UNTAG_Bool(REGB0)) {
507 } else {
508 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
509 if (UNTAG_Bool(REGB1)) {
510 REGB1 = TAG_Bool(false);
511 REGB0 = REGB1;
512 } else {
513 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
514 REGB0 = REGB1;
515 }
516 }
517 if (UNTAG_Bool(REGB0)) {
518 REGB0 = TAG_Bool(false);
519 goto label1;
520 }
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);
526 }
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);
533 REGB0 = REGB2;
534 goto label1;
535 }
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);
541 }
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);
548 REGB0 = REGB1;
549 goto label1;
550 }
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);
556 }
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);
563 REGB0 = REGB2;
564 goto label1;
565 }
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);
571 }
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)) {
575 } else {
576 /* ./../lib/standard//kernel.nit:210 */
577 REGB1 = TAG_Bool((REGB2)==(REGB1));
578 /* ./location.nit:82 */
579 REGB3 = REGB1;
580 }
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);
587 }
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);
594 REGB0 = REGB1;
595 goto label1;
596 }
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);
602 }
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);
609 REGB0 = REGB3;
610 goto label1;
611 }
612 }
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);
618 }
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)) {
622 } else {
623 /* ./../lib/standard//kernel.nit:210 */
624 REGB1 = TAG_Bool((REGB3)==(REGB1));
625 /* ./location.nit:87 */
626 REGB2 = REGB1;
627 }
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);
633 }
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));
637 } else {
638 /* ./location.nit:87 */
639 REGB2 = TAG_Bool(false);
640 REGB1 = REGB2;
641 }
642 if (UNTAG_Bool(REGB1)) {
643 REGB1 = TAG_Bool(false);
644 REGB0 = REGB1;
645 goto label1;
646 }
647 /* ./location.nit:89 */
648 REGB1 = TAG_Bool(true);
649 REGB0 = REGB1;
650 goto label1;
651 label1: while(0);
652 stack_frame_head = fra.me.prev;
653 return REGB0;
654 }
655 val_t location___Location___to_s(val_t p0){
656 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
657 val_t REGB0;
658 val_t REGB1;
659 val_t REGB2;
660 val_t tmp;
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;
680 fra.me.line = 92;
681 fra.me.meth = LOCATE_location___Location___to_s;
682 fra.me.has_broke = 0;
683 fra.me.REG_size = 5;
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;
689 fra.me.REG[0] = p0;
690 /* ./location.nit:93 */
691 if (!once_value_1) {
692 fra.me.REG[1] = BOX_NativeString("");
693 REGB0 = TAG_Int(0);
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)) {
703 } else {
704 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
705 if (UNTAG_Bool(REGB1)) {
706 REGB1 = TAG_Bool(false);
707 REGB0 = REGB1;
708 } else {
709 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
710 REGB0 = REGB1;
711 }
712 }
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);
720 }
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);
728 }
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)) {
733 } else {
734 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array, 23);
735 }
736 REGB0 = ATTR_standard___collection___array___AbstractArrayRead____length(fra.me.REG[2]);
737 /* ./location.nit:96 */
738 REGB1 = TAG_Int(0);
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)) {
743 if (!once_value_2) {
744 fra.me.REG[2] = BOX_NativeString(":");
745 REGB1 = TAG_Int(1);
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];
753 }
754 }
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)) {
760 } else {
761 /* ./../lib/standard//kernel.nit:210 */
762 REGB0 = TAG_Bool((REGB1)==(REGB0));
763 /* ./location.nit:99 */
764 REGB2 = REGB0;
765 }
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)) {
772 } else {
773 /* ./../lib/standard//kernel.nit:210 */
774 REGB0 = TAG_Bool((REGB2)==(REGB0));
775 /* ./location.nit:100 */
776 REGB1 = REGB0;
777 }
778 if (UNTAG_Bool(REGB1)) {
779 /* ./location.nit:101 */
780 REGB1 = TAG_Int(7);
781 fra.me.REG[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
782 if (!once_value_3) {
783 fra.me.REG[3] = BOX_NativeString("");
784 REGB1 = TAG_Int(0);
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]);
792 if (!once_value_4) {
793 fra.me.REG[3] = BOX_NativeString("");
794 REGB1 = TAG_Int(0);
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]);
804 if (!once_value_5) {
805 fra.me.REG[3] = BOX_NativeString(",");
806 REGB1 = TAG_Int(1);
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]);
816 if (!once_value_6) {
817 fra.me.REG[3] = BOX_NativeString("");
818 REGB1 = TAG_Int(0);
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]);
826 goto label7;
827 } else {
828 /* ./location.nit:103 */
829 REGB1 = TAG_Int(9);
830 fra.me.REG[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1);
831 if (!once_value_8) {
832 fra.me.REG[4] = BOX_NativeString("");
833 REGB1 = TAG_Int(0);
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]);
841 if (!once_value_9) {
842 fra.me.REG[4] = BOX_NativeString("");
843 REGB1 = TAG_Int(0);
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(",");
855 REGB1 = TAG_Int(1);
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("--");
867 REGB1 = TAG_Int(2);
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("");
879 REGB1 = TAG_Int(0);
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];
888 goto label7;
889 }
890 } else {
891 /* ./location.nit:106 */
892 REGB1 = TAG_Int(11);
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("");
896 REGB1 = TAG_Int(0);
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("");
906 REGB1 = TAG_Int(0);
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(",");
918 REGB1 = TAG_Int(1);
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("--");
930 REGB1 = TAG_Int(2);
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(",");
942 REGB1 = TAG_Int(1);
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("");
954 REGB1 = TAG_Int(0);
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];
963 goto label7;
964 }
965 label7: while(0);
966 stack_frame_head = fra.me.prev;
967 return fra.me.REG[2];
968 }
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;
971 val_t REGB0;
972 val_t REGB1;
973 val_t REGB2;
974 val_t REGB3;
975 val_t tmp;
976 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
977 fra.me.file = LOCATE_location;
978 fra.me.line = 110;
979 fra.me.meth = LOCATE_location___Location___relative_to;
980 fra.me.has_broke = 0;
981 fra.me.REG_size = 3;
982 fra.me.REG[0] = NIT_NULL;
983 fra.me.REG[1] = NIT_NULL;
984 fra.me.REG[2] = NIT_NULL;
985 fra.me.REG[0] = p0;
986 fra.me.REG[1] = p1;
987 /* ./location.nit:112 */
988 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
989 if (UNTAG_Bool(REGB0)) {
990 } else {
991 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
992 if (UNTAG_Bool(REGB1)) {
993 REGB1 = TAG_Bool(false);
994 REGB0 = REGB1;
995 } else {
996 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
997 REGB0 = REGB1;
998 }
999 }
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);
1005 }
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)) {
1010 } else {
1011 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
1012 if (UNTAG_Bool(REGB1)) {
1013 REGB1 = TAG_Bool(false);
1014 REGB0 = REGB1;
1015 } else {
1016 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1017 REGB0 = REGB1;
1018 }
1019 }
1020 } else {
1021 REGB1 = TAG_Bool(false);
1022 REGB0 = REGB1;
1023 }
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);
1031 } else {
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];
1040 }
1041 /* ./location.nit:117 */
1042 fra.me.REG[2] = CALL_standard___string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
1043 goto label1;
1044 label1: while(0);
1045 stack_frame_head = fra.me.prev;
1046 return fra.me.REG[2];
1047 }
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;
1050 val_t REGB0;
1051 val_t REGB1;
1052 val_t REGB2;
1053 val_t REGB3;
1054 val_t tmp;
1055 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1056 fra.me.file = LOCATE_location;
1057 fra.me.line = 120;
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;
1063 fra.me.REG[0] = p0;
1064 fra.me.REG[1] = p1;
1065 /* ./location.nit:121 */
1066 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[0],fra.me.REG[1]));
1067 if (UNTAG_Bool(REGB0)) {
1068 } else {
1069 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1070 REGB0 = REGB1;
1071 }
1072 if (UNTAG_Bool(REGB0)) {
1073 REGB0 = TAG_Bool(false);
1074 goto label1;
1075 }
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);
1080 REGB0 = REGB1;
1081 goto label1;
1082 }
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);
1087 REGB0 = REGB1;
1088 goto label1;
1089 }
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)) {
1095 } else {
1096 /* ./../lib/standard//kernel.nit:210 */
1097 REGB2 = TAG_Bool((REGB1)==(REGB2));
1098 /* ./location.nit:125 */
1099 REGB3 = REGB2;
1100 }
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 */
1108 REGB0 = REGB2;
1109 goto label1;
1110 }
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)) {
1116 } else {
1117 /* ./../lib/standard//kernel.nit:210 */
1118 REGB3 = TAG_Bool((REGB2)==(REGB3));
1119 /* ./location.nit:126 */
1120 REGB1 = REGB3;
1121 }
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 */
1129 REGB0 = REGB3;
1130 goto label1;
1131 }
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)) {
1137 } else {
1138 /* ./../lib/standard//kernel.nit:210 */
1139 REGB1 = TAG_Bool((REGB3)==(REGB1));
1140 /* ./location.nit:127 */
1141 REGB2 = REGB1;
1142 }
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 */
1150 REGB0 = REGB1;
1151 goto label1;
1152 }
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 */
1159 REGB0 = REGB2;
1160 goto label1;
1161 label1: while(0);
1162 stack_frame_head = fra.me.prev;
1163 return REGB0;
1164 }