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