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
.REG
[0] = NIT_NULL
;
17 fra
.me
.REG
[1] = NIT_NULL
;
18 fra
.me
.REG
[2] = NIT_NULL
;
21 /* ./syntax//scope.nit:48 */
22 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
23 if (UNTAG_Bool(REGB0
)) {
25 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 48);
27 fra
.me
.REG
[2] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
28 /* ./../lib/standard//collection//array.nit:24 */
29 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
30 if (UNTAG_Bool(REGB0
)) {
32 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
34 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
35 /* ./syntax//scope.nit:48 */
37 /* ./../lib/standard//kernel.nit:237 */
38 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
39 /* ./syntax//scope.nit:49 */
42 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
43 if (UNTAG_Bool(REGB2
)) {
45 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
47 /* ./../lib/standard//kernel.nit:233 */
48 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
49 /* ./syntax//scope.nit:49 */
50 if (UNTAG_Bool(REGB0
)) {
51 /* ./syntax//scope.nit:50 */
52 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
53 if (UNTAG_Bool(REGB0
)) {
55 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 50);
57 fra
.me
.REG
[2] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
58 /* ./../lib/standard//collection//array.nit:278 */
60 /* ./../lib/standard//collection//array.nit:280 */
62 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
63 if (UNTAG_Bool(REGB3
)) {
65 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
67 /* ./../lib/standard//kernel.nit:233 */
68 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB2
));
69 /* ./../lib/standard//collection//array.nit:280 */
70 if (UNTAG_Bool(REGB2
)) {
71 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
72 if (UNTAG_Bool(REGB2
)) {
74 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
76 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
77 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
78 if (UNTAG_Bool(REGB3
)) {
80 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
82 /* ./../lib/standard//kernel.nit:232 */
83 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
85 /* ./../lib/standard//collection//array.nit:280 */
86 REGB3
= TAG_Bool(false);
89 if (UNTAG_Bool(REGB2
)) {
91 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
93 /* ./../lib/standard//collection//array.nit:281 */
94 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
95 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
96 if (UNTAG_Bool(REGB2
)) {
97 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
99 /* ./../lib/standard//collection//array.nit:718 */
100 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
101 /* ./../lib/standard//collection//array.nit:281 */
104 /* ./syntax//scope.nit:51 */
105 fra
.me
.REG
[2] = CALL_syntax___scope___ScopeBlock___get_variable(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
106 /* ./syntax//scope.nit:52 */
107 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
108 if (UNTAG_Bool(REGB0
)) {
110 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
111 if (UNTAG_Bool(REGB2
)) {
112 REGB2
= TAG_Bool(false);
115 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
119 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
120 if (UNTAG_Bool(REGB0
)) {
123 /* ./syntax//scope.nit:53 */
125 /* ./../lib/standard//kernel.nit:237 */
126 REGB0
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
127 /* ./syntax//scope.nit:53 */
130 /* ./syntax//scope.nit:49 */
135 /* ./syntax//scope.nit:55 */
136 fra
.me
.REG
[2] = NIT_NULL
;
139 stack_frame_head
= fra
.me
.prev
;
140 return fra
.me
.REG
[2];
142 void syntax___scope___ScopeContext___add_variable(val_t p0
, val_t p1
){
143 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
147 static val_t once_value_1
; /* Once value */
148 static val_t once_value_2
; /* Once value */
149 static val_t once_value_3
; /* Once value */
150 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
151 fra
.me
.file
= LOCATE_syntax___scope
;
153 fra
.me
.meth
= LOCATE_syntax___scope___ScopeContext___add_variable
;
154 fra
.me
.has_broke
= 0;
156 fra
.me
.REG
[0] = NIT_NULL
;
157 fra
.me
.REG
[1] = NIT_NULL
;
158 fra
.me
.REG
[2] = NIT_NULL
;
159 fra
.me
.REG
[3] = NIT_NULL
;
160 fra
.me
.REG
[4] = NIT_NULL
;
161 fra
.me
.REG
[5] = NIT_NULL
;
162 fra
.me
.REG
[6] = NIT_NULL
;
165 /* ./syntax//scope.nit:62 */
166 fra
.me
.REG
[2] = CALL_syntax___syntax_base___Variable___name(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
167 fra
.me
.REG
[2] = CALL_syntax___scope___ScopeContext_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
168 /* ./syntax//scope.nit:63 */
169 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
170 if (UNTAG_Bool(REGB0
)) {
172 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
173 if (UNTAG_Bool(REGB1
)) {
174 REGB1
= TAG_Bool(false);
177 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
181 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
182 if (UNTAG_Bool(REGB0
)) {
183 /* ./syntax//scope.nit:64 */
184 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____visitor(fra
.me
.REG
[0])!=NIT_NULL
);
185 if (UNTAG_Bool(REGB0
)) {
187 nit_abort("Uninitialized attribute %s", "_visitor", LOCATE_syntax___scope
, 64);
189 fra
.me
.REG
[3] = ATTR_syntax___scope___ScopeContext____visitor(fra
.me
.REG
[0]);
190 fra
.me
.REG
[4] = CALL_syntax___syntax_base___Variable___decl(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
192 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
194 fra
.me
.REG
[6] = BOX_NativeString("Error: '");
196 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
197 once_value_1
= fra
.me
.REG
[6];
198 register_static_object(&once_value_1
);
199 } else fra
.me
.REG
[6] = once_value_1
;
200 fra
.me
.REG
[6] = fra
.me
.REG
[6];
201 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
202 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
203 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
205 fra
.me
.REG
[6] = BOX_NativeString("' already defined at ");
207 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
208 once_value_2
= fra
.me
.REG
[6];
209 register_static_object(&once_value_2
);
210 } else fra
.me
.REG
[6] = once_value_2
;
211 fra
.me
.REG
[6] = fra
.me
.REG
[6];
212 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
213 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
214 if (UNTAG_Bool(REGB0
)) {
215 nit_abort("Reciever is null", NULL
, LOCATE_syntax___scope
, 64);
217 fra
.me
.REG
[2] = CALL_syntax___syntax_base___Variable___decl(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
218 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
219 if (UNTAG_Bool(REGB0
)) {
220 nit_abort("Reciever is null", NULL
, LOCATE_syntax___scope
, 64);
222 fra
.me
.REG
[2] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
223 fra
.me
.REG
[6] = CALL_syntax___syntax_base___Variable___decl(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
224 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
225 if (UNTAG_Bool(REGB0
)) {
226 nit_abort("Reciever is null", NULL
, LOCATE_syntax___scope
, 64);
228 fra
.me
.REG
[6] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
229 fra
.me
.REG
[6] = CALL_location___Location___relative_to(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
230 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
232 fra
.me
.REG
[6] = BOX_NativeString(".");
234 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB0
);
235 once_value_3
= fra
.me
.REG
[6];
236 register_static_object(&once_value_3
);
237 } else fra
.me
.REG
[6] = once_value_3
;
238 fra
.me
.REG
[6] = fra
.me
.REG
[6];
239 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[6]);
240 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
241 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4], fra
.me
.REG
[5]);
243 /* ./syntax//scope.nit:66 */
244 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
245 if (UNTAG_Bool(REGB0
)) {
247 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 66);
249 fra
.me
.REG
[5] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
250 fra
.me
.REG
[5] = CALL_standard___collection___abstract_collection___SequenceRead___last(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
251 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
252 if (UNTAG_Bool(REGB0
)) {
253 nit_abort("Reciever is null", NULL
, LOCATE_syntax___scope
, 66);
255 CALL_syntax___scope___ScopeBlock___add_variable(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
256 /* ./syntax//scope.nit:67 */
257 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____variables(fra
.me
.REG
[0])!=NIT_NULL
);
258 if (UNTAG_Bool(REGB0
)) {
260 nit_abort("Uninitialized attribute %s", "_variables", LOCATE_syntax___scope
, 67);
262 fra
.me
.REG
[0] = ATTR_syntax___scope___ScopeContext____variables(fra
.me
.REG
[0]);
263 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
264 stack_frame_head
= fra
.me
.prev
;
267 void syntax___scope___ScopeContext___push(val_t p0
, val_t p1
){
268 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
271 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
272 fra
.me
.file
= LOCATE_syntax___scope
;
274 fra
.me
.meth
= LOCATE_syntax___scope___ScopeContext___push
;
275 fra
.me
.has_broke
= 0;
277 fra
.me
.REG
[0] = NIT_NULL
;
278 fra
.me
.REG
[1] = NIT_NULL
;
281 /* ./syntax//scope.nit:73 */
282 fra
.me
.REG
[1] = NEW_ScopeBlock_syntax___scope___ScopeBlock___init(fra
.me
.REG
[1]);
283 /* ./syntax//scope.nit:74 */
284 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
285 if (UNTAG_Bool(REGB0
)) {
287 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 74);
289 fra
.me
.REG
[0] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
290 CALL_standard___collection___abstract_collection___Sequence___push(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
291 stack_frame_head
= fra
.me
.prev
;
294 void syntax___scope___ScopeContext___push_escapable(val_t p0
, val_t p1
, val_t p2
){
295 struct {struct stack_frame_t me
; val_t MORE_REG
[9];} fra
;
300 static val_t once_value_1
; /* Once value */
301 static val_t once_value_2
; /* Once value */
302 static val_t once_value_3
; /* Once value */
303 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
304 fra
.me
.file
= LOCATE_syntax___scope
;
306 fra
.me
.meth
= LOCATE_syntax___scope___ScopeContext___push_escapable
;
307 fra
.me
.has_broke
= 0;
308 fra
.me
.REG_size
= 10;
309 fra
.me
.REG
[0] = NIT_NULL
;
310 fra
.me
.REG
[1] = NIT_NULL
;
311 fra
.me
.REG
[2] = NIT_NULL
;
312 fra
.me
.REG
[3] = NIT_NULL
;
313 fra
.me
.REG
[4] = NIT_NULL
;
314 fra
.me
.REG
[5] = NIT_NULL
;
315 fra
.me
.REG
[6] = NIT_NULL
;
316 fra
.me
.REG
[7] = NIT_NULL
;
317 fra
.me
.REG
[8] = NIT_NULL
;
318 fra
.me
.REG
[9] = NIT_NULL
;
322 /* ./syntax//scope.nit:81 */
323 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
324 if (UNTAG_Bool(REGB0
)) {
326 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 81);
328 fra
.me
.REG
[3] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
329 CALL_standard___collection___abstract_collection___Sequence___push(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
330 /* ./syntax//scope.nit:82 */
331 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
332 if (UNTAG_Bool(REGB0
)) {
334 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
335 if (UNTAG_Bool(REGB1
)) {
336 REGB1
= TAG_Bool(false);
339 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
343 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
344 if (UNTAG_Bool(REGB0
)) {
345 /* ./syntax//scope.nit:83 */
346 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
347 if (UNTAG_Bool(REGB0
)) {
348 nit_abort("Reciever is null", NULL
, LOCATE_syntax___scope
, 83);
350 fra
.me
.REG
[3] = CALL_parser___parser_nodes___ALabel___n_id(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
351 fra
.me
.REG
[3] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
352 /* ./syntax//scope.nit:84 */
353 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____labels(fra
.me
.REG
[0])!=NIT_NULL
);
354 if (UNTAG_Bool(REGB0
)) {
356 nit_abort("Uninitialized attribute %s", "_labels", LOCATE_syntax___scope
, 84);
358 fra
.me
.REG
[4] = ATTR_syntax___scope___ScopeContext____labels(fra
.me
.REG
[0]);
359 /* ./../lib/standard//collection//array.nit:269 */
361 /* ./../lib/standard//collection//array.nit:270 */
362 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
363 if (UNTAG_Bool(REGB1
)) {
365 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
367 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
368 /* ./../lib/standard//collection//array.nit:271 */
369 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
370 /* ./../lib/standard//collection//array.nit:272 */
372 /* ./../lib/standard//collection//array.nit:24 */
373 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
374 if (UNTAG_Bool(REGB1
)) {
376 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
378 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
379 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
380 if (UNTAG_Bool(REGB2
)) {
382 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
384 /* ./../lib/standard//kernel.nit:232 */
385 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
386 /* ./../lib/standard//collection//array.nit:272 */
387 if (UNTAG_Bool(REGB1
)) {
388 /* ./../lib/standard//collection//array.nit:273 */
389 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
390 if (UNTAG_Bool(REGB1
)) {
391 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
393 /* ./../lib/standard//collection//array.nit:718 */
394 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
395 /* ./syntax//scope.nit:85 */
396 REGB1
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[6],fra
.me
.REG
[2]));
397 if (UNTAG_Bool(REGB1
)) {
399 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
400 if (UNTAG_Bool(REGB2
)) {
401 REGB2
= TAG_Bool(false);
404 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
408 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
409 if (UNTAG_Bool(REGB1
)) {
410 fra
.me
.REG
[7] = CALL_parser___parser_nodes___ALabel___n_id(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
411 fra
.me
.REG
[7] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
412 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[7]));
413 if (UNTAG_Bool(REGB1
)) {
415 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[7]);
419 REGB2
= TAG_Bool(false);
422 if (UNTAG_Bool(REGB1
)) {
423 /* ./syntax//scope.nit:86 */
424 fra
.me
.REG
[7] = CALL_syntax___scope___ScopeContext___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
426 fra
.me
.REG
[8] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
428 fra
.me
.REG
[9] = BOX_NativeString("Syntax error: label ");
430 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB1
);
431 once_value_1
= fra
.me
.REG
[9];
432 register_static_object(&once_value_1
);
433 } else fra
.me
.REG
[9] = once_value_1
;
434 fra
.me
.REG
[9] = fra
.me
.REG
[9];
435 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
436 fra
.me
.REG
[9] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
437 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
439 fra
.me
.REG
[9] = BOX_NativeString(" already defined at ");
441 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB1
);
442 once_value_2
= fra
.me
.REG
[9];
443 register_static_object(&once_value_2
);
444 } else fra
.me
.REG
[9] = once_value_2
;
445 fra
.me
.REG
[9] = fra
.me
.REG
[9];
446 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
447 fra
.me
.REG
[6] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
448 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
449 if (UNTAG_Bool(REGB1
)) {
450 nit_abort("Reciever is null", NULL
, LOCATE_syntax___scope
, 86);
452 fra
.me
.REG
[9] = CALL_parser___parser_nodes___ANode___location(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
453 fra
.me
.REG
[9] = CALL_location___Location___relative_to(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[9]);
454 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
456 fra
.me
.REG
[9] = BOX_NativeString(".");
458 fra
.me
.REG
[9] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[9], REGB1
);
459 once_value_3
= fra
.me
.REG
[9];
460 register_static_object(&once_value_3
);
461 } else fra
.me
.REG
[9] = once_value_3
;
462 fra
.me
.REG
[9] = fra
.me
.REG
[9];
463 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[8])(fra
.me
.REG
[8], fra
.me
.REG
[9]);
464 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
465 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[2], fra
.me
.REG
[8]);
466 /* ./syntax//scope.nit:87 */
469 /* ./../lib/standard//collection//array.nit:274 */
471 /* ./../lib/standard//kernel.nit:235 */
472 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
473 /* ./../lib/standard//collection//array.nit:274 */
476 /* ./../lib/standard//collection//array.nit:272 */
481 /* ./syntax//scope.nit:90 */
482 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____labels(fra
.me
.REG
[0])!=NIT_NULL
);
483 if (UNTAG_Bool(REGB0
)) {
485 nit_abort("Uninitialized attribute %s", "_labels", LOCATE_syntax___scope
, 90);
487 fra
.me
.REG
[0] = ATTR_syntax___scope___ScopeContext____labels(fra
.me
.REG
[0]);
488 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
489 /* ./syntax//scope.nit:91 */
490 ATTR_syntax___scope___EscapableBlock____lab(fra
.me
.REG
[1]) = fra
.me
.REG
[3];
493 stack_frame_head
= fra
.me
.prev
;
496 val_t
syntax___scope___ScopeContext___head(val_t p0
){
497 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
503 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
504 fra
.me
.file
= LOCATE_syntax___scope
;
506 fra
.me
.meth
= LOCATE_syntax___scope___ScopeContext___head
;
507 fra
.me
.has_broke
= 0;
509 fra
.me
.REG
[0] = NIT_NULL
;
510 fra
.me
.REG
[1] = NIT_NULL
;
512 /* ./syntax//scope.nit:98 */
513 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
514 if (UNTAG_Bool(REGB0
)) {
516 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 98);
518 fra
.me
.REG
[1] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
519 /* ./../lib/standard//collection//array.nit:24 */
520 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
521 if (UNTAG_Bool(REGB0
)) {
523 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
525 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
526 /* ./syntax//scope.nit:98 */
528 /* ./../lib/standard//kernel.nit:237 */
529 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
530 /* ./syntax//scope.nit:99 */
533 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
534 if (UNTAG_Bool(REGB2
)) {
536 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
538 /* ./../lib/standard//kernel.nit:233 */
539 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
540 /* ./syntax//scope.nit:99 */
541 if (UNTAG_Bool(REGB0
)) {
542 /* ./syntax//scope.nit:100 */
543 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
544 if (UNTAG_Bool(REGB0
)) {
546 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 100);
548 fra
.me
.REG
[1] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
549 /* ./../lib/standard//collection//array.nit:278 */
551 /* ./../lib/standard//collection//array.nit:280 */
553 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
554 if (UNTAG_Bool(REGB3
)) {
556 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
558 /* ./../lib/standard//kernel.nit:233 */
559 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB2
));
560 /* ./../lib/standard//collection//array.nit:280 */
561 if (UNTAG_Bool(REGB2
)) {
562 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
563 if (UNTAG_Bool(REGB2
)) {
565 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
567 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
568 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
569 if (UNTAG_Bool(REGB3
)) {
571 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
573 /* ./../lib/standard//kernel.nit:232 */
574 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
576 /* ./../lib/standard//collection//array.nit:280 */
577 REGB3
= TAG_Bool(false);
580 if (UNTAG_Bool(REGB2
)) {
582 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
584 /* ./../lib/standard//collection//array.nit:281 */
585 fra
.me
.REG
[1] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
586 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
587 if (UNTAG_Bool(REGB2
)) {
588 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
590 /* ./../lib/standard//collection//array.nit:718 */
591 fra
.me
.REG
[1] = ((Nit_NativeArray
)fra
.me
.REG
[1])->val
[UNTAG_Int(REGB0
)];
592 /* ./../lib/standard//collection//array.nit:281 */
595 /* ./syntax//scope.nit:101 */
596 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[1], COLOR_syntax___scope___EscapableBlock
, ID_syntax___scope___EscapableBlock
)) /*cast EscapableBlock*/;
597 if (UNTAG_Bool(REGB0
)) {
598 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[1], COLOR_syntax___scope___BreakOnlyEscapableBlock
, ID_syntax___scope___BreakOnlyEscapableBlock
)) /*cast BreakOnlyEscapableBlock*/;
599 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
601 REGB2
= TAG_Bool(false);
604 if (UNTAG_Bool(REGB0
)) {
607 /* ./syntax//scope.nit:102 */
609 /* ./../lib/standard//kernel.nit:237 */
610 REGB0
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
611 /* ./syntax//scope.nit:102 */
614 /* ./syntax//scope.nit:99 */
619 /* ./syntax//scope.nit:104 */
620 fra
.me
.REG
[1] = NIT_NULL
;
623 stack_frame_head
= fra
.me
.prev
;
624 return fra
.me
.REG
[1];
626 val_t
syntax___scope___ScopeContext___get_by_label(val_t p0
, val_t p1
){
627 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
633 static val_t once_value_4
; /* Once value */
634 static val_t once_value_5
; /* Once value */
635 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
636 fra
.me
.file
= LOCATE_syntax___scope
;
638 fra
.me
.meth
= LOCATE_syntax___scope___ScopeContext___get_by_label
;
639 fra
.me
.has_broke
= 0;
641 fra
.me
.REG
[0] = NIT_NULL
;
642 fra
.me
.REG
[1] = NIT_NULL
;
643 fra
.me
.REG
[2] = NIT_NULL
;
644 fra
.me
.REG
[3] = NIT_NULL
;
645 fra
.me
.REG
[4] = NIT_NULL
;
646 fra
.me
.REG
[5] = NIT_NULL
;
649 /* ./syntax//scope.nit:111 */
650 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
651 if (UNTAG_Bool(REGB0
)) {
653 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 111);
655 fra
.me
.REG
[2] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
656 /* ./../lib/standard//collection//array.nit:24 */
657 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
658 if (UNTAG_Bool(REGB0
)) {
660 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
662 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
663 /* ./syntax//scope.nit:111 */
665 /* ./../lib/standard//kernel.nit:237 */
666 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
667 /* ./syntax//scope.nit:112 */
668 fra
.me
.REG
[2] = CALL_parser___parser_nodes___ALabel___n_id(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
669 fra
.me
.REG
[2] = CALL_syntax___syntax_base___Token___to_symbol(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
670 /* ./syntax//scope.nit:113 */
673 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
674 if (UNTAG_Bool(REGB2
)) {
676 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
678 /* ./../lib/standard//kernel.nit:233 */
679 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB0
));
680 /* ./syntax//scope.nit:113 */
681 if (UNTAG_Bool(REGB0
)) {
682 /* ./syntax//scope.nit:114 */
683 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
684 if (UNTAG_Bool(REGB0
)) {
686 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 114);
688 fra
.me
.REG
[3] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
689 /* ./../lib/standard//collection//array.nit:278 */
691 /* ./../lib/standard//collection//array.nit:280 */
693 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
694 if (UNTAG_Bool(REGB3
)) {
696 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
698 /* ./../lib/standard//kernel.nit:233 */
699 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB2
));
700 /* ./../lib/standard//collection//array.nit:280 */
701 if (UNTAG_Bool(REGB2
)) {
702 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
703 if (UNTAG_Bool(REGB2
)) {
705 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
707 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
708 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
709 if (UNTAG_Bool(REGB3
)) {
711 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
713 /* ./../lib/standard//kernel.nit:232 */
714 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
716 /* ./../lib/standard//collection//array.nit:280 */
717 REGB3
= TAG_Bool(false);
720 if (UNTAG_Bool(REGB2
)) {
722 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 280);
724 /* ./../lib/standard//collection//array.nit:281 */
725 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
726 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
727 if (UNTAG_Bool(REGB2
)) {
728 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
730 /* ./../lib/standard//collection//array.nit:718 */
731 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB0
)];
732 /* ./../lib/standard//collection//array.nit:281 */
735 /* ./syntax//scope.nit:115 */
736 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[3], COLOR_syntax___scope___EscapableBlock
, ID_syntax___scope___EscapableBlock
)) /*cast EscapableBlock*/;
737 if (UNTAG_Bool(REGB0
)) {
738 fra
.me
.REG
[4] = CALL_syntax___scope___EscapableBlock___lab(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
739 REGB0
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[2],fra
.me
.REG
[4]));
740 if (UNTAG_Bool(REGB0
)) {
742 REGB2
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
743 if (UNTAG_Bool(REGB2
)) {
744 REGB2
= TAG_Bool(false);
747 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
752 REGB2
= TAG_Bool(false);
755 if (UNTAG_Bool(REGB0
)) {
758 /* ./syntax//scope.nit:116 */
760 /* ./../lib/standard//kernel.nit:237 */
761 REGB0
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
762 /* ./syntax//scope.nit:116 */
765 /* ./syntax//scope.nit:113 */
770 /* ./syntax//scope.nit:118 */
771 fra
.me
.REG
[0] = CALL_syntax___scope___ScopeContext___visitor(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
773 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
775 fra
.me
.REG
[5] = BOX_NativeString("Syntax error: invalid label ");
777 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
778 once_value_4
= fra
.me
.REG
[5];
779 register_static_object(&once_value_4
);
780 } else fra
.me
.REG
[5] = once_value_4
;
781 fra
.me
.REG
[5] = fra
.me
.REG
[5];
782 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
783 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
784 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
786 fra
.me
.REG
[2] = BOX_NativeString(".");
788 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB1
);
789 once_value_5
= fra
.me
.REG
[2];
790 register_static_object(&once_value_5
);
791 } else fra
.me
.REG
[2] = once_value_5
;
792 fra
.me
.REG
[2] = fra
.me
.REG
[2];
793 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
794 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
795 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[4]);
796 /* ./syntax//scope.nit:119 */
797 fra
.me
.REG
[3] = NIT_NULL
;
800 stack_frame_head
= fra
.me
.prev
;
801 return fra
.me
.REG
[3];
803 void syntax___scope___ScopeContext___pop(val_t p0
){
804 struct {struct stack_frame_t me
;} fra
;
807 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
808 fra
.me
.file
= LOCATE_syntax___scope
;
810 fra
.me
.meth
= LOCATE_syntax___scope___ScopeContext___pop
;
811 fra
.me
.has_broke
= 0;
813 fra
.me
.REG
[0] = NIT_NULL
;
815 /* ./syntax//scope.nit:125 */
816 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0])!=NIT_NULL
);
817 if (UNTAG_Bool(REGB0
)) {
819 nit_abort("Uninitialized attribute %s", "_stack", LOCATE_syntax___scope
, 125);
821 fra
.me
.REG
[0] = ATTR_syntax___scope___ScopeContext____stack(fra
.me
.REG
[0]);
822 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Sequence___pop(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
823 stack_frame_head
= fra
.me
.prev
;
826 val_t
syntax___scope___ScopeContext___visitor(val_t p0
){
827 struct {struct stack_frame_t me
;} fra
;
830 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
831 fra
.me
.file
= LOCATE_syntax___scope
;
833 fra
.me
.meth
= LOCATE_syntax___scope___ScopeContext___visitor
;
834 fra
.me
.has_broke
= 0;
836 fra
.me
.REG
[0] = NIT_NULL
;
838 /* ./syntax//scope.nit:128 */
839 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeContext____visitor(fra
.me
.REG
[0])!=NIT_NULL
);
840 if (UNTAG_Bool(REGB0
)) {
842 nit_abort("Uninitialized attribute %s", "_visitor", LOCATE_syntax___scope
, 128);
844 fra
.me
.REG
[0] = ATTR_syntax___scope___ScopeContext____visitor(fra
.me
.REG
[0]);
845 stack_frame_head
= fra
.me
.prev
;
846 return fra
.me
.REG
[0];
848 void syntax___scope___ScopeContext___init(val_t p0
, val_t p1
, int* init_table
){
849 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___scope___ScopeContext
].i
;
850 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
852 if (init_table
[itpos0
]) return;
853 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
854 fra
.me
.file
= LOCATE_syntax___scope
;
856 fra
.me
.meth
= LOCATE_syntax___scope___ScopeContext___init
;
857 fra
.me
.has_broke
= 0;
859 fra
.me
.REG
[0] = NIT_NULL
;
860 fra
.me
.REG
[1] = NIT_NULL
;
863 /* ./syntax//scope.nit:131 */
864 ATTR_syntax___scope___ScopeContext____visitor(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
865 stack_frame_head
= fra
.me
.prev
;
866 init_table
[itpos0
] = 1;
869 val_t
syntax___scope___ScopeBlock___node(val_t p0
){
870 struct {struct stack_frame_t me
;} fra
;
873 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
874 fra
.me
.file
= LOCATE_syntax___scope
;
876 fra
.me
.meth
= LOCATE_syntax___scope___ScopeBlock___node
;
877 fra
.me
.has_broke
= 0;
879 fra
.me
.REG
[0] = NIT_NULL
;
881 /* ./syntax//scope.nit:140 */
882 REGB0
= TAG_Bool(ATTR_syntax___scope___ScopeBlock____node(fra
.me
.REG
[0])!=NIT_NULL
);
883 if (UNTAG_Bool(REGB0
)) {
885 nit_abort("Uninitialized attribute %s", "_node", LOCATE_syntax___scope
, 140);
887 fra
.me
.REG
[0] = ATTR_syntax___scope___ScopeBlock____node(fra
.me
.REG
[0]);
888 stack_frame_head
= fra
.me
.prev
;
889 return fra
.me
.REG
[0];
891 void syntax___scope___ScopeBlock___add_variable(val_t p0
, val_t p1
){
892 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
896 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
897 fra
.me
.file
= LOCATE_syntax___scope
;
899 fra
.me
.meth
= LOCATE_syntax___scope___ScopeBlock___add_variable
;
900 fra
.me
.has_broke
= 0;
902 fra
.me
.REG
[0] = NIT_NULL
;
903 fra
.me
.REG
[1] = NIT_NULL
;
904 fra
.me
.REG
[2] = NIT_NULL
;
905 fra
.me
.REG
[3] = NIT_NULL
;
908 /* ./syntax//scope.nit:149 */
909 fra
.me
.REG
[2] = ATTR_syntax___scope___ScopeBlock____dico(fra
.me
.REG
[0]);
910 /* ./syntax//scope.nit:150 */
911 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
912 if (UNTAG_Bool(REGB0
)) {
914 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
915 if (UNTAG_Bool(REGB1
)) {
916 REGB1
= TAG_Bool(false);
919 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
923 if (UNTAG_Bool(REGB0
)) {
924 /* ./syntax//scope.nit:151 */
925 fra
.me
.REG
[3] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
926 fra
.me
.REG
[2] = fra
.me
.REG
[3];
927 /* ./syntax//scope.nit:152 */
928 ATTR_syntax___scope___ScopeBlock____dico(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
930 /* ./syntax//scope.nit:154 */
931 fra
.me
.REG
[0] = CALL_syntax___syntax_base___Variable___name(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
932 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
933 if (UNTAG_Bool(REGB0
)) {
934 nit_abort("Reciever is null", NULL
, LOCATE_syntax___scope
, 154);
936 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0], fra
.me
.REG
[1]);
937 stack_frame_head
= fra
.me
.prev
;
940 val_t
syntax___scope___ScopeBlock___get_variable(val_t p0
, val_t p1
){
941 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
945 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
946 fra
.me
.file
= LOCATE_syntax___scope
;
948 fra
.me
.meth
= LOCATE_syntax___scope___ScopeBlock___get_variable
;
949 fra
.me
.has_broke
= 0;
951 fra
.me
.REG
[0] = NIT_NULL
;
952 fra
.me
.REG
[1] = NIT_NULL
;
953 fra
.me
.REG
[2] = NIT_NULL
;
956 /* ./syntax//scope.nit:159 */
957 fra
.me
.REG
[0] = ATTR_syntax___scope___ScopeBlock____dico(fra
.me
.REG
[0]);
958 /* ./syntax//scope.nit:160 */
959 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
960 if (UNTAG_Bool(REGB0
)) {
962 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
963 if (UNTAG_Bool(REGB1
)) {
964 REGB1
= TAG_Bool(false);
967 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
971 if (UNTAG_Bool(REGB0
)) {
972 fra
.me
.REG
[2] = NIT_NULL
;
975 /* ./syntax//scope.nit:161 */
976 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
977 if (UNTAG_Bool(REGB0
)) {
978 nit_abort("Reciever is null", NULL
, LOCATE_syntax___scope
, 161);
980 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
981 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
982 if (UNTAG_Bool(REGB0
)) {
983 fra
.me
.REG
[2] = NIT_NULL
;
986 /* ./syntax//scope.nit:162 */
987 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
988 if (UNTAG_Bool(REGB0
)) {
989 nit_abort("Reciever is null", NULL
, LOCATE_syntax___scope
, 162);
991 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
992 fra
.me
.REG
[2] = fra
.me
.REG
[1];
995 stack_frame_head
= fra
.me
.prev
;
996 return fra
.me
.REG
[2];
998 void syntax___scope___ScopeBlock___init(val_t p0
, val_t p1
, int* init_table
){
999 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___scope___ScopeBlock
].i
;
1000 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1002 if (init_table
[itpos1
]) return;
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___init
;
1007 fra
.me
.has_broke
= 0;
1008 fra
.me
.REG_size
= 2;
1009 fra
.me
.REG
[0] = NIT_NULL
;
1010 fra
.me
.REG
[1] = NIT_NULL
;
1013 /* ./syntax//scope.nit:167 */
1014 ATTR_syntax___scope___ScopeBlock____node(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1015 stack_frame_head
= fra
.me
.prev
;
1016 init_table
[itpos1
] = 1;
1019 val_t
syntax___scope___EscapableBlock___lab(val_t p0
){
1020 struct {struct stack_frame_t me
;} fra
;
1022 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1023 fra
.me
.file
= LOCATE_syntax___scope
;
1025 fra
.me
.meth
= LOCATE_syntax___scope___EscapableBlock___lab
;
1026 fra
.me
.has_broke
= 0;
1027 fra
.me
.REG_size
= 1;
1028 fra
.me
.REG
[0] = NIT_NULL
;
1030 /* ./syntax//scope.nit:178 */
1031 fra
.me
.REG
[0] = ATTR_syntax___scope___EscapableBlock____lab(fra
.me
.REG
[0]);
1032 stack_frame_head
= fra
.me
.prev
;
1033 return fra
.me
.REG
[0];
1035 val_t
syntax___scope___EscapableBlock___is_break_block(val_t p0
){
1036 struct {struct stack_frame_t me
;} fra
;
1039 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1040 fra
.me
.file
= LOCATE_syntax___scope
;
1042 fra
.me
.meth
= LOCATE_syntax___scope___EscapableBlock___is_break_block
;
1043 fra
.me
.has_broke
= 0;
1044 fra
.me
.REG_size
= 1;
1045 fra
.me
.REG
[0] = NIT_NULL
;
1047 /* ./syntax//scope.nit:183 */
1048 REGB0
= TAG_Bool(false);
1051 stack_frame_head
= fra
.me
.prev
;
1054 val_t
syntax___scope___EscapableBlock___break_list(val_t p0
){
1055 struct {struct stack_frame_t me
;} fra
;
1057 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1058 fra
.me
.file
= LOCATE_syntax___scope
;
1060 fra
.me
.meth
= LOCATE_syntax___scope___EscapableBlock___break_list
;
1061 fra
.me
.has_broke
= 0;
1062 fra
.me
.REG_size
= 1;
1063 fra
.me
.REG
[0] = NIT_NULL
;
1065 /* ./syntax//scope.nit:188 */
1066 fra
.me
.REG
[0] = NIT_NULL
;
1069 stack_frame_head
= fra
.me
.prev
;
1070 return fra
.me
.REG
[0];
1072 val_t
syntax___scope___EscapableBlock___continue_stype(val_t p0
){
1073 struct {struct stack_frame_t me
;} fra
;
1075 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1076 fra
.me
.file
= LOCATE_syntax___scope
;
1078 fra
.me
.meth
= LOCATE_syntax___scope___EscapableBlock___continue_stype
;
1079 fra
.me
.has_broke
= 0;
1080 fra
.me
.REG_size
= 1;
1081 fra
.me
.REG
[0] = NIT_NULL
;
1083 /* ./syntax//scope.nit:191 */
1084 fra
.me
.REG
[0] = NIT_NULL
;
1087 stack_frame_head
= fra
.me
.prev
;
1088 return fra
.me
.REG
[0];
1090 val_t
syntax___scope___EscapableBlock___break_flow_contexts(val_t p0
){
1091 struct {struct stack_frame_t me
;} fra
;
1094 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1095 fra
.me
.file
= LOCATE_syntax___scope
;
1097 fra
.me
.meth
= LOCATE_syntax___scope___EscapableBlock___break_flow_contexts
;
1098 fra
.me
.has_broke
= 0;
1099 fra
.me
.REG_size
= 1;
1100 fra
.me
.REG
[0] = NIT_NULL
;
1102 /* ./syntax//scope.nit:193 */
1103 REGB0
= TAG_Bool(ATTR_syntax___scope___EscapableBlock____break_flow_contexts(fra
.me
.REG
[0])!=NIT_NULL
);
1104 if (UNTAG_Bool(REGB0
)) {
1106 nit_abort("Uninitialized attribute %s", "_break_flow_contexts", LOCATE_syntax___scope
, 193);
1108 fra
.me
.REG
[0] = ATTR_syntax___scope___EscapableBlock____break_flow_contexts(fra
.me
.REG
[0]);
1109 stack_frame_head
= fra
.me
.prev
;
1110 return fra
.me
.REG
[0];
1112 void syntax___scope___EscapableBlock___init(val_t p0
, val_t p1
, int* init_table
){
1113 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___scope___EscapableBlock
].i
;
1114 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1116 if (init_table
[itpos2
]) return;
1117 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1118 fra
.me
.file
= LOCATE_syntax___scope
;
1120 fra
.me
.meth
= LOCATE_syntax___scope___EscapableBlock___init
;
1121 fra
.me
.has_broke
= 0;
1122 fra
.me
.REG_size
= 2;
1123 fra
.me
.REG
[0] = NIT_NULL
;
1124 fra
.me
.REG
[1] = NIT_NULL
;
1127 /* ./syntax//scope.nit:198 */
1128 CALL_syntax___scope___ScopeBlock___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], init_table
);
1129 stack_frame_head
= fra
.me
.prev
;
1130 init_table
[itpos2
] = 1;
1133 val_t
syntax___scope___BreakOnlyEscapableBlock___is_break_block(val_t p0
){
1134 struct {struct stack_frame_t me
;} fra
;
1137 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1138 fra
.me
.file
= LOCATE_syntax___scope
;
1140 fra
.me
.meth
= LOCATE_syntax___scope___BreakOnlyEscapableBlock___is_break_block
;
1141 fra
.me
.has_broke
= 0;
1142 fra
.me
.REG_size
= 1;
1143 fra
.me
.REG
[0] = NIT_NULL
;
1145 /* ./syntax//scope.nit:205 */
1146 REGB0
= TAG_Bool(true);
1149 stack_frame_head
= fra
.me
.prev
;
1152 void syntax___scope___BreakOnlyEscapableBlock___init(val_t p0
, val_t p1
, int* init_table
){
1153 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___scope___BreakOnlyEscapableBlock
].i
;
1154 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1156 if (init_table
[itpos3
]) return;
1157 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1158 fra
.me
.file
= LOCATE_syntax___scope
;
1160 fra
.me
.meth
= LOCATE_syntax___scope___BreakOnlyEscapableBlock___init
;
1161 fra
.me
.has_broke
= 0;
1162 fra
.me
.REG_size
= 2;
1163 fra
.me
.REG
[0] = NIT_NULL
;
1164 fra
.me
.REG
[1] = NIT_NULL
;
1167 /* ./syntax//scope.nit:207 */
1168 CALL_syntax___scope___EscapableBlock___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], init_table
);
1169 stack_frame_head
= fra
.me
.prev
;
1170 init_table
[itpos3
] = 1;
1173 val_t
syntax___scope___EscapableClosure___closure(val_t p0
){
1174 struct {struct stack_frame_t me
;} fra
;
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___EscapableClosure___closure
;
1181 fra
.me
.has_broke
= 0;
1182 fra
.me
.REG_size
= 1;
1183 fra
.me
.REG
[0] = NIT_NULL
;
1185 /* ./syntax//scope.nit:213 */
1186 REGB0
= TAG_Bool(ATTR_syntax___scope___EscapableClosure____closure(fra
.me
.REG
[0])!=NIT_NULL
);
1187 if (UNTAG_Bool(REGB0
)) {
1189 nit_abort("Uninitialized attribute %s", "_closure", LOCATE_syntax___scope
, 213);
1191 fra
.me
.REG
[0] = ATTR_syntax___scope___EscapableClosure____closure(fra
.me
.REG
[0]);
1192 stack_frame_head
= fra
.me
.prev
;
1193 return fra
.me
.REG
[0];
1195 val_t
syntax___scope___EscapableClosure___is_break_block(val_t p0
){
1196 struct {struct stack_frame_t me
;} fra
;
1199 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1200 fra
.me
.file
= LOCATE_syntax___scope
;
1202 fra
.me
.meth
= LOCATE_syntax___scope___EscapableClosure___is_break_block
;
1203 fra
.me
.has_broke
= 0;
1204 fra
.me
.REG_size
= 1;
1205 fra
.me
.REG
[0] = NIT_NULL
;
1207 /* ./syntax//scope.nit:216 */
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
, 216);
1213 fra
.me
.REG
[0] = ATTR_syntax___scope___EscapableClosure____closure(fra
.me
.REG
[0]);
1214 REGB0
= CALL_metamodel___static_type___MMClosure___is_break(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1217 stack_frame_head
= fra
.me
.prev
;
1220 val_t
syntax___scope___EscapableClosure___break_list(val_t p0
){
1221 struct {struct stack_frame_t me
;} fra
;
1223 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1224 fra
.me
.file
= LOCATE_syntax___scope
;
1226 fra
.me
.meth
= LOCATE_syntax___scope___EscapableClosure___break_list
;
1227 fra
.me
.has_broke
= 0;
1228 fra
.me
.REG_size
= 1;
1229 fra
.me
.REG
[0] = NIT_NULL
;
1231 /* ./syntax//scope.nit:218 */
1232 fra
.me
.REG
[0] = ATTR_syntax___scope___EscapableClosure____break_list(fra
.me
.REG
[0]);
1233 stack_frame_head
= fra
.me
.prev
;
1234 return fra
.me
.REG
[0];
1236 val_t
syntax___scope___EscapableClosure___continue_stype(val_t p0
){
1237 struct {struct stack_frame_t me
;} fra
;
1240 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1241 fra
.me
.file
= LOCATE_syntax___scope
;
1243 fra
.me
.meth
= LOCATE_syntax___scope___EscapableClosure___continue_stype
;
1244 fra
.me
.has_broke
= 0;
1245 fra
.me
.REG_size
= 1;
1246 fra
.me
.REG
[0] = NIT_NULL
;
1248 /* ./syntax//scope.nit:220 */
1249 REGB0
= TAG_Bool(ATTR_syntax___scope___EscapableClosure____closure(fra
.me
.REG
[0])!=NIT_NULL
);
1250 if (UNTAG_Bool(REGB0
)) {
1252 nit_abort("Uninitialized attribute %s", "_closure", LOCATE_syntax___scope
, 220);
1254 fra
.me
.REG
[0] = ATTR_syntax___scope___EscapableClosure____closure(fra
.me
.REG
[0]);
1255 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMClosure___signature(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1256 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMSignature___return_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1259 stack_frame_head
= fra
.me
.prev
;
1260 return fra
.me
.REG
[0];
1262 void syntax___scope___EscapableClosure___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
1263 int itpos4
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_syntax___scope___EscapableClosure
].i
;
1264 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1266 if (init_table
[itpos4
]) return;
1267 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1268 fra
.me
.file
= LOCATE_syntax___scope
;
1270 fra
.me
.meth
= LOCATE_syntax___scope___EscapableClosure___init
;
1271 fra
.me
.has_broke
= 0;
1272 fra
.me
.REG_size
= 5;
1273 fra
.me
.REG
[0] = NIT_NULL
;
1274 fra
.me
.REG
[1] = NIT_NULL
;
1275 fra
.me
.REG
[2] = NIT_NULL
;
1276 fra
.me
.REG
[3] = NIT_NULL
;
1277 fra
.me
.REG
[4] = NIT_NULL
;
1282 /* ./syntax//scope.nit:222 */
1283 fra
.me
.REG
[4] = fra
.me
.REG
[0];
1284 /* ./syntax//scope.nit:224 */
1285 CALL_syntax___scope___EscapableBlock___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], init_table
);
1286 /* ./syntax//scope.nit:225 */
1287 ATTR_syntax___scope___EscapableClosure____closure(fra
.me
.REG
[4]) = fra
.me
.REG
[2];
1288 /* ./syntax//scope.nit:226 */
1289 ATTR_syntax___scope___EscapableClosure____break_list(fra
.me
.REG
[4]) = fra
.me
.REG
[3];
1290 stack_frame_head
= fra
.me
.prev
;
1291 init_table
[itpos4
] = 1;
1294 val_t
syntax___scope___AEscapeExpr___escapable(val_t p0
){
1295 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___AEscapeExpr___escapable
;
1301 fra
.me
.has_broke
= 0;
1302 fra
.me
.REG_size
= 1;
1303 fra
.me
.REG
[0] = NIT_NULL
;
1305 /* ./syntax//scope.nit:234 */
1306 fra
.me
.REG
[0] = ATTR_syntax___scope___AEscapeExpr____escapable(fra
.me
.REG
[0]);
1307 stack_frame_head
= fra
.me
.prev
;
1308 return fra
.me
.REG
[0];
1310 val_t
syntax___scope___AEscapeExpr___kwname(val_t p0
){
1311 struct {struct stack_frame_t me
;} fra
;
1313 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1314 fra
.me
.file
= LOCATE_syntax___scope
;
1316 fra
.me
.meth
= LOCATE_syntax___scope___AEscapeExpr___kwname
;
1317 fra
.me
.has_broke
= 0;
1318 fra
.me
.REG_size
= 0;
1319 /* ./syntax//scope.nit:237 */
1320 nit_abort("Deferred method called", NULL
, LOCATE_syntax___scope
, 237);
1321 stack_frame_head
= fra
.me
.prev
;
1324 val_t
syntax___scope___AEscapeExpr___compute_escapable_block(val_t p0
, val_t p1
){
1325 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1329 static val_t once_value_1
; /* Once value */
1330 static val_t once_value_2
; /* Once value */
1331 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1332 fra
.me
.file
= LOCATE_syntax___scope
;
1334 fra
.me
.meth
= LOCATE_syntax___scope___AEscapeExpr___compute_escapable_block
;
1335 fra
.me
.has_broke
= 0;
1336 fra
.me
.REG_size
= 5;
1337 fra
.me
.REG
[0] = NIT_NULL
;
1338 fra
.me
.REG
[1] = NIT_NULL
;
1339 fra
.me
.REG
[2] = NIT_NULL
;
1340 fra
.me
.REG
[3] = NIT_NULL
;
1341 fra
.me
.REG
[4] = NIT_NULL
;
1344 /* ./syntax//scope.nit:244 */
1345 fra
.me
.REG
[2] = CALL_parser___parser_nodes___ALabelable___n_label(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1346 /* ./syntax//scope.nit:245 */
1347 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1348 if (UNTAG_Bool(REGB0
)) {
1350 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1351 if (UNTAG_Bool(REGB1
)) {
1352 REGB1
= TAG_Bool(false);
1355 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1359 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1360 if (UNTAG_Bool(REGB0
)) {
1361 /* ./syntax//scope.nit:246 */
1362 fra
.me
.REG
[2] = CALL_syntax___scope___ScopeContext___get_by_label(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1364 /* ./syntax//scope.nit:248 */
1365 fra
.me
.REG
[3] = CALL_syntax___scope___ScopeContext___head(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1366 fra
.me
.REG
[2] = fra
.me
.REG
[3];
1367 /* ./syntax//scope.nit:249 */
1368 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1369 if (UNTAG_Bool(REGB0
)) {
1371 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1372 if (UNTAG_Bool(REGB1
)) {
1373 REGB1
= TAG_Bool(false);
1376 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1380 if (UNTAG_Bool(REGB0
)) {
1381 /* ./syntax//scope.nit:250 */
1382 fra
.me
.REG
[1] = CALL_syntax___scope___ScopeContext___visitor(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1384 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1385 if (!once_value_1
) {
1386 fra
.me
.REG
[4] = BOX_NativeString("Syntax Error: '");
1387 REGB0
= TAG_Int(15);
1388 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1389 once_value_1
= fra
.me
.REG
[4];
1390 register_static_object(&once_value_1
);
1391 } else fra
.me
.REG
[4] = once_value_1
;
1392 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1393 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1394 fra
.me
.REG
[4] = CALL_syntax___scope___AEscapeExpr___kwname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1395 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1396 if (!once_value_2
) {
1397 fra
.me
.REG
[4] = BOX_NativeString("' statment outside block.");
1398 REGB0
= TAG_Int(25);
1399 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1400 once_value_2
= fra
.me
.REG
[4];
1401 register_static_object(&once_value_2
);
1402 } else fra
.me
.REG
[4] = once_value_2
;
1403 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1404 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1405 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1406 CALL_syntax___syntax_base___AbsSyntaxVisitor___error(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[3]);
1409 /* ./syntax//scope.nit:253 */
1410 ATTR_syntax___scope___AEscapeExpr____escapable(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
1411 /* ./syntax//scope.nit:254 */
1414 stack_frame_head
= fra
.me
.prev
;
1415 return fra
.me
.REG
[2];
1417 val_t
syntax___scope___AContinueExpr___kwname(val_t p0
){
1418 struct {struct stack_frame_t me
;} fra
;
1421 static val_t once_value_1
; /* Once value */
1422 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1423 fra
.me
.file
= LOCATE_syntax___scope
;
1425 fra
.me
.meth
= LOCATE_syntax___scope___AContinueExpr___kwname
;
1426 fra
.me
.has_broke
= 0;
1427 fra
.me
.REG_size
= 1;
1428 fra
.me
.REG
[0] = NIT_NULL
;
1430 /* ./syntax//scope.nit:260 */
1431 if (!once_value_1
) {
1432 fra
.me
.REG
[0] = BOX_NativeString("continue");
1434 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1435 once_value_1
= fra
.me
.REG
[0];
1436 register_static_object(&once_value_1
);
1437 } else fra
.me
.REG
[0] = once_value_1
;
1438 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1441 stack_frame_head
= fra
.me
.prev
;
1442 return fra
.me
.REG
[0];
1444 val_t
syntax___scope___ABreakExpr___kwname(val_t p0
){
1445 struct {struct stack_frame_t me
;} fra
;
1448 static val_t once_value_1
; /* Once value */
1449 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1450 fra
.me
.file
= LOCATE_syntax___scope
;
1452 fra
.me
.meth
= LOCATE_syntax___scope___ABreakExpr___kwname
;
1453 fra
.me
.has_broke
= 0;
1454 fra
.me
.REG_size
= 1;
1455 fra
.me
.REG
[0] = NIT_NULL
;
1457 /* ./syntax//scope.nit:265 */
1458 if (!once_value_1
) {
1459 fra
.me
.REG
[0] = BOX_NativeString("break");
1461 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1462 once_value_1
= fra
.me
.REG
[0];
1463 register_static_object(&once_value_1
);
1464 } else fra
.me
.REG
[0] = once_value_1
;
1465 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1468 stack_frame_head
= fra
.me
.prev
;
1469 return fra
.me
.REG
[0];