1 /* This C file is generated by NIT to compile module syntax___scope. */
2 #include "syntax___scope._sep.h"
3 static const char LOCATE_syntax___scope___ScopeContext_____bra
[] = "scope::ScopeContext::[]";
4 val_t
syntax___scope___ScopeContext_____bra(val_t p0
, val_t p1
){
5 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
11 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
12 fra
.me
.file
= LOCATE_syntax___scope
;
14 fra
.me
.meth
= LOCATE_syntax___scope___ScopeContext_____bra
;
17 fra
.me
.nitni_local_ref_head
= NULL
;
18 fra
.me
.REG
[0] = NIT_NULL
;
19 fra
.me
.REG
[1] = NIT_NULL
;
20 fra
.me
.REG
[2] = NIT_NULL
;
23 /* syntax/scope.nit:43 */
24 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
25 if (UNTAG_Bool(REGB0
)) {
27 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 43);
29 fra
.me
.REG
[2] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
30 /* ../lib/standard/collection/array.nit:24 */
31 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
32 if (UNTAG_Bool(REGB0
)) {
34 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
36 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
37 /* syntax/scope.nit:43 */
39 /* ../lib/standard/kernel.nit:240 */
40 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
41 /* syntax/scope.nit:44 */
44 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
45 if (UNTAG_Bool(REGB2
)) {
47 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
49 /* ../lib/standard/kernel.nit:236 */
50 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
51 /* syntax/scope.nit:44 */
52 if (UNTAG_Bool(REGB0
)) {
53 /* syntax/scope.nit:45 */
54 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
55 if (UNTAG_Bool(REGB0
)) {
57 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 45);
59 fra
.me
.REG
[2] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
60 /* ../lib/standard/collection/array.nit:278 */
62 /* ../lib/standard/collection/array.nit:280 */
64 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
65 if (UNTAG_Bool(REGB3
)) {
67 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
69 /* ../lib/standard/kernel.nit:236 */
70 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB2
));
71 /* ../lib/standard/collection/array.nit:280 */
72 if (UNTAG_Bool(REGB2
)) {
73 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
74 if (UNTAG_Bool(REGB2
)) {
76 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
78 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
79 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
80 if (UNTAG_Bool(REGB3
)) {
82 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
84 /* ../lib/standard/kernel.nit:235 */
85 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
87 /* ../lib/standard/collection/array.nit:280 */
91 if (UNTAG_Bool(REGB2
)) {
93 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
95 /* ../lib/standard/collection/array.nit:281 */
96 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
97 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
98 if (UNTAG_Bool(REGB2
)) {
99 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
101 /* ../lib/standard/collection/array.nit:718 */
102 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
103 /* ../lib/standard/collection/array.nit:281 */
106 /* syntax/scope.nit:46 */
107 fra
.me
.REG
[2] = CALL_syntax___scope___ScopeBlock___get_variable(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
108 /* syntax/scope.nit:47 */
109 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
110 if (UNTAG_Bool(REGB0
)) {
112 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
113 if (UNTAG_Bool(REGB2
)) {
117 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
121 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
122 if (UNTAG_Bool(REGB0
)) {
125 /* syntax/scope.nit:48 */
127 /* ../lib/standard/kernel.nit:240 */
128 REGB0
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
129 /* syntax/scope.nit:48 */
132 /* syntax/scope.nit:44 */
137 /* syntax/scope.nit:50 */
138 fra
.me
.REG
[2] = NIT_NULL
;
141 stack_frame_head
= fra
.me
.prev
;
142 return fra
.me
.REG
[2];
144 static const char LOCATE_syntax___scope___ScopeContext___add_variable
[] = "scope::ScopeContext::add_variable";
145 void syntax___scope___ScopeContext___add_variable(val_t p0
, val_t p1
){
146 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
150 static val_t once_value_1
; /* Once value */
151 static val_t once_value_2
; /* Once value */
152 static val_t once_value_3
; /* Once value */
153 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
154 fra
.me
.file
= LOCATE_syntax___scope
;
156 fra
.me
.meth
= LOCATE_syntax___scope___ScopeContext___add_variable
;
157 fra
.me
.has_broke
= 0;
159 fra
.me
.nitni_local_ref_head
= NULL
;
160 fra
.me
.REG
[0] = NIT_NULL
;
161 fra
.me
.REG
[1] = NIT_NULL
;
162 fra
.me
.REG
[2] = NIT_NULL
;
163 fra
.me
.REG
[3] = NIT_NULL
;
164 fra
.me
.REG
[4] = NIT_NULL
;
165 fra
.me
.REG
[5] = NIT_NULL
;
166 fra
.me
.REG
[6] = NIT_NULL
;
169 /* syntax/scope.nit:57 */
170 fra
.me
.REG
[2] = CALL_syntax___syntax_base___Variable___name(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
171 fra
.me
.REG
[2] = CALL_syntax___scope___ScopeContext_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
172 /* syntax/scope.nit:58 */
173 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
174 if (UNTAG_Bool(REGB0
)) {
176 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
177 if (UNTAG_Bool(REGB1
)) {
181 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
185 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
186 if (UNTAG_Bool(REGB0
)) {
187 /* syntax/scope.nit:59 */
188 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____visitor(fra
.me
.REG
[0])!=NIT_NULL
);
189 if (UNTAG_Bool(REGB0
)) {
191 nit_abort("Uninitialized attribute %s", "_visitor", LOCATE_syntax___scope
, 59);
193 fra
.me
.REG
[3] = ATTR_syntax___scope___ScopeContext____visitor(fra
.me
.REG
[0]);
194 fra
.me
.REG
[4] = CALL_syntax___syntax_base___Variable___decl(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
196 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
198 fra
.me
.REG
[6] = BOX_NativeString("Error: '");
200 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
201 once_value_1
= fra
.me
.REG
[6];
202 register_static_object(&once_value_1
);
203 } else fra
.me
.REG
[6] = once_value_1
;
204 fra
.me
.REG
[6] = fra
.me
.REG
[6];
205 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
206 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
207 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
209 fra
.me
.REG
[6] = BOX_NativeString("' already defined at ");
211 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
212 once_value_2
= fra
.me
.REG
[6];
213 register_static_object(&once_value_2
);
214 } else fra
.me
.REG
[6] = once_value_2
;
215 fra
.me
.REG
[6] = fra
.me
.REG
[6];
216 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
217 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
218 if (UNTAG_Bool(REGB0
)) {
219 nit_abort("Reciever is null", NULL
, LOCATE_syntax___scope
, 59);
221 fra
.me
.REG
[2] = CALL_syntax___syntax_base___Variable___decl(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
222 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
223 if (UNTAG_Bool(REGB0
)) {
224 nit_abort("Reciever is null", NULL
, LOCATE_syntax___scope
, 59);
226 fra
.me
.REG
[2] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
227 fra
.me
.REG
[6] = CALL_syntax___syntax_base___Variable___decl(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
228 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
229 if (UNTAG_Bool(REGB0
)) {
230 nit_abort("Reciever is null", NULL
, LOCATE_syntax___scope
, 59);
232 fra
.me
.REG
[6] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
233 fra
.me
.REG
[6] = CALL_location___Location___relative_to(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
234 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
236 fra
.me
.REG
[6] = BOX_NativeString(".");
238 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
239 once_value_3
= fra
.me
.REG
[6];
240 register_static_object(&once_value_3
);
241 } else fra
.me
.REG
[6] = once_value_3
;
242 fra
.me
.REG
[6] = fra
.me
.REG
[6];
243 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
244 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
245 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4], fra
.me
.REG
[5]);
247 /* syntax/scope.nit:61 */
248 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
249 if (UNTAG_Bool(REGB0
)) {
251 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 61);
253 fra
.me
.REG
[5] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
254 fra
.me
.REG
[5] = CALL_standard___collection___abstract_collection___SequenceRead___last(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
255 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
256 if (UNTAG_Bool(REGB0
)) {
257 nit_abort("Reciever is null", NULL
, LOCATE_syntax___scope
, 61);
259 CALL_syntax___scope___ScopeBlock___add_variable(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
260 /* syntax/scope.nit:62 */
261 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____variables(fra
.me
.REG
[0])!=NIT_NULL
);
262 if (UNTAG_Bool(REGB0
)) {
264 nit_abort("Uninitialized attribute %s", "_variables", LOCATE_syntax___scope
, 62);
266 fra
.me
.REG
[0] = ATTR_syntax___scope___ScopeContext____variables(fra
.me
.REG
[0]);
267 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
268 stack_frame_head
= fra
.me
.prev
;
271 static const char LOCATE_syntax___scope___ScopeContext___push
[] = "scope::ScopeContext::push";
272 void syntax___scope___ScopeContext___push(val_t p0
, val_t p1
){
273 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
276 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
277 fra
.me
.file
= LOCATE_syntax___scope
;
279 fra
.me
.meth
= LOCATE_syntax___scope___ScopeContext___push
;
280 fra
.me
.has_broke
= 0;
282 fra
.me
.nitni_local_ref_head
= NULL
;
283 fra
.me
.REG
[0] = NIT_NULL
;
284 fra
.me
.REG
[1] = NIT_NULL
;
287 /* syntax/scope.nit:68 */
288 fra
.me
.REG
[1] = NEW_ScopeBlock_syntax___scope___ScopeBlock___init(fra
.me
.REG
[1]);
289 /* syntax/scope.nit:69 */
290 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
291 if (UNTAG_Bool(REGB0
)) {
293 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 69);
295 fra
.me
.REG
[0] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
296 CALL_standard___collection___abstract_collection___Sequence___push(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
297 stack_frame_head
= fra
.me
.prev
;
300 static const char LOCATE_syntax___scope___ScopeContext___push_escapable
[] = "scope::ScopeContext::push_escapable";
301 void syntax___scope___ScopeContext___push_escapable(val_t p0
, val_t p1
, val_t p2
){
302 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
308 static val_t once_value_2
; /* Once value */
309 static val_t once_value_3
; /* Once value */
310 static val_t once_value_4
; /* Once value */
311 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
312 fra
.me
.file
= LOCATE_syntax___scope
;
314 fra
.me
.meth
= LOCATE_syntax___scope___ScopeContext___push_escapable
;
315 fra
.me
.has_broke
= 0;
317 fra
.me
.nitni_local_ref_head
= NULL
;
318 fra
.me
.REG
[0] = NIT_NULL
;
319 fra
.me
.REG
[1] = NIT_NULL
;
320 fra
.me
.REG
[2] = NIT_NULL
;
321 fra
.me
.REG
[3] = NIT_NULL
;
322 fra
.me
.REG
[4] = NIT_NULL
;
323 fra
.me
.REG
[5] = NIT_NULL
;
324 fra
.me
.REG
[6] = NIT_NULL
;
325 fra
.me
.REG
[7] = NIT_NULL
;
329 /* syntax/scope.nit:76 */
330 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
331 if (UNTAG_Bool(REGB0
)) {
333 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 76);
335 fra
.me
.REG
[3] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
336 CALL_standard___collection___abstract_collection___Sequence___push(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
337 /* syntax/scope.nit:77 */
338 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
339 if (UNTAG_Bool(REGB0
)) {
341 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
342 if (UNTAG_Bool(REGB1
)) {
346 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
350 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
351 if (UNTAG_Bool(REGB0
)) {
352 /* syntax/scope.nit:78 */
353 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
354 if (UNTAG_Bool(REGB0
)) {
355 nit_abort("Reciever is null", NULL
, LOCATE_syntax___scope
, 78);
357 fra
.me
.REG
[3] = CALL_parser___parser_nodes___ALabel___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
358 fra
.me
.REG
[3] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
359 /* syntax/scope.nit:79 */
360 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
361 if (UNTAG_Bool(REGB0
)) {
363 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 79);
365 fra
.me
.REG
[4] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
366 /* ../lib/standard/collection/array.nit:24 */
367 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
368 if (UNTAG_Bool(REGB0
)) {
370 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
372 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
373 /* syntax/scope.nit:79 */
375 /* ../lib/standard/kernel.nit:240 */
376 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
377 /* syntax/scope.nit:80 */
380 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
381 if (UNTAG_Bool(REGB2
)) {
383 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
385 /* ../lib/standard/kernel.nit:236 */
386 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
387 /* syntax/scope.nit:80 */
388 if (UNTAG_Bool(REGB0
)) {
389 /* syntax/scope.nit:81 */
390 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
391 if (UNTAG_Bool(REGB0
)) {
393 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 81);
395 fra
.me
.REG
[4] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
396 /* ../lib/standard/collection/array.nit:278 */
398 /* ../lib/standard/collection/array.nit:280 */
400 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
401 if (UNTAG_Bool(REGB3
)) {
403 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
405 /* ../lib/standard/kernel.nit:236 */
406 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB2
));
407 /* ../lib/standard/collection/array.nit:280 */
408 if (UNTAG_Bool(REGB2
)) {
409 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
410 if (UNTAG_Bool(REGB2
)) {
412 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
414 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
415 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
416 if (UNTAG_Bool(REGB3
)) {
418 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
420 /* ../lib/standard/kernel.nit:235 */
421 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
423 /* ../lib/standard/collection/array.nit:280 */
427 if (UNTAG_Bool(REGB2
)) {
429 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
431 /* ../lib/standard/collection/array.nit:281 */
432 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
433 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
434 if (UNTAG_Bool(REGB2
)) {
435 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
437 /* ../lib/standard/collection/array.nit:718 */
438 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
439 /* ../lib/standard/collection/array.nit:281 */
442 /* syntax/scope.nit:82 */
443 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[4], COLOR_syntax___scope___EscapableBlock
, ID_syntax___scope___EscapableBlock
)) /*cast EscapableBlock*/;
444 if (UNTAG_Bool(REGB0
)) {
445 fra
.me
.REG
[5] = CALL_syntax___scope___EscapableBlock___lab(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
446 REGB0
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[3],fra
.me
.REG
[5]));
447 if (UNTAG_Bool(REGB0
)) {
449 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
450 if (UNTAG_Bool(REGB2
)) {
454 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
462 if (UNTAG_Bool(REGB0
)) {
463 /* syntax/scope.nit:83 */
464 fra
.me
.REG
[5] = CALL_syntax___scope___ScopeContext___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
466 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
468 fra
.me
.REG
[7] = BOX_NativeString("Syntax error: label ");
470 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
471 once_value_2
= fra
.me
.REG
[7];
472 register_static_object(&once_value_2
);
473 } else fra
.me
.REG
[7] = once_value_2
;
474 fra
.me
.REG
[7] = fra
.me
.REG
[7];
475 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
476 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
477 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
479 fra
.me
.REG
[7] = BOX_NativeString(" already defined at ");
481 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
482 once_value_3
= fra
.me
.REG
[7];
483 register_static_object(&once_value_3
);
484 } else fra
.me
.REG
[7] = once_value_3
;
485 fra
.me
.REG
[7] = fra
.me
.REG
[7];
486 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
487 fra
.me
.REG
[4] = CALL_syntax___scope___EscapableBlock___lab_location(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
488 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
489 if (UNTAG_Bool(REGB0
)) {
490 nit_abort("Reciever is null", NULL
, LOCATE_syntax___scope
, 83);
492 fra
.me
.REG
[7] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
493 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
494 if (UNTAG_Bool(REGB0
)) {
495 nit_abort("Reciever is null", NULL
, LOCATE_syntax___scope
, 83);
497 fra
.me
.REG
[7] = CALL_location___Location___relative_to(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
498 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
500 fra
.me
.REG
[7] = BOX_NativeString(".");
502 fra
.me
.REG
[7] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[7], REGB0
);
503 once_value_4
= fra
.me
.REG
[7];
504 register_static_object(&once_value_4
);
505 } else fra
.me
.REG
[7] = once_value_4
;
506 fra
.me
.REG
[7] = fra
.me
.REG
[7];
507 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
508 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
509 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2], fra
.me
.REG
[6]);
510 /* syntax/scope.nit:84 */
513 /* syntax/scope.nit:86 */
515 /* ../lib/standard/kernel.nit:240 */
516 REGB0
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
517 /* syntax/scope.nit:86 */
520 /* syntax/scope.nit:80 */
525 /* syntax/scope.nit:88 */
526 ATTR_syntax___scope___EscapableBlock____lab(fra
.me
.REG
[1]) = fra
.me
.REG
[3];
527 /* syntax/scope.nit:89 */
528 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
529 if (UNTAG_Bool(REGB1
)) {
530 nit_abort("Reciever is null", NULL
, LOCATE_syntax___scope
, 89);
532 fra
.me
.REG
[2] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
533 ATTR_syntax___scope___EscapableBlock____lab_location(fra
.me
.REG
[1]) = fra
.me
.REG
[2];
536 stack_frame_head
= fra
.me
.prev
;
539 static const char LOCATE_syntax___scope___ScopeContext___head
[] = "scope::ScopeContext::head";
540 val_t
syntax___scope___ScopeContext___head(val_t p0
){
541 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
547 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
548 fra
.me
.file
= LOCATE_syntax___scope
;
550 fra
.me
.meth
= LOCATE_syntax___scope___ScopeContext___head
;
551 fra
.me
.has_broke
= 0;
553 fra
.me
.nitni_local_ref_head
= NULL
;
554 fra
.me
.REG
[0] = NIT_NULL
;
555 fra
.me
.REG
[1] = NIT_NULL
;
557 /* syntax/scope.nit:96 */
558 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
559 if (UNTAG_Bool(REGB0
)) {
561 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 96);
563 fra
.me
.REG
[1] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
564 /* ../lib/standard/collection/array.nit:24 */
565 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
566 if (UNTAG_Bool(REGB0
)) {
568 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
570 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
571 /* syntax/scope.nit:96 */
573 /* ../lib/standard/kernel.nit:240 */
574 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
575 /* syntax/scope.nit:97 */
578 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
579 if (UNTAG_Bool(REGB2
)) {
581 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
583 /* ../lib/standard/kernel.nit:236 */
584 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
585 /* syntax/scope.nit:97 */
586 if (UNTAG_Bool(REGB0
)) {
587 /* syntax/scope.nit:98 */
588 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
589 if (UNTAG_Bool(REGB0
)) {
591 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 98);
593 fra
.me
.REG
[1] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
594 /* ../lib/standard/collection/array.nit:278 */
596 /* ../lib/standard/collection/array.nit:280 */
598 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
599 if (UNTAG_Bool(REGB3
)) {
601 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
603 /* ../lib/standard/kernel.nit:236 */
604 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB2
));
605 /* ../lib/standard/collection/array.nit:280 */
606 if (UNTAG_Bool(REGB2
)) {
607 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
608 if (UNTAG_Bool(REGB2
)) {
610 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
612 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
613 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
614 if (UNTAG_Bool(REGB3
)) {
616 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
618 /* ../lib/standard/kernel.nit:235 */
619 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
621 /* ../lib/standard/collection/array.nit:280 */
625 if (UNTAG_Bool(REGB2
)) {
627 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
629 /* ../lib/standard/collection/array.nit:281 */
630 fra
.me
.REG
[1] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
631 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
632 if (UNTAG_Bool(REGB2
)) {
633 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
635 /* ../lib/standard/collection/array.nit:718 */
636 fra
.me
.REG
[1] = ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB0
)];
637 /* ../lib/standard/collection/array.nit:281 */
640 /* syntax/scope.nit:99 */
641 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[1], COLOR_syntax___scope___EscapableBlock
, ID_syntax___scope___EscapableBlock
)) /*cast EscapableBlock*/;
642 if (UNTAG_Bool(REGB0
)) {
643 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[1], COLOR_syntax___scope___BreakOnlyEscapableBlock
, ID_syntax___scope___BreakOnlyEscapableBlock
)) /*cast BreakOnlyEscapableBlock*/;
644 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
649 if (UNTAG_Bool(REGB0
)) {
652 /* syntax/scope.nit:100 */
654 /* ../lib/standard/kernel.nit:240 */
655 REGB0
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
656 /* syntax/scope.nit:100 */
659 /* syntax/scope.nit:97 */
664 /* syntax/scope.nit:102 */
665 fra
.me
.REG
[1] = NIT_NULL
;
668 stack_frame_head
= fra
.me
.prev
;
669 return fra
.me
.REG
[1];
671 static const char LOCATE_syntax___scope___ScopeContext___get_by_label
[] = "scope::ScopeContext::get_by_label";
672 val_t
syntax___scope___ScopeContext___get_by_label(val_t p0
, val_t p1
){
673 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
679 static val_t once_value_4
; /* Once value */
680 static val_t once_value_5
; /* Once value */
681 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
682 fra
.me
.file
= LOCATE_syntax___scope
;
684 fra
.me
.meth
= LOCATE_syntax___scope___ScopeContext___get_by_label
;
685 fra
.me
.has_broke
= 0;
687 fra
.me
.nitni_local_ref_head
= NULL
;
688 fra
.me
.REG
[0] = NIT_NULL
;
689 fra
.me
.REG
[1] = NIT_NULL
;
690 fra
.me
.REG
[2] = NIT_NULL
;
691 fra
.me
.REG
[3] = NIT_NULL
;
692 fra
.me
.REG
[4] = NIT_NULL
;
693 fra
.me
.REG
[5] = NIT_NULL
;
696 /* syntax/scope.nit:109 */
697 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
698 if (UNTAG_Bool(REGB0
)) {
700 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 109);
702 fra
.me
.REG
[2] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
703 /* ../lib/standard/collection/array.nit:24 */
704 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
705 if (UNTAG_Bool(REGB0
)) {
707 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
709 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
710 /* syntax/scope.nit:109 */
712 /* ../lib/standard/kernel.nit:240 */
713 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
714 /* syntax/scope.nit:110 */
715 fra
.me
.REG
[2] = CALL_parser___parser_nodes___ALabel___n_id(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
716 fra
.me
.REG
[2] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
717 /* syntax/scope.nit:111 */
720 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
721 if (UNTAG_Bool(REGB2
)) {
723 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
725 /* ../lib/standard/kernel.nit:236 */
726 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
727 /* syntax/scope.nit:111 */
728 if (UNTAG_Bool(REGB0
)) {
729 /* syntax/scope.nit:112 */
730 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
731 if (UNTAG_Bool(REGB0
)) {
733 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 112);
735 fra
.me
.REG
[3] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
736 /* ../lib/standard/collection/array.nit:278 */
738 /* ../lib/standard/collection/array.nit:280 */
740 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
741 if (UNTAG_Bool(REGB3
)) {
743 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
745 /* ../lib/standard/kernel.nit:236 */
746 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB2
));
747 /* ../lib/standard/collection/array.nit:280 */
748 if (UNTAG_Bool(REGB2
)) {
749 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
750 if (UNTAG_Bool(REGB2
)) {
752 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
754 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
755 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
756 if (UNTAG_Bool(REGB3
)) {
758 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
760 /* ../lib/standard/kernel.nit:235 */
761 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
763 /* ../lib/standard/collection/array.nit:280 */
767 if (UNTAG_Bool(REGB2
)) {
769 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
771 /* ../lib/standard/collection/array.nit:281 */
772 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
773 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
774 if (UNTAG_Bool(REGB2
)) {
775 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
777 /* ../lib/standard/collection/array.nit:718 */
778 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB0
)];
779 /* ../lib/standard/collection/array.nit:281 */
782 /* syntax/scope.nit:113 */
783 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[3], COLOR_syntax___scope___EscapableBlock
, ID_syntax___scope___EscapableBlock
)) /*cast EscapableBlock*/;
784 if (UNTAG_Bool(REGB0
)) {
785 fra
.me
.REG
[4] = CALL_syntax___scope___EscapableBlock___lab(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
786 REGB0
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[2],fra
.me
.REG
[4]));
787 if (UNTAG_Bool(REGB0
)) {
789 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
790 if (UNTAG_Bool(REGB2
)) {
794 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
802 if (UNTAG_Bool(REGB0
)) {
805 /* syntax/scope.nit:114 */
807 /* ../lib/standard/kernel.nit:240 */
808 REGB0
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
809 /* syntax/scope.nit:114 */
812 /* syntax/scope.nit:111 */
817 /* syntax/scope.nit:116 */
818 fra
.me
.REG
[0] = CALL_syntax___scope___ScopeContext___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
820 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
822 fra
.me
.REG
[5] = BOX_NativeString("Syntax error: invalid label ");
824 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
825 once_value_4
= fra
.me
.REG
[5];
826 register_static_object(&once_value_4
);
827 } else fra
.me
.REG
[5] = once_value_4
;
828 fra
.me
.REG
[5] = fra
.me
.REG
[5];
829 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
830 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
831 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
833 fra
.me
.REG
[2] = BOX_NativeString(".");
835 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
836 once_value_5
= fra
.me
.REG
[2];
837 register_static_object(&once_value_5
);
838 } else fra
.me
.REG
[2] = once_value_5
;
839 fra
.me
.REG
[2] = fra
.me
.REG
[2];
840 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
841 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
842 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[4]);
843 /* syntax/scope.nit:117 */
844 fra
.me
.REG
[3] = NIT_NULL
;
847 stack_frame_head
= fra
.me
.prev
;
848 return fra
.me
.REG
[3];
850 static const char LOCATE_syntax___scope___ScopeContext___pop
[] = "scope::ScopeContext::pop";
851 void syntax___scope___ScopeContext___pop(val_t p0
){
852 struct {struct stack_frame_t me
;} fra
;
855 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
856 fra
.me
.file
= LOCATE_syntax___scope
;
858 fra
.me
.meth
= LOCATE_syntax___scope___ScopeContext___pop
;
859 fra
.me
.has_broke
= 0;
861 fra
.me
.nitni_local_ref_head
= NULL
;
862 fra
.me
.REG
[0] = NIT_NULL
;
864 /* syntax/scope.nit:123 */
865 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
866 if (UNTAG_Bool(REGB0
)) {
868 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 123);
870 fra
.me
.REG
[0] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
871 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Sequence___pop(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
872 stack_frame_head
= fra
.me
.prev
;
875 static const char LOCATE_syntax___scope___ScopeContext___visitor
[] = "scope::ScopeContext::visitor";
876 val_t
syntax___scope___ScopeContext___visitor(val_t p0
){
877 struct {struct stack_frame_t me
;} fra
;
880 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
881 fra
.me
.file
= LOCATE_syntax___scope
;
883 fra
.me
.meth
= LOCATE_syntax___scope___ScopeContext___visitor
;
884 fra
.me
.has_broke
= 0;
886 fra
.me
.nitni_local_ref_head
= NULL
;
887 fra
.me
.REG
[0] = NIT_NULL
;
889 /* syntax/scope.nit:126 */
890 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____visitor(fra
.me
.REG
[0])!=NIT_NULL
);
891 if (UNTAG_Bool(REGB0
)) {
893 nit_abort("Uninitialized attribute %s", "_visitor", LOCATE_syntax___scope
, 126);
895 fra
.me
.REG
[0] = ATTR_syntax___scope___ScopeContext____visitor(fra
.me
.REG
[0]);
896 stack_frame_head
= fra
.me
.prev
;
897 return fra
.me
.REG
[0];
899 static const char LOCATE_syntax___scope___ScopeContext___init
[] = "scope::ScopeContext::init";
900 void syntax___scope___ScopeContext___init(val_t p0
, val_t p1
, int* init_table
){
901 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___scope___ScopeContext
].i
;
902 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
904 if (init_table
[itpos0
]) return;
905 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
906 fra
.me
.file
= LOCATE_syntax___scope
;
908 fra
.me
.meth
= LOCATE_syntax___scope___ScopeContext___init
;
909 fra
.me
.has_broke
= 0;
911 fra
.me
.nitni_local_ref_head
= NULL
;
912 fra
.me
.REG
[0] = NIT_NULL
;
913 fra
.me
.REG
[1] = NIT_NULL
;
916 /* syntax/scope.nit:129 */
917 ATTR_syntax___scope___ScopeContext____visitor(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
918 stack_frame_head
= fra
.me
.prev
;
919 init_table
[itpos0
] = 1;
922 static const char LOCATE_syntax___scope___ScopeBlock___node
[] = "scope::ScopeBlock::node";
923 val_t
syntax___scope___ScopeBlock___node(val_t p0
){
924 struct {struct stack_frame_t me
;} fra
;
927 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
928 fra
.me
.file
= LOCATE_syntax___scope
;
930 fra
.me
.meth
= LOCATE_syntax___scope___ScopeBlock___node
;
931 fra
.me
.has_broke
= 0;
933 fra
.me
.nitni_local_ref_head
= NULL
;
934 fra
.me
.REG
[0] = NIT_NULL
;
936 /* syntax/scope.nit:138 */
937 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeBlock____node(fra
.me
.REG
[0])!=NIT_NULL
);
938 if (UNTAG_Bool(REGB0
)) {
940 nit_abort("Uninitialized attribute %s", "_node", LOCATE_syntax___scope
, 138);
942 fra
.me
.REG
[0] = ATTR_syntax___scope___ScopeBlock____node(fra
.me
.REG
[0]);
943 stack_frame_head
= fra
.me
.prev
;
944 return fra
.me
.REG
[0];
946 static const char LOCATE_syntax___scope___ScopeBlock___add_variable
[] = "scope::ScopeBlock::add_variable";
947 void syntax___scope___ScopeBlock___add_variable(val_t p0
, val_t p1
){
948 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
952 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
953 fra
.me
.file
= LOCATE_syntax___scope
;
955 fra
.me
.meth
= LOCATE_syntax___scope___ScopeBlock___add_variable
;
956 fra
.me
.has_broke
= 0;
958 fra
.me
.nitni_local_ref_head
= NULL
;
959 fra
.me
.REG
[0] = NIT_NULL
;
960 fra
.me
.REG
[1] = NIT_NULL
;
961 fra
.me
.REG
[2] = NIT_NULL
;
962 fra
.me
.REG
[3] = NIT_NULL
;
965 /* syntax/scope.nit:147 */
966 fra
.me
.REG
[2] = ATTR_syntax___scope___ScopeBlock____dico(fra
.me
.REG
[0]);
967 /* syntax/scope.nit:148 */
968 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
969 if (UNTAG_Bool(REGB0
)) {
971 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
972 if (UNTAG_Bool(REGB1
)) {
976 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
980 if (UNTAG_Bool(REGB0
)) {
981 /* syntax/scope.nit:149 */
982 fra
.me
.REG
[3] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
983 fra
.me
.REG
[2] = fra
.me
.REG
[3];
984 /* syntax/scope.nit:150 */
985 ATTR_syntax___scope___ScopeBlock____dico(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
987 /* syntax/scope.nit:152 */
988 fra
.me
.REG
[0] = CALL_syntax___syntax_base___Variable___name(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
989 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
990 if (UNTAG_Bool(REGB0
)) {
991 nit_abort("Reciever is null", NULL
, LOCATE_syntax___scope
, 152);
993 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0], fra
.me
.REG
[1]);
994 stack_frame_head
= fra
.me
.prev
;
997 static const char LOCATE_syntax___scope___ScopeBlock___get_variable
[] = "scope::ScopeBlock::get_variable";
998 val_t
syntax___scope___ScopeBlock___get_variable(val_t p0
, val_t p1
){
999 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1003 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1004 fra
.me
.file
= LOCATE_syntax___scope
;
1006 fra
.me
.meth
= LOCATE_syntax___scope___ScopeBlock___get_variable
;
1007 fra
.me
.has_broke
= 0;
1008 fra
.me
.REG_size
= 3;
1009 fra
.me
.nitni_local_ref_head
= NULL
;
1010 fra
.me
.REG
[0] = NIT_NULL
;
1011 fra
.me
.REG
[1] = NIT_NULL
;
1012 fra
.me
.REG
[2] = NIT_NULL
;
1015 /* syntax/scope.nit:157 */
1016 fra
.me
.REG
[0] = ATTR_syntax___scope___ScopeBlock____dico(fra
.me
.REG
[0]);
1017 /* syntax/scope.nit:158 */
1018 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1019 if (UNTAG_Bool(REGB0
)) {
1021 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1022 if (UNTAG_Bool(REGB1
)) {
1023 REGB1
= TAG_Bool(0);
1026 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
1030 if (UNTAG_Bool(REGB0
)) {
1031 fra
.me
.REG
[2] = NIT_NULL
;
1034 /* syntax/scope.nit:159 */
1035 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1036 if (UNTAG_Bool(REGB0
)) {
1037 nit_abort("Reciever is null", NULL
, LOCATE_syntax___scope
, 159);
1039 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1040 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1041 if (UNTAG_Bool(REGB0
)) {
1042 fra
.me
.REG
[2] = NIT_NULL
;
1045 /* syntax/scope.nit:160 */
1046 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1047 if (UNTAG_Bool(REGB0
)) {
1048 nit_abort("Reciever is null", NULL
, LOCATE_syntax___scope
, 160);
1050 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1051 fra
.me
.REG
[2] = fra
.me
.REG
[1];
1054 stack_frame_head
= fra
.me
.prev
;
1055 return fra
.me
.REG
[2];
1057 static const char LOCATE_syntax___scope___ScopeBlock___init
[] = "scope::ScopeBlock::init";
1058 void syntax___scope___ScopeBlock___init(val_t p0
, val_t p1
, int* init_table
){
1059 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___scope___ScopeBlock
].i
;
1060 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1062 if (init_table
[itpos1
]) return;
1063 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1064 fra
.me
.file
= LOCATE_syntax___scope
;
1066 fra
.me
.meth
= LOCATE_syntax___scope___ScopeBlock___init
;
1067 fra
.me
.has_broke
= 0;
1068 fra
.me
.REG_size
= 2;
1069 fra
.me
.nitni_local_ref_head
= NULL
;
1070 fra
.me
.REG
[0] = NIT_NULL
;
1071 fra
.me
.REG
[1] = NIT_NULL
;
1074 /* syntax/scope.nit:165 */
1075 ATTR_syntax___scope___ScopeBlock____node(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1076 stack_frame_head
= fra
.me
.prev
;
1077 init_table
[itpos1
] = 1;
1080 static const char LOCATE_syntax___scope___EscapableBlock___lab
[] = "scope::EscapableBlock::lab";
1081 val_t
syntax___scope___EscapableBlock___lab(val_t p0
){
1082 struct {struct stack_frame_t me
;} fra
;
1084 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1085 fra
.me
.file
= LOCATE_syntax___scope
;
1087 fra
.me
.meth
= LOCATE_syntax___scope___EscapableBlock___lab
;
1088 fra
.me
.has_broke
= 0;
1089 fra
.me
.REG_size
= 1;
1090 fra
.me
.nitni_local_ref_head
= NULL
;
1091 fra
.me
.REG
[0] = NIT_NULL
;
1093 /* syntax/scope.nit:176 */
1094 fra
.me
.REG
[0] = ATTR_syntax___scope___EscapableBlock____lab(fra
.me
.REG
[0]);
1095 stack_frame_head
= fra
.me
.prev
;
1096 return fra
.me
.REG
[0];
1098 static const char LOCATE_syntax___scope___EscapableBlock___lab_location
[] = "scope::EscapableBlock::lab_location";
1099 val_t
syntax___scope___EscapableBlock___lab_location(val_t p0
){
1100 struct {struct stack_frame_t me
;} fra
;
1102 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1103 fra
.me
.file
= LOCATE_syntax___scope
;
1105 fra
.me
.meth
= LOCATE_syntax___scope___EscapableBlock___lab_location
;
1106 fra
.me
.has_broke
= 0;
1107 fra
.me
.REG_size
= 1;
1108 fra
.me
.nitni_local_ref_head
= NULL
;
1109 fra
.me
.REG
[0] = NIT_NULL
;
1111 /* syntax/scope.nit:180 */
1112 fra
.me
.REG
[0] = ATTR_syntax___scope___EscapableBlock____lab_location(fra
.me
.REG
[0]);
1113 stack_frame_head
= fra
.me
.prev
;
1114 return fra
.me
.REG
[0];
1116 static const char LOCATE_syntax___scope___EscapableBlock___is_break_block
[] = "scope::EscapableBlock::is_break_block";
1117 val_t
syntax___scope___EscapableBlock___is_break_block(val_t p0
){
1118 struct {struct stack_frame_t me
;} fra
;
1121 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1122 fra
.me
.file
= LOCATE_syntax___scope
;
1124 fra
.me
.meth
= LOCATE_syntax___scope___EscapableBlock___is_break_block
;
1125 fra
.me
.has_broke
= 0;
1126 fra
.me
.REG_size
= 1;
1127 fra
.me
.nitni_local_ref_head
= NULL
;
1128 fra
.me
.REG
[0] = NIT_NULL
;
1130 /* syntax/scope.nit:184 */
1131 REGB0
= TAG_Bool(0);
1134 stack_frame_head
= fra
.me
.prev
;
1137 static const char LOCATE_syntax___scope___EscapableBlock___break_list
[] = "scope::EscapableBlock::break_list";
1138 val_t
syntax___scope___EscapableBlock___break_list(val_t p0
){
1139 struct {struct stack_frame_t me
;} fra
;
1141 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1142 fra
.me
.file
= LOCATE_syntax___scope
;
1144 fra
.me
.meth
= LOCATE_syntax___scope___EscapableBlock___break_list
;
1145 fra
.me
.has_broke
= 0;
1146 fra
.me
.REG_size
= 1;
1147 fra
.me
.nitni_local_ref_head
= NULL
;
1148 fra
.me
.REG
[0] = NIT_NULL
;
1150 /* syntax/scope.nit:189 */
1151 fra
.me
.REG
[0] = NIT_NULL
;
1154 stack_frame_head
= fra
.me
.prev
;
1155 return fra
.me
.REG
[0];
1157 static const char LOCATE_syntax___scope___EscapableBlock___continue_stype
[] = "scope::EscapableBlock::continue_stype";
1158 val_t
syntax___scope___EscapableBlock___continue_stype(val_t p0
){
1159 struct {struct stack_frame_t me
;} fra
;
1161 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1162 fra
.me
.file
= LOCATE_syntax___scope
;
1164 fra
.me
.meth
= LOCATE_syntax___scope___EscapableBlock___continue_stype
;
1165 fra
.me
.has_broke
= 0;
1166 fra
.me
.REG_size
= 1;
1167 fra
.me
.nitni_local_ref_head
= NULL
;
1168 fra
.me
.REG
[0] = NIT_NULL
;
1170 /* syntax/scope.nit:192 */
1171 fra
.me
.REG
[0] = NIT_NULL
;
1174 stack_frame_head
= fra
.me
.prev
;
1175 return fra
.me
.REG
[0];
1177 static const char LOCATE_syntax___scope___EscapableBlock___break_flow_contexts
[] = "scope::EscapableBlock::break_flow_contexts";
1178 val_t
syntax___scope___EscapableBlock___break_flow_contexts(val_t p0
){
1179 struct {struct stack_frame_t me
;} fra
;
1182 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1183 fra
.me
.file
= LOCATE_syntax___scope
;
1185 fra
.me
.meth
= LOCATE_syntax___scope___EscapableBlock___break_flow_contexts
;
1186 fra
.me
.has_broke
= 0;
1187 fra
.me
.REG_size
= 1;
1188 fra
.me
.nitni_local_ref_head
= NULL
;
1189 fra
.me
.REG
[0] = NIT_NULL
;
1191 /* syntax/scope.nit:194 */
1192 REGB0
= TAG_Bool(ATTR_syntax___scope___EscapableBlock____break_flow_contexts(fra
.me
.REG
[0])!=NIT_NULL
);
1193 if (UNTAG_Bool(REGB0
)) {
1195 nit_abort("Uninitialized attribute %s", "_break_flow_contexts", LOCATE_syntax___scope
, 194);
1197 fra
.me
.REG
[0] = ATTR_syntax___scope___EscapableBlock____break_flow_contexts(fra
.me
.REG
[0]);
1198 stack_frame_head
= fra
.me
.prev
;
1199 return fra
.me
.REG
[0];
1201 static const char LOCATE_syntax___scope___EscapableBlock___init
[] = "scope::EscapableBlock::init";
1202 void syntax___scope___EscapableBlock___init(val_t p0
, val_t p1
, int* init_table
){
1203 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___scope___EscapableBlock
].i
;
1204 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1206 if (init_table
[itpos2
]) return;
1207 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1208 fra
.me
.file
= LOCATE_syntax___scope
;
1210 fra
.me
.meth
= LOCATE_syntax___scope___EscapableBlock___init
;
1211 fra
.me
.has_broke
= 0;
1212 fra
.me
.REG_size
= 2;
1213 fra
.me
.nitni_local_ref_head
= NULL
;
1214 fra
.me
.REG
[0] = NIT_NULL
;
1215 fra
.me
.REG
[1] = NIT_NULL
;
1218 /* syntax/scope.nit:199 */
1219 CALL_syntax___scope___ScopeBlock___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], init_table
);
1220 stack_frame_head
= fra
.me
.prev
;
1221 init_table
[itpos2
] = 1;
1224 static const char LOCATE_syntax___scope___BreakOnlyEscapableBlock___is_break_block
[] = "scope::BreakOnlyEscapableBlock::(scope::EscapableBlock::is_break_block)";
1225 val_t
syntax___scope___BreakOnlyEscapableBlock___is_break_block(val_t p0
){
1226 struct {struct stack_frame_t me
;} fra
;
1229 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1230 fra
.me
.file
= LOCATE_syntax___scope
;
1232 fra
.me
.meth
= LOCATE_syntax___scope___BreakOnlyEscapableBlock___is_break_block
;
1233 fra
.me
.has_broke
= 0;
1234 fra
.me
.REG_size
= 1;
1235 fra
.me
.nitni_local_ref_head
= NULL
;
1236 fra
.me
.REG
[0] = NIT_NULL
;
1238 /* syntax/scope.nit:206 */
1239 REGB0
= TAG_Bool(1);
1242 stack_frame_head
= fra
.me
.prev
;
1245 static const char LOCATE_syntax___scope___BreakOnlyEscapableBlock___init
[] = "scope::BreakOnlyEscapableBlock::init";
1246 void syntax___scope___BreakOnlyEscapableBlock___init(val_t p0
, val_t p1
, int* init_table
){
1247 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___scope___BreakOnlyEscapableBlock
].i
;
1248 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1250 if (init_table
[itpos3
]) return;
1251 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1252 fra
.me
.file
= LOCATE_syntax___scope
;
1254 fra
.me
.meth
= LOCATE_syntax___scope___BreakOnlyEscapableBlock___init
;
1255 fra
.me
.has_broke
= 0;
1256 fra
.me
.REG_size
= 2;
1257 fra
.me
.nitni_local_ref_head
= NULL
;
1258 fra
.me
.REG
[0] = NIT_NULL
;
1259 fra
.me
.REG
[1] = NIT_NULL
;
1262 /* syntax/scope.nit:208 */
1263 CALL_syntax___scope___EscapableBlock___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], init_table
);
1264 stack_frame_head
= fra
.me
.prev
;
1265 init_table
[itpos3
] = 1;
1268 static const char LOCATE_syntax___scope___EscapableClosure___closure
[] = "scope::EscapableClosure::closure";
1269 val_t
syntax___scope___EscapableClosure___closure(val_t p0
){
1270 struct {struct stack_frame_t me
;} fra
;
1273 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1274 fra
.me
.file
= LOCATE_syntax___scope
;
1276 fra
.me
.meth
= LOCATE_syntax___scope___EscapableClosure___closure
;
1277 fra
.me
.has_broke
= 0;
1278 fra
.me
.REG_size
= 1;
1279 fra
.me
.nitni_local_ref_head
= NULL
;
1280 fra
.me
.REG
[0] = NIT_NULL
;
1282 /* syntax/scope.nit:214 */
1283 REGB0
= TAG_Bool(ATTR_syntax___scope___EscapableClosure____closure(fra
.me
.REG
[0])!=NIT_NULL
);
1284 if (UNTAG_Bool(REGB0
)) {
1286 nit_abort("Uninitialized attribute %s", "_closure", LOCATE_syntax___scope
, 214);
1288 fra
.me
.REG
[0] = ATTR_syntax___scope___EscapableClosure____closure(fra
.me
.REG
[0]);
1289 stack_frame_head
= fra
.me
.prev
;
1290 return fra
.me
.REG
[0];
1292 static const char LOCATE_syntax___scope___EscapableClosure___is_break_block
[] = "scope::EscapableClosure::(scope::EscapableBlock::is_break_block)";
1293 val_t
syntax___scope___EscapableClosure___is_break_block(val_t p0
){
1294 struct {struct stack_frame_t me
;} fra
;
1297 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1298 fra
.me
.file
= LOCATE_syntax___scope
;
1300 fra
.me
.meth
= LOCATE_syntax___scope___EscapableClosure___is_break_block
;
1301 fra
.me
.has_broke
= 0;
1302 fra
.me
.REG_size
= 1;
1303 fra
.me
.nitni_local_ref_head
= NULL
;
1304 fra
.me
.REG
[0] = NIT_NULL
;
1306 /* syntax/scope.nit:217 */
1307 REGB0
= TAG_Bool(ATTR_syntax___scope___EscapableClosure____closure(fra
.me
.REG
[0])!=NIT_NULL
);
1308 if (UNTAG_Bool(REGB0
)) {
1310 nit_abort("Uninitialized attribute %s", "_closure", LOCATE_syntax___scope
, 217);
1312 fra
.me
.REG
[0] = ATTR_syntax___scope___EscapableClosure____closure(fra
.me
.REG
[0]);
1313 REGB0
= CALL_metamodel___static_type___MMClosure___is_break(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1316 stack_frame_head
= fra
.me
.prev
;
1319 static const char LOCATE_syntax___scope___EscapableClosure___break_list
[] = "scope::EscapableClosure::(scope::EscapableBlock::break_list)";
1320 val_t
syntax___scope___EscapableClosure___break_list(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___EscapableClosure___break_list
;
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:219 */
1333 fra
.me
.REG
[0] = ATTR_syntax___scope___EscapableClosure____break_list(fra
.me
.REG
[0]);
1334 stack_frame_head
= fra
.me
.prev
;
1335 return fra
.me
.REG
[0];
1337 static const char LOCATE_syntax___scope___EscapableClosure___continue_stype
[] = "scope::EscapableClosure::(scope::EscapableBlock::continue_stype)";
1338 val_t
syntax___scope___EscapableClosure___continue_stype(val_t p0
){
1339 struct {struct stack_frame_t me
;} fra
;
1342 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1343 fra
.me
.file
= LOCATE_syntax___scope
;
1345 fra
.me
.meth
= LOCATE_syntax___scope___EscapableClosure___continue_stype
;
1346 fra
.me
.has_broke
= 0;
1347 fra
.me
.REG_size
= 1;
1348 fra
.me
.nitni_local_ref_head
= NULL
;
1349 fra
.me
.REG
[0] = NIT_NULL
;
1351 /* syntax/scope.nit:221 */
1352 REGB0
= TAG_Bool(ATTR_syntax___scope___EscapableClosure____closure(fra
.me
.REG
[0])!=NIT_NULL
);
1353 if (UNTAG_Bool(REGB0
)) {
1355 nit_abort("Uninitialized attribute %s", "_closure", LOCATE_syntax___scope
, 221);
1357 fra
.me
.REG
[0] = ATTR_syntax___scope___EscapableClosure____closure(fra
.me
.REG
[0]);
1358 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMClosure___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1359 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1362 stack_frame_head
= fra
.me
.prev
;
1363 return fra
.me
.REG
[0];
1365 static const char LOCATE_syntax___scope___EscapableClosure___init
[] = "scope::EscapableClosure::init";
1366 void syntax___scope___EscapableClosure___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
1367 int itpos4
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___scope___EscapableClosure
].i
;
1368 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1370 if (init_table
[itpos4
]) return;
1371 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1372 fra
.me
.file
= LOCATE_syntax___scope
;
1374 fra
.me
.meth
= LOCATE_syntax___scope___EscapableClosure___init
;
1375 fra
.me
.has_broke
= 0;
1376 fra
.me
.REG_size
= 5;
1377 fra
.me
.nitni_local_ref_head
= NULL
;
1378 fra
.me
.REG
[0] = NIT_NULL
;
1379 fra
.me
.REG
[1] = NIT_NULL
;
1380 fra
.me
.REG
[2] = NIT_NULL
;
1381 fra
.me
.REG
[3] = NIT_NULL
;
1382 fra
.me
.REG
[4] = NIT_NULL
;
1387 /* syntax/scope.nit:223 */
1388 fra
.me
.REG
[4] = fra
.me
.REG
[0];
1389 /* syntax/scope.nit:225 */
1390 CALL_syntax___scope___EscapableBlock___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], init_table
);
1391 /* syntax/scope.nit:226 */
1392 ATTR_syntax___scope___EscapableClosure____closure(fra
.me
.REG
[4]) = fra
.me
.REG
[2];
1393 /* syntax/scope.nit:227 */
1394 ATTR_syntax___scope___EscapableClosure____break_list(fra
.me
.REG
[4]) = fra
.me
.REG
[3];
1395 stack_frame_head
= fra
.me
.prev
;
1396 init_table
[itpos4
] = 1;
1399 static const char LOCATE_syntax___scope___AEscapeExpr___escapable
[] = "scope::AEscapeExpr::escapable";
1400 val_t
syntax___scope___AEscapeExpr___escapable(val_t p0
){
1401 struct {struct stack_frame_t me
;} fra
;
1403 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1404 fra
.me
.file
= LOCATE_syntax___scope
;
1406 fra
.me
.meth
= LOCATE_syntax___scope___AEscapeExpr___escapable
;
1407 fra
.me
.has_broke
= 0;
1408 fra
.me
.REG_size
= 1;
1409 fra
.me
.nitni_local_ref_head
= NULL
;
1410 fra
.me
.REG
[0] = NIT_NULL
;
1412 /* syntax/scope.nit:235 */
1413 fra
.me
.REG
[0] = ATTR_syntax___scope___AEscapeExpr____escapable(fra
.me
.REG
[0]);
1414 stack_frame_head
= fra
.me
.prev
;
1415 return fra
.me
.REG
[0];
1417 static const char LOCATE_syntax___scope___AEscapeExpr___kwname
[] = "scope::AEscapeExpr::kwname";
1418 val_t
syntax___scope___AEscapeExpr___kwname(val_t p0
){
1419 struct {struct stack_frame_t me
;} fra
;
1421 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1422 fra
.me
.file
= LOCATE_syntax___scope
;
1424 fra
.me
.meth
= LOCATE_syntax___scope___AEscapeExpr___kwname
;
1425 fra
.me
.has_broke
= 0;
1426 fra
.me
.REG_size
= 0;
1427 fra
.me
.nitni_local_ref_head
= NULL
;
1428 /* syntax/scope.nit:238 */
1429 nit_abort("Deferred method called", NULL
, LOCATE_syntax___scope
, 238);
1430 stack_frame_head
= fra
.me
.prev
;
1433 static const char LOCATE_syntax___scope___AEscapeExpr___compute_escapable_block
[] = "scope::AEscapeExpr::compute_escapable_block";
1434 val_t
syntax___scope___AEscapeExpr___compute_escapable_block(val_t p0
, val_t p1
){
1435 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1439 static val_t once_value_1
; /* Once value */
1440 static val_t once_value_2
; /* Once value */
1441 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1442 fra
.me
.file
= LOCATE_syntax___scope
;
1444 fra
.me
.meth
= LOCATE_syntax___scope___AEscapeExpr___compute_escapable_block
;
1445 fra
.me
.has_broke
= 0;
1446 fra
.me
.REG_size
= 5;
1447 fra
.me
.nitni_local_ref_head
= NULL
;
1448 fra
.me
.REG
[0] = NIT_NULL
;
1449 fra
.me
.REG
[1] = NIT_NULL
;
1450 fra
.me
.REG
[2] = NIT_NULL
;
1451 fra
.me
.REG
[3] = NIT_NULL
;
1452 fra
.me
.REG
[4] = NIT_NULL
;
1455 /* syntax/scope.nit:245 */
1456 fra
.me
.REG
[2] = CALL_parser___parser_nodes___ALabelable___n_label(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1457 /* syntax/scope.nit:246 */
1458 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1459 if (UNTAG_Bool(REGB0
)) {
1461 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1462 if (UNTAG_Bool(REGB1
)) {
1463 REGB1
= TAG_Bool(0);
1466 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1470 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1471 if (UNTAG_Bool(REGB0
)) {
1472 /* syntax/scope.nit:247 */
1473 fra
.me
.REG
[2] = CALL_syntax___scope___ScopeContext___get_by_label(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1475 /* syntax/scope.nit:249 */
1476 fra
.me
.REG
[3] = CALL_syntax___scope___ScopeContext___head(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1477 fra
.me
.REG
[2] = fra
.me
.REG
[3];
1478 /* syntax/scope.nit:250 */
1479 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1480 if (UNTAG_Bool(REGB0
)) {
1482 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1483 if (UNTAG_Bool(REGB1
)) {
1484 REGB1
= TAG_Bool(0);
1487 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1491 if (UNTAG_Bool(REGB0
)) {
1492 /* syntax/scope.nit:251 */
1493 fra
.me
.REG
[1] = CALL_syntax___scope___ScopeContext___visitor(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1495 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1496 if (!once_value_1
) {
1497 fra
.me
.REG
[4] = BOX_NativeString("Syntax Error: '");
1498 REGB0
= TAG_Int(15);
1499 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1500 once_value_1
= fra
.me
.REG
[4];
1501 register_static_object(&once_value_1
);
1502 } else fra
.me
.REG
[4] = once_value_1
;
1503 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1504 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1505 fra
.me
.REG
[4] = CALL_syntax___scope___AEscapeExpr___kwname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1506 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1507 if (!once_value_2
) {
1508 fra
.me
.REG
[4] = BOX_NativeString("' statment outside block.");
1509 REGB0
= TAG_Int(25);
1510 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1511 once_value_2
= fra
.me
.REG
[4];
1512 register_static_object(&once_value_2
);
1513 } else fra
.me
.REG
[4] = once_value_2
;
1514 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1515 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1516 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1517 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[3]);
1520 /* syntax/scope.nit:254 */
1521 ATTR_syntax___scope___AEscapeExpr____escapable(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
1522 /* syntax/scope.nit:255 */
1525 stack_frame_head
= fra
.me
.prev
;
1526 return fra
.me
.REG
[2];
1528 static const char LOCATE_syntax___scope___AContinueExpr___kwname
[] = "scope::AContinueExpr::(scope::AEscapeExpr::kwname)";
1529 val_t
syntax___scope___AContinueExpr___kwname(val_t p0
){
1530 struct {struct stack_frame_t me
;} fra
;
1533 static val_t once_value_1
; /* Once value */
1534 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1535 fra
.me
.file
= LOCATE_syntax___scope
;
1537 fra
.me
.meth
= LOCATE_syntax___scope___AContinueExpr___kwname
;
1538 fra
.me
.has_broke
= 0;
1539 fra
.me
.REG_size
= 1;
1540 fra
.me
.nitni_local_ref_head
= NULL
;
1541 fra
.me
.REG
[0] = NIT_NULL
;
1543 /* syntax/scope.nit:261 */
1544 if (!once_value_1
) {
1545 fra
.me
.REG
[0] = BOX_NativeString("continue");
1547 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1548 once_value_1
= fra
.me
.REG
[0];
1549 register_static_object(&once_value_1
);
1550 } else fra
.me
.REG
[0] = once_value_1
;
1551 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1554 stack_frame_head
= fra
.me
.prev
;
1555 return fra
.me
.REG
[0];
1557 static const char LOCATE_syntax___scope___ABreakExpr___kwname
[] = "scope::ABreakExpr::(scope::AEscapeExpr::kwname)";
1558 val_t
syntax___scope___ABreakExpr___kwname(val_t p0
){
1559 struct {struct stack_frame_t me
;} fra
;
1562 static val_t once_value_1
; /* Once value */
1563 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1564 fra
.me
.file
= LOCATE_syntax___scope
;
1566 fra
.me
.meth
= LOCATE_syntax___scope___ABreakExpr___kwname
;
1567 fra
.me
.has_broke
= 0;
1568 fra
.me
.REG_size
= 1;
1569 fra
.me
.nitni_local_ref_head
= NULL
;
1570 fra
.me
.REG
[0] = NIT_NULL
;
1572 /* syntax/scope.nit:266 */
1573 if (!once_value_1
) {
1574 fra
.me
.REG
[0] = BOX_NativeString("break");
1576 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1577 once_value_1
= fra
.me
.REG
[0];
1578 register_static_object(&once_value_1
);
1579 } else fra
.me
.REG
[0] = once_value_1
;
1580 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1583 stack_frame_head
= fra
.me
.prev
;
1584 return fra
.me
.REG
[0];