update NOTICE and LICENSE
[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___Location___file(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 = 23;
10 fra.me.meth = LOCATE_location___Location___file;
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:23 */
16 REGB0 = TAG_Bool(ATTR_location___Location____file(fra.me.REG[0])!=NIT_NULL);
17 if (UNTAG_Bool(REGB0)) {
18 } else {
19 nit_abort("Uninitialized attribute %s", "_file", LOCATE_location, 23);
20 }
21 fra.me.REG[0] = ATTR_location___Location____file(fra.me.REG[0]);
22 stack_frame_head = fra.me.prev;
23 return fra.me.REG[0];
24 }
25 val_t location___Location___line_start(val_t p0){
26 struct {struct stack_frame_t me;} fra;
27 val_t REGB0;
28 val_t tmp;
29 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30 fra.me.file = LOCATE_location;
31 fra.me.line = 24;
32 fra.me.meth = LOCATE_location___Location___line_start;
33 fra.me.has_broke = 0;
34 fra.me.REG_size = 1;
35 fra.me.REG[0] = NIT_NULL;
36 fra.me.REG[0] = p0;
37 /* ./location.nit:24 */
38 REGB0 = TAG_Bool(ATTR_location___Location____line_start(fra.me.REG[0])!=NIT_NULL);
39 if (UNTAG_Bool(REGB0)) {
40 } else {
41 nit_abort("Uninitialized attribute %s", "_line_start", LOCATE_location, 24);
42 }
43 REGB0 = ATTR_location___Location____line_start(fra.me.REG[0]);
44 stack_frame_head = fra.me.prev;
45 return REGB0;
46 }
47 val_t location___Location___line_end(val_t p0){
48 struct {struct stack_frame_t me;} fra;
49 val_t REGB0;
50 val_t tmp;
51 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52 fra.me.file = LOCATE_location;
53 fra.me.line = 25;
54 fra.me.meth = LOCATE_location___Location___line_end;
55 fra.me.has_broke = 0;
56 fra.me.REG_size = 1;
57 fra.me.REG[0] = NIT_NULL;
58 fra.me.REG[0] = p0;
59 /* ./location.nit:25 */
60 REGB0 = TAG_Bool(ATTR_location___Location____line_end(fra.me.REG[0])!=NIT_NULL);
61 if (UNTAG_Bool(REGB0)) {
62 } else {
63 nit_abort("Uninitialized attribute %s", "_line_end", LOCATE_location, 25);
64 }
65 REGB0 = ATTR_location___Location____line_end(fra.me.REG[0]);
66 stack_frame_head = fra.me.prev;
67 return REGB0;
68 }
69 val_t location___Location___column_start(val_t p0){
70 struct {struct stack_frame_t me;} fra;
71 val_t REGB0;
72 val_t tmp;
73 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74 fra.me.file = LOCATE_location;
75 fra.me.line = 26;
76 fra.me.meth = LOCATE_location___Location___column_start;
77 fra.me.has_broke = 0;
78 fra.me.REG_size = 1;
79 fra.me.REG[0] = NIT_NULL;
80 fra.me.REG[0] = p0;
81 /* ./location.nit:26 */
82 REGB0 = TAG_Bool(ATTR_location___Location____column_start(fra.me.REG[0])!=NIT_NULL);
83 if (UNTAG_Bool(REGB0)) {
84 } else {
85 nit_abort("Uninitialized attribute %s", "_column_start", LOCATE_location, 26);
86 }
87 REGB0 = ATTR_location___Location____column_start(fra.me.REG[0]);
88 stack_frame_head = fra.me.prev;
89 return REGB0;
90 }
91 val_t location___Location___column_end(val_t p0){
92 struct {struct stack_frame_t me;} fra;
93 val_t REGB0;
94 val_t tmp;
95 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
96 fra.me.file = LOCATE_location;
97 fra.me.line = 27;
98 fra.me.meth = LOCATE_location___Location___column_end;
99 fra.me.has_broke = 0;
100 fra.me.REG_size = 1;
101 fra.me.REG[0] = NIT_NULL;
102 fra.me.REG[0] = p0;
103 /* ./location.nit:27 */
104 REGB0 = TAG_Bool(ATTR_location___Location____column_end(fra.me.REG[0])!=NIT_NULL);
105 if (UNTAG_Bool(REGB0)) {
106 } else {
107 nit_abort("Uninitialized attribute %s", "_column_end", LOCATE_location, 27);
108 }
109 REGB0 = ATTR_location___Location____column_end(fra.me.REG[0]);
110 stack_frame_head = fra.me.prev;
111 return REGB0;
112 }
113 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){
114 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_Location].i;
115 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
116 val_t REGB0;
117 val_t REGB1;
118 val_t REGB2;
119 val_t REGB3;
120 val_t tmp;
121 if (init_table[itpos0]) return;
122 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
123 fra.me.file = LOCATE_location;
124 fra.me.line = 29;
125 fra.me.meth = LOCATE_location___Location___init;
126 fra.me.has_broke = 0;
127 fra.me.REG_size = 2;
128 fra.me.REG[0] = NIT_NULL;
129 fra.me.REG[1] = NIT_NULL;
130 fra.me.REG[0] = p0;
131 fra.me.REG[1] = p1;
132 REGB0 = p2;
133 REGB1 = p3;
134 REGB2 = p4;
135 REGB3 = p5;
136 /* ./location.nit:30 */
137 ATTR_location___Location____file(fra.me.REG[0]) = fra.me.REG[1];
138 /* ./location.nit:31 */
139 ATTR_location___Location____line_start(fra.me.REG[0]) = REGB0;
140 /* ./location.nit:32 */
141 ATTR_location___Location____line_end(fra.me.REG[0]) = REGB1;
142 /* ./location.nit:33 */
143 ATTR_location___Location____column_start(fra.me.REG[0]) = REGB2;
144 /* ./location.nit:34 */
145 ATTR_location___Location____column_end(fra.me.REG[0]) = REGB3;
146 stack_frame_head = fra.me.prev;
147 init_table[itpos0] = 1;
148 return;
149 }
150 void location___Location___with_file(val_t p0, val_t p1, int* init_table){
151 int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_Location].i;
152 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
153 val_t REGB0;
154 val_t REGB1;
155 val_t REGB2;
156 val_t REGB3;
157 val_t tmp;
158 if (init_table[itpos1]) return;
159 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
160 fra.me.file = LOCATE_location;
161 fra.me.line = 37;
162 fra.me.meth = LOCATE_location___Location___with_file;
163 fra.me.has_broke = 0;
164 fra.me.REG_size = 2;
165 fra.me.REG[0] = NIT_NULL;
166 fra.me.REG[1] = NIT_NULL;
167 fra.me.REG[0] = p0;
168 fra.me.REG[1] = p1;
169 /* ./location.nit:37 */
170 REGB0 = TAG_Int(0);
171 REGB1 = TAG_Int(0);
172 REGB2 = TAG_Int(0);
173 REGB3 = TAG_Int(0);
174 CALL_location___Location___init(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], REGB0, REGB1, REGB2, REGB3, init_table);
175 stack_frame_head = fra.me.prev;
176 init_table[itpos1] = 1;
177 return;
178 }
179 val_t location___Location_____eqeq(val_t p0, val_t p1){
180 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
181 val_t REGB0;
182 val_t REGB1;
183 val_t REGB2;
184 val_t REGB3;
185 val_t tmp;
186 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
187 fra.me.file = LOCATE_location;
188 fra.me.line = 39;
189 fra.me.meth = LOCATE_location___Location_____eqeq;
190 fra.me.has_broke = 0;
191 fra.me.REG_size = 4;
192 fra.me.REG[0] = NIT_NULL;
193 fra.me.REG[1] = NIT_NULL;
194 fra.me.REG[2] = NIT_NULL;
195 fra.me.REG[3] = NIT_NULL;
196 fra.me.REG[0] = p0;
197 fra.me.REG[1] = p1;
198 /* ./location.nit:40 */
199 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
200 if (UNTAG_Bool(REGB0)) {
201 } else {
202 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
203 if (UNTAG_Bool(REGB1)) {
204 REGB1 = TAG_Bool(false);
205 REGB0 = REGB1;
206 } else {
207 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
208 REGB0 = REGB1;
209 }
210 }
211 if (UNTAG_Bool(REGB0)) {
212 REGB0 = TAG_Bool(false);
213 goto label1;
214 }
215 /* ./location.nit:41 */
216 REGB1 = TAG_Bool((fra.me.REG[1]!=NIT_NULL) && VAL_ISA(fra.me.REG[1], COLOR_Location, ID_Location)) /*cast Location*/;
217 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
218 if (UNTAG_Bool(REGB1)) {
219 REGB1 = TAG_Bool(false);
220 REGB0 = REGB1;
221 goto label1;
222 }
223 /* ./location.nit:43 */
224 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
225 if (UNTAG_Bool(REGB1)) {
226 nit_abort("Reciever is null", NULL, LOCATE_location, 43);
227 }
228 fra.me.REG[2] = CALL_location___Location___file(fra.me.REG[1])(fra.me.REG[1]);
229 fra.me.REG[3] = CALL_location___Location___file(fra.me.REG[0])(fra.me.REG[0]);
230 REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[2],fra.me.REG[3]));
231 if (UNTAG_Bool(REGB1)) {
232 } else {
233 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
234 REGB1 = REGB2;
235 }
236 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
237 if (UNTAG_Bool(REGB1)) {
238 REGB1 = TAG_Bool(false);
239 REGB0 = REGB1;
240 goto label1;
241 }
242 /* ./location.nit:44 */
243 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
244 if (UNTAG_Bool(REGB1)) {
245 nit_abort("Reciever is null", NULL, LOCATE_location, 44);
246 }
247 REGB1 = CALL_location___Location___line_start(fra.me.REG[1])(fra.me.REG[1]);
248 REGB2 = CALL_location___Location___line_start(fra.me.REG[0])(fra.me.REG[0]);
249 REGB3 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB2));
250 if (UNTAG_Bool(REGB3)) {
251 } else {
252 /* ./../lib/standard//kernel.nit:207 */
253 REGB2 = TAG_Bool((REGB1)==(REGB2));
254 /* ./location.nit:44 */
255 REGB3 = REGB2;
256 }
257 REGB3 = TAG_Bool(!UNTAG_Bool(REGB3));
258 if (UNTAG_Bool(REGB3)) {
259 REGB3 = TAG_Bool(false);
260 REGB0 = REGB3;
261 goto label1;
262 }
263 /* ./location.nit:45 */
264 REGB3 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
265 if (UNTAG_Bool(REGB3)) {
266 nit_abort("Reciever is null", NULL, LOCATE_location, 45);
267 }
268 REGB3 = CALL_location___Location___line_end(fra.me.REG[1])(fra.me.REG[1]);
269 REGB2 = CALL_location___Location___line_end(fra.me.REG[0])(fra.me.REG[0]);
270 REGB1 = TAG_Bool(IS_EQUAL_OO(REGB3,REGB2));
271 if (UNTAG_Bool(REGB1)) {
272 } else {
273 /* ./../lib/standard//kernel.nit:207 */
274 REGB2 = TAG_Bool((REGB3)==(REGB2));
275 /* ./location.nit:45 */
276 REGB1 = REGB2;
277 }
278 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
279 if (UNTAG_Bool(REGB1)) {
280 REGB1 = TAG_Bool(false);
281 REGB0 = REGB1;
282 goto label1;
283 }
284 /* ./location.nit:46 */
285 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
286 if (UNTAG_Bool(REGB1)) {
287 nit_abort("Reciever is null", NULL, LOCATE_location, 46);
288 }
289 REGB1 = CALL_location___Location___column_start(fra.me.REG[1])(fra.me.REG[1]);
290 REGB2 = CALL_location___Location___column_start(fra.me.REG[0])(fra.me.REG[0]);
291 REGB3 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB2));
292 if (UNTAG_Bool(REGB3)) {
293 } else {
294 /* ./../lib/standard//kernel.nit:207 */
295 REGB2 = TAG_Bool((REGB1)==(REGB2));
296 /* ./location.nit:46 */
297 REGB3 = REGB2;
298 }
299 REGB3 = TAG_Bool(!UNTAG_Bool(REGB3));
300 if (UNTAG_Bool(REGB3)) {
301 REGB3 = TAG_Bool(false);
302 REGB0 = REGB3;
303 goto label1;
304 }
305 /* ./location.nit:47 */
306 REGB3 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
307 if (UNTAG_Bool(REGB3)) {
308 nit_abort("Reciever is null", NULL, LOCATE_location, 47);
309 }
310 REGB3 = CALL_location___Location___column_end(fra.me.REG[1])(fra.me.REG[1]);
311 REGB2 = CALL_location___Location___column_end(fra.me.REG[0])(fra.me.REG[0]);
312 REGB1 = TAG_Bool(IS_EQUAL_OO(REGB3,REGB2));
313 if (UNTAG_Bool(REGB1)) {
314 } else {
315 /* ./../lib/standard//kernel.nit:207 */
316 REGB2 = TAG_Bool((REGB3)==(REGB2));
317 /* ./location.nit:47 */
318 REGB1 = REGB2;
319 }
320 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
321 if (UNTAG_Bool(REGB1)) {
322 REGB1 = TAG_Bool(false);
323 REGB0 = REGB1;
324 goto label1;
325 }
326 /* ./location.nit:49 */
327 REGB1 = TAG_Bool(true);
328 REGB0 = REGB1;
329 goto label1;
330 label1: while(0);
331 stack_frame_head = fra.me.prev;
332 return REGB0;
333 }
334 val_t location___Location___located_in(val_t p0, val_t p1){
335 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
336 val_t REGB0;
337 val_t REGB1;
338 val_t REGB2;
339 val_t REGB3;
340 val_t tmp;
341 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
342 fra.me.file = LOCATE_location;
343 fra.me.line = 52;
344 fra.me.meth = LOCATE_location___Location___located_in;
345 fra.me.has_broke = 0;
346 fra.me.REG_size = 2;
347 fra.me.REG[0] = NIT_NULL;
348 fra.me.REG[1] = NIT_NULL;
349 fra.me.REG[0] = p0;
350 fra.me.REG[1] = p1;
351 /* ./location.nit:53 */
352 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
353 if (UNTAG_Bool(REGB0)) {
354 } else {
355 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
356 if (UNTAG_Bool(REGB1)) {
357 REGB1 = TAG_Bool(false);
358 REGB0 = REGB1;
359 } else {
360 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
361 REGB0 = REGB1;
362 }
363 }
364 if (UNTAG_Bool(REGB0)) {
365 REGB0 = TAG_Bool(false);
366 goto label1;
367 }
368 /* ./location.nit:55 */
369 REGB1 = CALL_location___Location___line_start(fra.me.REG[0])(fra.me.REG[0]);
370 REGB2 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
371 if (UNTAG_Bool(REGB2)) {
372 nit_abort("Reciever is null", NULL, LOCATE_location, 55);
373 }
374 REGB2 = CALL_location___Location___line_start(fra.me.REG[1])(fra.me.REG[1]);
375 /* ./../lib/standard//kernel.nit:212 */
376 REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
377 /* ./location.nit:55 */
378 if (UNTAG_Bool(REGB2)) {
379 REGB2 = TAG_Bool(false);
380 REGB0 = REGB2;
381 goto label1;
382 }
383 /* ./location.nit:56 */
384 REGB2 = CALL_location___Location___line_start(fra.me.REG[0])(fra.me.REG[0]);
385 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
386 if (UNTAG_Bool(REGB1)) {
387 nit_abort("Reciever is null", NULL, LOCATE_location, 56);
388 }
389 REGB1 = CALL_location___Location___line_end(fra.me.REG[1])(fra.me.REG[1]);
390 /* ./../lib/standard//kernel.nit:214 */
391 REGB1 = TAG_Bool(UNTAG_Int(REGB2)>UNTAG_Int(REGB1));
392 /* ./location.nit:56 */
393 if (UNTAG_Bool(REGB1)) {
394 REGB1 = TAG_Bool(false);
395 REGB0 = REGB1;
396 goto label1;
397 }
398 /* ./location.nit:58 */
399 REGB1 = CALL_location___Location___line_end(fra.me.REG[0])(fra.me.REG[0]);
400 REGB2 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
401 if (UNTAG_Bool(REGB2)) {
402 nit_abort("Reciever is null", NULL, LOCATE_location, 58);
403 }
404 REGB2 = CALL_location___Location___line_end(fra.me.REG[1])(fra.me.REG[1]);
405 /* ./../lib/standard//kernel.nit:214 */
406 REGB2 = TAG_Bool(UNTAG_Int(REGB1)>UNTAG_Int(REGB2));
407 /* ./location.nit:58 */
408 if (UNTAG_Bool(REGB2)) {
409 REGB2 = TAG_Bool(false);
410 REGB0 = REGB2;
411 goto label1;
412 }
413 /* ./location.nit:60 */
414 REGB2 = CALL_location___Location___line_start(fra.me.REG[0])(fra.me.REG[0]);
415 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
416 if (UNTAG_Bool(REGB1)) {
417 nit_abort("Reciever is null", NULL, LOCATE_location, 60);
418 }
419 REGB1 = CALL_location___Location___line_start(fra.me.REG[1])(fra.me.REG[1]);
420 REGB3 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB1));
421 if (UNTAG_Bool(REGB3)) {
422 } else {
423 /* ./../lib/standard//kernel.nit:207 */
424 REGB1 = TAG_Bool((REGB2)==(REGB1));
425 /* ./location.nit:60 */
426 REGB3 = REGB1;
427 }
428 if (UNTAG_Bool(REGB3)) {
429 /* ./location.nit:61 */
430 REGB3 = CALL_location___Location___column_start(fra.me.REG[0])(fra.me.REG[0]);
431 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
432 if (UNTAG_Bool(REGB1)) {
433 nit_abort("Reciever is null", NULL, LOCATE_location, 61);
434 }
435 REGB1 = CALL_location___Location___column_start(fra.me.REG[1])(fra.me.REG[1]);
436 /* ./../lib/standard//kernel.nit:212 */
437 REGB1 = TAG_Bool(UNTAG_Int(REGB3)<UNTAG_Int(REGB1));
438 /* ./location.nit:61 */
439 if (UNTAG_Bool(REGB1)) {
440 REGB1 = TAG_Bool(false);
441 REGB0 = REGB1;
442 goto label1;
443 }
444 /* ./location.nit:62 */
445 REGB1 = CALL_location___Location___column_start(fra.me.REG[0])(fra.me.REG[0]);
446 REGB3 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
447 if (UNTAG_Bool(REGB3)) {
448 nit_abort("Reciever is null", NULL, LOCATE_location, 62);
449 }
450 REGB3 = CALL_location___Location___column_end(fra.me.REG[1])(fra.me.REG[1]);
451 /* ./../lib/standard//kernel.nit:214 */
452 REGB3 = TAG_Bool(UNTAG_Int(REGB1)>UNTAG_Int(REGB3));
453 /* ./location.nit:62 */
454 if (UNTAG_Bool(REGB3)) {
455 REGB3 = TAG_Bool(false);
456 REGB0 = REGB3;
457 goto label1;
458 }
459 }
460 /* ./location.nit:65 */
461 REGB3 = CALL_location___Location___line_end(fra.me.REG[0])(fra.me.REG[0]);
462 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
463 if (UNTAG_Bool(REGB1)) {
464 nit_abort("Reciever is null", NULL, LOCATE_location, 65);
465 }
466 REGB1 = CALL_location___Location___line_end(fra.me.REG[1])(fra.me.REG[1]);
467 REGB2 = TAG_Bool(IS_EQUAL_OO(REGB3,REGB1));
468 if (UNTAG_Bool(REGB2)) {
469 } else {
470 /* ./../lib/standard//kernel.nit:207 */
471 REGB1 = TAG_Bool((REGB3)==(REGB1));
472 /* ./location.nit:65 */
473 REGB2 = REGB1;
474 }
475 if (UNTAG_Bool(REGB2)) {
476 REGB2 = CALL_location___Location___column_end(fra.me.REG[0])(fra.me.REG[0]);
477 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
478 if (UNTAG_Bool(REGB1)) {
479 nit_abort("Reciever is null", NULL, LOCATE_location, 65);
480 }
481 REGB1 = CALL_location___Location___column_end(fra.me.REG[1])(fra.me.REG[1]);
482 /* ./../lib/standard//kernel.nit:214 */
483 REGB1 = TAG_Bool(UNTAG_Int(REGB2)>UNTAG_Int(REGB1));
484 } else {
485 /* ./location.nit:65 */
486 REGB2 = TAG_Bool(false);
487 REGB1 = REGB2;
488 }
489 if (UNTAG_Bool(REGB1)) {
490 REGB1 = TAG_Bool(false);
491 REGB0 = REGB1;
492 goto label1;
493 }
494 /* ./location.nit:67 */
495 REGB1 = TAG_Bool(true);
496 REGB0 = REGB1;
497 goto label1;
498 label1: while(0);
499 stack_frame_head = fra.me.prev;
500 return REGB0;
501 }
502 val_t location___Location___to_s(val_t p0){
503 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
504 val_t REGB0;
505 val_t REGB1;
506 val_t REGB2;
507 val_t tmp;
508 static val_t once_value_1; /* Once value */
509 static val_t once_value_2; /* Once value */
510 static val_t once_value_3; /* Once value */
511 static val_t once_value_4; /* Once value */
512 static val_t once_value_5; /* Once value */
513 static val_t once_value_7; /* Once value */
514 static val_t once_value_8; /* Once value */
515 static val_t once_value_9; /* Once value */
516 static val_t once_value_10; /* Once value */
517 static val_t once_value_11; /* Once value */
518 static val_t once_value_12; /* Once value */
519 static val_t once_value_13; /* Once value */
520 static val_t once_value_14; /* Once value */
521 static val_t once_value_15; /* Once value */
522 static val_t once_value_16; /* Once value */
523 static val_t once_value_17; /* Once value */
524 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
525 fra.me.file = LOCATE_location;
526 fra.me.line = 70;
527 fra.me.meth = LOCATE_location___Location___to_s;
528 fra.me.has_broke = 0;
529 fra.me.REG_size = 5;
530 fra.me.REG[0] = NIT_NULL;
531 fra.me.REG[1] = NIT_NULL;
532 fra.me.REG[2] = NIT_NULL;
533 fra.me.REG[3] = NIT_NULL;
534 fra.me.REG[4] = NIT_NULL;
535 fra.me.REG[0] = p0;
536 /* ./location.nit:71 */
537 fra.me.REG[1] = CALL_location___Location___file(fra.me.REG[0])(fra.me.REG[0]);
538 /* ./../lib/standard//collection//array.nit:23 */
539 REGB0 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
540 if (UNTAG_Bool(REGB0)) {
541 } else {
542 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
543 }
544 REGB0 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
545 /* ./location.nit:72 */
546 REGB1 = TAG_Int(0);
547 /* ./../lib/standard//kernel.nit:214 */
548 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1));
549 /* ./location.nit:72 */
550 if (UNTAG_Bool(REGB1)) {
551 if (!once_value_1) {
552 fra.me.REG[2] = BOX_NativeString(":");
553 REGB1 = TAG_Int(1);
554 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB1);
555 once_value_1 = fra.me.REG[2];
556 register_static_object(&once_value_1);
557 } else fra.me.REG[2] = once_value_1;
558 fra.me.REG[2] = fra.me.REG[2];
559 fra.me.REG[2] = CALL_string___String_____plus(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
560 fra.me.REG[1] = fra.me.REG[2];
561 }
562 /* ./location.nit:74 */
563 REGB1 = CALL_location___Location___line_start(fra.me.REG[0])(fra.me.REG[0]);
564 REGB0 = CALL_location___Location___line_end(fra.me.REG[0])(fra.me.REG[0]);
565 REGB2 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB0));
566 if (UNTAG_Bool(REGB2)) {
567 } else {
568 /* ./../lib/standard//kernel.nit:207 */
569 REGB0 = TAG_Bool((REGB1)==(REGB0));
570 /* ./location.nit:74 */
571 REGB2 = REGB0;
572 }
573 if (UNTAG_Bool(REGB2)) {
574 /* ./location.nit:75 */
575 REGB2 = CALL_location___Location___column_start(fra.me.REG[0])(fra.me.REG[0]);
576 REGB0 = CALL_location___Location___column_end(fra.me.REG[0])(fra.me.REG[0]);
577 REGB1 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB0));
578 if (UNTAG_Bool(REGB1)) {
579 } else {
580 /* ./../lib/standard//kernel.nit:207 */
581 REGB0 = TAG_Bool((REGB2)==(REGB0));
582 /* ./location.nit:75 */
583 REGB1 = REGB0;
584 }
585 if (UNTAG_Bool(REGB1)) {
586 /* ./location.nit:76 */
587 REGB1 = TAG_Int(7);
588 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB1);
589 if (!once_value_2) {
590 fra.me.REG[3] = BOX_NativeString("");
591 REGB1 = TAG_Int(0);
592 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB1);
593 once_value_2 = fra.me.REG[3];
594 register_static_object(&once_value_2);
595 } else fra.me.REG[3] = once_value_2;
596 fra.me.REG[3] = fra.me.REG[3];
597 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
598 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
599 if (!once_value_3) {
600 fra.me.REG[3] = BOX_NativeString("");
601 REGB1 = TAG_Int(0);
602 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB1);
603 once_value_3 = fra.me.REG[3];
604 register_static_object(&once_value_3);
605 } else fra.me.REG[3] = once_value_3;
606 fra.me.REG[3] = fra.me.REG[3];
607 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
608 REGB1 = CALL_location___Location___line_start(fra.me.REG[0])(fra.me.REG[0]);
609 fra.me.REG[3] = CALL_string___Object___to_s(REGB1)(REGB1);
610 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
611 if (!once_value_4) {
612 fra.me.REG[3] = BOX_NativeString(",");
613 REGB1 = TAG_Int(1);
614 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB1);
615 once_value_4 = fra.me.REG[3];
616 register_static_object(&once_value_4);
617 } else fra.me.REG[3] = once_value_4;
618 fra.me.REG[3] = fra.me.REG[3];
619 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
620 REGB1 = CALL_location___Location___column_start(fra.me.REG[0])(fra.me.REG[0]);
621 fra.me.REG[3] = CALL_string___Object___to_s(REGB1)(REGB1);
622 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
623 if (!once_value_5) {
624 fra.me.REG[3] = BOX_NativeString("");
625 REGB1 = TAG_Int(0);
626 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB1);
627 once_value_5 = fra.me.REG[3];
628 register_static_object(&once_value_5);
629 } else fra.me.REG[3] = once_value_5;
630 fra.me.REG[3] = fra.me.REG[3];
631 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
632 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
633 goto label6;
634 } else {
635 /* ./location.nit:78 */
636 REGB1 = TAG_Int(9);
637 fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB1);
638 if (!once_value_7) {
639 fra.me.REG[4] = BOX_NativeString("");
640 REGB1 = TAG_Int(0);
641 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
642 once_value_7 = fra.me.REG[4];
643 register_static_object(&once_value_7);
644 } else fra.me.REG[4] = once_value_7;
645 fra.me.REG[4] = fra.me.REG[4];
646 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
647 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
648 if (!once_value_8) {
649 fra.me.REG[4] = BOX_NativeString("");
650 REGB1 = TAG_Int(0);
651 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
652 once_value_8 = fra.me.REG[4];
653 register_static_object(&once_value_8);
654 } else fra.me.REG[4] = once_value_8;
655 fra.me.REG[4] = fra.me.REG[4];
656 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
657 REGB1 = CALL_location___Location___line_start(fra.me.REG[0])(fra.me.REG[0]);
658 fra.me.REG[4] = CALL_string___Object___to_s(REGB1)(REGB1);
659 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
660 if (!once_value_9) {
661 fra.me.REG[4] = BOX_NativeString(",");
662 REGB1 = TAG_Int(1);
663 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
664 once_value_9 = fra.me.REG[4];
665 register_static_object(&once_value_9);
666 } else fra.me.REG[4] = once_value_9;
667 fra.me.REG[4] = fra.me.REG[4];
668 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
669 REGB1 = CALL_location___Location___column_start(fra.me.REG[0])(fra.me.REG[0]);
670 fra.me.REG[4] = CALL_string___Object___to_s(REGB1)(REGB1);
671 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
672 if (!once_value_10) {
673 fra.me.REG[4] = BOX_NativeString("--");
674 REGB1 = TAG_Int(2);
675 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
676 once_value_10 = fra.me.REG[4];
677 register_static_object(&once_value_10);
678 } else fra.me.REG[4] = once_value_10;
679 fra.me.REG[4] = fra.me.REG[4];
680 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
681 REGB1 = CALL_location___Location___column_end(fra.me.REG[0])(fra.me.REG[0]);
682 fra.me.REG[4] = CALL_string___Object___to_s(REGB1)(REGB1);
683 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
684 if (!once_value_11) {
685 fra.me.REG[4] = BOX_NativeString("");
686 REGB1 = TAG_Int(0);
687 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
688 once_value_11 = fra.me.REG[4];
689 register_static_object(&once_value_11);
690 } else fra.me.REG[4] = once_value_11;
691 fra.me.REG[4] = fra.me.REG[4];
692 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
693 fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
694 fra.me.REG[2] = fra.me.REG[3];
695 goto label6;
696 }
697 } else {
698 /* ./location.nit:81 */
699 REGB1 = TAG_Int(11);
700 fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB1);
701 if (!once_value_12) {
702 fra.me.REG[4] = BOX_NativeString("");
703 REGB1 = TAG_Int(0);
704 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
705 once_value_12 = fra.me.REG[4];
706 register_static_object(&once_value_12);
707 } else fra.me.REG[4] = once_value_12;
708 fra.me.REG[4] = fra.me.REG[4];
709 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
710 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
711 if (!once_value_13) {
712 fra.me.REG[1] = BOX_NativeString("");
713 REGB1 = TAG_Int(0);
714 fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB1);
715 once_value_13 = fra.me.REG[1];
716 register_static_object(&once_value_13);
717 } else fra.me.REG[1] = once_value_13;
718 fra.me.REG[1] = fra.me.REG[1];
719 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
720 REGB1 = CALL_location___Location___line_start(fra.me.REG[0])(fra.me.REG[0]);
721 fra.me.REG[1] = CALL_string___Object___to_s(REGB1)(REGB1);
722 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
723 if (!once_value_14) {
724 fra.me.REG[1] = BOX_NativeString(",");
725 REGB1 = TAG_Int(1);
726 fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB1);
727 once_value_14 = fra.me.REG[1];
728 register_static_object(&once_value_14);
729 } else fra.me.REG[1] = once_value_14;
730 fra.me.REG[1] = fra.me.REG[1];
731 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
732 REGB1 = CALL_location___Location___column_start(fra.me.REG[0])(fra.me.REG[0]);
733 fra.me.REG[1] = CALL_string___Object___to_s(REGB1)(REGB1);
734 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
735 if (!once_value_15) {
736 fra.me.REG[1] = BOX_NativeString("--");
737 REGB1 = TAG_Int(2);
738 fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB1);
739 once_value_15 = fra.me.REG[1];
740 register_static_object(&once_value_15);
741 } else fra.me.REG[1] = once_value_15;
742 fra.me.REG[1] = fra.me.REG[1];
743 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
744 REGB1 = CALL_location___Location___line_end(fra.me.REG[0])(fra.me.REG[0]);
745 fra.me.REG[1] = CALL_string___Object___to_s(REGB1)(REGB1);
746 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
747 if (!once_value_16) {
748 fra.me.REG[1] = BOX_NativeString(",");
749 REGB1 = TAG_Int(1);
750 fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB1);
751 once_value_16 = fra.me.REG[1];
752 register_static_object(&once_value_16);
753 } else fra.me.REG[1] = once_value_16;
754 fra.me.REG[1] = fra.me.REG[1];
755 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
756 REGB1 = CALL_location___Location___column_end(fra.me.REG[0])(fra.me.REG[0]);
757 fra.me.REG[0] = CALL_string___Object___to_s(REGB1)(REGB1);
758 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
759 if (!once_value_17) {
760 fra.me.REG[0] = BOX_NativeString("");
761 REGB1 = TAG_Int(0);
762 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB1);
763 once_value_17 = fra.me.REG[0];
764 register_static_object(&once_value_17);
765 } else fra.me.REG[0] = once_value_17;
766 fra.me.REG[0] = fra.me.REG[0];
767 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
768 fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
769 fra.me.REG[2] = fra.me.REG[3];
770 goto label6;
771 }
772 label6: while(0);
773 stack_frame_head = fra.me.prev;
774 return fra.me.REG[2];
775 }
776 val_t location___Location___relative_to(val_t p0, val_t p1){
777 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
778 val_t REGB0;
779 val_t REGB1;
780 val_t REGB2;
781 val_t REGB3;
782 val_t tmp;
783 static val_t once_value_1; /* Once value */
784 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
785 fra.me.file = LOCATE_location;
786 fra.me.line = 85;
787 fra.me.meth = LOCATE_location___Location___relative_to;
788 fra.me.has_broke = 0;
789 fra.me.REG_size = 3;
790 fra.me.REG[0] = NIT_NULL;
791 fra.me.REG[1] = NIT_NULL;
792 fra.me.REG[2] = NIT_NULL;
793 fra.me.REG[0] = p0;
794 fra.me.REG[1] = p1;
795 /* ./location.nit:87 */
796 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
797 if (UNTAG_Bool(REGB0)) {
798 } else {
799 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
800 if (UNTAG_Bool(REGB1)) {
801 REGB1 = TAG_Bool(false);
802 REGB0 = REGB1;
803 } else {
804 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
805 REGB0 = REGB1;
806 }
807 }
808 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
809 if (UNTAG_Bool(REGB0)) {
810 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
811 if (UNTAG_Bool(REGB0)) {
812 nit_abort("Reciever is null", NULL, LOCATE_location, 87);
813 }
814 fra.me.REG[1] = CALL_location___Location___file(fra.me.REG[1])(fra.me.REG[1]);
815 fra.me.REG[2] = CALL_location___Location___file(fra.me.REG[0])(fra.me.REG[0]);
816 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[1],fra.me.REG[2]));
817 if (UNTAG_Bool(REGB0)) {
818 } else {
819 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
820 REGB0 = REGB1;
821 }
822 } else {
823 REGB1 = TAG_Bool(false);
824 REGB0 = REGB1;
825 }
826 if (UNTAG_Bool(REGB0)) {
827 /* ./location.nit:88 */
828 if (!once_value_1) {
829 fra.me.REG[2] = BOX_NativeString("");
830 REGB0 = TAG_Int(0);
831 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
832 once_value_1 = fra.me.REG[2];
833 register_static_object(&once_value_1);
834 } else fra.me.REG[2] = once_value_1;
835 fra.me.REG[2] = fra.me.REG[2];
836 REGB0 = CALL_location___Location___line_start(fra.me.REG[0])(fra.me.REG[0]);
837 REGB1 = CALL_location___Location___line_end(fra.me.REG[0])(fra.me.REG[0]);
838 REGB2 = CALL_location___Location___column_start(fra.me.REG[0])(fra.me.REG[0]);
839 REGB3 = CALL_location___Location___column_end(fra.me.REG[0])(fra.me.REG[0]);
840 fra.me.REG[2] = NEW_Location_location___Location___init(fra.me.REG[2], REGB0, REGB1, REGB2, REGB3);
841 } else {
842 /* ./location.nit:90 */
843 fra.me.REG[1] = CALL_location___Location___file(fra.me.REG[0])(fra.me.REG[0]);
844 REGB3 = CALL_location___Location___line_start(fra.me.REG[0])(fra.me.REG[0]);
845 REGB2 = CALL_location___Location___line_end(fra.me.REG[0])(fra.me.REG[0]);
846 REGB1 = CALL_location___Location___column_start(fra.me.REG[0])(fra.me.REG[0]);
847 REGB0 = CALL_location___Location___column_end(fra.me.REG[0])(fra.me.REG[0]);
848 fra.me.REG[1] = NEW_Location_location___Location___init(fra.me.REG[1], REGB3, REGB2, REGB1, REGB0);
849 fra.me.REG[2] = fra.me.REG[1];
850 }
851 /* ./location.nit:92 */
852 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
853 goto label2;
854 label2: while(0);
855 stack_frame_head = fra.me.prev;
856 return fra.me.REG[2];
857 }
858 val_t location___Location_____l(val_t p0, val_t p1){
859 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
860 val_t REGB0;
861 val_t REGB1;
862 val_t REGB2;
863 val_t REGB3;
864 val_t tmp;
865 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
866 fra.me.file = LOCATE_location;
867 fra.me.line = 95;
868 fra.me.meth = LOCATE_location___Location_____l;
869 fra.me.has_broke = 0;
870 fra.me.REG_size = 2;
871 fra.me.REG[0] = NIT_NULL;
872 fra.me.REG[1] = NIT_NULL;
873 fra.me.REG[0] = p0;
874 fra.me.REG[1] = p1;
875 /* ./location.nit:96 */
876 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[0],fra.me.REG[1]));
877 if (UNTAG_Bool(REGB0)) {
878 } else {
879 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
880 REGB0 = REGB1;
881 }
882 if (UNTAG_Bool(REGB0)) {
883 REGB0 = TAG_Bool(false);
884 goto label1;
885 }
886 /* ./location.nit:97 */
887 REGB1 = CALL_location___Location___located_in(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
888 if (UNTAG_Bool(REGB1)) {
889 REGB1 = TAG_Bool(true);
890 REGB0 = REGB1;
891 goto label1;
892 }
893 /* ./location.nit:98 */
894 REGB1 = CALL_location___Location___located_in(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
895 if (UNTAG_Bool(REGB1)) {
896 REGB1 = TAG_Bool(false);
897 REGB0 = REGB1;
898 goto label1;
899 }
900 /* ./location.nit:100 */
901 REGB1 = CALL_location___Location___line_start(fra.me.REG[0])(fra.me.REG[0]);
902 REGB2 = CALL_location___Location___line_start(fra.me.REG[1])(fra.me.REG[1]);
903 REGB3 = TAG_Bool(IS_EQUAL_OO(REGB1,REGB2));
904 if (UNTAG_Bool(REGB3)) {
905 } else {
906 /* ./../lib/standard//kernel.nit:207 */
907 REGB2 = TAG_Bool((REGB1)==(REGB2));
908 /* ./location.nit:100 */
909 REGB3 = REGB2;
910 }
911 REGB3 = TAG_Bool(!UNTAG_Bool(REGB3));
912 if (UNTAG_Bool(REGB3)) {
913 REGB3 = CALL_location___Location___line_start(fra.me.REG[0])(fra.me.REG[0]);
914 REGB2 = CALL_location___Location___line_start(fra.me.REG[1])(fra.me.REG[1]);
915 /* ./../lib/standard//kernel.nit:212 */
916 REGB2 = TAG_Bool(UNTAG_Int(REGB3)<UNTAG_Int(REGB2));
917 /* ./location.nit:100 */
918 REGB0 = REGB2;
919 goto label1;
920 }
921 /* ./location.nit:101 */
922 REGB2 = CALL_location___Location___column_start(fra.me.REG[0])(fra.me.REG[0]);
923 REGB3 = CALL_location___Location___column_start(fra.me.REG[1])(fra.me.REG[1]);
924 REGB1 = TAG_Bool(IS_EQUAL_OO(REGB2,REGB3));
925 if (UNTAG_Bool(REGB1)) {
926 } else {
927 /* ./../lib/standard//kernel.nit:207 */
928 REGB3 = TAG_Bool((REGB2)==(REGB3));
929 /* ./location.nit:101 */
930 REGB1 = REGB3;
931 }
932 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
933 if (UNTAG_Bool(REGB1)) {
934 REGB1 = CALL_location___Location___column_start(fra.me.REG[0])(fra.me.REG[0]);
935 REGB3 = CALL_location___Location___column_start(fra.me.REG[1])(fra.me.REG[1]);
936 /* ./../lib/standard//kernel.nit:212 */
937 REGB3 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB3));
938 /* ./location.nit:101 */
939 REGB0 = REGB3;
940 goto label1;
941 }
942 /* ./location.nit:102 */
943 REGB3 = CALL_location___Location___line_end(fra.me.REG[0])(fra.me.REG[0]);
944 REGB1 = CALL_location___Location___line_end(fra.me.REG[1])(fra.me.REG[1]);
945 REGB2 = TAG_Bool(IS_EQUAL_OO(REGB3,REGB1));
946 if (UNTAG_Bool(REGB2)) {
947 } else {
948 /* ./../lib/standard//kernel.nit:207 */
949 REGB1 = TAG_Bool((REGB3)==(REGB1));
950 /* ./location.nit:102 */
951 REGB2 = REGB1;
952 }
953 REGB2 = TAG_Bool(!UNTAG_Bool(REGB2));
954 if (UNTAG_Bool(REGB2)) {
955 REGB2 = CALL_location___Location___line_end(fra.me.REG[0])(fra.me.REG[0]);
956 REGB1 = CALL_location___Location___line_end(fra.me.REG[1])(fra.me.REG[1]);
957 /* ./../lib/standard//kernel.nit:212 */
958 REGB1 = TAG_Bool(UNTAG_Int(REGB2)<UNTAG_Int(REGB1));
959 /* ./location.nit:102 */
960 REGB0 = REGB1;
961 goto label1;
962 }
963 /* ./location.nit:104 */
964 REGB1 = CALL_location___Location___column_end(fra.me.REG[0])(fra.me.REG[0]);
965 REGB2 = CALL_location___Location___column_end(fra.me.REG[1])(fra.me.REG[1]);
966 /* ./../lib/standard//kernel.nit:212 */
967 REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
968 /* ./location.nit:104 */
969 REGB0 = REGB2;
970 goto label1;
971 label1: while(0);
972 stack_frame_head = fra.me.prev;
973 return REGB0;
974 }