1 /* This C file is generated by NIT to compile module syntax___scope. */
2 #include "syntax___scope._sep.h"
3 val_t
syntax___scope___ScopeContext_____bra(val_t p0
, val_t p1
){
4 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
10 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
11 fra
.me
.file
= LOCATE_syntax___scope
;
13 fra
.me
.meth
= LOCATE_syntax___scope___ScopeContext_____bra
;
16 fra
.me
.nitni_local_ref_head
= NULL
;
17 fra
.me
.REG
[0] = NIT_NULL
;
18 fra
.me
.REG
[1] = NIT_NULL
;
19 fra
.me
.REG
[2] = NIT_NULL
;
22 /* syntax/scope.nit:48 */
23 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
24 if (UNTAG_Bool(REGB0
)) {
26 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 48);
28 fra
.me
.REG
[2] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
29 /* ../lib/standard/collection/array.nit:24 */
30 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
31 if (UNTAG_Bool(REGB0
)) {
33 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
35 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
36 /* syntax/scope.nit:48 */
38 /* ../lib/standard/kernel.nit:237 */
39 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
40 /* syntax/scope.nit:49 */
43 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
44 if (UNTAG_Bool(REGB2
)) {
46 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
48 /* ../lib/standard/kernel.nit:233 */
49 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
50 /* syntax/scope.nit:49 */
51 if (UNTAG_Bool(REGB0
)) {
52 /* syntax/scope.nit:50 */
53 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
54 if (UNTAG_Bool(REGB0
)) {
56 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 50);
58 fra
.me
.REG
[2] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
59 /* ../lib/standard/collection/array.nit:278 */
61 /* ../lib/standard/collection/array.nit:280 */
63 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
64 if (UNTAG_Bool(REGB3
)) {
66 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
68 /* ../lib/standard/kernel.nit:233 */
69 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB2
));
70 /* ../lib/standard/collection/array.nit:280 */
71 if (UNTAG_Bool(REGB2
)) {
72 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
73 if (UNTAG_Bool(REGB2
)) {
75 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
77 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
78 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
79 if (UNTAG_Bool(REGB3
)) {
81 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
83 /* ../lib/standard/kernel.nit:232 */
84 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
86 /* ../lib/standard/collection/array.nit:280 */
87 REGB3
= TAG_Bool(false);
90 if (UNTAG_Bool(REGB2
)) {
92 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
94 /* ../lib/standard/collection/array.nit:281 */
95 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
96 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
97 if (UNTAG_Bool(REGB2
)) {
98 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
100 /* ../lib/standard/collection/array.nit:718 */
101 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
102 /* ../lib/standard/collection/array.nit:281 */
105 /* syntax/scope.nit:51 */
106 fra
.me
.REG
[2] = CALL_syntax___scope___ScopeBlock___get_variable(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
107 /* syntax/scope.nit:52 */
108 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
109 if (UNTAG_Bool(REGB0
)) {
111 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
112 if (UNTAG_Bool(REGB2
)) {
113 REGB2
= TAG_Bool(false);
116 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
120 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
121 if (UNTAG_Bool(REGB0
)) {
124 /* syntax/scope.nit:53 */
126 /* ../lib/standard/kernel.nit:237 */
127 REGB0
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
128 /* syntax/scope.nit:53 */
131 /* syntax/scope.nit:49 */
136 /* syntax/scope.nit:55 */
137 fra
.me
.REG
[2] = NIT_NULL
;
140 stack_frame_head
= fra
.me
.prev
;
141 return fra
.me
.REG
[2];
143 void syntax___scope___ScopeContext___add_variable(val_t p0
, val_t p1
){
144 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
148 static val_t once_value_1
; /* Once value */
149 static val_t once_value_2
; /* Once value */
150 static val_t once_value_3
; /* Once value */
151 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
152 fra
.me
.file
= LOCATE_syntax___scope
;
154 fra
.me
.meth
= LOCATE_syntax___scope___ScopeContext___add_variable
;
155 fra
.me
.has_broke
= 0;
157 fra
.me
.nitni_local_ref_head
= NULL
;
158 fra
.me
.REG
[0] = NIT_NULL
;
159 fra
.me
.REG
[1] = NIT_NULL
;
160 fra
.me
.REG
[2] = NIT_NULL
;
161 fra
.me
.REG
[3] = NIT_NULL
;
162 fra
.me
.REG
[4] = NIT_NULL
;
163 fra
.me
.REG
[5] = NIT_NULL
;
164 fra
.me
.REG
[6] = NIT_NULL
;
167 /* syntax/scope.nit:62 */
168 fra
.me
.REG
[2] = CALL_syntax___syntax_base___Variable___name(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
169 fra
.me
.REG
[2] = CALL_syntax___scope___ScopeContext_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
170 /* syntax/scope.nit:63 */
171 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
172 if (UNTAG_Bool(REGB0
)) {
174 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
175 if (UNTAG_Bool(REGB1
)) {
176 REGB1
= TAG_Bool(false);
179 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
183 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
184 if (UNTAG_Bool(REGB0
)) {
185 /* syntax/scope.nit:64 */
186 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____visitor(fra
.me
.REG
[0])!=NIT_NULL
);
187 if (UNTAG_Bool(REGB0
)) {
189 nit_abort("Uninitialized attribute %s", "_visitor", LOCATE_syntax___scope
, 64);
191 fra
.me
.REG
[3] = ATTR_syntax___scope___ScopeContext____visitor(fra
.me
.REG
[0]);
192 fra
.me
.REG
[4] = CALL_syntax___syntax_base___Variable___decl(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
194 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
196 fra
.me
.REG
[6] = BOX_NativeString("Error: '");
198 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
199 once_value_1
= fra
.me
.REG
[6];
200 register_static_object(&once_value_1
);
201 } else fra
.me
.REG
[6] = once_value_1
;
202 fra
.me
.REG
[6] = fra
.me
.REG
[6];
203 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
204 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
205 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
207 fra
.me
.REG
[6] = BOX_NativeString("' already defined at ");
209 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
210 once_value_2
= fra
.me
.REG
[6];
211 register_static_object(&once_value_2
);
212 } else fra
.me
.REG
[6] = once_value_2
;
213 fra
.me
.REG
[6] = fra
.me
.REG
[6];
214 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
215 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
216 if (UNTAG_Bool(REGB0
)) {
217 nit_abort("Reciever is null", NULL
, LOCATE_syntax___scope
, 64);
219 fra
.me
.REG
[2] = CALL_syntax___syntax_base___Variable___decl(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
220 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
221 if (UNTAG_Bool(REGB0
)) {
222 nit_abort("Reciever is null", NULL
, LOCATE_syntax___scope
, 64);
224 fra
.me
.REG
[2] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
225 fra
.me
.REG
[6] = CALL_syntax___syntax_base___Variable___decl(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
226 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
227 if (UNTAG_Bool(REGB0
)) {
228 nit_abort("Reciever is null", NULL
, LOCATE_syntax___scope
, 64);
230 fra
.me
.REG
[6] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
231 fra
.me
.REG
[6] = CALL_location___Location___relative_to(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
232 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
234 fra
.me
.REG
[6] = BOX_NativeString(".");
236 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
237 once_value_3
= fra
.me
.REG
[6];
238 register_static_object(&once_value_3
);
239 } else fra
.me
.REG
[6] = once_value_3
;
240 fra
.me
.REG
[6] = fra
.me
.REG
[6];
241 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
242 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
243 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4], fra
.me
.REG
[5]);
245 /* syntax/scope.nit:66 */
246 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
247 if (UNTAG_Bool(REGB0
)) {
249 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 66);
251 fra
.me
.REG
[5] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
252 fra
.me
.REG
[5] = CALL_standard___collection___abstract_collection___SequenceRead___last(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
253 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
254 if (UNTAG_Bool(REGB0
)) {
255 nit_abort("Reciever is null", NULL
, LOCATE_syntax___scope
, 66);
257 CALL_syntax___scope___ScopeBlock___add_variable(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
258 /* syntax/scope.nit:67 */
259 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____variables(fra
.me
.REG
[0])!=NIT_NULL
);
260 if (UNTAG_Bool(REGB0
)) {
262 nit_abort("Uninitialized attribute %s", "_variables", LOCATE_syntax___scope
, 67);
264 fra
.me
.REG
[0] = ATTR_syntax___scope___ScopeContext____variables(fra
.me
.REG
[0]);
265 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
266 stack_frame_head
= fra
.me
.prev
;
269 void syntax___scope___ScopeContext___push(val_t p0
, val_t p1
){
270 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
273 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
274 fra
.me
.file
= LOCATE_syntax___scope
;
276 fra
.me
.meth
= LOCATE_syntax___scope___ScopeContext___push
;
277 fra
.me
.has_broke
= 0;
279 fra
.me
.nitni_local_ref_head
= NULL
;
280 fra
.me
.REG
[0] = NIT_NULL
;
281 fra
.me
.REG
[1] = NIT_NULL
;
284 /* syntax/scope.nit:73 */
285 fra
.me
.REG
[1] = NEW_ScopeBlock_syntax___scope___ScopeBlock___init(fra
.me
.REG
[1]);
286 /* syntax/scope.nit:74 */
287 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
288 if (UNTAG_Bool(REGB0
)) {
290 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 74);
292 fra
.me
.REG
[0] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
293 CALL_standard___collection___abstract_collection___Sequence___push(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
294 stack_frame_head
= fra
.me
.prev
;
297 void syntax___scope___ScopeContext___push_escapable(val_t p0
, val_t p1
, val_t p2
){
298 struct {struct stack_frame_t me
; val_t MORE_REG
[9];} fra
;
303 static val_t once_value_1
; /* Once value */
304 static val_t once_value_2
; /* Once value */
305 static val_t once_value_3
; /* Once value */
306 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
307 fra
.me
.file
= LOCATE_syntax___scope
;
309 fra
.me
.meth
= LOCATE_syntax___scope___ScopeContext___push_escapable
;
310 fra
.me
.has_broke
= 0;
311 fra
.me
.REG_size
= 10;
312 fra
.me
.nitni_local_ref_head
= NULL
;
313 fra
.me
.REG
[0] = NIT_NULL
;
314 fra
.me
.REG
[1] = NIT_NULL
;
315 fra
.me
.REG
[2] = NIT_NULL
;
316 fra
.me
.REG
[3] = NIT_NULL
;
317 fra
.me
.REG
[4] = NIT_NULL
;
318 fra
.me
.REG
[5] = NIT_NULL
;
319 fra
.me
.REG
[6] = NIT_NULL
;
320 fra
.me
.REG
[7] = NIT_NULL
;
321 fra
.me
.REG
[8] = NIT_NULL
;
322 fra
.me
.REG
[9] = NIT_NULL
;
326 /* syntax/scope.nit:81 */
327 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
328 if (UNTAG_Bool(REGB0
)) {
330 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 81);
332 fra
.me
.REG
[3] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
333 CALL_standard___collection___abstract_collection___Sequence___push(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
334 /* syntax/scope.nit:82 */
335 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
336 if (UNTAG_Bool(REGB0
)) {
338 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
339 if (UNTAG_Bool(REGB1
)) {
340 REGB1
= TAG_Bool(false);
343 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
347 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
348 if (UNTAG_Bool(REGB0
)) {
349 /* syntax/scope.nit:83 */
350 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
351 if (UNTAG_Bool(REGB0
)) {
352 nit_abort("Reciever is null", NULL
, LOCATE_syntax___scope
, 83);
354 fra
.me
.REG
[3] = CALL_parser___parser_nodes___ALabel___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
355 fra
.me
.REG
[3] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
356 /* syntax/scope.nit:84 */
357 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____labels(fra
.me
.REG
[0])!=NIT_NULL
);
358 if (UNTAG_Bool(REGB0
)) {
360 nit_abort("Uninitialized attribute %s", "_labels", LOCATE_syntax___scope
, 84);
362 fra
.me
.REG
[4] = ATTR_syntax___scope___ScopeContext____labels(fra
.me
.REG
[0]);
363 /* ../lib/standard/collection/array.nit:269 */
365 /* ../lib/standard/collection/array.nit:270 */
366 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
367 if (UNTAG_Bool(REGB1
)) {
369 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
371 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
372 /* ../lib/standard/collection/array.nit:271 */
373 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
374 /* ../lib/standard/collection/array.nit:272 */
376 /* ../lib/standard/collection/array.nit:24 */
377 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
378 if (UNTAG_Bool(REGB1
)) {
380 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
382 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
383 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
384 if (UNTAG_Bool(REGB2
)) {
386 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
388 /* ../lib/standard/kernel.nit:232 */
389 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
390 /* ../lib/standard/collection/array.nit:272 */
391 if (UNTAG_Bool(REGB1
)) {
392 /* ../lib/standard/collection/array.nit:273 */
393 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
394 if (UNTAG_Bool(REGB1
)) {
395 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
397 /* ../lib/standard/collection/array.nit:718 */
398 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
399 /* syntax/scope.nit:85 */
400 REGB1
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[6],fra
.me
.REG
[2]));
401 if (UNTAG_Bool(REGB1
)) {
403 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
404 if (UNTAG_Bool(REGB2
)) {
405 REGB2
= TAG_Bool(false);
408 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
412 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
413 if (UNTAG_Bool(REGB1
)) {
414 fra
.me
.REG
[7] = CALL_parser___parser_nodes___ALabel___n_id(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
415 fra
.me
.REG
[7] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
416 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[7]));
417 if (UNTAG_Bool(REGB1
)) {
419 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[7]);
423 REGB2
= TAG_Bool(false);
426 if (UNTAG_Bool(REGB1
)) {
427 /* syntax/scope.nit:86 */
428 fra
.me
.REG
[7] = CALL_syntax___scope___ScopeContext___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
430 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
432 fra
.me
.REG
[9] = BOX_NativeString("Syntax error: label ");
434 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB1
);
435 once_value_1
= fra
.me
.REG
[9];
436 register_static_object(&once_value_1
);
437 } else fra
.me
.REG
[9] = once_value_1
;
438 fra
.me
.REG
[9] = fra
.me
.REG
[9];
439 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
440 fra
.me
.REG
[9] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
441 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
443 fra
.me
.REG
[9] = BOX_NativeString(" already defined at ");
445 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB1
);
446 once_value_2
= fra
.me
.REG
[9];
447 register_static_object(&once_value_2
);
448 } else fra
.me
.REG
[9] = once_value_2
;
449 fra
.me
.REG
[9] = fra
.me
.REG
[9];
450 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
451 fra
.me
.REG
[6] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
452 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
453 if (UNTAG_Bool(REGB1
)) {
454 nit_abort("Reciever is null", NULL
, LOCATE_syntax___scope
, 86);
456 fra
.me
.REG
[9] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
457 fra
.me
.REG
[9] = CALL_location___Location___relative_to(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[9]);
458 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
460 fra
.me
.REG
[9] = BOX_NativeString(".");
462 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB1
);
463 once_value_3
= fra
.me
.REG
[9];
464 register_static_object(&once_value_3
);
465 } else fra
.me
.REG
[9] = once_value_3
;
466 fra
.me
.REG
[9] = fra
.me
.REG
[9];
467 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
468 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
469 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[2], fra
.me
.REG
[8]);
470 /* syntax/scope.nit:87 */
473 /* ../lib/standard/collection/array.nit:274 */
475 /* ../lib/standard/kernel.nit:235 */
476 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
477 /* ../lib/standard/collection/array.nit:274 */
480 /* ../lib/standard/collection/array.nit:272 */
485 /* syntax/scope.nit:90 */
486 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____labels(fra
.me
.REG
[0])!=NIT_NULL
);
487 if (UNTAG_Bool(REGB0
)) {
489 nit_abort("Uninitialized attribute %s", "_labels", LOCATE_syntax___scope
, 90);
491 fra
.me
.REG
[0] = ATTR_syntax___scope___ScopeContext____labels(fra
.me
.REG
[0]);
492 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
493 /* syntax/scope.nit:91 */
494 ATTR_syntax___scope___EscapableBlock____lab(fra
.me
.REG
[1]) = fra
.me
.REG
[3];
497 stack_frame_head
= fra
.me
.prev
;
500 val_t
syntax___scope___ScopeContext___head(val_t p0
){
501 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
507 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
508 fra
.me
.file
= LOCATE_syntax___scope
;
510 fra
.me
.meth
= LOCATE_syntax___scope___ScopeContext___head
;
511 fra
.me
.has_broke
= 0;
513 fra
.me
.nitni_local_ref_head
= NULL
;
514 fra
.me
.REG
[0] = NIT_NULL
;
515 fra
.me
.REG
[1] = NIT_NULL
;
517 /* syntax/scope.nit:98 */
518 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
519 if (UNTAG_Bool(REGB0
)) {
521 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 98);
523 fra
.me
.REG
[1] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
524 /* ../lib/standard/collection/array.nit:24 */
525 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
526 if (UNTAG_Bool(REGB0
)) {
528 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
530 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
531 /* syntax/scope.nit:98 */
533 /* ../lib/standard/kernel.nit:237 */
534 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
535 /* syntax/scope.nit:99 */
538 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
539 if (UNTAG_Bool(REGB2
)) {
541 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
543 /* ../lib/standard/kernel.nit:233 */
544 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
545 /* syntax/scope.nit:99 */
546 if (UNTAG_Bool(REGB0
)) {
547 /* syntax/scope.nit:100 */
548 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
549 if (UNTAG_Bool(REGB0
)) {
551 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 100);
553 fra
.me
.REG
[1] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
554 /* ../lib/standard/collection/array.nit:278 */
556 /* ../lib/standard/collection/array.nit:280 */
558 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
559 if (UNTAG_Bool(REGB3
)) {
561 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
563 /* ../lib/standard/kernel.nit:233 */
564 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB2
));
565 /* ../lib/standard/collection/array.nit:280 */
566 if (UNTAG_Bool(REGB2
)) {
567 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
568 if (UNTAG_Bool(REGB2
)) {
570 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
572 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
573 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
574 if (UNTAG_Bool(REGB3
)) {
576 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
578 /* ../lib/standard/kernel.nit:232 */
579 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
581 /* ../lib/standard/collection/array.nit:280 */
582 REGB3
= TAG_Bool(false);
585 if (UNTAG_Bool(REGB2
)) {
587 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
589 /* ../lib/standard/collection/array.nit:281 */
590 fra
.me
.REG
[1] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
591 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
592 if (UNTAG_Bool(REGB2
)) {
593 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
595 /* ../lib/standard/collection/array.nit:718 */
596 fra
.me
.REG
[1] = ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB0
)];
597 /* ../lib/standard/collection/array.nit:281 */
600 /* syntax/scope.nit:101 */
601 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[1], COLOR_syntax___scope___EscapableBlock
, ID_syntax___scope___EscapableBlock
)) /*cast EscapableBlock*/;
602 if (UNTAG_Bool(REGB0
)) {
603 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[1], COLOR_syntax___scope___BreakOnlyEscapableBlock
, ID_syntax___scope___BreakOnlyEscapableBlock
)) /*cast BreakOnlyEscapableBlock*/;
604 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
606 REGB2
= TAG_Bool(false);
609 if (UNTAG_Bool(REGB0
)) {
612 /* syntax/scope.nit:102 */
614 /* ../lib/standard/kernel.nit:237 */
615 REGB0
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
616 /* syntax/scope.nit:102 */
619 /* syntax/scope.nit:99 */
624 /* syntax/scope.nit:104 */
625 fra
.me
.REG
[1] = NIT_NULL
;
628 stack_frame_head
= fra
.me
.prev
;
629 return fra
.me
.REG
[1];
631 val_t
syntax___scope___ScopeContext___get_by_label(val_t p0
, val_t p1
){
632 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
638 static val_t once_value_4
; /* Once value */
639 static val_t once_value_5
; /* Once value */
640 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
641 fra
.me
.file
= LOCATE_syntax___scope
;
643 fra
.me
.meth
= LOCATE_syntax___scope___ScopeContext___get_by_label
;
644 fra
.me
.has_broke
= 0;
646 fra
.me
.nitni_local_ref_head
= NULL
;
647 fra
.me
.REG
[0] = NIT_NULL
;
648 fra
.me
.REG
[1] = NIT_NULL
;
649 fra
.me
.REG
[2] = NIT_NULL
;
650 fra
.me
.REG
[3] = NIT_NULL
;
651 fra
.me
.REG
[4] = NIT_NULL
;
652 fra
.me
.REG
[5] = NIT_NULL
;
655 /* syntax/scope.nit:111 */
656 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
657 if (UNTAG_Bool(REGB0
)) {
659 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 111);
661 fra
.me
.REG
[2] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
662 /* ../lib/standard/collection/array.nit:24 */
663 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
664 if (UNTAG_Bool(REGB0
)) {
666 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
668 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
669 /* syntax/scope.nit:111 */
671 /* ../lib/standard/kernel.nit:237 */
672 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
673 /* syntax/scope.nit:112 */
674 fra
.me
.REG
[2] = CALL_parser___parser_nodes___ALabel___n_id(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
675 fra
.me
.REG
[2] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
676 /* syntax/scope.nit:113 */
679 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
680 if (UNTAG_Bool(REGB2
)) {
682 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
684 /* ../lib/standard/kernel.nit:233 */
685 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
686 /* syntax/scope.nit:113 */
687 if (UNTAG_Bool(REGB0
)) {
688 /* syntax/scope.nit:114 */
689 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
690 if (UNTAG_Bool(REGB0
)) {
692 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 114);
694 fra
.me
.REG
[3] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
695 /* ../lib/standard/collection/array.nit:278 */
697 /* ../lib/standard/collection/array.nit:280 */
699 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
700 if (UNTAG_Bool(REGB3
)) {
702 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
704 /* ../lib/standard/kernel.nit:233 */
705 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB2
));
706 /* ../lib/standard/collection/array.nit:280 */
707 if (UNTAG_Bool(REGB2
)) {
708 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
709 if (UNTAG_Bool(REGB2
)) {
711 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
713 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
714 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
715 if (UNTAG_Bool(REGB3
)) {
717 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
719 /* ../lib/standard/kernel.nit:232 */
720 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
722 /* ../lib/standard/collection/array.nit:280 */
723 REGB3
= TAG_Bool(false);
726 if (UNTAG_Bool(REGB2
)) {
728 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
730 /* ../lib/standard/collection/array.nit:281 */
731 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
732 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
733 if (UNTAG_Bool(REGB2
)) {
734 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
736 /* ../lib/standard/collection/array.nit:718 */
737 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB0
)];
738 /* ../lib/standard/collection/array.nit:281 */
741 /* syntax/scope.nit:115 */
742 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[3], COLOR_syntax___scope___EscapableBlock
, ID_syntax___scope___EscapableBlock
)) /*cast EscapableBlock*/;
743 if (UNTAG_Bool(REGB0
)) {
744 fra
.me
.REG
[4] = CALL_syntax___scope___EscapableBlock___lab(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
745 REGB0
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[2],fra
.me
.REG
[4]));
746 if (UNTAG_Bool(REGB0
)) {
748 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
749 if (UNTAG_Bool(REGB2
)) {
750 REGB2
= TAG_Bool(false);
753 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
758 REGB2
= TAG_Bool(false);
761 if (UNTAG_Bool(REGB0
)) {
764 /* syntax/scope.nit:116 */
766 /* ../lib/standard/kernel.nit:237 */
767 REGB0
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
768 /* syntax/scope.nit:116 */
771 /* syntax/scope.nit:113 */
776 /* syntax/scope.nit:118 */
777 fra
.me
.REG
[0] = CALL_syntax___scope___ScopeContext___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
779 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
781 fra
.me
.REG
[5] = BOX_NativeString("Syntax error: invalid label ");
783 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
784 once_value_4
= fra
.me
.REG
[5];
785 register_static_object(&once_value_4
);
786 } else fra
.me
.REG
[5] = once_value_4
;
787 fra
.me
.REG
[5] = fra
.me
.REG
[5];
788 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
789 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
790 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
792 fra
.me
.REG
[2] = BOX_NativeString(".");
794 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
795 once_value_5
= fra
.me
.REG
[2];
796 register_static_object(&once_value_5
);
797 } else fra
.me
.REG
[2] = once_value_5
;
798 fra
.me
.REG
[2] = fra
.me
.REG
[2];
799 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
800 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
801 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[4]);
802 /* syntax/scope.nit:119 */
803 fra
.me
.REG
[3] = NIT_NULL
;
806 stack_frame_head
= fra
.me
.prev
;
807 return fra
.me
.REG
[3];
809 void syntax___scope___ScopeContext___pop(val_t p0
){
810 struct {struct stack_frame_t me
;} fra
;
813 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
814 fra
.me
.file
= LOCATE_syntax___scope
;
816 fra
.me
.meth
= LOCATE_syntax___scope___ScopeContext___pop
;
817 fra
.me
.has_broke
= 0;
819 fra
.me
.nitni_local_ref_head
= NULL
;
820 fra
.me
.REG
[0] = NIT_NULL
;
822 /* syntax/scope.nit:125 */
823 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
824 if (UNTAG_Bool(REGB0
)) {
826 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 125);
828 fra
.me
.REG
[0] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
829 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Sequence___pop(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
830 stack_frame_head
= fra
.me
.prev
;
833 val_t
syntax___scope___ScopeContext___visitor(val_t p0
){
834 struct {struct stack_frame_t me
;} fra
;
837 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
838 fra
.me
.file
= LOCATE_syntax___scope
;
840 fra
.me
.meth
= LOCATE_syntax___scope___ScopeContext___visitor
;
841 fra
.me
.has_broke
= 0;
843 fra
.me
.nitni_local_ref_head
= NULL
;
844 fra
.me
.REG
[0] = NIT_NULL
;
846 /* syntax/scope.nit:128 */
847 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____visitor(fra
.me
.REG
[0])!=NIT_NULL
);
848 if (UNTAG_Bool(REGB0
)) {
850 nit_abort("Uninitialized attribute %s", "_visitor", LOCATE_syntax___scope
, 128);
852 fra
.me
.REG
[0] = ATTR_syntax___scope___ScopeContext____visitor(fra
.me
.REG
[0]);
853 stack_frame_head
= fra
.me
.prev
;
854 return fra
.me
.REG
[0];
856 void syntax___scope___ScopeContext___init(val_t p0
, val_t p1
, int* init_table
){
857 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___scope___ScopeContext
].i
;
858 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
860 if (init_table
[itpos0
]) return;
861 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
862 fra
.me
.file
= LOCATE_syntax___scope
;
864 fra
.me
.meth
= LOCATE_syntax___scope___ScopeContext___init
;
865 fra
.me
.has_broke
= 0;
867 fra
.me
.nitni_local_ref_head
= NULL
;
868 fra
.me
.REG
[0] = NIT_NULL
;
869 fra
.me
.REG
[1] = NIT_NULL
;
872 /* syntax/scope.nit:131 */
873 ATTR_syntax___scope___ScopeContext____visitor(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
874 stack_frame_head
= fra
.me
.prev
;
875 init_table
[itpos0
] = 1;
878 val_t
syntax___scope___ScopeBlock___node(val_t p0
){
879 struct {struct stack_frame_t me
;} fra
;
882 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
883 fra
.me
.file
= LOCATE_syntax___scope
;
885 fra
.me
.meth
= LOCATE_syntax___scope___ScopeBlock___node
;
886 fra
.me
.has_broke
= 0;
888 fra
.me
.nitni_local_ref_head
= NULL
;
889 fra
.me
.REG
[0] = NIT_NULL
;
891 /* syntax/scope.nit:140 */
892 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeBlock____node(fra
.me
.REG
[0])!=NIT_NULL
);
893 if (UNTAG_Bool(REGB0
)) {
895 nit_abort("Uninitialized attribute %s", "_node", LOCATE_syntax___scope
, 140);
897 fra
.me
.REG
[0] = ATTR_syntax___scope___ScopeBlock____node(fra
.me
.REG
[0]);
898 stack_frame_head
= fra
.me
.prev
;
899 return fra
.me
.REG
[0];
901 void syntax___scope___ScopeBlock___add_variable(val_t p0
, val_t p1
){
902 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
906 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
907 fra
.me
.file
= LOCATE_syntax___scope
;
909 fra
.me
.meth
= LOCATE_syntax___scope___ScopeBlock___add_variable
;
910 fra
.me
.has_broke
= 0;
912 fra
.me
.nitni_local_ref_head
= NULL
;
913 fra
.me
.REG
[0] = NIT_NULL
;
914 fra
.me
.REG
[1] = NIT_NULL
;
915 fra
.me
.REG
[2] = NIT_NULL
;
916 fra
.me
.REG
[3] = NIT_NULL
;
919 /* syntax/scope.nit:149 */
920 fra
.me
.REG
[2] = ATTR_syntax___scope___ScopeBlock____dico(fra
.me
.REG
[0]);
921 /* syntax/scope.nit:150 */
922 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
923 if (UNTAG_Bool(REGB0
)) {
925 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
926 if (UNTAG_Bool(REGB1
)) {
927 REGB1
= TAG_Bool(false);
930 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
934 if (UNTAG_Bool(REGB0
)) {
935 /* syntax/scope.nit:151 */
936 fra
.me
.REG
[3] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
937 fra
.me
.REG
[2] = fra
.me
.REG
[3];
938 /* syntax/scope.nit:152 */
939 ATTR_syntax___scope___ScopeBlock____dico(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
941 /* syntax/scope.nit:154 */
942 fra
.me
.REG
[0] = CALL_syntax___syntax_base___Variable___name(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
943 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
944 if (UNTAG_Bool(REGB0
)) {
945 nit_abort("Reciever is null", NULL
, LOCATE_syntax___scope
, 154);
947 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0], fra
.me
.REG
[1]);
948 stack_frame_head
= fra
.me
.prev
;
951 val_t
syntax___scope___ScopeBlock___get_variable(val_t p0
, val_t p1
){
952 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
956 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
957 fra
.me
.file
= LOCATE_syntax___scope
;
959 fra
.me
.meth
= LOCATE_syntax___scope___ScopeBlock___get_variable
;
960 fra
.me
.has_broke
= 0;
962 fra
.me
.nitni_local_ref_head
= NULL
;
963 fra
.me
.REG
[0] = NIT_NULL
;
964 fra
.me
.REG
[1] = NIT_NULL
;
965 fra
.me
.REG
[2] = NIT_NULL
;
968 /* syntax/scope.nit:159 */
969 fra
.me
.REG
[0] = ATTR_syntax___scope___ScopeBlock____dico(fra
.me
.REG
[0]);
970 /* syntax/scope.nit:160 */
971 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
972 if (UNTAG_Bool(REGB0
)) {
974 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
975 if (UNTAG_Bool(REGB1
)) {
976 REGB1
= TAG_Bool(false);
979 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
983 if (UNTAG_Bool(REGB0
)) {
984 fra
.me
.REG
[2] = NIT_NULL
;
987 /* syntax/scope.nit:161 */
988 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
989 if (UNTAG_Bool(REGB0
)) {
990 nit_abort("Reciever is null", NULL
, LOCATE_syntax___scope
, 161);
992 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
993 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
994 if (UNTAG_Bool(REGB0
)) {
995 fra
.me
.REG
[2] = NIT_NULL
;
998 /* syntax/scope.nit:162 */
999 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1000 if (UNTAG_Bool(REGB0
)) {
1001 nit_abort("Reciever is null", NULL
, LOCATE_syntax___scope
, 162);
1003 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1004 fra
.me
.REG
[2] = fra
.me
.REG
[1];
1007 stack_frame_head
= fra
.me
.prev
;
1008 return fra
.me
.REG
[2];
1010 void syntax___scope___ScopeBlock___init(val_t p0
, val_t p1
, int* init_table
){
1011 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___scope___ScopeBlock
].i
;
1012 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1014 if (init_table
[itpos1
]) return;
1015 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1016 fra
.me
.file
= LOCATE_syntax___scope
;
1018 fra
.me
.meth
= LOCATE_syntax___scope___ScopeBlock___init
;
1019 fra
.me
.has_broke
= 0;
1020 fra
.me
.REG_size
= 2;
1021 fra
.me
.nitni_local_ref_head
= NULL
;
1022 fra
.me
.REG
[0] = NIT_NULL
;
1023 fra
.me
.REG
[1] = NIT_NULL
;
1026 /* syntax/scope.nit:167 */
1027 ATTR_syntax___scope___ScopeBlock____node(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1028 stack_frame_head
= fra
.me
.prev
;
1029 init_table
[itpos1
] = 1;
1032 val_t
syntax___scope___EscapableBlock___lab(val_t p0
){
1033 struct {struct stack_frame_t me
;} fra
;
1035 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1036 fra
.me
.file
= LOCATE_syntax___scope
;
1038 fra
.me
.meth
= LOCATE_syntax___scope___EscapableBlock___lab
;
1039 fra
.me
.has_broke
= 0;
1040 fra
.me
.REG_size
= 1;
1041 fra
.me
.nitni_local_ref_head
= NULL
;
1042 fra
.me
.REG
[0] = NIT_NULL
;
1044 /* syntax/scope.nit:178 */
1045 fra
.me
.REG
[0] = ATTR_syntax___scope___EscapableBlock____lab(fra
.me
.REG
[0]);
1046 stack_frame_head
= fra
.me
.prev
;
1047 return fra
.me
.REG
[0];
1049 val_t
syntax___scope___EscapableBlock___is_break_block(val_t p0
){
1050 struct {struct stack_frame_t me
;} fra
;
1053 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1054 fra
.me
.file
= LOCATE_syntax___scope
;
1056 fra
.me
.meth
= LOCATE_syntax___scope___EscapableBlock___is_break_block
;
1057 fra
.me
.has_broke
= 0;
1058 fra
.me
.REG_size
= 1;
1059 fra
.me
.nitni_local_ref_head
= NULL
;
1060 fra
.me
.REG
[0] = NIT_NULL
;
1062 /* syntax/scope.nit:183 */
1063 REGB0
= TAG_Bool(false);
1066 stack_frame_head
= fra
.me
.prev
;
1069 val_t
syntax___scope___EscapableBlock___break_list(val_t p0
){
1070 struct {struct stack_frame_t me
;} fra
;
1072 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1073 fra
.me
.file
= LOCATE_syntax___scope
;
1075 fra
.me
.meth
= LOCATE_syntax___scope___EscapableBlock___break_list
;
1076 fra
.me
.has_broke
= 0;
1077 fra
.me
.REG_size
= 1;
1078 fra
.me
.nitni_local_ref_head
= NULL
;
1079 fra
.me
.REG
[0] = NIT_NULL
;
1081 /* syntax/scope.nit:188 */
1082 fra
.me
.REG
[0] = NIT_NULL
;
1085 stack_frame_head
= fra
.me
.prev
;
1086 return fra
.me
.REG
[0];
1088 val_t
syntax___scope___EscapableBlock___continue_stype(val_t p0
){
1089 struct {struct stack_frame_t me
;} fra
;
1091 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1092 fra
.me
.file
= LOCATE_syntax___scope
;
1094 fra
.me
.meth
= LOCATE_syntax___scope___EscapableBlock___continue_stype
;
1095 fra
.me
.has_broke
= 0;
1096 fra
.me
.REG_size
= 1;
1097 fra
.me
.nitni_local_ref_head
= NULL
;
1098 fra
.me
.REG
[0] = NIT_NULL
;
1100 /* syntax/scope.nit:191 */
1101 fra
.me
.REG
[0] = NIT_NULL
;
1104 stack_frame_head
= fra
.me
.prev
;
1105 return fra
.me
.REG
[0];
1107 val_t
syntax___scope___EscapableBlock___break_flow_contexts(val_t p0
){
1108 struct {struct stack_frame_t me
;} fra
;
1111 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1112 fra
.me
.file
= LOCATE_syntax___scope
;
1114 fra
.me
.meth
= LOCATE_syntax___scope___EscapableBlock___break_flow_contexts
;
1115 fra
.me
.has_broke
= 0;
1116 fra
.me
.REG_size
= 1;
1117 fra
.me
.nitni_local_ref_head
= NULL
;
1118 fra
.me
.REG
[0] = NIT_NULL
;
1120 /* syntax/scope.nit:193 */
1121 REGB0
= TAG_Bool(ATTR_syntax___scope___EscapableBlock____break_flow_contexts(fra
.me
.REG
[0])!=NIT_NULL
);
1122 if (UNTAG_Bool(REGB0
)) {
1124 nit_abort("Uninitialized attribute %s", "_break_flow_contexts", LOCATE_syntax___scope
, 193);
1126 fra
.me
.REG
[0] = ATTR_syntax___scope___EscapableBlock____break_flow_contexts(fra
.me
.REG
[0]);
1127 stack_frame_head
= fra
.me
.prev
;
1128 return fra
.me
.REG
[0];
1130 void syntax___scope___EscapableBlock___init(val_t p0
, val_t p1
, int* init_table
){
1131 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___scope___EscapableBlock
].i
;
1132 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1134 if (init_table
[itpos2
]) return;
1135 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1136 fra
.me
.file
= LOCATE_syntax___scope
;
1138 fra
.me
.meth
= LOCATE_syntax___scope___EscapableBlock___init
;
1139 fra
.me
.has_broke
= 0;
1140 fra
.me
.REG_size
= 2;
1141 fra
.me
.nitni_local_ref_head
= NULL
;
1142 fra
.me
.REG
[0] = NIT_NULL
;
1143 fra
.me
.REG
[1] = NIT_NULL
;
1146 /* syntax/scope.nit:198 */
1147 CALL_syntax___scope___ScopeBlock___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], init_table
);
1148 stack_frame_head
= fra
.me
.prev
;
1149 init_table
[itpos2
] = 1;
1152 val_t
syntax___scope___BreakOnlyEscapableBlock___is_break_block(val_t p0
){
1153 struct {struct stack_frame_t me
;} fra
;
1156 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1157 fra
.me
.file
= LOCATE_syntax___scope
;
1159 fra
.me
.meth
= LOCATE_syntax___scope___BreakOnlyEscapableBlock___is_break_block
;
1160 fra
.me
.has_broke
= 0;
1161 fra
.me
.REG_size
= 1;
1162 fra
.me
.nitni_local_ref_head
= NULL
;
1163 fra
.me
.REG
[0] = NIT_NULL
;
1165 /* syntax/scope.nit:205 */
1166 REGB0
= TAG_Bool(true);
1169 stack_frame_head
= fra
.me
.prev
;
1172 void syntax___scope___BreakOnlyEscapableBlock___init(val_t p0
, val_t p1
, int* init_table
){
1173 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___scope___BreakOnlyEscapableBlock
].i
;
1174 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1176 if (init_table
[itpos3
]) return;
1177 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1178 fra
.me
.file
= LOCATE_syntax___scope
;
1180 fra
.me
.meth
= LOCATE_syntax___scope___BreakOnlyEscapableBlock___init
;
1181 fra
.me
.has_broke
= 0;
1182 fra
.me
.REG_size
= 2;
1183 fra
.me
.nitni_local_ref_head
= NULL
;
1184 fra
.me
.REG
[0] = NIT_NULL
;
1185 fra
.me
.REG
[1] = NIT_NULL
;
1188 /* syntax/scope.nit:207 */
1189 CALL_syntax___scope___EscapableBlock___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], init_table
);
1190 stack_frame_head
= fra
.me
.prev
;
1191 init_table
[itpos3
] = 1;
1194 val_t
syntax___scope___EscapableClosure___closure(val_t p0
){
1195 struct {struct stack_frame_t me
;} fra
;
1198 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1199 fra
.me
.file
= LOCATE_syntax___scope
;
1201 fra
.me
.meth
= LOCATE_syntax___scope___EscapableClosure___closure
;
1202 fra
.me
.has_broke
= 0;
1203 fra
.me
.REG_size
= 1;
1204 fra
.me
.nitni_local_ref_head
= NULL
;
1205 fra
.me
.REG
[0] = NIT_NULL
;
1207 /* syntax/scope.nit:213 */
1208 REGB0
= TAG_Bool(ATTR_syntax___scope___EscapableClosure____closure(fra
.me
.REG
[0])!=NIT_NULL
);
1209 if (UNTAG_Bool(REGB0
)) {
1211 nit_abort("Uninitialized attribute %s", "_closure", LOCATE_syntax___scope
, 213);
1213 fra
.me
.REG
[0] = ATTR_syntax___scope___EscapableClosure____closure(fra
.me
.REG
[0]);
1214 stack_frame_head
= fra
.me
.prev
;
1215 return fra
.me
.REG
[0];
1217 val_t
syntax___scope___EscapableClosure___is_break_block(val_t p0
){
1218 struct {struct stack_frame_t me
;} fra
;
1221 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1222 fra
.me
.file
= LOCATE_syntax___scope
;
1224 fra
.me
.meth
= LOCATE_syntax___scope___EscapableClosure___is_break_block
;
1225 fra
.me
.has_broke
= 0;
1226 fra
.me
.REG_size
= 1;
1227 fra
.me
.nitni_local_ref_head
= NULL
;
1228 fra
.me
.REG
[0] = NIT_NULL
;
1230 /* syntax/scope.nit:216 */
1231 REGB0
= TAG_Bool(ATTR_syntax___scope___EscapableClosure____closure(fra
.me
.REG
[0])!=NIT_NULL
);
1232 if (UNTAG_Bool(REGB0
)) {
1234 nit_abort("Uninitialized attribute %s", "_closure", LOCATE_syntax___scope
, 216);
1236 fra
.me
.REG
[0] = ATTR_syntax___scope___EscapableClosure____closure(fra
.me
.REG
[0]);
1237 REGB0
= CALL_metamodel___static_type___MMClosure___is_break(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1240 stack_frame_head
= fra
.me
.prev
;
1243 val_t
syntax___scope___EscapableClosure___break_list(val_t p0
){
1244 struct {struct stack_frame_t me
;} fra
;
1246 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1247 fra
.me
.file
= LOCATE_syntax___scope
;
1249 fra
.me
.meth
= LOCATE_syntax___scope___EscapableClosure___break_list
;
1250 fra
.me
.has_broke
= 0;
1251 fra
.me
.REG_size
= 1;
1252 fra
.me
.nitni_local_ref_head
= NULL
;
1253 fra
.me
.REG
[0] = NIT_NULL
;
1255 /* syntax/scope.nit:218 */
1256 fra
.me
.REG
[0] = ATTR_syntax___scope___EscapableClosure____break_list(fra
.me
.REG
[0]);
1257 stack_frame_head
= fra
.me
.prev
;
1258 return fra
.me
.REG
[0];
1260 val_t
syntax___scope___EscapableClosure___continue_stype(val_t p0
){
1261 struct {struct stack_frame_t me
;} fra
;
1264 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1265 fra
.me
.file
= LOCATE_syntax___scope
;
1267 fra
.me
.meth
= LOCATE_syntax___scope___EscapableClosure___continue_stype
;
1268 fra
.me
.has_broke
= 0;
1269 fra
.me
.REG_size
= 1;
1270 fra
.me
.nitni_local_ref_head
= NULL
;
1271 fra
.me
.REG
[0] = NIT_NULL
;
1273 /* syntax/scope.nit:220 */
1274 REGB0
= TAG_Bool(ATTR_syntax___scope___EscapableClosure____closure(fra
.me
.REG
[0])!=NIT_NULL
);
1275 if (UNTAG_Bool(REGB0
)) {
1277 nit_abort("Uninitialized attribute %s", "_closure", LOCATE_syntax___scope
, 220);
1279 fra
.me
.REG
[0] = ATTR_syntax___scope___EscapableClosure____closure(fra
.me
.REG
[0]);
1280 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMClosure___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1281 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1284 stack_frame_head
= fra
.me
.prev
;
1285 return fra
.me
.REG
[0];
1287 void syntax___scope___EscapableClosure___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
1288 int itpos4
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___scope___EscapableClosure
].i
;
1289 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1291 if (init_table
[itpos4
]) return;
1292 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1293 fra
.me
.file
= LOCATE_syntax___scope
;
1295 fra
.me
.meth
= LOCATE_syntax___scope___EscapableClosure___init
;
1296 fra
.me
.has_broke
= 0;
1297 fra
.me
.REG_size
= 5;
1298 fra
.me
.nitni_local_ref_head
= NULL
;
1299 fra
.me
.REG
[0] = NIT_NULL
;
1300 fra
.me
.REG
[1] = NIT_NULL
;
1301 fra
.me
.REG
[2] = NIT_NULL
;
1302 fra
.me
.REG
[3] = NIT_NULL
;
1303 fra
.me
.REG
[4] = NIT_NULL
;
1308 /* syntax/scope.nit:222 */
1309 fra
.me
.REG
[4] = fra
.me
.REG
[0];
1310 /* syntax/scope.nit:224 */
1311 CALL_syntax___scope___EscapableBlock___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], init_table
);
1312 /* syntax/scope.nit:225 */
1313 ATTR_syntax___scope___EscapableClosure____closure(fra
.me
.REG
[4]) = fra
.me
.REG
[2];
1314 /* syntax/scope.nit:226 */
1315 ATTR_syntax___scope___EscapableClosure____break_list(fra
.me
.REG
[4]) = fra
.me
.REG
[3];
1316 stack_frame_head
= fra
.me
.prev
;
1317 init_table
[itpos4
] = 1;
1320 val_t
syntax___scope___AEscapeExpr___escapable(val_t p0
){
1321 struct {struct stack_frame_t me
;} fra
;
1323 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1324 fra
.me
.file
= LOCATE_syntax___scope
;
1326 fra
.me
.meth
= LOCATE_syntax___scope___AEscapeExpr___escapable
;
1327 fra
.me
.has_broke
= 0;
1328 fra
.me
.REG_size
= 1;
1329 fra
.me
.nitni_local_ref_head
= NULL
;
1330 fra
.me
.REG
[0] = NIT_NULL
;
1332 /* syntax/scope.nit:234 */
1333 fra
.me
.REG
[0] = ATTR_syntax___scope___AEscapeExpr____escapable(fra
.me
.REG
[0]);
1334 stack_frame_head
= fra
.me
.prev
;
1335 return fra
.me
.REG
[0];
1337 val_t
syntax___scope___AEscapeExpr___kwname(val_t p0
){
1338 struct {struct stack_frame_t me
;} fra
;
1340 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1341 fra
.me
.file
= LOCATE_syntax___scope
;
1343 fra
.me
.meth
= LOCATE_syntax___scope___AEscapeExpr___kwname
;
1344 fra
.me
.has_broke
= 0;
1345 fra
.me
.REG_size
= 0;
1346 fra
.me
.nitni_local_ref_head
= NULL
;
1347 /* syntax/scope.nit:237 */
1348 nit_abort("Deferred method called", NULL
, LOCATE_syntax___scope
, 237);
1349 stack_frame_head
= fra
.me
.prev
;
1352 val_t
syntax___scope___AEscapeExpr___compute_escapable_block(val_t p0
, val_t p1
){
1353 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1357 static val_t once_value_1
; /* Once value */
1358 static val_t once_value_2
; /* Once value */
1359 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1360 fra
.me
.file
= LOCATE_syntax___scope
;
1362 fra
.me
.meth
= LOCATE_syntax___scope___AEscapeExpr___compute_escapable_block
;
1363 fra
.me
.has_broke
= 0;
1364 fra
.me
.REG_size
= 5;
1365 fra
.me
.nitni_local_ref_head
= NULL
;
1366 fra
.me
.REG
[0] = NIT_NULL
;
1367 fra
.me
.REG
[1] = NIT_NULL
;
1368 fra
.me
.REG
[2] = NIT_NULL
;
1369 fra
.me
.REG
[3] = NIT_NULL
;
1370 fra
.me
.REG
[4] = NIT_NULL
;
1373 /* syntax/scope.nit:244 */
1374 fra
.me
.REG
[2] = CALL_parser___parser_nodes___ALabelable___n_label(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1375 /* syntax/scope.nit:245 */
1376 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1377 if (UNTAG_Bool(REGB0
)) {
1379 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1380 if (UNTAG_Bool(REGB1
)) {
1381 REGB1
= TAG_Bool(false);
1384 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1388 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1389 if (UNTAG_Bool(REGB0
)) {
1390 /* syntax/scope.nit:246 */
1391 fra
.me
.REG
[2] = CALL_syntax___scope___ScopeContext___get_by_label(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1393 /* syntax/scope.nit:248 */
1394 fra
.me
.REG
[3] = CALL_syntax___scope___ScopeContext___head(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1395 fra
.me
.REG
[2] = fra
.me
.REG
[3];
1396 /* syntax/scope.nit:249 */
1397 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1398 if (UNTAG_Bool(REGB0
)) {
1400 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1401 if (UNTAG_Bool(REGB1
)) {
1402 REGB1
= TAG_Bool(false);
1405 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1409 if (UNTAG_Bool(REGB0
)) {
1410 /* syntax/scope.nit:250 */
1411 fra
.me
.REG
[1] = CALL_syntax___scope___ScopeContext___visitor(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1413 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1414 if (!once_value_1
) {
1415 fra
.me
.REG
[4] = BOX_NativeString("Syntax Error: '");
1416 REGB0
= TAG_Int(15);
1417 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1418 once_value_1
= fra
.me
.REG
[4];
1419 register_static_object(&once_value_1
);
1420 } else fra
.me
.REG
[4] = once_value_1
;
1421 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1422 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1423 fra
.me
.REG
[4] = CALL_syntax___scope___AEscapeExpr___kwname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1424 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1425 if (!once_value_2
) {
1426 fra
.me
.REG
[4] = BOX_NativeString("' statment outside block.");
1427 REGB0
= TAG_Int(25);
1428 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1429 once_value_2
= fra
.me
.REG
[4];
1430 register_static_object(&once_value_2
);
1431 } else fra
.me
.REG
[4] = once_value_2
;
1432 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1433 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1434 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1435 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[3]);
1438 /* syntax/scope.nit:253 */
1439 ATTR_syntax___scope___AEscapeExpr____escapable(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
1440 /* syntax/scope.nit:254 */
1443 stack_frame_head
= fra
.me
.prev
;
1444 return fra
.me
.REG
[2];
1446 val_t
syntax___scope___AContinueExpr___kwname(val_t p0
){
1447 struct {struct stack_frame_t me
;} fra
;
1450 static val_t once_value_1
; /* Once value */
1451 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1452 fra
.me
.file
= LOCATE_syntax___scope
;
1454 fra
.me
.meth
= LOCATE_syntax___scope___AContinueExpr___kwname
;
1455 fra
.me
.has_broke
= 0;
1456 fra
.me
.REG_size
= 1;
1457 fra
.me
.nitni_local_ref_head
= NULL
;
1458 fra
.me
.REG
[0] = NIT_NULL
;
1460 /* syntax/scope.nit:260 */
1461 if (!once_value_1
) {
1462 fra
.me
.REG
[0] = BOX_NativeString("continue");
1464 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1465 once_value_1
= fra
.me
.REG
[0];
1466 register_static_object(&once_value_1
);
1467 } else fra
.me
.REG
[0] = once_value_1
;
1468 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1471 stack_frame_head
= fra
.me
.prev
;
1472 return fra
.me
.REG
[0];
1474 val_t
syntax___scope___ABreakExpr___kwname(val_t p0
){
1475 struct {struct stack_frame_t me
;} fra
;
1478 static val_t once_value_1
; /* Once value */
1479 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1480 fra
.me
.file
= LOCATE_syntax___scope
;
1482 fra
.me
.meth
= LOCATE_syntax___scope___ABreakExpr___kwname
;
1483 fra
.me
.has_broke
= 0;
1484 fra
.me
.REG_size
= 1;
1485 fra
.me
.nitni_local_ref_head
= NULL
;
1486 fra
.me
.REG
[0] = NIT_NULL
;
1488 /* syntax/scope.nit:265 */
1489 if (!once_value_1
) {
1490 fra
.me
.REG
[0] = BOX_NativeString("break");
1492 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1493 once_value_1
= fra
.me
.REG
[0];
1494 register_static_object(&once_value_1
);
1495 } else fra
.me
.REG
[0] = once_value_1
;
1496 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1499 stack_frame_head
= fra
.me
.prev
;
1500 return fra
.me
.REG
[0];