Merge branch 'll-and-gg-operators' into wip
[nit.git] / c_src / parser_prod._sep.c
1 /* This C file is generated by NIT to compile module parser_prod. */
2 #include "parser_prod._sep.h"
3 val_t parser_prod___ANode___parent(val_t p0){
4 struct {struct stack_frame_t me;} fra;
5 val_t tmp;
6 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7 fra.me.file = LOCATE_parser_prod;
8 fra.me.line = 9;
9 fra.me.meth = LOCATE_parser_prod___ANode___parent;
10 fra.me.has_broke = 0;
11 fra.me.REG_size = 1;
12 fra.me.REG[0] = NIT_NULL;
13 fra.me.REG[0] = p0;
14 fra.me.REG[0] = ATTR_parser_prod___ANode____parent(fra.me.REG[0]);
15 /* ./parser//parser_prod.nit:9 */
16 stack_frame_head = fra.me.prev;
17 return fra.me.REG[0];
18 }
19 void parser_prod___ANode___parent__eq(val_t p0, val_t p1){
20 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
21 val_t tmp;
22 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23 fra.me.file = LOCATE_parser_prod;
24 fra.me.line = 9;
25 fra.me.meth = LOCATE_parser_prod___ANode___parent__eq;
26 fra.me.has_broke = 0;
27 fra.me.REG_size = 2;
28 fra.me.REG[0] = NIT_NULL;
29 fra.me.REG[1] = NIT_NULL;
30 fra.me.REG[0] = p0;
31 fra.me.REG[1] = p1;
32 /* ./parser//parser_prod.nit:9 */
33 ATTR_parser_prod___ANode____parent(fra.me.REG[0]) = fra.me.REG[1];
34 stack_frame_head = fra.me.prev;
35 return;
36 }
37 void parser_prod___ANode___remove_child(val_t p0, val_t p1){
38 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
39 val_t tmp;
40 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41 fra.me.file = LOCATE_parser_prod;
42 fra.me.line = 12;
43 fra.me.meth = LOCATE_parser_prod___ANode___remove_child;
44 fra.me.has_broke = 0;
45 fra.me.REG_size = 2;
46 fra.me.REG[0] = NIT_NULL;
47 fra.me.REG[1] = NIT_NULL;
48 fra.me.REG[0] = p0;
49 fra.me.REG[1] = p1;
50 /* ./parser//parser_prod.nit:15 */
51 CALL_parser_prod___ANode___replace_child(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], NIT_NULL);
52 stack_frame_head = fra.me.prev;
53 return;
54 }
55 void parser_prod___ANode___replace_child(val_t p0, val_t p1, val_t p2){
56 struct {struct stack_frame_t me;} fra;
57 val_t tmp;
58 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
59 fra.me.file = LOCATE_parser_prod;
60 fra.me.line = 18;
61 fra.me.meth = LOCATE_parser_prod___ANode___replace_child;
62 fra.me.has_broke = 0;
63 fra.me.REG_size = 0;
64 /* ./parser//parser_prod.nit:18 */
65 fprintf(stderr, "Deferred method called");
66 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 18);
67 nit_exit(1);
68 stack_frame_head = fra.me.prev;
69 return;
70 }
71 void parser_prod___ANode___replace_with(val_t p0, val_t p1){
72 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
73 val_t REGB0;
74 val_t REGB1;
75 val_t tmp;
76 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
77 fra.me.file = LOCATE_parser_prod;
78 fra.me.line = 21;
79 fra.me.meth = LOCATE_parser_prod___ANode___replace_with;
80 fra.me.has_broke = 0;
81 fra.me.REG_size = 3;
82 fra.me.REG[0] = NIT_NULL;
83 fra.me.REG[1] = NIT_NULL;
84 fra.me.REG[2] = NIT_NULL;
85 fra.me.REG[0] = p0;
86 fra.me.REG[1] = p1;
87 fra.me.REG[2] = ATTR_parser_prod___ANode____parent(fra.me.REG[0]);
88 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
89 /* ./parser//parser_prod.nit:24 */
90 if (UNTAG_Bool(REGB0)) {
91 } else {
92 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
93 if (UNTAG_Bool(REGB1)) {
94 REGB1 = TAG_Bool(false);
95 REGB0 = REGB1;
96 } else {
97 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
98 REGB0 = REGB1;
99 }
100 }
101 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
102 if (UNTAG_Bool(REGB0)) {
103 fra.me.REG[2] = ATTR_parser_prod___ANode____parent(fra.me.REG[0]);
104 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
105 /* ./parser//parser_prod.nit:25 */
106 if (UNTAG_Bool(REGB0)) {
107 fprintf(stderr, "Reciever is null");
108 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 25);
109 nit_exit(1);
110 }
111 CALL_parser_prod___ANode___replace_child(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0], fra.me.REG[1]);
112 }
113 stack_frame_head = fra.me.prev;
114 return;
115 }
116 void parser_prod___ANode___visit_all(val_t p0, val_t p1){
117 struct {struct stack_frame_t me;} fra;
118 val_t tmp;
119 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
120 fra.me.file = LOCATE_parser_prod;
121 fra.me.line = 29;
122 fra.me.meth = LOCATE_parser_prod___ANode___visit_all;
123 fra.me.has_broke = 0;
124 fra.me.REG_size = 0;
125 /* ./parser//parser_prod.nit:29 */
126 fprintf(stderr, "Deferred method called");
127 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 29);
128 nit_exit(1);
129 stack_frame_head = fra.me.prev;
130 return;
131 }
132 void parser_prod___ANode___visit_all_reverse(val_t p0, val_t p1){
133 struct {struct stack_frame_t me;} fra;
134 val_t tmp;
135 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
136 fra.me.file = LOCATE_parser_prod;
137 fra.me.line = 33;
138 fra.me.meth = LOCATE_parser_prod___ANode___visit_all_reverse;
139 fra.me.has_broke = 0;
140 fra.me.REG_size = 0;
141 /* ./parser//parser_prod.nit:33 */
142 fprintf(stderr, "Deferred method called");
143 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 33);
144 nit_exit(1);
145 stack_frame_head = fra.me.prev;
146 return;
147 }
148 void parser_prod___Token___replace_child(val_t p0, val_t p1, val_t p2){
149 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
150 val_t tmp;
151 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
152 fra.me.file = LOCATE_parser_prod;
153 fra.me.line = 41;
154 fra.me.meth = LOCATE_parser_prod___Token___replace_child;
155 fra.me.has_broke = 0;
156 fra.me.REG_size = 3;
157 fra.me.REG[0] = NIT_NULL;
158 fra.me.REG[1] = NIT_NULL;
159 fra.me.REG[2] = NIT_NULL;
160 fra.me.REG[0] = p0;
161 fra.me.REG[1] = p1;
162 fra.me.REG[2] = p2;
163 /* ./parser//parser_prod.nit:41 */
164 stack_frame_head = fra.me.prev;
165 return;
166 }
167 void parser_prod___Token___visit_all(val_t p0, val_t p1){
168 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
169 val_t tmp;
170 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
171 fra.me.file = LOCATE_parser_prod;
172 fra.me.line = 39;
173 fra.me.meth = LOCATE_parser_prod___Token___visit_all;
174 fra.me.has_broke = 0;
175 fra.me.REG_size = 2;
176 fra.me.REG[0] = NIT_NULL;
177 fra.me.REG[1] = NIT_NULL;
178 fra.me.REG[0] = p0;
179 fra.me.REG[1] = p1;
180 /* ./parser//parser_prod.nit:39 */
181 stack_frame_head = fra.me.prev;
182 return;
183 }
184 void parser_prod___Token___visit_all_reverse(val_t p0, val_t p1){
185 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
186 val_t tmp;
187 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
188 fra.me.file = LOCATE_parser_prod;
189 fra.me.line = 40;
190 fra.me.meth = LOCATE_parser_prod___Token___visit_all_reverse;
191 fra.me.has_broke = 0;
192 fra.me.REG_size = 2;
193 fra.me.REG[0] = NIT_NULL;
194 fra.me.REG[1] = NIT_NULL;
195 fra.me.REG[0] = p0;
196 fra.me.REG[1] = p1;
197 /* ./parser//parser_prod.nit:40 */
198 stack_frame_head = fra.me.prev;
199 return;
200 }
201 void parser_prod___Prod___replace_with(val_t p0, val_t p1){
202 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
203 val_t REGB0;
204 val_t tmp;
205 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
206 fra.me.file = LOCATE_parser_prod;
207 fra.me.line = 45;
208 fra.me.meth = LOCATE_parser_prod___Prod___replace_with;
209 fra.me.has_broke = 0;
210 fra.me.REG_size = 4;
211 fra.me.REG[0] = NIT_NULL;
212 fra.me.REG[1] = NIT_NULL;
213 fra.me.REG[2] = NIT_NULL;
214 fra.me.REG[3] = NIT_NULL;
215 fra.me.REG[0] = p0;
216 fra.me.REG[1] = p1;
217 fra.me.REG[2] = fra.me.REG[0];
218 fra.me.REG[3] = fra.me.REG[1];
219 /* ./parser//parser_prod.nit:47 */
220 CALL_SUPER_parser_prod___Prod___replace_with(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
221 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[3], COLOR_Prod, ID_Prod)) /*cast Prod*/;
222 /* ./parser//parser_prod.nit:48 */
223 if (UNTAG_Bool(REGB0)) {
224 } else {
225 fprintf(stderr, "Assert failed");
226 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 48);
227 nit_exit(1);
228 }
229 fra.me.REG[2] = CALL_parser_nodes___ANode___location(fra.me.REG[2])(fra.me.REG[2]);
230 /* ./parser//parser_prod.nit:49 */
231 CALL_parser_nodes___Prod___location__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
232 stack_frame_head = fra.me.prev;
233 return;
234 }
235 void parser_prod___Visitor___visit(val_t p0, val_t p1){
236 struct {struct stack_frame_t me;} fra;
237 val_t tmp;
238 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
239 fra.me.file = LOCATE_parser_prod;
240 fra.me.line = 55;
241 fra.me.meth = LOCATE_parser_prod___Visitor___visit;
242 fra.me.has_broke = 0;
243 fra.me.REG_size = 0;
244 /* ./parser//parser_prod.nit:55 */
245 fprintf(stderr, "Deferred method called");
246 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 55);
247 nit_exit(1);
248 stack_frame_head = fra.me.prev;
249 return;
250 }
251 void parser_prod___Visitor___enter_visit(val_t p0, val_t p1){
252 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
253 val_t tmp;
254 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
255 fra.me.file = LOCATE_parser_prod;
256 fra.me.line = 59;
257 fra.me.meth = LOCATE_parser_prod___Visitor___enter_visit;
258 fra.me.has_broke = 0;
259 fra.me.REG_size = 3;
260 fra.me.REG[0] = NIT_NULL;
261 fra.me.REG[1] = NIT_NULL;
262 fra.me.REG[2] = NIT_NULL;
263 fra.me.REG[0] = p0;
264 fra.me.REG[1] = p1;
265 fra.me.REG[2] = ATTR_parser_prod___Visitor____current_node(fra.me.REG[0]);
266 /* ./parser//parser_prod.nit:65 */
267 ATTR_parser_prod___Visitor____current_node(fra.me.REG[0]) = fra.me.REG[1];
268 /* ./parser//parser_prod.nit:66 */
269 CALL_parser_prod___Visitor___visit(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
270 /* ./parser//parser_prod.nit:67 */
271 ATTR_parser_prod___Visitor____current_node(fra.me.REG[0]) = fra.me.REG[2];
272 stack_frame_head = fra.me.prev;
273 return;
274 }
275 val_t parser_prod___Visitor___current_node(val_t p0){
276 struct {struct stack_frame_t me;} fra;
277 val_t tmp;
278 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
279 fra.me.file = LOCATE_parser_prod;
280 fra.me.line = 70;
281 fra.me.meth = LOCATE_parser_prod___Visitor___current_node;
282 fra.me.has_broke = 0;
283 fra.me.REG_size = 1;
284 fra.me.REG[0] = NIT_NULL;
285 fra.me.REG[0] = p0;
286 fra.me.REG[0] = ATTR_parser_prod___Visitor____current_node(fra.me.REG[0]);
287 /* ./parser//parser_prod.nit:70 */
288 stack_frame_head = fra.me.prev;
289 return fra.me.REG[0];
290 }
291 void parser_prod___Visitor___init(val_t p0, int* init_table){
292 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_Visitor].i;
293 struct {struct stack_frame_t me;} fra;
294 val_t tmp;
295 if (init_table[itpos0]) return;
296 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
297 fra.me.file = LOCATE_parser_prod;
298 fra.me.line = 0;
299 fra.me.meth = LOCATE_parser_prod___Visitor___init;
300 fra.me.has_broke = 0;
301 fra.me.REG_size = 0;
302 stack_frame_head = fra.me.prev;
303 init_table[itpos0] = 1;
304 return;
305 }
306 void parser_prod___AModule___n_packagedecl__eq(val_t p0, val_t p1){
307 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
308 val_t REGB0;
309 val_t REGB1;
310 val_t tmp;
311 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
312 fra.me.file = LOCATE_parser_prod;
313 fra.me.line = 75;
314 fra.me.meth = LOCATE_parser_prod___AModule___n_packagedecl__eq;
315 fra.me.has_broke = 0;
316 fra.me.REG_size = 2;
317 fra.me.REG[0] = NIT_NULL;
318 fra.me.REG[1] = NIT_NULL;
319 fra.me.REG[0] = p0;
320 fra.me.REG[1] = p1;
321 /* ./parser//parser_prod.nit:77 */
322 ATTR_parser_nodes___AModule____n_packagedecl(fra.me.REG[0]) = fra.me.REG[1];
323 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
324 /* ./parser//parser_prod.nit:78 */
325 if (UNTAG_Bool(REGB0)) {
326 } else {
327 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
328 if (UNTAG_Bool(REGB1)) {
329 REGB1 = TAG_Bool(false);
330 REGB0 = REGB1;
331 } else {
332 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
333 REGB0 = REGB1;
334 }
335 }
336 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
337 if (UNTAG_Bool(REGB0)) {
338 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
339 /* ./parser//parser_prod.nit:79 */
340 if (UNTAG_Bool(REGB0)) {
341 fprintf(stderr, "Reciever is null");
342 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 79);
343 nit_exit(1);
344 }
345 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
346 }
347 stack_frame_head = fra.me.prev;
348 return;
349 }
350 void parser_prod___AModule___replace_child(val_t p0, val_t p1, val_t p2){
351 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
352 val_t REGB0;
353 val_t REGB1;
354 val_t REGB2;
355 val_t tmp;
356 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
357 fra.me.file = LOCATE_parser_prod;
358 fra.me.line = 108;
359 fra.me.meth = LOCATE_parser_prod___AModule___replace_child;
360 fra.me.has_broke = 0;
361 fra.me.REG_size = 5;
362 fra.me.REG[0] = NIT_NULL;
363 fra.me.REG[1] = NIT_NULL;
364 fra.me.REG[2] = NIT_NULL;
365 fra.me.REG[3] = NIT_NULL;
366 fra.me.REG[4] = NIT_NULL;
367 fra.me.REG[0] = p0;
368 fra.me.REG[1] = p1;
369 fra.me.REG[2] = p2;
370 fra.me.REG[3] = ATTR_parser_nodes___AModule____n_packagedecl(fra.me.REG[0]);
371 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
372 /* ./parser//parser_prod.nit:110 */
373 if (UNTAG_Bool(REGB0)) {
374 } else {
375 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
376 if (UNTAG_Bool(REGB1)) {
377 REGB1 = TAG_Bool(false);
378 REGB0 = REGB1;
379 } else {
380 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
381 REGB0 = REGB1;
382 }
383 }
384 if (UNTAG_Bool(REGB0)) {
385 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
386 /* ./parser//parser_prod.nit:111 */
387 if (UNTAG_Bool(REGB0)) {
388 } else {
389 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
390 if (UNTAG_Bool(REGB1)) {
391 REGB1 = TAG_Bool(false);
392 REGB0 = REGB1;
393 } else {
394 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
395 REGB0 = REGB1;
396 }
397 }
398 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
399 if (UNTAG_Bool(REGB0)) {
400 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
401 /* ./parser//parser_prod.nit:112 */
402 if (UNTAG_Bool(REGB0)) {
403 fprintf(stderr, "Reciever is null");
404 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 112);
405 nit_exit(1);
406 }
407 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
408 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_APackagedecl, ID_APackagedecl)) /*cast APackagedecl*/;
409 /* ./parser//parser_prod.nit:113 */
410 if (UNTAG_Bool(REGB0)) {
411 } else {
412 fprintf(stderr, "Assert failed");
413 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 113);
414 nit_exit(1);
415 }
416 /* ./parser//parser_prod.nit:114 */
417 ATTR_parser_nodes___AModule____n_packagedecl(fra.me.REG[0]) = fra.me.REG[2];
418 } else {
419 /* ./parser//parser_prod.nit:116 */
420 ATTR_parser_nodes___AModule____n_packagedecl(fra.me.REG[0]) = NIT_NULL;
421 }
422 /* ./parser//parser_prod.nit:118 */
423 goto label1;
424 }
425 REGB0 = TAG_Int(0);
426 REGB1 = TAG_Bool(ATTR_parser_nodes___AModule____n_imports(fra.me.REG[0])!=NIT_NULL);
427 /* ./parser//parser_prod.nit:120 */
428 if (UNTAG_Bool(REGB1)) {
429 } else {
430 fprintf(stderr, "Uninitialized attribute %s", "_n_imports");
431 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 120);
432 nit_exit(1);
433 }
434 fra.me.REG[3] = ATTR_parser_nodes___AModule____n_imports(fra.me.REG[0]);
435 REGB1 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
436 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB0, REGB1);
437 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
438 while(1) {
439 REGB1 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
440 if (UNTAG_Bool(REGB1)) {
441 REGB1 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
442 REGB0 = TAG_Bool(ATTR_parser_nodes___AModule____n_imports(fra.me.REG[0])!=NIT_NULL);
443 /* ./parser//parser_prod.nit:121 */
444 if (UNTAG_Bool(REGB0)) {
445 } else {
446 fprintf(stderr, "Uninitialized attribute %s", "_n_imports");
447 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 121);
448 nit_exit(1);
449 }
450 fra.me.REG[4] = ATTR_parser_nodes___AModule____n_imports(fra.me.REG[0]);
451 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB1);
452 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[4]));
453 if (UNTAG_Bool(REGB0)) {
454 } else {
455 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
456 if (UNTAG_Bool(REGB2)) {
457 REGB2 = TAG_Bool(false);
458 REGB0 = REGB2;
459 } else {
460 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
461 REGB0 = REGB2;
462 }
463 }
464 if (UNTAG_Bool(REGB0)) {
465 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
466 /* ./parser//parser_prod.nit:122 */
467 if (UNTAG_Bool(REGB0)) {
468 } else {
469 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
470 if (UNTAG_Bool(REGB2)) {
471 REGB2 = TAG_Bool(false);
472 REGB0 = REGB2;
473 } else {
474 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
475 REGB0 = REGB2;
476 }
477 }
478 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
479 if (UNTAG_Bool(REGB0)) {
480 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AImport, ID_AImport)) /*cast AImport*/;
481 /* ./parser//parser_prod.nit:123 */
482 if (UNTAG_Bool(REGB0)) {
483 } else {
484 fprintf(stderr, "Assert failed");
485 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 123);
486 nit_exit(1);
487 }
488 REGB0 = TAG_Bool(ATTR_parser_nodes___AModule____n_imports(fra.me.REG[0])!=NIT_NULL);
489 /* ./parser//parser_prod.nit:124 */
490 if (UNTAG_Bool(REGB0)) {
491 } else {
492 fprintf(stderr, "Uninitialized attribute %s", "_n_imports");
493 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 124);
494 nit_exit(1);
495 }
496 fra.me.REG[4] = ATTR_parser_nodes___AModule____n_imports(fra.me.REG[0]);
497 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], REGB1, fra.me.REG[2]);
498 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
499 /* ./parser//parser_prod.nit:125 */
500 if (UNTAG_Bool(REGB0)) {
501 fprintf(stderr, "Reciever is null");
502 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 125);
503 nit_exit(1);
504 }
505 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
506 } else {
507 REGB0 = TAG_Bool(ATTR_parser_nodes___AModule____n_imports(fra.me.REG[0])!=NIT_NULL);
508 /* ./parser//parser_prod.nit:127 */
509 if (UNTAG_Bool(REGB0)) {
510 } else {
511 fprintf(stderr, "Uninitialized attribute %s", "_n_imports");
512 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 127);
513 nit_exit(1);
514 }
515 fra.me.REG[4] = ATTR_parser_nodes___AModule____n_imports(fra.me.REG[0]);
516 CALL_abstract_collection___Map___remove_at(fra.me.REG[4])(fra.me.REG[4], REGB1);
517 }
518 /* ./parser//parser_prod.nit:129 */
519 goto label1;
520 }
521 } else {
522 /* ./parser//parser_prod.nit:120 */
523 goto label2;
524 }
525 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
526 }
527 label2: while(0);
528 REGB1 = TAG_Int(0);
529 REGB0 = TAG_Bool(ATTR_parser_nodes___AModule____n_classdefs(fra.me.REG[0])!=NIT_NULL);
530 /* ./parser//parser_prod.nit:132 */
531 if (UNTAG_Bool(REGB0)) {
532 } else {
533 fprintf(stderr, "Uninitialized attribute %s", "_n_classdefs");
534 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 132);
535 nit_exit(1);
536 }
537 fra.me.REG[3] = ATTR_parser_nodes___AModule____n_classdefs(fra.me.REG[0]);
538 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
539 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB1, REGB0);
540 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
541 while(1) {
542 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
543 if (UNTAG_Bool(REGB0)) {
544 REGB0 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
545 REGB1 = TAG_Bool(ATTR_parser_nodes___AModule____n_classdefs(fra.me.REG[0])!=NIT_NULL);
546 /* ./parser//parser_prod.nit:133 */
547 if (UNTAG_Bool(REGB1)) {
548 } else {
549 fprintf(stderr, "Uninitialized attribute %s", "_n_classdefs");
550 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 133);
551 nit_exit(1);
552 }
553 fra.me.REG[4] = ATTR_parser_nodes___AModule____n_classdefs(fra.me.REG[0]);
554 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB0);
555 REGB1 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[4]));
556 if (UNTAG_Bool(REGB1)) {
557 } else {
558 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
559 if (UNTAG_Bool(REGB2)) {
560 REGB2 = TAG_Bool(false);
561 REGB1 = REGB2;
562 } else {
563 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
564 REGB1 = REGB2;
565 }
566 }
567 if (UNTAG_Bool(REGB1)) {
568 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
569 /* ./parser//parser_prod.nit:134 */
570 if (UNTAG_Bool(REGB1)) {
571 } else {
572 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
573 if (UNTAG_Bool(REGB2)) {
574 REGB2 = TAG_Bool(false);
575 REGB1 = REGB2;
576 } else {
577 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
578 REGB1 = REGB2;
579 }
580 }
581 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
582 if (UNTAG_Bool(REGB1)) {
583 REGB1 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast AClassdef*/;
584 /* ./parser//parser_prod.nit:135 */
585 if (UNTAG_Bool(REGB1)) {
586 } else {
587 fprintf(stderr, "Assert failed");
588 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 135);
589 nit_exit(1);
590 }
591 REGB1 = TAG_Bool(ATTR_parser_nodes___AModule____n_classdefs(fra.me.REG[0])!=NIT_NULL);
592 /* ./parser//parser_prod.nit:136 */
593 if (UNTAG_Bool(REGB1)) {
594 } else {
595 fprintf(stderr, "Uninitialized attribute %s", "_n_classdefs");
596 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 136);
597 nit_exit(1);
598 }
599 fra.me.REG[4] = ATTR_parser_nodes___AModule____n_classdefs(fra.me.REG[0]);
600 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], REGB0, fra.me.REG[2]);
601 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
602 /* ./parser//parser_prod.nit:137 */
603 if (UNTAG_Bool(REGB1)) {
604 fprintf(stderr, "Reciever is null");
605 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 137);
606 nit_exit(1);
607 }
608 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
609 } else {
610 REGB1 = TAG_Bool(ATTR_parser_nodes___AModule____n_classdefs(fra.me.REG[0])!=NIT_NULL);
611 /* ./parser//parser_prod.nit:139 */
612 if (UNTAG_Bool(REGB1)) {
613 } else {
614 fprintf(stderr, "Uninitialized attribute %s", "_n_classdefs");
615 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 139);
616 nit_exit(1);
617 }
618 fra.me.REG[4] = ATTR_parser_nodes___AModule____n_classdefs(fra.me.REG[0]);
619 CALL_abstract_collection___Map___remove_at(fra.me.REG[4])(fra.me.REG[4], REGB0);
620 }
621 /* ./parser//parser_prod.nit:141 */
622 goto label1;
623 }
624 } else {
625 /* ./parser//parser_prod.nit:132 */
626 goto label3;
627 }
628 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
629 }
630 label3: while(0);
631 label1: while(0);
632 stack_frame_head = fra.me.prev;
633 return;
634 }
635 void parser_prod___AModule___visit_all(val_t p0, val_t p1){
636 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
637 val_t REGB0;
638 val_t REGB1;
639 val_t tmp;
640 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
641 fra.me.file = LOCATE_parser_prod;
642 fra.me.line = 146;
643 fra.me.meth = LOCATE_parser_prod___AModule___visit_all;
644 fra.me.has_broke = 0;
645 fra.me.REG_size = 4;
646 fra.me.REG[0] = NIT_NULL;
647 fra.me.REG[1] = NIT_NULL;
648 fra.me.REG[2] = NIT_NULL;
649 fra.me.REG[3] = NIT_NULL;
650 fra.me.REG[0] = p0;
651 fra.me.REG[1] = p1;
652 fra.me.REG[2] = ATTR_parser_nodes___AModule____n_packagedecl(fra.me.REG[0]);
653 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
654 /* ./parser//parser_prod.nit:148 */
655 if (UNTAG_Bool(REGB0)) {
656 } else {
657 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
658 if (UNTAG_Bool(REGB1)) {
659 REGB1 = TAG_Bool(false);
660 REGB0 = REGB1;
661 } else {
662 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
663 REGB0 = REGB1;
664 }
665 }
666 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
667 if (UNTAG_Bool(REGB0)) {
668 fra.me.REG[2] = ATTR_parser_nodes___AModule____n_packagedecl(fra.me.REG[0]);
669 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_APackagedecl, ID_APackagedecl)) /*cast APackagedecl*/;
670 /* ./parser//parser_prod.nit:149 */
671 if (UNTAG_Bool(REGB0)) {
672 } else {
673 fprintf(stderr, "Cast failed");
674 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 149);
675 nit_exit(1);
676 }
677 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
678 }
679 REGB0 = TAG_Bool(ATTR_parser_nodes___AModule____n_imports(fra.me.REG[0])!=NIT_NULL);
680 /* ./parser//parser_prod.nit:151 */
681 if (UNTAG_Bool(REGB0)) {
682 } else {
683 fprintf(stderr, "Uninitialized attribute %s", "_n_imports");
684 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 151);
685 nit_exit(1);
686 }
687 fra.me.REG[2] = ATTR_parser_nodes___AModule____n_imports(fra.me.REG[0]);
688 fra.me.REG[2] = CALL_abstract_collection___Collection___iterator(fra.me.REG[2])(fra.me.REG[2]);
689 while(1) {
690 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[2])(fra.me.REG[2]);
691 if (UNTAG_Bool(REGB0)) {
692 fra.me.REG[3] = CALL_abstract_collection___Iterator___item(fra.me.REG[2])(fra.me.REG[2]);
693 /* ./parser//parser_prod.nit:152 */
694 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
695 } else {
696 /* ./parser//parser_prod.nit:151 */
697 goto label1;
698 }
699 CALL_abstract_collection___Iterator___next(fra.me.REG[2])(fra.me.REG[2]);
700 }
701 label1: while(0);
702 REGB0 = TAG_Bool(ATTR_parser_nodes___AModule____n_classdefs(fra.me.REG[0])!=NIT_NULL);
703 /* ./parser//parser_prod.nit:154 */
704 if (UNTAG_Bool(REGB0)) {
705 } else {
706 fprintf(stderr, "Uninitialized attribute %s", "_n_classdefs");
707 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 154);
708 nit_exit(1);
709 }
710 fra.me.REG[0] = ATTR_parser_nodes___AModule____n_classdefs(fra.me.REG[0]);
711 fra.me.REG[0] = CALL_abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
712 while(1) {
713 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
714 if (UNTAG_Bool(REGB0)) {
715 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
716 /* ./parser//parser_prod.nit:155 */
717 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
718 } else {
719 /* ./parser//parser_prod.nit:154 */
720 goto label2;
721 }
722 CALL_abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
723 }
724 label2: while(0);
725 stack_frame_head = fra.me.prev;
726 return;
727 }
728 void parser_prod___AModule___visit_all_reverse(val_t p0, val_t p1){
729 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
730 val_t REGB0;
731 val_t REGB1;
732 val_t tmp;
733 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
734 fra.me.file = LOCATE_parser_prod;
735 fra.me.line = 159;
736 fra.me.meth = LOCATE_parser_prod___AModule___visit_all_reverse;
737 fra.me.has_broke = 0;
738 fra.me.REG_size = 3;
739 fra.me.REG[0] = NIT_NULL;
740 fra.me.REG[1] = NIT_NULL;
741 fra.me.REG[2] = NIT_NULL;
742 fra.me.REG[0] = p0;
743 fra.me.REG[1] = p1;
744 fra.me.REG[2] = ATTR_parser_nodes___AModule____n_packagedecl(fra.me.REG[0]);
745 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
746 /* ./parser//parser_prod.nit:161 */
747 if (UNTAG_Bool(REGB0)) {
748 } else {
749 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
750 if (UNTAG_Bool(REGB1)) {
751 REGB1 = TAG_Bool(false);
752 REGB0 = REGB1;
753 } else {
754 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
755 REGB0 = REGB1;
756 }
757 }
758 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
759 if (UNTAG_Bool(REGB0)) {
760 fra.me.REG[2] = ATTR_parser_nodes___AModule____n_packagedecl(fra.me.REG[0]);
761 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_APackagedecl, ID_APackagedecl)) /*cast APackagedecl*/;
762 /* ./parser//parser_prod.nit:162 */
763 if (UNTAG_Bool(REGB0)) {
764 } else {
765 fprintf(stderr, "Cast failed");
766 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 162);
767 nit_exit(1);
768 }
769 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
770 }
771 REGB0 = TAG_Bool(ATTR_parser_nodes___AModule____n_imports(fra.me.REG[0])!=NIT_NULL);
772 /* ./parser//parser_prod.nit:165 */
773 if (UNTAG_Bool(REGB0)) {
774 } else {
775 fprintf(stderr, "Uninitialized attribute %s", "_n_imports");
776 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 165);
777 nit_exit(1);
778 }
779 fra.me.REG[2] = ATTR_parser_nodes___AModule____n_imports(fra.me.REG[0]);
780 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
781 /* ./parser//parser_prod.nit:166 */
782 while(1) {
783 REGB1 = TAG_Int(0);
784 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
785 /* ./parser//parser_prod.nit:166 */
786 if (UNTAG_Bool(REGB1)) {
787 REGB1 = TAG_Bool(ATTR_parser_nodes___AModule____n_imports(fra.me.REG[0])!=NIT_NULL);
788 /* ./parser//parser_prod.nit:167 */
789 if (UNTAG_Bool(REGB1)) {
790 } else {
791 fprintf(stderr, "Uninitialized attribute %s", "_n_imports");
792 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 167);
793 nit_exit(1);
794 }
795 fra.me.REG[2] = ATTR_parser_nodes___AModule____n_imports(fra.me.REG[0]);
796 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
797 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
798 REGB1 = TAG_Int(1);
799 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
800 REGB0 = REGB1;
801 /* ./parser//parser_prod.nit:168 */
802 } else {
803 /* ./parser//parser_prod.nit:166 */
804 goto label1;
805 }
806 }
807 label1: while(0);
808 REGB0 = TAG_Bool(ATTR_parser_nodes___AModule____n_classdefs(fra.me.REG[0])!=NIT_NULL);
809 /* ./parser//parser_prod.nit:172 */
810 if (UNTAG_Bool(REGB0)) {
811 } else {
812 fprintf(stderr, "Uninitialized attribute %s", "_n_classdefs");
813 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 172);
814 nit_exit(1);
815 }
816 fra.me.REG[2] = ATTR_parser_nodes___AModule____n_classdefs(fra.me.REG[0]);
817 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
818 /* ./parser//parser_prod.nit:173 */
819 while(1) {
820 REGB1 = TAG_Int(0);
821 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
822 /* ./parser//parser_prod.nit:173 */
823 if (UNTAG_Bool(REGB1)) {
824 REGB1 = TAG_Bool(ATTR_parser_nodes___AModule____n_classdefs(fra.me.REG[0])!=NIT_NULL);
825 /* ./parser//parser_prod.nit:174 */
826 if (UNTAG_Bool(REGB1)) {
827 } else {
828 fprintf(stderr, "Uninitialized attribute %s", "_n_classdefs");
829 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 174);
830 nit_exit(1);
831 }
832 fra.me.REG[2] = ATTR_parser_nodes___AModule____n_classdefs(fra.me.REG[0]);
833 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
834 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
835 REGB1 = TAG_Int(1);
836 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
837 REGB0 = REGB1;
838 /* ./parser//parser_prod.nit:175 */
839 } else {
840 /* ./parser//parser_prod.nit:173 */
841 goto label2;
842 }
843 }
844 label2: while(0);
845 stack_frame_head = fra.me.prev;
846 return;
847 }
848 void parser_prod___AModule___empty_init(val_t p0, int* init_table){
849 int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AModule].i;
850 struct {struct stack_frame_t me;} fra;
851 val_t tmp;
852 if (init_table[itpos1]) return;
853 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
854 fra.me.file = LOCATE_parser_prod;
855 fra.me.line = 83;
856 fra.me.meth = LOCATE_parser_prod___AModule___empty_init;
857 fra.me.has_broke = 0;
858 fra.me.REG_size = 1;
859 fra.me.REG[0] = NIT_NULL;
860 fra.me.REG[0] = p0;
861 /* ./parser//parser_prod.nit:83 */
862 stack_frame_head = fra.me.prev;
863 init_table[itpos1] = 1;
864 return;
865 }
866 void parser_prod___AModule___init_amodule(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
867 int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AModule].i;
868 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
869 val_t REGB0;
870 val_t REGB1;
871 val_t tmp;
872 if (init_table[itpos2]) return;
873 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
874 fra.me.file = LOCATE_parser_prod;
875 fra.me.line = 85;
876 fra.me.meth = LOCATE_parser_prod___AModule___init_amodule;
877 fra.me.has_broke = 0;
878 fra.me.REG_size = 5;
879 fra.me.REG[0] = NIT_NULL;
880 fra.me.REG[1] = NIT_NULL;
881 fra.me.REG[2] = NIT_NULL;
882 fra.me.REG[3] = NIT_NULL;
883 fra.me.REG[4] = NIT_NULL;
884 fra.me.REG[0] = p0;
885 fra.me.REG[1] = p1;
886 fra.me.REG[2] = p2;
887 fra.me.REG[3] = p3;
888 /* ./parser//parser_prod.nit:91 */
889 CALL_parser_prod___AModule___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
890 /* ./parser//parser_prod.nit:92 */
891 ATTR_parser_nodes___AModule____n_packagedecl(fra.me.REG[0]) = fra.me.REG[1];
892 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
893 /* ./parser//parser_prod.nit:93 */
894 if (UNTAG_Bool(REGB0)) {
895 } else {
896 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
897 if (UNTAG_Bool(REGB1)) {
898 REGB1 = TAG_Bool(false);
899 REGB0 = REGB1;
900 } else {
901 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
902 REGB0 = REGB1;
903 }
904 }
905 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
906 if (UNTAG_Bool(REGB0)) {
907 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
908 /* ./parser//parser_prod.nit:94 */
909 if (UNTAG_Bool(REGB0)) {
910 fprintf(stderr, "Reciever is null");
911 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 94);
912 nit_exit(1);
913 }
914 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
915 }
916 fra.me.REG[2] = CALL_abstract_collection___Collection___iterator(fra.me.REG[2])(fra.me.REG[2]);
917 /* ./parser//parser_prod.nit:96 */
918 while(1) {
919 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[2])(fra.me.REG[2]);
920 if (UNTAG_Bool(REGB0)) {
921 fra.me.REG[1] = CALL_abstract_collection___Iterator___item(fra.me.REG[2])(fra.me.REG[2]);
922 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[1], COLOR_AImport, ID_AImport)) /*cast AImport*/;
923 /* ./parser//parser_prod.nit:97 */
924 if (UNTAG_Bool(REGB0)) {
925 } else {
926 fprintf(stderr, "Assert failed");
927 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 97);
928 nit_exit(1);
929 }
930 REGB0 = TAG_Bool(ATTR_parser_nodes___AModule____n_imports(fra.me.REG[0])!=NIT_NULL);
931 /* ./parser//parser_prod.nit:98 */
932 if (UNTAG_Bool(REGB0)) {
933 } else {
934 fprintf(stderr, "Uninitialized attribute %s", "_n_imports");
935 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 98);
936 nit_exit(1);
937 }
938 fra.me.REG[4] = ATTR_parser_nodes___AModule____n_imports(fra.me.REG[0]);
939 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
940 /* ./parser//parser_prod.nit:99 */
941 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
942 } else {
943 /* ./parser//parser_prod.nit:96 */
944 goto label1;
945 }
946 CALL_abstract_collection___Iterator___next(fra.me.REG[2])(fra.me.REG[2]);
947 }
948 label1: while(0);
949 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
950 /* ./parser//parser_prod.nit:101 */
951 while(1) {
952 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
953 if (UNTAG_Bool(REGB0)) {
954 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
955 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_AClassdef, ID_AClassdef)) /*cast AClassdef*/;
956 /* ./parser//parser_prod.nit:102 */
957 if (UNTAG_Bool(REGB0)) {
958 } else {
959 fprintf(stderr, "Assert failed");
960 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 102);
961 nit_exit(1);
962 }
963 REGB0 = TAG_Bool(ATTR_parser_nodes___AModule____n_classdefs(fra.me.REG[0])!=NIT_NULL);
964 /* ./parser//parser_prod.nit:103 */
965 if (UNTAG_Bool(REGB0)) {
966 } else {
967 fprintf(stderr, "Uninitialized attribute %s", "_n_classdefs");
968 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 103);
969 nit_exit(1);
970 }
971 fra.me.REG[1] = ATTR_parser_nodes___AModule____n_classdefs(fra.me.REG[0]);
972 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
973 /* ./parser//parser_prod.nit:104 */
974 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
975 } else {
976 /* ./parser//parser_prod.nit:101 */
977 goto label2;
978 }
979 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
980 }
981 label2: while(0);
982 stack_frame_head = fra.me.prev;
983 init_table[itpos2] = 1;
984 return;
985 }
986 void parser_prod___APackagedecl___n_doc__eq(val_t p0, val_t p1){
987 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
988 val_t REGB0;
989 val_t REGB1;
990 val_t tmp;
991 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
992 fra.me.file = LOCATE_parser_prod;
993 fra.me.line = 181;
994 fra.me.meth = LOCATE_parser_prod___APackagedecl___n_doc__eq;
995 fra.me.has_broke = 0;
996 fra.me.REG_size = 2;
997 fra.me.REG[0] = NIT_NULL;
998 fra.me.REG[1] = NIT_NULL;
999 fra.me.REG[0] = p0;
1000 fra.me.REG[1] = p1;
1001 /* ./parser//parser_prod.nit:183 */
1002 ATTR_parser_nodes___APackagedecl____n_doc(fra.me.REG[0]) = fra.me.REG[1];
1003 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
1004 /* ./parser//parser_prod.nit:184 */
1005 if (UNTAG_Bool(REGB0)) {
1006 } else {
1007 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
1008 if (UNTAG_Bool(REGB1)) {
1009 REGB1 = TAG_Bool(false);
1010 REGB0 = REGB1;
1011 } else {
1012 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
1013 REGB0 = REGB1;
1014 }
1015 }
1016 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1017 if (UNTAG_Bool(REGB0)) {
1018 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
1019 /* ./parser//parser_prod.nit:185 */
1020 if (UNTAG_Bool(REGB0)) {
1021 fprintf(stderr, "Reciever is null");
1022 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 185);
1023 nit_exit(1);
1024 }
1025 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1026 }
1027 stack_frame_head = fra.me.prev;
1028 return;
1029 }
1030 void parser_prod___APackagedecl___n_kwpackage__eq(val_t p0, val_t p1){
1031 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1032 val_t tmp;
1033 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1034 fra.me.file = LOCATE_parser_prod;
1035 fra.me.line = 188;
1036 fra.me.meth = LOCATE_parser_prod___APackagedecl___n_kwpackage__eq;
1037 fra.me.has_broke = 0;
1038 fra.me.REG_size = 2;
1039 fra.me.REG[0] = NIT_NULL;
1040 fra.me.REG[1] = NIT_NULL;
1041 fra.me.REG[0] = p0;
1042 fra.me.REG[1] = p1;
1043 /* ./parser//parser_prod.nit:190 */
1044 ATTR_parser_nodes___APackagedecl____n_kwpackage(fra.me.REG[0]) = fra.me.REG[1];
1045 /* ./parser//parser_prod.nit:191 */
1046 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1047 stack_frame_head = fra.me.prev;
1048 return;
1049 }
1050 void parser_prod___APackagedecl___n_id__eq(val_t p0, val_t p1){
1051 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1052 val_t tmp;
1053 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1054 fra.me.file = LOCATE_parser_prod;
1055 fra.me.line = 193;
1056 fra.me.meth = LOCATE_parser_prod___APackagedecl___n_id__eq;
1057 fra.me.has_broke = 0;
1058 fra.me.REG_size = 2;
1059 fra.me.REG[0] = NIT_NULL;
1060 fra.me.REG[1] = NIT_NULL;
1061 fra.me.REG[0] = p0;
1062 fra.me.REG[1] = p1;
1063 /* ./parser//parser_prod.nit:195 */
1064 ATTR_parser_nodes___APackagedecl____n_id(fra.me.REG[0]) = fra.me.REG[1];
1065 /* ./parser//parser_prod.nit:196 */
1066 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1067 stack_frame_head = fra.me.prev;
1068 return;
1069 }
1070 void parser_prod___APackagedecl___replace_child(val_t p0, val_t p1, val_t p2){
1071 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1072 val_t REGB0;
1073 val_t REGB1;
1074 val_t tmp;
1075 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1076 fra.me.file = LOCATE_parser_prod;
1077 fra.me.line = 218;
1078 fra.me.meth = LOCATE_parser_prod___APackagedecl___replace_child;
1079 fra.me.has_broke = 0;
1080 fra.me.REG_size = 4;
1081 fra.me.REG[0] = NIT_NULL;
1082 fra.me.REG[1] = NIT_NULL;
1083 fra.me.REG[2] = NIT_NULL;
1084 fra.me.REG[3] = NIT_NULL;
1085 fra.me.REG[0] = p0;
1086 fra.me.REG[1] = p1;
1087 fra.me.REG[2] = p2;
1088 fra.me.REG[3] = ATTR_parser_nodes___APackagedecl____n_doc(fra.me.REG[0]);
1089 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
1090 /* ./parser//parser_prod.nit:220 */
1091 if (UNTAG_Bool(REGB0)) {
1092 } else {
1093 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
1094 if (UNTAG_Bool(REGB1)) {
1095 REGB1 = TAG_Bool(false);
1096 REGB0 = REGB1;
1097 } else {
1098 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
1099 REGB0 = REGB1;
1100 }
1101 }
1102 if (UNTAG_Bool(REGB0)) {
1103 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1104 /* ./parser//parser_prod.nit:221 */
1105 if (UNTAG_Bool(REGB0)) {
1106 } else {
1107 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1108 if (UNTAG_Bool(REGB1)) {
1109 REGB1 = TAG_Bool(false);
1110 REGB0 = REGB1;
1111 } else {
1112 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
1113 REGB0 = REGB1;
1114 }
1115 }
1116 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1117 if (UNTAG_Bool(REGB0)) {
1118 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1119 /* ./parser//parser_prod.nit:222 */
1120 if (UNTAG_Bool(REGB0)) {
1121 fprintf(stderr, "Reciever is null");
1122 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 222);
1123 nit_exit(1);
1124 }
1125 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
1126 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
1127 /* ./parser//parser_prod.nit:223 */
1128 if (UNTAG_Bool(REGB0)) {
1129 } else {
1130 fprintf(stderr, "Assert failed");
1131 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 223);
1132 nit_exit(1);
1133 }
1134 /* ./parser//parser_prod.nit:224 */
1135 ATTR_parser_nodes___APackagedecl____n_doc(fra.me.REG[0]) = fra.me.REG[2];
1136 } else {
1137 /* ./parser//parser_prod.nit:226 */
1138 ATTR_parser_nodes___APackagedecl____n_doc(fra.me.REG[0]) = NIT_NULL;
1139 }
1140 /* ./parser//parser_prod.nit:228 */
1141 goto label1;
1142 }
1143 REGB0 = TAG_Bool(ATTR_parser_nodes___APackagedecl____n_kwpackage(fra.me.REG[0])!=NIT_NULL);
1144 /* ./parser//parser_prod.nit:230 */
1145 if (UNTAG_Bool(REGB0)) {
1146 } else {
1147 fprintf(stderr, "Uninitialized attribute %s", "_n_kwpackage");
1148 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 230);
1149 nit_exit(1);
1150 }
1151 fra.me.REG[3] = ATTR_parser_nodes___APackagedecl____n_kwpackage(fra.me.REG[0]);
1152 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
1153 if (UNTAG_Bool(REGB0)) {
1154 } else {
1155 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
1156 REGB0 = REGB1;
1157 }
1158 if (UNTAG_Bool(REGB0)) {
1159 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1160 /* ./parser//parser_prod.nit:231 */
1161 if (UNTAG_Bool(REGB0)) {
1162 } else {
1163 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1164 if (UNTAG_Bool(REGB1)) {
1165 REGB1 = TAG_Bool(false);
1166 REGB0 = REGB1;
1167 } else {
1168 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
1169 REGB0 = REGB1;
1170 }
1171 }
1172 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1173 if (UNTAG_Bool(REGB0)) {
1174 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1175 /* ./parser//parser_prod.nit:232 */
1176 if (UNTAG_Bool(REGB0)) {
1177 fprintf(stderr, "Reciever is null");
1178 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 232);
1179 nit_exit(1);
1180 }
1181 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
1182 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwpackage, ID_TKwpackage)) /*cast TKwpackage*/;
1183 /* ./parser//parser_prod.nit:233 */
1184 if (UNTAG_Bool(REGB0)) {
1185 } else {
1186 fprintf(stderr, "Assert failed");
1187 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 233);
1188 nit_exit(1);
1189 }
1190 /* ./parser//parser_prod.nit:234 */
1191 ATTR_parser_nodes___APackagedecl____n_kwpackage(fra.me.REG[0]) = fra.me.REG[2];
1192 } else {
1193 /* ./parser//parser_prod.nit:236 */
1194 fprintf(stderr, "Aborted");
1195 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 236);
1196 nit_exit(1);
1197 }
1198 /* ./parser//parser_prod.nit:238 */
1199 goto label1;
1200 }
1201 REGB0 = TAG_Bool(ATTR_parser_nodes___APackagedecl____n_id(fra.me.REG[0])!=NIT_NULL);
1202 /* ./parser//parser_prod.nit:240 */
1203 if (UNTAG_Bool(REGB0)) {
1204 } else {
1205 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
1206 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 240);
1207 nit_exit(1);
1208 }
1209 fra.me.REG[3] = ATTR_parser_nodes___APackagedecl____n_id(fra.me.REG[0]);
1210 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
1211 if (UNTAG_Bool(REGB0)) {
1212 } else {
1213 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
1214 REGB0 = REGB1;
1215 }
1216 if (UNTAG_Bool(REGB0)) {
1217 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1218 /* ./parser//parser_prod.nit:241 */
1219 if (UNTAG_Bool(REGB0)) {
1220 } else {
1221 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1222 if (UNTAG_Bool(REGB1)) {
1223 REGB1 = TAG_Bool(false);
1224 REGB0 = REGB1;
1225 } else {
1226 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
1227 REGB0 = REGB1;
1228 }
1229 }
1230 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1231 if (UNTAG_Bool(REGB0)) {
1232 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1233 /* ./parser//parser_prod.nit:242 */
1234 if (UNTAG_Bool(REGB0)) {
1235 fprintf(stderr, "Reciever is null");
1236 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 242);
1237 nit_exit(1);
1238 }
1239 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
1240 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast TId*/;
1241 /* ./parser//parser_prod.nit:243 */
1242 if (UNTAG_Bool(REGB0)) {
1243 } else {
1244 fprintf(stderr, "Assert failed");
1245 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 243);
1246 nit_exit(1);
1247 }
1248 /* ./parser//parser_prod.nit:244 */
1249 ATTR_parser_nodes___APackagedecl____n_id(fra.me.REG[0]) = fra.me.REG[2];
1250 } else {
1251 /* ./parser//parser_prod.nit:246 */
1252 fprintf(stderr, "Aborted");
1253 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 246);
1254 nit_exit(1);
1255 }
1256 /* ./parser//parser_prod.nit:248 */
1257 goto label1;
1258 }
1259 label1: while(0);
1260 stack_frame_head = fra.me.prev;
1261 return;
1262 }
1263 void parser_prod___APackagedecl___visit_all(val_t p0, val_t p1){
1264 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1265 val_t REGB0;
1266 val_t REGB1;
1267 val_t tmp;
1268 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1269 fra.me.file = LOCATE_parser_prod;
1270 fra.me.line = 252;
1271 fra.me.meth = LOCATE_parser_prod___APackagedecl___visit_all;
1272 fra.me.has_broke = 0;
1273 fra.me.REG_size = 3;
1274 fra.me.REG[0] = NIT_NULL;
1275 fra.me.REG[1] = NIT_NULL;
1276 fra.me.REG[2] = NIT_NULL;
1277 fra.me.REG[0] = p0;
1278 fra.me.REG[1] = p1;
1279 fra.me.REG[2] = ATTR_parser_nodes___APackagedecl____n_doc(fra.me.REG[0]);
1280 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1281 /* ./parser//parser_prod.nit:254 */
1282 if (UNTAG_Bool(REGB0)) {
1283 } else {
1284 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1285 if (UNTAG_Bool(REGB1)) {
1286 REGB1 = TAG_Bool(false);
1287 REGB0 = REGB1;
1288 } else {
1289 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
1290 REGB0 = REGB1;
1291 }
1292 }
1293 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1294 if (UNTAG_Bool(REGB0)) {
1295 fra.me.REG[2] = ATTR_parser_nodes___APackagedecl____n_doc(fra.me.REG[0]);
1296 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
1297 /* ./parser//parser_prod.nit:255 */
1298 if (UNTAG_Bool(REGB0)) {
1299 } else {
1300 fprintf(stderr, "Cast failed");
1301 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 255);
1302 nit_exit(1);
1303 }
1304 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1305 }
1306 REGB0 = TAG_Bool(ATTR_parser_nodes___APackagedecl____n_kwpackage(fra.me.REG[0])!=NIT_NULL);
1307 /* ./parser//parser_prod.nit:257 */
1308 if (UNTAG_Bool(REGB0)) {
1309 } else {
1310 fprintf(stderr, "Uninitialized attribute %s", "_n_kwpackage");
1311 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 257);
1312 nit_exit(1);
1313 }
1314 fra.me.REG[2] = ATTR_parser_nodes___APackagedecl____n_kwpackage(fra.me.REG[0]);
1315 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1316 REGB0 = TAG_Bool(ATTR_parser_nodes___APackagedecl____n_id(fra.me.REG[0])!=NIT_NULL);
1317 /* ./parser//parser_prod.nit:258 */
1318 if (UNTAG_Bool(REGB0)) {
1319 } else {
1320 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
1321 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 258);
1322 nit_exit(1);
1323 }
1324 fra.me.REG[0] = ATTR_parser_nodes___APackagedecl____n_id(fra.me.REG[0]);
1325 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1326 stack_frame_head = fra.me.prev;
1327 return;
1328 }
1329 void parser_prod___APackagedecl___visit_all_reverse(val_t p0, val_t p1){
1330 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1331 val_t REGB0;
1332 val_t REGB1;
1333 val_t tmp;
1334 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1335 fra.me.file = LOCATE_parser_prod;
1336 fra.me.line = 261;
1337 fra.me.meth = LOCATE_parser_prod___APackagedecl___visit_all_reverse;
1338 fra.me.has_broke = 0;
1339 fra.me.REG_size = 3;
1340 fra.me.REG[0] = NIT_NULL;
1341 fra.me.REG[1] = NIT_NULL;
1342 fra.me.REG[2] = NIT_NULL;
1343 fra.me.REG[0] = p0;
1344 fra.me.REG[1] = p1;
1345 fra.me.REG[2] = ATTR_parser_nodes___APackagedecl____n_doc(fra.me.REG[0]);
1346 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1347 /* ./parser//parser_prod.nit:263 */
1348 if (UNTAG_Bool(REGB0)) {
1349 } else {
1350 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1351 if (UNTAG_Bool(REGB1)) {
1352 REGB1 = TAG_Bool(false);
1353 REGB0 = REGB1;
1354 } else {
1355 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
1356 REGB0 = REGB1;
1357 }
1358 }
1359 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1360 if (UNTAG_Bool(REGB0)) {
1361 fra.me.REG[2] = ATTR_parser_nodes___APackagedecl____n_doc(fra.me.REG[0]);
1362 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
1363 /* ./parser//parser_prod.nit:264 */
1364 if (UNTAG_Bool(REGB0)) {
1365 } else {
1366 fprintf(stderr, "Cast failed");
1367 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 264);
1368 nit_exit(1);
1369 }
1370 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1371 }
1372 REGB0 = TAG_Bool(ATTR_parser_nodes___APackagedecl____n_kwpackage(fra.me.REG[0])!=NIT_NULL);
1373 /* ./parser//parser_prod.nit:266 */
1374 if (UNTAG_Bool(REGB0)) {
1375 } else {
1376 fprintf(stderr, "Uninitialized attribute %s", "_n_kwpackage");
1377 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 266);
1378 nit_exit(1);
1379 }
1380 fra.me.REG[2] = ATTR_parser_nodes___APackagedecl____n_kwpackage(fra.me.REG[0]);
1381 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1382 REGB0 = TAG_Bool(ATTR_parser_nodes___APackagedecl____n_id(fra.me.REG[0])!=NIT_NULL);
1383 /* ./parser//parser_prod.nit:267 */
1384 if (UNTAG_Bool(REGB0)) {
1385 } else {
1386 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
1387 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 267);
1388 nit_exit(1);
1389 }
1390 fra.me.REG[0] = ATTR_parser_nodes___APackagedecl____n_id(fra.me.REG[0]);
1391 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1392 stack_frame_head = fra.me.prev;
1393 return;
1394 }
1395 void parser_prod___APackagedecl___empty_init(val_t p0, int* init_table){
1396 int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_APackagedecl].i;
1397 struct {struct stack_frame_t me;} fra;
1398 val_t tmp;
1399 if (init_table[itpos3]) return;
1400 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1401 fra.me.file = LOCATE_parser_prod;
1402 fra.me.line = 199;
1403 fra.me.meth = LOCATE_parser_prod___APackagedecl___empty_init;
1404 fra.me.has_broke = 0;
1405 fra.me.REG_size = 1;
1406 fra.me.REG[0] = NIT_NULL;
1407 fra.me.REG[0] = p0;
1408 /* ./parser//parser_prod.nit:199 */
1409 stack_frame_head = fra.me.prev;
1410 init_table[itpos3] = 1;
1411 return;
1412 }
1413 void parser_prod___APackagedecl___init_apackagedecl(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
1414 int itpos4 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_APackagedecl].i;
1415 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1416 val_t REGB0;
1417 val_t REGB1;
1418 val_t tmp;
1419 if (init_table[itpos4]) return;
1420 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1421 fra.me.file = LOCATE_parser_prod;
1422 fra.me.line = 201;
1423 fra.me.meth = LOCATE_parser_prod___APackagedecl___init_apackagedecl;
1424 fra.me.has_broke = 0;
1425 fra.me.REG_size = 4;
1426 fra.me.REG[0] = NIT_NULL;
1427 fra.me.REG[1] = NIT_NULL;
1428 fra.me.REG[2] = NIT_NULL;
1429 fra.me.REG[3] = NIT_NULL;
1430 fra.me.REG[0] = p0;
1431 fra.me.REG[1] = p1;
1432 fra.me.REG[2] = p2;
1433 fra.me.REG[3] = p3;
1434 /* ./parser//parser_prod.nit:207 */
1435 CALL_parser_prod___APackagedecl___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
1436 /* ./parser//parser_prod.nit:208 */
1437 ATTR_parser_nodes___APackagedecl____n_doc(fra.me.REG[0]) = fra.me.REG[1];
1438 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
1439 /* ./parser//parser_prod.nit:209 */
1440 if (UNTAG_Bool(REGB0)) {
1441 } else {
1442 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
1443 if (UNTAG_Bool(REGB1)) {
1444 REGB1 = TAG_Bool(false);
1445 REGB0 = REGB1;
1446 } else {
1447 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
1448 REGB0 = REGB1;
1449 }
1450 }
1451 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1452 if (UNTAG_Bool(REGB0)) {
1453 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
1454 /* ./parser//parser_prod.nit:210 */
1455 if (UNTAG_Bool(REGB0)) {
1456 fprintf(stderr, "Reciever is null");
1457 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 210);
1458 nit_exit(1);
1459 }
1460 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1461 }
1462 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
1463 /* ./parser//parser_prod.nit:212 */
1464 if (UNTAG_Bool(REGB0)) {
1465 } else {
1466 fprintf(stderr, "Cast failed");
1467 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 212);
1468 nit_exit(1);
1469 }
1470 ATTR_parser_nodes___APackagedecl____n_kwpackage(fra.me.REG[0]) = fra.me.REG[2];
1471 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1472 /* ./parser//parser_prod.nit:213 */
1473 if (UNTAG_Bool(REGB0)) {
1474 fprintf(stderr, "Reciever is null");
1475 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 213);
1476 nit_exit(1);
1477 }
1478 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
1479 REGB0 = TAG_Bool(fra.me.REG[3]!=NIT_NULL);
1480 /* ./parser//parser_prod.nit:214 */
1481 if (UNTAG_Bool(REGB0)) {
1482 } else {
1483 fprintf(stderr, "Cast failed");
1484 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 214);
1485 nit_exit(1);
1486 }
1487 ATTR_parser_nodes___APackagedecl____n_id(fra.me.REG[0]) = fra.me.REG[3];
1488 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
1489 /* ./parser//parser_prod.nit:215 */
1490 if (UNTAG_Bool(REGB0)) {
1491 fprintf(stderr, "Reciever is null");
1492 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 215);
1493 nit_exit(1);
1494 }
1495 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
1496 stack_frame_head = fra.me.prev;
1497 init_table[itpos4] = 1;
1498 return;
1499 }
1500 void parser_prod___AStdImport___n_visibility__eq(val_t p0, val_t p1){
1501 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1502 val_t tmp;
1503 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1504 fra.me.file = LOCATE_parser_prod;
1505 fra.me.line = 271;
1506 fra.me.meth = LOCATE_parser_prod___AStdImport___n_visibility__eq;
1507 fra.me.has_broke = 0;
1508 fra.me.REG_size = 2;
1509 fra.me.REG[0] = NIT_NULL;
1510 fra.me.REG[1] = NIT_NULL;
1511 fra.me.REG[0] = p0;
1512 fra.me.REG[1] = p1;
1513 /* ./parser//parser_prod.nit:273 */
1514 ATTR_parser_nodes___AStdImport____n_visibility(fra.me.REG[0]) = fra.me.REG[1];
1515 /* ./parser//parser_prod.nit:274 */
1516 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1517 stack_frame_head = fra.me.prev;
1518 return;
1519 }
1520 void parser_prod___AStdImport___n_kwimport__eq(val_t p0, val_t p1){
1521 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1522 val_t tmp;
1523 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1524 fra.me.file = LOCATE_parser_prod;
1525 fra.me.line = 276;
1526 fra.me.meth = LOCATE_parser_prod___AStdImport___n_kwimport__eq;
1527 fra.me.has_broke = 0;
1528 fra.me.REG_size = 2;
1529 fra.me.REG[0] = NIT_NULL;
1530 fra.me.REG[1] = NIT_NULL;
1531 fra.me.REG[0] = p0;
1532 fra.me.REG[1] = p1;
1533 /* ./parser//parser_prod.nit:278 */
1534 ATTR_parser_nodes___AStdImport____n_kwimport(fra.me.REG[0]) = fra.me.REG[1];
1535 /* ./parser//parser_prod.nit:279 */
1536 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1537 stack_frame_head = fra.me.prev;
1538 return;
1539 }
1540 void parser_prod___AStdImport___n_id__eq(val_t p0, val_t p1){
1541 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1542 val_t tmp;
1543 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1544 fra.me.file = LOCATE_parser_prod;
1545 fra.me.line = 281;
1546 fra.me.meth = LOCATE_parser_prod___AStdImport___n_id__eq;
1547 fra.me.has_broke = 0;
1548 fra.me.REG_size = 2;
1549 fra.me.REG[0] = NIT_NULL;
1550 fra.me.REG[1] = NIT_NULL;
1551 fra.me.REG[0] = p0;
1552 fra.me.REG[1] = p1;
1553 /* ./parser//parser_prod.nit:283 */
1554 ATTR_parser_nodes___AStdImport____n_id(fra.me.REG[0]) = fra.me.REG[1];
1555 /* ./parser//parser_prod.nit:284 */
1556 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1557 stack_frame_head = fra.me.prev;
1558 return;
1559 }
1560 void parser_prod___AStdImport___replace_child(val_t p0, val_t p1, val_t p2){
1561 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1562 val_t REGB0;
1563 val_t REGB1;
1564 val_t tmp;
1565 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1566 fra.me.file = LOCATE_parser_prod;
1567 fra.me.line = 304;
1568 fra.me.meth = LOCATE_parser_prod___AStdImport___replace_child;
1569 fra.me.has_broke = 0;
1570 fra.me.REG_size = 4;
1571 fra.me.REG[0] = NIT_NULL;
1572 fra.me.REG[1] = NIT_NULL;
1573 fra.me.REG[2] = NIT_NULL;
1574 fra.me.REG[3] = NIT_NULL;
1575 fra.me.REG[0] = p0;
1576 fra.me.REG[1] = p1;
1577 fra.me.REG[2] = p2;
1578 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdImport____n_visibility(fra.me.REG[0])!=NIT_NULL);
1579 /* ./parser//parser_prod.nit:306 */
1580 if (UNTAG_Bool(REGB0)) {
1581 } else {
1582 fprintf(stderr, "Uninitialized attribute %s", "_n_visibility");
1583 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 306);
1584 nit_exit(1);
1585 }
1586 fra.me.REG[3] = ATTR_parser_nodes___AStdImport____n_visibility(fra.me.REG[0]);
1587 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
1588 if (UNTAG_Bool(REGB0)) {
1589 } else {
1590 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
1591 REGB0 = REGB1;
1592 }
1593 if (UNTAG_Bool(REGB0)) {
1594 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1595 /* ./parser//parser_prod.nit:307 */
1596 if (UNTAG_Bool(REGB0)) {
1597 } else {
1598 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1599 if (UNTAG_Bool(REGB1)) {
1600 REGB1 = TAG_Bool(false);
1601 REGB0 = REGB1;
1602 } else {
1603 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
1604 REGB0 = REGB1;
1605 }
1606 }
1607 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1608 if (UNTAG_Bool(REGB0)) {
1609 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1610 /* ./parser//parser_prod.nit:308 */
1611 if (UNTAG_Bool(REGB0)) {
1612 fprintf(stderr, "Reciever is null");
1613 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 308);
1614 nit_exit(1);
1615 }
1616 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
1617 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AVisibility, ID_AVisibility)) /*cast AVisibility*/;
1618 /* ./parser//parser_prod.nit:309 */
1619 if (UNTAG_Bool(REGB0)) {
1620 } else {
1621 fprintf(stderr, "Assert failed");
1622 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 309);
1623 nit_exit(1);
1624 }
1625 /* ./parser//parser_prod.nit:310 */
1626 ATTR_parser_nodes___AStdImport____n_visibility(fra.me.REG[0]) = fra.me.REG[2];
1627 } else {
1628 /* ./parser//parser_prod.nit:312 */
1629 fprintf(stderr, "Aborted");
1630 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 312);
1631 nit_exit(1);
1632 }
1633 /* ./parser//parser_prod.nit:314 */
1634 goto label1;
1635 }
1636 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdImport____n_kwimport(fra.me.REG[0])!=NIT_NULL);
1637 /* ./parser//parser_prod.nit:316 */
1638 if (UNTAG_Bool(REGB0)) {
1639 } else {
1640 fprintf(stderr, "Uninitialized attribute %s", "_n_kwimport");
1641 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 316);
1642 nit_exit(1);
1643 }
1644 fra.me.REG[3] = ATTR_parser_nodes___AStdImport____n_kwimport(fra.me.REG[0]);
1645 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
1646 if (UNTAG_Bool(REGB0)) {
1647 } else {
1648 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
1649 REGB0 = REGB1;
1650 }
1651 if (UNTAG_Bool(REGB0)) {
1652 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1653 /* ./parser//parser_prod.nit:317 */
1654 if (UNTAG_Bool(REGB0)) {
1655 } else {
1656 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1657 if (UNTAG_Bool(REGB1)) {
1658 REGB1 = TAG_Bool(false);
1659 REGB0 = REGB1;
1660 } else {
1661 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
1662 REGB0 = REGB1;
1663 }
1664 }
1665 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1666 if (UNTAG_Bool(REGB0)) {
1667 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1668 /* ./parser//parser_prod.nit:318 */
1669 if (UNTAG_Bool(REGB0)) {
1670 fprintf(stderr, "Reciever is null");
1671 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 318);
1672 nit_exit(1);
1673 }
1674 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
1675 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwimport, ID_TKwimport)) /*cast TKwimport*/;
1676 /* ./parser//parser_prod.nit:319 */
1677 if (UNTAG_Bool(REGB0)) {
1678 } else {
1679 fprintf(stderr, "Assert failed");
1680 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 319);
1681 nit_exit(1);
1682 }
1683 /* ./parser//parser_prod.nit:320 */
1684 ATTR_parser_nodes___AStdImport____n_kwimport(fra.me.REG[0]) = fra.me.REG[2];
1685 } else {
1686 /* ./parser//parser_prod.nit:322 */
1687 fprintf(stderr, "Aborted");
1688 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 322);
1689 nit_exit(1);
1690 }
1691 /* ./parser//parser_prod.nit:324 */
1692 goto label1;
1693 }
1694 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdImport____n_id(fra.me.REG[0])!=NIT_NULL);
1695 /* ./parser//parser_prod.nit:326 */
1696 if (UNTAG_Bool(REGB0)) {
1697 } else {
1698 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
1699 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 326);
1700 nit_exit(1);
1701 }
1702 fra.me.REG[3] = ATTR_parser_nodes___AStdImport____n_id(fra.me.REG[0]);
1703 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
1704 if (UNTAG_Bool(REGB0)) {
1705 } else {
1706 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
1707 REGB0 = REGB1;
1708 }
1709 if (UNTAG_Bool(REGB0)) {
1710 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1711 /* ./parser//parser_prod.nit:327 */
1712 if (UNTAG_Bool(REGB0)) {
1713 } else {
1714 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1715 if (UNTAG_Bool(REGB1)) {
1716 REGB1 = TAG_Bool(false);
1717 REGB0 = REGB1;
1718 } else {
1719 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
1720 REGB0 = REGB1;
1721 }
1722 }
1723 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1724 if (UNTAG_Bool(REGB0)) {
1725 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1726 /* ./parser//parser_prod.nit:328 */
1727 if (UNTAG_Bool(REGB0)) {
1728 fprintf(stderr, "Reciever is null");
1729 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 328);
1730 nit_exit(1);
1731 }
1732 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
1733 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast TId*/;
1734 /* ./parser//parser_prod.nit:329 */
1735 if (UNTAG_Bool(REGB0)) {
1736 } else {
1737 fprintf(stderr, "Assert failed");
1738 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 329);
1739 nit_exit(1);
1740 }
1741 /* ./parser//parser_prod.nit:330 */
1742 ATTR_parser_nodes___AStdImport____n_id(fra.me.REG[0]) = fra.me.REG[2];
1743 } else {
1744 /* ./parser//parser_prod.nit:332 */
1745 fprintf(stderr, "Aborted");
1746 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 332);
1747 nit_exit(1);
1748 }
1749 /* ./parser//parser_prod.nit:334 */
1750 goto label1;
1751 }
1752 label1: while(0);
1753 stack_frame_head = fra.me.prev;
1754 return;
1755 }
1756 void parser_prod___AStdImport___visit_all(val_t p0, val_t p1){
1757 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1758 val_t REGB0;
1759 val_t tmp;
1760 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1761 fra.me.file = LOCATE_parser_prod;
1762 fra.me.line = 338;
1763 fra.me.meth = LOCATE_parser_prod___AStdImport___visit_all;
1764 fra.me.has_broke = 0;
1765 fra.me.REG_size = 3;
1766 fra.me.REG[0] = NIT_NULL;
1767 fra.me.REG[1] = NIT_NULL;
1768 fra.me.REG[2] = NIT_NULL;
1769 fra.me.REG[0] = p0;
1770 fra.me.REG[1] = p1;
1771 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdImport____n_visibility(fra.me.REG[0])!=NIT_NULL);
1772 /* ./parser//parser_prod.nit:340 */
1773 if (UNTAG_Bool(REGB0)) {
1774 } else {
1775 fprintf(stderr, "Uninitialized attribute %s", "_n_visibility");
1776 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 340);
1777 nit_exit(1);
1778 }
1779 fra.me.REG[2] = ATTR_parser_nodes___AStdImport____n_visibility(fra.me.REG[0]);
1780 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1781 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdImport____n_kwimport(fra.me.REG[0])!=NIT_NULL);
1782 /* ./parser//parser_prod.nit:341 */
1783 if (UNTAG_Bool(REGB0)) {
1784 } else {
1785 fprintf(stderr, "Uninitialized attribute %s", "_n_kwimport");
1786 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 341);
1787 nit_exit(1);
1788 }
1789 fra.me.REG[2] = ATTR_parser_nodes___AStdImport____n_kwimport(fra.me.REG[0]);
1790 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1791 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdImport____n_id(fra.me.REG[0])!=NIT_NULL);
1792 /* ./parser//parser_prod.nit:342 */
1793 if (UNTAG_Bool(REGB0)) {
1794 } else {
1795 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
1796 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 342);
1797 nit_exit(1);
1798 }
1799 fra.me.REG[0] = ATTR_parser_nodes___AStdImport____n_id(fra.me.REG[0]);
1800 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1801 stack_frame_head = fra.me.prev;
1802 return;
1803 }
1804 void parser_prod___AStdImport___visit_all_reverse(val_t p0, val_t p1){
1805 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1806 val_t REGB0;
1807 val_t tmp;
1808 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1809 fra.me.file = LOCATE_parser_prod;
1810 fra.me.line = 345;
1811 fra.me.meth = LOCATE_parser_prod___AStdImport___visit_all_reverse;
1812 fra.me.has_broke = 0;
1813 fra.me.REG_size = 3;
1814 fra.me.REG[0] = NIT_NULL;
1815 fra.me.REG[1] = NIT_NULL;
1816 fra.me.REG[2] = NIT_NULL;
1817 fra.me.REG[0] = p0;
1818 fra.me.REG[1] = p1;
1819 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdImport____n_visibility(fra.me.REG[0])!=NIT_NULL);
1820 /* ./parser//parser_prod.nit:347 */
1821 if (UNTAG_Bool(REGB0)) {
1822 } else {
1823 fprintf(stderr, "Uninitialized attribute %s", "_n_visibility");
1824 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 347);
1825 nit_exit(1);
1826 }
1827 fra.me.REG[2] = ATTR_parser_nodes___AStdImport____n_visibility(fra.me.REG[0]);
1828 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1829 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdImport____n_kwimport(fra.me.REG[0])!=NIT_NULL);
1830 /* ./parser//parser_prod.nit:348 */
1831 if (UNTAG_Bool(REGB0)) {
1832 } else {
1833 fprintf(stderr, "Uninitialized attribute %s", "_n_kwimport");
1834 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 348);
1835 nit_exit(1);
1836 }
1837 fra.me.REG[2] = ATTR_parser_nodes___AStdImport____n_kwimport(fra.me.REG[0]);
1838 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1839 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdImport____n_id(fra.me.REG[0])!=NIT_NULL);
1840 /* ./parser//parser_prod.nit:349 */
1841 if (UNTAG_Bool(REGB0)) {
1842 } else {
1843 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
1844 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 349);
1845 nit_exit(1);
1846 }
1847 fra.me.REG[0] = ATTR_parser_nodes___AStdImport____n_id(fra.me.REG[0]);
1848 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1849 stack_frame_head = fra.me.prev;
1850 return;
1851 }
1852 void parser_prod___AStdImport___empty_init(val_t p0, int* init_table){
1853 int itpos5 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AStdImport].i;
1854 struct {struct stack_frame_t me;} fra;
1855 val_t tmp;
1856 if (init_table[itpos5]) return;
1857 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1858 fra.me.file = LOCATE_parser_prod;
1859 fra.me.line = 287;
1860 fra.me.meth = LOCATE_parser_prod___AStdImport___empty_init;
1861 fra.me.has_broke = 0;
1862 fra.me.REG_size = 1;
1863 fra.me.REG[0] = NIT_NULL;
1864 fra.me.REG[0] = p0;
1865 /* ./parser//parser_prod.nit:287 */
1866 stack_frame_head = fra.me.prev;
1867 init_table[itpos5] = 1;
1868 return;
1869 }
1870 void parser_prod___AStdImport___init_astdimport(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
1871 int itpos6 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AStdImport].i;
1872 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1873 val_t REGB0;
1874 val_t tmp;
1875 if (init_table[itpos6]) return;
1876 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1877 fra.me.file = LOCATE_parser_prod;
1878 fra.me.line = 289;
1879 fra.me.meth = LOCATE_parser_prod___AStdImport___init_astdimport;
1880 fra.me.has_broke = 0;
1881 fra.me.REG_size = 4;
1882 fra.me.REG[0] = NIT_NULL;
1883 fra.me.REG[1] = NIT_NULL;
1884 fra.me.REG[2] = NIT_NULL;
1885 fra.me.REG[3] = NIT_NULL;
1886 fra.me.REG[0] = p0;
1887 fra.me.REG[1] = p1;
1888 fra.me.REG[2] = p2;
1889 fra.me.REG[3] = p3;
1890 /* ./parser//parser_prod.nit:295 */
1891 CALL_parser_prod___AStdImport___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
1892 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
1893 /* ./parser//parser_prod.nit:296 */
1894 if (UNTAG_Bool(REGB0)) {
1895 } else {
1896 fprintf(stderr, "Cast failed");
1897 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 296);
1898 nit_exit(1);
1899 }
1900 ATTR_parser_nodes___AStdImport____n_visibility(fra.me.REG[0]) = fra.me.REG[1];
1901 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
1902 /* ./parser//parser_prod.nit:297 */
1903 if (UNTAG_Bool(REGB0)) {
1904 fprintf(stderr, "Reciever is null");
1905 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 297);
1906 nit_exit(1);
1907 }
1908 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1909 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
1910 /* ./parser//parser_prod.nit:298 */
1911 if (UNTAG_Bool(REGB0)) {
1912 } else {
1913 fprintf(stderr, "Cast failed");
1914 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 298);
1915 nit_exit(1);
1916 }
1917 ATTR_parser_nodes___AStdImport____n_kwimport(fra.me.REG[0]) = fra.me.REG[2];
1918 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1919 /* ./parser//parser_prod.nit:299 */
1920 if (UNTAG_Bool(REGB0)) {
1921 fprintf(stderr, "Reciever is null");
1922 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 299);
1923 nit_exit(1);
1924 }
1925 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
1926 REGB0 = TAG_Bool(fra.me.REG[3]!=NIT_NULL);
1927 /* ./parser//parser_prod.nit:300 */
1928 if (UNTAG_Bool(REGB0)) {
1929 } else {
1930 fprintf(stderr, "Cast failed");
1931 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 300);
1932 nit_exit(1);
1933 }
1934 ATTR_parser_nodes___AStdImport____n_id(fra.me.REG[0]) = fra.me.REG[3];
1935 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
1936 /* ./parser//parser_prod.nit:301 */
1937 if (UNTAG_Bool(REGB0)) {
1938 fprintf(stderr, "Reciever is null");
1939 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 301);
1940 nit_exit(1);
1941 }
1942 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
1943 stack_frame_head = fra.me.prev;
1944 init_table[itpos6] = 1;
1945 return;
1946 }
1947 void parser_prod___ANoImport___n_visibility__eq(val_t p0, val_t p1){
1948 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1949 val_t tmp;
1950 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1951 fra.me.file = LOCATE_parser_prod;
1952 fra.me.line = 353;
1953 fra.me.meth = LOCATE_parser_prod___ANoImport___n_visibility__eq;
1954 fra.me.has_broke = 0;
1955 fra.me.REG_size = 2;
1956 fra.me.REG[0] = NIT_NULL;
1957 fra.me.REG[1] = NIT_NULL;
1958 fra.me.REG[0] = p0;
1959 fra.me.REG[1] = p1;
1960 /* ./parser//parser_prod.nit:355 */
1961 ATTR_parser_nodes___ANoImport____n_visibility(fra.me.REG[0]) = fra.me.REG[1];
1962 /* ./parser//parser_prod.nit:356 */
1963 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1964 stack_frame_head = fra.me.prev;
1965 return;
1966 }
1967 void parser_prod___ANoImport___n_kwimport__eq(val_t p0, val_t p1){
1968 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1969 val_t tmp;
1970 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1971 fra.me.file = LOCATE_parser_prod;
1972 fra.me.line = 358;
1973 fra.me.meth = LOCATE_parser_prod___ANoImport___n_kwimport__eq;
1974 fra.me.has_broke = 0;
1975 fra.me.REG_size = 2;
1976 fra.me.REG[0] = NIT_NULL;
1977 fra.me.REG[1] = NIT_NULL;
1978 fra.me.REG[0] = p0;
1979 fra.me.REG[1] = p1;
1980 /* ./parser//parser_prod.nit:360 */
1981 ATTR_parser_nodes___ANoImport____n_kwimport(fra.me.REG[0]) = fra.me.REG[1];
1982 /* ./parser//parser_prod.nit:361 */
1983 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1984 stack_frame_head = fra.me.prev;
1985 return;
1986 }
1987 void parser_prod___ANoImport___n_kwend__eq(val_t p0, val_t p1){
1988 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1989 val_t tmp;
1990 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1991 fra.me.file = LOCATE_parser_prod;
1992 fra.me.line = 363;
1993 fra.me.meth = LOCATE_parser_prod___ANoImport___n_kwend__eq;
1994 fra.me.has_broke = 0;
1995 fra.me.REG_size = 2;
1996 fra.me.REG[0] = NIT_NULL;
1997 fra.me.REG[1] = NIT_NULL;
1998 fra.me.REG[0] = p0;
1999 fra.me.REG[1] = p1;
2000 /* ./parser//parser_prod.nit:365 */
2001 ATTR_parser_nodes___ANoImport____n_kwend(fra.me.REG[0]) = fra.me.REG[1];
2002 /* ./parser//parser_prod.nit:366 */
2003 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2004 stack_frame_head = fra.me.prev;
2005 return;
2006 }
2007 void parser_prod___ANoImport___replace_child(val_t p0, val_t p1, val_t p2){
2008 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2009 val_t REGB0;
2010 val_t REGB1;
2011 val_t tmp;
2012 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2013 fra.me.file = LOCATE_parser_prod;
2014 fra.me.line = 386;
2015 fra.me.meth = LOCATE_parser_prod___ANoImport___replace_child;
2016 fra.me.has_broke = 0;
2017 fra.me.REG_size = 4;
2018 fra.me.REG[0] = NIT_NULL;
2019 fra.me.REG[1] = NIT_NULL;
2020 fra.me.REG[2] = NIT_NULL;
2021 fra.me.REG[3] = NIT_NULL;
2022 fra.me.REG[0] = p0;
2023 fra.me.REG[1] = p1;
2024 fra.me.REG[2] = p2;
2025 REGB0 = TAG_Bool(ATTR_parser_nodes___ANoImport____n_visibility(fra.me.REG[0])!=NIT_NULL);
2026 /* ./parser//parser_prod.nit:388 */
2027 if (UNTAG_Bool(REGB0)) {
2028 } else {
2029 fprintf(stderr, "Uninitialized attribute %s", "_n_visibility");
2030 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 388);
2031 nit_exit(1);
2032 }
2033 fra.me.REG[3] = ATTR_parser_nodes___ANoImport____n_visibility(fra.me.REG[0]);
2034 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
2035 if (UNTAG_Bool(REGB0)) {
2036 } else {
2037 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
2038 REGB0 = REGB1;
2039 }
2040 if (UNTAG_Bool(REGB0)) {
2041 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
2042 /* ./parser//parser_prod.nit:389 */
2043 if (UNTAG_Bool(REGB0)) {
2044 } else {
2045 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
2046 if (UNTAG_Bool(REGB1)) {
2047 REGB1 = TAG_Bool(false);
2048 REGB0 = REGB1;
2049 } else {
2050 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
2051 REGB0 = REGB1;
2052 }
2053 }
2054 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
2055 if (UNTAG_Bool(REGB0)) {
2056 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
2057 /* ./parser//parser_prod.nit:390 */
2058 if (UNTAG_Bool(REGB0)) {
2059 fprintf(stderr, "Reciever is null");
2060 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 390);
2061 nit_exit(1);
2062 }
2063 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2064 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AVisibility, ID_AVisibility)) /*cast AVisibility*/;
2065 /* ./parser//parser_prod.nit:391 */
2066 if (UNTAG_Bool(REGB0)) {
2067 } else {
2068 fprintf(stderr, "Assert failed");
2069 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 391);
2070 nit_exit(1);
2071 }
2072 /* ./parser//parser_prod.nit:392 */
2073 ATTR_parser_nodes___ANoImport____n_visibility(fra.me.REG[0]) = fra.me.REG[2];
2074 } else {
2075 /* ./parser//parser_prod.nit:394 */
2076 fprintf(stderr, "Aborted");
2077 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 394);
2078 nit_exit(1);
2079 }
2080 /* ./parser//parser_prod.nit:396 */
2081 goto label1;
2082 }
2083 REGB0 = TAG_Bool(ATTR_parser_nodes___ANoImport____n_kwimport(fra.me.REG[0])!=NIT_NULL);
2084 /* ./parser//parser_prod.nit:398 */
2085 if (UNTAG_Bool(REGB0)) {
2086 } else {
2087 fprintf(stderr, "Uninitialized attribute %s", "_n_kwimport");
2088 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 398);
2089 nit_exit(1);
2090 }
2091 fra.me.REG[3] = ATTR_parser_nodes___ANoImport____n_kwimport(fra.me.REG[0]);
2092 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
2093 if (UNTAG_Bool(REGB0)) {
2094 } else {
2095 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
2096 REGB0 = REGB1;
2097 }
2098 if (UNTAG_Bool(REGB0)) {
2099 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
2100 /* ./parser//parser_prod.nit:399 */
2101 if (UNTAG_Bool(REGB0)) {
2102 } else {
2103 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
2104 if (UNTAG_Bool(REGB1)) {
2105 REGB1 = TAG_Bool(false);
2106 REGB0 = REGB1;
2107 } else {
2108 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
2109 REGB0 = REGB1;
2110 }
2111 }
2112 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
2113 if (UNTAG_Bool(REGB0)) {
2114 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
2115 /* ./parser//parser_prod.nit:400 */
2116 if (UNTAG_Bool(REGB0)) {
2117 fprintf(stderr, "Reciever is null");
2118 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 400);
2119 nit_exit(1);
2120 }
2121 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2122 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwimport, ID_TKwimport)) /*cast TKwimport*/;
2123 /* ./parser//parser_prod.nit:401 */
2124 if (UNTAG_Bool(REGB0)) {
2125 } else {
2126 fprintf(stderr, "Assert failed");
2127 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 401);
2128 nit_exit(1);
2129 }
2130 /* ./parser//parser_prod.nit:402 */
2131 ATTR_parser_nodes___ANoImport____n_kwimport(fra.me.REG[0]) = fra.me.REG[2];
2132 } else {
2133 /* ./parser//parser_prod.nit:404 */
2134 fprintf(stderr, "Aborted");
2135 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 404);
2136 nit_exit(1);
2137 }
2138 /* ./parser//parser_prod.nit:406 */
2139 goto label1;
2140 }
2141 REGB0 = TAG_Bool(ATTR_parser_nodes___ANoImport____n_kwend(fra.me.REG[0])!=NIT_NULL);
2142 /* ./parser//parser_prod.nit:408 */
2143 if (UNTAG_Bool(REGB0)) {
2144 } else {
2145 fprintf(stderr, "Uninitialized attribute %s", "_n_kwend");
2146 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 408);
2147 nit_exit(1);
2148 }
2149 fra.me.REG[3] = ATTR_parser_nodes___ANoImport____n_kwend(fra.me.REG[0]);
2150 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
2151 if (UNTAG_Bool(REGB0)) {
2152 } else {
2153 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
2154 REGB0 = REGB1;
2155 }
2156 if (UNTAG_Bool(REGB0)) {
2157 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
2158 /* ./parser//parser_prod.nit:409 */
2159 if (UNTAG_Bool(REGB0)) {
2160 } else {
2161 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
2162 if (UNTAG_Bool(REGB1)) {
2163 REGB1 = TAG_Bool(false);
2164 REGB0 = REGB1;
2165 } else {
2166 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
2167 REGB0 = REGB1;
2168 }
2169 }
2170 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
2171 if (UNTAG_Bool(REGB0)) {
2172 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
2173 /* ./parser//parser_prod.nit:410 */
2174 if (UNTAG_Bool(REGB0)) {
2175 fprintf(stderr, "Reciever is null");
2176 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 410);
2177 nit_exit(1);
2178 }
2179 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2180 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwend, ID_TKwend)) /*cast TKwend*/;
2181 /* ./parser//parser_prod.nit:411 */
2182 if (UNTAG_Bool(REGB0)) {
2183 } else {
2184 fprintf(stderr, "Assert failed");
2185 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 411);
2186 nit_exit(1);
2187 }
2188 /* ./parser//parser_prod.nit:412 */
2189 ATTR_parser_nodes___ANoImport____n_kwend(fra.me.REG[0]) = fra.me.REG[2];
2190 } else {
2191 /* ./parser//parser_prod.nit:414 */
2192 fprintf(stderr, "Aborted");
2193 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 414);
2194 nit_exit(1);
2195 }
2196 /* ./parser//parser_prod.nit:416 */
2197 goto label1;
2198 }
2199 label1: while(0);
2200 stack_frame_head = fra.me.prev;
2201 return;
2202 }
2203 void parser_prod___ANoImport___visit_all(val_t p0, val_t p1){
2204 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2205 val_t REGB0;
2206 val_t tmp;
2207 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2208 fra.me.file = LOCATE_parser_prod;
2209 fra.me.line = 420;
2210 fra.me.meth = LOCATE_parser_prod___ANoImport___visit_all;
2211 fra.me.has_broke = 0;
2212 fra.me.REG_size = 3;
2213 fra.me.REG[0] = NIT_NULL;
2214 fra.me.REG[1] = NIT_NULL;
2215 fra.me.REG[2] = NIT_NULL;
2216 fra.me.REG[0] = p0;
2217 fra.me.REG[1] = p1;
2218 REGB0 = TAG_Bool(ATTR_parser_nodes___ANoImport____n_visibility(fra.me.REG[0])!=NIT_NULL);
2219 /* ./parser//parser_prod.nit:422 */
2220 if (UNTAG_Bool(REGB0)) {
2221 } else {
2222 fprintf(stderr, "Uninitialized attribute %s", "_n_visibility");
2223 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 422);
2224 nit_exit(1);
2225 }
2226 fra.me.REG[2] = ATTR_parser_nodes___ANoImport____n_visibility(fra.me.REG[0]);
2227 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2228 REGB0 = TAG_Bool(ATTR_parser_nodes___ANoImport____n_kwimport(fra.me.REG[0])!=NIT_NULL);
2229 /* ./parser//parser_prod.nit:423 */
2230 if (UNTAG_Bool(REGB0)) {
2231 } else {
2232 fprintf(stderr, "Uninitialized attribute %s", "_n_kwimport");
2233 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 423);
2234 nit_exit(1);
2235 }
2236 fra.me.REG[2] = ATTR_parser_nodes___ANoImport____n_kwimport(fra.me.REG[0]);
2237 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2238 REGB0 = TAG_Bool(ATTR_parser_nodes___ANoImport____n_kwend(fra.me.REG[0])!=NIT_NULL);
2239 /* ./parser//parser_prod.nit:424 */
2240 if (UNTAG_Bool(REGB0)) {
2241 } else {
2242 fprintf(stderr, "Uninitialized attribute %s", "_n_kwend");
2243 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 424);
2244 nit_exit(1);
2245 }
2246 fra.me.REG[0] = ATTR_parser_nodes___ANoImport____n_kwend(fra.me.REG[0]);
2247 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2248 stack_frame_head = fra.me.prev;
2249 return;
2250 }
2251 void parser_prod___ANoImport___visit_all_reverse(val_t p0, val_t p1){
2252 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2253 val_t REGB0;
2254 val_t tmp;
2255 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2256 fra.me.file = LOCATE_parser_prod;
2257 fra.me.line = 427;
2258 fra.me.meth = LOCATE_parser_prod___ANoImport___visit_all_reverse;
2259 fra.me.has_broke = 0;
2260 fra.me.REG_size = 3;
2261 fra.me.REG[0] = NIT_NULL;
2262 fra.me.REG[1] = NIT_NULL;
2263 fra.me.REG[2] = NIT_NULL;
2264 fra.me.REG[0] = p0;
2265 fra.me.REG[1] = p1;
2266 REGB0 = TAG_Bool(ATTR_parser_nodes___ANoImport____n_visibility(fra.me.REG[0])!=NIT_NULL);
2267 /* ./parser//parser_prod.nit:429 */
2268 if (UNTAG_Bool(REGB0)) {
2269 } else {
2270 fprintf(stderr, "Uninitialized attribute %s", "_n_visibility");
2271 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 429);
2272 nit_exit(1);
2273 }
2274 fra.me.REG[2] = ATTR_parser_nodes___ANoImport____n_visibility(fra.me.REG[0]);
2275 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2276 REGB0 = TAG_Bool(ATTR_parser_nodes___ANoImport____n_kwimport(fra.me.REG[0])!=NIT_NULL);
2277 /* ./parser//parser_prod.nit:430 */
2278 if (UNTAG_Bool(REGB0)) {
2279 } else {
2280 fprintf(stderr, "Uninitialized attribute %s", "_n_kwimport");
2281 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 430);
2282 nit_exit(1);
2283 }
2284 fra.me.REG[2] = ATTR_parser_nodes___ANoImport____n_kwimport(fra.me.REG[0]);
2285 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2286 REGB0 = TAG_Bool(ATTR_parser_nodes___ANoImport____n_kwend(fra.me.REG[0])!=NIT_NULL);
2287 /* ./parser//parser_prod.nit:431 */
2288 if (UNTAG_Bool(REGB0)) {
2289 } else {
2290 fprintf(stderr, "Uninitialized attribute %s", "_n_kwend");
2291 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 431);
2292 nit_exit(1);
2293 }
2294 fra.me.REG[0] = ATTR_parser_nodes___ANoImport____n_kwend(fra.me.REG[0]);
2295 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2296 stack_frame_head = fra.me.prev;
2297 return;
2298 }
2299 void parser_prod___ANoImport___empty_init(val_t p0, int* init_table){
2300 int itpos7 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ANoImport].i;
2301 struct {struct stack_frame_t me;} fra;
2302 val_t tmp;
2303 if (init_table[itpos7]) return;
2304 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2305 fra.me.file = LOCATE_parser_prod;
2306 fra.me.line = 369;
2307 fra.me.meth = LOCATE_parser_prod___ANoImport___empty_init;
2308 fra.me.has_broke = 0;
2309 fra.me.REG_size = 1;
2310 fra.me.REG[0] = NIT_NULL;
2311 fra.me.REG[0] = p0;
2312 /* ./parser//parser_prod.nit:369 */
2313 stack_frame_head = fra.me.prev;
2314 init_table[itpos7] = 1;
2315 return;
2316 }
2317 void parser_prod___ANoImport___init_anoimport(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
2318 int itpos8 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ANoImport].i;
2319 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2320 val_t REGB0;
2321 val_t tmp;
2322 if (init_table[itpos8]) return;
2323 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2324 fra.me.file = LOCATE_parser_prod;
2325 fra.me.line = 371;
2326 fra.me.meth = LOCATE_parser_prod___ANoImport___init_anoimport;
2327 fra.me.has_broke = 0;
2328 fra.me.REG_size = 4;
2329 fra.me.REG[0] = NIT_NULL;
2330 fra.me.REG[1] = NIT_NULL;
2331 fra.me.REG[2] = NIT_NULL;
2332 fra.me.REG[3] = NIT_NULL;
2333 fra.me.REG[0] = p0;
2334 fra.me.REG[1] = p1;
2335 fra.me.REG[2] = p2;
2336 fra.me.REG[3] = p3;
2337 /* ./parser//parser_prod.nit:377 */
2338 CALL_parser_prod___ANoImport___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
2339 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
2340 /* ./parser//parser_prod.nit:378 */
2341 if (UNTAG_Bool(REGB0)) {
2342 } else {
2343 fprintf(stderr, "Cast failed");
2344 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 378);
2345 nit_exit(1);
2346 }
2347 ATTR_parser_nodes___ANoImport____n_visibility(fra.me.REG[0]) = fra.me.REG[1];
2348 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2349 /* ./parser//parser_prod.nit:379 */
2350 if (UNTAG_Bool(REGB0)) {
2351 fprintf(stderr, "Reciever is null");
2352 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 379);
2353 nit_exit(1);
2354 }
2355 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2356 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
2357 /* ./parser//parser_prod.nit:380 */
2358 if (UNTAG_Bool(REGB0)) {
2359 } else {
2360 fprintf(stderr, "Cast failed");
2361 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 380);
2362 nit_exit(1);
2363 }
2364 ATTR_parser_nodes___ANoImport____n_kwimport(fra.me.REG[0]) = fra.me.REG[2];
2365 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
2366 /* ./parser//parser_prod.nit:381 */
2367 if (UNTAG_Bool(REGB0)) {
2368 fprintf(stderr, "Reciever is null");
2369 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 381);
2370 nit_exit(1);
2371 }
2372 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2373 REGB0 = TAG_Bool(fra.me.REG[3]!=NIT_NULL);
2374 /* ./parser//parser_prod.nit:382 */
2375 if (UNTAG_Bool(REGB0)) {
2376 } else {
2377 fprintf(stderr, "Cast failed");
2378 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 382);
2379 nit_exit(1);
2380 }
2381 ATTR_parser_nodes___ANoImport____n_kwend(fra.me.REG[0]) = fra.me.REG[3];
2382 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
2383 /* ./parser//parser_prod.nit:383 */
2384 if (UNTAG_Bool(REGB0)) {
2385 fprintf(stderr, "Reciever is null");
2386 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 383);
2387 nit_exit(1);
2388 }
2389 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
2390 stack_frame_head = fra.me.prev;
2391 init_table[itpos8] = 1;
2392 return;
2393 }
2394 void parser_prod___APublicVisibility___replace_child(val_t p0, val_t p1, val_t p2){
2395 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2396 val_t tmp;
2397 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2398 fra.me.file = LOCATE_parser_prod;
2399 fra.me.line = 443;
2400 fra.me.meth = LOCATE_parser_prod___APublicVisibility___replace_child;
2401 fra.me.has_broke = 0;
2402 fra.me.REG_size = 3;
2403 fra.me.REG[0] = NIT_NULL;
2404 fra.me.REG[1] = NIT_NULL;
2405 fra.me.REG[2] = NIT_NULL;
2406 fra.me.REG[0] = p0;
2407 fra.me.REG[1] = p1;
2408 fra.me.REG[2] = p2;
2409 /* ./parser//parser_prod.nit:443 */
2410 stack_frame_head = fra.me.prev;
2411 return;
2412 }
2413 void parser_prod___APublicVisibility___visit_all(val_t p0, val_t p1){
2414 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2415 val_t tmp;
2416 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2417 fra.me.file = LOCATE_parser_prod;
2418 fra.me.line = 447;
2419 fra.me.meth = LOCATE_parser_prod___APublicVisibility___visit_all;
2420 fra.me.has_broke = 0;
2421 fra.me.REG_size = 2;
2422 fra.me.REG[0] = NIT_NULL;
2423 fra.me.REG[1] = NIT_NULL;
2424 fra.me.REG[0] = p0;
2425 fra.me.REG[1] = p1;
2426 /* ./parser//parser_prod.nit:447 */
2427 stack_frame_head = fra.me.prev;
2428 return;
2429 }
2430 void parser_prod___APublicVisibility___visit_all_reverse(val_t p0, val_t p1){
2431 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2432 val_t tmp;
2433 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2434 fra.me.file = LOCATE_parser_prod;
2435 fra.me.line = 451;
2436 fra.me.meth = LOCATE_parser_prod___APublicVisibility___visit_all_reverse;
2437 fra.me.has_broke = 0;
2438 fra.me.REG_size = 2;
2439 fra.me.REG[0] = NIT_NULL;
2440 fra.me.REG[1] = NIT_NULL;
2441 fra.me.REG[0] = p0;
2442 fra.me.REG[1] = p1;
2443 /* ./parser//parser_prod.nit:451 */
2444 stack_frame_head = fra.me.prev;
2445 return;
2446 }
2447 void parser_prod___APublicVisibility___empty_init(val_t p0, int* init_table){
2448 int itpos9 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_APublicVisibility].i;
2449 struct {struct stack_frame_t me;} fra;
2450 val_t tmp;
2451 if (init_table[itpos9]) return;
2452 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2453 fra.me.file = LOCATE_parser_prod;
2454 fra.me.line = 436;
2455 fra.me.meth = LOCATE_parser_prod___APublicVisibility___empty_init;
2456 fra.me.has_broke = 0;
2457 fra.me.REG_size = 1;
2458 fra.me.REG[0] = NIT_NULL;
2459 fra.me.REG[0] = p0;
2460 /* ./parser//parser_prod.nit:436 */
2461 stack_frame_head = fra.me.prev;
2462 init_table[itpos9] = 1;
2463 return;
2464 }
2465 void parser_prod___APublicVisibility___init_apublicvisibility(val_t p0, int* init_table){
2466 int itpos10 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_APublicVisibility].i;
2467 struct {struct stack_frame_t me;} fra;
2468 val_t tmp;
2469 if (init_table[itpos10]) return;
2470 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2471 fra.me.file = LOCATE_parser_prod;
2472 fra.me.line = 438;
2473 fra.me.meth = LOCATE_parser_prod___APublicVisibility___init_apublicvisibility;
2474 fra.me.has_broke = 0;
2475 fra.me.REG_size = 1;
2476 fra.me.REG[0] = NIT_NULL;
2477 fra.me.REG[0] = p0;
2478 /* ./parser//parser_prod.nit:440 */
2479 CALL_parser_prod___APublicVisibility___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
2480 stack_frame_head = fra.me.prev;
2481 init_table[itpos10] = 1;
2482 return;
2483 }
2484 void parser_prod___APrivateVisibility___n_kwprivate__eq(val_t p0, val_t p1){
2485 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2486 val_t tmp;
2487 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2488 fra.me.file = LOCATE_parser_prod;
2489 fra.me.line = 456;
2490 fra.me.meth = LOCATE_parser_prod___APrivateVisibility___n_kwprivate__eq;
2491 fra.me.has_broke = 0;
2492 fra.me.REG_size = 2;
2493 fra.me.REG[0] = NIT_NULL;
2494 fra.me.REG[1] = NIT_NULL;
2495 fra.me.REG[0] = p0;
2496 fra.me.REG[1] = p1;
2497 /* ./parser//parser_prod.nit:458 */
2498 ATTR_parser_nodes___APrivateVisibility____n_kwprivate(fra.me.REG[0]) = fra.me.REG[1];
2499 /* ./parser//parser_prod.nit:459 */
2500 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2501 stack_frame_head = fra.me.prev;
2502 return;
2503 }
2504 void parser_prod___APrivateVisibility___replace_child(val_t p0, val_t p1, val_t p2){
2505 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2506 val_t REGB0;
2507 val_t REGB1;
2508 val_t tmp;
2509 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2510 fra.me.file = LOCATE_parser_prod;
2511 fra.me.line = 473;
2512 fra.me.meth = LOCATE_parser_prod___APrivateVisibility___replace_child;
2513 fra.me.has_broke = 0;
2514 fra.me.REG_size = 4;
2515 fra.me.REG[0] = NIT_NULL;
2516 fra.me.REG[1] = NIT_NULL;
2517 fra.me.REG[2] = NIT_NULL;
2518 fra.me.REG[3] = NIT_NULL;
2519 fra.me.REG[0] = p0;
2520 fra.me.REG[1] = p1;
2521 fra.me.REG[2] = p2;
2522 REGB0 = TAG_Bool(ATTR_parser_nodes___APrivateVisibility____n_kwprivate(fra.me.REG[0])!=NIT_NULL);
2523 /* ./parser//parser_prod.nit:475 */
2524 if (UNTAG_Bool(REGB0)) {
2525 } else {
2526 fprintf(stderr, "Uninitialized attribute %s", "_n_kwprivate");
2527 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 475);
2528 nit_exit(1);
2529 }
2530 fra.me.REG[3] = ATTR_parser_nodes___APrivateVisibility____n_kwprivate(fra.me.REG[0]);
2531 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
2532 if (UNTAG_Bool(REGB0)) {
2533 } else {
2534 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
2535 REGB0 = REGB1;
2536 }
2537 if (UNTAG_Bool(REGB0)) {
2538 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
2539 /* ./parser//parser_prod.nit:476 */
2540 if (UNTAG_Bool(REGB0)) {
2541 } else {
2542 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
2543 if (UNTAG_Bool(REGB1)) {
2544 REGB1 = TAG_Bool(false);
2545 REGB0 = REGB1;
2546 } else {
2547 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
2548 REGB0 = REGB1;
2549 }
2550 }
2551 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
2552 if (UNTAG_Bool(REGB0)) {
2553 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
2554 /* ./parser//parser_prod.nit:477 */
2555 if (UNTAG_Bool(REGB0)) {
2556 fprintf(stderr, "Reciever is null");
2557 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 477);
2558 nit_exit(1);
2559 }
2560 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2561 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwprivate, ID_TKwprivate)) /*cast TKwprivate*/;
2562 /* ./parser//parser_prod.nit:478 */
2563 if (UNTAG_Bool(REGB0)) {
2564 } else {
2565 fprintf(stderr, "Assert failed");
2566 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 478);
2567 nit_exit(1);
2568 }
2569 /* ./parser//parser_prod.nit:479 */
2570 ATTR_parser_nodes___APrivateVisibility____n_kwprivate(fra.me.REG[0]) = fra.me.REG[2];
2571 } else {
2572 /* ./parser//parser_prod.nit:481 */
2573 fprintf(stderr, "Aborted");
2574 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 481);
2575 nit_exit(1);
2576 }
2577 /* ./parser//parser_prod.nit:483 */
2578 goto label1;
2579 }
2580 label1: while(0);
2581 stack_frame_head = fra.me.prev;
2582 return;
2583 }
2584 void parser_prod___APrivateVisibility___visit_all(val_t p0, val_t p1){
2585 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2586 val_t REGB0;
2587 val_t tmp;
2588 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2589 fra.me.file = LOCATE_parser_prod;
2590 fra.me.line = 487;
2591 fra.me.meth = LOCATE_parser_prod___APrivateVisibility___visit_all;
2592 fra.me.has_broke = 0;
2593 fra.me.REG_size = 2;
2594 fra.me.REG[0] = NIT_NULL;
2595 fra.me.REG[1] = NIT_NULL;
2596 fra.me.REG[0] = p0;
2597 fra.me.REG[1] = p1;
2598 REGB0 = TAG_Bool(ATTR_parser_nodes___APrivateVisibility____n_kwprivate(fra.me.REG[0])!=NIT_NULL);
2599 /* ./parser//parser_prod.nit:489 */
2600 if (UNTAG_Bool(REGB0)) {
2601 } else {
2602 fprintf(stderr, "Uninitialized attribute %s", "_n_kwprivate");
2603 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 489);
2604 nit_exit(1);
2605 }
2606 fra.me.REG[0] = ATTR_parser_nodes___APrivateVisibility____n_kwprivate(fra.me.REG[0]);
2607 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2608 stack_frame_head = fra.me.prev;
2609 return;
2610 }
2611 void parser_prod___APrivateVisibility___visit_all_reverse(val_t p0, val_t p1){
2612 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2613 val_t REGB0;
2614 val_t tmp;
2615 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2616 fra.me.file = LOCATE_parser_prod;
2617 fra.me.line = 492;
2618 fra.me.meth = LOCATE_parser_prod___APrivateVisibility___visit_all_reverse;
2619 fra.me.has_broke = 0;
2620 fra.me.REG_size = 2;
2621 fra.me.REG[0] = NIT_NULL;
2622 fra.me.REG[1] = NIT_NULL;
2623 fra.me.REG[0] = p0;
2624 fra.me.REG[1] = p1;
2625 REGB0 = TAG_Bool(ATTR_parser_nodes___APrivateVisibility____n_kwprivate(fra.me.REG[0])!=NIT_NULL);
2626 /* ./parser//parser_prod.nit:494 */
2627 if (UNTAG_Bool(REGB0)) {
2628 } else {
2629 fprintf(stderr, "Uninitialized attribute %s", "_n_kwprivate");
2630 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 494);
2631 nit_exit(1);
2632 }
2633 fra.me.REG[0] = ATTR_parser_nodes___APrivateVisibility____n_kwprivate(fra.me.REG[0]);
2634 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2635 stack_frame_head = fra.me.prev;
2636 return;
2637 }
2638 void parser_prod___APrivateVisibility___empty_init(val_t p0, int* init_table){
2639 int itpos11 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_APrivateVisibility].i;
2640 struct {struct stack_frame_t me;} fra;
2641 val_t tmp;
2642 if (init_table[itpos11]) return;
2643 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2644 fra.me.file = LOCATE_parser_prod;
2645 fra.me.line = 462;
2646 fra.me.meth = LOCATE_parser_prod___APrivateVisibility___empty_init;
2647 fra.me.has_broke = 0;
2648 fra.me.REG_size = 1;
2649 fra.me.REG[0] = NIT_NULL;
2650 fra.me.REG[0] = p0;
2651 /* ./parser//parser_prod.nit:462 */
2652 stack_frame_head = fra.me.prev;
2653 init_table[itpos11] = 1;
2654 return;
2655 }
2656 void parser_prod___APrivateVisibility___init_aprivatevisibility(val_t p0, val_t p1, int* init_table){
2657 int itpos12 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_APrivateVisibility].i;
2658 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2659 val_t REGB0;
2660 val_t tmp;
2661 if (init_table[itpos12]) return;
2662 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2663 fra.me.file = LOCATE_parser_prod;
2664 fra.me.line = 464;
2665 fra.me.meth = LOCATE_parser_prod___APrivateVisibility___init_aprivatevisibility;
2666 fra.me.has_broke = 0;
2667 fra.me.REG_size = 2;
2668 fra.me.REG[0] = NIT_NULL;
2669 fra.me.REG[1] = NIT_NULL;
2670 fra.me.REG[0] = p0;
2671 fra.me.REG[1] = p1;
2672 /* ./parser//parser_prod.nit:468 */
2673 CALL_parser_prod___APrivateVisibility___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
2674 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
2675 /* ./parser//parser_prod.nit:469 */
2676 if (UNTAG_Bool(REGB0)) {
2677 } else {
2678 fprintf(stderr, "Cast failed");
2679 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 469);
2680 nit_exit(1);
2681 }
2682 ATTR_parser_nodes___APrivateVisibility____n_kwprivate(fra.me.REG[0]) = fra.me.REG[1];
2683 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2684 /* ./parser//parser_prod.nit:470 */
2685 if (UNTAG_Bool(REGB0)) {
2686 fprintf(stderr, "Reciever is null");
2687 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 470);
2688 nit_exit(1);
2689 }
2690 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2691 stack_frame_head = fra.me.prev;
2692 init_table[itpos12] = 1;
2693 return;
2694 }
2695 void parser_prod___AProtectedVisibility___n_kwprotected__eq(val_t p0, val_t p1){
2696 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2697 val_t tmp;
2698 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2699 fra.me.file = LOCATE_parser_prod;
2700 fra.me.line = 498;
2701 fra.me.meth = LOCATE_parser_prod___AProtectedVisibility___n_kwprotected__eq;
2702 fra.me.has_broke = 0;
2703 fra.me.REG_size = 2;
2704 fra.me.REG[0] = NIT_NULL;
2705 fra.me.REG[1] = NIT_NULL;
2706 fra.me.REG[0] = p0;
2707 fra.me.REG[1] = p1;
2708 /* ./parser//parser_prod.nit:500 */
2709 ATTR_parser_nodes___AProtectedVisibility____n_kwprotected(fra.me.REG[0]) = fra.me.REG[1];
2710 /* ./parser//parser_prod.nit:501 */
2711 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2712 stack_frame_head = fra.me.prev;
2713 return;
2714 }
2715 void parser_prod___AProtectedVisibility___replace_child(val_t p0, val_t p1, val_t p2){
2716 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2717 val_t REGB0;
2718 val_t REGB1;
2719 val_t tmp;
2720 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2721 fra.me.file = LOCATE_parser_prod;
2722 fra.me.line = 515;
2723 fra.me.meth = LOCATE_parser_prod___AProtectedVisibility___replace_child;
2724 fra.me.has_broke = 0;
2725 fra.me.REG_size = 4;
2726 fra.me.REG[0] = NIT_NULL;
2727 fra.me.REG[1] = NIT_NULL;
2728 fra.me.REG[2] = NIT_NULL;
2729 fra.me.REG[3] = NIT_NULL;
2730 fra.me.REG[0] = p0;
2731 fra.me.REG[1] = p1;
2732 fra.me.REG[2] = p2;
2733 REGB0 = TAG_Bool(ATTR_parser_nodes___AProtectedVisibility____n_kwprotected(fra.me.REG[0])!=NIT_NULL);
2734 /* ./parser//parser_prod.nit:517 */
2735 if (UNTAG_Bool(REGB0)) {
2736 } else {
2737 fprintf(stderr, "Uninitialized attribute %s", "_n_kwprotected");
2738 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 517);
2739 nit_exit(1);
2740 }
2741 fra.me.REG[3] = ATTR_parser_nodes___AProtectedVisibility____n_kwprotected(fra.me.REG[0]);
2742 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
2743 if (UNTAG_Bool(REGB0)) {
2744 } else {
2745 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
2746 REGB0 = REGB1;
2747 }
2748 if (UNTAG_Bool(REGB0)) {
2749 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
2750 /* ./parser//parser_prod.nit:518 */
2751 if (UNTAG_Bool(REGB0)) {
2752 } else {
2753 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
2754 if (UNTAG_Bool(REGB1)) {
2755 REGB1 = TAG_Bool(false);
2756 REGB0 = REGB1;
2757 } else {
2758 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
2759 REGB0 = REGB1;
2760 }
2761 }
2762 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
2763 if (UNTAG_Bool(REGB0)) {
2764 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
2765 /* ./parser//parser_prod.nit:519 */
2766 if (UNTAG_Bool(REGB0)) {
2767 fprintf(stderr, "Reciever is null");
2768 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 519);
2769 nit_exit(1);
2770 }
2771 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2772 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwprotected, ID_TKwprotected)) /*cast TKwprotected*/;
2773 /* ./parser//parser_prod.nit:520 */
2774 if (UNTAG_Bool(REGB0)) {
2775 } else {
2776 fprintf(stderr, "Assert failed");
2777 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 520);
2778 nit_exit(1);
2779 }
2780 /* ./parser//parser_prod.nit:521 */
2781 ATTR_parser_nodes___AProtectedVisibility____n_kwprotected(fra.me.REG[0]) = fra.me.REG[2];
2782 } else {
2783 /* ./parser//parser_prod.nit:523 */
2784 fprintf(stderr, "Aborted");
2785 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 523);
2786 nit_exit(1);
2787 }
2788 /* ./parser//parser_prod.nit:525 */
2789 goto label1;
2790 }
2791 label1: while(0);
2792 stack_frame_head = fra.me.prev;
2793 return;
2794 }
2795 void parser_prod___AProtectedVisibility___visit_all(val_t p0, val_t p1){
2796 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2797 val_t REGB0;
2798 val_t tmp;
2799 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2800 fra.me.file = LOCATE_parser_prod;
2801 fra.me.line = 529;
2802 fra.me.meth = LOCATE_parser_prod___AProtectedVisibility___visit_all;
2803 fra.me.has_broke = 0;
2804 fra.me.REG_size = 2;
2805 fra.me.REG[0] = NIT_NULL;
2806 fra.me.REG[1] = NIT_NULL;
2807 fra.me.REG[0] = p0;
2808 fra.me.REG[1] = p1;
2809 REGB0 = TAG_Bool(ATTR_parser_nodes___AProtectedVisibility____n_kwprotected(fra.me.REG[0])!=NIT_NULL);
2810 /* ./parser//parser_prod.nit:531 */
2811 if (UNTAG_Bool(REGB0)) {
2812 } else {
2813 fprintf(stderr, "Uninitialized attribute %s", "_n_kwprotected");
2814 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 531);
2815 nit_exit(1);
2816 }
2817 fra.me.REG[0] = ATTR_parser_nodes___AProtectedVisibility____n_kwprotected(fra.me.REG[0]);
2818 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2819 stack_frame_head = fra.me.prev;
2820 return;
2821 }
2822 void parser_prod___AProtectedVisibility___visit_all_reverse(val_t p0, val_t p1){
2823 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2824 val_t REGB0;
2825 val_t tmp;
2826 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2827 fra.me.file = LOCATE_parser_prod;
2828 fra.me.line = 534;
2829 fra.me.meth = LOCATE_parser_prod___AProtectedVisibility___visit_all_reverse;
2830 fra.me.has_broke = 0;
2831 fra.me.REG_size = 2;
2832 fra.me.REG[0] = NIT_NULL;
2833 fra.me.REG[1] = NIT_NULL;
2834 fra.me.REG[0] = p0;
2835 fra.me.REG[1] = p1;
2836 REGB0 = TAG_Bool(ATTR_parser_nodes___AProtectedVisibility____n_kwprotected(fra.me.REG[0])!=NIT_NULL);
2837 /* ./parser//parser_prod.nit:536 */
2838 if (UNTAG_Bool(REGB0)) {
2839 } else {
2840 fprintf(stderr, "Uninitialized attribute %s", "_n_kwprotected");
2841 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 536);
2842 nit_exit(1);
2843 }
2844 fra.me.REG[0] = ATTR_parser_nodes___AProtectedVisibility____n_kwprotected(fra.me.REG[0]);
2845 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2846 stack_frame_head = fra.me.prev;
2847 return;
2848 }
2849 void parser_prod___AProtectedVisibility___empty_init(val_t p0, int* init_table){
2850 int itpos13 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AProtectedVisibility].i;
2851 struct {struct stack_frame_t me;} fra;
2852 val_t tmp;
2853 if (init_table[itpos13]) return;
2854 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2855 fra.me.file = LOCATE_parser_prod;
2856 fra.me.line = 504;
2857 fra.me.meth = LOCATE_parser_prod___AProtectedVisibility___empty_init;
2858 fra.me.has_broke = 0;
2859 fra.me.REG_size = 1;
2860 fra.me.REG[0] = NIT_NULL;
2861 fra.me.REG[0] = p0;
2862 /* ./parser//parser_prod.nit:504 */
2863 stack_frame_head = fra.me.prev;
2864 init_table[itpos13] = 1;
2865 return;
2866 }
2867 void parser_prod___AProtectedVisibility___init_aprotectedvisibility(val_t p0, val_t p1, int* init_table){
2868 int itpos14 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AProtectedVisibility].i;
2869 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2870 val_t REGB0;
2871 val_t tmp;
2872 if (init_table[itpos14]) return;
2873 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2874 fra.me.file = LOCATE_parser_prod;
2875 fra.me.line = 506;
2876 fra.me.meth = LOCATE_parser_prod___AProtectedVisibility___init_aprotectedvisibility;
2877 fra.me.has_broke = 0;
2878 fra.me.REG_size = 2;
2879 fra.me.REG[0] = NIT_NULL;
2880 fra.me.REG[1] = NIT_NULL;
2881 fra.me.REG[0] = p0;
2882 fra.me.REG[1] = p1;
2883 /* ./parser//parser_prod.nit:510 */
2884 CALL_parser_prod___AProtectedVisibility___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
2885 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
2886 /* ./parser//parser_prod.nit:511 */
2887 if (UNTAG_Bool(REGB0)) {
2888 } else {
2889 fprintf(stderr, "Cast failed");
2890 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 511);
2891 nit_exit(1);
2892 }
2893 ATTR_parser_nodes___AProtectedVisibility____n_kwprotected(fra.me.REG[0]) = fra.me.REG[1];
2894 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2895 /* ./parser//parser_prod.nit:512 */
2896 if (UNTAG_Bool(REGB0)) {
2897 fprintf(stderr, "Reciever is null");
2898 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 512);
2899 nit_exit(1);
2900 }
2901 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2902 stack_frame_head = fra.me.prev;
2903 init_table[itpos14] = 1;
2904 return;
2905 }
2906 void parser_prod___AIntrudeVisibility___n_kwintrude__eq(val_t p0, val_t p1){
2907 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2908 val_t tmp;
2909 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2910 fra.me.file = LOCATE_parser_prod;
2911 fra.me.line = 540;
2912 fra.me.meth = LOCATE_parser_prod___AIntrudeVisibility___n_kwintrude__eq;
2913 fra.me.has_broke = 0;
2914 fra.me.REG_size = 2;
2915 fra.me.REG[0] = NIT_NULL;
2916 fra.me.REG[1] = NIT_NULL;
2917 fra.me.REG[0] = p0;
2918 fra.me.REG[1] = p1;
2919 /* ./parser//parser_prod.nit:542 */
2920 ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude(fra.me.REG[0]) = fra.me.REG[1];
2921 /* ./parser//parser_prod.nit:543 */
2922 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2923 stack_frame_head = fra.me.prev;
2924 return;
2925 }
2926 void parser_prod___AIntrudeVisibility___replace_child(val_t p0, val_t p1, val_t p2){
2927 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2928 val_t REGB0;
2929 val_t REGB1;
2930 val_t tmp;
2931 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2932 fra.me.file = LOCATE_parser_prod;
2933 fra.me.line = 557;
2934 fra.me.meth = LOCATE_parser_prod___AIntrudeVisibility___replace_child;
2935 fra.me.has_broke = 0;
2936 fra.me.REG_size = 4;
2937 fra.me.REG[0] = NIT_NULL;
2938 fra.me.REG[1] = NIT_NULL;
2939 fra.me.REG[2] = NIT_NULL;
2940 fra.me.REG[3] = NIT_NULL;
2941 fra.me.REG[0] = p0;
2942 fra.me.REG[1] = p1;
2943 fra.me.REG[2] = p2;
2944 REGB0 = TAG_Bool(ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude(fra.me.REG[0])!=NIT_NULL);
2945 /* ./parser//parser_prod.nit:559 */
2946 if (UNTAG_Bool(REGB0)) {
2947 } else {
2948 fprintf(stderr, "Uninitialized attribute %s", "_n_kwintrude");
2949 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 559);
2950 nit_exit(1);
2951 }
2952 fra.me.REG[3] = ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude(fra.me.REG[0]);
2953 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
2954 if (UNTAG_Bool(REGB0)) {
2955 } else {
2956 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
2957 REGB0 = REGB1;
2958 }
2959 if (UNTAG_Bool(REGB0)) {
2960 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
2961 /* ./parser//parser_prod.nit:560 */
2962 if (UNTAG_Bool(REGB0)) {
2963 } else {
2964 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
2965 if (UNTAG_Bool(REGB1)) {
2966 REGB1 = TAG_Bool(false);
2967 REGB0 = REGB1;
2968 } else {
2969 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
2970 REGB0 = REGB1;
2971 }
2972 }
2973 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
2974 if (UNTAG_Bool(REGB0)) {
2975 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
2976 /* ./parser//parser_prod.nit:561 */
2977 if (UNTAG_Bool(REGB0)) {
2978 fprintf(stderr, "Reciever is null");
2979 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 561);
2980 nit_exit(1);
2981 }
2982 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2983 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwintrude, ID_TKwintrude)) /*cast TKwintrude*/;
2984 /* ./parser//parser_prod.nit:562 */
2985 if (UNTAG_Bool(REGB0)) {
2986 } else {
2987 fprintf(stderr, "Assert failed");
2988 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 562);
2989 nit_exit(1);
2990 }
2991 /* ./parser//parser_prod.nit:563 */
2992 ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude(fra.me.REG[0]) = fra.me.REG[2];
2993 } else {
2994 /* ./parser//parser_prod.nit:565 */
2995 fprintf(stderr, "Aborted");
2996 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 565);
2997 nit_exit(1);
2998 }
2999 /* ./parser//parser_prod.nit:567 */
3000 goto label1;
3001 }
3002 label1: while(0);
3003 stack_frame_head = fra.me.prev;
3004 return;
3005 }
3006 void parser_prod___AIntrudeVisibility___visit_all(val_t p0, val_t p1){
3007 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
3008 val_t REGB0;
3009 val_t tmp;
3010 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3011 fra.me.file = LOCATE_parser_prod;
3012 fra.me.line = 571;
3013 fra.me.meth = LOCATE_parser_prod___AIntrudeVisibility___visit_all;
3014 fra.me.has_broke = 0;
3015 fra.me.REG_size = 2;
3016 fra.me.REG[0] = NIT_NULL;
3017 fra.me.REG[1] = NIT_NULL;
3018 fra.me.REG[0] = p0;
3019 fra.me.REG[1] = p1;
3020 REGB0 = TAG_Bool(ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude(fra.me.REG[0])!=NIT_NULL);
3021 /* ./parser//parser_prod.nit:573 */
3022 if (UNTAG_Bool(REGB0)) {
3023 } else {
3024 fprintf(stderr, "Uninitialized attribute %s", "_n_kwintrude");
3025 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 573);
3026 nit_exit(1);
3027 }
3028 fra.me.REG[0] = ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude(fra.me.REG[0]);
3029 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
3030 stack_frame_head = fra.me.prev;
3031 return;
3032 }
3033 void parser_prod___AIntrudeVisibility___visit_all_reverse(val_t p0, val_t p1){
3034 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
3035 val_t REGB0;
3036 val_t tmp;
3037 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3038 fra.me.file = LOCATE_parser_prod;
3039 fra.me.line = 576;
3040 fra.me.meth = LOCATE_parser_prod___AIntrudeVisibility___visit_all_reverse;
3041 fra.me.has_broke = 0;
3042 fra.me.REG_size = 2;
3043 fra.me.REG[0] = NIT_NULL;
3044 fra.me.REG[1] = NIT_NULL;
3045 fra.me.REG[0] = p0;
3046 fra.me.REG[1] = p1;
3047 REGB0 = TAG_Bool(ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude(fra.me.REG[0])!=NIT_NULL);
3048 /* ./parser//parser_prod.nit:578 */
3049 if (UNTAG_Bool(REGB0)) {
3050 } else {
3051 fprintf(stderr, "Uninitialized attribute %s", "_n_kwintrude");
3052 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 578);
3053 nit_exit(1);
3054 }
3055 fra.me.REG[0] = ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude(fra.me.REG[0]);
3056 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
3057 stack_frame_head = fra.me.prev;
3058 return;
3059 }
3060 void parser_prod___AIntrudeVisibility___empty_init(val_t p0, int* init_table){
3061 int itpos15 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AIntrudeVisibility].i;
3062 struct {struct stack_frame_t me;} fra;
3063 val_t tmp;
3064 if (init_table[itpos15]) return;
3065 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3066 fra.me.file = LOCATE_parser_prod;
3067 fra.me.line = 546;
3068 fra.me.meth = LOCATE_parser_prod___AIntrudeVisibility___empty_init;
3069 fra.me.has_broke = 0;
3070 fra.me.REG_size = 1;
3071 fra.me.REG[0] = NIT_NULL;
3072 fra.me.REG[0] = p0;
3073 /* ./parser//parser_prod.nit:546 */
3074 stack_frame_head = fra.me.prev;
3075 init_table[itpos15] = 1;
3076 return;
3077 }
3078 void parser_prod___AIntrudeVisibility___init_aintrudevisibility(val_t p0, val_t p1, int* init_table){
3079 int itpos16 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AIntrudeVisibility].i;
3080 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
3081 val_t REGB0;
3082 val_t tmp;
3083 if (init_table[itpos16]) return;
3084 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3085 fra.me.file = LOCATE_parser_prod;
3086 fra.me.line = 548;
3087 fra.me.meth = LOCATE_parser_prod___AIntrudeVisibility___init_aintrudevisibility;
3088 fra.me.has_broke = 0;
3089 fra.me.REG_size = 2;
3090 fra.me.REG[0] = NIT_NULL;
3091 fra.me.REG[1] = NIT_NULL;
3092 fra.me.REG[0] = p0;
3093 fra.me.REG[1] = p1;
3094 /* ./parser//parser_prod.nit:552 */
3095 CALL_parser_prod___AIntrudeVisibility___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
3096 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
3097 /* ./parser//parser_prod.nit:553 */
3098 if (UNTAG_Bool(REGB0)) {
3099 } else {
3100 fprintf(stderr, "Cast failed");
3101 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 553);
3102 nit_exit(1);
3103 }
3104 ATTR_parser_nodes___AIntrudeVisibility____n_kwintrude(fra.me.REG[0]) = fra.me.REG[1];
3105 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
3106 /* ./parser//parser_prod.nit:554 */
3107 if (UNTAG_Bool(REGB0)) {
3108 fprintf(stderr, "Reciever is null");
3109 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 554);
3110 nit_exit(1);
3111 }
3112 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
3113 stack_frame_head = fra.me.prev;
3114 init_table[itpos16] = 1;
3115 return;
3116 }
3117 void parser_prod___AStdClassdef___n_doc__eq(val_t p0, val_t p1){
3118 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
3119 val_t REGB0;
3120 val_t REGB1;
3121 val_t tmp;
3122 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3123 fra.me.file = LOCATE_parser_prod;
3124 fra.me.line = 582;
3125 fra.me.meth = LOCATE_parser_prod___AStdClassdef___n_doc__eq;
3126 fra.me.has_broke = 0;
3127 fra.me.REG_size = 2;
3128 fra.me.REG[0] = NIT_NULL;
3129 fra.me.REG[1] = NIT_NULL;
3130 fra.me.REG[0] = p0;
3131 fra.me.REG[1] = p1;
3132 /* ./parser//parser_prod.nit:584 */
3133 ATTR_parser_nodes___AStdClassdef____n_doc(fra.me.REG[0]) = fra.me.REG[1];
3134 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
3135 /* ./parser//parser_prod.nit:585 */
3136 if (UNTAG_Bool(REGB0)) {
3137 } else {
3138 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
3139 if (UNTAG_Bool(REGB1)) {
3140 REGB1 = TAG_Bool(false);
3141 REGB0 = REGB1;
3142 } else {
3143 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
3144 REGB0 = REGB1;
3145 }
3146 }
3147 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
3148 if (UNTAG_Bool(REGB0)) {
3149 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
3150 /* ./parser//parser_prod.nit:586 */
3151 if (UNTAG_Bool(REGB0)) {
3152 fprintf(stderr, "Reciever is null");
3153 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 586);
3154 nit_exit(1);
3155 }
3156 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
3157 }
3158 stack_frame_head = fra.me.prev;
3159 return;
3160 }
3161 void parser_prod___AStdClassdef___n_kwredef__eq(val_t p0, val_t p1){
3162 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
3163 val_t REGB0;
3164 val_t REGB1;
3165 val_t tmp;
3166 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3167 fra.me.file = LOCATE_parser_prod;
3168 fra.me.line = 589;
3169 fra.me.meth = LOCATE_parser_prod___AStdClassdef___n_kwredef__eq;
3170 fra.me.has_broke = 0;
3171 fra.me.REG_size = 2;
3172 fra.me.REG[0] = NIT_NULL;
3173 fra.me.REG[1] = NIT_NULL;
3174 fra.me.REG[0] = p0;
3175 fra.me.REG[1] = p1;
3176 /* ./parser//parser_prod.nit:591 */
3177 ATTR_parser_nodes___AStdClassdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[1];
3178 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
3179 /* ./parser//parser_prod.nit:592 */
3180 if (UNTAG_Bool(REGB0)) {
3181 } else {
3182 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
3183 if (UNTAG_Bool(REGB1)) {
3184 REGB1 = TAG_Bool(false);
3185 REGB0 = REGB1;
3186 } else {
3187 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
3188 REGB0 = REGB1;
3189 }
3190 }
3191 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
3192 if (UNTAG_Bool(REGB0)) {
3193 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
3194 /* ./parser//parser_prod.nit:593 */
3195 if (UNTAG_Bool(REGB0)) {
3196 fprintf(stderr, "Reciever is null");
3197 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 593);
3198 nit_exit(1);
3199 }
3200 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
3201 }
3202 stack_frame_head = fra.me.prev;
3203 return;
3204 }
3205 void parser_prod___AStdClassdef___n_visibility__eq(val_t p0, val_t p1){
3206 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
3207 val_t tmp;
3208 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3209 fra.me.file = LOCATE_parser_prod;
3210 fra.me.line = 596;
3211 fra.me.meth = LOCATE_parser_prod___AStdClassdef___n_visibility__eq;
3212 fra.me.has_broke = 0;
3213 fra.me.REG_size = 2;
3214 fra.me.REG[0] = NIT_NULL;
3215 fra.me.REG[1] = NIT_NULL;
3216 fra.me.REG[0] = p0;
3217 fra.me.REG[1] = p1;
3218 /* ./parser//parser_prod.nit:598 */
3219 ATTR_parser_nodes___AStdClassdef____n_visibility(fra.me.REG[0]) = fra.me.REG[1];
3220 /* ./parser//parser_prod.nit:599 */
3221 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
3222 stack_frame_head = fra.me.prev;
3223 return;
3224 }
3225 void parser_prod___AStdClassdef___n_classkind__eq(val_t p0, val_t p1){
3226 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
3227 val_t tmp;
3228 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3229 fra.me.file = LOCATE_parser_prod;
3230 fra.me.line = 601;
3231 fra.me.meth = LOCATE_parser_prod___AStdClassdef___n_classkind__eq;
3232 fra.me.has_broke = 0;
3233 fra.me.REG_size = 2;
3234 fra.me.REG[0] = NIT_NULL;
3235 fra.me.REG[1] = NIT_NULL;
3236 fra.me.REG[0] = p0;
3237 fra.me.REG[1] = p1;
3238 /* ./parser//parser_prod.nit:603 */
3239 ATTR_parser_nodes___AStdClassdef____n_classkind(fra.me.REG[0]) = fra.me.REG[1];
3240 /* ./parser//parser_prod.nit:604 */
3241 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
3242 stack_frame_head = fra.me.prev;
3243 return;
3244 }
3245 void parser_prod___AStdClassdef___n_id__eq(val_t p0, val_t p1){
3246 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
3247 val_t REGB0;
3248 val_t REGB1;
3249 val_t tmp;
3250 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3251 fra.me.file = LOCATE_parser_prod;
3252 fra.me.line = 606;
3253 fra.me.meth = LOCATE_parser_prod___AStdClassdef___n_id__eq;
3254 fra.me.has_broke = 0;
3255 fra.me.REG_size = 2;
3256 fra.me.REG[0] = NIT_NULL;
3257 fra.me.REG[1] = NIT_NULL;
3258 fra.me.REG[0] = p0;
3259 fra.me.REG[1] = p1;
3260 /* ./parser//parser_prod.nit:608 */
3261 ATTR_parser_nodes___AStdClassdef____n_id(fra.me.REG[0]) = fra.me.REG[1];
3262 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
3263 /* ./parser//parser_prod.nit:609 */
3264 if (UNTAG_Bool(REGB0)) {
3265 } else {
3266 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
3267 if (UNTAG_Bool(REGB1)) {
3268 REGB1 = TAG_Bool(false);
3269 REGB0 = REGB1;
3270 } else {
3271 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
3272 REGB0 = REGB1;
3273 }
3274 }
3275 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
3276 if (UNTAG_Bool(REGB0)) {
3277 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
3278 /* ./parser//parser_prod.nit:610 */
3279 if (UNTAG_Bool(REGB0)) {
3280 fprintf(stderr, "Reciever is null");
3281 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 610);
3282 nit_exit(1);
3283 }
3284 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
3285 }
3286 stack_frame_head = fra.me.prev;
3287 return;
3288 }
3289 void parser_prod___AStdClassdef___replace_child(val_t p0, val_t p1, val_t p2){
3290 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
3291 val_t REGB0;
3292 val_t REGB1;
3293 val_t REGB2;
3294 val_t tmp;
3295 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3296 fra.me.file = LOCATE_parser_prod;
3297 fra.me.line = 661;
3298 fra.me.meth = LOCATE_parser_prod___AStdClassdef___replace_child;
3299 fra.me.has_broke = 0;
3300 fra.me.REG_size = 5;
3301 fra.me.REG[0] = NIT_NULL;
3302 fra.me.REG[1] = NIT_NULL;
3303 fra.me.REG[2] = NIT_NULL;
3304 fra.me.REG[3] = NIT_NULL;
3305 fra.me.REG[4] = NIT_NULL;
3306 fra.me.REG[0] = p0;
3307 fra.me.REG[1] = p1;
3308 fra.me.REG[2] = p2;
3309 fra.me.REG[3] = ATTR_parser_nodes___AStdClassdef____n_doc(fra.me.REG[0]);
3310 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
3311 /* ./parser//parser_prod.nit:663 */
3312 if (UNTAG_Bool(REGB0)) {
3313 } else {
3314 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
3315 if (UNTAG_Bool(REGB1)) {
3316 REGB1 = TAG_Bool(false);
3317 REGB0 = REGB1;
3318 } else {
3319 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
3320 REGB0 = REGB1;
3321 }
3322 }
3323 if (UNTAG_Bool(REGB0)) {
3324 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3325 /* ./parser//parser_prod.nit:664 */
3326 if (UNTAG_Bool(REGB0)) {
3327 } else {
3328 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3329 if (UNTAG_Bool(REGB1)) {
3330 REGB1 = TAG_Bool(false);
3331 REGB0 = REGB1;
3332 } else {
3333 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
3334 REGB0 = REGB1;
3335 }
3336 }
3337 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
3338 if (UNTAG_Bool(REGB0)) {
3339 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3340 /* ./parser//parser_prod.nit:665 */
3341 if (UNTAG_Bool(REGB0)) {
3342 fprintf(stderr, "Reciever is null");
3343 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 665);
3344 nit_exit(1);
3345 }
3346 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
3347 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
3348 /* ./parser//parser_prod.nit:666 */
3349 if (UNTAG_Bool(REGB0)) {
3350 } else {
3351 fprintf(stderr, "Assert failed");
3352 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 666);
3353 nit_exit(1);
3354 }
3355 /* ./parser//parser_prod.nit:667 */
3356 ATTR_parser_nodes___AStdClassdef____n_doc(fra.me.REG[0]) = fra.me.REG[2];
3357 } else {
3358 /* ./parser//parser_prod.nit:669 */
3359 ATTR_parser_nodes___AStdClassdef____n_doc(fra.me.REG[0]) = NIT_NULL;
3360 }
3361 /* ./parser//parser_prod.nit:671 */
3362 goto label1;
3363 }
3364 fra.me.REG[3] = ATTR_parser_nodes___AStdClassdef____n_kwredef(fra.me.REG[0]);
3365 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
3366 /* ./parser//parser_prod.nit:673 */
3367 if (UNTAG_Bool(REGB0)) {
3368 } else {
3369 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
3370 if (UNTAG_Bool(REGB1)) {
3371 REGB1 = TAG_Bool(false);
3372 REGB0 = REGB1;
3373 } else {
3374 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
3375 REGB0 = REGB1;
3376 }
3377 }
3378 if (UNTAG_Bool(REGB0)) {
3379 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3380 /* ./parser//parser_prod.nit:674 */
3381 if (UNTAG_Bool(REGB0)) {
3382 } else {
3383 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3384 if (UNTAG_Bool(REGB1)) {
3385 REGB1 = TAG_Bool(false);
3386 REGB0 = REGB1;
3387 } else {
3388 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
3389 REGB0 = REGB1;
3390 }
3391 }
3392 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
3393 if (UNTAG_Bool(REGB0)) {
3394 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3395 /* ./parser//parser_prod.nit:675 */
3396 if (UNTAG_Bool(REGB0)) {
3397 fprintf(stderr, "Reciever is null");
3398 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 675);
3399 nit_exit(1);
3400 }
3401 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
3402 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
3403 /* ./parser//parser_prod.nit:676 */
3404 if (UNTAG_Bool(REGB0)) {
3405 } else {
3406 fprintf(stderr, "Assert failed");
3407 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 676);
3408 nit_exit(1);
3409 }
3410 /* ./parser//parser_prod.nit:677 */
3411 ATTR_parser_nodes___AStdClassdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[2];
3412 } else {
3413 /* ./parser//parser_prod.nit:679 */
3414 ATTR_parser_nodes___AStdClassdef____n_kwredef(fra.me.REG[0]) = NIT_NULL;
3415 }
3416 /* ./parser//parser_prod.nit:681 */
3417 goto label1;
3418 }
3419 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_visibility(fra.me.REG[0])!=NIT_NULL);
3420 /* ./parser//parser_prod.nit:683 */
3421 if (UNTAG_Bool(REGB0)) {
3422 } else {
3423 fprintf(stderr, "Uninitialized attribute %s", "_n_visibility");
3424 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 683);
3425 nit_exit(1);
3426 }
3427 fra.me.REG[3] = ATTR_parser_nodes___AStdClassdef____n_visibility(fra.me.REG[0]);
3428 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
3429 if (UNTAG_Bool(REGB0)) {
3430 } else {
3431 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
3432 REGB0 = REGB1;
3433 }
3434 if (UNTAG_Bool(REGB0)) {
3435 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3436 /* ./parser//parser_prod.nit:684 */
3437 if (UNTAG_Bool(REGB0)) {
3438 } else {
3439 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3440 if (UNTAG_Bool(REGB1)) {
3441 REGB1 = TAG_Bool(false);
3442 REGB0 = REGB1;
3443 } else {
3444 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
3445 REGB0 = REGB1;
3446 }
3447 }
3448 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
3449 if (UNTAG_Bool(REGB0)) {
3450 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3451 /* ./parser//parser_prod.nit:685 */
3452 if (UNTAG_Bool(REGB0)) {
3453 fprintf(stderr, "Reciever is null");
3454 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 685);
3455 nit_exit(1);
3456 }
3457 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
3458 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AVisibility, ID_AVisibility)) /*cast AVisibility*/;
3459 /* ./parser//parser_prod.nit:686 */
3460 if (UNTAG_Bool(REGB0)) {
3461 } else {
3462 fprintf(stderr, "Assert failed");
3463 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 686);
3464 nit_exit(1);
3465 }
3466 /* ./parser//parser_prod.nit:687 */
3467 ATTR_parser_nodes___AStdClassdef____n_visibility(fra.me.REG[0]) = fra.me.REG[2];
3468 } else {
3469 /* ./parser//parser_prod.nit:689 */
3470 fprintf(stderr, "Aborted");
3471 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 689);
3472 nit_exit(1);
3473 }
3474 /* ./parser//parser_prod.nit:691 */
3475 goto label1;
3476 }
3477 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_classkind(fra.me.REG[0])!=NIT_NULL);
3478 /* ./parser//parser_prod.nit:693 */
3479 if (UNTAG_Bool(REGB0)) {
3480 } else {
3481 fprintf(stderr, "Uninitialized attribute %s", "_n_classkind");
3482 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 693);
3483 nit_exit(1);
3484 }
3485 fra.me.REG[3] = ATTR_parser_nodes___AStdClassdef____n_classkind(fra.me.REG[0]);
3486 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
3487 if (UNTAG_Bool(REGB0)) {
3488 } else {
3489 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
3490 REGB0 = REGB1;
3491 }
3492 if (UNTAG_Bool(REGB0)) {
3493 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3494 /* ./parser//parser_prod.nit:694 */
3495 if (UNTAG_Bool(REGB0)) {
3496 } else {
3497 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3498 if (UNTAG_Bool(REGB1)) {
3499 REGB1 = TAG_Bool(false);
3500 REGB0 = REGB1;
3501 } else {
3502 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
3503 REGB0 = REGB1;
3504 }
3505 }
3506 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
3507 if (UNTAG_Bool(REGB0)) {
3508 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3509 /* ./parser//parser_prod.nit:695 */
3510 if (UNTAG_Bool(REGB0)) {
3511 fprintf(stderr, "Reciever is null");
3512 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 695);
3513 nit_exit(1);
3514 }
3515 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
3516 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AClasskind, ID_AClasskind)) /*cast AClasskind*/;
3517 /* ./parser//parser_prod.nit:696 */
3518 if (UNTAG_Bool(REGB0)) {
3519 } else {
3520 fprintf(stderr, "Assert failed");
3521 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 696);
3522 nit_exit(1);
3523 }
3524 /* ./parser//parser_prod.nit:697 */
3525 ATTR_parser_nodes___AStdClassdef____n_classkind(fra.me.REG[0]) = fra.me.REG[2];
3526 } else {
3527 /* ./parser//parser_prod.nit:699 */
3528 fprintf(stderr, "Aborted");
3529 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 699);
3530 nit_exit(1);
3531 }
3532 /* ./parser//parser_prod.nit:701 */
3533 goto label1;
3534 }
3535 fra.me.REG[3] = ATTR_parser_nodes___AStdClassdef____n_id(fra.me.REG[0]);
3536 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
3537 /* ./parser//parser_prod.nit:703 */
3538 if (UNTAG_Bool(REGB0)) {
3539 } else {
3540 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
3541 if (UNTAG_Bool(REGB1)) {
3542 REGB1 = TAG_Bool(false);
3543 REGB0 = REGB1;
3544 } else {
3545 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
3546 REGB0 = REGB1;
3547 }
3548 }
3549 if (UNTAG_Bool(REGB0)) {
3550 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3551 /* ./parser//parser_prod.nit:704 */
3552 if (UNTAG_Bool(REGB0)) {
3553 } else {
3554 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3555 if (UNTAG_Bool(REGB1)) {
3556 REGB1 = TAG_Bool(false);
3557 REGB0 = REGB1;
3558 } else {
3559 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
3560 REGB0 = REGB1;
3561 }
3562 }
3563 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
3564 if (UNTAG_Bool(REGB0)) {
3565 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3566 /* ./parser//parser_prod.nit:705 */
3567 if (UNTAG_Bool(REGB0)) {
3568 fprintf(stderr, "Reciever is null");
3569 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 705);
3570 nit_exit(1);
3571 }
3572 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
3573 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
3574 /* ./parser//parser_prod.nit:706 */
3575 if (UNTAG_Bool(REGB0)) {
3576 } else {
3577 fprintf(stderr, "Assert failed");
3578 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 706);
3579 nit_exit(1);
3580 }
3581 /* ./parser//parser_prod.nit:707 */
3582 ATTR_parser_nodes___AStdClassdef____n_id(fra.me.REG[0]) = fra.me.REG[2];
3583 } else {
3584 /* ./parser//parser_prod.nit:709 */
3585 ATTR_parser_nodes___AStdClassdef____n_id(fra.me.REG[0]) = NIT_NULL;
3586 }
3587 /* ./parser//parser_prod.nit:711 */
3588 goto label1;
3589 }
3590 REGB0 = TAG_Int(0);
3591 REGB1 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_formaldefs(fra.me.REG[0])!=NIT_NULL);
3592 /* ./parser//parser_prod.nit:713 */
3593 if (UNTAG_Bool(REGB1)) {
3594 } else {
3595 fprintf(stderr, "Uninitialized attribute %s", "_n_formaldefs");
3596 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 713);
3597 nit_exit(1);
3598 }
3599 fra.me.REG[3] = ATTR_parser_nodes___AStdClassdef____n_formaldefs(fra.me.REG[0]);
3600 REGB1 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
3601 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB0, REGB1);
3602 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
3603 while(1) {
3604 REGB1 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
3605 if (UNTAG_Bool(REGB1)) {
3606 REGB1 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
3607 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_formaldefs(fra.me.REG[0])!=NIT_NULL);
3608 /* ./parser//parser_prod.nit:714 */
3609 if (UNTAG_Bool(REGB0)) {
3610 } else {
3611 fprintf(stderr, "Uninitialized attribute %s", "_n_formaldefs");
3612 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 714);
3613 nit_exit(1);
3614 }
3615 fra.me.REG[4] = ATTR_parser_nodes___AStdClassdef____n_formaldefs(fra.me.REG[0]);
3616 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB1);
3617 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[4]));
3618 if (UNTAG_Bool(REGB0)) {
3619 } else {
3620 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
3621 if (UNTAG_Bool(REGB2)) {
3622 REGB2 = TAG_Bool(false);
3623 REGB0 = REGB2;
3624 } else {
3625 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
3626 REGB0 = REGB2;
3627 }
3628 }
3629 if (UNTAG_Bool(REGB0)) {
3630 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3631 /* ./parser//parser_prod.nit:715 */
3632 if (UNTAG_Bool(REGB0)) {
3633 } else {
3634 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3635 if (UNTAG_Bool(REGB2)) {
3636 REGB2 = TAG_Bool(false);
3637 REGB0 = REGB2;
3638 } else {
3639 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
3640 REGB0 = REGB2;
3641 }
3642 }
3643 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
3644 if (UNTAG_Bool(REGB0)) {
3645 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AFormaldef, ID_AFormaldef)) /*cast AFormaldef*/;
3646 /* ./parser//parser_prod.nit:716 */
3647 if (UNTAG_Bool(REGB0)) {
3648 } else {
3649 fprintf(stderr, "Assert failed");
3650 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 716);
3651 nit_exit(1);
3652 }
3653 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_formaldefs(fra.me.REG[0])!=NIT_NULL);
3654 /* ./parser//parser_prod.nit:717 */
3655 if (UNTAG_Bool(REGB0)) {
3656 } else {
3657 fprintf(stderr, "Uninitialized attribute %s", "_n_formaldefs");
3658 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 717);
3659 nit_exit(1);
3660 }
3661 fra.me.REG[4] = ATTR_parser_nodes___AStdClassdef____n_formaldefs(fra.me.REG[0]);
3662 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], REGB1, fra.me.REG[2]);
3663 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3664 /* ./parser//parser_prod.nit:718 */
3665 if (UNTAG_Bool(REGB0)) {
3666 fprintf(stderr, "Reciever is null");
3667 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 718);
3668 nit_exit(1);
3669 }
3670 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
3671 } else {
3672 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_formaldefs(fra.me.REG[0])!=NIT_NULL);
3673 /* ./parser//parser_prod.nit:720 */
3674 if (UNTAG_Bool(REGB0)) {
3675 } else {
3676 fprintf(stderr, "Uninitialized attribute %s", "_n_formaldefs");
3677 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 720);
3678 nit_exit(1);
3679 }
3680 fra.me.REG[4] = ATTR_parser_nodes___AStdClassdef____n_formaldefs(fra.me.REG[0]);
3681 CALL_abstract_collection___Map___remove_at(fra.me.REG[4])(fra.me.REG[4], REGB1);
3682 }
3683 /* ./parser//parser_prod.nit:722 */
3684 goto label1;
3685 }
3686 } else {
3687 /* ./parser//parser_prod.nit:713 */
3688 goto label2;
3689 }
3690 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
3691 }
3692 label2: while(0);
3693 REGB1 = TAG_Int(0);
3694 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_superclasses(fra.me.REG[0])!=NIT_NULL);
3695 /* ./parser//parser_prod.nit:725 */
3696 if (UNTAG_Bool(REGB0)) {
3697 } else {
3698 fprintf(stderr, "Uninitialized attribute %s", "_n_superclasses");
3699 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 725);
3700 nit_exit(1);
3701 }
3702 fra.me.REG[3] = ATTR_parser_nodes___AStdClassdef____n_superclasses(fra.me.REG[0]);
3703 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
3704 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB1, REGB0);
3705 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
3706 while(1) {
3707 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
3708 if (UNTAG_Bool(REGB0)) {
3709 REGB0 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
3710 REGB1 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_superclasses(fra.me.REG[0])!=NIT_NULL);
3711 /* ./parser//parser_prod.nit:726 */
3712 if (UNTAG_Bool(REGB1)) {
3713 } else {
3714 fprintf(stderr, "Uninitialized attribute %s", "_n_superclasses");
3715 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 726);
3716 nit_exit(1);
3717 }
3718 fra.me.REG[4] = ATTR_parser_nodes___AStdClassdef____n_superclasses(fra.me.REG[0]);
3719 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB0);
3720 REGB1 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[4]));
3721 if (UNTAG_Bool(REGB1)) {
3722 } else {
3723 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
3724 if (UNTAG_Bool(REGB2)) {
3725 REGB2 = TAG_Bool(false);
3726 REGB1 = REGB2;
3727 } else {
3728 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
3729 REGB1 = REGB2;
3730 }
3731 }
3732 if (UNTAG_Bool(REGB1)) {
3733 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3734 /* ./parser//parser_prod.nit:727 */
3735 if (UNTAG_Bool(REGB1)) {
3736 } else {
3737 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3738 if (UNTAG_Bool(REGB2)) {
3739 REGB2 = TAG_Bool(false);
3740 REGB1 = REGB2;
3741 } else {
3742 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
3743 REGB1 = REGB2;
3744 }
3745 }
3746 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
3747 if (UNTAG_Bool(REGB1)) {
3748 REGB1 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ASuperclass, ID_ASuperclass)) /*cast ASuperclass*/;
3749 /* ./parser//parser_prod.nit:728 */
3750 if (UNTAG_Bool(REGB1)) {
3751 } else {
3752 fprintf(stderr, "Assert failed");
3753 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 728);
3754 nit_exit(1);
3755 }
3756 REGB1 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_superclasses(fra.me.REG[0])!=NIT_NULL);
3757 /* ./parser//parser_prod.nit:729 */
3758 if (UNTAG_Bool(REGB1)) {
3759 } else {
3760 fprintf(stderr, "Uninitialized attribute %s", "_n_superclasses");
3761 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 729);
3762 nit_exit(1);
3763 }
3764 fra.me.REG[4] = ATTR_parser_nodes___AStdClassdef____n_superclasses(fra.me.REG[0]);
3765 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], REGB0, fra.me.REG[2]);
3766 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3767 /* ./parser//parser_prod.nit:730 */
3768 if (UNTAG_Bool(REGB1)) {
3769 fprintf(stderr, "Reciever is null");
3770 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 730);
3771 nit_exit(1);
3772 }
3773 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
3774 } else {
3775 REGB1 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_superclasses(fra.me.REG[0])!=NIT_NULL);
3776 /* ./parser//parser_prod.nit:732 */
3777 if (UNTAG_Bool(REGB1)) {
3778 } else {
3779 fprintf(stderr, "Uninitialized attribute %s", "_n_superclasses");
3780 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 732);
3781 nit_exit(1);
3782 }
3783 fra.me.REG[4] = ATTR_parser_nodes___AStdClassdef____n_superclasses(fra.me.REG[0]);
3784 CALL_abstract_collection___Map___remove_at(fra.me.REG[4])(fra.me.REG[4], REGB0);
3785 }
3786 /* ./parser//parser_prod.nit:734 */
3787 goto label1;
3788 }
3789 } else {
3790 /* ./parser//parser_prod.nit:725 */
3791 goto label3;
3792 }
3793 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
3794 }
3795 label3: while(0);
3796 REGB0 = TAG_Int(0);
3797 REGB1 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_propdefs(fra.me.REG[0])!=NIT_NULL);
3798 /* ./parser//parser_prod.nit:737 */
3799 if (UNTAG_Bool(REGB1)) {
3800 } else {
3801 fprintf(stderr, "Uninitialized attribute %s", "_n_propdefs");
3802 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 737);
3803 nit_exit(1);
3804 }
3805 fra.me.REG[3] = ATTR_parser_nodes___AStdClassdef____n_propdefs(fra.me.REG[0]);
3806 REGB1 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
3807 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB0, REGB1);
3808 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
3809 while(1) {
3810 REGB1 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
3811 if (UNTAG_Bool(REGB1)) {
3812 REGB1 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
3813 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_propdefs(fra.me.REG[0])!=NIT_NULL);
3814 /* ./parser//parser_prod.nit:738 */
3815 if (UNTAG_Bool(REGB0)) {
3816 } else {
3817 fprintf(stderr, "Uninitialized attribute %s", "_n_propdefs");
3818 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 738);
3819 nit_exit(1);
3820 }
3821 fra.me.REG[4] = ATTR_parser_nodes___AStdClassdef____n_propdefs(fra.me.REG[0]);
3822 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB1);
3823 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[4]));
3824 if (UNTAG_Bool(REGB0)) {
3825 } else {
3826 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
3827 if (UNTAG_Bool(REGB2)) {
3828 REGB2 = TAG_Bool(false);
3829 REGB0 = REGB2;
3830 } else {
3831 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
3832 REGB0 = REGB2;
3833 }
3834 }
3835 if (UNTAG_Bool(REGB0)) {
3836 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3837 /* ./parser//parser_prod.nit:739 */
3838 if (UNTAG_Bool(REGB0)) {
3839 } else {
3840 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3841 if (UNTAG_Bool(REGB2)) {
3842 REGB2 = TAG_Bool(false);
3843 REGB0 = REGB2;
3844 } else {
3845 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
3846 REGB0 = REGB2;
3847 }
3848 }
3849 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
3850 if (UNTAG_Bool(REGB0)) {
3851 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast APropdef*/;
3852 /* ./parser//parser_prod.nit:740 */
3853 if (UNTAG_Bool(REGB0)) {
3854 } else {
3855 fprintf(stderr, "Assert failed");
3856 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 740);
3857 nit_exit(1);
3858 }
3859 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_propdefs(fra.me.REG[0])!=NIT_NULL);
3860 /* ./parser//parser_prod.nit:741 */
3861 if (UNTAG_Bool(REGB0)) {
3862 } else {
3863 fprintf(stderr, "Uninitialized attribute %s", "_n_propdefs");
3864 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 741);
3865 nit_exit(1);
3866 }
3867 fra.me.REG[4] = ATTR_parser_nodes___AStdClassdef____n_propdefs(fra.me.REG[0]);
3868 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], REGB1, fra.me.REG[2]);
3869 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3870 /* ./parser//parser_prod.nit:742 */
3871 if (UNTAG_Bool(REGB0)) {
3872 fprintf(stderr, "Reciever is null");
3873 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 742);
3874 nit_exit(1);
3875 }
3876 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
3877 } else {
3878 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_propdefs(fra.me.REG[0])!=NIT_NULL);
3879 /* ./parser//parser_prod.nit:744 */
3880 if (UNTAG_Bool(REGB0)) {
3881 } else {
3882 fprintf(stderr, "Uninitialized attribute %s", "_n_propdefs");
3883 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 744);
3884 nit_exit(1);
3885 }
3886 fra.me.REG[4] = ATTR_parser_nodes___AStdClassdef____n_propdefs(fra.me.REG[0]);
3887 CALL_abstract_collection___Map___remove_at(fra.me.REG[4])(fra.me.REG[4], REGB1);
3888 }
3889 /* ./parser//parser_prod.nit:746 */
3890 goto label1;
3891 }
3892 } else {
3893 /* ./parser//parser_prod.nit:737 */
3894 goto label4;
3895 }
3896 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
3897 }
3898 label4: while(0);
3899 label1: while(0);
3900 stack_frame_head = fra.me.prev;
3901 return;
3902 }
3903 void parser_prod___AStdClassdef___visit_all(val_t p0, val_t p1){
3904 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
3905 val_t REGB0;
3906 val_t REGB1;
3907 val_t tmp;
3908 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3909 fra.me.file = LOCATE_parser_prod;
3910 fra.me.line = 751;
3911 fra.me.meth = LOCATE_parser_prod___AStdClassdef___visit_all;
3912 fra.me.has_broke = 0;
3913 fra.me.REG_size = 4;
3914 fra.me.REG[0] = NIT_NULL;
3915 fra.me.REG[1] = NIT_NULL;
3916 fra.me.REG[2] = NIT_NULL;
3917 fra.me.REG[3] = NIT_NULL;
3918 fra.me.REG[0] = p0;
3919 fra.me.REG[1] = p1;
3920 fra.me.REG[2] = ATTR_parser_nodes___AStdClassdef____n_doc(fra.me.REG[0]);
3921 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3922 /* ./parser//parser_prod.nit:753 */
3923 if (UNTAG_Bool(REGB0)) {
3924 } else {
3925 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3926 if (UNTAG_Bool(REGB1)) {
3927 REGB1 = TAG_Bool(false);
3928 REGB0 = REGB1;
3929 } else {
3930 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
3931 REGB0 = REGB1;
3932 }
3933 }
3934 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
3935 if (UNTAG_Bool(REGB0)) {
3936 fra.me.REG[2] = ATTR_parser_nodes___AStdClassdef____n_doc(fra.me.REG[0]);
3937 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
3938 /* ./parser//parser_prod.nit:754 */
3939 if (UNTAG_Bool(REGB0)) {
3940 } else {
3941 fprintf(stderr, "Cast failed");
3942 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 754);
3943 nit_exit(1);
3944 }
3945 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3946 }
3947 fra.me.REG[2] = ATTR_parser_nodes___AStdClassdef____n_kwredef(fra.me.REG[0]);
3948 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3949 /* ./parser//parser_prod.nit:756 */
3950 if (UNTAG_Bool(REGB0)) {
3951 } else {
3952 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3953 if (UNTAG_Bool(REGB1)) {
3954 REGB1 = TAG_Bool(false);
3955 REGB0 = REGB1;
3956 } else {
3957 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
3958 REGB0 = REGB1;
3959 }
3960 }
3961 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
3962 if (UNTAG_Bool(REGB0)) {
3963 fra.me.REG[2] = ATTR_parser_nodes___AStdClassdef____n_kwredef(fra.me.REG[0]);
3964 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
3965 /* ./parser//parser_prod.nit:757 */
3966 if (UNTAG_Bool(REGB0)) {
3967 } else {
3968 fprintf(stderr, "Cast failed");
3969 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 757);
3970 nit_exit(1);
3971 }
3972 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3973 }
3974 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_visibility(fra.me.REG[0])!=NIT_NULL);
3975 /* ./parser//parser_prod.nit:759 */
3976 if (UNTAG_Bool(REGB0)) {
3977 } else {
3978 fprintf(stderr, "Uninitialized attribute %s", "_n_visibility");
3979 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 759);
3980 nit_exit(1);
3981 }
3982 fra.me.REG[2] = ATTR_parser_nodes___AStdClassdef____n_visibility(fra.me.REG[0]);
3983 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3984 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_classkind(fra.me.REG[0])!=NIT_NULL);
3985 /* ./parser//parser_prod.nit:760 */
3986 if (UNTAG_Bool(REGB0)) {
3987 } else {
3988 fprintf(stderr, "Uninitialized attribute %s", "_n_classkind");
3989 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 760);
3990 nit_exit(1);
3991 }
3992 fra.me.REG[2] = ATTR_parser_nodes___AStdClassdef____n_classkind(fra.me.REG[0]);
3993 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3994 fra.me.REG[2] = ATTR_parser_nodes___AStdClassdef____n_id(fra.me.REG[0]);
3995 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
3996 /* ./parser//parser_prod.nit:761 */
3997 if (UNTAG_Bool(REGB0)) {
3998 } else {
3999 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4000 if (UNTAG_Bool(REGB1)) {
4001 REGB1 = TAG_Bool(false);
4002 REGB0 = REGB1;
4003 } else {
4004 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
4005 REGB0 = REGB1;
4006 }
4007 }
4008 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
4009 if (UNTAG_Bool(REGB0)) {
4010 fra.me.REG[2] = ATTR_parser_nodes___AStdClassdef____n_id(fra.me.REG[0]);
4011 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
4012 /* ./parser//parser_prod.nit:762 */
4013 if (UNTAG_Bool(REGB0)) {
4014 } else {
4015 fprintf(stderr, "Cast failed");
4016 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 762);
4017 nit_exit(1);
4018 }
4019 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4020 }
4021 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_formaldefs(fra.me.REG[0])!=NIT_NULL);
4022 /* ./parser//parser_prod.nit:764 */
4023 if (UNTAG_Bool(REGB0)) {
4024 } else {
4025 fprintf(stderr, "Uninitialized attribute %s", "_n_formaldefs");
4026 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 764);
4027 nit_exit(1);
4028 }
4029 fra.me.REG[2] = ATTR_parser_nodes___AStdClassdef____n_formaldefs(fra.me.REG[0]);
4030 fra.me.REG[2] = CALL_abstract_collection___Collection___iterator(fra.me.REG[2])(fra.me.REG[2]);
4031 while(1) {
4032 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[2])(fra.me.REG[2]);
4033 if (UNTAG_Bool(REGB0)) {
4034 fra.me.REG[3] = CALL_abstract_collection___Iterator___item(fra.me.REG[2])(fra.me.REG[2]);
4035 /* ./parser//parser_prod.nit:765 */
4036 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
4037 } else {
4038 /* ./parser//parser_prod.nit:764 */
4039 goto label1;
4040 }
4041 CALL_abstract_collection___Iterator___next(fra.me.REG[2])(fra.me.REG[2]);
4042 }
4043 label1: while(0);
4044 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_superclasses(fra.me.REG[0])!=NIT_NULL);
4045 /* ./parser//parser_prod.nit:767 */
4046 if (UNTAG_Bool(REGB0)) {
4047 } else {
4048 fprintf(stderr, "Uninitialized attribute %s", "_n_superclasses");
4049 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 767);
4050 nit_exit(1);
4051 }
4052 fra.me.REG[2] = ATTR_parser_nodes___AStdClassdef____n_superclasses(fra.me.REG[0]);
4053 fra.me.REG[2] = CALL_abstract_collection___Collection___iterator(fra.me.REG[2])(fra.me.REG[2]);
4054 while(1) {
4055 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[2])(fra.me.REG[2]);
4056 if (UNTAG_Bool(REGB0)) {
4057 fra.me.REG[3] = CALL_abstract_collection___Iterator___item(fra.me.REG[2])(fra.me.REG[2]);
4058 /* ./parser//parser_prod.nit:768 */
4059 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
4060 } else {
4061 /* ./parser//parser_prod.nit:767 */
4062 goto label2;
4063 }
4064 CALL_abstract_collection___Iterator___next(fra.me.REG[2])(fra.me.REG[2]);
4065 }
4066 label2: while(0);
4067 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_propdefs(fra.me.REG[0])!=NIT_NULL);
4068 /* ./parser//parser_prod.nit:770 */
4069 if (UNTAG_Bool(REGB0)) {
4070 } else {
4071 fprintf(stderr, "Uninitialized attribute %s", "_n_propdefs");
4072 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 770);
4073 nit_exit(1);
4074 }
4075 fra.me.REG[0] = ATTR_parser_nodes___AStdClassdef____n_propdefs(fra.me.REG[0]);
4076 fra.me.REG[0] = CALL_abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
4077 while(1) {
4078 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
4079 if (UNTAG_Bool(REGB0)) {
4080 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
4081 /* ./parser//parser_prod.nit:771 */
4082 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4083 } else {
4084 /* ./parser//parser_prod.nit:770 */
4085 goto label3;
4086 }
4087 CALL_abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
4088 }
4089 label3: while(0);
4090 stack_frame_head = fra.me.prev;
4091 return;
4092 }
4093 void parser_prod___AStdClassdef___visit_all_reverse(val_t p0, val_t p1){
4094 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
4095 val_t REGB0;
4096 val_t REGB1;
4097 val_t tmp;
4098 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4099 fra.me.file = LOCATE_parser_prod;
4100 fra.me.line = 775;
4101 fra.me.meth = LOCATE_parser_prod___AStdClassdef___visit_all_reverse;
4102 fra.me.has_broke = 0;
4103 fra.me.REG_size = 3;
4104 fra.me.REG[0] = NIT_NULL;
4105 fra.me.REG[1] = NIT_NULL;
4106 fra.me.REG[2] = NIT_NULL;
4107 fra.me.REG[0] = p0;
4108 fra.me.REG[1] = p1;
4109 fra.me.REG[2] = ATTR_parser_nodes___AStdClassdef____n_doc(fra.me.REG[0]);
4110 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4111 /* ./parser//parser_prod.nit:777 */
4112 if (UNTAG_Bool(REGB0)) {
4113 } else {
4114 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4115 if (UNTAG_Bool(REGB1)) {
4116 REGB1 = TAG_Bool(false);
4117 REGB0 = REGB1;
4118 } else {
4119 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
4120 REGB0 = REGB1;
4121 }
4122 }
4123 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
4124 if (UNTAG_Bool(REGB0)) {
4125 fra.me.REG[2] = ATTR_parser_nodes___AStdClassdef____n_doc(fra.me.REG[0]);
4126 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
4127 /* ./parser//parser_prod.nit:778 */
4128 if (UNTAG_Bool(REGB0)) {
4129 } else {
4130 fprintf(stderr, "Cast failed");
4131 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 778);
4132 nit_exit(1);
4133 }
4134 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4135 }
4136 fra.me.REG[2] = ATTR_parser_nodes___AStdClassdef____n_kwredef(fra.me.REG[0]);
4137 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4138 /* ./parser//parser_prod.nit:780 */
4139 if (UNTAG_Bool(REGB0)) {
4140 } else {
4141 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4142 if (UNTAG_Bool(REGB1)) {
4143 REGB1 = TAG_Bool(false);
4144 REGB0 = REGB1;
4145 } else {
4146 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
4147 REGB0 = REGB1;
4148 }
4149 }
4150 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
4151 if (UNTAG_Bool(REGB0)) {
4152 fra.me.REG[2] = ATTR_parser_nodes___AStdClassdef____n_kwredef(fra.me.REG[0]);
4153 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
4154 /* ./parser//parser_prod.nit:781 */
4155 if (UNTAG_Bool(REGB0)) {
4156 } else {
4157 fprintf(stderr, "Cast failed");
4158 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 781);
4159 nit_exit(1);
4160 }
4161 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4162 }
4163 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_visibility(fra.me.REG[0])!=NIT_NULL);
4164 /* ./parser//parser_prod.nit:783 */
4165 if (UNTAG_Bool(REGB0)) {
4166 } else {
4167 fprintf(stderr, "Uninitialized attribute %s", "_n_visibility");
4168 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 783);
4169 nit_exit(1);
4170 }
4171 fra.me.REG[2] = ATTR_parser_nodes___AStdClassdef____n_visibility(fra.me.REG[0]);
4172 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4173 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_classkind(fra.me.REG[0])!=NIT_NULL);
4174 /* ./parser//parser_prod.nit:784 */
4175 if (UNTAG_Bool(REGB0)) {
4176 } else {
4177 fprintf(stderr, "Uninitialized attribute %s", "_n_classkind");
4178 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 784);
4179 nit_exit(1);
4180 }
4181 fra.me.REG[2] = ATTR_parser_nodes___AStdClassdef____n_classkind(fra.me.REG[0]);
4182 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4183 fra.me.REG[2] = ATTR_parser_nodes___AStdClassdef____n_id(fra.me.REG[0]);
4184 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4185 /* ./parser//parser_prod.nit:785 */
4186 if (UNTAG_Bool(REGB0)) {
4187 } else {
4188 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4189 if (UNTAG_Bool(REGB1)) {
4190 REGB1 = TAG_Bool(false);
4191 REGB0 = REGB1;
4192 } else {
4193 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
4194 REGB0 = REGB1;
4195 }
4196 }
4197 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
4198 if (UNTAG_Bool(REGB0)) {
4199 fra.me.REG[2] = ATTR_parser_nodes___AStdClassdef____n_id(fra.me.REG[0]);
4200 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
4201 /* ./parser//parser_prod.nit:786 */
4202 if (UNTAG_Bool(REGB0)) {
4203 } else {
4204 fprintf(stderr, "Cast failed");
4205 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 786);
4206 nit_exit(1);
4207 }
4208 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4209 }
4210 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_formaldefs(fra.me.REG[0])!=NIT_NULL);
4211 /* ./parser//parser_prod.nit:789 */
4212 if (UNTAG_Bool(REGB0)) {
4213 } else {
4214 fprintf(stderr, "Uninitialized attribute %s", "_n_formaldefs");
4215 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 789);
4216 nit_exit(1);
4217 }
4218 fra.me.REG[2] = ATTR_parser_nodes___AStdClassdef____n_formaldefs(fra.me.REG[0]);
4219 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
4220 /* ./parser//parser_prod.nit:790 */
4221 while(1) {
4222 REGB1 = TAG_Int(0);
4223 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
4224 /* ./parser//parser_prod.nit:790 */
4225 if (UNTAG_Bool(REGB1)) {
4226 REGB1 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_formaldefs(fra.me.REG[0])!=NIT_NULL);
4227 /* ./parser//parser_prod.nit:791 */
4228 if (UNTAG_Bool(REGB1)) {
4229 } else {
4230 fprintf(stderr, "Uninitialized attribute %s", "_n_formaldefs");
4231 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 791);
4232 nit_exit(1);
4233 }
4234 fra.me.REG[2] = ATTR_parser_nodes___AStdClassdef____n_formaldefs(fra.me.REG[0]);
4235 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
4236 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4237 REGB1 = TAG_Int(1);
4238 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
4239 REGB0 = REGB1;
4240 /* ./parser//parser_prod.nit:792 */
4241 } else {
4242 /* ./parser//parser_prod.nit:790 */
4243 goto label1;
4244 }
4245 }
4246 label1: while(0);
4247 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_superclasses(fra.me.REG[0])!=NIT_NULL);
4248 /* ./parser//parser_prod.nit:796 */
4249 if (UNTAG_Bool(REGB0)) {
4250 } else {
4251 fprintf(stderr, "Uninitialized attribute %s", "_n_superclasses");
4252 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 796);
4253 nit_exit(1);
4254 }
4255 fra.me.REG[2] = ATTR_parser_nodes___AStdClassdef____n_superclasses(fra.me.REG[0]);
4256 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
4257 /* ./parser//parser_prod.nit:797 */
4258 while(1) {
4259 REGB1 = TAG_Int(0);
4260 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
4261 /* ./parser//parser_prod.nit:797 */
4262 if (UNTAG_Bool(REGB1)) {
4263 REGB1 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_superclasses(fra.me.REG[0])!=NIT_NULL);
4264 /* ./parser//parser_prod.nit:798 */
4265 if (UNTAG_Bool(REGB1)) {
4266 } else {
4267 fprintf(stderr, "Uninitialized attribute %s", "_n_superclasses");
4268 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 798);
4269 nit_exit(1);
4270 }
4271 fra.me.REG[2] = ATTR_parser_nodes___AStdClassdef____n_superclasses(fra.me.REG[0]);
4272 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
4273 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4274 REGB1 = TAG_Int(1);
4275 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
4276 REGB0 = REGB1;
4277 /* ./parser//parser_prod.nit:799 */
4278 } else {
4279 /* ./parser//parser_prod.nit:797 */
4280 goto label2;
4281 }
4282 }
4283 label2: while(0);
4284 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_propdefs(fra.me.REG[0])!=NIT_NULL);
4285 /* ./parser//parser_prod.nit:803 */
4286 if (UNTAG_Bool(REGB0)) {
4287 } else {
4288 fprintf(stderr, "Uninitialized attribute %s", "_n_propdefs");
4289 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 803);
4290 nit_exit(1);
4291 }
4292 fra.me.REG[2] = ATTR_parser_nodes___AStdClassdef____n_propdefs(fra.me.REG[0]);
4293 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
4294 /* ./parser//parser_prod.nit:804 */
4295 while(1) {
4296 REGB1 = TAG_Int(0);
4297 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
4298 /* ./parser//parser_prod.nit:804 */
4299 if (UNTAG_Bool(REGB1)) {
4300 REGB1 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_propdefs(fra.me.REG[0])!=NIT_NULL);
4301 /* ./parser//parser_prod.nit:805 */
4302 if (UNTAG_Bool(REGB1)) {
4303 } else {
4304 fprintf(stderr, "Uninitialized attribute %s", "_n_propdefs");
4305 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 805);
4306 nit_exit(1);
4307 }
4308 fra.me.REG[2] = ATTR_parser_nodes___AStdClassdef____n_propdefs(fra.me.REG[0]);
4309 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
4310 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4311 REGB1 = TAG_Int(1);
4312 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
4313 REGB0 = REGB1;
4314 /* ./parser//parser_prod.nit:806 */
4315 } else {
4316 /* ./parser//parser_prod.nit:804 */
4317 goto label3;
4318 }
4319 }
4320 label3: while(0);
4321 stack_frame_head = fra.me.prev;
4322 return;
4323 }
4324 void parser_prod___AStdClassdef___empty_init(val_t p0, int* init_table){
4325 int itpos17 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AStdClassdef].i;
4326 struct {struct stack_frame_t me;} fra;
4327 val_t tmp;
4328 if (init_table[itpos17]) return;
4329 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4330 fra.me.file = LOCATE_parser_prod;
4331 fra.me.line = 614;
4332 fra.me.meth = LOCATE_parser_prod___AStdClassdef___empty_init;
4333 fra.me.has_broke = 0;
4334 fra.me.REG_size = 1;
4335 fra.me.REG[0] = NIT_NULL;
4336 fra.me.REG[0] = p0;
4337 /* ./parser//parser_prod.nit:614 */
4338 stack_frame_head = fra.me.prev;
4339 init_table[itpos17] = 1;
4340 return;
4341 }
4342 void parser_prod___AStdClassdef___init_astdclassdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6, val_t p7, val_t p8, int* init_table){
4343 int itpos18 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AStdClassdef].i;
4344 struct {struct stack_frame_t me; val_t MORE_REG[8];} fra;
4345 val_t REGB0;
4346 val_t REGB1;
4347 val_t tmp;
4348 if (init_table[itpos18]) return;
4349 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4350 fra.me.file = LOCATE_parser_prod;
4351 fra.me.line = 616;
4352 fra.me.meth = LOCATE_parser_prod___AStdClassdef___init_astdclassdef;
4353 fra.me.has_broke = 0;
4354 fra.me.REG_size = 9;
4355 fra.me.REG[0] = NIT_NULL;
4356 fra.me.REG[1] = NIT_NULL;
4357 fra.me.REG[2] = NIT_NULL;
4358 fra.me.REG[3] = NIT_NULL;
4359 fra.me.REG[4] = NIT_NULL;
4360 fra.me.REG[5] = NIT_NULL;
4361 fra.me.REG[6] = NIT_NULL;
4362 fra.me.REG[7] = NIT_NULL;
4363 fra.me.REG[8] = NIT_NULL;
4364 fra.me.REG[0] = p0;
4365 fra.me.REG[1] = p1;
4366 fra.me.REG[2] = p2;
4367 fra.me.REG[3] = p3;
4368 fra.me.REG[4] = p4;
4369 fra.me.REG[5] = p5;
4370 fra.me.REG[6] = p6;
4371 fra.me.REG[7] = p7;
4372 fra.me.REG[8] = p8;
4373 /* ./parser//parser_prod.nit:627 */
4374 CALL_parser_prod___AStdClassdef___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
4375 /* ./parser//parser_prod.nit:628 */
4376 ATTR_parser_nodes___AStdClassdef____n_doc(fra.me.REG[0]) = fra.me.REG[1];
4377 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
4378 /* ./parser//parser_prod.nit:629 */
4379 if (UNTAG_Bool(REGB0)) {
4380 } else {
4381 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
4382 if (UNTAG_Bool(REGB1)) {
4383 REGB1 = TAG_Bool(false);
4384 REGB0 = REGB1;
4385 } else {
4386 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
4387 REGB0 = REGB1;
4388 }
4389 }
4390 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
4391 if (UNTAG_Bool(REGB0)) {
4392 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
4393 /* ./parser//parser_prod.nit:630 */
4394 if (UNTAG_Bool(REGB0)) {
4395 fprintf(stderr, "Reciever is null");
4396 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 630);
4397 nit_exit(1);
4398 }
4399 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
4400 }
4401 /* ./parser//parser_prod.nit:632 */
4402 ATTR_parser_nodes___AStdClassdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[2];
4403 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4404 /* ./parser//parser_prod.nit:633 */
4405 if (UNTAG_Bool(REGB0)) {
4406 } else {
4407 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4408 if (UNTAG_Bool(REGB1)) {
4409 REGB1 = TAG_Bool(false);
4410 REGB0 = REGB1;
4411 } else {
4412 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
4413 REGB0 = REGB1;
4414 }
4415 }
4416 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
4417 if (UNTAG_Bool(REGB0)) {
4418 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4419 /* ./parser//parser_prod.nit:634 */
4420 if (UNTAG_Bool(REGB0)) {
4421 fprintf(stderr, "Reciever is null");
4422 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 634);
4423 nit_exit(1);
4424 }
4425 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
4426 }
4427 REGB0 = TAG_Bool(fra.me.REG[3]!=NIT_NULL);
4428 /* ./parser//parser_prod.nit:636 */
4429 if (UNTAG_Bool(REGB0)) {
4430 } else {
4431 fprintf(stderr, "Cast failed");
4432 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 636);
4433 nit_exit(1);
4434 }
4435 ATTR_parser_nodes___AStdClassdef____n_visibility(fra.me.REG[0]) = fra.me.REG[3];
4436 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
4437 /* ./parser//parser_prod.nit:637 */
4438 if (UNTAG_Bool(REGB0)) {
4439 fprintf(stderr, "Reciever is null");
4440 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 637);
4441 nit_exit(1);
4442 }
4443 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
4444 REGB0 = TAG_Bool(fra.me.REG[4]!=NIT_NULL);
4445 /* ./parser//parser_prod.nit:638 */
4446 if (UNTAG_Bool(REGB0)) {
4447 } else {
4448 fprintf(stderr, "Cast failed");
4449 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 638);
4450 nit_exit(1);
4451 }
4452 ATTR_parser_nodes___AStdClassdef____n_classkind(fra.me.REG[0]) = fra.me.REG[4];
4453 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
4454 /* ./parser//parser_prod.nit:639 */
4455 if (UNTAG_Bool(REGB0)) {
4456 fprintf(stderr, "Reciever is null");
4457 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 639);
4458 nit_exit(1);
4459 }
4460 CALL_parser_prod___ANode___parent__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
4461 /* ./parser//parser_prod.nit:640 */
4462 ATTR_parser_nodes___AStdClassdef____n_id(fra.me.REG[0]) = fra.me.REG[5];
4463 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
4464 /* ./parser//parser_prod.nit:641 */
4465 if (UNTAG_Bool(REGB0)) {
4466 } else {
4467 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
4468 if (UNTAG_Bool(REGB1)) {
4469 REGB1 = TAG_Bool(false);
4470 REGB0 = REGB1;
4471 } else {
4472 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
4473 REGB0 = REGB1;
4474 }
4475 }
4476 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
4477 if (UNTAG_Bool(REGB0)) {
4478 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
4479 /* ./parser//parser_prod.nit:642 */
4480 if (UNTAG_Bool(REGB0)) {
4481 fprintf(stderr, "Reciever is null");
4482 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 642);
4483 nit_exit(1);
4484 }
4485 CALL_parser_prod___ANode___parent__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[0]);
4486 }
4487 fra.me.REG[6] = CALL_abstract_collection___Collection___iterator(fra.me.REG[6])(fra.me.REG[6]);
4488 /* ./parser//parser_prod.nit:644 */
4489 while(1) {
4490 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[6])(fra.me.REG[6]);
4491 if (UNTAG_Bool(REGB0)) {
4492 fra.me.REG[5] = CALL_abstract_collection___Iterator___item(fra.me.REG[6])(fra.me.REG[6]);
4493 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[5], COLOR_AFormaldef, ID_AFormaldef)) /*cast AFormaldef*/;
4494 /* ./parser//parser_prod.nit:645 */
4495 if (UNTAG_Bool(REGB0)) {
4496 } else {
4497 fprintf(stderr, "Assert failed");
4498 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 645);
4499 nit_exit(1);
4500 }
4501 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_formaldefs(fra.me.REG[0])!=NIT_NULL);
4502 /* ./parser//parser_prod.nit:646 */
4503 if (UNTAG_Bool(REGB0)) {
4504 } else {
4505 fprintf(stderr, "Uninitialized attribute %s", "_n_formaldefs");
4506 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 646);
4507 nit_exit(1);
4508 }
4509 fra.me.REG[4] = ATTR_parser_nodes___AStdClassdef____n_formaldefs(fra.me.REG[0]);
4510 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
4511 /* ./parser//parser_prod.nit:647 */
4512 CALL_parser_prod___ANode___parent__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[0]);
4513 } else {
4514 /* ./parser//parser_prod.nit:644 */
4515 goto label1;
4516 }
4517 CALL_abstract_collection___Iterator___next(fra.me.REG[6])(fra.me.REG[6]);
4518 }
4519 label1: while(0);
4520 fra.me.REG[7] = CALL_abstract_collection___Collection___iterator(fra.me.REG[7])(fra.me.REG[7]);
4521 /* ./parser//parser_prod.nit:649 */
4522 while(1) {
4523 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[7])(fra.me.REG[7]);
4524 if (UNTAG_Bool(REGB0)) {
4525 fra.me.REG[6] = CALL_abstract_collection___Iterator___item(fra.me.REG[7])(fra.me.REG[7]);
4526 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[6], COLOR_ASuperclass, ID_ASuperclass)) /*cast ASuperclass*/;
4527 /* ./parser//parser_prod.nit:650 */
4528 if (UNTAG_Bool(REGB0)) {
4529 } else {
4530 fprintf(stderr, "Assert failed");
4531 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 650);
4532 nit_exit(1);
4533 }
4534 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_superclasses(fra.me.REG[0])!=NIT_NULL);
4535 /* ./parser//parser_prod.nit:651 */
4536 if (UNTAG_Bool(REGB0)) {
4537 } else {
4538 fprintf(stderr, "Uninitialized attribute %s", "_n_superclasses");
4539 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 651);
4540 nit_exit(1);
4541 }
4542 fra.me.REG[5] = ATTR_parser_nodes___AStdClassdef____n_superclasses(fra.me.REG[0]);
4543 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
4544 /* ./parser//parser_prod.nit:652 */
4545 CALL_parser_prod___ANode___parent__eq(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[0]);
4546 } else {
4547 /* ./parser//parser_prod.nit:649 */
4548 goto label2;
4549 }
4550 CALL_abstract_collection___Iterator___next(fra.me.REG[7])(fra.me.REG[7]);
4551 }
4552 label2: while(0);
4553 fra.me.REG[8] = CALL_abstract_collection___Collection___iterator(fra.me.REG[8])(fra.me.REG[8]);
4554 /* ./parser//parser_prod.nit:654 */
4555 while(1) {
4556 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[8])(fra.me.REG[8]);
4557 if (UNTAG_Bool(REGB0)) {
4558 fra.me.REG[7] = CALL_abstract_collection___Iterator___item(fra.me.REG[8])(fra.me.REG[8]);
4559 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[7], COLOR_APropdef, ID_APropdef)) /*cast APropdef*/;
4560 /* ./parser//parser_prod.nit:655 */
4561 if (UNTAG_Bool(REGB0)) {
4562 } else {
4563 fprintf(stderr, "Assert failed");
4564 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 655);
4565 nit_exit(1);
4566 }
4567 REGB0 = TAG_Bool(ATTR_parser_nodes___AStdClassdef____n_propdefs(fra.me.REG[0])!=NIT_NULL);
4568 /* ./parser//parser_prod.nit:656 */
4569 if (UNTAG_Bool(REGB0)) {
4570 } else {
4571 fprintf(stderr, "Uninitialized attribute %s", "_n_propdefs");
4572 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 656);
4573 nit_exit(1);
4574 }
4575 fra.me.REG[6] = ATTR_parser_nodes___AStdClassdef____n_propdefs(fra.me.REG[0]);
4576 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
4577 /* ./parser//parser_prod.nit:657 */
4578 CALL_parser_prod___ANode___parent__eq(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[0]);
4579 } else {
4580 /* ./parser//parser_prod.nit:654 */
4581 goto label3;
4582 }
4583 CALL_abstract_collection___Iterator___next(fra.me.REG[8])(fra.me.REG[8]);
4584 }
4585 label3: while(0);
4586 stack_frame_head = fra.me.prev;
4587 init_table[itpos18] = 1;
4588 return;
4589 }
4590 void parser_prod___ATopClassdef___replace_child(val_t p0, val_t p1, val_t p2){
4591 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
4592 val_t REGB0;
4593 val_t REGB1;
4594 val_t REGB2;
4595 val_t tmp;
4596 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4597 fra.me.file = LOCATE_parser_prod;
4598 fra.me.line = 827;
4599 fra.me.meth = LOCATE_parser_prod___ATopClassdef___replace_child;
4600 fra.me.has_broke = 0;
4601 fra.me.REG_size = 5;
4602 fra.me.REG[0] = NIT_NULL;
4603 fra.me.REG[1] = NIT_NULL;
4604 fra.me.REG[2] = NIT_NULL;
4605 fra.me.REG[3] = NIT_NULL;
4606 fra.me.REG[4] = NIT_NULL;
4607 fra.me.REG[0] = p0;
4608 fra.me.REG[1] = p1;
4609 fra.me.REG[2] = p2;
4610 REGB0 = TAG_Int(0);
4611 REGB1 = TAG_Bool(ATTR_parser_nodes___ATopClassdef____n_propdefs(fra.me.REG[0])!=NIT_NULL);
4612 /* ./parser//parser_prod.nit:829 */
4613 if (UNTAG_Bool(REGB1)) {
4614 } else {
4615 fprintf(stderr, "Uninitialized attribute %s", "_n_propdefs");
4616 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 829);
4617 nit_exit(1);
4618 }
4619 fra.me.REG[3] = ATTR_parser_nodes___ATopClassdef____n_propdefs(fra.me.REG[0]);
4620 REGB1 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
4621 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB0, REGB1);
4622 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
4623 while(1) {
4624 REGB1 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
4625 if (UNTAG_Bool(REGB1)) {
4626 REGB1 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
4627 REGB0 = TAG_Bool(ATTR_parser_nodes___ATopClassdef____n_propdefs(fra.me.REG[0])!=NIT_NULL);
4628 /* ./parser//parser_prod.nit:830 */
4629 if (UNTAG_Bool(REGB0)) {
4630 } else {
4631 fprintf(stderr, "Uninitialized attribute %s", "_n_propdefs");
4632 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 830);
4633 nit_exit(1);
4634 }
4635 fra.me.REG[4] = ATTR_parser_nodes___ATopClassdef____n_propdefs(fra.me.REG[0]);
4636 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB1);
4637 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[4]));
4638 if (UNTAG_Bool(REGB0)) {
4639 } else {
4640 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
4641 if (UNTAG_Bool(REGB2)) {
4642 REGB2 = TAG_Bool(false);
4643 REGB0 = REGB2;
4644 } else {
4645 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
4646 REGB0 = REGB2;
4647 }
4648 }
4649 if (UNTAG_Bool(REGB0)) {
4650 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4651 /* ./parser//parser_prod.nit:831 */
4652 if (UNTAG_Bool(REGB0)) {
4653 } else {
4654 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4655 if (UNTAG_Bool(REGB2)) {
4656 REGB2 = TAG_Bool(false);
4657 REGB0 = REGB2;
4658 } else {
4659 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
4660 REGB0 = REGB2;
4661 }
4662 }
4663 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
4664 if (UNTAG_Bool(REGB0)) {
4665 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast APropdef*/;
4666 /* ./parser//parser_prod.nit:832 */
4667 if (UNTAG_Bool(REGB0)) {
4668 } else {
4669 fprintf(stderr, "Assert failed");
4670 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 832);
4671 nit_exit(1);
4672 }
4673 REGB0 = TAG_Bool(ATTR_parser_nodes___ATopClassdef____n_propdefs(fra.me.REG[0])!=NIT_NULL);
4674 /* ./parser//parser_prod.nit:833 */
4675 if (UNTAG_Bool(REGB0)) {
4676 } else {
4677 fprintf(stderr, "Uninitialized attribute %s", "_n_propdefs");
4678 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 833);
4679 nit_exit(1);
4680 }
4681 fra.me.REG[4] = ATTR_parser_nodes___ATopClassdef____n_propdefs(fra.me.REG[0]);
4682 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], REGB1, fra.me.REG[2]);
4683 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4684 /* ./parser//parser_prod.nit:834 */
4685 if (UNTAG_Bool(REGB0)) {
4686 fprintf(stderr, "Reciever is null");
4687 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 834);
4688 nit_exit(1);
4689 }
4690 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
4691 } else {
4692 REGB0 = TAG_Bool(ATTR_parser_nodes___ATopClassdef____n_propdefs(fra.me.REG[0])!=NIT_NULL);
4693 /* ./parser//parser_prod.nit:836 */
4694 if (UNTAG_Bool(REGB0)) {
4695 } else {
4696 fprintf(stderr, "Uninitialized attribute %s", "_n_propdefs");
4697 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 836);
4698 nit_exit(1);
4699 }
4700 fra.me.REG[4] = ATTR_parser_nodes___ATopClassdef____n_propdefs(fra.me.REG[0]);
4701 CALL_abstract_collection___Map___remove_at(fra.me.REG[4])(fra.me.REG[4], REGB1);
4702 }
4703 /* ./parser//parser_prod.nit:838 */
4704 goto label1;
4705 }
4706 } else {
4707 /* ./parser//parser_prod.nit:829 */
4708 goto label2;
4709 }
4710 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
4711 }
4712 label2: while(0);
4713 label1: while(0);
4714 stack_frame_head = fra.me.prev;
4715 return;
4716 }
4717 void parser_prod___ATopClassdef___visit_all(val_t p0, val_t p1){
4718 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
4719 val_t REGB0;
4720 val_t tmp;
4721 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4722 fra.me.file = LOCATE_parser_prod;
4723 fra.me.line = 843;
4724 fra.me.meth = LOCATE_parser_prod___ATopClassdef___visit_all;
4725 fra.me.has_broke = 0;
4726 fra.me.REG_size = 3;
4727 fra.me.REG[0] = NIT_NULL;
4728 fra.me.REG[1] = NIT_NULL;
4729 fra.me.REG[2] = NIT_NULL;
4730 fra.me.REG[0] = p0;
4731 fra.me.REG[1] = p1;
4732 REGB0 = TAG_Bool(ATTR_parser_nodes___ATopClassdef____n_propdefs(fra.me.REG[0])!=NIT_NULL);
4733 /* ./parser//parser_prod.nit:845 */
4734 if (UNTAG_Bool(REGB0)) {
4735 } else {
4736 fprintf(stderr, "Uninitialized attribute %s", "_n_propdefs");
4737 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 845);
4738 nit_exit(1);
4739 }
4740 fra.me.REG[0] = ATTR_parser_nodes___ATopClassdef____n_propdefs(fra.me.REG[0]);
4741 fra.me.REG[0] = CALL_abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
4742 while(1) {
4743 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
4744 if (UNTAG_Bool(REGB0)) {
4745 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
4746 /* ./parser//parser_prod.nit:846 */
4747 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4748 } else {
4749 /* ./parser//parser_prod.nit:845 */
4750 goto label1;
4751 }
4752 CALL_abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
4753 }
4754 label1: while(0);
4755 stack_frame_head = fra.me.prev;
4756 return;
4757 }
4758 void parser_prod___ATopClassdef___visit_all_reverse(val_t p0, val_t p1){
4759 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
4760 val_t REGB0;
4761 val_t REGB1;
4762 val_t tmp;
4763 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4764 fra.me.file = LOCATE_parser_prod;
4765 fra.me.line = 850;
4766 fra.me.meth = LOCATE_parser_prod___ATopClassdef___visit_all_reverse;
4767 fra.me.has_broke = 0;
4768 fra.me.REG_size = 3;
4769 fra.me.REG[0] = NIT_NULL;
4770 fra.me.REG[1] = NIT_NULL;
4771 fra.me.REG[2] = NIT_NULL;
4772 fra.me.REG[0] = p0;
4773 fra.me.REG[1] = p1;
4774 REGB0 = TAG_Bool(ATTR_parser_nodes___ATopClassdef____n_propdefs(fra.me.REG[0])!=NIT_NULL);
4775 /* ./parser//parser_prod.nit:853 */
4776 if (UNTAG_Bool(REGB0)) {
4777 } else {
4778 fprintf(stderr, "Uninitialized attribute %s", "_n_propdefs");
4779 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 853);
4780 nit_exit(1);
4781 }
4782 fra.me.REG[2] = ATTR_parser_nodes___ATopClassdef____n_propdefs(fra.me.REG[0]);
4783 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
4784 /* ./parser//parser_prod.nit:854 */
4785 while(1) {
4786 REGB1 = TAG_Int(0);
4787 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
4788 /* ./parser//parser_prod.nit:854 */
4789 if (UNTAG_Bool(REGB1)) {
4790 REGB1 = TAG_Bool(ATTR_parser_nodes___ATopClassdef____n_propdefs(fra.me.REG[0])!=NIT_NULL);
4791 /* ./parser//parser_prod.nit:855 */
4792 if (UNTAG_Bool(REGB1)) {
4793 } else {
4794 fprintf(stderr, "Uninitialized attribute %s", "_n_propdefs");
4795 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 855);
4796 nit_exit(1);
4797 }
4798 fra.me.REG[2] = ATTR_parser_nodes___ATopClassdef____n_propdefs(fra.me.REG[0]);
4799 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
4800 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
4801 REGB1 = TAG_Int(1);
4802 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
4803 REGB0 = REGB1;
4804 /* ./parser//parser_prod.nit:856 */
4805 } else {
4806 /* ./parser//parser_prod.nit:854 */
4807 goto label1;
4808 }
4809 }
4810 label1: while(0);
4811 stack_frame_head = fra.me.prev;
4812 return;
4813 }
4814 void parser_prod___ATopClassdef___empty_init(val_t p0, int* init_table){
4815 int itpos19 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ATopClassdef].i;
4816 struct {struct stack_frame_t me;} fra;
4817 val_t tmp;
4818 if (init_table[itpos19]) return;
4819 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4820 fra.me.file = LOCATE_parser_prod;
4821 fra.me.line = 813;
4822 fra.me.meth = LOCATE_parser_prod___ATopClassdef___empty_init;
4823 fra.me.has_broke = 0;
4824 fra.me.REG_size = 1;
4825 fra.me.REG[0] = NIT_NULL;
4826 fra.me.REG[0] = p0;
4827 /* ./parser//parser_prod.nit:813 */
4828 stack_frame_head = fra.me.prev;
4829 init_table[itpos19] = 1;
4830 return;
4831 }
4832 void parser_prod___ATopClassdef___init_atopclassdef(val_t p0, val_t p1, int* init_table){
4833 int itpos20 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ATopClassdef].i;
4834 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
4835 val_t REGB0;
4836 val_t tmp;
4837 if (init_table[itpos20]) return;
4838 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4839 fra.me.file = LOCATE_parser_prod;
4840 fra.me.line = 815;
4841 fra.me.meth = LOCATE_parser_prod___ATopClassdef___init_atopclassdef;
4842 fra.me.has_broke = 0;
4843 fra.me.REG_size = 4;
4844 fra.me.REG[0] = NIT_NULL;
4845 fra.me.REG[1] = NIT_NULL;
4846 fra.me.REG[2] = NIT_NULL;
4847 fra.me.REG[3] = NIT_NULL;
4848 fra.me.REG[0] = p0;
4849 fra.me.REG[1] = p1;
4850 /* ./parser//parser_prod.nit:819 */
4851 CALL_parser_prod___ATopClassdef___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
4852 fra.me.REG[1] = CALL_abstract_collection___Collection___iterator(fra.me.REG[1])(fra.me.REG[1]);
4853 /* ./parser//parser_prod.nit:820 */
4854 while(1) {
4855 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[1])(fra.me.REG[1]);
4856 if (UNTAG_Bool(REGB0)) {
4857 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[1])(fra.me.REG[1]);
4858 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast APropdef*/;
4859 /* ./parser//parser_prod.nit:821 */
4860 if (UNTAG_Bool(REGB0)) {
4861 } else {
4862 fprintf(stderr, "Assert failed");
4863 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 821);
4864 nit_exit(1);
4865 }
4866 REGB0 = TAG_Bool(ATTR_parser_nodes___ATopClassdef____n_propdefs(fra.me.REG[0])!=NIT_NULL);
4867 /* ./parser//parser_prod.nit:822 */
4868 if (UNTAG_Bool(REGB0)) {
4869 } else {
4870 fprintf(stderr, "Uninitialized attribute %s", "_n_propdefs");
4871 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 822);
4872 nit_exit(1);
4873 }
4874 fra.me.REG[3] = ATTR_parser_nodes___ATopClassdef____n_propdefs(fra.me.REG[0]);
4875 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
4876 /* ./parser//parser_prod.nit:823 */
4877 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
4878 } else {
4879 /* ./parser//parser_prod.nit:820 */
4880 goto label1;
4881 }
4882 CALL_abstract_collection___Iterator___next(fra.me.REG[1])(fra.me.REG[1]);
4883 }
4884 label1: while(0);
4885 stack_frame_head = fra.me.prev;
4886 init_table[itpos20] = 1;
4887 return;
4888 }
4889 void parser_prod___AMainClassdef___replace_child(val_t p0, val_t p1, val_t p2){
4890 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
4891 val_t REGB0;
4892 val_t REGB1;
4893 val_t REGB2;
4894 val_t tmp;
4895 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
4896 fra.me.file = LOCATE_parser_prod;
4897 fra.me.line = 877;
4898 fra.me.meth = LOCATE_parser_prod___AMainClassdef___replace_child;
4899 fra.me.has_broke = 0;
4900 fra.me.REG_size = 5;
4901 fra.me.REG[0] = NIT_NULL;
4902 fra.me.REG[1] = NIT_NULL;
4903 fra.me.REG[2] = NIT_NULL;
4904 fra.me.REG[3] = NIT_NULL;
4905 fra.me.REG[4] = NIT_NULL;
4906 fra.me.REG[0] = p0;
4907 fra.me.REG[1] = p1;
4908 fra.me.REG[2] = p2;
4909 REGB0 = TAG_Int(0);
4910 REGB1 = TAG_Bool(ATTR_parser_nodes___AMainClassdef____n_propdefs(fra.me.REG[0])!=NIT_NULL);
4911 /* ./parser//parser_prod.nit:879 */
4912 if (UNTAG_Bool(REGB1)) {
4913 } else {
4914 fprintf(stderr, "Uninitialized attribute %s", "_n_propdefs");
4915 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 879);
4916 nit_exit(1);
4917 }
4918 fra.me.REG[3] = ATTR_parser_nodes___AMainClassdef____n_propdefs(fra.me.REG[0]);
4919 REGB1 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
4920 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB0, REGB1);
4921 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
4922 while(1) {
4923 REGB1 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
4924 if (UNTAG_Bool(REGB1)) {
4925 REGB1 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
4926 REGB0 = TAG_Bool(ATTR_parser_nodes___AMainClassdef____n_propdefs(fra.me.REG[0])!=NIT_NULL);
4927 /* ./parser//parser_prod.nit:880 */
4928 if (UNTAG_Bool(REGB0)) {
4929 } else {
4930 fprintf(stderr, "Uninitialized attribute %s", "_n_propdefs");
4931 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 880);
4932 nit_exit(1);
4933 }
4934 fra.me.REG[4] = ATTR_parser_nodes___AMainClassdef____n_propdefs(fra.me.REG[0]);
4935 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB1);
4936 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[4]));
4937 if (UNTAG_Bool(REGB0)) {
4938 } else {
4939 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
4940 if (UNTAG_Bool(REGB2)) {
4941 REGB2 = TAG_Bool(false);
4942 REGB0 = REGB2;
4943 } else {
4944 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
4945 REGB0 = REGB2;
4946 }
4947 }
4948 if (UNTAG_Bool(REGB0)) {
4949 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4950 /* ./parser//parser_prod.nit:881 */
4951 if (UNTAG_Bool(REGB0)) {
4952 } else {
4953 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4954 if (UNTAG_Bool(REGB2)) {
4955 REGB2 = TAG_Bool(false);
4956 REGB0 = REGB2;
4957 } else {
4958 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
4959 REGB0 = REGB2;
4960 }
4961 }
4962 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
4963 if (UNTAG_Bool(REGB0)) {
4964 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast APropdef*/;
4965 /* ./parser//parser_prod.nit:882 */
4966 if (UNTAG_Bool(REGB0)) {
4967 } else {
4968 fprintf(stderr, "Assert failed");
4969 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 882);
4970 nit_exit(1);
4971 }
4972 REGB0 = TAG_Bool(ATTR_parser_nodes___AMainClassdef____n_propdefs(fra.me.REG[0])!=NIT_NULL);
4973 /* ./parser//parser_prod.nit:883 */
4974 if (UNTAG_Bool(REGB0)) {
4975 } else {
4976 fprintf(stderr, "Uninitialized attribute %s", "_n_propdefs");
4977 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 883);
4978 nit_exit(1);
4979 }
4980 fra.me.REG[4] = ATTR_parser_nodes___AMainClassdef____n_propdefs(fra.me.REG[0]);
4981 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], REGB1, fra.me.REG[2]);
4982 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
4983 /* ./parser//parser_prod.nit:884 */
4984 if (UNTAG_Bool(REGB0)) {
4985 fprintf(stderr, "Reciever is null");
4986 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 884);
4987 nit_exit(1);
4988 }
4989 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
4990 } else {
4991 REGB0 = TAG_Bool(ATTR_parser_nodes___AMainClassdef____n_propdefs(fra.me.REG[0])!=NIT_NULL);
4992 /* ./parser//parser_prod.nit:886 */
4993 if (UNTAG_Bool(REGB0)) {
4994 } else {
4995 fprintf(stderr, "Uninitialized attribute %s", "_n_propdefs");
4996 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 886);
4997 nit_exit(1);
4998 }
4999 fra.me.REG[4] = ATTR_parser_nodes___AMainClassdef____n_propdefs(fra.me.REG[0]);
5000 CALL_abstract_collection___Map___remove_at(fra.me.REG[4])(fra.me.REG[4], REGB1);
5001 }
5002 /* ./parser//parser_prod.nit:888 */
5003 goto label1;
5004 }
5005 } else {
5006 /* ./parser//parser_prod.nit:879 */
5007 goto label2;
5008 }
5009 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
5010 }
5011 label2: while(0);
5012 label1: while(0);
5013 stack_frame_head = fra.me.prev;
5014 return;
5015 }
5016 void parser_prod___AMainClassdef___visit_all(val_t p0, val_t p1){
5017 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
5018 val_t REGB0;
5019 val_t tmp;
5020 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5021 fra.me.file = LOCATE_parser_prod;
5022 fra.me.line = 893;
5023 fra.me.meth = LOCATE_parser_prod___AMainClassdef___visit_all;
5024 fra.me.has_broke = 0;
5025 fra.me.REG_size = 3;
5026 fra.me.REG[0] = NIT_NULL;
5027 fra.me.REG[1] = NIT_NULL;
5028 fra.me.REG[2] = NIT_NULL;
5029 fra.me.REG[0] = p0;
5030 fra.me.REG[1] = p1;
5031 REGB0 = TAG_Bool(ATTR_parser_nodes___AMainClassdef____n_propdefs(fra.me.REG[0])!=NIT_NULL);
5032 /* ./parser//parser_prod.nit:895 */
5033 if (UNTAG_Bool(REGB0)) {
5034 } else {
5035 fprintf(stderr, "Uninitialized attribute %s", "_n_propdefs");
5036 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 895);
5037 nit_exit(1);
5038 }
5039 fra.me.REG[0] = ATTR_parser_nodes___AMainClassdef____n_propdefs(fra.me.REG[0]);
5040 fra.me.REG[0] = CALL_abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
5041 while(1) {
5042 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
5043 if (UNTAG_Bool(REGB0)) {
5044 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
5045 /* ./parser//parser_prod.nit:896 */
5046 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5047 } else {
5048 /* ./parser//parser_prod.nit:895 */
5049 goto label1;
5050 }
5051 CALL_abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
5052 }
5053 label1: while(0);
5054 stack_frame_head = fra.me.prev;
5055 return;
5056 }
5057 void parser_prod___AMainClassdef___visit_all_reverse(val_t p0, val_t p1){
5058 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
5059 val_t REGB0;
5060 val_t REGB1;
5061 val_t tmp;
5062 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5063 fra.me.file = LOCATE_parser_prod;
5064 fra.me.line = 900;
5065 fra.me.meth = LOCATE_parser_prod___AMainClassdef___visit_all_reverse;
5066 fra.me.has_broke = 0;
5067 fra.me.REG_size = 3;
5068 fra.me.REG[0] = NIT_NULL;
5069 fra.me.REG[1] = NIT_NULL;
5070 fra.me.REG[2] = NIT_NULL;
5071 fra.me.REG[0] = p0;
5072 fra.me.REG[1] = p1;
5073 REGB0 = TAG_Bool(ATTR_parser_nodes___AMainClassdef____n_propdefs(fra.me.REG[0])!=NIT_NULL);
5074 /* ./parser//parser_prod.nit:903 */
5075 if (UNTAG_Bool(REGB0)) {
5076 } else {
5077 fprintf(stderr, "Uninitialized attribute %s", "_n_propdefs");
5078 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 903);
5079 nit_exit(1);
5080 }
5081 fra.me.REG[2] = ATTR_parser_nodes___AMainClassdef____n_propdefs(fra.me.REG[0]);
5082 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
5083 /* ./parser//parser_prod.nit:904 */
5084 while(1) {
5085 REGB1 = TAG_Int(0);
5086 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
5087 /* ./parser//parser_prod.nit:904 */
5088 if (UNTAG_Bool(REGB1)) {
5089 REGB1 = TAG_Bool(ATTR_parser_nodes___AMainClassdef____n_propdefs(fra.me.REG[0])!=NIT_NULL);
5090 /* ./parser//parser_prod.nit:905 */
5091 if (UNTAG_Bool(REGB1)) {
5092 } else {
5093 fprintf(stderr, "Uninitialized attribute %s", "_n_propdefs");
5094 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 905);
5095 nit_exit(1);
5096 }
5097 fra.me.REG[2] = ATTR_parser_nodes___AMainClassdef____n_propdefs(fra.me.REG[0]);
5098 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
5099 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5100 REGB1 = TAG_Int(1);
5101 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
5102 REGB0 = REGB1;
5103 /* ./parser//parser_prod.nit:906 */
5104 } else {
5105 /* ./parser//parser_prod.nit:904 */
5106 goto label1;
5107 }
5108 }
5109 label1: while(0);
5110 stack_frame_head = fra.me.prev;
5111 return;
5112 }
5113 void parser_prod___AMainClassdef___empty_init(val_t p0, int* init_table){
5114 int itpos21 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AMainClassdef].i;
5115 struct {struct stack_frame_t me;} fra;
5116 val_t tmp;
5117 if (init_table[itpos21]) return;
5118 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5119 fra.me.file = LOCATE_parser_prod;
5120 fra.me.line = 863;
5121 fra.me.meth = LOCATE_parser_prod___AMainClassdef___empty_init;
5122 fra.me.has_broke = 0;
5123 fra.me.REG_size = 1;
5124 fra.me.REG[0] = NIT_NULL;
5125 fra.me.REG[0] = p0;
5126 /* ./parser//parser_prod.nit:863 */
5127 stack_frame_head = fra.me.prev;
5128 init_table[itpos21] = 1;
5129 return;
5130 }
5131 void parser_prod___AMainClassdef___init_amainclassdef(val_t p0, val_t p1, int* init_table){
5132 int itpos22 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AMainClassdef].i;
5133 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
5134 val_t REGB0;
5135 val_t tmp;
5136 if (init_table[itpos22]) return;
5137 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5138 fra.me.file = LOCATE_parser_prod;
5139 fra.me.line = 865;
5140 fra.me.meth = LOCATE_parser_prod___AMainClassdef___init_amainclassdef;
5141 fra.me.has_broke = 0;
5142 fra.me.REG_size = 4;
5143 fra.me.REG[0] = NIT_NULL;
5144 fra.me.REG[1] = NIT_NULL;
5145 fra.me.REG[2] = NIT_NULL;
5146 fra.me.REG[3] = NIT_NULL;
5147 fra.me.REG[0] = p0;
5148 fra.me.REG[1] = p1;
5149 /* ./parser//parser_prod.nit:869 */
5150 CALL_parser_prod___AMainClassdef___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
5151 fra.me.REG[1] = CALL_abstract_collection___Collection___iterator(fra.me.REG[1])(fra.me.REG[1]);
5152 /* ./parser//parser_prod.nit:870 */
5153 while(1) {
5154 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[1])(fra.me.REG[1]);
5155 if (UNTAG_Bool(REGB0)) {
5156 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[1])(fra.me.REG[1]);
5157 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_APropdef, ID_APropdef)) /*cast APropdef*/;
5158 /* ./parser//parser_prod.nit:871 */
5159 if (UNTAG_Bool(REGB0)) {
5160 } else {
5161 fprintf(stderr, "Assert failed");
5162 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 871);
5163 nit_exit(1);
5164 }
5165 REGB0 = TAG_Bool(ATTR_parser_nodes___AMainClassdef____n_propdefs(fra.me.REG[0])!=NIT_NULL);
5166 /* ./parser//parser_prod.nit:872 */
5167 if (UNTAG_Bool(REGB0)) {
5168 } else {
5169 fprintf(stderr, "Uninitialized attribute %s", "_n_propdefs");
5170 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 872);
5171 nit_exit(1);
5172 }
5173 fra.me.REG[3] = ATTR_parser_nodes___AMainClassdef____n_propdefs(fra.me.REG[0]);
5174 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
5175 /* ./parser//parser_prod.nit:873 */
5176 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
5177 } else {
5178 /* ./parser//parser_prod.nit:870 */
5179 goto label1;
5180 }
5181 CALL_abstract_collection___Iterator___next(fra.me.REG[1])(fra.me.REG[1]);
5182 }
5183 label1: while(0);
5184 stack_frame_head = fra.me.prev;
5185 init_table[itpos22] = 1;
5186 return;
5187 }
5188 void parser_prod___AConcreteClasskind___n_kwclass__eq(val_t p0, val_t p1){
5189 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
5190 val_t tmp;
5191 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5192 fra.me.file = LOCATE_parser_prod;
5193 fra.me.line = 912;
5194 fra.me.meth = LOCATE_parser_prod___AConcreteClasskind___n_kwclass__eq;
5195 fra.me.has_broke = 0;
5196 fra.me.REG_size = 2;
5197 fra.me.REG[0] = NIT_NULL;
5198 fra.me.REG[1] = NIT_NULL;
5199 fra.me.REG[0] = p0;
5200 fra.me.REG[1] = p1;
5201 /* ./parser//parser_prod.nit:914 */
5202 ATTR_parser_nodes___AConcreteClasskind____n_kwclass(fra.me.REG[0]) = fra.me.REG[1];
5203 /* ./parser//parser_prod.nit:915 */
5204 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
5205 stack_frame_head = fra.me.prev;
5206 return;
5207 }
5208 void parser_prod___AConcreteClasskind___replace_child(val_t p0, val_t p1, val_t p2){
5209 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
5210 val_t REGB0;
5211 val_t REGB1;
5212 val_t tmp;
5213 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5214 fra.me.file = LOCATE_parser_prod;
5215 fra.me.line = 929;
5216 fra.me.meth = LOCATE_parser_prod___AConcreteClasskind___replace_child;
5217 fra.me.has_broke = 0;
5218 fra.me.REG_size = 4;
5219 fra.me.REG[0] = NIT_NULL;
5220 fra.me.REG[1] = NIT_NULL;
5221 fra.me.REG[2] = NIT_NULL;
5222 fra.me.REG[3] = NIT_NULL;
5223 fra.me.REG[0] = p0;
5224 fra.me.REG[1] = p1;
5225 fra.me.REG[2] = p2;
5226 REGB0 = TAG_Bool(ATTR_parser_nodes___AConcreteClasskind____n_kwclass(fra.me.REG[0])!=NIT_NULL);
5227 /* ./parser//parser_prod.nit:931 */
5228 if (UNTAG_Bool(REGB0)) {
5229 } else {
5230 fprintf(stderr, "Uninitialized attribute %s", "_n_kwclass");
5231 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 931);
5232 nit_exit(1);
5233 }
5234 fra.me.REG[3] = ATTR_parser_nodes___AConcreteClasskind____n_kwclass(fra.me.REG[0]);
5235 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
5236 if (UNTAG_Bool(REGB0)) {
5237 } else {
5238 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
5239 REGB0 = REGB1;
5240 }
5241 if (UNTAG_Bool(REGB0)) {
5242 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5243 /* ./parser//parser_prod.nit:932 */
5244 if (UNTAG_Bool(REGB0)) {
5245 } else {
5246 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5247 if (UNTAG_Bool(REGB1)) {
5248 REGB1 = TAG_Bool(false);
5249 REGB0 = REGB1;
5250 } else {
5251 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
5252 REGB0 = REGB1;
5253 }
5254 }
5255 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
5256 if (UNTAG_Bool(REGB0)) {
5257 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5258 /* ./parser//parser_prod.nit:933 */
5259 if (UNTAG_Bool(REGB0)) {
5260 fprintf(stderr, "Reciever is null");
5261 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 933);
5262 nit_exit(1);
5263 }
5264 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
5265 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwclass, ID_TKwclass)) /*cast TKwclass*/;
5266 /* ./parser//parser_prod.nit:934 */
5267 if (UNTAG_Bool(REGB0)) {
5268 } else {
5269 fprintf(stderr, "Assert failed");
5270 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 934);
5271 nit_exit(1);
5272 }
5273 /* ./parser//parser_prod.nit:935 */
5274 ATTR_parser_nodes___AConcreteClasskind____n_kwclass(fra.me.REG[0]) = fra.me.REG[2];
5275 } else {
5276 /* ./parser//parser_prod.nit:937 */
5277 fprintf(stderr, "Aborted");
5278 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 937);
5279 nit_exit(1);
5280 }
5281 /* ./parser//parser_prod.nit:939 */
5282 goto label1;
5283 }
5284 label1: while(0);
5285 stack_frame_head = fra.me.prev;
5286 return;
5287 }
5288 void parser_prod___AConcreteClasskind___visit_all(val_t p0, val_t p1){
5289 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
5290 val_t REGB0;
5291 val_t tmp;
5292 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5293 fra.me.file = LOCATE_parser_prod;
5294 fra.me.line = 943;
5295 fra.me.meth = LOCATE_parser_prod___AConcreteClasskind___visit_all;
5296 fra.me.has_broke = 0;
5297 fra.me.REG_size = 2;
5298 fra.me.REG[0] = NIT_NULL;
5299 fra.me.REG[1] = NIT_NULL;
5300 fra.me.REG[0] = p0;
5301 fra.me.REG[1] = p1;
5302 REGB0 = TAG_Bool(ATTR_parser_nodes___AConcreteClasskind____n_kwclass(fra.me.REG[0])!=NIT_NULL);
5303 /* ./parser//parser_prod.nit:945 */
5304 if (UNTAG_Bool(REGB0)) {
5305 } else {
5306 fprintf(stderr, "Uninitialized attribute %s", "_n_kwclass");
5307 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 945);
5308 nit_exit(1);
5309 }
5310 fra.me.REG[0] = ATTR_parser_nodes___AConcreteClasskind____n_kwclass(fra.me.REG[0]);
5311 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
5312 stack_frame_head = fra.me.prev;
5313 return;
5314 }
5315 void parser_prod___AConcreteClasskind___visit_all_reverse(val_t p0, val_t p1){
5316 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
5317 val_t REGB0;
5318 val_t tmp;
5319 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5320 fra.me.file = LOCATE_parser_prod;
5321 fra.me.line = 948;
5322 fra.me.meth = LOCATE_parser_prod___AConcreteClasskind___visit_all_reverse;
5323 fra.me.has_broke = 0;
5324 fra.me.REG_size = 2;
5325 fra.me.REG[0] = NIT_NULL;
5326 fra.me.REG[1] = NIT_NULL;
5327 fra.me.REG[0] = p0;
5328 fra.me.REG[1] = p1;
5329 REGB0 = TAG_Bool(ATTR_parser_nodes___AConcreteClasskind____n_kwclass(fra.me.REG[0])!=NIT_NULL);
5330 /* ./parser//parser_prod.nit:950 */
5331 if (UNTAG_Bool(REGB0)) {
5332 } else {
5333 fprintf(stderr, "Uninitialized attribute %s", "_n_kwclass");
5334 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 950);
5335 nit_exit(1);
5336 }
5337 fra.me.REG[0] = ATTR_parser_nodes___AConcreteClasskind____n_kwclass(fra.me.REG[0]);
5338 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
5339 stack_frame_head = fra.me.prev;
5340 return;
5341 }
5342 void parser_prod___AConcreteClasskind___empty_init(val_t p0, int* init_table){
5343 int itpos23 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AConcreteClasskind].i;
5344 struct {struct stack_frame_t me;} fra;
5345 val_t tmp;
5346 if (init_table[itpos23]) return;
5347 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5348 fra.me.file = LOCATE_parser_prod;
5349 fra.me.line = 918;
5350 fra.me.meth = LOCATE_parser_prod___AConcreteClasskind___empty_init;
5351 fra.me.has_broke = 0;
5352 fra.me.REG_size = 1;
5353 fra.me.REG[0] = NIT_NULL;
5354 fra.me.REG[0] = p0;
5355 /* ./parser//parser_prod.nit:918 */
5356 stack_frame_head = fra.me.prev;
5357 init_table[itpos23] = 1;
5358 return;
5359 }
5360 void parser_prod___AConcreteClasskind___init_aconcreteclasskind(val_t p0, val_t p1, int* init_table){
5361 int itpos24 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AConcreteClasskind].i;
5362 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
5363 val_t REGB0;
5364 val_t tmp;
5365 if (init_table[itpos24]) return;
5366 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5367 fra.me.file = LOCATE_parser_prod;
5368 fra.me.line = 920;
5369 fra.me.meth = LOCATE_parser_prod___AConcreteClasskind___init_aconcreteclasskind;
5370 fra.me.has_broke = 0;
5371 fra.me.REG_size = 2;
5372 fra.me.REG[0] = NIT_NULL;
5373 fra.me.REG[1] = NIT_NULL;
5374 fra.me.REG[0] = p0;
5375 fra.me.REG[1] = p1;
5376 /* ./parser//parser_prod.nit:924 */
5377 CALL_parser_prod___AConcreteClasskind___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
5378 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
5379 /* ./parser//parser_prod.nit:925 */
5380 if (UNTAG_Bool(REGB0)) {
5381 } else {
5382 fprintf(stderr, "Cast failed");
5383 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 925);
5384 nit_exit(1);
5385 }
5386 ATTR_parser_nodes___AConcreteClasskind____n_kwclass(fra.me.REG[0]) = fra.me.REG[1];
5387 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
5388 /* ./parser//parser_prod.nit:926 */
5389 if (UNTAG_Bool(REGB0)) {
5390 fprintf(stderr, "Reciever is null");
5391 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 926);
5392 nit_exit(1);
5393 }
5394 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
5395 stack_frame_head = fra.me.prev;
5396 init_table[itpos24] = 1;
5397 return;
5398 }
5399 void parser_prod___AAbstractClasskind___n_kwabstract__eq(val_t p0, val_t p1){
5400 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
5401 val_t tmp;
5402 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5403 fra.me.file = LOCATE_parser_prod;
5404 fra.me.line = 954;
5405 fra.me.meth = LOCATE_parser_prod___AAbstractClasskind___n_kwabstract__eq;
5406 fra.me.has_broke = 0;
5407 fra.me.REG_size = 2;
5408 fra.me.REG[0] = NIT_NULL;
5409 fra.me.REG[1] = NIT_NULL;
5410 fra.me.REG[0] = p0;
5411 fra.me.REG[1] = p1;
5412 /* ./parser//parser_prod.nit:956 */
5413 ATTR_parser_nodes___AAbstractClasskind____n_kwabstract(fra.me.REG[0]) = fra.me.REG[1];
5414 /* ./parser//parser_prod.nit:957 */
5415 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
5416 stack_frame_head = fra.me.prev;
5417 return;
5418 }
5419 void parser_prod___AAbstractClasskind___n_kwclass__eq(val_t p0, val_t p1){
5420 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
5421 val_t tmp;
5422 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5423 fra.me.file = LOCATE_parser_prod;
5424 fra.me.line = 959;
5425 fra.me.meth = LOCATE_parser_prod___AAbstractClasskind___n_kwclass__eq;
5426 fra.me.has_broke = 0;
5427 fra.me.REG_size = 2;
5428 fra.me.REG[0] = NIT_NULL;
5429 fra.me.REG[1] = NIT_NULL;
5430 fra.me.REG[0] = p0;
5431 fra.me.REG[1] = p1;
5432 /* ./parser//parser_prod.nit:961 */
5433 ATTR_parser_nodes___AAbstractClasskind____n_kwclass(fra.me.REG[0]) = fra.me.REG[1];
5434 /* ./parser//parser_prod.nit:962 */
5435 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
5436 stack_frame_head = fra.me.prev;
5437 return;
5438 }
5439 void parser_prod___AAbstractClasskind___replace_child(val_t p0, val_t p1, val_t p2){
5440 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
5441 val_t REGB0;
5442 val_t REGB1;
5443 val_t tmp;
5444 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5445 fra.me.file = LOCATE_parser_prod;
5446 fra.me.line = 979;
5447 fra.me.meth = LOCATE_parser_prod___AAbstractClasskind___replace_child;
5448 fra.me.has_broke = 0;
5449 fra.me.REG_size = 4;
5450 fra.me.REG[0] = NIT_NULL;
5451 fra.me.REG[1] = NIT_NULL;
5452 fra.me.REG[2] = NIT_NULL;
5453 fra.me.REG[3] = NIT_NULL;
5454 fra.me.REG[0] = p0;
5455 fra.me.REG[1] = p1;
5456 fra.me.REG[2] = p2;
5457 REGB0 = TAG_Bool(ATTR_parser_nodes___AAbstractClasskind____n_kwabstract(fra.me.REG[0])!=NIT_NULL);
5458 /* ./parser//parser_prod.nit:981 */
5459 if (UNTAG_Bool(REGB0)) {
5460 } else {
5461 fprintf(stderr, "Uninitialized attribute %s", "_n_kwabstract");
5462 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 981);
5463 nit_exit(1);
5464 }
5465 fra.me.REG[3] = ATTR_parser_nodes___AAbstractClasskind____n_kwabstract(fra.me.REG[0]);
5466 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
5467 if (UNTAG_Bool(REGB0)) {
5468 } else {
5469 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
5470 REGB0 = REGB1;
5471 }
5472 if (UNTAG_Bool(REGB0)) {
5473 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5474 /* ./parser//parser_prod.nit:982 */
5475 if (UNTAG_Bool(REGB0)) {
5476 } else {
5477 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5478 if (UNTAG_Bool(REGB1)) {
5479 REGB1 = TAG_Bool(false);
5480 REGB0 = REGB1;
5481 } else {
5482 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
5483 REGB0 = REGB1;
5484 }
5485 }
5486 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
5487 if (UNTAG_Bool(REGB0)) {
5488 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5489 /* ./parser//parser_prod.nit:983 */
5490 if (UNTAG_Bool(REGB0)) {
5491 fprintf(stderr, "Reciever is null");
5492 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 983);
5493 nit_exit(1);
5494 }
5495 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
5496 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwabstract, ID_TKwabstract)) /*cast TKwabstract*/;
5497 /* ./parser//parser_prod.nit:984 */
5498 if (UNTAG_Bool(REGB0)) {
5499 } else {
5500 fprintf(stderr, "Assert failed");
5501 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 984);
5502 nit_exit(1);
5503 }
5504 /* ./parser//parser_prod.nit:985 */
5505 ATTR_parser_nodes___AAbstractClasskind____n_kwabstract(fra.me.REG[0]) = fra.me.REG[2];
5506 } else {
5507 /* ./parser//parser_prod.nit:987 */
5508 fprintf(stderr, "Aborted");
5509 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 987);
5510 nit_exit(1);
5511 }
5512 /* ./parser//parser_prod.nit:989 */
5513 goto label1;
5514 }
5515 REGB0 = TAG_Bool(ATTR_parser_nodes___AAbstractClasskind____n_kwclass(fra.me.REG[0])!=NIT_NULL);
5516 /* ./parser//parser_prod.nit:991 */
5517 if (UNTAG_Bool(REGB0)) {
5518 } else {
5519 fprintf(stderr, "Uninitialized attribute %s", "_n_kwclass");
5520 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 991);
5521 nit_exit(1);
5522 }
5523 fra.me.REG[3] = ATTR_parser_nodes___AAbstractClasskind____n_kwclass(fra.me.REG[0]);
5524 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
5525 if (UNTAG_Bool(REGB0)) {
5526 } else {
5527 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
5528 REGB0 = REGB1;
5529 }
5530 if (UNTAG_Bool(REGB0)) {
5531 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5532 /* ./parser//parser_prod.nit:992 */
5533 if (UNTAG_Bool(REGB0)) {
5534 } else {
5535 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5536 if (UNTAG_Bool(REGB1)) {
5537 REGB1 = TAG_Bool(false);
5538 REGB0 = REGB1;
5539 } else {
5540 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
5541 REGB0 = REGB1;
5542 }
5543 }
5544 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
5545 if (UNTAG_Bool(REGB0)) {
5546 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5547 /* ./parser//parser_prod.nit:993 */
5548 if (UNTAG_Bool(REGB0)) {
5549 fprintf(stderr, "Reciever is null");
5550 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 993);
5551 nit_exit(1);
5552 }
5553 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
5554 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwclass, ID_TKwclass)) /*cast TKwclass*/;
5555 /* ./parser//parser_prod.nit:994 */
5556 if (UNTAG_Bool(REGB0)) {
5557 } else {
5558 fprintf(stderr, "Assert failed");
5559 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 994);
5560 nit_exit(1);
5561 }
5562 /* ./parser//parser_prod.nit:995 */
5563 ATTR_parser_nodes___AAbstractClasskind____n_kwclass(fra.me.REG[0]) = fra.me.REG[2];
5564 } else {
5565 /* ./parser//parser_prod.nit:997 */
5566 fprintf(stderr, "Aborted");
5567 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 997);
5568 nit_exit(1);
5569 }
5570 /* ./parser//parser_prod.nit:999 */
5571 goto label1;
5572 }
5573 label1: while(0);
5574 stack_frame_head = fra.me.prev;
5575 return;
5576 }
5577 void parser_prod___AAbstractClasskind___visit_all(val_t p0, val_t p1){
5578 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
5579 val_t REGB0;
5580 val_t tmp;
5581 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5582 fra.me.file = LOCATE_parser_prod;
5583 fra.me.line = 1003;
5584 fra.me.meth = LOCATE_parser_prod___AAbstractClasskind___visit_all;
5585 fra.me.has_broke = 0;
5586 fra.me.REG_size = 3;
5587 fra.me.REG[0] = NIT_NULL;
5588 fra.me.REG[1] = NIT_NULL;
5589 fra.me.REG[2] = NIT_NULL;
5590 fra.me.REG[0] = p0;
5591 fra.me.REG[1] = p1;
5592 REGB0 = TAG_Bool(ATTR_parser_nodes___AAbstractClasskind____n_kwabstract(fra.me.REG[0])!=NIT_NULL);
5593 /* ./parser//parser_prod.nit:1005 */
5594 if (UNTAG_Bool(REGB0)) {
5595 } else {
5596 fprintf(stderr, "Uninitialized attribute %s", "_n_kwabstract");
5597 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1005);
5598 nit_exit(1);
5599 }
5600 fra.me.REG[2] = ATTR_parser_nodes___AAbstractClasskind____n_kwabstract(fra.me.REG[0]);
5601 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5602 REGB0 = TAG_Bool(ATTR_parser_nodes___AAbstractClasskind____n_kwclass(fra.me.REG[0])!=NIT_NULL);
5603 /* ./parser//parser_prod.nit:1006 */
5604 if (UNTAG_Bool(REGB0)) {
5605 } else {
5606 fprintf(stderr, "Uninitialized attribute %s", "_n_kwclass");
5607 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1006);
5608 nit_exit(1);
5609 }
5610 fra.me.REG[0] = ATTR_parser_nodes___AAbstractClasskind____n_kwclass(fra.me.REG[0]);
5611 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
5612 stack_frame_head = fra.me.prev;
5613 return;
5614 }
5615 void parser_prod___AAbstractClasskind___visit_all_reverse(val_t p0, val_t p1){
5616 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
5617 val_t REGB0;
5618 val_t tmp;
5619 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5620 fra.me.file = LOCATE_parser_prod;
5621 fra.me.line = 1009;
5622 fra.me.meth = LOCATE_parser_prod___AAbstractClasskind___visit_all_reverse;
5623 fra.me.has_broke = 0;
5624 fra.me.REG_size = 3;
5625 fra.me.REG[0] = NIT_NULL;
5626 fra.me.REG[1] = NIT_NULL;
5627 fra.me.REG[2] = NIT_NULL;
5628 fra.me.REG[0] = p0;
5629 fra.me.REG[1] = p1;
5630 REGB0 = TAG_Bool(ATTR_parser_nodes___AAbstractClasskind____n_kwabstract(fra.me.REG[0])!=NIT_NULL);
5631 /* ./parser//parser_prod.nit:1011 */
5632 if (UNTAG_Bool(REGB0)) {
5633 } else {
5634 fprintf(stderr, "Uninitialized attribute %s", "_n_kwabstract");
5635 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1011);
5636 nit_exit(1);
5637 }
5638 fra.me.REG[2] = ATTR_parser_nodes___AAbstractClasskind____n_kwabstract(fra.me.REG[0]);
5639 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
5640 REGB0 = TAG_Bool(ATTR_parser_nodes___AAbstractClasskind____n_kwclass(fra.me.REG[0])!=NIT_NULL);
5641 /* ./parser//parser_prod.nit:1012 */
5642 if (UNTAG_Bool(REGB0)) {
5643 } else {
5644 fprintf(stderr, "Uninitialized attribute %s", "_n_kwclass");
5645 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1012);
5646 nit_exit(1);
5647 }
5648 fra.me.REG[0] = ATTR_parser_nodes___AAbstractClasskind____n_kwclass(fra.me.REG[0]);
5649 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
5650 stack_frame_head = fra.me.prev;
5651 return;
5652 }
5653 void parser_prod___AAbstractClasskind___empty_init(val_t p0, int* init_table){
5654 int itpos25 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AAbstractClasskind].i;
5655 struct {struct stack_frame_t me;} fra;
5656 val_t tmp;
5657 if (init_table[itpos25]) return;
5658 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5659 fra.me.file = LOCATE_parser_prod;
5660 fra.me.line = 965;
5661 fra.me.meth = LOCATE_parser_prod___AAbstractClasskind___empty_init;
5662 fra.me.has_broke = 0;
5663 fra.me.REG_size = 1;
5664 fra.me.REG[0] = NIT_NULL;
5665 fra.me.REG[0] = p0;
5666 /* ./parser//parser_prod.nit:965 */
5667 stack_frame_head = fra.me.prev;
5668 init_table[itpos25] = 1;
5669 return;
5670 }
5671 void parser_prod___AAbstractClasskind___init_aabstractclasskind(val_t p0, val_t p1, val_t p2, int* init_table){
5672 int itpos26 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AAbstractClasskind].i;
5673 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
5674 val_t REGB0;
5675 val_t tmp;
5676 if (init_table[itpos26]) return;
5677 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5678 fra.me.file = LOCATE_parser_prod;
5679 fra.me.line = 967;
5680 fra.me.meth = LOCATE_parser_prod___AAbstractClasskind___init_aabstractclasskind;
5681 fra.me.has_broke = 0;
5682 fra.me.REG_size = 3;
5683 fra.me.REG[0] = NIT_NULL;
5684 fra.me.REG[1] = NIT_NULL;
5685 fra.me.REG[2] = NIT_NULL;
5686 fra.me.REG[0] = p0;
5687 fra.me.REG[1] = p1;
5688 fra.me.REG[2] = p2;
5689 /* ./parser//parser_prod.nit:972 */
5690 CALL_parser_prod___AAbstractClasskind___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
5691 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
5692 /* ./parser//parser_prod.nit:973 */
5693 if (UNTAG_Bool(REGB0)) {
5694 } else {
5695 fprintf(stderr, "Cast failed");
5696 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 973);
5697 nit_exit(1);
5698 }
5699 ATTR_parser_nodes___AAbstractClasskind____n_kwabstract(fra.me.REG[0]) = fra.me.REG[1];
5700 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
5701 /* ./parser//parser_prod.nit:974 */
5702 if (UNTAG_Bool(REGB0)) {
5703 fprintf(stderr, "Reciever is null");
5704 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 974);
5705 nit_exit(1);
5706 }
5707 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
5708 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
5709 /* ./parser//parser_prod.nit:975 */
5710 if (UNTAG_Bool(REGB0)) {
5711 } else {
5712 fprintf(stderr, "Cast failed");
5713 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 975);
5714 nit_exit(1);
5715 }
5716 ATTR_parser_nodes___AAbstractClasskind____n_kwclass(fra.me.REG[0]) = fra.me.REG[2];
5717 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5718 /* ./parser//parser_prod.nit:976 */
5719 if (UNTAG_Bool(REGB0)) {
5720 fprintf(stderr, "Reciever is null");
5721 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 976);
5722 nit_exit(1);
5723 }
5724 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
5725 stack_frame_head = fra.me.prev;
5726 init_table[itpos26] = 1;
5727 return;
5728 }
5729 void parser_prod___AInterfaceClasskind___n_kwinterface__eq(val_t p0, val_t p1){
5730 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
5731 val_t tmp;
5732 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5733 fra.me.file = LOCATE_parser_prod;
5734 fra.me.line = 1016;
5735 fra.me.meth = LOCATE_parser_prod___AInterfaceClasskind___n_kwinterface__eq;
5736 fra.me.has_broke = 0;
5737 fra.me.REG_size = 2;
5738 fra.me.REG[0] = NIT_NULL;
5739 fra.me.REG[1] = NIT_NULL;
5740 fra.me.REG[0] = p0;
5741 fra.me.REG[1] = p1;
5742 /* ./parser//parser_prod.nit:1018 */
5743 ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface(fra.me.REG[0]) = fra.me.REG[1];
5744 /* ./parser//parser_prod.nit:1019 */
5745 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
5746 stack_frame_head = fra.me.prev;
5747 return;
5748 }
5749 void parser_prod___AInterfaceClasskind___replace_child(val_t p0, val_t p1, val_t p2){
5750 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
5751 val_t REGB0;
5752 val_t REGB1;
5753 val_t tmp;
5754 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5755 fra.me.file = LOCATE_parser_prod;
5756 fra.me.line = 1033;
5757 fra.me.meth = LOCATE_parser_prod___AInterfaceClasskind___replace_child;
5758 fra.me.has_broke = 0;
5759 fra.me.REG_size = 4;
5760 fra.me.REG[0] = NIT_NULL;
5761 fra.me.REG[1] = NIT_NULL;
5762 fra.me.REG[2] = NIT_NULL;
5763 fra.me.REG[3] = NIT_NULL;
5764 fra.me.REG[0] = p0;
5765 fra.me.REG[1] = p1;
5766 fra.me.REG[2] = p2;
5767 REGB0 = TAG_Bool(ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface(fra.me.REG[0])!=NIT_NULL);
5768 /* ./parser//parser_prod.nit:1035 */
5769 if (UNTAG_Bool(REGB0)) {
5770 } else {
5771 fprintf(stderr, "Uninitialized attribute %s", "_n_kwinterface");
5772 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1035);
5773 nit_exit(1);
5774 }
5775 fra.me.REG[3] = ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface(fra.me.REG[0]);
5776 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
5777 if (UNTAG_Bool(REGB0)) {
5778 } else {
5779 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
5780 REGB0 = REGB1;
5781 }
5782 if (UNTAG_Bool(REGB0)) {
5783 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5784 /* ./parser//parser_prod.nit:1036 */
5785 if (UNTAG_Bool(REGB0)) {
5786 } else {
5787 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5788 if (UNTAG_Bool(REGB1)) {
5789 REGB1 = TAG_Bool(false);
5790 REGB0 = REGB1;
5791 } else {
5792 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
5793 REGB0 = REGB1;
5794 }
5795 }
5796 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
5797 if (UNTAG_Bool(REGB0)) {
5798 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5799 /* ./parser//parser_prod.nit:1037 */
5800 if (UNTAG_Bool(REGB0)) {
5801 fprintf(stderr, "Reciever is null");
5802 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1037);
5803 nit_exit(1);
5804 }
5805 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
5806 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwinterface, ID_TKwinterface)) /*cast TKwinterface*/;
5807 /* ./parser//parser_prod.nit:1038 */
5808 if (UNTAG_Bool(REGB0)) {
5809 } else {
5810 fprintf(stderr, "Assert failed");
5811 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1038);
5812 nit_exit(1);
5813 }
5814 /* ./parser//parser_prod.nit:1039 */
5815 ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface(fra.me.REG[0]) = fra.me.REG[2];
5816 } else {
5817 /* ./parser//parser_prod.nit:1041 */
5818 fprintf(stderr, "Aborted");
5819 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1041);
5820 nit_exit(1);
5821 }
5822 /* ./parser//parser_prod.nit:1043 */
5823 goto label1;
5824 }
5825 label1: while(0);
5826 stack_frame_head = fra.me.prev;
5827 return;
5828 }
5829 void parser_prod___AInterfaceClasskind___visit_all(val_t p0, val_t p1){
5830 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
5831 val_t REGB0;
5832 val_t tmp;
5833 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5834 fra.me.file = LOCATE_parser_prod;
5835 fra.me.line = 1047;
5836 fra.me.meth = LOCATE_parser_prod___AInterfaceClasskind___visit_all;
5837 fra.me.has_broke = 0;
5838 fra.me.REG_size = 2;
5839 fra.me.REG[0] = NIT_NULL;
5840 fra.me.REG[1] = NIT_NULL;
5841 fra.me.REG[0] = p0;
5842 fra.me.REG[1] = p1;
5843 REGB0 = TAG_Bool(ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface(fra.me.REG[0])!=NIT_NULL);
5844 /* ./parser//parser_prod.nit:1049 */
5845 if (UNTAG_Bool(REGB0)) {
5846 } else {
5847 fprintf(stderr, "Uninitialized attribute %s", "_n_kwinterface");
5848 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1049);
5849 nit_exit(1);
5850 }
5851 fra.me.REG[0] = ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface(fra.me.REG[0]);
5852 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
5853 stack_frame_head = fra.me.prev;
5854 return;
5855 }
5856 void parser_prod___AInterfaceClasskind___visit_all_reverse(val_t p0, val_t p1){
5857 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
5858 val_t REGB0;
5859 val_t tmp;
5860 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5861 fra.me.file = LOCATE_parser_prod;
5862 fra.me.line = 1052;
5863 fra.me.meth = LOCATE_parser_prod___AInterfaceClasskind___visit_all_reverse;
5864 fra.me.has_broke = 0;
5865 fra.me.REG_size = 2;
5866 fra.me.REG[0] = NIT_NULL;
5867 fra.me.REG[1] = NIT_NULL;
5868 fra.me.REG[0] = p0;
5869 fra.me.REG[1] = p1;
5870 REGB0 = TAG_Bool(ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface(fra.me.REG[0])!=NIT_NULL);
5871 /* ./parser//parser_prod.nit:1054 */
5872 if (UNTAG_Bool(REGB0)) {
5873 } else {
5874 fprintf(stderr, "Uninitialized attribute %s", "_n_kwinterface");
5875 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1054);
5876 nit_exit(1);
5877 }
5878 fra.me.REG[0] = ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface(fra.me.REG[0]);
5879 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
5880 stack_frame_head = fra.me.prev;
5881 return;
5882 }
5883 void parser_prod___AInterfaceClasskind___empty_init(val_t p0, int* init_table){
5884 int itpos27 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AInterfaceClasskind].i;
5885 struct {struct stack_frame_t me;} fra;
5886 val_t tmp;
5887 if (init_table[itpos27]) return;
5888 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5889 fra.me.file = LOCATE_parser_prod;
5890 fra.me.line = 1022;
5891 fra.me.meth = LOCATE_parser_prod___AInterfaceClasskind___empty_init;
5892 fra.me.has_broke = 0;
5893 fra.me.REG_size = 1;
5894 fra.me.REG[0] = NIT_NULL;
5895 fra.me.REG[0] = p0;
5896 /* ./parser//parser_prod.nit:1022 */
5897 stack_frame_head = fra.me.prev;
5898 init_table[itpos27] = 1;
5899 return;
5900 }
5901 void parser_prod___AInterfaceClasskind___init_ainterfaceclasskind(val_t p0, val_t p1, int* init_table){
5902 int itpos28 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AInterfaceClasskind].i;
5903 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
5904 val_t REGB0;
5905 val_t tmp;
5906 if (init_table[itpos28]) return;
5907 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5908 fra.me.file = LOCATE_parser_prod;
5909 fra.me.line = 1024;
5910 fra.me.meth = LOCATE_parser_prod___AInterfaceClasskind___init_ainterfaceclasskind;
5911 fra.me.has_broke = 0;
5912 fra.me.REG_size = 2;
5913 fra.me.REG[0] = NIT_NULL;
5914 fra.me.REG[1] = NIT_NULL;
5915 fra.me.REG[0] = p0;
5916 fra.me.REG[1] = p1;
5917 /* ./parser//parser_prod.nit:1028 */
5918 CALL_parser_prod___AInterfaceClasskind___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
5919 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
5920 /* ./parser//parser_prod.nit:1029 */
5921 if (UNTAG_Bool(REGB0)) {
5922 } else {
5923 fprintf(stderr, "Cast failed");
5924 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1029);
5925 nit_exit(1);
5926 }
5927 ATTR_parser_nodes___AInterfaceClasskind____n_kwinterface(fra.me.REG[0]) = fra.me.REG[1];
5928 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
5929 /* ./parser//parser_prod.nit:1030 */
5930 if (UNTAG_Bool(REGB0)) {
5931 fprintf(stderr, "Reciever is null");
5932 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1030);
5933 nit_exit(1);
5934 }
5935 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
5936 stack_frame_head = fra.me.prev;
5937 init_table[itpos28] = 1;
5938 return;
5939 }
5940 void parser_prod___AUniversalClasskind___n_kwuniversal__eq(val_t p0, val_t p1){
5941 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
5942 val_t tmp;
5943 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5944 fra.me.file = LOCATE_parser_prod;
5945 fra.me.line = 1058;
5946 fra.me.meth = LOCATE_parser_prod___AUniversalClasskind___n_kwuniversal__eq;
5947 fra.me.has_broke = 0;
5948 fra.me.REG_size = 2;
5949 fra.me.REG[0] = NIT_NULL;
5950 fra.me.REG[1] = NIT_NULL;
5951 fra.me.REG[0] = p0;
5952 fra.me.REG[1] = p1;
5953 /* ./parser//parser_prod.nit:1060 */
5954 ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal(fra.me.REG[0]) = fra.me.REG[1];
5955 /* ./parser//parser_prod.nit:1061 */
5956 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
5957 stack_frame_head = fra.me.prev;
5958 return;
5959 }
5960 void parser_prod___AUniversalClasskind___replace_child(val_t p0, val_t p1, val_t p2){
5961 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
5962 val_t REGB0;
5963 val_t REGB1;
5964 val_t tmp;
5965 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
5966 fra.me.file = LOCATE_parser_prod;
5967 fra.me.line = 1075;
5968 fra.me.meth = LOCATE_parser_prod___AUniversalClasskind___replace_child;
5969 fra.me.has_broke = 0;
5970 fra.me.REG_size = 4;
5971 fra.me.REG[0] = NIT_NULL;
5972 fra.me.REG[1] = NIT_NULL;
5973 fra.me.REG[2] = NIT_NULL;
5974 fra.me.REG[3] = NIT_NULL;
5975 fra.me.REG[0] = p0;
5976 fra.me.REG[1] = p1;
5977 fra.me.REG[2] = p2;
5978 REGB0 = TAG_Bool(ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal(fra.me.REG[0])!=NIT_NULL);
5979 /* ./parser//parser_prod.nit:1077 */
5980 if (UNTAG_Bool(REGB0)) {
5981 } else {
5982 fprintf(stderr, "Uninitialized attribute %s", "_n_kwuniversal");
5983 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1077);
5984 nit_exit(1);
5985 }
5986 fra.me.REG[3] = ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal(fra.me.REG[0]);
5987 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
5988 if (UNTAG_Bool(REGB0)) {
5989 } else {
5990 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
5991 REGB0 = REGB1;
5992 }
5993 if (UNTAG_Bool(REGB0)) {
5994 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5995 /* ./parser//parser_prod.nit:1078 */
5996 if (UNTAG_Bool(REGB0)) {
5997 } else {
5998 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
5999 if (UNTAG_Bool(REGB1)) {
6000 REGB1 = TAG_Bool(false);
6001 REGB0 = REGB1;
6002 } else {
6003 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
6004 REGB0 = REGB1;
6005 }
6006 }
6007 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6008 if (UNTAG_Bool(REGB0)) {
6009 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
6010 /* ./parser//parser_prod.nit:1079 */
6011 if (UNTAG_Bool(REGB0)) {
6012 fprintf(stderr, "Reciever is null");
6013 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1079);
6014 nit_exit(1);
6015 }
6016 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
6017 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwuniversal, ID_TKwuniversal)) /*cast TKwuniversal*/;
6018 /* ./parser//parser_prod.nit:1080 */
6019 if (UNTAG_Bool(REGB0)) {
6020 } else {
6021 fprintf(stderr, "Assert failed");
6022 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1080);
6023 nit_exit(1);
6024 }
6025 /* ./parser//parser_prod.nit:1081 */
6026 ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal(fra.me.REG[0]) = fra.me.REG[2];
6027 } else {
6028 /* ./parser//parser_prod.nit:1083 */
6029 fprintf(stderr, "Aborted");
6030 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1083);
6031 nit_exit(1);
6032 }
6033 /* ./parser//parser_prod.nit:1085 */
6034 goto label1;
6035 }
6036 label1: while(0);
6037 stack_frame_head = fra.me.prev;
6038 return;
6039 }
6040 void parser_prod___AUniversalClasskind___visit_all(val_t p0, val_t p1){
6041 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
6042 val_t REGB0;
6043 val_t tmp;
6044 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6045 fra.me.file = LOCATE_parser_prod;
6046 fra.me.line = 1089;
6047 fra.me.meth = LOCATE_parser_prod___AUniversalClasskind___visit_all;
6048 fra.me.has_broke = 0;
6049 fra.me.REG_size = 2;
6050 fra.me.REG[0] = NIT_NULL;
6051 fra.me.REG[1] = NIT_NULL;
6052 fra.me.REG[0] = p0;
6053 fra.me.REG[1] = p1;
6054 REGB0 = TAG_Bool(ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal(fra.me.REG[0])!=NIT_NULL);
6055 /* ./parser//parser_prod.nit:1091 */
6056 if (UNTAG_Bool(REGB0)) {
6057 } else {
6058 fprintf(stderr, "Uninitialized attribute %s", "_n_kwuniversal");
6059 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1091);
6060 nit_exit(1);
6061 }
6062 fra.me.REG[0] = ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal(fra.me.REG[0]);
6063 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
6064 stack_frame_head = fra.me.prev;
6065 return;
6066 }
6067 void parser_prod___AUniversalClasskind___visit_all_reverse(val_t p0, val_t p1){
6068 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
6069 val_t REGB0;
6070 val_t tmp;
6071 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6072 fra.me.file = LOCATE_parser_prod;
6073 fra.me.line = 1094;
6074 fra.me.meth = LOCATE_parser_prod___AUniversalClasskind___visit_all_reverse;
6075 fra.me.has_broke = 0;
6076 fra.me.REG_size = 2;
6077 fra.me.REG[0] = NIT_NULL;
6078 fra.me.REG[1] = NIT_NULL;
6079 fra.me.REG[0] = p0;
6080 fra.me.REG[1] = p1;
6081 REGB0 = TAG_Bool(ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal(fra.me.REG[0])!=NIT_NULL);
6082 /* ./parser//parser_prod.nit:1096 */
6083 if (UNTAG_Bool(REGB0)) {
6084 } else {
6085 fprintf(stderr, "Uninitialized attribute %s", "_n_kwuniversal");
6086 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1096);
6087 nit_exit(1);
6088 }
6089 fra.me.REG[0] = ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal(fra.me.REG[0]);
6090 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
6091 stack_frame_head = fra.me.prev;
6092 return;
6093 }
6094 void parser_prod___AUniversalClasskind___empty_init(val_t p0, int* init_table){
6095 int itpos29 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AUniversalClasskind].i;
6096 struct {struct stack_frame_t me;} fra;
6097 val_t tmp;
6098 if (init_table[itpos29]) return;
6099 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6100 fra.me.file = LOCATE_parser_prod;
6101 fra.me.line = 1064;
6102 fra.me.meth = LOCATE_parser_prod___AUniversalClasskind___empty_init;
6103 fra.me.has_broke = 0;
6104 fra.me.REG_size = 1;
6105 fra.me.REG[0] = NIT_NULL;
6106 fra.me.REG[0] = p0;
6107 /* ./parser//parser_prod.nit:1064 */
6108 stack_frame_head = fra.me.prev;
6109 init_table[itpos29] = 1;
6110 return;
6111 }
6112 void parser_prod___AUniversalClasskind___init_auniversalclasskind(val_t p0, val_t p1, int* init_table){
6113 int itpos30 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AUniversalClasskind].i;
6114 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
6115 val_t REGB0;
6116 val_t tmp;
6117 if (init_table[itpos30]) return;
6118 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6119 fra.me.file = LOCATE_parser_prod;
6120 fra.me.line = 1066;
6121 fra.me.meth = LOCATE_parser_prod___AUniversalClasskind___init_auniversalclasskind;
6122 fra.me.has_broke = 0;
6123 fra.me.REG_size = 2;
6124 fra.me.REG[0] = NIT_NULL;
6125 fra.me.REG[1] = NIT_NULL;
6126 fra.me.REG[0] = p0;
6127 fra.me.REG[1] = p1;
6128 /* ./parser//parser_prod.nit:1070 */
6129 CALL_parser_prod___AUniversalClasskind___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
6130 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
6131 /* ./parser//parser_prod.nit:1071 */
6132 if (UNTAG_Bool(REGB0)) {
6133 } else {
6134 fprintf(stderr, "Cast failed");
6135 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1071);
6136 nit_exit(1);
6137 }
6138 ATTR_parser_nodes___AUniversalClasskind____n_kwuniversal(fra.me.REG[0]) = fra.me.REG[1];
6139 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
6140 /* ./parser//parser_prod.nit:1072 */
6141 if (UNTAG_Bool(REGB0)) {
6142 fprintf(stderr, "Reciever is null");
6143 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1072);
6144 nit_exit(1);
6145 }
6146 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
6147 stack_frame_head = fra.me.prev;
6148 init_table[itpos30] = 1;
6149 return;
6150 }
6151 void parser_prod___AFormaldef___n_id__eq(val_t p0, val_t p1){
6152 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
6153 val_t tmp;
6154 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6155 fra.me.file = LOCATE_parser_prod;
6156 fra.me.line = 1100;
6157 fra.me.meth = LOCATE_parser_prod___AFormaldef___n_id__eq;
6158 fra.me.has_broke = 0;
6159 fra.me.REG_size = 2;
6160 fra.me.REG[0] = NIT_NULL;
6161 fra.me.REG[1] = NIT_NULL;
6162 fra.me.REG[0] = p0;
6163 fra.me.REG[1] = p1;
6164 /* ./parser//parser_prod.nit:1102 */
6165 ATTR_parser_nodes___AFormaldef____n_id(fra.me.REG[0]) = fra.me.REG[1];
6166 /* ./parser//parser_prod.nit:1103 */
6167 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
6168 stack_frame_head = fra.me.prev;
6169 return;
6170 }
6171 void parser_prod___AFormaldef___n_type__eq(val_t p0, val_t p1){
6172 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
6173 val_t REGB0;
6174 val_t REGB1;
6175 val_t tmp;
6176 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6177 fra.me.file = LOCATE_parser_prod;
6178 fra.me.line = 1105;
6179 fra.me.meth = LOCATE_parser_prod___AFormaldef___n_type__eq;
6180 fra.me.has_broke = 0;
6181 fra.me.REG_size = 2;
6182 fra.me.REG[0] = NIT_NULL;
6183 fra.me.REG[1] = NIT_NULL;
6184 fra.me.REG[0] = p0;
6185 fra.me.REG[1] = p1;
6186 /* ./parser//parser_prod.nit:1107 */
6187 ATTR_parser_nodes___AFormaldef____n_type(fra.me.REG[0]) = fra.me.REG[1];
6188 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
6189 /* ./parser//parser_prod.nit:1108 */
6190 if (UNTAG_Bool(REGB0)) {
6191 } else {
6192 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
6193 if (UNTAG_Bool(REGB1)) {
6194 REGB1 = TAG_Bool(false);
6195 REGB0 = REGB1;
6196 } else {
6197 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
6198 REGB0 = REGB1;
6199 }
6200 }
6201 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6202 if (UNTAG_Bool(REGB0)) {
6203 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
6204 /* ./parser//parser_prod.nit:1109 */
6205 if (UNTAG_Bool(REGB0)) {
6206 fprintf(stderr, "Reciever is null");
6207 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1109);
6208 nit_exit(1);
6209 }
6210 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
6211 }
6212 stack_frame_head = fra.me.prev;
6213 return;
6214 }
6215 void parser_prod___AFormaldef___replace_child(val_t p0, val_t p1, val_t p2){
6216 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
6217 val_t REGB0;
6218 val_t REGB1;
6219 val_t tmp;
6220 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6221 fra.me.file = LOCATE_parser_prod;
6222 fra.me.line = 1129;
6223 fra.me.meth = LOCATE_parser_prod___AFormaldef___replace_child;
6224 fra.me.has_broke = 0;
6225 fra.me.REG_size = 4;
6226 fra.me.REG[0] = NIT_NULL;
6227 fra.me.REG[1] = NIT_NULL;
6228 fra.me.REG[2] = NIT_NULL;
6229 fra.me.REG[3] = NIT_NULL;
6230 fra.me.REG[0] = p0;
6231 fra.me.REG[1] = p1;
6232 fra.me.REG[2] = p2;
6233 REGB0 = TAG_Bool(ATTR_parser_nodes___AFormaldef____n_id(fra.me.REG[0])!=NIT_NULL);
6234 /* ./parser//parser_prod.nit:1131 */
6235 if (UNTAG_Bool(REGB0)) {
6236 } else {
6237 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
6238 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1131);
6239 nit_exit(1);
6240 }
6241 fra.me.REG[3] = ATTR_parser_nodes___AFormaldef____n_id(fra.me.REG[0]);
6242 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
6243 if (UNTAG_Bool(REGB0)) {
6244 } else {
6245 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
6246 REGB0 = REGB1;
6247 }
6248 if (UNTAG_Bool(REGB0)) {
6249 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
6250 /* ./parser//parser_prod.nit:1132 */
6251 if (UNTAG_Bool(REGB0)) {
6252 } else {
6253 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
6254 if (UNTAG_Bool(REGB1)) {
6255 REGB1 = TAG_Bool(false);
6256 REGB0 = REGB1;
6257 } else {
6258 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
6259 REGB0 = REGB1;
6260 }
6261 }
6262 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6263 if (UNTAG_Bool(REGB0)) {
6264 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
6265 /* ./parser//parser_prod.nit:1133 */
6266 if (UNTAG_Bool(REGB0)) {
6267 fprintf(stderr, "Reciever is null");
6268 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1133);
6269 nit_exit(1);
6270 }
6271 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
6272 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
6273 /* ./parser//parser_prod.nit:1134 */
6274 if (UNTAG_Bool(REGB0)) {
6275 } else {
6276 fprintf(stderr, "Assert failed");
6277 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1134);
6278 nit_exit(1);
6279 }
6280 /* ./parser//parser_prod.nit:1135 */
6281 ATTR_parser_nodes___AFormaldef____n_id(fra.me.REG[0]) = fra.me.REG[2];
6282 } else {
6283 /* ./parser//parser_prod.nit:1137 */
6284 fprintf(stderr, "Aborted");
6285 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1137);
6286 nit_exit(1);
6287 }
6288 /* ./parser//parser_prod.nit:1139 */
6289 goto label1;
6290 }
6291 fra.me.REG[3] = ATTR_parser_nodes___AFormaldef____n_type(fra.me.REG[0]);
6292 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
6293 /* ./parser//parser_prod.nit:1141 */
6294 if (UNTAG_Bool(REGB0)) {
6295 } else {
6296 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
6297 if (UNTAG_Bool(REGB1)) {
6298 REGB1 = TAG_Bool(false);
6299 REGB0 = REGB1;
6300 } else {
6301 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
6302 REGB0 = REGB1;
6303 }
6304 }
6305 if (UNTAG_Bool(REGB0)) {
6306 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
6307 /* ./parser//parser_prod.nit:1142 */
6308 if (UNTAG_Bool(REGB0)) {
6309 } else {
6310 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
6311 if (UNTAG_Bool(REGB1)) {
6312 REGB1 = TAG_Bool(false);
6313 REGB0 = REGB1;
6314 } else {
6315 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
6316 REGB0 = REGB1;
6317 }
6318 }
6319 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6320 if (UNTAG_Bool(REGB0)) {
6321 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
6322 /* ./parser//parser_prod.nit:1143 */
6323 if (UNTAG_Bool(REGB0)) {
6324 fprintf(stderr, "Reciever is null");
6325 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1143);
6326 nit_exit(1);
6327 }
6328 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
6329 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast AType*/;
6330 /* ./parser//parser_prod.nit:1144 */
6331 if (UNTAG_Bool(REGB0)) {
6332 } else {
6333 fprintf(stderr, "Assert failed");
6334 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1144);
6335 nit_exit(1);
6336 }
6337 /* ./parser//parser_prod.nit:1145 */
6338 ATTR_parser_nodes___AFormaldef____n_type(fra.me.REG[0]) = fra.me.REG[2];
6339 } else {
6340 /* ./parser//parser_prod.nit:1147 */
6341 ATTR_parser_nodes___AFormaldef____n_type(fra.me.REG[0]) = NIT_NULL;
6342 }
6343 /* ./parser//parser_prod.nit:1149 */
6344 goto label1;
6345 }
6346 label1: while(0);
6347 stack_frame_head = fra.me.prev;
6348 return;
6349 }
6350 void parser_prod___AFormaldef___visit_all(val_t p0, val_t p1){
6351 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
6352 val_t REGB0;
6353 val_t REGB1;
6354 val_t tmp;
6355 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6356 fra.me.file = LOCATE_parser_prod;
6357 fra.me.line = 1153;
6358 fra.me.meth = LOCATE_parser_prod___AFormaldef___visit_all;
6359 fra.me.has_broke = 0;
6360 fra.me.REG_size = 3;
6361 fra.me.REG[0] = NIT_NULL;
6362 fra.me.REG[1] = NIT_NULL;
6363 fra.me.REG[2] = NIT_NULL;
6364 fra.me.REG[0] = p0;
6365 fra.me.REG[1] = p1;
6366 REGB0 = TAG_Bool(ATTR_parser_nodes___AFormaldef____n_id(fra.me.REG[0])!=NIT_NULL);
6367 /* ./parser//parser_prod.nit:1155 */
6368 if (UNTAG_Bool(REGB0)) {
6369 } else {
6370 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
6371 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1155);
6372 nit_exit(1);
6373 }
6374 fra.me.REG[2] = ATTR_parser_nodes___AFormaldef____n_id(fra.me.REG[0]);
6375 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6376 fra.me.REG[2] = ATTR_parser_nodes___AFormaldef____n_type(fra.me.REG[0]);
6377 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
6378 /* ./parser//parser_prod.nit:1156 */
6379 if (UNTAG_Bool(REGB0)) {
6380 } else {
6381 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
6382 if (UNTAG_Bool(REGB1)) {
6383 REGB1 = TAG_Bool(false);
6384 REGB0 = REGB1;
6385 } else {
6386 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
6387 REGB0 = REGB1;
6388 }
6389 }
6390 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6391 if (UNTAG_Bool(REGB0)) {
6392 fra.me.REG[0] = ATTR_parser_nodes___AFormaldef____n_type(fra.me.REG[0]);
6393 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_AType, ID_AType)) /*cast AType*/;
6394 /* ./parser//parser_prod.nit:1157 */
6395 if (UNTAG_Bool(REGB0)) {
6396 } else {
6397 fprintf(stderr, "Cast failed");
6398 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1157);
6399 nit_exit(1);
6400 }
6401 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
6402 }
6403 stack_frame_head = fra.me.prev;
6404 return;
6405 }
6406 void parser_prod___AFormaldef___visit_all_reverse(val_t p0, val_t p1){
6407 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
6408 val_t REGB0;
6409 val_t REGB1;
6410 val_t tmp;
6411 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6412 fra.me.file = LOCATE_parser_prod;
6413 fra.me.line = 1161;
6414 fra.me.meth = LOCATE_parser_prod___AFormaldef___visit_all_reverse;
6415 fra.me.has_broke = 0;
6416 fra.me.REG_size = 3;
6417 fra.me.REG[0] = NIT_NULL;
6418 fra.me.REG[1] = NIT_NULL;
6419 fra.me.REG[2] = NIT_NULL;
6420 fra.me.REG[0] = p0;
6421 fra.me.REG[1] = p1;
6422 REGB0 = TAG_Bool(ATTR_parser_nodes___AFormaldef____n_id(fra.me.REG[0])!=NIT_NULL);
6423 /* ./parser//parser_prod.nit:1163 */
6424 if (UNTAG_Bool(REGB0)) {
6425 } else {
6426 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
6427 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1163);
6428 nit_exit(1);
6429 }
6430 fra.me.REG[2] = ATTR_parser_nodes___AFormaldef____n_id(fra.me.REG[0]);
6431 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6432 fra.me.REG[2] = ATTR_parser_nodes___AFormaldef____n_type(fra.me.REG[0]);
6433 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
6434 /* ./parser//parser_prod.nit:1164 */
6435 if (UNTAG_Bool(REGB0)) {
6436 } else {
6437 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
6438 if (UNTAG_Bool(REGB1)) {
6439 REGB1 = TAG_Bool(false);
6440 REGB0 = REGB1;
6441 } else {
6442 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
6443 REGB0 = REGB1;
6444 }
6445 }
6446 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6447 if (UNTAG_Bool(REGB0)) {
6448 fra.me.REG[0] = ATTR_parser_nodes___AFormaldef____n_type(fra.me.REG[0]);
6449 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_AType, ID_AType)) /*cast AType*/;
6450 /* ./parser//parser_prod.nit:1165 */
6451 if (UNTAG_Bool(REGB0)) {
6452 } else {
6453 fprintf(stderr, "Cast failed");
6454 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1165);
6455 nit_exit(1);
6456 }
6457 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
6458 }
6459 stack_frame_head = fra.me.prev;
6460 return;
6461 }
6462 void parser_prod___AFormaldef___empty_init(val_t p0, int* init_table){
6463 int itpos31 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AFormaldef].i;
6464 struct {struct stack_frame_t me;} fra;
6465 val_t tmp;
6466 if (init_table[itpos31]) return;
6467 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6468 fra.me.file = LOCATE_parser_prod;
6469 fra.me.line = 1113;
6470 fra.me.meth = LOCATE_parser_prod___AFormaldef___empty_init;
6471 fra.me.has_broke = 0;
6472 fra.me.REG_size = 1;
6473 fra.me.REG[0] = NIT_NULL;
6474 fra.me.REG[0] = p0;
6475 /* ./parser//parser_prod.nit:1113 */
6476 stack_frame_head = fra.me.prev;
6477 init_table[itpos31] = 1;
6478 return;
6479 }
6480 void parser_prod___AFormaldef___init_aformaldef(val_t p0, val_t p1, val_t p2, int* init_table){
6481 int itpos32 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AFormaldef].i;
6482 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
6483 val_t REGB0;
6484 val_t REGB1;
6485 val_t tmp;
6486 if (init_table[itpos32]) return;
6487 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6488 fra.me.file = LOCATE_parser_prod;
6489 fra.me.line = 1115;
6490 fra.me.meth = LOCATE_parser_prod___AFormaldef___init_aformaldef;
6491 fra.me.has_broke = 0;
6492 fra.me.REG_size = 3;
6493 fra.me.REG[0] = NIT_NULL;
6494 fra.me.REG[1] = NIT_NULL;
6495 fra.me.REG[2] = NIT_NULL;
6496 fra.me.REG[0] = p0;
6497 fra.me.REG[1] = p1;
6498 fra.me.REG[2] = p2;
6499 /* ./parser//parser_prod.nit:1120 */
6500 CALL_parser_prod___AFormaldef___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
6501 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
6502 /* ./parser//parser_prod.nit:1121 */
6503 if (UNTAG_Bool(REGB0)) {
6504 } else {
6505 fprintf(stderr, "Cast failed");
6506 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1121);
6507 nit_exit(1);
6508 }
6509 ATTR_parser_nodes___AFormaldef____n_id(fra.me.REG[0]) = fra.me.REG[1];
6510 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
6511 /* ./parser//parser_prod.nit:1122 */
6512 if (UNTAG_Bool(REGB0)) {
6513 fprintf(stderr, "Reciever is null");
6514 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1122);
6515 nit_exit(1);
6516 }
6517 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
6518 /* ./parser//parser_prod.nit:1123 */
6519 ATTR_parser_nodes___AFormaldef____n_type(fra.me.REG[0]) = fra.me.REG[2];
6520 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
6521 /* ./parser//parser_prod.nit:1124 */
6522 if (UNTAG_Bool(REGB0)) {
6523 } else {
6524 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
6525 if (UNTAG_Bool(REGB1)) {
6526 REGB1 = TAG_Bool(false);
6527 REGB0 = REGB1;
6528 } else {
6529 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
6530 REGB0 = REGB1;
6531 }
6532 }
6533 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6534 if (UNTAG_Bool(REGB0)) {
6535 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
6536 /* ./parser//parser_prod.nit:1125 */
6537 if (UNTAG_Bool(REGB0)) {
6538 fprintf(stderr, "Reciever is null");
6539 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1125);
6540 nit_exit(1);
6541 }
6542 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
6543 }
6544 stack_frame_head = fra.me.prev;
6545 init_table[itpos32] = 1;
6546 return;
6547 }
6548 void parser_prod___ASuperclass___n_kwspecial__eq(val_t p0, val_t p1){
6549 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
6550 val_t tmp;
6551 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6552 fra.me.file = LOCATE_parser_prod;
6553 fra.me.line = 1170;
6554 fra.me.meth = LOCATE_parser_prod___ASuperclass___n_kwspecial__eq;
6555 fra.me.has_broke = 0;
6556 fra.me.REG_size = 2;
6557 fra.me.REG[0] = NIT_NULL;
6558 fra.me.REG[1] = NIT_NULL;
6559 fra.me.REG[0] = p0;
6560 fra.me.REG[1] = p1;
6561 /* ./parser//parser_prod.nit:1172 */
6562 ATTR_parser_nodes___ASuperclass____n_kwspecial(fra.me.REG[0]) = fra.me.REG[1];
6563 /* ./parser//parser_prod.nit:1173 */
6564 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
6565 stack_frame_head = fra.me.prev;
6566 return;
6567 }
6568 void parser_prod___ASuperclass___n_type__eq(val_t p0, val_t p1){
6569 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
6570 val_t tmp;
6571 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6572 fra.me.file = LOCATE_parser_prod;
6573 fra.me.line = 1175;
6574 fra.me.meth = LOCATE_parser_prod___ASuperclass___n_type__eq;
6575 fra.me.has_broke = 0;
6576 fra.me.REG_size = 2;
6577 fra.me.REG[0] = NIT_NULL;
6578 fra.me.REG[1] = NIT_NULL;
6579 fra.me.REG[0] = p0;
6580 fra.me.REG[1] = p1;
6581 /* ./parser//parser_prod.nit:1177 */
6582 ATTR_parser_nodes___ASuperclass____n_type(fra.me.REG[0]) = fra.me.REG[1];
6583 /* ./parser//parser_prod.nit:1178 */
6584 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
6585 stack_frame_head = fra.me.prev;
6586 return;
6587 }
6588 void parser_prod___ASuperclass___replace_child(val_t p0, val_t p1, val_t p2){
6589 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
6590 val_t REGB0;
6591 val_t REGB1;
6592 val_t tmp;
6593 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6594 fra.me.file = LOCATE_parser_prod;
6595 fra.me.line = 1195;
6596 fra.me.meth = LOCATE_parser_prod___ASuperclass___replace_child;
6597 fra.me.has_broke = 0;
6598 fra.me.REG_size = 4;
6599 fra.me.REG[0] = NIT_NULL;
6600 fra.me.REG[1] = NIT_NULL;
6601 fra.me.REG[2] = NIT_NULL;
6602 fra.me.REG[3] = NIT_NULL;
6603 fra.me.REG[0] = p0;
6604 fra.me.REG[1] = p1;
6605 fra.me.REG[2] = p2;
6606 REGB0 = TAG_Bool(ATTR_parser_nodes___ASuperclass____n_kwspecial(fra.me.REG[0])!=NIT_NULL);
6607 /* ./parser//parser_prod.nit:1197 */
6608 if (UNTAG_Bool(REGB0)) {
6609 } else {
6610 fprintf(stderr, "Uninitialized attribute %s", "_n_kwspecial");
6611 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1197);
6612 nit_exit(1);
6613 }
6614 fra.me.REG[3] = ATTR_parser_nodes___ASuperclass____n_kwspecial(fra.me.REG[0]);
6615 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
6616 if (UNTAG_Bool(REGB0)) {
6617 } else {
6618 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
6619 REGB0 = REGB1;
6620 }
6621 if (UNTAG_Bool(REGB0)) {
6622 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
6623 /* ./parser//parser_prod.nit:1198 */
6624 if (UNTAG_Bool(REGB0)) {
6625 } else {
6626 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
6627 if (UNTAG_Bool(REGB1)) {
6628 REGB1 = TAG_Bool(false);
6629 REGB0 = REGB1;
6630 } else {
6631 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
6632 REGB0 = REGB1;
6633 }
6634 }
6635 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6636 if (UNTAG_Bool(REGB0)) {
6637 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
6638 /* ./parser//parser_prod.nit:1199 */
6639 if (UNTAG_Bool(REGB0)) {
6640 fprintf(stderr, "Reciever is null");
6641 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1199);
6642 nit_exit(1);
6643 }
6644 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
6645 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwspecial, ID_TKwspecial)) /*cast TKwspecial*/;
6646 /* ./parser//parser_prod.nit:1200 */
6647 if (UNTAG_Bool(REGB0)) {
6648 } else {
6649 fprintf(stderr, "Assert failed");
6650 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1200);
6651 nit_exit(1);
6652 }
6653 /* ./parser//parser_prod.nit:1201 */
6654 ATTR_parser_nodes___ASuperclass____n_kwspecial(fra.me.REG[0]) = fra.me.REG[2];
6655 } else {
6656 /* ./parser//parser_prod.nit:1203 */
6657 fprintf(stderr, "Aborted");
6658 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1203);
6659 nit_exit(1);
6660 }
6661 /* ./parser//parser_prod.nit:1205 */
6662 goto label1;
6663 }
6664 REGB0 = TAG_Bool(ATTR_parser_nodes___ASuperclass____n_type(fra.me.REG[0])!=NIT_NULL);
6665 /* ./parser//parser_prod.nit:1207 */
6666 if (UNTAG_Bool(REGB0)) {
6667 } else {
6668 fprintf(stderr, "Uninitialized attribute %s", "_n_type");
6669 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1207);
6670 nit_exit(1);
6671 }
6672 fra.me.REG[3] = ATTR_parser_nodes___ASuperclass____n_type(fra.me.REG[0]);
6673 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
6674 if (UNTAG_Bool(REGB0)) {
6675 } else {
6676 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
6677 REGB0 = REGB1;
6678 }
6679 if (UNTAG_Bool(REGB0)) {
6680 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
6681 /* ./parser//parser_prod.nit:1208 */
6682 if (UNTAG_Bool(REGB0)) {
6683 } else {
6684 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
6685 if (UNTAG_Bool(REGB1)) {
6686 REGB1 = TAG_Bool(false);
6687 REGB0 = REGB1;
6688 } else {
6689 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
6690 REGB0 = REGB1;
6691 }
6692 }
6693 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6694 if (UNTAG_Bool(REGB0)) {
6695 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
6696 /* ./parser//parser_prod.nit:1209 */
6697 if (UNTAG_Bool(REGB0)) {
6698 fprintf(stderr, "Reciever is null");
6699 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1209);
6700 nit_exit(1);
6701 }
6702 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
6703 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast AType*/;
6704 /* ./parser//parser_prod.nit:1210 */
6705 if (UNTAG_Bool(REGB0)) {
6706 } else {
6707 fprintf(stderr, "Assert failed");
6708 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1210);
6709 nit_exit(1);
6710 }
6711 /* ./parser//parser_prod.nit:1211 */
6712 ATTR_parser_nodes___ASuperclass____n_type(fra.me.REG[0]) = fra.me.REG[2];
6713 } else {
6714 /* ./parser//parser_prod.nit:1213 */
6715 fprintf(stderr, "Aborted");
6716 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1213);
6717 nit_exit(1);
6718 }
6719 /* ./parser//parser_prod.nit:1215 */
6720 goto label1;
6721 }
6722 label1: while(0);
6723 stack_frame_head = fra.me.prev;
6724 return;
6725 }
6726 void parser_prod___ASuperclass___visit_all(val_t p0, val_t p1){
6727 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
6728 val_t REGB0;
6729 val_t tmp;
6730 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6731 fra.me.file = LOCATE_parser_prod;
6732 fra.me.line = 1219;
6733 fra.me.meth = LOCATE_parser_prod___ASuperclass___visit_all;
6734 fra.me.has_broke = 0;
6735 fra.me.REG_size = 3;
6736 fra.me.REG[0] = NIT_NULL;
6737 fra.me.REG[1] = NIT_NULL;
6738 fra.me.REG[2] = NIT_NULL;
6739 fra.me.REG[0] = p0;
6740 fra.me.REG[1] = p1;
6741 REGB0 = TAG_Bool(ATTR_parser_nodes___ASuperclass____n_kwspecial(fra.me.REG[0])!=NIT_NULL);
6742 /* ./parser//parser_prod.nit:1221 */
6743 if (UNTAG_Bool(REGB0)) {
6744 } else {
6745 fprintf(stderr, "Uninitialized attribute %s", "_n_kwspecial");
6746 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1221);
6747 nit_exit(1);
6748 }
6749 fra.me.REG[2] = ATTR_parser_nodes___ASuperclass____n_kwspecial(fra.me.REG[0]);
6750 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6751 REGB0 = TAG_Bool(ATTR_parser_nodes___ASuperclass____n_type(fra.me.REG[0])!=NIT_NULL);
6752 /* ./parser//parser_prod.nit:1222 */
6753 if (UNTAG_Bool(REGB0)) {
6754 } else {
6755 fprintf(stderr, "Uninitialized attribute %s", "_n_type");
6756 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1222);
6757 nit_exit(1);
6758 }
6759 fra.me.REG[0] = ATTR_parser_nodes___ASuperclass____n_type(fra.me.REG[0]);
6760 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
6761 stack_frame_head = fra.me.prev;
6762 return;
6763 }
6764 void parser_prod___ASuperclass___visit_all_reverse(val_t p0, val_t p1){
6765 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
6766 val_t REGB0;
6767 val_t tmp;
6768 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6769 fra.me.file = LOCATE_parser_prod;
6770 fra.me.line = 1225;
6771 fra.me.meth = LOCATE_parser_prod___ASuperclass___visit_all_reverse;
6772 fra.me.has_broke = 0;
6773 fra.me.REG_size = 3;
6774 fra.me.REG[0] = NIT_NULL;
6775 fra.me.REG[1] = NIT_NULL;
6776 fra.me.REG[2] = NIT_NULL;
6777 fra.me.REG[0] = p0;
6778 fra.me.REG[1] = p1;
6779 REGB0 = TAG_Bool(ATTR_parser_nodes___ASuperclass____n_kwspecial(fra.me.REG[0])!=NIT_NULL);
6780 /* ./parser//parser_prod.nit:1227 */
6781 if (UNTAG_Bool(REGB0)) {
6782 } else {
6783 fprintf(stderr, "Uninitialized attribute %s", "_n_kwspecial");
6784 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1227);
6785 nit_exit(1);
6786 }
6787 fra.me.REG[2] = ATTR_parser_nodes___ASuperclass____n_kwspecial(fra.me.REG[0]);
6788 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
6789 REGB0 = TAG_Bool(ATTR_parser_nodes___ASuperclass____n_type(fra.me.REG[0])!=NIT_NULL);
6790 /* ./parser//parser_prod.nit:1228 */
6791 if (UNTAG_Bool(REGB0)) {
6792 } else {
6793 fprintf(stderr, "Uninitialized attribute %s", "_n_type");
6794 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1228);
6795 nit_exit(1);
6796 }
6797 fra.me.REG[0] = ATTR_parser_nodes___ASuperclass____n_type(fra.me.REG[0]);
6798 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
6799 stack_frame_head = fra.me.prev;
6800 return;
6801 }
6802 void parser_prod___ASuperclass___empty_init(val_t p0, int* init_table){
6803 int itpos33 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ASuperclass].i;
6804 struct {struct stack_frame_t me;} fra;
6805 val_t tmp;
6806 if (init_table[itpos33]) return;
6807 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6808 fra.me.file = LOCATE_parser_prod;
6809 fra.me.line = 1181;
6810 fra.me.meth = LOCATE_parser_prod___ASuperclass___empty_init;
6811 fra.me.has_broke = 0;
6812 fra.me.REG_size = 1;
6813 fra.me.REG[0] = NIT_NULL;
6814 fra.me.REG[0] = p0;
6815 /* ./parser//parser_prod.nit:1181 */
6816 stack_frame_head = fra.me.prev;
6817 init_table[itpos33] = 1;
6818 return;
6819 }
6820 void parser_prod___ASuperclass___init_asuperclass(val_t p0, val_t p1, val_t p2, int* init_table){
6821 int itpos34 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ASuperclass].i;
6822 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
6823 val_t REGB0;
6824 val_t tmp;
6825 if (init_table[itpos34]) return;
6826 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6827 fra.me.file = LOCATE_parser_prod;
6828 fra.me.line = 1183;
6829 fra.me.meth = LOCATE_parser_prod___ASuperclass___init_asuperclass;
6830 fra.me.has_broke = 0;
6831 fra.me.REG_size = 3;
6832 fra.me.REG[0] = NIT_NULL;
6833 fra.me.REG[1] = NIT_NULL;
6834 fra.me.REG[2] = NIT_NULL;
6835 fra.me.REG[0] = p0;
6836 fra.me.REG[1] = p1;
6837 fra.me.REG[2] = p2;
6838 /* ./parser//parser_prod.nit:1188 */
6839 CALL_parser_prod___ASuperclass___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
6840 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
6841 /* ./parser//parser_prod.nit:1189 */
6842 if (UNTAG_Bool(REGB0)) {
6843 } else {
6844 fprintf(stderr, "Cast failed");
6845 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1189);
6846 nit_exit(1);
6847 }
6848 ATTR_parser_nodes___ASuperclass____n_kwspecial(fra.me.REG[0]) = fra.me.REG[1];
6849 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
6850 /* ./parser//parser_prod.nit:1190 */
6851 if (UNTAG_Bool(REGB0)) {
6852 fprintf(stderr, "Reciever is null");
6853 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1190);
6854 nit_exit(1);
6855 }
6856 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
6857 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
6858 /* ./parser//parser_prod.nit:1191 */
6859 if (UNTAG_Bool(REGB0)) {
6860 } else {
6861 fprintf(stderr, "Cast failed");
6862 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1191);
6863 nit_exit(1);
6864 }
6865 ATTR_parser_nodes___ASuperclass____n_type(fra.me.REG[0]) = fra.me.REG[2];
6866 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
6867 /* ./parser//parser_prod.nit:1192 */
6868 if (UNTAG_Bool(REGB0)) {
6869 fprintf(stderr, "Reciever is null");
6870 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1192);
6871 nit_exit(1);
6872 }
6873 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
6874 stack_frame_head = fra.me.prev;
6875 init_table[itpos34] = 1;
6876 return;
6877 }
6878 void parser_prod___AAttrPropdef___n_doc__eq(val_t p0, val_t p1){
6879 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
6880 val_t REGB0;
6881 val_t REGB1;
6882 val_t tmp;
6883 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6884 fra.me.file = LOCATE_parser_prod;
6885 fra.me.line = 1232;
6886 fra.me.meth = LOCATE_parser_prod___AAttrPropdef___n_doc__eq;
6887 fra.me.has_broke = 0;
6888 fra.me.REG_size = 2;
6889 fra.me.REG[0] = NIT_NULL;
6890 fra.me.REG[1] = NIT_NULL;
6891 fra.me.REG[0] = p0;
6892 fra.me.REG[1] = p1;
6893 /* ./parser//parser_prod.nit:1234 */
6894 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = fra.me.REG[1];
6895 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
6896 /* ./parser//parser_prod.nit:1235 */
6897 if (UNTAG_Bool(REGB0)) {
6898 } else {
6899 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
6900 if (UNTAG_Bool(REGB1)) {
6901 REGB1 = TAG_Bool(false);
6902 REGB0 = REGB1;
6903 } else {
6904 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
6905 REGB0 = REGB1;
6906 }
6907 }
6908 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6909 if (UNTAG_Bool(REGB0)) {
6910 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
6911 /* ./parser//parser_prod.nit:1236 */
6912 if (UNTAG_Bool(REGB0)) {
6913 fprintf(stderr, "Reciever is null");
6914 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1236);
6915 nit_exit(1);
6916 }
6917 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
6918 }
6919 stack_frame_head = fra.me.prev;
6920 return;
6921 }
6922 void parser_prod___AAttrPropdef___n_kwredef__eq(val_t p0, val_t p1){
6923 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
6924 val_t REGB0;
6925 val_t REGB1;
6926 val_t tmp;
6927 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6928 fra.me.file = LOCATE_parser_prod;
6929 fra.me.line = 1253;
6930 fra.me.meth = LOCATE_parser_prod___AAttrPropdef___n_kwredef__eq;
6931 fra.me.has_broke = 0;
6932 fra.me.REG_size = 2;
6933 fra.me.REG[0] = NIT_NULL;
6934 fra.me.REG[1] = NIT_NULL;
6935 fra.me.REG[0] = p0;
6936 fra.me.REG[1] = p1;
6937 /* ./parser//parser_prod.nit:1255 */
6938 ATTR_parser_nodes___AAttrPropdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[1];
6939 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
6940 /* ./parser//parser_prod.nit:1256 */
6941 if (UNTAG_Bool(REGB0)) {
6942 } else {
6943 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
6944 if (UNTAG_Bool(REGB1)) {
6945 REGB1 = TAG_Bool(false);
6946 REGB0 = REGB1;
6947 } else {
6948 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
6949 REGB0 = REGB1;
6950 }
6951 }
6952 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
6953 if (UNTAG_Bool(REGB0)) {
6954 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
6955 /* ./parser//parser_prod.nit:1257 */
6956 if (UNTAG_Bool(REGB0)) {
6957 fprintf(stderr, "Reciever is null");
6958 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1257);
6959 nit_exit(1);
6960 }
6961 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
6962 }
6963 stack_frame_head = fra.me.prev;
6964 return;
6965 }
6966 void parser_prod___AAttrPropdef___n_visibility__eq(val_t p0, val_t p1){
6967 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
6968 val_t tmp;
6969 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6970 fra.me.file = LOCATE_parser_prod;
6971 fra.me.line = 1260;
6972 fra.me.meth = LOCATE_parser_prod___AAttrPropdef___n_visibility__eq;
6973 fra.me.has_broke = 0;
6974 fra.me.REG_size = 2;
6975 fra.me.REG[0] = NIT_NULL;
6976 fra.me.REG[1] = NIT_NULL;
6977 fra.me.REG[0] = p0;
6978 fra.me.REG[1] = p1;
6979 /* ./parser//parser_prod.nit:1262 */
6980 ATTR_parser_nodes___AAttrPropdef____n_visibility(fra.me.REG[0]) = fra.me.REG[1];
6981 /* ./parser//parser_prod.nit:1263 */
6982 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
6983 stack_frame_head = fra.me.prev;
6984 return;
6985 }
6986 void parser_prod___AAttrPropdef___n_kwvar__eq(val_t p0, val_t p1){
6987 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
6988 val_t tmp;
6989 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
6990 fra.me.file = LOCATE_parser_prod;
6991 fra.me.line = 1265;
6992 fra.me.meth = LOCATE_parser_prod___AAttrPropdef___n_kwvar__eq;
6993 fra.me.has_broke = 0;
6994 fra.me.REG_size = 2;
6995 fra.me.REG[0] = NIT_NULL;
6996 fra.me.REG[1] = NIT_NULL;
6997 fra.me.REG[0] = p0;
6998 fra.me.REG[1] = p1;
6999 /* ./parser//parser_prod.nit:1267 */
7000 ATTR_parser_nodes___AAttrPropdef____n_kwvar(fra.me.REG[0]) = fra.me.REG[1];
7001 /* ./parser//parser_prod.nit:1268 */
7002 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
7003 stack_frame_head = fra.me.prev;
7004 return;
7005 }
7006 void parser_prod___AAttrPropdef___n_id__eq(val_t p0, val_t p1){
7007 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
7008 val_t tmp;
7009 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7010 fra.me.file = LOCATE_parser_prod;
7011 fra.me.line = 1270;
7012 fra.me.meth = LOCATE_parser_prod___AAttrPropdef___n_id__eq;
7013 fra.me.has_broke = 0;
7014 fra.me.REG_size = 2;
7015 fra.me.REG[0] = NIT_NULL;
7016 fra.me.REG[1] = NIT_NULL;
7017 fra.me.REG[0] = p0;
7018 fra.me.REG[1] = p1;
7019 /* ./parser//parser_prod.nit:1272 */
7020 ATTR_parser_nodes___AAttrPropdef____n_id(fra.me.REG[0]) = fra.me.REG[1];
7021 /* ./parser//parser_prod.nit:1273 */
7022 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
7023 stack_frame_head = fra.me.prev;
7024 return;
7025 }
7026 void parser_prod___AAttrPropdef___n_type__eq(val_t p0, val_t p1){
7027 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
7028 val_t REGB0;
7029 val_t REGB1;
7030 val_t tmp;
7031 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7032 fra.me.file = LOCATE_parser_prod;
7033 fra.me.line = 1275;
7034 fra.me.meth = LOCATE_parser_prod___AAttrPropdef___n_type__eq;
7035 fra.me.has_broke = 0;
7036 fra.me.REG_size = 2;
7037 fra.me.REG[0] = NIT_NULL;
7038 fra.me.REG[1] = NIT_NULL;
7039 fra.me.REG[0] = p0;
7040 fra.me.REG[1] = p1;
7041 /* ./parser//parser_prod.nit:1277 */
7042 ATTR_parser_nodes___AAttrPropdef____n_type(fra.me.REG[0]) = fra.me.REG[1];
7043 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
7044 /* ./parser//parser_prod.nit:1278 */
7045 if (UNTAG_Bool(REGB0)) {
7046 } else {
7047 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
7048 if (UNTAG_Bool(REGB1)) {
7049 REGB1 = TAG_Bool(false);
7050 REGB0 = REGB1;
7051 } else {
7052 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
7053 REGB0 = REGB1;
7054 }
7055 }
7056 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7057 if (UNTAG_Bool(REGB0)) {
7058 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
7059 /* ./parser//parser_prod.nit:1279 */
7060 if (UNTAG_Bool(REGB0)) {
7061 fprintf(stderr, "Reciever is null");
7062 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1279);
7063 nit_exit(1);
7064 }
7065 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
7066 }
7067 stack_frame_head = fra.me.prev;
7068 return;
7069 }
7070 void parser_prod___AAttrPropdef___n_readable__eq(val_t p0, val_t p1){
7071 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
7072 val_t REGB0;
7073 val_t REGB1;
7074 val_t tmp;
7075 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7076 fra.me.file = LOCATE_parser_prod;
7077 fra.me.line = 1239;
7078 fra.me.meth = LOCATE_parser_prod___AAttrPropdef___n_readable__eq;
7079 fra.me.has_broke = 0;
7080 fra.me.REG_size = 2;
7081 fra.me.REG[0] = NIT_NULL;
7082 fra.me.REG[1] = NIT_NULL;
7083 fra.me.REG[0] = p0;
7084 fra.me.REG[1] = p1;
7085 /* ./parser//parser_prod.nit:1241 */
7086 ATTR_parser_nodes___AAttrPropdef____n_readable(fra.me.REG[0]) = fra.me.REG[1];
7087 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
7088 /* ./parser//parser_prod.nit:1242 */
7089 if (UNTAG_Bool(REGB0)) {
7090 } else {
7091 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
7092 if (UNTAG_Bool(REGB1)) {
7093 REGB1 = TAG_Bool(false);
7094 REGB0 = REGB1;
7095 } else {
7096 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
7097 REGB0 = REGB1;
7098 }
7099 }
7100 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7101 if (UNTAG_Bool(REGB0)) {
7102 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
7103 /* ./parser//parser_prod.nit:1243 */
7104 if (UNTAG_Bool(REGB0)) {
7105 fprintf(stderr, "Reciever is null");
7106 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1243);
7107 nit_exit(1);
7108 }
7109 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
7110 }
7111 stack_frame_head = fra.me.prev;
7112 return;
7113 }
7114 void parser_prod___AAttrPropdef___n_writable__eq(val_t p0, val_t p1){
7115 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
7116 val_t REGB0;
7117 val_t REGB1;
7118 val_t tmp;
7119 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7120 fra.me.file = LOCATE_parser_prod;
7121 fra.me.line = 1246;
7122 fra.me.meth = LOCATE_parser_prod___AAttrPropdef___n_writable__eq;
7123 fra.me.has_broke = 0;
7124 fra.me.REG_size = 2;
7125 fra.me.REG[0] = NIT_NULL;
7126 fra.me.REG[1] = NIT_NULL;
7127 fra.me.REG[0] = p0;
7128 fra.me.REG[1] = p1;
7129 /* ./parser//parser_prod.nit:1248 */
7130 ATTR_parser_nodes___AAttrPropdef____n_writable(fra.me.REG[0]) = fra.me.REG[1];
7131 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
7132 /* ./parser//parser_prod.nit:1249 */
7133 if (UNTAG_Bool(REGB0)) {
7134 } else {
7135 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
7136 if (UNTAG_Bool(REGB1)) {
7137 REGB1 = TAG_Bool(false);
7138 REGB0 = REGB1;
7139 } else {
7140 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
7141 REGB0 = REGB1;
7142 }
7143 }
7144 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7145 if (UNTAG_Bool(REGB0)) {
7146 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
7147 /* ./parser//parser_prod.nit:1250 */
7148 if (UNTAG_Bool(REGB0)) {
7149 fprintf(stderr, "Reciever is null");
7150 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1250);
7151 nit_exit(1);
7152 }
7153 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
7154 }
7155 stack_frame_head = fra.me.prev;
7156 return;
7157 }
7158 void parser_prod___AAttrPropdef___n_expr__eq(val_t p0, val_t p1){
7159 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
7160 val_t REGB0;
7161 val_t REGB1;
7162 val_t tmp;
7163 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7164 fra.me.file = LOCATE_parser_prod;
7165 fra.me.line = 1282;
7166 fra.me.meth = LOCATE_parser_prod___AAttrPropdef___n_expr__eq;
7167 fra.me.has_broke = 0;
7168 fra.me.REG_size = 2;
7169 fra.me.REG[0] = NIT_NULL;
7170 fra.me.REG[1] = NIT_NULL;
7171 fra.me.REG[0] = p0;
7172 fra.me.REG[1] = p1;
7173 /* ./parser//parser_prod.nit:1284 */
7174 ATTR_parser_nodes___AAttrPropdef____n_expr(fra.me.REG[0]) = fra.me.REG[1];
7175 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
7176 /* ./parser//parser_prod.nit:1285 */
7177 if (UNTAG_Bool(REGB0)) {
7178 } else {
7179 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
7180 if (UNTAG_Bool(REGB1)) {
7181 REGB1 = TAG_Bool(false);
7182 REGB0 = REGB1;
7183 } else {
7184 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
7185 REGB0 = REGB1;
7186 }
7187 }
7188 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7189 if (UNTAG_Bool(REGB0)) {
7190 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
7191 /* ./parser//parser_prod.nit:1286 */
7192 if (UNTAG_Bool(REGB0)) {
7193 fprintf(stderr, "Reciever is null");
7194 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1286);
7195 nit_exit(1);
7196 }
7197 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
7198 }
7199 stack_frame_head = fra.me.prev;
7200 return;
7201 }
7202 void parser_prod___AAttrPropdef___replace_child(val_t p0, val_t p1, val_t p2){
7203 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
7204 val_t REGB0;
7205 val_t REGB1;
7206 val_t tmp;
7207 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7208 fra.me.file = LOCATE_parser_prod;
7209 fra.me.line = 1337;
7210 fra.me.meth = LOCATE_parser_prod___AAttrPropdef___replace_child;
7211 fra.me.has_broke = 0;
7212 fra.me.REG_size = 4;
7213 fra.me.REG[0] = NIT_NULL;
7214 fra.me.REG[1] = NIT_NULL;
7215 fra.me.REG[2] = NIT_NULL;
7216 fra.me.REG[3] = NIT_NULL;
7217 fra.me.REG[0] = p0;
7218 fra.me.REG[1] = p1;
7219 fra.me.REG[2] = p2;
7220 fra.me.REG[3] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
7221 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
7222 /* ./parser//parser_prod.nit:1339 */
7223 if (UNTAG_Bool(REGB0)) {
7224 } else {
7225 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7226 if (UNTAG_Bool(REGB1)) {
7227 REGB1 = TAG_Bool(false);
7228 REGB0 = REGB1;
7229 } else {
7230 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
7231 REGB0 = REGB1;
7232 }
7233 }
7234 if (UNTAG_Bool(REGB0)) {
7235 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7236 /* ./parser//parser_prod.nit:1340 */
7237 if (UNTAG_Bool(REGB0)) {
7238 } else {
7239 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7240 if (UNTAG_Bool(REGB1)) {
7241 REGB1 = TAG_Bool(false);
7242 REGB0 = REGB1;
7243 } else {
7244 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
7245 REGB0 = REGB1;
7246 }
7247 }
7248 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7249 if (UNTAG_Bool(REGB0)) {
7250 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7251 /* ./parser//parser_prod.nit:1341 */
7252 if (UNTAG_Bool(REGB0)) {
7253 fprintf(stderr, "Reciever is null");
7254 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1341);
7255 nit_exit(1);
7256 }
7257 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
7258 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
7259 /* ./parser//parser_prod.nit:1342 */
7260 if (UNTAG_Bool(REGB0)) {
7261 } else {
7262 fprintf(stderr, "Assert failed");
7263 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1342);
7264 nit_exit(1);
7265 }
7266 /* ./parser//parser_prod.nit:1343 */
7267 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = fra.me.REG[2];
7268 } else {
7269 /* ./parser//parser_prod.nit:1345 */
7270 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = NIT_NULL;
7271 }
7272 /* ./parser//parser_prod.nit:1347 */
7273 goto label1;
7274 }
7275 fra.me.REG[3] = ATTR_parser_nodes___AAttrPropdef____n_readable(fra.me.REG[0]);
7276 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
7277 /* ./parser//parser_prod.nit:1349 */
7278 if (UNTAG_Bool(REGB0)) {
7279 } else {
7280 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7281 if (UNTAG_Bool(REGB1)) {
7282 REGB1 = TAG_Bool(false);
7283 REGB0 = REGB1;
7284 } else {
7285 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
7286 REGB0 = REGB1;
7287 }
7288 }
7289 if (UNTAG_Bool(REGB0)) {
7290 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7291 /* ./parser//parser_prod.nit:1350 */
7292 if (UNTAG_Bool(REGB0)) {
7293 } else {
7294 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7295 if (UNTAG_Bool(REGB1)) {
7296 REGB1 = TAG_Bool(false);
7297 REGB0 = REGB1;
7298 } else {
7299 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
7300 REGB0 = REGB1;
7301 }
7302 }
7303 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7304 if (UNTAG_Bool(REGB0)) {
7305 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7306 /* ./parser//parser_prod.nit:1351 */
7307 if (UNTAG_Bool(REGB0)) {
7308 fprintf(stderr, "Reciever is null");
7309 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1351);
7310 nit_exit(1);
7311 }
7312 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
7313 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AAble, ID_AAble)) /*cast AAble*/;
7314 /* ./parser//parser_prod.nit:1352 */
7315 if (UNTAG_Bool(REGB0)) {
7316 } else {
7317 fprintf(stderr, "Assert failed");
7318 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1352);
7319 nit_exit(1);
7320 }
7321 /* ./parser//parser_prod.nit:1353 */
7322 ATTR_parser_nodes___AAttrPropdef____n_readable(fra.me.REG[0]) = fra.me.REG[2];
7323 } else {
7324 /* ./parser//parser_prod.nit:1355 */
7325 ATTR_parser_nodes___AAttrPropdef____n_readable(fra.me.REG[0]) = NIT_NULL;
7326 }
7327 /* ./parser//parser_prod.nit:1357 */
7328 goto label1;
7329 }
7330 fra.me.REG[3] = ATTR_parser_nodes___AAttrPropdef____n_writable(fra.me.REG[0]);
7331 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
7332 /* ./parser//parser_prod.nit:1359 */
7333 if (UNTAG_Bool(REGB0)) {
7334 } else {
7335 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7336 if (UNTAG_Bool(REGB1)) {
7337 REGB1 = TAG_Bool(false);
7338 REGB0 = REGB1;
7339 } else {
7340 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
7341 REGB0 = REGB1;
7342 }
7343 }
7344 if (UNTAG_Bool(REGB0)) {
7345 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7346 /* ./parser//parser_prod.nit:1360 */
7347 if (UNTAG_Bool(REGB0)) {
7348 } else {
7349 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7350 if (UNTAG_Bool(REGB1)) {
7351 REGB1 = TAG_Bool(false);
7352 REGB0 = REGB1;
7353 } else {
7354 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
7355 REGB0 = REGB1;
7356 }
7357 }
7358 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7359 if (UNTAG_Bool(REGB0)) {
7360 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7361 /* ./parser//parser_prod.nit:1361 */
7362 if (UNTAG_Bool(REGB0)) {
7363 fprintf(stderr, "Reciever is null");
7364 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1361);
7365 nit_exit(1);
7366 }
7367 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
7368 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AAble, ID_AAble)) /*cast AAble*/;
7369 /* ./parser//parser_prod.nit:1362 */
7370 if (UNTAG_Bool(REGB0)) {
7371 } else {
7372 fprintf(stderr, "Assert failed");
7373 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1362);
7374 nit_exit(1);
7375 }
7376 /* ./parser//parser_prod.nit:1363 */
7377 ATTR_parser_nodes___AAttrPropdef____n_writable(fra.me.REG[0]) = fra.me.REG[2];
7378 } else {
7379 /* ./parser//parser_prod.nit:1365 */
7380 ATTR_parser_nodes___AAttrPropdef____n_writable(fra.me.REG[0]) = NIT_NULL;
7381 }
7382 /* ./parser//parser_prod.nit:1367 */
7383 goto label1;
7384 }
7385 fra.me.REG[3] = ATTR_parser_nodes___AAttrPropdef____n_kwredef(fra.me.REG[0]);
7386 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
7387 /* ./parser//parser_prod.nit:1369 */
7388 if (UNTAG_Bool(REGB0)) {
7389 } else {
7390 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7391 if (UNTAG_Bool(REGB1)) {
7392 REGB1 = TAG_Bool(false);
7393 REGB0 = REGB1;
7394 } else {
7395 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
7396 REGB0 = REGB1;
7397 }
7398 }
7399 if (UNTAG_Bool(REGB0)) {
7400 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7401 /* ./parser//parser_prod.nit:1370 */
7402 if (UNTAG_Bool(REGB0)) {
7403 } else {
7404 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7405 if (UNTAG_Bool(REGB1)) {
7406 REGB1 = TAG_Bool(false);
7407 REGB0 = REGB1;
7408 } else {
7409 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
7410 REGB0 = REGB1;
7411 }
7412 }
7413 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7414 if (UNTAG_Bool(REGB0)) {
7415 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7416 /* ./parser//parser_prod.nit:1371 */
7417 if (UNTAG_Bool(REGB0)) {
7418 fprintf(stderr, "Reciever is null");
7419 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1371);
7420 nit_exit(1);
7421 }
7422 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
7423 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
7424 /* ./parser//parser_prod.nit:1372 */
7425 if (UNTAG_Bool(REGB0)) {
7426 } else {
7427 fprintf(stderr, "Assert failed");
7428 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1372);
7429 nit_exit(1);
7430 }
7431 /* ./parser//parser_prod.nit:1373 */
7432 ATTR_parser_nodes___AAttrPropdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[2];
7433 } else {
7434 /* ./parser//parser_prod.nit:1375 */
7435 ATTR_parser_nodes___AAttrPropdef____n_kwredef(fra.me.REG[0]) = NIT_NULL;
7436 }
7437 /* ./parser//parser_prod.nit:1377 */
7438 goto label1;
7439 }
7440 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrPropdef____n_visibility(fra.me.REG[0])!=NIT_NULL);
7441 /* ./parser//parser_prod.nit:1379 */
7442 if (UNTAG_Bool(REGB0)) {
7443 } else {
7444 fprintf(stderr, "Uninitialized attribute %s", "_n_visibility");
7445 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1379);
7446 nit_exit(1);
7447 }
7448 fra.me.REG[3] = ATTR_parser_nodes___AAttrPropdef____n_visibility(fra.me.REG[0]);
7449 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
7450 if (UNTAG_Bool(REGB0)) {
7451 } else {
7452 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
7453 REGB0 = REGB1;
7454 }
7455 if (UNTAG_Bool(REGB0)) {
7456 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7457 /* ./parser//parser_prod.nit:1380 */
7458 if (UNTAG_Bool(REGB0)) {
7459 } else {
7460 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7461 if (UNTAG_Bool(REGB1)) {
7462 REGB1 = TAG_Bool(false);
7463 REGB0 = REGB1;
7464 } else {
7465 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
7466 REGB0 = REGB1;
7467 }
7468 }
7469 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7470 if (UNTAG_Bool(REGB0)) {
7471 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7472 /* ./parser//parser_prod.nit:1381 */
7473 if (UNTAG_Bool(REGB0)) {
7474 fprintf(stderr, "Reciever is null");
7475 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1381);
7476 nit_exit(1);
7477 }
7478 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
7479 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AVisibility, ID_AVisibility)) /*cast AVisibility*/;
7480 /* ./parser//parser_prod.nit:1382 */
7481 if (UNTAG_Bool(REGB0)) {
7482 } else {
7483 fprintf(stderr, "Assert failed");
7484 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1382);
7485 nit_exit(1);
7486 }
7487 /* ./parser//parser_prod.nit:1383 */
7488 ATTR_parser_nodes___AAttrPropdef____n_visibility(fra.me.REG[0]) = fra.me.REG[2];
7489 } else {
7490 /* ./parser//parser_prod.nit:1385 */
7491 fprintf(stderr, "Aborted");
7492 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1385);
7493 nit_exit(1);
7494 }
7495 /* ./parser//parser_prod.nit:1387 */
7496 goto label1;
7497 }
7498 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrPropdef____n_kwvar(fra.me.REG[0])!=NIT_NULL);
7499 /* ./parser//parser_prod.nit:1389 */
7500 if (UNTAG_Bool(REGB0)) {
7501 } else {
7502 fprintf(stderr, "Uninitialized attribute %s", "_n_kwvar");
7503 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1389);
7504 nit_exit(1);
7505 }
7506 fra.me.REG[3] = ATTR_parser_nodes___AAttrPropdef____n_kwvar(fra.me.REG[0]);
7507 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
7508 if (UNTAG_Bool(REGB0)) {
7509 } else {
7510 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
7511 REGB0 = REGB1;
7512 }
7513 if (UNTAG_Bool(REGB0)) {
7514 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7515 /* ./parser//parser_prod.nit:1390 */
7516 if (UNTAG_Bool(REGB0)) {
7517 } else {
7518 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7519 if (UNTAG_Bool(REGB1)) {
7520 REGB1 = TAG_Bool(false);
7521 REGB0 = REGB1;
7522 } else {
7523 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
7524 REGB0 = REGB1;
7525 }
7526 }
7527 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7528 if (UNTAG_Bool(REGB0)) {
7529 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7530 /* ./parser//parser_prod.nit:1391 */
7531 if (UNTAG_Bool(REGB0)) {
7532 fprintf(stderr, "Reciever is null");
7533 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1391);
7534 nit_exit(1);
7535 }
7536 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
7537 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
7538 /* ./parser//parser_prod.nit:1392 */
7539 if (UNTAG_Bool(REGB0)) {
7540 } else {
7541 fprintf(stderr, "Assert failed");
7542 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1392);
7543 nit_exit(1);
7544 }
7545 /* ./parser//parser_prod.nit:1393 */
7546 ATTR_parser_nodes___AAttrPropdef____n_kwvar(fra.me.REG[0]) = fra.me.REG[2];
7547 } else {
7548 /* ./parser//parser_prod.nit:1395 */
7549 fprintf(stderr, "Aborted");
7550 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1395);
7551 nit_exit(1);
7552 }
7553 /* ./parser//parser_prod.nit:1397 */
7554 goto label1;
7555 }
7556 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrPropdef____n_id(fra.me.REG[0])!=NIT_NULL);
7557 /* ./parser//parser_prod.nit:1399 */
7558 if (UNTAG_Bool(REGB0)) {
7559 } else {
7560 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
7561 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1399);
7562 nit_exit(1);
7563 }
7564 fra.me.REG[3] = ATTR_parser_nodes___AAttrPropdef____n_id(fra.me.REG[0]);
7565 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
7566 if (UNTAG_Bool(REGB0)) {
7567 } else {
7568 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
7569 REGB0 = REGB1;
7570 }
7571 if (UNTAG_Bool(REGB0)) {
7572 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7573 /* ./parser//parser_prod.nit:1400 */
7574 if (UNTAG_Bool(REGB0)) {
7575 } else {
7576 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7577 if (UNTAG_Bool(REGB1)) {
7578 REGB1 = TAG_Bool(false);
7579 REGB0 = REGB1;
7580 } else {
7581 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
7582 REGB0 = REGB1;
7583 }
7584 }
7585 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7586 if (UNTAG_Bool(REGB0)) {
7587 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7588 /* ./parser//parser_prod.nit:1401 */
7589 if (UNTAG_Bool(REGB0)) {
7590 fprintf(stderr, "Reciever is null");
7591 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1401);
7592 nit_exit(1);
7593 }
7594 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
7595 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
7596 /* ./parser//parser_prod.nit:1402 */
7597 if (UNTAG_Bool(REGB0)) {
7598 } else {
7599 fprintf(stderr, "Assert failed");
7600 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1402);
7601 nit_exit(1);
7602 }
7603 /* ./parser//parser_prod.nit:1403 */
7604 ATTR_parser_nodes___AAttrPropdef____n_id(fra.me.REG[0]) = fra.me.REG[2];
7605 } else {
7606 /* ./parser//parser_prod.nit:1405 */
7607 fprintf(stderr, "Aborted");
7608 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1405);
7609 nit_exit(1);
7610 }
7611 /* ./parser//parser_prod.nit:1407 */
7612 goto label1;
7613 }
7614 fra.me.REG[3] = ATTR_parser_nodes___AAttrPropdef____n_type(fra.me.REG[0]);
7615 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
7616 /* ./parser//parser_prod.nit:1409 */
7617 if (UNTAG_Bool(REGB0)) {
7618 } else {
7619 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7620 if (UNTAG_Bool(REGB1)) {
7621 REGB1 = TAG_Bool(false);
7622 REGB0 = REGB1;
7623 } else {
7624 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
7625 REGB0 = REGB1;
7626 }
7627 }
7628 if (UNTAG_Bool(REGB0)) {
7629 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7630 /* ./parser//parser_prod.nit:1410 */
7631 if (UNTAG_Bool(REGB0)) {
7632 } else {
7633 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7634 if (UNTAG_Bool(REGB1)) {
7635 REGB1 = TAG_Bool(false);
7636 REGB0 = REGB1;
7637 } else {
7638 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
7639 REGB0 = REGB1;
7640 }
7641 }
7642 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7643 if (UNTAG_Bool(REGB0)) {
7644 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7645 /* ./parser//parser_prod.nit:1411 */
7646 if (UNTAG_Bool(REGB0)) {
7647 fprintf(stderr, "Reciever is null");
7648 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1411);
7649 nit_exit(1);
7650 }
7651 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
7652 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast AType*/;
7653 /* ./parser//parser_prod.nit:1412 */
7654 if (UNTAG_Bool(REGB0)) {
7655 } else {
7656 fprintf(stderr, "Assert failed");
7657 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1412);
7658 nit_exit(1);
7659 }
7660 /* ./parser//parser_prod.nit:1413 */
7661 ATTR_parser_nodes___AAttrPropdef____n_type(fra.me.REG[0]) = fra.me.REG[2];
7662 } else {
7663 /* ./parser//parser_prod.nit:1415 */
7664 ATTR_parser_nodes___AAttrPropdef____n_type(fra.me.REG[0]) = NIT_NULL;
7665 }
7666 /* ./parser//parser_prod.nit:1417 */
7667 goto label1;
7668 }
7669 fra.me.REG[3] = ATTR_parser_nodes___AAttrPropdef____n_expr(fra.me.REG[0]);
7670 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
7671 /* ./parser//parser_prod.nit:1419 */
7672 if (UNTAG_Bool(REGB0)) {
7673 } else {
7674 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
7675 if (UNTAG_Bool(REGB1)) {
7676 REGB1 = TAG_Bool(false);
7677 REGB0 = REGB1;
7678 } else {
7679 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
7680 REGB0 = REGB1;
7681 }
7682 }
7683 if (UNTAG_Bool(REGB0)) {
7684 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7685 /* ./parser//parser_prod.nit:1420 */
7686 if (UNTAG_Bool(REGB0)) {
7687 } else {
7688 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7689 if (UNTAG_Bool(REGB1)) {
7690 REGB1 = TAG_Bool(false);
7691 REGB0 = REGB1;
7692 } else {
7693 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
7694 REGB0 = REGB1;
7695 }
7696 }
7697 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7698 if (UNTAG_Bool(REGB0)) {
7699 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7700 /* ./parser//parser_prod.nit:1421 */
7701 if (UNTAG_Bool(REGB0)) {
7702 fprintf(stderr, "Reciever is null");
7703 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1421);
7704 nit_exit(1);
7705 }
7706 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
7707 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
7708 /* ./parser//parser_prod.nit:1422 */
7709 if (UNTAG_Bool(REGB0)) {
7710 } else {
7711 fprintf(stderr, "Assert failed");
7712 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1422);
7713 nit_exit(1);
7714 }
7715 /* ./parser//parser_prod.nit:1423 */
7716 ATTR_parser_nodes___AAttrPropdef____n_expr(fra.me.REG[0]) = fra.me.REG[2];
7717 } else {
7718 /* ./parser//parser_prod.nit:1425 */
7719 ATTR_parser_nodes___AAttrPropdef____n_expr(fra.me.REG[0]) = NIT_NULL;
7720 }
7721 /* ./parser//parser_prod.nit:1427 */
7722 goto label1;
7723 }
7724 label1: while(0);
7725 stack_frame_head = fra.me.prev;
7726 return;
7727 }
7728 void parser_prod___AAttrPropdef___visit_all(val_t p0, val_t p1){
7729 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
7730 val_t REGB0;
7731 val_t REGB1;
7732 val_t tmp;
7733 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7734 fra.me.file = LOCATE_parser_prod;
7735 fra.me.line = 1431;
7736 fra.me.meth = LOCATE_parser_prod___AAttrPropdef___visit_all;
7737 fra.me.has_broke = 0;
7738 fra.me.REG_size = 3;
7739 fra.me.REG[0] = NIT_NULL;
7740 fra.me.REG[1] = NIT_NULL;
7741 fra.me.REG[2] = NIT_NULL;
7742 fra.me.REG[0] = p0;
7743 fra.me.REG[1] = p1;
7744 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
7745 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7746 /* ./parser//parser_prod.nit:1433 */
7747 if (UNTAG_Bool(REGB0)) {
7748 } else {
7749 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7750 if (UNTAG_Bool(REGB1)) {
7751 REGB1 = TAG_Bool(false);
7752 REGB0 = REGB1;
7753 } else {
7754 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
7755 REGB0 = REGB1;
7756 }
7757 }
7758 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7759 if (UNTAG_Bool(REGB0)) {
7760 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
7761 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
7762 /* ./parser//parser_prod.nit:1434 */
7763 if (UNTAG_Bool(REGB0)) {
7764 } else {
7765 fprintf(stderr, "Cast failed");
7766 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1434);
7767 nit_exit(1);
7768 }
7769 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7770 }
7771 fra.me.REG[2] = ATTR_parser_nodes___AAttrPropdef____n_readable(fra.me.REG[0]);
7772 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7773 /* ./parser//parser_prod.nit:1436 */
7774 if (UNTAG_Bool(REGB0)) {
7775 } else {
7776 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7777 if (UNTAG_Bool(REGB1)) {
7778 REGB1 = TAG_Bool(false);
7779 REGB0 = REGB1;
7780 } else {
7781 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
7782 REGB0 = REGB1;
7783 }
7784 }
7785 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7786 if (UNTAG_Bool(REGB0)) {
7787 fra.me.REG[2] = ATTR_parser_nodes___AAttrPropdef____n_readable(fra.me.REG[0]);
7788 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AAble, ID_AAble)) /*cast AAble*/;
7789 /* ./parser//parser_prod.nit:1437 */
7790 if (UNTAG_Bool(REGB0)) {
7791 } else {
7792 fprintf(stderr, "Cast failed");
7793 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1437);
7794 nit_exit(1);
7795 }
7796 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7797 }
7798 fra.me.REG[2] = ATTR_parser_nodes___AAttrPropdef____n_writable(fra.me.REG[0]);
7799 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7800 /* ./parser//parser_prod.nit:1439 */
7801 if (UNTAG_Bool(REGB0)) {
7802 } else {
7803 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7804 if (UNTAG_Bool(REGB1)) {
7805 REGB1 = TAG_Bool(false);
7806 REGB0 = REGB1;
7807 } else {
7808 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
7809 REGB0 = REGB1;
7810 }
7811 }
7812 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7813 if (UNTAG_Bool(REGB0)) {
7814 fra.me.REG[2] = ATTR_parser_nodes___AAttrPropdef____n_writable(fra.me.REG[0]);
7815 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AAble, ID_AAble)) /*cast AAble*/;
7816 /* ./parser//parser_prod.nit:1440 */
7817 if (UNTAG_Bool(REGB0)) {
7818 } else {
7819 fprintf(stderr, "Cast failed");
7820 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1440);
7821 nit_exit(1);
7822 }
7823 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7824 }
7825 fra.me.REG[2] = ATTR_parser_nodes___AAttrPropdef____n_kwredef(fra.me.REG[0]);
7826 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7827 /* ./parser//parser_prod.nit:1442 */
7828 if (UNTAG_Bool(REGB0)) {
7829 } else {
7830 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7831 if (UNTAG_Bool(REGB1)) {
7832 REGB1 = TAG_Bool(false);
7833 REGB0 = REGB1;
7834 } else {
7835 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
7836 REGB0 = REGB1;
7837 }
7838 }
7839 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7840 if (UNTAG_Bool(REGB0)) {
7841 fra.me.REG[2] = ATTR_parser_nodes___AAttrPropdef____n_kwredef(fra.me.REG[0]);
7842 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
7843 /* ./parser//parser_prod.nit:1443 */
7844 if (UNTAG_Bool(REGB0)) {
7845 } else {
7846 fprintf(stderr, "Cast failed");
7847 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1443);
7848 nit_exit(1);
7849 }
7850 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7851 }
7852 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrPropdef____n_visibility(fra.me.REG[0])!=NIT_NULL);
7853 /* ./parser//parser_prod.nit:1445 */
7854 if (UNTAG_Bool(REGB0)) {
7855 } else {
7856 fprintf(stderr, "Uninitialized attribute %s", "_n_visibility");
7857 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1445);
7858 nit_exit(1);
7859 }
7860 fra.me.REG[2] = ATTR_parser_nodes___AAttrPropdef____n_visibility(fra.me.REG[0]);
7861 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7862 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrPropdef____n_kwvar(fra.me.REG[0])!=NIT_NULL);
7863 /* ./parser//parser_prod.nit:1446 */
7864 if (UNTAG_Bool(REGB0)) {
7865 } else {
7866 fprintf(stderr, "Uninitialized attribute %s", "_n_kwvar");
7867 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1446);
7868 nit_exit(1);
7869 }
7870 fra.me.REG[2] = ATTR_parser_nodes___AAttrPropdef____n_kwvar(fra.me.REG[0]);
7871 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7872 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrPropdef____n_id(fra.me.REG[0])!=NIT_NULL);
7873 /* ./parser//parser_prod.nit:1447 */
7874 if (UNTAG_Bool(REGB0)) {
7875 } else {
7876 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
7877 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1447);
7878 nit_exit(1);
7879 }
7880 fra.me.REG[2] = ATTR_parser_nodes___AAttrPropdef____n_id(fra.me.REG[0]);
7881 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7882 fra.me.REG[2] = ATTR_parser_nodes___AAttrPropdef____n_type(fra.me.REG[0]);
7883 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7884 /* ./parser//parser_prod.nit:1448 */
7885 if (UNTAG_Bool(REGB0)) {
7886 } else {
7887 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7888 if (UNTAG_Bool(REGB1)) {
7889 REGB1 = TAG_Bool(false);
7890 REGB0 = REGB1;
7891 } else {
7892 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
7893 REGB0 = REGB1;
7894 }
7895 }
7896 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7897 if (UNTAG_Bool(REGB0)) {
7898 fra.me.REG[2] = ATTR_parser_nodes___AAttrPropdef____n_type(fra.me.REG[0]);
7899 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast AType*/;
7900 /* ./parser//parser_prod.nit:1449 */
7901 if (UNTAG_Bool(REGB0)) {
7902 } else {
7903 fprintf(stderr, "Cast failed");
7904 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1449);
7905 nit_exit(1);
7906 }
7907 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7908 }
7909 fra.me.REG[2] = ATTR_parser_nodes___AAttrPropdef____n_expr(fra.me.REG[0]);
7910 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7911 /* ./parser//parser_prod.nit:1451 */
7912 if (UNTAG_Bool(REGB0)) {
7913 } else {
7914 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7915 if (UNTAG_Bool(REGB1)) {
7916 REGB1 = TAG_Bool(false);
7917 REGB0 = REGB1;
7918 } else {
7919 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
7920 REGB0 = REGB1;
7921 }
7922 }
7923 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7924 if (UNTAG_Bool(REGB0)) {
7925 fra.me.REG[0] = ATTR_parser_nodes___AAttrPropdef____n_expr(fra.me.REG[0]);
7926 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
7927 /* ./parser//parser_prod.nit:1452 */
7928 if (UNTAG_Bool(REGB0)) {
7929 } else {
7930 fprintf(stderr, "Cast failed");
7931 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1452);
7932 nit_exit(1);
7933 }
7934 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
7935 }
7936 stack_frame_head = fra.me.prev;
7937 return;
7938 }
7939 void parser_prod___AAttrPropdef___visit_all_reverse(val_t p0, val_t p1){
7940 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
7941 val_t REGB0;
7942 val_t REGB1;
7943 val_t tmp;
7944 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
7945 fra.me.file = LOCATE_parser_prod;
7946 fra.me.line = 1456;
7947 fra.me.meth = LOCATE_parser_prod___AAttrPropdef___visit_all_reverse;
7948 fra.me.has_broke = 0;
7949 fra.me.REG_size = 3;
7950 fra.me.REG[0] = NIT_NULL;
7951 fra.me.REG[1] = NIT_NULL;
7952 fra.me.REG[2] = NIT_NULL;
7953 fra.me.REG[0] = p0;
7954 fra.me.REG[1] = p1;
7955 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
7956 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7957 /* ./parser//parser_prod.nit:1458 */
7958 if (UNTAG_Bool(REGB0)) {
7959 } else {
7960 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7961 if (UNTAG_Bool(REGB1)) {
7962 REGB1 = TAG_Bool(false);
7963 REGB0 = REGB1;
7964 } else {
7965 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
7966 REGB0 = REGB1;
7967 }
7968 }
7969 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7970 if (UNTAG_Bool(REGB0)) {
7971 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
7972 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
7973 /* ./parser//parser_prod.nit:1459 */
7974 if (UNTAG_Bool(REGB0)) {
7975 } else {
7976 fprintf(stderr, "Cast failed");
7977 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1459);
7978 nit_exit(1);
7979 }
7980 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
7981 }
7982 fra.me.REG[2] = ATTR_parser_nodes___AAttrPropdef____n_readable(fra.me.REG[0]);
7983 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7984 /* ./parser//parser_prod.nit:1461 */
7985 if (UNTAG_Bool(REGB0)) {
7986 } else {
7987 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
7988 if (UNTAG_Bool(REGB1)) {
7989 REGB1 = TAG_Bool(false);
7990 REGB0 = REGB1;
7991 } else {
7992 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
7993 REGB0 = REGB1;
7994 }
7995 }
7996 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
7997 if (UNTAG_Bool(REGB0)) {
7998 fra.me.REG[2] = ATTR_parser_nodes___AAttrPropdef____n_readable(fra.me.REG[0]);
7999 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AAble, ID_AAble)) /*cast AAble*/;
8000 /* ./parser//parser_prod.nit:1462 */
8001 if (UNTAG_Bool(REGB0)) {
8002 } else {
8003 fprintf(stderr, "Cast failed");
8004 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1462);
8005 nit_exit(1);
8006 }
8007 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
8008 }
8009 fra.me.REG[2] = ATTR_parser_nodes___AAttrPropdef____n_writable(fra.me.REG[0]);
8010 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8011 /* ./parser//parser_prod.nit:1464 */
8012 if (UNTAG_Bool(REGB0)) {
8013 } else {
8014 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8015 if (UNTAG_Bool(REGB1)) {
8016 REGB1 = TAG_Bool(false);
8017 REGB0 = REGB1;
8018 } else {
8019 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
8020 REGB0 = REGB1;
8021 }
8022 }
8023 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8024 if (UNTAG_Bool(REGB0)) {
8025 fra.me.REG[2] = ATTR_parser_nodes___AAttrPropdef____n_writable(fra.me.REG[0]);
8026 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AAble, ID_AAble)) /*cast AAble*/;
8027 /* ./parser//parser_prod.nit:1465 */
8028 if (UNTAG_Bool(REGB0)) {
8029 } else {
8030 fprintf(stderr, "Cast failed");
8031 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1465);
8032 nit_exit(1);
8033 }
8034 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
8035 }
8036 fra.me.REG[2] = ATTR_parser_nodes___AAttrPropdef____n_kwredef(fra.me.REG[0]);
8037 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8038 /* ./parser//parser_prod.nit:1467 */
8039 if (UNTAG_Bool(REGB0)) {
8040 } else {
8041 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8042 if (UNTAG_Bool(REGB1)) {
8043 REGB1 = TAG_Bool(false);
8044 REGB0 = REGB1;
8045 } else {
8046 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
8047 REGB0 = REGB1;
8048 }
8049 }
8050 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8051 if (UNTAG_Bool(REGB0)) {
8052 fra.me.REG[2] = ATTR_parser_nodes___AAttrPropdef____n_kwredef(fra.me.REG[0]);
8053 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
8054 /* ./parser//parser_prod.nit:1468 */
8055 if (UNTAG_Bool(REGB0)) {
8056 } else {
8057 fprintf(stderr, "Cast failed");
8058 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1468);
8059 nit_exit(1);
8060 }
8061 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
8062 }
8063 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrPropdef____n_visibility(fra.me.REG[0])!=NIT_NULL);
8064 /* ./parser//parser_prod.nit:1470 */
8065 if (UNTAG_Bool(REGB0)) {
8066 } else {
8067 fprintf(stderr, "Uninitialized attribute %s", "_n_visibility");
8068 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1470);
8069 nit_exit(1);
8070 }
8071 fra.me.REG[2] = ATTR_parser_nodes___AAttrPropdef____n_visibility(fra.me.REG[0]);
8072 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
8073 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrPropdef____n_kwvar(fra.me.REG[0])!=NIT_NULL);
8074 /* ./parser//parser_prod.nit:1471 */
8075 if (UNTAG_Bool(REGB0)) {
8076 } else {
8077 fprintf(stderr, "Uninitialized attribute %s", "_n_kwvar");
8078 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1471);
8079 nit_exit(1);
8080 }
8081 fra.me.REG[2] = ATTR_parser_nodes___AAttrPropdef____n_kwvar(fra.me.REG[0]);
8082 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
8083 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrPropdef____n_id(fra.me.REG[0])!=NIT_NULL);
8084 /* ./parser//parser_prod.nit:1472 */
8085 if (UNTAG_Bool(REGB0)) {
8086 } else {
8087 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
8088 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1472);
8089 nit_exit(1);
8090 }
8091 fra.me.REG[2] = ATTR_parser_nodes___AAttrPropdef____n_id(fra.me.REG[0]);
8092 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
8093 fra.me.REG[2] = ATTR_parser_nodes___AAttrPropdef____n_type(fra.me.REG[0]);
8094 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8095 /* ./parser//parser_prod.nit:1473 */
8096 if (UNTAG_Bool(REGB0)) {
8097 } else {
8098 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8099 if (UNTAG_Bool(REGB1)) {
8100 REGB1 = TAG_Bool(false);
8101 REGB0 = REGB1;
8102 } else {
8103 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
8104 REGB0 = REGB1;
8105 }
8106 }
8107 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8108 if (UNTAG_Bool(REGB0)) {
8109 fra.me.REG[2] = ATTR_parser_nodes___AAttrPropdef____n_type(fra.me.REG[0]);
8110 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast AType*/;
8111 /* ./parser//parser_prod.nit:1474 */
8112 if (UNTAG_Bool(REGB0)) {
8113 } else {
8114 fprintf(stderr, "Cast failed");
8115 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1474);
8116 nit_exit(1);
8117 }
8118 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
8119 }
8120 fra.me.REG[2] = ATTR_parser_nodes___AAttrPropdef____n_expr(fra.me.REG[0]);
8121 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8122 /* ./parser//parser_prod.nit:1476 */
8123 if (UNTAG_Bool(REGB0)) {
8124 } else {
8125 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8126 if (UNTAG_Bool(REGB1)) {
8127 REGB1 = TAG_Bool(false);
8128 REGB0 = REGB1;
8129 } else {
8130 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
8131 REGB0 = REGB1;
8132 }
8133 }
8134 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8135 if (UNTAG_Bool(REGB0)) {
8136 fra.me.REG[0] = ATTR_parser_nodes___AAttrPropdef____n_expr(fra.me.REG[0]);
8137 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
8138 /* ./parser//parser_prod.nit:1477 */
8139 if (UNTAG_Bool(REGB0)) {
8140 } else {
8141 fprintf(stderr, "Cast failed");
8142 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1477);
8143 nit_exit(1);
8144 }
8145 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
8146 }
8147 stack_frame_head = fra.me.prev;
8148 return;
8149 }
8150 void parser_prod___AAttrPropdef___empty_init(val_t p0, int* init_table){
8151 int itpos35 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AAttrPropdef].i;
8152 struct {struct stack_frame_t me;} fra;
8153 val_t tmp;
8154 if (init_table[itpos35]) return;
8155 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8156 fra.me.file = LOCATE_parser_prod;
8157 fra.me.line = 1290;
8158 fra.me.meth = LOCATE_parser_prod___AAttrPropdef___empty_init;
8159 fra.me.has_broke = 0;
8160 fra.me.REG_size = 1;
8161 fra.me.REG[0] = NIT_NULL;
8162 fra.me.REG[0] = p0;
8163 /* ./parser//parser_prod.nit:1290 */
8164 stack_frame_head = fra.me.prev;
8165 init_table[itpos35] = 1;
8166 return;
8167 }
8168 void parser_prod___AAttrPropdef___init_aattrpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6, val_t p7, val_t p8, val_t p9, int* init_table){
8169 int itpos36 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AAttrPropdef].i;
8170 struct {struct stack_frame_t me; val_t MORE_REG[9];} fra;
8171 val_t REGB0;
8172 val_t REGB1;
8173 val_t tmp;
8174 if (init_table[itpos36]) return;
8175 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8176 fra.me.file = LOCATE_parser_prod;
8177 fra.me.line = 1292;
8178 fra.me.meth = LOCATE_parser_prod___AAttrPropdef___init_aattrpropdef;
8179 fra.me.has_broke = 0;
8180 fra.me.REG_size = 10;
8181 fra.me.REG[0] = NIT_NULL;
8182 fra.me.REG[1] = NIT_NULL;
8183 fra.me.REG[2] = NIT_NULL;
8184 fra.me.REG[3] = NIT_NULL;
8185 fra.me.REG[4] = NIT_NULL;
8186 fra.me.REG[5] = NIT_NULL;
8187 fra.me.REG[6] = NIT_NULL;
8188 fra.me.REG[7] = NIT_NULL;
8189 fra.me.REG[8] = NIT_NULL;
8190 fra.me.REG[9] = NIT_NULL;
8191 fra.me.REG[0] = p0;
8192 fra.me.REG[1] = p1;
8193 fra.me.REG[2] = p2;
8194 fra.me.REG[3] = p3;
8195 fra.me.REG[4] = p4;
8196 fra.me.REG[5] = p5;
8197 fra.me.REG[6] = p6;
8198 fra.me.REG[7] = p7;
8199 fra.me.REG[8] = p8;
8200 fra.me.REG[9] = p9;
8201 /* ./parser//parser_prod.nit:1304 */
8202 CALL_parser_prod___AAttrPropdef___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
8203 /* ./parser//parser_prod.nit:1305 */
8204 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = fra.me.REG[1];
8205 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
8206 /* ./parser//parser_prod.nit:1306 */
8207 if (UNTAG_Bool(REGB0)) {
8208 } else {
8209 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
8210 if (UNTAG_Bool(REGB1)) {
8211 REGB1 = TAG_Bool(false);
8212 REGB0 = REGB1;
8213 } else {
8214 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
8215 REGB0 = REGB1;
8216 }
8217 }
8218 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8219 if (UNTAG_Bool(REGB0)) {
8220 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
8221 /* ./parser//parser_prod.nit:1307 */
8222 if (UNTAG_Bool(REGB0)) {
8223 fprintf(stderr, "Reciever is null");
8224 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1307);
8225 nit_exit(1);
8226 }
8227 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
8228 }
8229 /* ./parser//parser_prod.nit:1309 */
8230 ATTR_parser_nodes___AAttrPropdef____n_readable(fra.me.REG[0]) = fra.me.REG[2];
8231 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8232 /* ./parser//parser_prod.nit:1310 */
8233 if (UNTAG_Bool(REGB0)) {
8234 } else {
8235 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8236 if (UNTAG_Bool(REGB1)) {
8237 REGB1 = TAG_Bool(false);
8238 REGB0 = REGB1;
8239 } else {
8240 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
8241 REGB0 = REGB1;
8242 }
8243 }
8244 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8245 if (UNTAG_Bool(REGB0)) {
8246 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8247 /* ./parser//parser_prod.nit:1311 */
8248 if (UNTAG_Bool(REGB0)) {
8249 fprintf(stderr, "Reciever is null");
8250 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1311);
8251 nit_exit(1);
8252 }
8253 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
8254 }
8255 /* ./parser//parser_prod.nit:1313 */
8256 ATTR_parser_nodes___AAttrPropdef____n_writable(fra.me.REG[0]) = fra.me.REG[3];
8257 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
8258 /* ./parser//parser_prod.nit:1314 */
8259 if (UNTAG_Bool(REGB0)) {
8260 } else {
8261 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
8262 if (UNTAG_Bool(REGB1)) {
8263 REGB1 = TAG_Bool(false);
8264 REGB0 = REGB1;
8265 } else {
8266 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
8267 REGB0 = REGB1;
8268 }
8269 }
8270 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8271 if (UNTAG_Bool(REGB0)) {
8272 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
8273 /* ./parser//parser_prod.nit:1315 */
8274 if (UNTAG_Bool(REGB0)) {
8275 fprintf(stderr, "Reciever is null");
8276 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1315);
8277 nit_exit(1);
8278 }
8279 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
8280 }
8281 /* ./parser//parser_prod.nit:1317 */
8282 ATTR_parser_nodes___AAttrPropdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[4];
8283 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
8284 /* ./parser//parser_prod.nit:1318 */
8285 if (UNTAG_Bool(REGB0)) {
8286 } else {
8287 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
8288 if (UNTAG_Bool(REGB1)) {
8289 REGB1 = TAG_Bool(false);
8290 REGB0 = REGB1;
8291 } else {
8292 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
8293 REGB0 = REGB1;
8294 }
8295 }
8296 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8297 if (UNTAG_Bool(REGB0)) {
8298 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
8299 /* ./parser//parser_prod.nit:1319 */
8300 if (UNTAG_Bool(REGB0)) {
8301 fprintf(stderr, "Reciever is null");
8302 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1319);
8303 nit_exit(1);
8304 }
8305 CALL_parser_prod___ANode___parent__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
8306 }
8307 REGB0 = TAG_Bool(fra.me.REG[5]!=NIT_NULL);
8308 /* ./parser//parser_prod.nit:1321 */
8309 if (UNTAG_Bool(REGB0)) {
8310 } else {
8311 fprintf(stderr, "Cast failed");
8312 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1321);
8313 nit_exit(1);
8314 }
8315 ATTR_parser_nodes___AAttrPropdef____n_visibility(fra.me.REG[0]) = fra.me.REG[5];
8316 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
8317 /* ./parser//parser_prod.nit:1322 */
8318 if (UNTAG_Bool(REGB0)) {
8319 fprintf(stderr, "Reciever is null");
8320 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1322);
8321 nit_exit(1);
8322 }
8323 CALL_parser_prod___ANode___parent__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[0]);
8324 REGB0 = TAG_Bool(fra.me.REG[6]!=NIT_NULL);
8325 /* ./parser//parser_prod.nit:1323 */
8326 if (UNTAG_Bool(REGB0)) {
8327 } else {
8328 fprintf(stderr, "Cast failed");
8329 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1323);
8330 nit_exit(1);
8331 }
8332 ATTR_parser_nodes___AAttrPropdef____n_kwvar(fra.me.REG[0]) = fra.me.REG[6];
8333 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
8334 /* ./parser//parser_prod.nit:1324 */
8335 if (UNTAG_Bool(REGB0)) {
8336 fprintf(stderr, "Reciever is null");
8337 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1324);
8338 nit_exit(1);
8339 }
8340 CALL_parser_prod___ANode___parent__eq(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[0]);
8341 REGB0 = TAG_Bool(fra.me.REG[7]!=NIT_NULL);
8342 /* ./parser//parser_prod.nit:1325 */
8343 if (UNTAG_Bool(REGB0)) {
8344 } else {
8345 fprintf(stderr, "Cast failed");
8346 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1325);
8347 nit_exit(1);
8348 }
8349 ATTR_parser_nodes___AAttrPropdef____n_id(fra.me.REG[0]) = fra.me.REG[7];
8350 REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
8351 /* ./parser//parser_prod.nit:1326 */
8352 if (UNTAG_Bool(REGB0)) {
8353 fprintf(stderr, "Reciever is null");
8354 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1326);
8355 nit_exit(1);
8356 }
8357 CALL_parser_prod___ANode___parent__eq(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[0]);
8358 /* ./parser//parser_prod.nit:1327 */
8359 ATTR_parser_nodes___AAttrPropdef____n_type(fra.me.REG[0]) = fra.me.REG[8];
8360 REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
8361 /* ./parser//parser_prod.nit:1328 */
8362 if (UNTAG_Bool(REGB0)) {
8363 } else {
8364 REGB1 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
8365 if (UNTAG_Bool(REGB1)) {
8366 REGB1 = TAG_Bool(false);
8367 REGB0 = REGB1;
8368 } else {
8369 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[8])(fra.me.REG[8], NIT_NULL);
8370 REGB0 = REGB1;
8371 }
8372 }
8373 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8374 if (UNTAG_Bool(REGB0)) {
8375 REGB0 = TAG_Bool(fra.me.REG[8]==NIT_NULL);
8376 /* ./parser//parser_prod.nit:1329 */
8377 if (UNTAG_Bool(REGB0)) {
8378 fprintf(stderr, "Reciever is null");
8379 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1329);
8380 nit_exit(1);
8381 }
8382 CALL_parser_prod___ANode___parent__eq(fra.me.REG[8])(fra.me.REG[8], fra.me.REG[0]);
8383 }
8384 /* ./parser//parser_prod.nit:1331 */
8385 ATTR_parser_nodes___AAttrPropdef____n_expr(fra.me.REG[0]) = fra.me.REG[9];
8386 REGB0 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
8387 /* ./parser//parser_prod.nit:1332 */
8388 if (UNTAG_Bool(REGB0)) {
8389 } else {
8390 REGB1 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
8391 if (UNTAG_Bool(REGB1)) {
8392 REGB1 = TAG_Bool(false);
8393 REGB0 = REGB1;
8394 } else {
8395 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[9])(fra.me.REG[9], NIT_NULL);
8396 REGB0 = REGB1;
8397 }
8398 }
8399 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8400 if (UNTAG_Bool(REGB0)) {
8401 REGB0 = TAG_Bool(fra.me.REG[9]==NIT_NULL);
8402 /* ./parser//parser_prod.nit:1333 */
8403 if (UNTAG_Bool(REGB0)) {
8404 fprintf(stderr, "Reciever is null");
8405 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1333);
8406 nit_exit(1);
8407 }
8408 CALL_parser_prod___ANode___parent__eq(fra.me.REG[9])(fra.me.REG[9], fra.me.REG[0]);
8409 }
8410 stack_frame_head = fra.me.prev;
8411 init_table[itpos36] = 1;
8412 return;
8413 }
8414 void parser_prod___AMethPropdef___n_doc__eq(val_t p0, val_t p1){
8415 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
8416 val_t REGB0;
8417 val_t REGB1;
8418 val_t tmp;
8419 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8420 fra.me.file = LOCATE_parser_prod;
8421 fra.me.line = 1482;
8422 fra.me.meth = LOCATE_parser_prod___AMethPropdef___n_doc__eq;
8423 fra.me.has_broke = 0;
8424 fra.me.REG_size = 2;
8425 fra.me.REG[0] = NIT_NULL;
8426 fra.me.REG[1] = NIT_NULL;
8427 fra.me.REG[0] = p0;
8428 fra.me.REG[1] = p1;
8429 /* ./parser//parser_prod.nit:1484 */
8430 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = fra.me.REG[1];
8431 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
8432 /* ./parser//parser_prod.nit:1485 */
8433 if (UNTAG_Bool(REGB0)) {
8434 } else {
8435 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
8436 if (UNTAG_Bool(REGB1)) {
8437 REGB1 = TAG_Bool(false);
8438 REGB0 = REGB1;
8439 } else {
8440 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
8441 REGB0 = REGB1;
8442 }
8443 }
8444 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8445 if (UNTAG_Bool(REGB0)) {
8446 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
8447 /* ./parser//parser_prod.nit:1486 */
8448 if (UNTAG_Bool(REGB0)) {
8449 fprintf(stderr, "Reciever is null");
8450 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1486);
8451 nit_exit(1);
8452 }
8453 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
8454 }
8455 stack_frame_head = fra.me.prev;
8456 return;
8457 }
8458 void parser_prod___AMethPropdef___n_kwredef__eq(val_t p0, val_t p1){
8459 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
8460 val_t REGB0;
8461 val_t REGB1;
8462 val_t tmp;
8463 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8464 fra.me.file = LOCATE_parser_prod;
8465 fra.me.line = 1489;
8466 fra.me.meth = LOCATE_parser_prod___AMethPropdef___n_kwredef__eq;
8467 fra.me.has_broke = 0;
8468 fra.me.REG_size = 2;
8469 fra.me.REG[0] = NIT_NULL;
8470 fra.me.REG[1] = NIT_NULL;
8471 fra.me.REG[0] = p0;
8472 fra.me.REG[1] = p1;
8473 /* ./parser//parser_prod.nit:1491 */
8474 ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[1];
8475 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
8476 /* ./parser//parser_prod.nit:1492 */
8477 if (UNTAG_Bool(REGB0)) {
8478 } else {
8479 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
8480 if (UNTAG_Bool(REGB1)) {
8481 REGB1 = TAG_Bool(false);
8482 REGB0 = REGB1;
8483 } else {
8484 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
8485 REGB0 = REGB1;
8486 }
8487 }
8488 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8489 if (UNTAG_Bool(REGB0)) {
8490 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
8491 /* ./parser//parser_prod.nit:1493 */
8492 if (UNTAG_Bool(REGB0)) {
8493 fprintf(stderr, "Reciever is null");
8494 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1493);
8495 nit_exit(1);
8496 }
8497 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
8498 }
8499 stack_frame_head = fra.me.prev;
8500 return;
8501 }
8502 void parser_prod___AMethPropdef___n_visibility__eq(val_t p0, val_t p1){
8503 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
8504 val_t REGB0;
8505 val_t tmp;
8506 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8507 fra.me.file = LOCATE_parser_prod;
8508 fra.me.line = 1496;
8509 fra.me.meth = LOCATE_parser_prod___AMethPropdef___n_visibility__eq;
8510 fra.me.has_broke = 0;
8511 fra.me.REG_size = 2;
8512 fra.me.REG[0] = NIT_NULL;
8513 fra.me.REG[1] = NIT_NULL;
8514 fra.me.REG[0] = p0;
8515 fra.me.REG[1] = p1;
8516 /* ./parser//parser_prod.nit:1498 */
8517 ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]) = fra.me.REG[1];
8518 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
8519 /* ./parser//parser_prod.nit:1499 */
8520 if (UNTAG_Bool(REGB0)) {
8521 fprintf(stderr, "Reciever is null");
8522 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1499);
8523 nit_exit(1);
8524 }
8525 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
8526 stack_frame_head = fra.me.prev;
8527 return;
8528 }
8529 void parser_prod___AMethPropdef___n_methid__eq(val_t p0, val_t p1){
8530 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
8531 val_t REGB0;
8532 val_t tmp;
8533 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8534 fra.me.file = LOCATE_parser_prod;
8535 fra.me.line = 1501;
8536 fra.me.meth = LOCATE_parser_prod___AMethPropdef___n_methid__eq;
8537 fra.me.has_broke = 0;
8538 fra.me.REG_size = 2;
8539 fra.me.REG[0] = NIT_NULL;
8540 fra.me.REG[1] = NIT_NULL;
8541 fra.me.REG[0] = p0;
8542 fra.me.REG[1] = p1;
8543 /* ./parser//parser_prod.nit:1503 */
8544 ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]) = fra.me.REG[1];
8545 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
8546 /* ./parser//parser_prod.nit:1504 */
8547 if (UNTAG_Bool(REGB0)) {
8548 fprintf(stderr, "Reciever is null");
8549 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1504);
8550 nit_exit(1);
8551 }
8552 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
8553 stack_frame_head = fra.me.prev;
8554 return;
8555 }
8556 void parser_prod___AMethPropdef___n_signature__eq(val_t p0, val_t p1){
8557 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
8558 val_t REGB0;
8559 val_t tmp;
8560 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8561 fra.me.file = LOCATE_parser_prod;
8562 fra.me.line = 1506;
8563 fra.me.meth = LOCATE_parser_prod___AMethPropdef___n_signature__eq;
8564 fra.me.has_broke = 0;
8565 fra.me.REG_size = 2;
8566 fra.me.REG[0] = NIT_NULL;
8567 fra.me.REG[1] = NIT_NULL;
8568 fra.me.REG[0] = p0;
8569 fra.me.REG[1] = p1;
8570 /* ./parser//parser_prod.nit:1508 */
8571 ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]) = fra.me.REG[1];
8572 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
8573 /* ./parser//parser_prod.nit:1509 */
8574 if (UNTAG_Bool(REGB0)) {
8575 fprintf(stderr, "Reciever is null");
8576 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1509);
8577 nit_exit(1);
8578 }
8579 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
8580 stack_frame_head = fra.me.prev;
8581 return;
8582 }
8583 void parser_prod___AMethPropdef___replace_child(val_t p0, val_t p1, val_t p2){
8584 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
8585 val_t REGB0;
8586 val_t REGB1;
8587 val_t tmp;
8588 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8589 fra.me.file = LOCATE_parser_prod;
8590 fra.me.line = 1539;
8591 fra.me.meth = LOCATE_parser_prod___AMethPropdef___replace_child;
8592 fra.me.has_broke = 0;
8593 fra.me.REG_size = 4;
8594 fra.me.REG[0] = NIT_NULL;
8595 fra.me.REG[1] = NIT_NULL;
8596 fra.me.REG[2] = NIT_NULL;
8597 fra.me.REG[3] = NIT_NULL;
8598 fra.me.REG[0] = p0;
8599 fra.me.REG[1] = p1;
8600 fra.me.REG[2] = p2;
8601 fra.me.REG[3] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
8602 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
8603 /* ./parser//parser_prod.nit:1541 */
8604 if (UNTAG_Bool(REGB0)) {
8605 } else {
8606 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
8607 if (UNTAG_Bool(REGB1)) {
8608 REGB1 = TAG_Bool(false);
8609 REGB0 = REGB1;
8610 } else {
8611 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
8612 REGB0 = REGB1;
8613 }
8614 }
8615 if (UNTAG_Bool(REGB0)) {
8616 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8617 /* ./parser//parser_prod.nit:1542 */
8618 if (UNTAG_Bool(REGB0)) {
8619 } else {
8620 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8621 if (UNTAG_Bool(REGB1)) {
8622 REGB1 = TAG_Bool(false);
8623 REGB0 = REGB1;
8624 } else {
8625 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
8626 REGB0 = REGB1;
8627 }
8628 }
8629 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8630 if (UNTAG_Bool(REGB0)) {
8631 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8632 /* ./parser//parser_prod.nit:1543 */
8633 if (UNTAG_Bool(REGB0)) {
8634 fprintf(stderr, "Reciever is null");
8635 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1543);
8636 nit_exit(1);
8637 }
8638 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
8639 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
8640 /* ./parser//parser_prod.nit:1544 */
8641 if (UNTAG_Bool(REGB0)) {
8642 } else {
8643 fprintf(stderr, "Assert failed");
8644 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1544);
8645 nit_exit(1);
8646 }
8647 /* ./parser//parser_prod.nit:1545 */
8648 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = fra.me.REG[2];
8649 } else {
8650 /* ./parser//parser_prod.nit:1547 */
8651 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = NIT_NULL;
8652 }
8653 /* ./parser//parser_prod.nit:1549 */
8654 goto label1;
8655 }
8656 fra.me.REG[3] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
8657 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
8658 /* ./parser//parser_prod.nit:1551 */
8659 if (UNTAG_Bool(REGB0)) {
8660 } else {
8661 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
8662 if (UNTAG_Bool(REGB1)) {
8663 REGB1 = TAG_Bool(false);
8664 REGB0 = REGB1;
8665 } else {
8666 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
8667 REGB0 = REGB1;
8668 }
8669 }
8670 if (UNTAG_Bool(REGB0)) {
8671 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8672 /* ./parser//parser_prod.nit:1552 */
8673 if (UNTAG_Bool(REGB0)) {
8674 } else {
8675 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8676 if (UNTAG_Bool(REGB1)) {
8677 REGB1 = TAG_Bool(false);
8678 REGB0 = REGB1;
8679 } else {
8680 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
8681 REGB0 = REGB1;
8682 }
8683 }
8684 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8685 if (UNTAG_Bool(REGB0)) {
8686 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8687 /* ./parser//parser_prod.nit:1553 */
8688 if (UNTAG_Bool(REGB0)) {
8689 fprintf(stderr, "Reciever is null");
8690 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1553);
8691 nit_exit(1);
8692 }
8693 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
8694 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
8695 /* ./parser//parser_prod.nit:1554 */
8696 if (UNTAG_Bool(REGB0)) {
8697 } else {
8698 fprintf(stderr, "Assert failed");
8699 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1554);
8700 nit_exit(1);
8701 }
8702 /* ./parser//parser_prod.nit:1555 */
8703 ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[2];
8704 } else {
8705 /* ./parser//parser_prod.nit:1557 */
8706 ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]) = NIT_NULL;
8707 }
8708 /* ./parser//parser_prod.nit:1559 */
8709 goto label1;
8710 }
8711 fra.me.REG[3] = ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]);
8712 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
8713 /* ./parser//parser_prod.nit:1561 */
8714 if (UNTAG_Bool(REGB0)) {
8715 } else {
8716 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
8717 if (UNTAG_Bool(REGB1)) {
8718 REGB1 = TAG_Bool(false);
8719 REGB0 = REGB1;
8720 } else {
8721 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
8722 REGB0 = REGB1;
8723 }
8724 }
8725 if (UNTAG_Bool(REGB0)) {
8726 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8727 /* ./parser//parser_prod.nit:1562 */
8728 if (UNTAG_Bool(REGB0)) {
8729 } else {
8730 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8731 if (UNTAG_Bool(REGB1)) {
8732 REGB1 = TAG_Bool(false);
8733 REGB0 = REGB1;
8734 } else {
8735 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
8736 REGB0 = REGB1;
8737 }
8738 }
8739 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8740 if (UNTAG_Bool(REGB0)) {
8741 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8742 /* ./parser//parser_prod.nit:1563 */
8743 if (UNTAG_Bool(REGB0)) {
8744 fprintf(stderr, "Reciever is null");
8745 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1563);
8746 nit_exit(1);
8747 }
8748 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
8749 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AVisibility, ID_AVisibility)) /*cast AVisibility*/;
8750 /* ./parser//parser_prod.nit:1564 */
8751 if (UNTAG_Bool(REGB0)) {
8752 } else {
8753 fprintf(stderr, "Assert failed");
8754 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1564);
8755 nit_exit(1);
8756 }
8757 /* ./parser//parser_prod.nit:1565 */
8758 ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]) = fra.me.REG[2];
8759 } else {
8760 /* ./parser//parser_prod.nit:1567 */
8761 fprintf(stderr, "Aborted");
8762 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1567);
8763 nit_exit(1);
8764 }
8765 /* ./parser//parser_prod.nit:1569 */
8766 goto label1;
8767 }
8768 fra.me.REG[3] = ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]);
8769 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
8770 /* ./parser//parser_prod.nit:1571 */
8771 if (UNTAG_Bool(REGB0)) {
8772 } else {
8773 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
8774 if (UNTAG_Bool(REGB1)) {
8775 REGB1 = TAG_Bool(false);
8776 REGB0 = REGB1;
8777 } else {
8778 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
8779 REGB0 = REGB1;
8780 }
8781 }
8782 if (UNTAG_Bool(REGB0)) {
8783 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8784 /* ./parser//parser_prod.nit:1572 */
8785 if (UNTAG_Bool(REGB0)) {
8786 } else {
8787 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8788 if (UNTAG_Bool(REGB1)) {
8789 REGB1 = TAG_Bool(false);
8790 REGB0 = REGB1;
8791 } else {
8792 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
8793 REGB0 = REGB1;
8794 }
8795 }
8796 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8797 if (UNTAG_Bool(REGB0)) {
8798 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8799 /* ./parser//parser_prod.nit:1573 */
8800 if (UNTAG_Bool(REGB0)) {
8801 fprintf(stderr, "Reciever is null");
8802 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1573);
8803 nit_exit(1);
8804 }
8805 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
8806 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AMethid, ID_AMethid)) /*cast AMethid*/;
8807 /* ./parser//parser_prod.nit:1574 */
8808 if (UNTAG_Bool(REGB0)) {
8809 } else {
8810 fprintf(stderr, "Assert failed");
8811 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1574);
8812 nit_exit(1);
8813 }
8814 /* ./parser//parser_prod.nit:1575 */
8815 ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]) = fra.me.REG[2];
8816 } else {
8817 /* ./parser//parser_prod.nit:1577 */
8818 fprintf(stderr, "Aborted");
8819 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1577);
8820 nit_exit(1);
8821 }
8822 /* ./parser//parser_prod.nit:1579 */
8823 goto label1;
8824 }
8825 fra.me.REG[3] = ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]);
8826 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
8827 /* ./parser//parser_prod.nit:1581 */
8828 if (UNTAG_Bool(REGB0)) {
8829 } else {
8830 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
8831 if (UNTAG_Bool(REGB1)) {
8832 REGB1 = TAG_Bool(false);
8833 REGB0 = REGB1;
8834 } else {
8835 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
8836 REGB0 = REGB1;
8837 }
8838 }
8839 if (UNTAG_Bool(REGB0)) {
8840 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8841 /* ./parser//parser_prod.nit:1582 */
8842 if (UNTAG_Bool(REGB0)) {
8843 } else {
8844 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8845 if (UNTAG_Bool(REGB1)) {
8846 REGB1 = TAG_Bool(false);
8847 REGB0 = REGB1;
8848 } else {
8849 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
8850 REGB0 = REGB1;
8851 }
8852 }
8853 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8854 if (UNTAG_Bool(REGB0)) {
8855 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8856 /* ./parser//parser_prod.nit:1583 */
8857 if (UNTAG_Bool(REGB0)) {
8858 fprintf(stderr, "Reciever is null");
8859 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1583);
8860 nit_exit(1);
8861 }
8862 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
8863 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast ASignature*/;
8864 /* ./parser//parser_prod.nit:1584 */
8865 if (UNTAG_Bool(REGB0)) {
8866 } else {
8867 fprintf(stderr, "Assert failed");
8868 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1584);
8869 nit_exit(1);
8870 }
8871 /* ./parser//parser_prod.nit:1585 */
8872 ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]) = fra.me.REG[2];
8873 } else {
8874 /* ./parser//parser_prod.nit:1587 */
8875 fprintf(stderr, "Aborted");
8876 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1587);
8877 nit_exit(1);
8878 }
8879 /* ./parser//parser_prod.nit:1589 */
8880 goto label1;
8881 }
8882 label1: while(0);
8883 stack_frame_head = fra.me.prev;
8884 return;
8885 }
8886 void parser_prod___AMethPropdef___visit_all(val_t p0, val_t p1){
8887 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
8888 val_t REGB0;
8889 val_t REGB1;
8890 val_t tmp;
8891 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8892 fra.me.file = LOCATE_parser_prod;
8893 fra.me.line = 1593;
8894 fra.me.meth = LOCATE_parser_prod___AMethPropdef___visit_all;
8895 fra.me.has_broke = 0;
8896 fra.me.REG_size = 3;
8897 fra.me.REG[0] = NIT_NULL;
8898 fra.me.REG[1] = NIT_NULL;
8899 fra.me.REG[2] = NIT_NULL;
8900 fra.me.REG[0] = p0;
8901 fra.me.REG[1] = p1;
8902 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
8903 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8904 /* ./parser//parser_prod.nit:1595 */
8905 if (UNTAG_Bool(REGB0)) {
8906 } else {
8907 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8908 if (UNTAG_Bool(REGB1)) {
8909 REGB1 = TAG_Bool(false);
8910 REGB0 = REGB1;
8911 } else {
8912 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
8913 REGB0 = REGB1;
8914 }
8915 }
8916 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8917 if (UNTAG_Bool(REGB0)) {
8918 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
8919 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
8920 /* ./parser//parser_prod.nit:1596 */
8921 if (UNTAG_Bool(REGB0)) {
8922 } else {
8923 fprintf(stderr, "Cast failed");
8924 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1596);
8925 nit_exit(1);
8926 }
8927 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
8928 }
8929 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
8930 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8931 /* ./parser//parser_prod.nit:1598 */
8932 if (UNTAG_Bool(REGB0)) {
8933 } else {
8934 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8935 if (UNTAG_Bool(REGB1)) {
8936 REGB1 = TAG_Bool(false);
8937 REGB0 = REGB1;
8938 } else {
8939 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
8940 REGB0 = REGB1;
8941 }
8942 }
8943 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8944 if (UNTAG_Bool(REGB0)) {
8945 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
8946 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
8947 /* ./parser//parser_prod.nit:1599 */
8948 if (UNTAG_Bool(REGB0)) {
8949 } else {
8950 fprintf(stderr, "Cast failed");
8951 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1599);
8952 nit_exit(1);
8953 }
8954 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
8955 }
8956 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]);
8957 /* ./parser//parser_prod.nit:1601 */
8958 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
8959 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]);
8960 /* ./parser//parser_prod.nit:1602 */
8961 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
8962 fra.me.REG[0] = ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]);
8963 /* ./parser//parser_prod.nit:1603 */
8964 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
8965 stack_frame_head = fra.me.prev;
8966 return;
8967 }
8968 void parser_prod___AMethPropdef___visit_all_reverse(val_t p0, val_t p1){
8969 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
8970 val_t REGB0;
8971 val_t REGB1;
8972 val_t tmp;
8973 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8974 fra.me.file = LOCATE_parser_prod;
8975 fra.me.line = 1606;
8976 fra.me.meth = LOCATE_parser_prod___AMethPropdef___visit_all_reverse;
8977 fra.me.has_broke = 0;
8978 fra.me.REG_size = 3;
8979 fra.me.REG[0] = NIT_NULL;
8980 fra.me.REG[1] = NIT_NULL;
8981 fra.me.REG[2] = NIT_NULL;
8982 fra.me.REG[0] = p0;
8983 fra.me.REG[1] = p1;
8984 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
8985 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8986 /* ./parser//parser_prod.nit:1608 */
8987 if (UNTAG_Bool(REGB0)) {
8988 } else {
8989 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
8990 if (UNTAG_Bool(REGB1)) {
8991 REGB1 = TAG_Bool(false);
8992 REGB0 = REGB1;
8993 } else {
8994 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
8995 REGB0 = REGB1;
8996 }
8997 }
8998 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
8999 if (UNTAG_Bool(REGB0)) {
9000 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
9001 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
9002 /* ./parser//parser_prod.nit:1609 */
9003 if (UNTAG_Bool(REGB0)) {
9004 } else {
9005 fprintf(stderr, "Cast failed");
9006 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1609);
9007 nit_exit(1);
9008 }
9009 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
9010 }
9011 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
9012 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9013 /* ./parser//parser_prod.nit:1611 */
9014 if (UNTAG_Bool(REGB0)) {
9015 } else {
9016 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9017 if (UNTAG_Bool(REGB1)) {
9018 REGB1 = TAG_Bool(false);
9019 REGB0 = REGB1;
9020 } else {
9021 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
9022 REGB0 = REGB1;
9023 }
9024 }
9025 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9026 if (UNTAG_Bool(REGB0)) {
9027 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
9028 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9029 /* ./parser//parser_prod.nit:1612 */
9030 if (UNTAG_Bool(REGB0)) {
9031 } else {
9032 fprintf(stderr, "Cast failed");
9033 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1612);
9034 nit_exit(1);
9035 }
9036 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
9037 }
9038 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]);
9039 /* ./parser//parser_prod.nit:1614 */
9040 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
9041 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]);
9042 /* ./parser//parser_prod.nit:1615 */
9043 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
9044 fra.me.REG[0] = ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]);
9045 /* ./parser//parser_prod.nit:1616 */
9046 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
9047 stack_frame_head = fra.me.prev;
9048 return;
9049 }
9050 void parser_prod___AMethPropdef___empty_init(val_t p0, int* init_table){
9051 int itpos37 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AMethPropdef].i;
9052 struct {struct stack_frame_t me;} fra;
9053 val_t tmp;
9054 if (init_table[itpos37]) return;
9055 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9056 fra.me.file = LOCATE_parser_prod;
9057 fra.me.line = 1512;
9058 fra.me.meth = LOCATE_parser_prod___AMethPropdef___empty_init;
9059 fra.me.has_broke = 0;
9060 fra.me.REG_size = 1;
9061 fra.me.REG[0] = NIT_NULL;
9062 fra.me.REG[0] = p0;
9063 /* ./parser//parser_prod.nit:1512 */
9064 stack_frame_head = fra.me.prev;
9065 init_table[itpos37] = 1;
9066 return;
9067 }
9068 void parser_prod___AMethPropdef___init_amethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, int* init_table){
9069 int itpos38 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AMethPropdef].i;
9070 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
9071 val_t REGB0;
9072 val_t REGB1;
9073 val_t tmp;
9074 if (init_table[itpos38]) return;
9075 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9076 fra.me.file = LOCATE_parser_prod;
9077 fra.me.line = 1514;
9078 fra.me.meth = LOCATE_parser_prod___AMethPropdef___init_amethpropdef;
9079 fra.me.has_broke = 0;
9080 fra.me.REG_size = 6;
9081 fra.me.REG[0] = NIT_NULL;
9082 fra.me.REG[1] = NIT_NULL;
9083 fra.me.REG[2] = NIT_NULL;
9084 fra.me.REG[3] = NIT_NULL;
9085 fra.me.REG[4] = NIT_NULL;
9086 fra.me.REG[5] = NIT_NULL;
9087 fra.me.REG[0] = p0;
9088 fra.me.REG[1] = p1;
9089 fra.me.REG[2] = p2;
9090 fra.me.REG[3] = p3;
9091 fra.me.REG[4] = p4;
9092 fra.me.REG[5] = p5;
9093 /* ./parser//parser_prod.nit:1522 */
9094 CALL_parser_prod___AMethPropdef___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
9095 /* ./parser//parser_prod.nit:1523 */
9096 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = fra.me.REG[1];
9097 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
9098 /* ./parser//parser_prod.nit:1524 */
9099 if (UNTAG_Bool(REGB0)) {
9100 } else {
9101 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
9102 if (UNTAG_Bool(REGB1)) {
9103 REGB1 = TAG_Bool(false);
9104 REGB0 = REGB1;
9105 } else {
9106 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
9107 REGB0 = REGB1;
9108 }
9109 }
9110 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9111 if (UNTAG_Bool(REGB0)) {
9112 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
9113 /* ./parser//parser_prod.nit:1525 */
9114 if (UNTAG_Bool(REGB0)) {
9115 fprintf(stderr, "Reciever is null");
9116 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1525);
9117 nit_exit(1);
9118 }
9119 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
9120 }
9121 /* ./parser//parser_prod.nit:1527 */
9122 ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[2];
9123 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9124 /* ./parser//parser_prod.nit:1528 */
9125 if (UNTAG_Bool(REGB0)) {
9126 } else {
9127 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9128 if (UNTAG_Bool(REGB1)) {
9129 REGB1 = TAG_Bool(false);
9130 REGB0 = REGB1;
9131 } else {
9132 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
9133 REGB0 = REGB1;
9134 }
9135 }
9136 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9137 if (UNTAG_Bool(REGB0)) {
9138 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9139 /* ./parser//parser_prod.nit:1529 */
9140 if (UNTAG_Bool(REGB0)) {
9141 fprintf(stderr, "Reciever is null");
9142 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1529);
9143 nit_exit(1);
9144 }
9145 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
9146 }
9147 REGB0 = TAG_Bool(fra.me.REG[3]!=NIT_NULL);
9148 /* ./parser//parser_prod.nit:1531 */
9149 if (UNTAG_Bool(REGB0)) {
9150 } else {
9151 fprintf(stderr, "Cast failed");
9152 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1531);
9153 nit_exit(1);
9154 }
9155 ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]) = fra.me.REG[3];
9156 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9157 /* ./parser//parser_prod.nit:1532 */
9158 if (UNTAG_Bool(REGB0)) {
9159 fprintf(stderr, "Reciever is null");
9160 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1532);
9161 nit_exit(1);
9162 }
9163 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
9164 REGB0 = TAG_Bool(fra.me.REG[4]!=NIT_NULL);
9165 /* ./parser//parser_prod.nit:1533 */
9166 if (UNTAG_Bool(REGB0)) {
9167 } else {
9168 fprintf(stderr, "Cast failed");
9169 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1533);
9170 nit_exit(1);
9171 }
9172 ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]) = fra.me.REG[4];
9173 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
9174 /* ./parser//parser_prod.nit:1534 */
9175 if (UNTAG_Bool(REGB0)) {
9176 fprintf(stderr, "Reciever is null");
9177 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1534);
9178 nit_exit(1);
9179 }
9180 CALL_parser_prod___ANode___parent__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
9181 REGB0 = TAG_Bool(fra.me.REG[5]!=NIT_NULL);
9182 /* ./parser//parser_prod.nit:1535 */
9183 if (UNTAG_Bool(REGB0)) {
9184 } else {
9185 fprintf(stderr, "Cast failed");
9186 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1535);
9187 nit_exit(1);
9188 }
9189 ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]) = fra.me.REG[5];
9190 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
9191 /* ./parser//parser_prod.nit:1536 */
9192 if (UNTAG_Bool(REGB0)) {
9193 fprintf(stderr, "Reciever is null");
9194 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1536);
9195 nit_exit(1);
9196 }
9197 CALL_parser_prod___ANode___parent__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[0]);
9198 stack_frame_head = fra.me.prev;
9199 init_table[itpos38] = 1;
9200 return;
9201 }
9202 void parser_prod___ADeferredMethPropdef___n_doc__eq(val_t p0, val_t p1){
9203 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
9204 val_t REGB0;
9205 val_t REGB1;
9206 val_t tmp;
9207 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9208 fra.me.file = LOCATE_parser_prod;
9209 fra.me.line = 1620;
9210 fra.me.meth = LOCATE_parser_prod___ADeferredMethPropdef___n_doc__eq;
9211 fra.me.has_broke = 0;
9212 fra.me.REG_size = 2;
9213 fra.me.REG[0] = NIT_NULL;
9214 fra.me.REG[1] = NIT_NULL;
9215 fra.me.REG[0] = p0;
9216 fra.me.REG[1] = p1;
9217 /* ./parser//parser_prod.nit:1622 */
9218 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = fra.me.REG[1];
9219 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
9220 /* ./parser//parser_prod.nit:1623 */
9221 if (UNTAG_Bool(REGB0)) {
9222 } else {
9223 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
9224 if (UNTAG_Bool(REGB1)) {
9225 REGB1 = TAG_Bool(false);
9226 REGB0 = REGB1;
9227 } else {
9228 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
9229 REGB0 = REGB1;
9230 }
9231 }
9232 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9233 if (UNTAG_Bool(REGB0)) {
9234 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
9235 /* ./parser//parser_prod.nit:1624 */
9236 if (UNTAG_Bool(REGB0)) {
9237 fprintf(stderr, "Reciever is null");
9238 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1624);
9239 nit_exit(1);
9240 }
9241 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
9242 }
9243 stack_frame_head = fra.me.prev;
9244 return;
9245 }
9246 void parser_prod___ADeferredMethPropdef___n_kwredef__eq(val_t p0, val_t p1){
9247 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
9248 val_t REGB0;
9249 val_t REGB1;
9250 val_t tmp;
9251 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9252 fra.me.file = LOCATE_parser_prod;
9253 fra.me.line = 1627;
9254 fra.me.meth = LOCATE_parser_prod___ADeferredMethPropdef___n_kwredef__eq;
9255 fra.me.has_broke = 0;
9256 fra.me.REG_size = 2;
9257 fra.me.REG[0] = NIT_NULL;
9258 fra.me.REG[1] = NIT_NULL;
9259 fra.me.REG[0] = p0;
9260 fra.me.REG[1] = p1;
9261 /* ./parser//parser_prod.nit:1629 */
9262 ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[1];
9263 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
9264 /* ./parser//parser_prod.nit:1630 */
9265 if (UNTAG_Bool(REGB0)) {
9266 } else {
9267 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
9268 if (UNTAG_Bool(REGB1)) {
9269 REGB1 = TAG_Bool(false);
9270 REGB0 = REGB1;
9271 } else {
9272 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
9273 REGB0 = REGB1;
9274 }
9275 }
9276 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9277 if (UNTAG_Bool(REGB0)) {
9278 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
9279 /* ./parser//parser_prod.nit:1631 */
9280 if (UNTAG_Bool(REGB0)) {
9281 fprintf(stderr, "Reciever is null");
9282 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1631);
9283 nit_exit(1);
9284 }
9285 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
9286 }
9287 stack_frame_head = fra.me.prev;
9288 return;
9289 }
9290 void parser_prod___ADeferredMethPropdef___n_visibility__eq(val_t p0, val_t p1){
9291 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
9292 val_t REGB0;
9293 val_t tmp;
9294 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9295 fra.me.file = LOCATE_parser_prod;
9296 fra.me.line = 1634;
9297 fra.me.meth = LOCATE_parser_prod___ADeferredMethPropdef___n_visibility__eq;
9298 fra.me.has_broke = 0;
9299 fra.me.REG_size = 2;
9300 fra.me.REG[0] = NIT_NULL;
9301 fra.me.REG[1] = NIT_NULL;
9302 fra.me.REG[0] = p0;
9303 fra.me.REG[1] = p1;
9304 /* ./parser//parser_prod.nit:1636 */
9305 ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]) = fra.me.REG[1];
9306 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
9307 /* ./parser//parser_prod.nit:1637 */
9308 if (UNTAG_Bool(REGB0)) {
9309 fprintf(stderr, "Reciever is null");
9310 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1637);
9311 nit_exit(1);
9312 }
9313 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
9314 stack_frame_head = fra.me.prev;
9315 return;
9316 }
9317 void parser_prod___ADeferredMethPropdef___n_methid__eq(val_t p0, val_t p1){
9318 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
9319 val_t REGB0;
9320 val_t tmp;
9321 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9322 fra.me.file = LOCATE_parser_prod;
9323 fra.me.line = 1644;
9324 fra.me.meth = LOCATE_parser_prod___ADeferredMethPropdef___n_methid__eq;
9325 fra.me.has_broke = 0;
9326 fra.me.REG_size = 2;
9327 fra.me.REG[0] = NIT_NULL;
9328 fra.me.REG[1] = NIT_NULL;
9329 fra.me.REG[0] = p0;
9330 fra.me.REG[1] = p1;
9331 /* ./parser//parser_prod.nit:1646 */
9332 ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]) = fra.me.REG[1];
9333 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
9334 /* ./parser//parser_prod.nit:1647 */
9335 if (UNTAG_Bool(REGB0)) {
9336 fprintf(stderr, "Reciever is null");
9337 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1647);
9338 nit_exit(1);
9339 }
9340 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
9341 stack_frame_head = fra.me.prev;
9342 return;
9343 }
9344 void parser_prod___ADeferredMethPropdef___n_signature__eq(val_t p0, val_t p1){
9345 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
9346 val_t REGB0;
9347 val_t tmp;
9348 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9349 fra.me.file = LOCATE_parser_prod;
9350 fra.me.line = 1649;
9351 fra.me.meth = LOCATE_parser_prod___ADeferredMethPropdef___n_signature__eq;
9352 fra.me.has_broke = 0;
9353 fra.me.REG_size = 2;
9354 fra.me.REG[0] = NIT_NULL;
9355 fra.me.REG[1] = NIT_NULL;
9356 fra.me.REG[0] = p0;
9357 fra.me.REG[1] = p1;
9358 /* ./parser//parser_prod.nit:1651 */
9359 ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]) = fra.me.REG[1];
9360 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
9361 /* ./parser//parser_prod.nit:1652 */
9362 if (UNTAG_Bool(REGB0)) {
9363 fprintf(stderr, "Reciever is null");
9364 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1652);
9365 nit_exit(1);
9366 }
9367 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
9368 stack_frame_head = fra.me.prev;
9369 return;
9370 }
9371 void parser_prod___ADeferredMethPropdef___n_kwmeth__eq(val_t p0, val_t p1){
9372 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
9373 val_t tmp;
9374 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9375 fra.me.file = LOCATE_parser_prod;
9376 fra.me.line = 1639;
9377 fra.me.meth = LOCATE_parser_prod___ADeferredMethPropdef___n_kwmeth__eq;
9378 fra.me.has_broke = 0;
9379 fra.me.REG_size = 2;
9380 fra.me.REG[0] = NIT_NULL;
9381 fra.me.REG[1] = NIT_NULL;
9382 fra.me.REG[0] = p0;
9383 fra.me.REG[1] = p1;
9384 /* ./parser//parser_prod.nit:1641 */
9385 ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth(fra.me.REG[0]) = fra.me.REG[1];
9386 /* ./parser//parser_prod.nit:1642 */
9387 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
9388 stack_frame_head = fra.me.prev;
9389 return;
9390 }
9391 void parser_prod___ADeferredMethPropdef___replace_child(val_t p0, val_t p1, val_t p2){
9392 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
9393 val_t REGB0;
9394 val_t REGB1;
9395 val_t tmp;
9396 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9397 fra.me.file = LOCATE_parser_prod;
9398 fra.me.line = 1685;
9399 fra.me.meth = LOCATE_parser_prod___ADeferredMethPropdef___replace_child;
9400 fra.me.has_broke = 0;
9401 fra.me.REG_size = 4;
9402 fra.me.REG[0] = NIT_NULL;
9403 fra.me.REG[1] = NIT_NULL;
9404 fra.me.REG[2] = NIT_NULL;
9405 fra.me.REG[3] = NIT_NULL;
9406 fra.me.REG[0] = p0;
9407 fra.me.REG[1] = p1;
9408 fra.me.REG[2] = p2;
9409 fra.me.REG[3] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
9410 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
9411 /* ./parser//parser_prod.nit:1687 */
9412 if (UNTAG_Bool(REGB0)) {
9413 } else {
9414 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9415 if (UNTAG_Bool(REGB1)) {
9416 REGB1 = TAG_Bool(false);
9417 REGB0 = REGB1;
9418 } else {
9419 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
9420 REGB0 = REGB1;
9421 }
9422 }
9423 if (UNTAG_Bool(REGB0)) {
9424 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9425 /* ./parser//parser_prod.nit:1688 */
9426 if (UNTAG_Bool(REGB0)) {
9427 } else {
9428 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9429 if (UNTAG_Bool(REGB1)) {
9430 REGB1 = TAG_Bool(false);
9431 REGB0 = REGB1;
9432 } else {
9433 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
9434 REGB0 = REGB1;
9435 }
9436 }
9437 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9438 if (UNTAG_Bool(REGB0)) {
9439 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9440 /* ./parser//parser_prod.nit:1689 */
9441 if (UNTAG_Bool(REGB0)) {
9442 fprintf(stderr, "Reciever is null");
9443 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1689);
9444 nit_exit(1);
9445 }
9446 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
9447 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
9448 /* ./parser//parser_prod.nit:1690 */
9449 if (UNTAG_Bool(REGB0)) {
9450 } else {
9451 fprintf(stderr, "Assert failed");
9452 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1690);
9453 nit_exit(1);
9454 }
9455 /* ./parser//parser_prod.nit:1691 */
9456 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = fra.me.REG[2];
9457 } else {
9458 /* ./parser//parser_prod.nit:1693 */
9459 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = NIT_NULL;
9460 }
9461 /* ./parser//parser_prod.nit:1695 */
9462 goto label1;
9463 }
9464 fra.me.REG[3] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
9465 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
9466 /* ./parser//parser_prod.nit:1697 */
9467 if (UNTAG_Bool(REGB0)) {
9468 } else {
9469 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9470 if (UNTAG_Bool(REGB1)) {
9471 REGB1 = TAG_Bool(false);
9472 REGB0 = REGB1;
9473 } else {
9474 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
9475 REGB0 = REGB1;
9476 }
9477 }
9478 if (UNTAG_Bool(REGB0)) {
9479 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9480 /* ./parser//parser_prod.nit:1698 */
9481 if (UNTAG_Bool(REGB0)) {
9482 } else {
9483 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9484 if (UNTAG_Bool(REGB1)) {
9485 REGB1 = TAG_Bool(false);
9486 REGB0 = REGB1;
9487 } else {
9488 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
9489 REGB0 = REGB1;
9490 }
9491 }
9492 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9493 if (UNTAG_Bool(REGB0)) {
9494 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9495 /* ./parser//parser_prod.nit:1699 */
9496 if (UNTAG_Bool(REGB0)) {
9497 fprintf(stderr, "Reciever is null");
9498 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1699);
9499 nit_exit(1);
9500 }
9501 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
9502 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9503 /* ./parser//parser_prod.nit:1700 */
9504 if (UNTAG_Bool(REGB0)) {
9505 } else {
9506 fprintf(stderr, "Assert failed");
9507 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1700);
9508 nit_exit(1);
9509 }
9510 /* ./parser//parser_prod.nit:1701 */
9511 ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[2];
9512 } else {
9513 /* ./parser//parser_prod.nit:1703 */
9514 ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]) = NIT_NULL;
9515 }
9516 /* ./parser//parser_prod.nit:1705 */
9517 goto label1;
9518 }
9519 fra.me.REG[3] = ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]);
9520 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
9521 /* ./parser//parser_prod.nit:1707 */
9522 if (UNTAG_Bool(REGB0)) {
9523 } else {
9524 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9525 if (UNTAG_Bool(REGB1)) {
9526 REGB1 = TAG_Bool(false);
9527 REGB0 = REGB1;
9528 } else {
9529 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
9530 REGB0 = REGB1;
9531 }
9532 }
9533 if (UNTAG_Bool(REGB0)) {
9534 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9535 /* ./parser//parser_prod.nit:1708 */
9536 if (UNTAG_Bool(REGB0)) {
9537 } else {
9538 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9539 if (UNTAG_Bool(REGB1)) {
9540 REGB1 = TAG_Bool(false);
9541 REGB0 = REGB1;
9542 } else {
9543 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
9544 REGB0 = REGB1;
9545 }
9546 }
9547 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9548 if (UNTAG_Bool(REGB0)) {
9549 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9550 /* ./parser//parser_prod.nit:1709 */
9551 if (UNTAG_Bool(REGB0)) {
9552 fprintf(stderr, "Reciever is null");
9553 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1709);
9554 nit_exit(1);
9555 }
9556 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
9557 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AVisibility, ID_AVisibility)) /*cast AVisibility*/;
9558 /* ./parser//parser_prod.nit:1710 */
9559 if (UNTAG_Bool(REGB0)) {
9560 } else {
9561 fprintf(stderr, "Assert failed");
9562 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1710);
9563 nit_exit(1);
9564 }
9565 /* ./parser//parser_prod.nit:1711 */
9566 ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]) = fra.me.REG[2];
9567 } else {
9568 /* ./parser//parser_prod.nit:1713 */
9569 fprintf(stderr, "Aborted");
9570 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1713);
9571 nit_exit(1);
9572 }
9573 /* ./parser//parser_prod.nit:1715 */
9574 goto label1;
9575 }
9576 REGB0 = TAG_Bool(ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth(fra.me.REG[0])!=NIT_NULL);
9577 /* ./parser//parser_prod.nit:1717 */
9578 if (UNTAG_Bool(REGB0)) {
9579 } else {
9580 fprintf(stderr, "Uninitialized attribute %s", "_n_kwmeth");
9581 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1717);
9582 nit_exit(1);
9583 }
9584 fra.me.REG[3] = ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth(fra.me.REG[0]);
9585 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
9586 if (UNTAG_Bool(REGB0)) {
9587 } else {
9588 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
9589 REGB0 = REGB1;
9590 }
9591 if (UNTAG_Bool(REGB0)) {
9592 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9593 /* ./parser//parser_prod.nit:1718 */
9594 if (UNTAG_Bool(REGB0)) {
9595 } else {
9596 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9597 if (UNTAG_Bool(REGB1)) {
9598 REGB1 = TAG_Bool(false);
9599 REGB0 = REGB1;
9600 } else {
9601 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
9602 REGB0 = REGB1;
9603 }
9604 }
9605 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9606 if (UNTAG_Bool(REGB0)) {
9607 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9608 /* ./parser//parser_prod.nit:1719 */
9609 if (UNTAG_Bool(REGB0)) {
9610 fprintf(stderr, "Reciever is null");
9611 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1719);
9612 nit_exit(1);
9613 }
9614 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
9615 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
9616 /* ./parser//parser_prod.nit:1720 */
9617 if (UNTAG_Bool(REGB0)) {
9618 } else {
9619 fprintf(stderr, "Assert failed");
9620 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1720);
9621 nit_exit(1);
9622 }
9623 /* ./parser//parser_prod.nit:1721 */
9624 ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth(fra.me.REG[0]) = fra.me.REG[2];
9625 } else {
9626 /* ./parser//parser_prod.nit:1723 */
9627 fprintf(stderr, "Aborted");
9628 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1723);
9629 nit_exit(1);
9630 }
9631 /* ./parser//parser_prod.nit:1725 */
9632 goto label1;
9633 }
9634 fra.me.REG[3] = ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]);
9635 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
9636 /* ./parser//parser_prod.nit:1727 */
9637 if (UNTAG_Bool(REGB0)) {
9638 } else {
9639 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9640 if (UNTAG_Bool(REGB1)) {
9641 REGB1 = TAG_Bool(false);
9642 REGB0 = REGB1;
9643 } else {
9644 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
9645 REGB0 = REGB1;
9646 }
9647 }
9648 if (UNTAG_Bool(REGB0)) {
9649 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9650 /* ./parser//parser_prod.nit:1728 */
9651 if (UNTAG_Bool(REGB0)) {
9652 } else {
9653 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9654 if (UNTAG_Bool(REGB1)) {
9655 REGB1 = TAG_Bool(false);
9656 REGB0 = REGB1;
9657 } else {
9658 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
9659 REGB0 = REGB1;
9660 }
9661 }
9662 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9663 if (UNTAG_Bool(REGB0)) {
9664 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9665 /* ./parser//parser_prod.nit:1729 */
9666 if (UNTAG_Bool(REGB0)) {
9667 fprintf(stderr, "Reciever is null");
9668 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1729);
9669 nit_exit(1);
9670 }
9671 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
9672 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AMethid, ID_AMethid)) /*cast AMethid*/;
9673 /* ./parser//parser_prod.nit:1730 */
9674 if (UNTAG_Bool(REGB0)) {
9675 } else {
9676 fprintf(stderr, "Assert failed");
9677 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1730);
9678 nit_exit(1);
9679 }
9680 /* ./parser//parser_prod.nit:1731 */
9681 ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]) = fra.me.REG[2];
9682 } else {
9683 /* ./parser//parser_prod.nit:1733 */
9684 fprintf(stderr, "Aborted");
9685 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1733);
9686 nit_exit(1);
9687 }
9688 /* ./parser//parser_prod.nit:1735 */
9689 goto label1;
9690 }
9691 fra.me.REG[3] = ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]);
9692 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
9693 /* ./parser//parser_prod.nit:1737 */
9694 if (UNTAG_Bool(REGB0)) {
9695 } else {
9696 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
9697 if (UNTAG_Bool(REGB1)) {
9698 REGB1 = TAG_Bool(false);
9699 REGB0 = REGB1;
9700 } else {
9701 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
9702 REGB0 = REGB1;
9703 }
9704 }
9705 if (UNTAG_Bool(REGB0)) {
9706 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9707 /* ./parser//parser_prod.nit:1738 */
9708 if (UNTAG_Bool(REGB0)) {
9709 } else {
9710 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9711 if (UNTAG_Bool(REGB1)) {
9712 REGB1 = TAG_Bool(false);
9713 REGB0 = REGB1;
9714 } else {
9715 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
9716 REGB0 = REGB1;
9717 }
9718 }
9719 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9720 if (UNTAG_Bool(REGB0)) {
9721 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9722 /* ./parser//parser_prod.nit:1739 */
9723 if (UNTAG_Bool(REGB0)) {
9724 fprintf(stderr, "Reciever is null");
9725 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1739);
9726 nit_exit(1);
9727 }
9728 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
9729 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast ASignature*/;
9730 /* ./parser//parser_prod.nit:1740 */
9731 if (UNTAG_Bool(REGB0)) {
9732 } else {
9733 fprintf(stderr, "Assert failed");
9734 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1740);
9735 nit_exit(1);
9736 }
9737 /* ./parser//parser_prod.nit:1741 */
9738 ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]) = fra.me.REG[2];
9739 } else {
9740 /* ./parser//parser_prod.nit:1743 */
9741 fprintf(stderr, "Aborted");
9742 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1743);
9743 nit_exit(1);
9744 }
9745 /* ./parser//parser_prod.nit:1745 */
9746 goto label1;
9747 }
9748 label1: while(0);
9749 stack_frame_head = fra.me.prev;
9750 return;
9751 }
9752 void parser_prod___ADeferredMethPropdef___visit_all(val_t p0, val_t p1){
9753 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
9754 val_t REGB0;
9755 val_t REGB1;
9756 val_t tmp;
9757 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9758 fra.me.file = LOCATE_parser_prod;
9759 fra.me.line = 1749;
9760 fra.me.meth = LOCATE_parser_prod___ADeferredMethPropdef___visit_all;
9761 fra.me.has_broke = 0;
9762 fra.me.REG_size = 3;
9763 fra.me.REG[0] = NIT_NULL;
9764 fra.me.REG[1] = NIT_NULL;
9765 fra.me.REG[2] = NIT_NULL;
9766 fra.me.REG[0] = p0;
9767 fra.me.REG[1] = p1;
9768 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
9769 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9770 /* ./parser//parser_prod.nit:1751 */
9771 if (UNTAG_Bool(REGB0)) {
9772 } else {
9773 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9774 if (UNTAG_Bool(REGB1)) {
9775 REGB1 = TAG_Bool(false);
9776 REGB0 = REGB1;
9777 } else {
9778 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
9779 REGB0 = REGB1;
9780 }
9781 }
9782 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9783 if (UNTAG_Bool(REGB0)) {
9784 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
9785 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
9786 /* ./parser//parser_prod.nit:1752 */
9787 if (UNTAG_Bool(REGB0)) {
9788 } else {
9789 fprintf(stderr, "Cast failed");
9790 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1752);
9791 nit_exit(1);
9792 }
9793 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
9794 }
9795 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
9796 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9797 /* ./parser//parser_prod.nit:1754 */
9798 if (UNTAG_Bool(REGB0)) {
9799 } else {
9800 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9801 if (UNTAG_Bool(REGB1)) {
9802 REGB1 = TAG_Bool(false);
9803 REGB0 = REGB1;
9804 } else {
9805 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
9806 REGB0 = REGB1;
9807 }
9808 }
9809 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9810 if (UNTAG_Bool(REGB0)) {
9811 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
9812 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9813 /* ./parser//parser_prod.nit:1755 */
9814 if (UNTAG_Bool(REGB0)) {
9815 } else {
9816 fprintf(stderr, "Cast failed");
9817 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1755);
9818 nit_exit(1);
9819 }
9820 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
9821 }
9822 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]);
9823 /* ./parser//parser_prod.nit:1757 */
9824 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
9825 REGB0 = TAG_Bool(ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth(fra.me.REG[0])!=NIT_NULL);
9826 /* ./parser//parser_prod.nit:1758 */
9827 if (UNTAG_Bool(REGB0)) {
9828 } else {
9829 fprintf(stderr, "Uninitialized attribute %s", "_n_kwmeth");
9830 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1758);
9831 nit_exit(1);
9832 }
9833 fra.me.REG[2] = ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth(fra.me.REG[0]);
9834 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
9835 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]);
9836 /* ./parser//parser_prod.nit:1759 */
9837 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
9838 fra.me.REG[0] = ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]);
9839 /* ./parser//parser_prod.nit:1760 */
9840 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
9841 stack_frame_head = fra.me.prev;
9842 return;
9843 }
9844 void parser_prod___ADeferredMethPropdef___visit_all_reverse(val_t p0, val_t p1){
9845 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
9846 val_t REGB0;
9847 val_t REGB1;
9848 val_t tmp;
9849 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9850 fra.me.file = LOCATE_parser_prod;
9851 fra.me.line = 1763;
9852 fra.me.meth = LOCATE_parser_prod___ADeferredMethPropdef___visit_all_reverse;
9853 fra.me.has_broke = 0;
9854 fra.me.REG_size = 3;
9855 fra.me.REG[0] = NIT_NULL;
9856 fra.me.REG[1] = NIT_NULL;
9857 fra.me.REG[2] = NIT_NULL;
9858 fra.me.REG[0] = p0;
9859 fra.me.REG[1] = p1;
9860 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
9861 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9862 /* ./parser//parser_prod.nit:1765 */
9863 if (UNTAG_Bool(REGB0)) {
9864 } else {
9865 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9866 if (UNTAG_Bool(REGB1)) {
9867 REGB1 = TAG_Bool(false);
9868 REGB0 = REGB1;
9869 } else {
9870 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
9871 REGB0 = REGB1;
9872 }
9873 }
9874 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9875 if (UNTAG_Bool(REGB0)) {
9876 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
9877 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
9878 /* ./parser//parser_prod.nit:1766 */
9879 if (UNTAG_Bool(REGB0)) {
9880 } else {
9881 fprintf(stderr, "Cast failed");
9882 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1766);
9883 nit_exit(1);
9884 }
9885 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
9886 }
9887 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
9888 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9889 /* ./parser//parser_prod.nit:1768 */
9890 if (UNTAG_Bool(REGB0)) {
9891 } else {
9892 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
9893 if (UNTAG_Bool(REGB1)) {
9894 REGB1 = TAG_Bool(false);
9895 REGB0 = REGB1;
9896 } else {
9897 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
9898 REGB0 = REGB1;
9899 }
9900 }
9901 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9902 if (UNTAG_Bool(REGB0)) {
9903 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
9904 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
9905 /* ./parser//parser_prod.nit:1769 */
9906 if (UNTAG_Bool(REGB0)) {
9907 } else {
9908 fprintf(stderr, "Cast failed");
9909 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1769);
9910 nit_exit(1);
9911 }
9912 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
9913 }
9914 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]);
9915 /* ./parser//parser_prod.nit:1771 */
9916 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
9917 REGB0 = TAG_Bool(ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth(fra.me.REG[0])!=NIT_NULL);
9918 /* ./parser//parser_prod.nit:1772 */
9919 if (UNTAG_Bool(REGB0)) {
9920 } else {
9921 fprintf(stderr, "Uninitialized attribute %s", "_n_kwmeth");
9922 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1772);
9923 nit_exit(1);
9924 }
9925 fra.me.REG[2] = ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth(fra.me.REG[0]);
9926 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
9927 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]);
9928 /* ./parser//parser_prod.nit:1773 */
9929 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
9930 fra.me.REG[0] = ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]);
9931 /* ./parser//parser_prod.nit:1774 */
9932 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
9933 stack_frame_head = fra.me.prev;
9934 return;
9935 }
9936 void parser_prod___ADeferredMethPropdef___empty_init(val_t p0, int* init_table){
9937 int itpos39 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ADeferredMethPropdef].i;
9938 struct {struct stack_frame_t me;} fra;
9939 val_t tmp;
9940 if (init_table[itpos39]) return;
9941 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9942 fra.me.file = LOCATE_parser_prod;
9943 fra.me.line = 1655;
9944 fra.me.meth = LOCATE_parser_prod___ADeferredMethPropdef___empty_init;
9945 fra.me.has_broke = 0;
9946 fra.me.REG_size = 1;
9947 fra.me.REG[0] = NIT_NULL;
9948 fra.me.REG[0] = p0;
9949 /* ./parser//parser_prod.nit:1655 */
9950 stack_frame_head = fra.me.prev;
9951 init_table[itpos39] = 1;
9952 return;
9953 }
9954 void parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6, int* init_table){
9955 int itpos40 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ADeferredMethPropdef].i;
9956 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
9957 val_t REGB0;
9958 val_t REGB1;
9959 val_t tmp;
9960 if (init_table[itpos40]) return;
9961 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9962 fra.me.file = LOCATE_parser_prod;
9963 fra.me.line = 1657;
9964 fra.me.meth = LOCATE_parser_prod___ADeferredMethPropdef___init_adeferredmethpropdef;
9965 fra.me.has_broke = 0;
9966 fra.me.REG_size = 7;
9967 fra.me.REG[0] = NIT_NULL;
9968 fra.me.REG[1] = NIT_NULL;
9969 fra.me.REG[2] = NIT_NULL;
9970 fra.me.REG[3] = NIT_NULL;
9971 fra.me.REG[4] = NIT_NULL;
9972 fra.me.REG[5] = NIT_NULL;
9973 fra.me.REG[6] = NIT_NULL;
9974 fra.me.REG[0] = p0;
9975 fra.me.REG[1] = p1;
9976 fra.me.REG[2] = p2;
9977 fra.me.REG[3] = p3;
9978 fra.me.REG[4] = p4;
9979 fra.me.REG[5] = p5;
9980 fra.me.REG[6] = p6;
9981 /* ./parser//parser_prod.nit:1666 */
9982 CALL_parser_prod___ADeferredMethPropdef___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
9983 /* ./parser//parser_prod.nit:1667 */
9984 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = fra.me.REG[1];
9985 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
9986 /* ./parser//parser_prod.nit:1668 */
9987 if (UNTAG_Bool(REGB0)) {
9988 } else {
9989 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
9990 if (UNTAG_Bool(REGB1)) {
9991 REGB1 = TAG_Bool(false);
9992 REGB0 = REGB1;
9993 } else {
9994 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
9995 REGB0 = REGB1;
9996 }
9997 }
9998 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
9999 if (UNTAG_Bool(REGB0)) {
10000 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
10001 /* ./parser//parser_prod.nit:1669 */
10002 if (UNTAG_Bool(REGB0)) {
10003 fprintf(stderr, "Reciever is null");
10004 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1669);
10005 nit_exit(1);
10006 }
10007 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
10008 }
10009 /* ./parser//parser_prod.nit:1671 */
10010 ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[2];
10011 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10012 /* ./parser//parser_prod.nit:1672 */
10013 if (UNTAG_Bool(REGB0)) {
10014 } else {
10015 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10016 if (UNTAG_Bool(REGB1)) {
10017 REGB1 = TAG_Bool(false);
10018 REGB0 = REGB1;
10019 } else {
10020 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
10021 REGB0 = REGB1;
10022 }
10023 }
10024 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10025 if (UNTAG_Bool(REGB0)) {
10026 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10027 /* ./parser//parser_prod.nit:1673 */
10028 if (UNTAG_Bool(REGB0)) {
10029 fprintf(stderr, "Reciever is null");
10030 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1673);
10031 nit_exit(1);
10032 }
10033 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
10034 }
10035 REGB0 = TAG_Bool(fra.me.REG[3]!=NIT_NULL);
10036 /* ./parser//parser_prod.nit:1675 */
10037 if (UNTAG_Bool(REGB0)) {
10038 } else {
10039 fprintf(stderr, "Cast failed");
10040 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1675);
10041 nit_exit(1);
10042 }
10043 ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]) = fra.me.REG[3];
10044 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10045 /* ./parser//parser_prod.nit:1676 */
10046 if (UNTAG_Bool(REGB0)) {
10047 fprintf(stderr, "Reciever is null");
10048 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1676);
10049 nit_exit(1);
10050 }
10051 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
10052 REGB0 = TAG_Bool(fra.me.REG[4]!=NIT_NULL);
10053 /* ./parser//parser_prod.nit:1677 */
10054 if (UNTAG_Bool(REGB0)) {
10055 } else {
10056 fprintf(stderr, "Cast failed");
10057 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1677);
10058 nit_exit(1);
10059 }
10060 ATTR_parser_nodes___ADeferredMethPropdef____n_kwmeth(fra.me.REG[0]) = fra.me.REG[4];
10061 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
10062 /* ./parser//parser_prod.nit:1678 */
10063 if (UNTAG_Bool(REGB0)) {
10064 fprintf(stderr, "Reciever is null");
10065 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1678);
10066 nit_exit(1);
10067 }
10068 CALL_parser_prod___ANode___parent__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
10069 REGB0 = TAG_Bool(fra.me.REG[5]!=NIT_NULL);
10070 /* ./parser//parser_prod.nit:1679 */
10071 if (UNTAG_Bool(REGB0)) {
10072 } else {
10073 fprintf(stderr, "Cast failed");
10074 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1679);
10075 nit_exit(1);
10076 }
10077 ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]) = fra.me.REG[5];
10078 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
10079 /* ./parser//parser_prod.nit:1680 */
10080 if (UNTAG_Bool(REGB0)) {
10081 fprintf(stderr, "Reciever is null");
10082 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1680);
10083 nit_exit(1);
10084 }
10085 CALL_parser_prod___ANode___parent__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[0]);
10086 REGB0 = TAG_Bool(fra.me.REG[6]!=NIT_NULL);
10087 /* ./parser//parser_prod.nit:1681 */
10088 if (UNTAG_Bool(REGB0)) {
10089 } else {
10090 fprintf(stderr, "Cast failed");
10091 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1681);
10092 nit_exit(1);
10093 }
10094 ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]) = fra.me.REG[6];
10095 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
10096 /* ./parser//parser_prod.nit:1682 */
10097 if (UNTAG_Bool(REGB0)) {
10098 fprintf(stderr, "Reciever is null");
10099 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1682);
10100 nit_exit(1);
10101 }
10102 CALL_parser_prod___ANode___parent__eq(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[0]);
10103 stack_frame_head = fra.me.prev;
10104 init_table[itpos40] = 1;
10105 return;
10106 }
10107 void parser_prod___AInternMethPropdef___n_doc__eq(val_t p0, val_t p1){
10108 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
10109 val_t REGB0;
10110 val_t REGB1;
10111 val_t tmp;
10112 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10113 fra.me.file = LOCATE_parser_prod;
10114 fra.me.line = 1778;
10115 fra.me.meth = LOCATE_parser_prod___AInternMethPropdef___n_doc__eq;
10116 fra.me.has_broke = 0;
10117 fra.me.REG_size = 2;
10118 fra.me.REG[0] = NIT_NULL;
10119 fra.me.REG[1] = NIT_NULL;
10120 fra.me.REG[0] = p0;
10121 fra.me.REG[1] = p1;
10122 /* ./parser//parser_prod.nit:1780 */
10123 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = fra.me.REG[1];
10124 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
10125 /* ./parser//parser_prod.nit:1781 */
10126 if (UNTAG_Bool(REGB0)) {
10127 } else {
10128 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
10129 if (UNTAG_Bool(REGB1)) {
10130 REGB1 = TAG_Bool(false);
10131 REGB0 = REGB1;
10132 } else {
10133 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
10134 REGB0 = REGB1;
10135 }
10136 }
10137 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10138 if (UNTAG_Bool(REGB0)) {
10139 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
10140 /* ./parser//parser_prod.nit:1782 */
10141 if (UNTAG_Bool(REGB0)) {
10142 fprintf(stderr, "Reciever is null");
10143 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1782);
10144 nit_exit(1);
10145 }
10146 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
10147 }
10148 stack_frame_head = fra.me.prev;
10149 return;
10150 }
10151 void parser_prod___AInternMethPropdef___n_kwredef__eq(val_t p0, val_t p1){
10152 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
10153 val_t REGB0;
10154 val_t REGB1;
10155 val_t tmp;
10156 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10157 fra.me.file = LOCATE_parser_prod;
10158 fra.me.line = 1785;
10159 fra.me.meth = LOCATE_parser_prod___AInternMethPropdef___n_kwredef__eq;
10160 fra.me.has_broke = 0;
10161 fra.me.REG_size = 2;
10162 fra.me.REG[0] = NIT_NULL;
10163 fra.me.REG[1] = NIT_NULL;
10164 fra.me.REG[0] = p0;
10165 fra.me.REG[1] = p1;
10166 /* ./parser//parser_prod.nit:1787 */
10167 ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[1];
10168 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
10169 /* ./parser//parser_prod.nit:1788 */
10170 if (UNTAG_Bool(REGB0)) {
10171 } else {
10172 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
10173 if (UNTAG_Bool(REGB1)) {
10174 REGB1 = TAG_Bool(false);
10175 REGB0 = REGB1;
10176 } else {
10177 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
10178 REGB0 = REGB1;
10179 }
10180 }
10181 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10182 if (UNTAG_Bool(REGB0)) {
10183 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
10184 /* ./parser//parser_prod.nit:1789 */
10185 if (UNTAG_Bool(REGB0)) {
10186 fprintf(stderr, "Reciever is null");
10187 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1789);
10188 nit_exit(1);
10189 }
10190 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
10191 }
10192 stack_frame_head = fra.me.prev;
10193 return;
10194 }
10195 void parser_prod___AInternMethPropdef___n_visibility__eq(val_t p0, val_t p1){
10196 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
10197 val_t REGB0;
10198 val_t tmp;
10199 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10200 fra.me.file = LOCATE_parser_prod;
10201 fra.me.line = 1792;
10202 fra.me.meth = LOCATE_parser_prod___AInternMethPropdef___n_visibility__eq;
10203 fra.me.has_broke = 0;
10204 fra.me.REG_size = 2;
10205 fra.me.REG[0] = NIT_NULL;
10206 fra.me.REG[1] = NIT_NULL;
10207 fra.me.REG[0] = p0;
10208 fra.me.REG[1] = p1;
10209 /* ./parser//parser_prod.nit:1794 */
10210 ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]) = fra.me.REG[1];
10211 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
10212 /* ./parser//parser_prod.nit:1795 */
10213 if (UNTAG_Bool(REGB0)) {
10214 fprintf(stderr, "Reciever is null");
10215 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1795);
10216 nit_exit(1);
10217 }
10218 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
10219 stack_frame_head = fra.me.prev;
10220 return;
10221 }
10222 void parser_prod___AInternMethPropdef___n_methid__eq(val_t p0, val_t p1){
10223 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
10224 val_t REGB0;
10225 val_t tmp;
10226 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10227 fra.me.file = LOCATE_parser_prod;
10228 fra.me.line = 1802;
10229 fra.me.meth = LOCATE_parser_prod___AInternMethPropdef___n_methid__eq;
10230 fra.me.has_broke = 0;
10231 fra.me.REG_size = 2;
10232 fra.me.REG[0] = NIT_NULL;
10233 fra.me.REG[1] = NIT_NULL;
10234 fra.me.REG[0] = p0;
10235 fra.me.REG[1] = p1;
10236 /* ./parser//parser_prod.nit:1804 */
10237 ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]) = fra.me.REG[1];
10238 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
10239 /* ./parser//parser_prod.nit:1805 */
10240 if (UNTAG_Bool(REGB0)) {
10241 fprintf(stderr, "Reciever is null");
10242 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1805);
10243 nit_exit(1);
10244 }
10245 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
10246 stack_frame_head = fra.me.prev;
10247 return;
10248 }
10249 void parser_prod___AInternMethPropdef___n_signature__eq(val_t p0, val_t p1){
10250 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
10251 val_t REGB0;
10252 val_t tmp;
10253 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10254 fra.me.file = LOCATE_parser_prod;
10255 fra.me.line = 1807;
10256 fra.me.meth = LOCATE_parser_prod___AInternMethPropdef___n_signature__eq;
10257 fra.me.has_broke = 0;
10258 fra.me.REG_size = 2;
10259 fra.me.REG[0] = NIT_NULL;
10260 fra.me.REG[1] = NIT_NULL;
10261 fra.me.REG[0] = p0;
10262 fra.me.REG[1] = p1;
10263 /* ./parser//parser_prod.nit:1809 */
10264 ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]) = fra.me.REG[1];
10265 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
10266 /* ./parser//parser_prod.nit:1810 */
10267 if (UNTAG_Bool(REGB0)) {
10268 fprintf(stderr, "Reciever is null");
10269 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1810);
10270 nit_exit(1);
10271 }
10272 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
10273 stack_frame_head = fra.me.prev;
10274 return;
10275 }
10276 void parser_prod___AInternMethPropdef___n_kwmeth__eq(val_t p0, val_t p1){
10277 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
10278 val_t tmp;
10279 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10280 fra.me.file = LOCATE_parser_prod;
10281 fra.me.line = 1797;
10282 fra.me.meth = LOCATE_parser_prod___AInternMethPropdef___n_kwmeth__eq;
10283 fra.me.has_broke = 0;
10284 fra.me.REG_size = 2;
10285 fra.me.REG[0] = NIT_NULL;
10286 fra.me.REG[1] = NIT_NULL;
10287 fra.me.REG[0] = p0;
10288 fra.me.REG[1] = p1;
10289 /* ./parser//parser_prod.nit:1799 */
10290 ATTR_parser_nodes___AInternMethPropdef____n_kwmeth(fra.me.REG[0]) = fra.me.REG[1];
10291 /* ./parser//parser_prod.nit:1800 */
10292 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
10293 stack_frame_head = fra.me.prev;
10294 return;
10295 }
10296 void parser_prod___AInternMethPropdef___replace_child(val_t p0, val_t p1, val_t p2){
10297 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
10298 val_t REGB0;
10299 val_t REGB1;
10300 val_t tmp;
10301 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10302 fra.me.file = LOCATE_parser_prod;
10303 fra.me.line = 1843;
10304 fra.me.meth = LOCATE_parser_prod___AInternMethPropdef___replace_child;
10305 fra.me.has_broke = 0;
10306 fra.me.REG_size = 4;
10307 fra.me.REG[0] = NIT_NULL;
10308 fra.me.REG[1] = NIT_NULL;
10309 fra.me.REG[2] = NIT_NULL;
10310 fra.me.REG[3] = NIT_NULL;
10311 fra.me.REG[0] = p0;
10312 fra.me.REG[1] = p1;
10313 fra.me.REG[2] = p2;
10314 fra.me.REG[3] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
10315 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
10316 /* ./parser//parser_prod.nit:1845 */
10317 if (UNTAG_Bool(REGB0)) {
10318 } else {
10319 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10320 if (UNTAG_Bool(REGB1)) {
10321 REGB1 = TAG_Bool(false);
10322 REGB0 = REGB1;
10323 } else {
10324 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
10325 REGB0 = REGB1;
10326 }
10327 }
10328 if (UNTAG_Bool(REGB0)) {
10329 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10330 /* ./parser//parser_prod.nit:1846 */
10331 if (UNTAG_Bool(REGB0)) {
10332 } else {
10333 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10334 if (UNTAG_Bool(REGB1)) {
10335 REGB1 = TAG_Bool(false);
10336 REGB0 = REGB1;
10337 } else {
10338 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
10339 REGB0 = REGB1;
10340 }
10341 }
10342 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10343 if (UNTAG_Bool(REGB0)) {
10344 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10345 /* ./parser//parser_prod.nit:1847 */
10346 if (UNTAG_Bool(REGB0)) {
10347 fprintf(stderr, "Reciever is null");
10348 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1847);
10349 nit_exit(1);
10350 }
10351 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
10352 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
10353 /* ./parser//parser_prod.nit:1848 */
10354 if (UNTAG_Bool(REGB0)) {
10355 } else {
10356 fprintf(stderr, "Assert failed");
10357 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1848);
10358 nit_exit(1);
10359 }
10360 /* ./parser//parser_prod.nit:1849 */
10361 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = fra.me.REG[2];
10362 } else {
10363 /* ./parser//parser_prod.nit:1851 */
10364 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = NIT_NULL;
10365 }
10366 /* ./parser//parser_prod.nit:1853 */
10367 goto label1;
10368 }
10369 fra.me.REG[3] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
10370 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
10371 /* ./parser//parser_prod.nit:1855 */
10372 if (UNTAG_Bool(REGB0)) {
10373 } else {
10374 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10375 if (UNTAG_Bool(REGB1)) {
10376 REGB1 = TAG_Bool(false);
10377 REGB0 = REGB1;
10378 } else {
10379 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
10380 REGB0 = REGB1;
10381 }
10382 }
10383 if (UNTAG_Bool(REGB0)) {
10384 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10385 /* ./parser//parser_prod.nit:1856 */
10386 if (UNTAG_Bool(REGB0)) {
10387 } else {
10388 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10389 if (UNTAG_Bool(REGB1)) {
10390 REGB1 = TAG_Bool(false);
10391 REGB0 = REGB1;
10392 } else {
10393 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
10394 REGB0 = REGB1;
10395 }
10396 }
10397 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10398 if (UNTAG_Bool(REGB0)) {
10399 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10400 /* ./parser//parser_prod.nit:1857 */
10401 if (UNTAG_Bool(REGB0)) {
10402 fprintf(stderr, "Reciever is null");
10403 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1857);
10404 nit_exit(1);
10405 }
10406 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
10407 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10408 /* ./parser//parser_prod.nit:1858 */
10409 if (UNTAG_Bool(REGB0)) {
10410 } else {
10411 fprintf(stderr, "Assert failed");
10412 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1858);
10413 nit_exit(1);
10414 }
10415 /* ./parser//parser_prod.nit:1859 */
10416 ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[2];
10417 } else {
10418 /* ./parser//parser_prod.nit:1861 */
10419 ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]) = NIT_NULL;
10420 }
10421 /* ./parser//parser_prod.nit:1863 */
10422 goto label1;
10423 }
10424 fra.me.REG[3] = ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]);
10425 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
10426 /* ./parser//parser_prod.nit:1865 */
10427 if (UNTAG_Bool(REGB0)) {
10428 } else {
10429 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10430 if (UNTAG_Bool(REGB1)) {
10431 REGB1 = TAG_Bool(false);
10432 REGB0 = REGB1;
10433 } else {
10434 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
10435 REGB0 = REGB1;
10436 }
10437 }
10438 if (UNTAG_Bool(REGB0)) {
10439 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10440 /* ./parser//parser_prod.nit:1866 */
10441 if (UNTAG_Bool(REGB0)) {
10442 } else {
10443 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10444 if (UNTAG_Bool(REGB1)) {
10445 REGB1 = TAG_Bool(false);
10446 REGB0 = REGB1;
10447 } else {
10448 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
10449 REGB0 = REGB1;
10450 }
10451 }
10452 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10453 if (UNTAG_Bool(REGB0)) {
10454 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10455 /* ./parser//parser_prod.nit:1867 */
10456 if (UNTAG_Bool(REGB0)) {
10457 fprintf(stderr, "Reciever is null");
10458 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1867);
10459 nit_exit(1);
10460 }
10461 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
10462 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AVisibility, ID_AVisibility)) /*cast AVisibility*/;
10463 /* ./parser//parser_prod.nit:1868 */
10464 if (UNTAG_Bool(REGB0)) {
10465 } else {
10466 fprintf(stderr, "Assert failed");
10467 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1868);
10468 nit_exit(1);
10469 }
10470 /* ./parser//parser_prod.nit:1869 */
10471 ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]) = fra.me.REG[2];
10472 } else {
10473 /* ./parser//parser_prod.nit:1871 */
10474 fprintf(stderr, "Aborted");
10475 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1871);
10476 nit_exit(1);
10477 }
10478 /* ./parser//parser_prod.nit:1873 */
10479 goto label1;
10480 }
10481 REGB0 = TAG_Bool(ATTR_parser_nodes___AInternMethPropdef____n_kwmeth(fra.me.REG[0])!=NIT_NULL);
10482 /* ./parser//parser_prod.nit:1875 */
10483 if (UNTAG_Bool(REGB0)) {
10484 } else {
10485 fprintf(stderr, "Uninitialized attribute %s", "_n_kwmeth");
10486 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1875);
10487 nit_exit(1);
10488 }
10489 fra.me.REG[3] = ATTR_parser_nodes___AInternMethPropdef____n_kwmeth(fra.me.REG[0]);
10490 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
10491 if (UNTAG_Bool(REGB0)) {
10492 } else {
10493 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
10494 REGB0 = REGB1;
10495 }
10496 if (UNTAG_Bool(REGB0)) {
10497 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10498 /* ./parser//parser_prod.nit:1876 */
10499 if (UNTAG_Bool(REGB0)) {
10500 } else {
10501 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10502 if (UNTAG_Bool(REGB1)) {
10503 REGB1 = TAG_Bool(false);
10504 REGB0 = REGB1;
10505 } else {
10506 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
10507 REGB0 = REGB1;
10508 }
10509 }
10510 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10511 if (UNTAG_Bool(REGB0)) {
10512 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10513 /* ./parser//parser_prod.nit:1877 */
10514 if (UNTAG_Bool(REGB0)) {
10515 fprintf(stderr, "Reciever is null");
10516 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1877);
10517 nit_exit(1);
10518 }
10519 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
10520 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
10521 /* ./parser//parser_prod.nit:1878 */
10522 if (UNTAG_Bool(REGB0)) {
10523 } else {
10524 fprintf(stderr, "Assert failed");
10525 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1878);
10526 nit_exit(1);
10527 }
10528 /* ./parser//parser_prod.nit:1879 */
10529 ATTR_parser_nodes___AInternMethPropdef____n_kwmeth(fra.me.REG[0]) = fra.me.REG[2];
10530 } else {
10531 /* ./parser//parser_prod.nit:1881 */
10532 fprintf(stderr, "Aborted");
10533 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1881);
10534 nit_exit(1);
10535 }
10536 /* ./parser//parser_prod.nit:1883 */
10537 goto label1;
10538 }
10539 fra.me.REG[3] = ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]);
10540 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
10541 /* ./parser//parser_prod.nit:1885 */
10542 if (UNTAG_Bool(REGB0)) {
10543 } else {
10544 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10545 if (UNTAG_Bool(REGB1)) {
10546 REGB1 = TAG_Bool(false);
10547 REGB0 = REGB1;
10548 } else {
10549 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
10550 REGB0 = REGB1;
10551 }
10552 }
10553 if (UNTAG_Bool(REGB0)) {
10554 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10555 /* ./parser//parser_prod.nit:1886 */
10556 if (UNTAG_Bool(REGB0)) {
10557 } else {
10558 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10559 if (UNTAG_Bool(REGB1)) {
10560 REGB1 = TAG_Bool(false);
10561 REGB0 = REGB1;
10562 } else {
10563 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
10564 REGB0 = REGB1;
10565 }
10566 }
10567 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10568 if (UNTAG_Bool(REGB0)) {
10569 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10570 /* ./parser//parser_prod.nit:1887 */
10571 if (UNTAG_Bool(REGB0)) {
10572 fprintf(stderr, "Reciever is null");
10573 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1887);
10574 nit_exit(1);
10575 }
10576 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
10577 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AMethid, ID_AMethid)) /*cast AMethid*/;
10578 /* ./parser//parser_prod.nit:1888 */
10579 if (UNTAG_Bool(REGB0)) {
10580 } else {
10581 fprintf(stderr, "Assert failed");
10582 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1888);
10583 nit_exit(1);
10584 }
10585 /* ./parser//parser_prod.nit:1889 */
10586 ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]) = fra.me.REG[2];
10587 } else {
10588 /* ./parser//parser_prod.nit:1891 */
10589 fprintf(stderr, "Aborted");
10590 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1891);
10591 nit_exit(1);
10592 }
10593 /* ./parser//parser_prod.nit:1893 */
10594 goto label1;
10595 }
10596 fra.me.REG[3] = ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]);
10597 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
10598 /* ./parser//parser_prod.nit:1895 */
10599 if (UNTAG_Bool(REGB0)) {
10600 } else {
10601 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10602 if (UNTAG_Bool(REGB1)) {
10603 REGB1 = TAG_Bool(false);
10604 REGB0 = REGB1;
10605 } else {
10606 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
10607 REGB0 = REGB1;
10608 }
10609 }
10610 if (UNTAG_Bool(REGB0)) {
10611 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10612 /* ./parser//parser_prod.nit:1896 */
10613 if (UNTAG_Bool(REGB0)) {
10614 } else {
10615 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10616 if (UNTAG_Bool(REGB1)) {
10617 REGB1 = TAG_Bool(false);
10618 REGB0 = REGB1;
10619 } else {
10620 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
10621 REGB0 = REGB1;
10622 }
10623 }
10624 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10625 if (UNTAG_Bool(REGB0)) {
10626 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10627 /* ./parser//parser_prod.nit:1897 */
10628 if (UNTAG_Bool(REGB0)) {
10629 fprintf(stderr, "Reciever is null");
10630 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1897);
10631 nit_exit(1);
10632 }
10633 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
10634 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast ASignature*/;
10635 /* ./parser//parser_prod.nit:1898 */
10636 if (UNTAG_Bool(REGB0)) {
10637 } else {
10638 fprintf(stderr, "Assert failed");
10639 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1898);
10640 nit_exit(1);
10641 }
10642 /* ./parser//parser_prod.nit:1899 */
10643 ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]) = fra.me.REG[2];
10644 } else {
10645 /* ./parser//parser_prod.nit:1901 */
10646 fprintf(stderr, "Aborted");
10647 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1901);
10648 nit_exit(1);
10649 }
10650 /* ./parser//parser_prod.nit:1903 */
10651 goto label1;
10652 }
10653 label1: while(0);
10654 stack_frame_head = fra.me.prev;
10655 return;
10656 }
10657 void parser_prod___AInternMethPropdef___visit_all(val_t p0, val_t p1){
10658 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
10659 val_t REGB0;
10660 val_t REGB1;
10661 val_t tmp;
10662 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10663 fra.me.file = LOCATE_parser_prod;
10664 fra.me.line = 1907;
10665 fra.me.meth = LOCATE_parser_prod___AInternMethPropdef___visit_all;
10666 fra.me.has_broke = 0;
10667 fra.me.REG_size = 3;
10668 fra.me.REG[0] = NIT_NULL;
10669 fra.me.REG[1] = NIT_NULL;
10670 fra.me.REG[2] = NIT_NULL;
10671 fra.me.REG[0] = p0;
10672 fra.me.REG[1] = p1;
10673 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
10674 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10675 /* ./parser//parser_prod.nit:1909 */
10676 if (UNTAG_Bool(REGB0)) {
10677 } else {
10678 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10679 if (UNTAG_Bool(REGB1)) {
10680 REGB1 = TAG_Bool(false);
10681 REGB0 = REGB1;
10682 } else {
10683 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
10684 REGB0 = REGB1;
10685 }
10686 }
10687 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10688 if (UNTAG_Bool(REGB0)) {
10689 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
10690 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
10691 /* ./parser//parser_prod.nit:1910 */
10692 if (UNTAG_Bool(REGB0)) {
10693 } else {
10694 fprintf(stderr, "Cast failed");
10695 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1910);
10696 nit_exit(1);
10697 }
10698 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
10699 }
10700 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
10701 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10702 /* ./parser//parser_prod.nit:1912 */
10703 if (UNTAG_Bool(REGB0)) {
10704 } else {
10705 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10706 if (UNTAG_Bool(REGB1)) {
10707 REGB1 = TAG_Bool(false);
10708 REGB0 = REGB1;
10709 } else {
10710 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
10711 REGB0 = REGB1;
10712 }
10713 }
10714 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10715 if (UNTAG_Bool(REGB0)) {
10716 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
10717 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10718 /* ./parser//parser_prod.nit:1913 */
10719 if (UNTAG_Bool(REGB0)) {
10720 } else {
10721 fprintf(stderr, "Cast failed");
10722 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1913);
10723 nit_exit(1);
10724 }
10725 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
10726 }
10727 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]);
10728 /* ./parser//parser_prod.nit:1915 */
10729 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
10730 REGB0 = TAG_Bool(ATTR_parser_nodes___AInternMethPropdef____n_kwmeth(fra.me.REG[0])!=NIT_NULL);
10731 /* ./parser//parser_prod.nit:1916 */
10732 if (UNTAG_Bool(REGB0)) {
10733 } else {
10734 fprintf(stderr, "Uninitialized attribute %s", "_n_kwmeth");
10735 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1916);
10736 nit_exit(1);
10737 }
10738 fra.me.REG[2] = ATTR_parser_nodes___AInternMethPropdef____n_kwmeth(fra.me.REG[0]);
10739 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
10740 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]);
10741 /* ./parser//parser_prod.nit:1917 */
10742 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
10743 fra.me.REG[0] = ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]);
10744 /* ./parser//parser_prod.nit:1918 */
10745 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
10746 stack_frame_head = fra.me.prev;
10747 return;
10748 }
10749 void parser_prod___AInternMethPropdef___visit_all_reverse(val_t p0, val_t p1){
10750 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
10751 val_t REGB0;
10752 val_t REGB1;
10753 val_t tmp;
10754 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10755 fra.me.file = LOCATE_parser_prod;
10756 fra.me.line = 1921;
10757 fra.me.meth = LOCATE_parser_prod___AInternMethPropdef___visit_all_reverse;
10758 fra.me.has_broke = 0;
10759 fra.me.REG_size = 3;
10760 fra.me.REG[0] = NIT_NULL;
10761 fra.me.REG[1] = NIT_NULL;
10762 fra.me.REG[2] = NIT_NULL;
10763 fra.me.REG[0] = p0;
10764 fra.me.REG[1] = p1;
10765 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
10766 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10767 /* ./parser//parser_prod.nit:1923 */
10768 if (UNTAG_Bool(REGB0)) {
10769 } else {
10770 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10771 if (UNTAG_Bool(REGB1)) {
10772 REGB1 = TAG_Bool(false);
10773 REGB0 = REGB1;
10774 } else {
10775 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
10776 REGB0 = REGB1;
10777 }
10778 }
10779 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10780 if (UNTAG_Bool(REGB0)) {
10781 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
10782 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
10783 /* ./parser//parser_prod.nit:1924 */
10784 if (UNTAG_Bool(REGB0)) {
10785 } else {
10786 fprintf(stderr, "Cast failed");
10787 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1924);
10788 nit_exit(1);
10789 }
10790 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
10791 }
10792 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
10793 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10794 /* ./parser//parser_prod.nit:1926 */
10795 if (UNTAG_Bool(REGB0)) {
10796 } else {
10797 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10798 if (UNTAG_Bool(REGB1)) {
10799 REGB1 = TAG_Bool(false);
10800 REGB0 = REGB1;
10801 } else {
10802 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
10803 REGB0 = REGB1;
10804 }
10805 }
10806 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10807 if (UNTAG_Bool(REGB0)) {
10808 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
10809 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
10810 /* ./parser//parser_prod.nit:1927 */
10811 if (UNTAG_Bool(REGB0)) {
10812 } else {
10813 fprintf(stderr, "Cast failed");
10814 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1927);
10815 nit_exit(1);
10816 }
10817 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
10818 }
10819 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]);
10820 /* ./parser//parser_prod.nit:1929 */
10821 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
10822 REGB0 = TAG_Bool(ATTR_parser_nodes___AInternMethPropdef____n_kwmeth(fra.me.REG[0])!=NIT_NULL);
10823 /* ./parser//parser_prod.nit:1930 */
10824 if (UNTAG_Bool(REGB0)) {
10825 } else {
10826 fprintf(stderr, "Uninitialized attribute %s", "_n_kwmeth");
10827 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1930);
10828 nit_exit(1);
10829 }
10830 fra.me.REG[2] = ATTR_parser_nodes___AInternMethPropdef____n_kwmeth(fra.me.REG[0]);
10831 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
10832 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]);
10833 /* ./parser//parser_prod.nit:1931 */
10834 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
10835 fra.me.REG[0] = ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]);
10836 /* ./parser//parser_prod.nit:1932 */
10837 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
10838 stack_frame_head = fra.me.prev;
10839 return;
10840 }
10841 void parser_prod___AInternMethPropdef___empty_init(val_t p0, int* init_table){
10842 int itpos41 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AInternMethPropdef].i;
10843 struct {struct stack_frame_t me;} fra;
10844 val_t tmp;
10845 if (init_table[itpos41]) return;
10846 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10847 fra.me.file = LOCATE_parser_prod;
10848 fra.me.line = 1813;
10849 fra.me.meth = LOCATE_parser_prod___AInternMethPropdef___empty_init;
10850 fra.me.has_broke = 0;
10851 fra.me.REG_size = 1;
10852 fra.me.REG[0] = NIT_NULL;
10853 fra.me.REG[0] = p0;
10854 /* ./parser//parser_prod.nit:1813 */
10855 stack_frame_head = fra.me.prev;
10856 init_table[itpos41] = 1;
10857 return;
10858 }
10859 void parser_prod___AInternMethPropdef___init_ainternmethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6, int* init_table){
10860 int itpos42 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AInternMethPropdef].i;
10861 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
10862 val_t REGB0;
10863 val_t REGB1;
10864 val_t tmp;
10865 if (init_table[itpos42]) return;
10866 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
10867 fra.me.file = LOCATE_parser_prod;
10868 fra.me.line = 1815;
10869 fra.me.meth = LOCATE_parser_prod___AInternMethPropdef___init_ainternmethpropdef;
10870 fra.me.has_broke = 0;
10871 fra.me.REG_size = 7;
10872 fra.me.REG[0] = NIT_NULL;
10873 fra.me.REG[1] = NIT_NULL;
10874 fra.me.REG[2] = NIT_NULL;
10875 fra.me.REG[3] = NIT_NULL;
10876 fra.me.REG[4] = NIT_NULL;
10877 fra.me.REG[5] = NIT_NULL;
10878 fra.me.REG[6] = NIT_NULL;
10879 fra.me.REG[0] = p0;
10880 fra.me.REG[1] = p1;
10881 fra.me.REG[2] = p2;
10882 fra.me.REG[3] = p3;
10883 fra.me.REG[4] = p4;
10884 fra.me.REG[5] = p5;
10885 fra.me.REG[6] = p6;
10886 /* ./parser//parser_prod.nit:1824 */
10887 CALL_parser_prod___AInternMethPropdef___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
10888 /* ./parser//parser_prod.nit:1825 */
10889 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = fra.me.REG[1];
10890 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
10891 /* ./parser//parser_prod.nit:1826 */
10892 if (UNTAG_Bool(REGB0)) {
10893 } else {
10894 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
10895 if (UNTAG_Bool(REGB1)) {
10896 REGB1 = TAG_Bool(false);
10897 REGB0 = REGB1;
10898 } else {
10899 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
10900 REGB0 = REGB1;
10901 }
10902 }
10903 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10904 if (UNTAG_Bool(REGB0)) {
10905 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
10906 /* ./parser//parser_prod.nit:1827 */
10907 if (UNTAG_Bool(REGB0)) {
10908 fprintf(stderr, "Reciever is null");
10909 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1827);
10910 nit_exit(1);
10911 }
10912 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
10913 }
10914 /* ./parser//parser_prod.nit:1829 */
10915 ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[2];
10916 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10917 /* ./parser//parser_prod.nit:1830 */
10918 if (UNTAG_Bool(REGB0)) {
10919 } else {
10920 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10921 if (UNTAG_Bool(REGB1)) {
10922 REGB1 = TAG_Bool(false);
10923 REGB0 = REGB1;
10924 } else {
10925 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
10926 REGB0 = REGB1;
10927 }
10928 }
10929 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
10930 if (UNTAG_Bool(REGB0)) {
10931 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
10932 /* ./parser//parser_prod.nit:1831 */
10933 if (UNTAG_Bool(REGB0)) {
10934 fprintf(stderr, "Reciever is null");
10935 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1831);
10936 nit_exit(1);
10937 }
10938 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
10939 }
10940 REGB0 = TAG_Bool(fra.me.REG[3]!=NIT_NULL);
10941 /* ./parser//parser_prod.nit:1833 */
10942 if (UNTAG_Bool(REGB0)) {
10943 } else {
10944 fprintf(stderr, "Cast failed");
10945 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1833);
10946 nit_exit(1);
10947 }
10948 ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]) = fra.me.REG[3];
10949 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
10950 /* ./parser//parser_prod.nit:1834 */
10951 if (UNTAG_Bool(REGB0)) {
10952 fprintf(stderr, "Reciever is null");
10953 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1834);
10954 nit_exit(1);
10955 }
10956 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
10957 REGB0 = TAG_Bool(fra.me.REG[4]!=NIT_NULL);
10958 /* ./parser//parser_prod.nit:1835 */
10959 if (UNTAG_Bool(REGB0)) {
10960 } else {
10961 fprintf(stderr, "Cast failed");
10962 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1835);
10963 nit_exit(1);
10964 }
10965 ATTR_parser_nodes___AInternMethPropdef____n_kwmeth(fra.me.REG[0]) = fra.me.REG[4];
10966 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
10967 /* ./parser//parser_prod.nit:1836 */
10968 if (UNTAG_Bool(REGB0)) {
10969 fprintf(stderr, "Reciever is null");
10970 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1836);
10971 nit_exit(1);
10972 }
10973 CALL_parser_prod___ANode___parent__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
10974 REGB0 = TAG_Bool(fra.me.REG[5]!=NIT_NULL);
10975 /* ./parser//parser_prod.nit:1837 */
10976 if (UNTAG_Bool(REGB0)) {
10977 } else {
10978 fprintf(stderr, "Cast failed");
10979 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1837);
10980 nit_exit(1);
10981 }
10982 ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]) = fra.me.REG[5];
10983 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
10984 /* ./parser//parser_prod.nit:1838 */
10985 if (UNTAG_Bool(REGB0)) {
10986 fprintf(stderr, "Reciever is null");
10987 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1838);
10988 nit_exit(1);
10989 }
10990 CALL_parser_prod___ANode___parent__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[0]);
10991 REGB0 = TAG_Bool(fra.me.REG[6]!=NIT_NULL);
10992 /* ./parser//parser_prod.nit:1839 */
10993 if (UNTAG_Bool(REGB0)) {
10994 } else {
10995 fprintf(stderr, "Cast failed");
10996 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1839);
10997 nit_exit(1);
10998 }
10999 ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]) = fra.me.REG[6];
11000 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
11001 /* ./parser//parser_prod.nit:1840 */
11002 if (UNTAG_Bool(REGB0)) {
11003 fprintf(stderr, "Reciever is null");
11004 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1840);
11005 nit_exit(1);
11006 }
11007 CALL_parser_prod___ANode___parent__eq(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[0]);
11008 stack_frame_head = fra.me.prev;
11009 init_table[itpos42] = 1;
11010 return;
11011 }
11012 void parser_prod___AExternMethPropdef___n_doc__eq(val_t p0, val_t p1){
11013 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
11014 val_t REGB0;
11015 val_t REGB1;
11016 val_t tmp;
11017 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11018 fra.me.file = LOCATE_parser_prod;
11019 fra.me.line = 1936;
11020 fra.me.meth = LOCATE_parser_prod___AExternMethPropdef___n_doc__eq;
11021 fra.me.has_broke = 0;
11022 fra.me.REG_size = 2;
11023 fra.me.REG[0] = NIT_NULL;
11024 fra.me.REG[1] = NIT_NULL;
11025 fra.me.REG[0] = p0;
11026 fra.me.REG[1] = p1;
11027 /* ./parser//parser_prod.nit:1938 */
11028 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = fra.me.REG[1];
11029 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
11030 /* ./parser//parser_prod.nit:1939 */
11031 if (UNTAG_Bool(REGB0)) {
11032 } else {
11033 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
11034 if (UNTAG_Bool(REGB1)) {
11035 REGB1 = TAG_Bool(false);
11036 REGB0 = REGB1;
11037 } else {
11038 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
11039 REGB0 = REGB1;
11040 }
11041 }
11042 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11043 if (UNTAG_Bool(REGB0)) {
11044 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
11045 /* ./parser//parser_prod.nit:1940 */
11046 if (UNTAG_Bool(REGB0)) {
11047 fprintf(stderr, "Reciever is null");
11048 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1940);
11049 nit_exit(1);
11050 }
11051 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
11052 }
11053 stack_frame_head = fra.me.prev;
11054 return;
11055 }
11056 void parser_prod___AExternMethPropdef___n_kwredef__eq(val_t p0, val_t p1){
11057 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
11058 val_t REGB0;
11059 val_t REGB1;
11060 val_t tmp;
11061 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11062 fra.me.file = LOCATE_parser_prod;
11063 fra.me.line = 1943;
11064 fra.me.meth = LOCATE_parser_prod___AExternMethPropdef___n_kwredef__eq;
11065 fra.me.has_broke = 0;
11066 fra.me.REG_size = 2;
11067 fra.me.REG[0] = NIT_NULL;
11068 fra.me.REG[1] = NIT_NULL;
11069 fra.me.REG[0] = p0;
11070 fra.me.REG[1] = p1;
11071 /* ./parser//parser_prod.nit:1945 */
11072 ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[1];
11073 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
11074 /* ./parser//parser_prod.nit:1946 */
11075 if (UNTAG_Bool(REGB0)) {
11076 } else {
11077 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
11078 if (UNTAG_Bool(REGB1)) {
11079 REGB1 = TAG_Bool(false);
11080 REGB0 = REGB1;
11081 } else {
11082 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
11083 REGB0 = REGB1;
11084 }
11085 }
11086 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11087 if (UNTAG_Bool(REGB0)) {
11088 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
11089 /* ./parser//parser_prod.nit:1947 */
11090 if (UNTAG_Bool(REGB0)) {
11091 fprintf(stderr, "Reciever is null");
11092 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1947);
11093 nit_exit(1);
11094 }
11095 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
11096 }
11097 stack_frame_head = fra.me.prev;
11098 return;
11099 }
11100 void parser_prod___AExternMethPropdef___n_visibility__eq(val_t p0, val_t p1){
11101 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
11102 val_t REGB0;
11103 val_t tmp;
11104 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11105 fra.me.file = LOCATE_parser_prod;
11106 fra.me.line = 1950;
11107 fra.me.meth = LOCATE_parser_prod___AExternMethPropdef___n_visibility__eq;
11108 fra.me.has_broke = 0;
11109 fra.me.REG_size = 2;
11110 fra.me.REG[0] = NIT_NULL;
11111 fra.me.REG[1] = NIT_NULL;
11112 fra.me.REG[0] = p0;
11113 fra.me.REG[1] = p1;
11114 /* ./parser//parser_prod.nit:1952 */
11115 ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]) = fra.me.REG[1];
11116 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
11117 /* ./parser//parser_prod.nit:1953 */
11118 if (UNTAG_Bool(REGB0)) {
11119 fprintf(stderr, "Reciever is null");
11120 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1953);
11121 nit_exit(1);
11122 }
11123 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
11124 stack_frame_head = fra.me.prev;
11125 return;
11126 }
11127 void parser_prod___AExternMethPropdef___n_methid__eq(val_t p0, val_t p1){
11128 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
11129 val_t REGB0;
11130 val_t tmp;
11131 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11132 fra.me.file = LOCATE_parser_prod;
11133 fra.me.line = 1960;
11134 fra.me.meth = LOCATE_parser_prod___AExternMethPropdef___n_methid__eq;
11135 fra.me.has_broke = 0;
11136 fra.me.REG_size = 2;
11137 fra.me.REG[0] = NIT_NULL;
11138 fra.me.REG[1] = NIT_NULL;
11139 fra.me.REG[0] = p0;
11140 fra.me.REG[1] = p1;
11141 /* ./parser//parser_prod.nit:1962 */
11142 ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]) = fra.me.REG[1];
11143 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
11144 /* ./parser//parser_prod.nit:1963 */
11145 if (UNTAG_Bool(REGB0)) {
11146 fprintf(stderr, "Reciever is null");
11147 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1963);
11148 nit_exit(1);
11149 }
11150 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
11151 stack_frame_head = fra.me.prev;
11152 return;
11153 }
11154 void parser_prod___AExternMethPropdef___n_signature__eq(val_t p0, val_t p1){
11155 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
11156 val_t REGB0;
11157 val_t tmp;
11158 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11159 fra.me.file = LOCATE_parser_prod;
11160 fra.me.line = 1965;
11161 fra.me.meth = LOCATE_parser_prod___AExternMethPropdef___n_signature__eq;
11162 fra.me.has_broke = 0;
11163 fra.me.REG_size = 2;
11164 fra.me.REG[0] = NIT_NULL;
11165 fra.me.REG[1] = NIT_NULL;
11166 fra.me.REG[0] = p0;
11167 fra.me.REG[1] = p1;
11168 /* ./parser//parser_prod.nit:1967 */
11169 ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]) = fra.me.REG[1];
11170 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
11171 /* ./parser//parser_prod.nit:1968 */
11172 if (UNTAG_Bool(REGB0)) {
11173 fprintf(stderr, "Reciever is null");
11174 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1968);
11175 nit_exit(1);
11176 }
11177 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
11178 stack_frame_head = fra.me.prev;
11179 return;
11180 }
11181 void parser_prod___AExternMethPropdef___n_kwmeth__eq(val_t p0, val_t p1){
11182 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
11183 val_t tmp;
11184 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11185 fra.me.file = LOCATE_parser_prod;
11186 fra.me.line = 1955;
11187 fra.me.meth = LOCATE_parser_prod___AExternMethPropdef___n_kwmeth__eq;
11188 fra.me.has_broke = 0;
11189 fra.me.REG_size = 2;
11190 fra.me.REG[0] = NIT_NULL;
11191 fra.me.REG[1] = NIT_NULL;
11192 fra.me.REG[0] = p0;
11193 fra.me.REG[1] = p1;
11194 /* ./parser//parser_prod.nit:1957 */
11195 ATTR_parser_nodes___AExternMethPropdef____n_kwmeth(fra.me.REG[0]) = fra.me.REG[1];
11196 /* ./parser//parser_prod.nit:1958 */
11197 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
11198 stack_frame_head = fra.me.prev;
11199 return;
11200 }
11201 void parser_prod___AExternMethPropdef___n_extern__eq(val_t p0, val_t p1){
11202 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
11203 val_t REGB0;
11204 val_t REGB1;
11205 val_t tmp;
11206 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11207 fra.me.file = LOCATE_parser_prod;
11208 fra.me.line = 1970;
11209 fra.me.meth = LOCATE_parser_prod___AExternMethPropdef___n_extern__eq;
11210 fra.me.has_broke = 0;
11211 fra.me.REG_size = 2;
11212 fra.me.REG[0] = NIT_NULL;
11213 fra.me.REG[1] = NIT_NULL;
11214 fra.me.REG[0] = p0;
11215 fra.me.REG[1] = p1;
11216 /* ./parser//parser_prod.nit:1972 */
11217 ATTR_parser_nodes___AExternMethPropdef____n_extern(fra.me.REG[0]) = fra.me.REG[1];
11218 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
11219 /* ./parser//parser_prod.nit:1973 */
11220 if (UNTAG_Bool(REGB0)) {
11221 } else {
11222 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
11223 if (UNTAG_Bool(REGB1)) {
11224 REGB1 = TAG_Bool(false);
11225 REGB0 = REGB1;
11226 } else {
11227 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
11228 REGB0 = REGB1;
11229 }
11230 }
11231 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11232 if (UNTAG_Bool(REGB0)) {
11233 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
11234 /* ./parser//parser_prod.nit:1974 */
11235 if (UNTAG_Bool(REGB0)) {
11236 fprintf(stderr, "Reciever is null");
11237 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1974);
11238 nit_exit(1);
11239 }
11240 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
11241 }
11242 stack_frame_head = fra.me.prev;
11243 return;
11244 }
11245 void parser_prod___AExternMethPropdef___replace_child(val_t p0, val_t p1, val_t p2){
11246 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
11247 val_t REGB0;
11248 val_t REGB1;
11249 val_t tmp;
11250 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11251 fra.me.file = LOCATE_parser_prod;
11252 fra.me.line = 2013;
11253 fra.me.meth = LOCATE_parser_prod___AExternMethPropdef___replace_child;
11254 fra.me.has_broke = 0;
11255 fra.me.REG_size = 4;
11256 fra.me.REG[0] = NIT_NULL;
11257 fra.me.REG[1] = NIT_NULL;
11258 fra.me.REG[2] = NIT_NULL;
11259 fra.me.REG[3] = NIT_NULL;
11260 fra.me.REG[0] = p0;
11261 fra.me.REG[1] = p1;
11262 fra.me.REG[2] = p2;
11263 fra.me.REG[3] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
11264 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
11265 /* ./parser//parser_prod.nit:2015 */
11266 if (UNTAG_Bool(REGB0)) {
11267 } else {
11268 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11269 if (UNTAG_Bool(REGB1)) {
11270 REGB1 = TAG_Bool(false);
11271 REGB0 = REGB1;
11272 } else {
11273 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
11274 REGB0 = REGB1;
11275 }
11276 }
11277 if (UNTAG_Bool(REGB0)) {
11278 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11279 /* ./parser//parser_prod.nit:2016 */
11280 if (UNTAG_Bool(REGB0)) {
11281 } else {
11282 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11283 if (UNTAG_Bool(REGB1)) {
11284 REGB1 = TAG_Bool(false);
11285 REGB0 = REGB1;
11286 } else {
11287 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
11288 REGB0 = REGB1;
11289 }
11290 }
11291 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11292 if (UNTAG_Bool(REGB0)) {
11293 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11294 /* ./parser//parser_prod.nit:2017 */
11295 if (UNTAG_Bool(REGB0)) {
11296 fprintf(stderr, "Reciever is null");
11297 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2017);
11298 nit_exit(1);
11299 }
11300 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
11301 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
11302 /* ./parser//parser_prod.nit:2018 */
11303 if (UNTAG_Bool(REGB0)) {
11304 } else {
11305 fprintf(stderr, "Assert failed");
11306 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2018);
11307 nit_exit(1);
11308 }
11309 /* ./parser//parser_prod.nit:2019 */
11310 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = fra.me.REG[2];
11311 } else {
11312 /* ./parser//parser_prod.nit:2021 */
11313 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = NIT_NULL;
11314 }
11315 /* ./parser//parser_prod.nit:2023 */
11316 goto label1;
11317 }
11318 fra.me.REG[3] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
11319 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
11320 /* ./parser//parser_prod.nit:2025 */
11321 if (UNTAG_Bool(REGB0)) {
11322 } else {
11323 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11324 if (UNTAG_Bool(REGB1)) {
11325 REGB1 = TAG_Bool(false);
11326 REGB0 = REGB1;
11327 } else {
11328 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
11329 REGB0 = REGB1;
11330 }
11331 }
11332 if (UNTAG_Bool(REGB0)) {
11333 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11334 /* ./parser//parser_prod.nit:2026 */
11335 if (UNTAG_Bool(REGB0)) {
11336 } else {
11337 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11338 if (UNTAG_Bool(REGB1)) {
11339 REGB1 = TAG_Bool(false);
11340 REGB0 = REGB1;
11341 } else {
11342 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
11343 REGB0 = REGB1;
11344 }
11345 }
11346 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11347 if (UNTAG_Bool(REGB0)) {
11348 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11349 /* ./parser//parser_prod.nit:2027 */
11350 if (UNTAG_Bool(REGB0)) {
11351 fprintf(stderr, "Reciever is null");
11352 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2027);
11353 nit_exit(1);
11354 }
11355 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
11356 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11357 /* ./parser//parser_prod.nit:2028 */
11358 if (UNTAG_Bool(REGB0)) {
11359 } else {
11360 fprintf(stderr, "Assert failed");
11361 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2028);
11362 nit_exit(1);
11363 }
11364 /* ./parser//parser_prod.nit:2029 */
11365 ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[2];
11366 } else {
11367 /* ./parser//parser_prod.nit:2031 */
11368 ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]) = NIT_NULL;
11369 }
11370 /* ./parser//parser_prod.nit:2033 */
11371 goto label1;
11372 }
11373 fra.me.REG[3] = ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]);
11374 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
11375 /* ./parser//parser_prod.nit:2035 */
11376 if (UNTAG_Bool(REGB0)) {
11377 } else {
11378 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11379 if (UNTAG_Bool(REGB1)) {
11380 REGB1 = TAG_Bool(false);
11381 REGB0 = REGB1;
11382 } else {
11383 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
11384 REGB0 = REGB1;
11385 }
11386 }
11387 if (UNTAG_Bool(REGB0)) {
11388 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11389 /* ./parser//parser_prod.nit:2036 */
11390 if (UNTAG_Bool(REGB0)) {
11391 } else {
11392 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11393 if (UNTAG_Bool(REGB1)) {
11394 REGB1 = TAG_Bool(false);
11395 REGB0 = REGB1;
11396 } else {
11397 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
11398 REGB0 = REGB1;
11399 }
11400 }
11401 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11402 if (UNTAG_Bool(REGB0)) {
11403 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11404 /* ./parser//parser_prod.nit:2037 */
11405 if (UNTAG_Bool(REGB0)) {
11406 fprintf(stderr, "Reciever is null");
11407 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2037);
11408 nit_exit(1);
11409 }
11410 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
11411 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AVisibility, ID_AVisibility)) /*cast AVisibility*/;
11412 /* ./parser//parser_prod.nit:2038 */
11413 if (UNTAG_Bool(REGB0)) {
11414 } else {
11415 fprintf(stderr, "Assert failed");
11416 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2038);
11417 nit_exit(1);
11418 }
11419 /* ./parser//parser_prod.nit:2039 */
11420 ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]) = fra.me.REG[2];
11421 } else {
11422 /* ./parser//parser_prod.nit:2041 */
11423 fprintf(stderr, "Aborted");
11424 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2041);
11425 nit_exit(1);
11426 }
11427 /* ./parser//parser_prod.nit:2043 */
11428 goto label1;
11429 }
11430 REGB0 = TAG_Bool(ATTR_parser_nodes___AExternMethPropdef____n_kwmeth(fra.me.REG[0])!=NIT_NULL);
11431 /* ./parser//parser_prod.nit:2045 */
11432 if (UNTAG_Bool(REGB0)) {
11433 } else {
11434 fprintf(stderr, "Uninitialized attribute %s", "_n_kwmeth");
11435 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2045);
11436 nit_exit(1);
11437 }
11438 fra.me.REG[3] = ATTR_parser_nodes___AExternMethPropdef____n_kwmeth(fra.me.REG[0]);
11439 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
11440 if (UNTAG_Bool(REGB0)) {
11441 } else {
11442 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
11443 REGB0 = REGB1;
11444 }
11445 if (UNTAG_Bool(REGB0)) {
11446 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11447 /* ./parser//parser_prod.nit:2046 */
11448 if (UNTAG_Bool(REGB0)) {
11449 } else {
11450 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11451 if (UNTAG_Bool(REGB1)) {
11452 REGB1 = TAG_Bool(false);
11453 REGB0 = REGB1;
11454 } else {
11455 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
11456 REGB0 = REGB1;
11457 }
11458 }
11459 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11460 if (UNTAG_Bool(REGB0)) {
11461 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11462 /* ./parser//parser_prod.nit:2047 */
11463 if (UNTAG_Bool(REGB0)) {
11464 fprintf(stderr, "Reciever is null");
11465 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2047);
11466 nit_exit(1);
11467 }
11468 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
11469 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
11470 /* ./parser//parser_prod.nit:2048 */
11471 if (UNTAG_Bool(REGB0)) {
11472 } else {
11473 fprintf(stderr, "Assert failed");
11474 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2048);
11475 nit_exit(1);
11476 }
11477 /* ./parser//parser_prod.nit:2049 */
11478 ATTR_parser_nodes___AExternMethPropdef____n_kwmeth(fra.me.REG[0]) = fra.me.REG[2];
11479 } else {
11480 /* ./parser//parser_prod.nit:2051 */
11481 fprintf(stderr, "Aborted");
11482 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2051);
11483 nit_exit(1);
11484 }
11485 /* ./parser//parser_prod.nit:2053 */
11486 goto label1;
11487 }
11488 fra.me.REG[3] = ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]);
11489 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
11490 /* ./parser//parser_prod.nit:2055 */
11491 if (UNTAG_Bool(REGB0)) {
11492 } else {
11493 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11494 if (UNTAG_Bool(REGB1)) {
11495 REGB1 = TAG_Bool(false);
11496 REGB0 = REGB1;
11497 } else {
11498 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
11499 REGB0 = REGB1;
11500 }
11501 }
11502 if (UNTAG_Bool(REGB0)) {
11503 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11504 /* ./parser//parser_prod.nit:2056 */
11505 if (UNTAG_Bool(REGB0)) {
11506 } else {
11507 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11508 if (UNTAG_Bool(REGB1)) {
11509 REGB1 = TAG_Bool(false);
11510 REGB0 = REGB1;
11511 } else {
11512 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
11513 REGB0 = REGB1;
11514 }
11515 }
11516 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11517 if (UNTAG_Bool(REGB0)) {
11518 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11519 /* ./parser//parser_prod.nit:2057 */
11520 if (UNTAG_Bool(REGB0)) {
11521 fprintf(stderr, "Reciever is null");
11522 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2057);
11523 nit_exit(1);
11524 }
11525 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
11526 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AMethid, ID_AMethid)) /*cast AMethid*/;
11527 /* ./parser//parser_prod.nit:2058 */
11528 if (UNTAG_Bool(REGB0)) {
11529 } else {
11530 fprintf(stderr, "Assert failed");
11531 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2058);
11532 nit_exit(1);
11533 }
11534 /* ./parser//parser_prod.nit:2059 */
11535 ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]) = fra.me.REG[2];
11536 } else {
11537 /* ./parser//parser_prod.nit:2061 */
11538 fprintf(stderr, "Aborted");
11539 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2061);
11540 nit_exit(1);
11541 }
11542 /* ./parser//parser_prod.nit:2063 */
11543 goto label1;
11544 }
11545 fra.me.REG[3] = ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]);
11546 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
11547 /* ./parser//parser_prod.nit:2065 */
11548 if (UNTAG_Bool(REGB0)) {
11549 } else {
11550 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11551 if (UNTAG_Bool(REGB1)) {
11552 REGB1 = TAG_Bool(false);
11553 REGB0 = REGB1;
11554 } else {
11555 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
11556 REGB0 = REGB1;
11557 }
11558 }
11559 if (UNTAG_Bool(REGB0)) {
11560 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11561 /* ./parser//parser_prod.nit:2066 */
11562 if (UNTAG_Bool(REGB0)) {
11563 } else {
11564 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11565 if (UNTAG_Bool(REGB1)) {
11566 REGB1 = TAG_Bool(false);
11567 REGB0 = REGB1;
11568 } else {
11569 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
11570 REGB0 = REGB1;
11571 }
11572 }
11573 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11574 if (UNTAG_Bool(REGB0)) {
11575 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11576 /* ./parser//parser_prod.nit:2067 */
11577 if (UNTAG_Bool(REGB0)) {
11578 fprintf(stderr, "Reciever is null");
11579 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2067);
11580 nit_exit(1);
11581 }
11582 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
11583 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast ASignature*/;
11584 /* ./parser//parser_prod.nit:2068 */
11585 if (UNTAG_Bool(REGB0)) {
11586 } else {
11587 fprintf(stderr, "Assert failed");
11588 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2068);
11589 nit_exit(1);
11590 }
11591 /* ./parser//parser_prod.nit:2069 */
11592 ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]) = fra.me.REG[2];
11593 } else {
11594 /* ./parser//parser_prod.nit:2071 */
11595 fprintf(stderr, "Aborted");
11596 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2071);
11597 nit_exit(1);
11598 }
11599 /* ./parser//parser_prod.nit:2073 */
11600 goto label1;
11601 }
11602 fra.me.REG[3] = ATTR_parser_nodes___AExternMethPropdef____n_extern(fra.me.REG[0]);
11603 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
11604 /* ./parser//parser_prod.nit:2075 */
11605 if (UNTAG_Bool(REGB0)) {
11606 } else {
11607 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
11608 if (UNTAG_Bool(REGB1)) {
11609 REGB1 = TAG_Bool(false);
11610 REGB0 = REGB1;
11611 } else {
11612 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
11613 REGB0 = REGB1;
11614 }
11615 }
11616 if (UNTAG_Bool(REGB0)) {
11617 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11618 /* ./parser//parser_prod.nit:2076 */
11619 if (UNTAG_Bool(REGB0)) {
11620 } else {
11621 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11622 if (UNTAG_Bool(REGB1)) {
11623 REGB1 = TAG_Bool(false);
11624 REGB0 = REGB1;
11625 } else {
11626 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
11627 REGB0 = REGB1;
11628 }
11629 }
11630 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11631 if (UNTAG_Bool(REGB0)) {
11632 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11633 /* ./parser//parser_prod.nit:2077 */
11634 if (UNTAG_Bool(REGB0)) {
11635 fprintf(stderr, "Reciever is null");
11636 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2077);
11637 nit_exit(1);
11638 }
11639 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
11640 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast TString*/;
11641 /* ./parser//parser_prod.nit:2078 */
11642 if (UNTAG_Bool(REGB0)) {
11643 } else {
11644 fprintf(stderr, "Assert failed");
11645 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2078);
11646 nit_exit(1);
11647 }
11648 /* ./parser//parser_prod.nit:2079 */
11649 ATTR_parser_nodes___AExternMethPropdef____n_extern(fra.me.REG[0]) = fra.me.REG[2];
11650 } else {
11651 /* ./parser//parser_prod.nit:2081 */
11652 ATTR_parser_nodes___AExternMethPropdef____n_extern(fra.me.REG[0]) = NIT_NULL;
11653 }
11654 /* ./parser//parser_prod.nit:2083 */
11655 goto label1;
11656 }
11657 label1: while(0);
11658 stack_frame_head = fra.me.prev;
11659 return;
11660 }
11661 void parser_prod___AExternMethPropdef___visit_all(val_t p0, val_t p1){
11662 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
11663 val_t REGB0;
11664 val_t REGB1;
11665 val_t tmp;
11666 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11667 fra.me.file = LOCATE_parser_prod;
11668 fra.me.line = 2087;
11669 fra.me.meth = LOCATE_parser_prod___AExternMethPropdef___visit_all;
11670 fra.me.has_broke = 0;
11671 fra.me.REG_size = 3;
11672 fra.me.REG[0] = NIT_NULL;
11673 fra.me.REG[1] = NIT_NULL;
11674 fra.me.REG[2] = NIT_NULL;
11675 fra.me.REG[0] = p0;
11676 fra.me.REG[1] = p1;
11677 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
11678 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11679 /* ./parser//parser_prod.nit:2089 */
11680 if (UNTAG_Bool(REGB0)) {
11681 } else {
11682 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11683 if (UNTAG_Bool(REGB1)) {
11684 REGB1 = TAG_Bool(false);
11685 REGB0 = REGB1;
11686 } else {
11687 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
11688 REGB0 = REGB1;
11689 }
11690 }
11691 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11692 if (UNTAG_Bool(REGB0)) {
11693 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
11694 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
11695 /* ./parser//parser_prod.nit:2090 */
11696 if (UNTAG_Bool(REGB0)) {
11697 } else {
11698 fprintf(stderr, "Cast failed");
11699 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2090);
11700 nit_exit(1);
11701 }
11702 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
11703 }
11704 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
11705 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11706 /* ./parser//parser_prod.nit:2092 */
11707 if (UNTAG_Bool(REGB0)) {
11708 } else {
11709 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11710 if (UNTAG_Bool(REGB1)) {
11711 REGB1 = TAG_Bool(false);
11712 REGB0 = REGB1;
11713 } else {
11714 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
11715 REGB0 = REGB1;
11716 }
11717 }
11718 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11719 if (UNTAG_Bool(REGB0)) {
11720 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
11721 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11722 /* ./parser//parser_prod.nit:2093 */
11723 if (UNTAG_Bool(REGB0)) {
11724 } else {
11725 fprintf(stderr, "Cast failed");
11726 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2093);
11727 nit_exit(1);
11728 }
11729 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
11730 }
11731 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]);
11732 /* ./parser//parser_prod.nit:2095 */
11733 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
11734 REGB0 = TAG_Bool(ATTR_parser_nodes___AExternMethPropdef____n_kwmeth(fra.me.REG[0])!=NIT_NULL);
11735 /* ./parser//parser_prod.nit:2096 */
11736 if (UNTAG_Bool(REGB0)) {
11737 } else {
11738 fprintf(stderr, "Uninitialized attribute %s", "_n_kwmeth");
11739 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2096);
11740 nit_exit(1);
11741 }
11742 fra.me.REG[2] = ATTR_parser_nodes___AExternMethPropdef____n_kwmeth(fra.me.REG[0]);
11743 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
11744 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]);
11745 /* ./parser//parser_prod.nit:2097 */
11746 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
11747 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]);
11748 /* ./parser//parser_prod.nit:2098 */
11749 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
11750 fra.me.REG[2] = ATTR_parser_nodes___AExternMethPropdef____n_extern(fra.me.REG[0]);
11751 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11752 /* ./parser//parser_prod.nit:2099 */
11753 if (UNTAG_Bool(REGB0)) {
11754 } else {
11755 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11756 if (UNTAG_Bool(REGB1)) {
11757 REGB1 = TAG_Bool(false);
11758 REGB0 = REGB1;
11759 } else {
11760 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
11761 REGB0 = REGB1;
11762 }
11763 }
11764 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11765 if (UNTAG_Bool(REGB0)) {
11766 fra.me.REG[0] = ATTR_parser_nodes___AExternMethPropdef____n_extern(fra.me.REG[0]);
11767 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_TString, ID_TString)) /*cast TString*/;
11768 /* ./parser//parser_prod.nit:2100 */
11769 if (UNTAG_Bool(REGB0)) {
11770 } else {
11771 fprintf(stderr, "Cast failed");
11772 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2100);
11773 nit_exit(1);
11774 }
11775 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
11776 }
11777 stack_frame_head = fra.me.prev;
11778 return;
11779 }
11780 void parser_prod___AExternMethPropdef___visit_all_reverse(val_t p0, val_t p1){
11781 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
11782 val_t REGB0;
11783 val_t REGB1;
11784 val_t tmp;
11785 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11786 fra.me.file = LOCATE_parser_prod;
11787 fra.me.line = 2104;
11788 fra.me.meth = LOCATE_parser_prod___AExternMethPropdef___visit_all_reverse;
11789 fra.me.has_broke = 0;
11790 fra.me.REG_size = 3;
11791 fra.me.REG[0] = NIT_NULL;
11792 fra.me.REG[1] = NIT_NULL;
11793 fra.me.REG[2] = NIT_NULL;
11794 fra.me.REG[0] = p0;
11795 fra.me.REG[1] = p1;
11796 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
11797 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11798 /* ./parser//parser_prod.nit:2106 */
11799 if (UNTAG_Bool(REGB0)) {
11800 } else {
11801 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11802 if (UNTAG_Bool(REGB1)) {
11803 REGB1 = TAG_Bool(false);
11804 REGB0 = REGB1;
11805 } else {
11806 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
11807 REGB0 = REGB1;
11808 }
11809 }
11810 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11811 if (UNTAG_Bool(REGB0)) {
11812 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
11813 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
11814 /* ./parser//parser_prod.nit:2107 */
11815 if (UNTAG_Bool(REGB0)) {
11816 } else {
11817 fprintf(stderr, "Cast failed");
11818 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2107);
11819 nit_exit(1);
11820 }
11821 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
11822 }
11823 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
11824 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11825 /* ./parser//parser_prod.nit:2109 */
11826 if (UNTAG_Bool(REGB0)) {
11827 } else {
11828 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11829 if (UNTAG_Bool(REGB1)) {
11830 REGB1 = TAG_Bool(false);
11831 REGB0 = REGB1;
11832 } else {
11833 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
11834 REGB0 = REGB1;
11835 }
11836 }
11837 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11838 if (UNTAG_Bool(REGB0)) {
11839 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
11840 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
11841 /* ./parser//parser_prod.nit:2110 */
11842 if (UNTAG_Bool(REGB0)) {
11843 } else {
11844 fprintf(stderr, "Cast failed");
11845 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2110);
11846 nit_exit(1);
11847 }
11848 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
11849 }
11850 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]);
11851 /* ./parser//parser_prod.nit:2112 */
11852 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
11853 REGB0 = TAG_Bool(ATTR_parser_nodes___AExternMethPropdef____n_kwmeth(fra.me.REG[0])!=NIT_NULL);
11854 /* ./parser//parser_prod.nit:2113 */
11855 if (UNTAG_Bool(REGB0)) {
11856 } else {
11857 fprintf(stderr, "Uninitialized attribute %s", "_n_kwmeth");
11858 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2113);
11859 nit_exit(1);
11860 }
11861 fra.me.REG[2] = ATTR_parser_nodes___AExternMethPropdef____n_kwmeth(fra.me.REG[0]);
11862 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
11863 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]);
11864 /* ./parser//parser_prod.nit:2114 */
11865 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
11866 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]);
11867 /* ./parser//parser_prod.nit:2115 */
11868 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
11869 fra.me.REG[2] = ATTR_parser_nodes___AExternMethPropdef____n_extern(fra.me.REG[0]);
11870 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11871 /* ./parser//parser_prod.nit:2116 */
11872 if (UNTAG_Bool(REGB0)) {
11873 } else {
11874 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11875 if (UNTAG_Bool(REGB1)) {
11876 REGB1 = TAG_Bool(false);
11877 REGB0 = REGB1;
11878 } else {
11879 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
11880 REGB0 = REGB1;
11881 }
11882 }
11883 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11884 if (UNTAG_Bool(REGB0)) {
11885 fra.me.REG[0] = ATTR_parser_nodes___AExternMethPropdef____n_extern(fra.me.REG[0]);
11886 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_TString, ID_TString)) /*cast TString*/;
11887 /* ./parser//parser_prod.nit:2117 */
11888 if (UNTAG_Bool(REGB0)) {
11889 } else {
11890 fprintf(stderr, "Cast failed");
11891 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2117);
11892 nit_exit(1);
11893 }
11894 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
11895 }
11896 stack_frame_head = fra.me.prev;
11897 return;
11898 }
11899 void parser_prod___AExternMethPropdef___empty_init(val_t p0, int* init_table){
11900 int itpos43 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AExternMethPropdef].i;
11901 struct {struct stack_frame_t me;} fra;
11902 val_t tmp;
11903 if (init_table[itpos43]) return;
11904 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11905 fra.me.file = LOCATE_parser_prod;
11906 fra.me.line = 1978;
11907 fra.me.meth = LOCATE_parser_prod___AExternMethPropdef___empty_init;
11908 fra.me.has_broke = 0;
11909 fra.me.REG_size = 1;
11910 fra.me.REG[0] = NIT_NULL;
11911 fra.me.REG[0] = p0;
11912 /* ./parser//parser_prod.nit:1978 */
11913 stack_frame_head = fra.me.prev;
11914 init_table[itpos43] = 1;
11915 return;
11916 }
11917 void parser_prod___AExternMethPropdef___init_aexternmethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6, val_t p7, int* init_table){
11918 int itpos44 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AExternMethPropdef].i;
11919 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
11920 val_t REGB0;
11921 val_t REGB1;
11922 val_t tmp;
11923 if (init_table[itpos44]) return;
11924 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
11925 fra.me.file = LOCATE_parser_prod;
11926 fra.me.line = 1980;
11927 fra.me.meth = LOCATE_parser_prod___AExternMethPropdef___init_aexternmethpropdef;
11928 fra.me.has_broke = 0;
11929 fra.me.REG_size = 8;
11930 fra.me.REG[0] = NIT_NULL;
11931 fra.me.REG[1] = NIT_NULL;
11932 fra.me.REG[2] = NIT_NULL;
11933 fra.me.REG[3] = NIT_NULL;
11934 fra.me.REG[4] = NIT_NULL;
11935 fra.me.REG[5] = NIT_NULL;
11936 fra.me.REG[6] = NIT_NULL;
11937 fra.me.REG[7] = NIT_NULL;
11938 fra.me.REG[0] = p0;
11939 fra.me.REG[1] = p1;
11940 fra.me.REG[2] = p2;
11941 fra.me.REG[3] = p3;
11942 fra.me.REG[4] = p4;
11943 fra.me.REG[5] = p5;
11944 fra.me.REG[6] = p6;
11945 fra.me.REG[7] = p7;
11946 /* ./parser//parser_prod.nit:1990 */
11947 CALL_parser_prod___AExternMethPropdef___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
11948 /* ./parser//parser_prod.nit:1991 */
11949 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = fra.me.REG[1];
11950 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
11951 /* ./parser//parser_prod.nit:1992 */
11952 if (UNTAG_Bool(REGB0)) {
11953 } else {
11954 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
11955 if (UNTAG_Bool(REGB1)) {
11956 REGB1 = TAG_Bool(false);
11957 REGB0 = REGB1;
11958 } else {
11959 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
11960 REGB0 = REGB1;
11961 }
11962 }
11963 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11964 if (UNTAG_Bool(REGB0)) {
11965 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
11966 /* ./parser//parser_prod.nit:1993 */
11967 if (UNTAG_Bool(REGB0)) {
11968 fprintf(stderr, "Reciever is null");
11969 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1993);
11970 nit_exit(1);
11971 }
11972 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
11973 }
11974 /* ./parser//parser_prod.nit:1995 */
11975 ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[2];
11976 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11977 /* ./parser//parser_prod.nit:1996 */
11978 if (UNTAG_Bool(REGB0)) {
11979 } else {
11980 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11981 if (UNTAG_Bool(REGB1)) {
11982 REGB1 = TAG_Bool(false);
11983 REGB0 = REGB1;
11984 } else {
11985 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
11986 REGB0 = REGB1;
11987 }
11988 }
11989 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
11990 if (UNTAG_Bool(REGB0)) {
11991 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
11992 /* ./parser//parser_prod.nit:1997 */
11993 if (UNTAG_Bool(REGB0)) {
11994 fprintf(stderr, "Reciever is null");
11995 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1997);
11996 nit_exit(1);
11997 }
11998 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
11999 }
12000 REGB0 = TAG_Bool(fra.me.REG[3]!=NIT_NULL);
12001 /* ./parser//parser_prod.nit:1999 */
12002 if (UNTAG_Bool(REGB0)) {
12003 } else {
12004 fprintf(stderr, "Cast failed");
12005 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 1999);
12006 nit_exit(1);
12007 }
12008 ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]) = fra.me.REG[3];
12009 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12010 /* ./parser//parser_prod.nit:2000 */
12011 if (UNTAG_Bool(REGB0)) {
12012 fprintf(stderr, "Reciever is null");
12013 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2000);
12014 nit_exit(1);
12015 }
12016 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
12017 REGB0 = TAG_Bool(fra.me.REG[4]!=NIT_NULL);
12018 /* ./parser//parser_prod.nit:2001 */
12019 if (UNTAG_Bool(REGB0)) {
12020 } else {
12021 fprintf(stderr, "Cast failed");
12022 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2001);
12023 nit_exit(1);
12024 }
12025 ATTR_parser_nodes___AExternMethPropdef____n_kwmeth(fra.me.REG[0]) = fra.me.REG[4];
12026 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
12027 /* ./parser//parser_prod.nit:2002 */
12028 if (UNTAG_Bool(REGB0)) {
12029 fprintf(stderr, "Reciever is null");
12030 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2002);
12031 nit_exit(1);
12032 }
12033 CALL_parser_prod___ANode___parent__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
12034 REGB0 = TAG_Bool(fra.me.REG[5]!=NIT_NULL);
12035 /* ./parser//parser_prod.nit:2003 */
12036 if (UNTAG_Bool(REGB0)) {
12037 } else {
12038 fprintf(stderr, "Cast failed");
12039 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2003);
12040 nit_exit(1);
12041 }
12042 ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]) = fra.me.REG[5];
12043 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
12044 /* ./parser//parser_prod.nit:2004 */
12045 if (UNTAG_Bool(REGB0)) {
12046 fprintf(stderr, "Reciever is null");
12047 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2004);
12048 nit_exit(1);
12049 }
12050 CALL_parser_prod___ANode___parent__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[0]);
12051 REGB0 = TAG_Bool(fra.me.REG[6]!=NIT_NULL);
12052 /* ./parser//parser_prod.nit:2005 */
12053 if (UNTAG_Bool(REGB0)) {
12054 } else {
12055 fprintf(stderr, "Cast failed");
12056 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2005);
12057 nit_exit(1);
12058 }
12059 ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]) = fra.me.REG[6];
12060 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
12061 /* ./parser//parser_prod.nit:2006 */
12062 if (UNTAG_Bool(REGB0)) {
12063 fprintf(stderr, "Reciever is null");
12064 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2006);
12065 nit_exit(1);
12066 }
12067 CALL_parser_prod___ANode___parent__eq(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[0]);
12068 /* ./parser//parser_prod.nit:2007 */
12069 ATTR_parser_nodes___AExternMethPropdef____n_extern(fra.me.REG[0]) = fra.me.REG[7];
12070 REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
12071 /* ./parser//parser_prod.nit:2008 */
12072 if (UNTAG_Bool(REGB0)) {
12073 } else {
12074 REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
12075 if (UNTAG_Bool(REGB1)) {
12076 REGB1 = TAG_Bool(false);
12077 REGB0 = REGB1;
12078 } else {
12079 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], NIT_NULL);
12080 REGB0 = REGB1;
12081 }
12082 }
12083 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12084 if (UNTAG_Bool(REGB0)) {
12085 REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
12086 /* ./parser//parser_prod.nit:2009 */
12087 if (UNTAG_Bool(REGB0)) {
12088 fprintf(stderr, "Reciever is null");
12089 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2009);
12090 nit_exit(1);
12091 }
12092 CALL_parser_prod___ANode___parent__eq(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[0]);
12093 }
12094 stack_frame_head = fra.me.prev;
12095 init_table[itpos44] = 1;
12096 return;
12097 }
12098 void parser_prod___AConcreteMethPropdef___n_doc__eq(val_t p0, val_t p1){
12099 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
12100 val_t REGB0;
12101 val_t REGB1;
12102 val_t tmp;
12103 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12104 fra.me.file = LOCATE_parser_prod;
12105 fra.me.line = 2122;
12106 fra.me.meth = LOCATE_parser_prod___AConcreteMethPropdef___n_doc__eq;
12107 fra.me.has_broke = 0;
12108 fra.me.REG_size = 2;
12109 fra.me.REG[0] = NIT_NULL;
12110 fra.me.REG[1] = NIT_NULL;
12111 fra.me.REG[0] = p0;
12112 fra.me.REG[1] = p1;
12113 /* ./parser//parser_prod.nit:2124 */
12114 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = fra.me.REG[1];
12115 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
12116 /* ./parser//parser_prod.nit:2125 */
12117 if (UNTAG_Bool(REGB0)) {
12118 } else {
12119 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
12120 if (UNTAG_Bool(REGB1)) {
12121 REGB1 = TAG_Bool(false);
12122 REGB0 = REGB1;
12123 } else {
12124 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
12125 REGB0 = REGB1;
12126 }
12127 }
12128 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12129 if (UNTAG_Bool(REGB0)) {
12130 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
12131 /* ./parser//parser_prod.nit:2126 */
12132 if (UNTAG_Bool(REGB0)) {
12133 fprintf(stderr, "Reciever is null");
12134 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2126);
12135 nit_exit(1);
12136 }
12137 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
12138 }
12139 stack_frame_head = fra.me.prev;
12140 return;
12141 }
12142 void parser_prod___AConcreteMethPropdef___n_kwredef__eq(val_t p0, val_t p1){
12143 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
12144 val_t REGB0;
12145 val_t REGB1;
12146 val_t tmp;
12147 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12148 fra.me.file = LOCATE_parser_prod;
12149 fra.me.line = 2129;
12150 fra.me.meth = LOCATE_parser_prod___AConcreteMethPropdef___n_kwredef__eq;
12151 fra.me.has_broke = 0;
12152 fra.me.REG_size = 2;
12153 fra.me.REG[0] = NIT_NULL;
12154 fra.me.REG[1] = NIT_NULL;
12155 fra.me.REG[0] = p0;
12156 fra.me.REG[1] = p1;
12157 /* ./parser//parser_prod.nit:2131 */
12158 ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[1];
12159 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
12160 /* ./parser//parser_prod.nit:2132 */
12161 if (UNTAG_Bool(REGB0)) {
12162 } else {
12163 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
12164 if (UNTAG_Bool(REGB1)) {
12165 REGB1 = TAG_Bool(false);
12166 REGB0 = REGB1;
12167 } else {
12168 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
12169 REGB0 = REGB1;
12170 }
12171 }
12172 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12173 if (UNTAG_Bool(REGB0)) {
12174 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
12175 /* ./parser//parser_prod.nit:2133 */
12176 if (UNTAG_Bool(REGB0)) {
12177 fprintf(stderr, "Reciever is null");
12178 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2133);
12179 nit_exit(1);
12180 }
12181 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
12182 }
12183 stack_frame_head = fra.me.prev;
12184 return;
12185 }
12186 void parser_prod___AConcreteMethPropdef___n_visibility__eq(val_t p0, val_t p1){
12187 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
12188 val_t REGB0;
12189 val_t tmp;
12190 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12191 fra.me.file = LOCATE_parser_prod;
12192 fra.me.line = 2136;
12193 fra.me.meth = LOCATE_parser_prod___AConcreteMethPropdef___n_visibility__eq;
12194 fra.me.has_broke = 0;
12195 fra.me.REG_size = 2;
12196 fra.me.REG[0] = NIT_NULL;
12197 fra.me.REG[1] = NIT_NULL;
12198 fra.me.REG[0] = p0;
12199 fra.me.REG[1] = p1;
12200 /* ./parser//parser_prod.nit:2138 */
12201 ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]) = fra.me.REG[1];
12202 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
12203 /* ./parser//parser_prod.nit:2139 */
12204 if (UNTAG_Bool(REGB0)) {
12205 fprintf(stderr, "Reciever is null");
12206 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2139);
12207 nit_exit(1);
12208 }
12209 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
12210 stack_frame_head = fra.me.prev;
12211 return;
12212 }
12213 void parser_prod___AConcreteMethPropdef___n_methid__eq(val_t p0, val_t p1){
12214 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
12215 val_t REGB0;
12216 val_t tmp;
12217 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12218 fra.me.file = LOCATE_parser_prod;
12219 fra.me.line = 2146;
12220 fra.me.meth = LOCATE_parser_prod___AConcreteMethPropdef___n_methid__eq;
12221 fra.me.has_broke = 0;
12222 fra.me.REG_size = 2;
12223 fra.me.REG[0] = NIT_NULL;
12224 fra.me.REG[1] = NIT_NULL;
12225 fra.me.REG[0] = p0;
12226 fra.me.REG[1] = p1;
12227 /* ./parser//parser_prod.nit:2148 */
12228 ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]) = fra.me.REG[1];
12229 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
12230 /* ./parser//parser_prod.nit:2149 */
12231 if (UNTAG_Bool(REGB0)) {
12232 fprintf(stderr, "Reciever is null");
12233 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2149);
12234 nit_exit(1);
12235 }
12236 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
12237 stack_frame_head = fra.me.prev;
12238 return;
12239 }
12240 void parser_prod___AConcreteMethPropdef___n_signature__eq(val_t p0, val_t p1){
12241 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
12242 val_t REGB0;
12243 val_t tmp;
12244 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12245 fra.me.file = LOCATE_parser_prod;
12246 fra.me.line = 2151;
12247 fra.me.meth = LOCATE_parser_prod___AConcreteMethPropdef___n_signature__eq;
12248 fra.me.has_broke = 0;
12249 fra.me.REG_size = 2;
12250 fra.me.REG[0] = NIT_NULL;
12251 fra.me.REG[1] = NIT_NULL;
12252 fra.me.REG[0] = p0;
12253 fra.me.REG[1] = p1;
12254 /* ./parser//parser_prod.nit:2153 */
12255 ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]) = fra.me.REG[1];
12256 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
12257 /* ./parser//parser_prod.nit:2154 */
12258 if (UNTAG_Bool(REGB0)) {
12259 fprintf(stderr, "Reciever is null");
12260 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2154);
12261 nit_exit(1);
12262 }
12263 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
12264 stack_frame_head = fra.me.prev;
12265 return;
12266 }
12267 void parser_prod___AConcreteMethPropdef___n_kwmeth__eq(val_t p0, val_t p1){
12268 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
12269 val_t REGB0;
12270 val_t tmp;
12271 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12272 fra.me.file = LOCATE_parser_prod;
12273 fra.me.line = 2141;
12274 fra.me.meth = LOCATE_parser_prod___AConcreteMethPropdef___n_kwmeth__eq;
12275 fra.me.has_broke = 0;
12276 fra.me.REG_size = 2;
12277 fra.me.REG[0] = NIT_NULL;
12278 fra.me.REG[1] = NIT_NULL;
12279 fra.me.REG[0] = p0;
12280 fra.me.REG[1] = p1;
12281 /* ./parser//parser_prod.nit:2143 */
12282 ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth(fra.me.REG[0]) = fra.me.REG[1];
12283 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
12284 /* ./parser//parser_prod.nit:2144 */
12285 if (UNTAG_Bool(REGB0)) {
12286 fprintf(stderr, "Reciever is null");
12287 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2144);
12288 nit_exit(1);
12289 }
12290 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
12291 stack_frame_head = fra.me.prev;
12292 return;
12293 }
12294 void parser_prod___AConcreteMethPropdef___n_block__eq(val_t p0, val_t p1){
12295 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
12296 val_t REGB0;
12297 val_t REGB1;
12298 val_t tmp;
12299 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12300 fra.me.file = LOCATE_parser_prod;
12301 fra.me.line = 2156;
12302 fra.me.meth = LOCATE_parser_prod___AConcreteMethPropdef___n_block__eq;
12303 fra.me.has_broke = 0;
12304 fra.me.REG_size = 2;
12305 fra.me.REG[0] = NIT_NULL;
12306 fra.me.REG[1] = NIT_NULL;
12307 fra.me.REG[0] = p0;
12308 fra.me.REG[1] = p1;
12309 /* ./parser//parser_prod.nit:2158 */
12310 ATTR_parser_nodes___AConcreteMethPropdef____n_block(fra.me.REG[0]) = fra.me.REG[1];
12311 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
12312 /* ./parser//parser_prod.nit:2159 */
12313 if (UNTAG_Bool(REGB0)) {
12314 } else {
12315 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
12316 if (UNTAG_Bool(REGB1)) {
12317 REGB1 = TAG_Bool(false);
12318 REGB0 = REGB1;
12319 } else {
12320 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
12321 REGB0 = REGB1;
12322 }
12323 }
12324 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12325 if (UNTAG_Bool(REGB0)) {
12326 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
12327 /* ./parser//parser_prod.nit:2160 */
12328 if (UNTAG_Bool(REGB0)) {
12329 fprintf(stderr, "Reciever is null");
12330 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2160);
12331 nit_exit(1);
12332 }
12333 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
12334 }
12335 stack_frame_head = fra.me.prev;
12336 return;
12337 }
12338 void parser_prod___AConcreteMethPropdef___replace_child(val_t p0, val_t p1, val_t p2){
12339 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
12340 val_t REGB0;
12341 val_t REGB1;
12342 val_t tmp;
12343 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12344 fra.me.file = LOCATE_parser_prod;
12345 fra.me.line = 2199;
12346 fra.me.meth = LOCATE_parser_prod___AConcreteMethPropdef___replace_child;
12347 fra.me.has_broke = 0;
12348 fra.me.REG_size = 4;
12349 fra.me.REG[0] = NIT_NULL;
12350 fra.me.REG[1] = NIT_NULL;
12351 fra.me.REG[2] = NIT_NULL;
12352 fra.me.REG[3] = NIT_NULL;
12353 fra.me.REG[0] = p0;
12354 fra.me.REG[1] = p1;
12355 fra.me.REG[2] = p2;
12356 fra.me.REG[3] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
12357 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
12358 /* ./parser//parser_prod.nit:2201 */
12359 if (UNTAG_Bool(REGB0)) {
12360 } else {
12361 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12362 if (UNTAG_Bool(REGB1)) {
12363 REGB1 = TAG_Bool(false);
12364 REGB0 = REGB1;
12365 } else {
12366 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
12367 REGB0 = REGB1;
12368 }
12369 }
12370 if (UNTAG_Bool(REGB0)) {
12371 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12372 /* ./parser//parser_prod.nit:2202 */
12373 if (UNTAG_Bool(REGB0)) {
12374 } else {
12375 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12376 if (UNTAG_Bool(REGB1)) {
12377 REGB1 = TAG_Bool(false);
12378 REGB0 = REGB1;
12379 } else {
12380 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
12381 REGB0 = REGB1;
12382 }
12383 }
12384 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12385 if (UNTAG_Bool(REGB0)) {
12386 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12387 /* ./parser//parser_prod.nit:2203 */
12388 if (UNTAG_Bool(REGB0)) {
12389 fprintf(stderr, "Reciever is null");
12390 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2203);
12391 nit_exit(1);
12392 }
12393 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
12394 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
12395 /* ./parser//parser_prod.nit:2204 */
12396 if (UNTAG_Bool(REGB0)) {
12397 } else {
12398 fprintf(stderr, "Assert failed");
12399 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2204);
12400 nit_exit(1);
12401 }
12402 /* ./parser//parser_prod.nit:2205 */
12403 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = fra.me.REG[2];
12404 } else {
12405 /* ./parser//parser_prod.nit:2207 */
12406 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = NIT_NULL;
12407 }
12408 /* ./parser//parser_prod.nit:2209 */
12409 goto label1;
12410 }
12411 fra.me.REG[3] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
12412 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
12413 /* ./parser//parser_prod.nit:2211 */
12414 if (UNTAG_Bool(REGB0)) {
12415 } else {
12416 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12417 if (UNTAG_Bool(REGB1)) {
12418 REGB1 = TAG_Bool(false);
12419 REGB0 = REGB1;
12420 } else {
12421 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
12422 REGB0 = REGB1;
12423 }
12424 }
12425 if (UNTAG_Bool(REGB0)) {
12426 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12427 /* ./parser//parser_prod.nit:2212 */
12428 if (UNTAG_Bool(REGB0)) {
12429 } else {
12430 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12431 if (UNTAG_Bool(REGB1)) {
12432 REGB1 = TAG_Bool(false);
12433 REGB0 = REGB1;
12434 } else {
12435 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
12436 REGB0 = REGB1;
12437 }
12438 }
12439 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12440 if (UNTAG_Bool(REGB0)) {
12441 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12442 /* ./parser//parser_prod.nit:2213 */
12443 if (UNTAG_Bool(REGB0)) {
12444 fprintf(stderr, "Reciever is null");
12445 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2213);
12446 nit_exit(1);
12447 }
12448 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
12449 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12450 /* ./parser//parser_prod.nit:2214 */
12451 if (UNTAG_Bool(REGB0)) {
12452 } else {
12453 fprintf(stderr, "Assert failed");
12454 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2214);
12455 nit_exit(1);
12456 }
12457 /* ./parser//parser_prod.nit:2215 */
12458 ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[2];
12459 } else {
12460 /* ./parser//parser_prod.nit:2217 */
12461 ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]) = NIT_NULL;
12462 }
12463 /* ./parser//parser_prod.nit:2219 */
12464 goto label1;
12465 }
12466 fra.me.REG[3] = ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]);
12467 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
12468 /* ./parser//parser_prod.nit:2221 */
12469 if (UNTAG_Bool(REGB0)) {
12470 } else {
12471 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12472 if (UNTAG_Bool(REGB1)) {
12473 REGB1 = TAG_Bool(false);
12474 REGB0 = REGB1;
12475 } else {
12476 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
12477 REGB0 = REGB1;
12478 }
12479 }
12480 if (UNTAG_Bool(REGB0)) {
12481 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12482 /* ./parser//parser_prod.nit:2222 */
12483 if (UNTAG_Bool(REGB0)) {
12484 } else {
12485 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12486 if (UNTAG_Bool(REGB1)) {
12487 REGB1 = TAG_Bool(false);
12488 REGB0 = REGB1;
12489 } else {
12490 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
12491 REGB0 = REGB1;
12492 }
12493 }
12494 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12495 if (UNTAG_Bool(REGB0)) {
12496 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12497 /* ./parser//parser_prod.nit:2223 */
12498 if (UNTAG_Bool(REGB0)) {
12499 fprintf(stderr, "Reciever is null");
12500 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2223);
12501 nit_exit(1);
12502 }
12503 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
12504 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AVisibility, ID_AVisibility)) /*cast AVisibility*/;
12505 /* ./parser//parser_prod.nit:2224 */
12506 if (UNTAG_Bool(REGB0)) {
12507 } else {
12508 fprintf(stderr, "Assert failed");
12509 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2224);
12510 nit_exit(1);
12511 }
12512 /* ./parser//parser_prod.nit:2225 */
12513 ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]) = fra.me.REG[2];
12514 } else {
12515 /* ./parser//parser_prod.nit:2227 */
12516 fprintf(stderr, "Aborted");
12517 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2227);
12518 nit_exit(1);
12519 }
12520 /* ./parser//parser_prod.nit:2229 */
12521 goto label1;
12522 }
12523 fra.me.REG[3] = ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth(fra.me.REG[0]);
12524 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
12525 /* ./parser//parser_prod.nit:2231 */
12526 if (UNTAG_Bool(REGB0)) {
12527 } else {
12528 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12529 if (UNTAG_Bool(REGB1)) {
12530 REGB1 = TAG_Bool(false);
12531 REGB0 = REGB1;
12532 } else {
12533 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
12534 REGB0 = REGB1;
12535 }
12536 }
12537 if (UNTAG_Bool(REGB0)) {
12538 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12539 /* ./parser//parser_prod.nit:2232 */
12540 if (UNTAG_Bool(REGB0)) {
12541 } else {
12542 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12543 if (UNTAG_Bool(REGB1)) {
12544 REGB1 = TAG_Bool(false);
12545 REGB0 = REGB1;
12546 } else {
12547 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
12548 REGB0 = REGB1;
12549 }
12550 }
12551 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12552 if (UNTAG_Bool(REGB0)) {
12553 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12554 /* ./parser//parser_prod.nit:2233 */
12555 if (UNTAG_Bool(REGB0)) {
12556 fprintf(stderr, "Reciever is null");
12557 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2233);
12558 nit_exit(1);
12559 }
12560 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
12561 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwmeth, ID_TKwmeth)) /*cast TKwmeth*/;
12562 /* ./parser//parser_prod.nit:2234 */
12563 if (UNTAG_Bool(REGB0)) {
12564 } else {
12565 fprintf(stderr, "Assert failed");
12566 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2234);
12567 nit_exit(1);
12568 }
12569 /* ./parser//parser_prod.nit:2235 */
12570 ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth(fra.me.REG[0]) = fra.me.REG[2];
12571 } else {
12572 /* ./parser//parser_prod.nit:2237 */
12573 fprintf(stderr, "Aborted");
12574 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2237);
12575 nit_exit(1);
12576 }
12577 /* ./parser//parser_prod.nit:2239 */
12578 goto label1;
12579 }
12580 fra.me.REG[3] = ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]);
12581 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
12582 /* ./parser//parser_prod.nit:2241 */
12583 if (UNTAG_Bool(REGB0)) {
12584 } else {
12585 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12586 if (UNTAG_Bool(REGB1)) {
12587 REGB1 = TAG_Bool(false);
12588 REGB0 = REGB1;
12589 } else {
12590 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
12591 REGB0 = REGB1;
12592 }
12593 }
12594 if (UNTAG_Bool(REGB0)) {
12595 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12596 /* ./parser//parser_prod.nit:2242 */
12597 if (UNTAG_Bool(REGB0)) {
12598 } else {
12599 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12600 if (UNTAG_Bool(REGB1)) {
12601 REGB1 = TAG_Bool(false);
12602 REGB0 = REGB1;
12603 } else {
12604 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
12605 REGB0 = REGB1;
12606 }
12607 }
12608 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12609 if (UNTAG_Bool(REGB0)) {
12610 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12611 /* ./parser//parser_prod.nit:2243 */
12612 if (UNTAG_Bool(REGB0)) {
12613 fprintf(stderr, "Reciever is null");
12614 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2243);
12615 nit_exit(1);
12616 }
12617 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
12618 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AMethid, ID_AMethid)) /*cast AMethid*/;
12619 /* ./parser//parser_prod.nit:2244 */
12620 if (UNTAG_Bool(REGB0)) {
12621 } else {
12622 fprintf(stderr, "Assert failed");
12623 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2244);
12624 nit_exit(1);
12625 }
12626 /* ./parser//parser_prod.nit:2245 */
12627 ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]) = fra.me.REG[2];
12628 } else {
12629 /* ./parser//parser_prod.nit:2247 */
12630 fprintf(stderr, "Aborted");
12631 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2247);
12632 nit_exit(1);
12633 }
12634 /* ./parser//parser_prod.nit:2249 */
12635 goto label1;
12636 }
12637 fra.me.REG[3] = ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]);
12638 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
12639 /* ./parser//parser_prod.nit:2251 */
12640 if (UNTAG_Bool(REGB0)) {
12641 } else {
12642 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12643 if (UNTAG_Bool(REGB1)) {
12644 REGB1 = TAG_Bool(false);
12645 REGB0 = REGB1;
12646 } else {
12647 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
12648 REGB0 = REGB1;
12649 }
12650 }
12651 if (UNTAG_Bool(REGB0)) {
12652 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12653 /* ./parser//parser_prod.nit:2252 */
12654 if (UNTAG_Bool(REGB0)) {
12655 } else {
12656 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12657 if (UNTAG_Bool(REGB1)) {
12658 REGB1 = TAG_Bool(false);
12659 REGB0 = REGB1;
12660 } else {
12661 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
12662 REGB0 = REGB1;
12663 }
12664 }
12665 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12666 if (UNTAG_Bool(REGB0)) {
12667 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12668 /* ./parser//parser_prod.nit:2253 */
12669 if (UNTAG_Bool(REGB0)) {
12670 fprintf(stderr, "Reciever is null");
12671 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2253);
12672 nit_exit(1);
12673 }
12674 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
12675 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast ASignature*/;
12676 /* ./parser//parser_prod.nit:2254 */
12677 if (UNTAG_Bool(REGB0)) {
12678 } else {
12679 fprintf(stderr, "Assert failed");
12680 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2254);
12681 nit_exit(1);
12682 }
12683 /* ./parser//parser_prod.nit:2255 */
12684 ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]) = fra.me.REG[2];
12685 } else {
12686 /* ./parser//parser_prod.nit:2257 */
12687 fprintf(stderr, "Aborted");
12688 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2257);
12689 nit_exit(1);
12690 }
12691 /* ./parser//parser_prod.nit:2259 */
12692 goto label1;
12693 }
12694 fra.me.REG[3] = ATTR_parser_nodes___AConcreteMethPropdef____n_block(fra.me.REG[0]);
12695 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
12696 /* ./parser//parser_prod.nit:2261 */
12697 if (UNTAG_Bool(REGB0)) {
12698 } else {
12699 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
12700 if (UNTAG_Bool(REGB1)) {
12701 REGB1 = TAG_Bool(false);
12702 REGB0 = REGB1;
12703 } else {
12704 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
12705 REGB0 = REGB1;
12706 }
12707 }
12708 if (UNTAG_Bool(REGB0)) {
12709 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12710 /* ./parser//parser_prod.nit:2262 */
12711 if (UNTAG_Bool(REGB0)) {
12712 } else {
12713 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12714 if (UNTAG_Bool(REGB1)) {
12715 REGB1 = TAG_Bool(false);
12716 REGB0 = REGB1;
12717 } else {
12718 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
12719 REGB0 = REGB1;
12720 }
12721 }
12722 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12723 if (UNTAG_Bool(REGB0)) {
12724 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12725 /* ./parser//parser_prod.nit:2263 */
12726 if (UNTAG_Bool(REGB0)) {
12727 fprintf(stderr, "Reciever is null");
12728 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2263);
12729 nit_exit(1);
12730 }
12731 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
12732 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
12733 /* ./parser//parser_prod.nit:2264 */
12734 if (UNTAG_Bool(REGB0)) {
12735 } else {
12736 fprintf(stderr, "Assert failed");
12737 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2264);
12738 nit_exit(1);
12739 }
12740 /* ./parser//parser_prod.nit:2265 */
12741 ATTR_parser_nodes___AConcreteMethPropdef____n_block(fra.me.REG[0]) = fra.me.REG[2];
12742 } else {
12743 /* ./parser//parser_prod.nit:2267 */
12744 ATTR_parser_nodes___AConcreteMethPropdef____n_block(fra.me.REG[0]) = NIT_NULL;
12745 }
12746 /* ./parser//parser_prod.nit:2269 */
12747 goto label1;
12748 }
12749 label1: while(0);
12750 stack_frame_head = fra.me.prev;
12751 return;
12752 }
12753 void parser_prod___AConcreteMethPropdef___visit_all(val_t p0, val_t p1){
12754 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
12755 val_t REGB0;
12756 val_t REGB1;
12757 val_t tmp;
12758 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12759 fra.me.file = LOCATE_parser_prod;
12760 fra.me.line = 2273;
12761 fra.me.meth = LOCATE_parser_prod___AConcreteMethPropdef___visit_all;
12762 fra.me.has_broke = 0;
12763 fra.me.REG_size = 3;
12764 fra.me.REG[0] = NIT_NULL;
12765 fra.me.REG[1] = NIT_NULL;
12766 fra.me.REG[2] = NIT_NULL;
12767 fra.me.REG[0] = p0;
12768 fra.me.REG[1] = p1;
12769 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
12770 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12771 /* ./parser//parser_prod.nit:2275 */
12772 if (UNTAG_Bool(REGB0)) {
12773 } else {
12774 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12775 if (UNTAG_Bool(REGB1)) {
12776 REGB1 = TAG_Bool(false);
12777 REGB0 = REGB1;
12778 } else {
12779 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
12780 REGB0 = REGB1;
12781 }
12782 }
12783 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12784 if (UNTAG_Bool(REGB0)) {
12785 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
12786 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
12787 /* ./parser//parser_prod.nit:2276 */
12788 if (UNTAG_Bool(REGB0)) {
12789 } else {
12790 fprintf(stderr, "Cast failed");
12791 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2276);
12792 nit_exit(1);
12793 }
12794 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
12795 }
12796 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
12797 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12798 /* ./parser//parser_prod.nit:2278 */
12799 if (UNTAG_Bool(REGB0)) {
12800 } else {
12801 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12802 if (UNTAG_Bool(REGB1)) {
12803 REGB1 = TAG_Bool(false);
12804 REGB0 = REGB1;
12805 } else {
12806 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
12807 REGB0 = REGB1;
12808 }
12809 }
12810 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12811 if (UNTAG_Bool(REGB0)) {
12812 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
12813 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12814 /* ./parser//parser_prod.nit:2279 */
12815 if (UNTAG_Bool(REGB0)) {
12816 } else {
12817 fprintf(stderr, "Cast failed");
12818 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2279);
12819 nit_exit(1);
12820 }
12821 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
12822 }
12823 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]);
12824 /* ./parser//parser_prod.nit:2281 */
12825 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
12826 fra.me.REG[2] = ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth(fra.me.REG[0]);
12827 /* ./parser//parser_prod.nit:2282 */
12828 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
12829 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]);
12830 /* ./parser//parser_prod.nit:2283 */
12831 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
12832 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]);
12833 /* ./parser//parser_prod.nit:2284 */
12834 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
12835 fra.me.REG[2] = ATTR_parser_nodes___AConcreteMethPropdef____n_block(fra.me.REG[0]);
12836 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12837 /* ./parser//parser_prod.nit:2285 */
12838 if (UNTAG_Bool(REGB0)) {
12839 } else {
12840 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12841 if (UNTAG_Bool(REGB1)) {
12842 REGB1 = TAG_Bool(false);
12843 REGB0 = REGB1;
12844 } else {
12845 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
12846 REGB0 = REGB1;
12847 }
12848 }
12849 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12850 if (UNTAG_Bool(REGB0)) {
12851 fra.me.REG[0] = ATTR_parser_nodes___AConcreteMethPropdef____n_block(fra.me.REG[0]);
12852 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
12853 /* ./parser//parser_prod.nit:2286 */
12854 if (UNTAG_Bool(REGB0)) {
12855 } else {
12856 fprintf(stderr, "Cast failed");
12857 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2286);
12858 nit_exit(1);
12859 }
12860 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
12861 }
12862 stack_frame_head = fra.me.prev;
12863 return;
12864 }
12865 void parser_prod___AConcreteMethPropdef___visit_all_reverse(val_t p0, val_t p1){
12866 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
12867 val_t REGB0;
12868 val_t REGB1;
12869 val_t tmp;
12870 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12871 fra.me.file = LOCATE_parser_prod;
12872 fra.me.line = 2290;
12873 fra.me.meth = LOCATE_parser_prod___AConcreteMethPropdef___visit_all_reverse;
12874 fra.me.has_broke = 0;
12875 fra.me.REG_size = 3;
12876 fra.me.REG[0] = NIT_NULL;
12877 fra.me.REG[1] = NIT_NULL;
12878 fra.me.REG[2] = NIT_NULL;
12879 fra.me.REG[0] = p0;
12880 fra.me.REG[1] = p1;
12881 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
12882 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12883 /* ./parser//parser_prod.nit:2292 */
12884 if (UNTAG_Bool(REGB0)) {
12885 } else {
12886 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12887 if (UNTAG_Bool(REGB1)) {
12888 REGB1 = TAG_Bool(false);
12889 REGB0 = REGB1;
12890 } else {
12891 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
12892 REGB0 = REGB1;
12893 }
12894 }
12895 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12896 if (UNTAG_Bool(REGB0)) {
12897 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
12898 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
12899 /* ./parser//parser_prod.nit:2293 */
12900 if (UNTAG_Bool(REGB0)) {
12901 } else {
12902 fprintf(stderr, "Cast failed");
12903 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2293);
12904 nit_exit(1);
12905 }
12906 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
12907 }
12908 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
12909 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12910 /* ./parser//parser_prod.nit:2295 */
12911 if (UNTAG_Bool(REGB0)) {
12912 } else {
12913 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12914 if (UNTAG_Bool(REGB1)) {
12915 REGB1 = TAG_Bool(false);
12916 REGB0 = REGB1;
12917 } else {
12918 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
12919 REGB0 = REGB1;
12920 }
12921 }
12922 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12923 if (UNTAG_Bool(REGB0)) {
12924 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
12925 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
12926 /* ./parser//parser_prod.nit:2296 */
12927 if (UNTAG_Bool(REGB0)) {
12928 } else {
12929 fprintf(stderr, "Cast failed");
12930 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2296);
12931 nit_exit(1);
12932 }
12933 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
12934 }
12935 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]);
12936 /* ./parser//parser_prod.nit:2298 */
12937 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
12938 fra.me.REG[2] = ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth(fra.me.REG[0]);
12939 /* ./parser//parser_prod.nit:2299 */
12940 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
12941 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]);
12942 /* ./parser//parser_prod.nit:2300 */
12943 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
12944 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]);
12945 /* ./parser//parser_prod.nit:2301 */
12946 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
12947 fra.me.REG[2] = ATTR_parser_nodes___AConcreteMethPropdef____n_block(fra.me.REG[0]);
12948 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12949 /* ./parser//parser_prod.nit:2302 */
12950 if (UNTAG_Bool(REGB0)) {
12951 } else {
12952 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
12953 if (UNTAG_Bool(REGB1)) {
12954 REGB1 = TAG_Bool(false);
12955 REGB0 = REGB1;
12956 } else {
12957 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
12958 REGB0 = REGB1;
12959 }
12960 }
12961 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
12962 if (UNTAG_Bool(REGB0)) {
12963 fra.me.REG[0] = ATTR_parser_nodes___AConcreteMethPropdef____n_block(fra.me.REG[0]);
12964 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
12965 /* ./parser//parser_prod.nit:2303 */
12966 if (UNTAG_Bool(REGB0)) {
12967 } else {
12968 fprintf(stderr, "Cast failed");
12969 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2303);
12970 nit_exit(1);
12971 }
12972 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
12973 }
12974 stack_frame_head = fra.me.prev;
12975 return;
12976 }
12977 void parser_prod___AConcreteMethPropdef___empty_init(val_t p0, int* init_table){
12978 int itpos45 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AConcreteMethPropdef].i;
12979 struct {struct stack_frame_t me;} fra;
12980 val_t tmp;
12981 if (init_table[itpos45]) return;
12982 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
12983 fra.me.file = LOCATE_parser_prod;
12984 fra.me.line = 2164;
12985 fra.me.meth = LOCATE_parser_prod___AConcreteMethPropdef___empty_init;
12986 fra.me.has_broke = 0;
12987 fra.me.REG_size = 1;
12988 fra.me.REG[0] = NIT_NULL;
12989 fra.me.REG[0] = p0;
12990 /* ./parser//parser_prod.nit:2164 */
12991 stack_frame_head = fra.me.prev;
12992 init_table[itpos45] = 1;
12993 return;
12994 }
12995 void parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6, val_t p7, int* init_table){
12996 int itpos46 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AConcreteMethPropdef].i;
12997 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
12998 val_t REGB0;
12999 val_t REGB1;
13000 val_t tmp;
13001 if (init_table[itpos46]) return;
13002 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13003 fra.me.file = LOCATE_parser_prod;
13004 fra.me.line = 2166;
13005 fra.me.meth = LOCATE_parser_prod___AConcreteMethPropdef___init_aconcretemethpropdef;
13006 fra.me.has_broke = 0;
13007 fra.me.REG_size = 8;
13008 fra.me.REG[0] = NIT_NULL;
13009 fra.me.REG[1] = NIT_NULL;
13010 fra.me.REG[2] = NIT_NULL;
13011 fra.me.REG[3] = NIT_NULL;
13012 fra.me.REG[4] = NIT_NULL;
13013 fra.me.REG[5] = NIT_NULL;
13014 fra.me.REG[6] = NIT_NULL;
13015 fra.me.REG[7] = NIT_NULL;
13016 fra.me.REG[0] = p0;
13017 fra.me.REG[1] = p1;
13018 fra.me.REG[2] = p2;
13019 fra.me.REG[3] = p3;
13020 fra.me.REG[4] = p4;
13021 fra.me.REG[5] = p5;
13022 fra.me.REG[6] = p6;
13023 fra.me.REG[7] = p7;
13024 /* ./parser//parser_prod.nit:2176 */
13025 CALL_parser_prod___AConcreteMethPropdef___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
13026 /* ./parser//parser_prod.nit:2177 */
13027 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = fra.me.REG[1];
13028 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
13029 /* ./parser//parser_prod.nit:2178 */
13030 if (UNTAG_Bool(REGB0)) {
13031 } else {
13032 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
13033 if (UNTAG_Bool(REGB1)) {
13034 REGB1 = TAG_Bool(false);
13035 REGB0 = REGB1;
13036 } else {
13037 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
13038 REGB0 = REGB1;
13039 }
13040 }
13041 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13042 if (UNTAG_Bool(REGB0)) {
13043 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
13044 /* ./parser//parser_prod.nit:2179 */
13045 if (UNTAG_Bool(REGB0)) {
13046 fprintf(stderr, "Reciever is null");
13047 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2179);
13048 nit_exit(1);
13049 }
13050 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
13051 }
13052 /* ./parser//parser_prod.nit:2181 */
13053 ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[2];
13054 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13055 /* ./parser//parser_prod.nit:2182 */
13056 if (UNTAG_Bool(REGB0)) {
13057 } else {
13058 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13059 if (UNTAG_Bool(REGB1)) {
13060 REGB1 = TAG_Bool(false);
13061 REGB0 = REGB1;
13062 } else {
13063 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
13064 REGB0 = REGB1;
13065 }
13066 }
13067 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13068 if (UNTAG_Bool(REGB0)) {
13069 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13070 /* ./parser//parser_prod.nit:2183 */
13071 if (UNTAG_Bool(REGB0)) {
13072 fprintf(stderr, "Reciever is null");
13073 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2183);
13074 nit_exit(1);
13075 }
13076 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
13077 }
13078 REGB0 = TAG_Bool(fra.me.REG[3]!=NIT_NULL);
13079 /* ./parser//parser_prod.nit:2185 */
13080 if (UNTAG_Bool(REGB0)) {
13081 } else {
13082 fprintf(stderr, "Cast failed");
13083 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2185);
13084 nit_exit(1);
13085 }
13086 ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]) = fra.me.REG[3];
13087 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13088 /* ./parser//parser_prod.nit:2186 */
13089 if (UNTAG_Bool(REGB0)) {
13090 fprintf(stderr, "Reciever is null");
13091 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2186);
13092 nit_exit(1);
13093 }
13094 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
13095 REGB0 = TAG_Bool(fra.me.REG[4]!=NIT_NULL);
13096 /* ./parser//parser_prod.nit:2187 */
13097 if (UNTAG_Bool(REGB0)) {
13098 } else {
13099 fprintf(stderr, "Cast failed");
13100 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2187);
13101 nit_exit(1);
13102 }
13103 ATTR_parser_nodes___AConcreteMethPropdef____n_kwmeth(fra.me.REG[0]) = fra.me.REG[4];
13104 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
13105 /* ./parser//parser_prod.nit:2188 */
13106 if (UNTAG_Bool(REGB0)) {
13107 fprintf(stderr, "Reciever is null");
13108 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2188);
13109 nit_exit(1);
13110 }
13111 CALL_parser_prod___ANode___parent__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
13112 REGB0 = TAG_Bool(fra.me.REG[5]!=NIT_NULL);
13113 /* ./parser//parser_prod.nit:2189 */
13114 if (UNTAG_Bool(REGB0)) {
13115 } else {
13116 fprintf(stderr, "Cast failed");
13117 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2189);
13118 nit_exit(1);
13119 }
13120 ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]) = fra.me.REG[5];
13121 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
13122 /* ./parser//parser_prod.nit:2190 */
13123 if (UNTAG_Bool(REGB0)) {
13124 fprintf(stderr, "Reciever is null");
13125 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2190);
13126 nit_exit(1);
13127 }
13128 CALL_parser_prod___ANode___parent__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[0]);
13129 REGB0 = TAG_Bool(fra.me.REG[6]!=NIT_NULL);
13130 /* ./parser//parser_prod.nit:2191 */
13131 if (UNTAG_Bool(REGB0)) {
13132 } else {
13133 fprintf(stderr, "Cast failed");
13134 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2191);
13135 nit_exit(1);
13136 }
13137 ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]) = fra.me.REG[6];
13138 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
13139 /* ./parser//parser_prod.nit:2192 */
13140 if (UNTAG_Bool(REGB0)) {
13141 fprintf(stderr, "Reciever is null");
13142 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2192);
13143 nit_exit(1);
13144 }
13145 CALL_parser_prod___ANode___parent__eq(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[0]);
13146 /* ./parser//parser_prod.nit:2193 */
13147 ATTR_parser_nodes___AConcreteMethPropdef____n_block(fra.me.REG[0]) = fra.me.REG[7];
13148 REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
13149 /* ./parser//parser_prod.nit:2194 */
13150 if (UNTAG_Bool(REGB0)) {
13151 } else {
13152 REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
13153 if (UNTAG_Bool(REGB1)) {
13154 REGB1 = TAG_Bool(false);
13155 REGB0 = REGB1;
13156 } else {
13157 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], NIT_NULL);
13158 REGB0 = REGB1;
13159 }
13160 }
13161 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13162 if (UNTAG_Bool(REGB0)) {
13163 REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
13164 /* ./parser//parser_prod.nit:2195 */
13165 if (UNTAG_Bool(REGB0)) {
13166 fprintf(stderr, "Reciever is null");
13167 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2195);
13168 nit_exit(1);
13169 }
13170 CALL_parser_prod___ANode___parent__eq(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[0]);
13171 }
13172 stack_frame_head = fra.me.prev;
13173 init_table[itpos46] = 1;
13174 return;
13175 }
13176 void parser_prod___AConcreteInitPropdef___n_doc__eq(val_t p0, val_t p1){
13177 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
13178 val_t REGB0;
13179 val_t REGB1;
13180 val_t tmp;
13181 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13182 fra.me.file = LOCATE_parser_prod;
13183 fra.me.line = 2308;
13184 fra.me.meth = LOCATE_parser_prod___AConcreteInitPropdef___n_doc__eq;
13185 fra.me.has_broke = 0;
13186 fra.me.REG_size = 2;
13187 fra.me.REG[0] = NIT_NULL;
13188 fra.me.REG[1] = NIT_NULL;
13189 fra.me.REG[0] = p0;
13190 fra.me.REG[1] = p1;
13191 /* ./parser//parser_prod.nit:2310 */
13192 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = fra.me.REG[1];
13193 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
13194 /* ./parser//parser_prod.nit:2311 */
13195 if (UNTAG_Bool(REGB0)) {
13196 } else {
13197 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
13198 if (UNTAG_Bool(REGB1)) {
13199 REGB1 = TAG_Bool(false);
13200 REGB0 = REGB1;
13201 } else {
13202 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
13203 REGB0 = REGB1;
13204 }
13205 }
13206 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13207 if (UNTAG_Bool(REGB0)) {
13208 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
13209 /* ./parser//parser_prod.nit:2312 */
13210 if (UNTAG_Bool(REGB0)) {
13211 fprintf(stderr, "Reciever is null");
13212 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2312);
13213 nit_exit(1);
13214 }
13215 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
13216 }
13217 stack_frame_head = fra.me.prev;
13218 return;
13219 }
13220 void parser_prod___AConcreteInitPropdef___n_kwredef__eq(val_t p0, val_t p1){
13221 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
13222 val_t REGB0;
13223 val_t REGB1;
13224 val_t tmp;
13225 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13226 fra.me.file = LOCATE_parser_prod;
13227 fra.me.line = 2315;
13228 fra.me.meth = LOCATE_parser_prod___AConcreteInitPropdef___n_kwredef__eq;
13229 fra.me.has_broke = 0;
13230 fra.me.REG_size = 2;
13231 fra.me.REG[0] = NIT_NULL;
13232 fra.me.REG[1] = NIT_NULL;
13233 fra.me.REG[0] = p0;
13234 fra.me.REG[1] = p1;
13235 /* ./parser//parser_prod.nit:2317 */
13236 ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[1];
13237 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
13238 /* ./parser//parser_prod.nit:2318 */
13239 if (UNTAG_Bool(REGB0)) {
13240 } else {
13241 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
13242 if (UNTAG_Bool(REGB1)) {
13243 REGB1 = TAG_Bool(false);
13244 REGB0 = REGB1;
13245 } else {
13246 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
13247 REGB0 = REGB1;
13248 }
13249 }
13250 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13251 if (UNTAG_Bool(REGB0)) {
13252 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
13253 /* ./parser//parser_prod.nit:2319 */
13254 if (UNTAG_Bool(REGB0)) {
13255 fprintf(stderr, "Reciever is null");
13256 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2319);
13257 nit_exit(1);
13258 }
13259 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
13260 }
13261 stack_frame_head = fra.me.prev;
13262 return;
13263 }
13264 void parser_prod___AConcreteInitPropdef___n_visibility__eq(val_t p0, val_t p1){
13265 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
13266 val_t REGB0;
13267 val_t tmp;
13268 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13269 fra.me.file = LOCATE_parser_prod;
13270 fra.me.line = 2322;
13271 fra.me.meth = LOCATE_parser_prod___AConcreteInitPropdef___n_visibility__eq;
13272 fra.me.has_broke = 0;
13273 fra.me.REG_size = 2;
13274 fra.me.REG[0] = NIT_NULL;
13275 fra.me.REG[1] = NIT_NULL;
13276 fra.me.REG[0] = p0;
13277 fra.me.REG[1] = p1;
13278 /* ./parser//parser_prod.nit:2324 */
13279 ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]) = fra.me.REG[1];
13280 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
13281 /* ./parser//parser_prod.nit:2325 */
13282 if (UNTAG_Bool(REGB0)) {
13283 fprintf(stderr, "Reciever is null");
13284 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2325);
13285 nit_exit(1);
13286 }
13287 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
13288 stack_frame_head = fra.me.prev;
13289 return;
13290 }
13291 void parser_prod___AConcreteInitPropdef___n_methid__eq(val_t p0, val_t p1){
13292 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
13293 val_t REGB0;
13294 val_t REGB1;
13295 val_t tmp;
13296 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13297 fra.me.file = LOCATE_parser_prod;
13298 fra.me.line = 2332;
13299 fra.me.meth = LOCATE_parser_prod___AConcreteInitPropdef___n_methid__eq;
13300 fra.me.has_broke = 0;
13301 fra.me.REG_size = 2;
13302 fra.me.REG[0] = NIT_NULL;
13303 fra.me.REG[1] = NIT_NULL;
13304 fra.me.REG[0] = p0;
13305 fra.me.REG[1] = p1;
13306 /* ./parser//parser_prod.nit:2334 */
13307 ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]) = fra.me.REG[1];
13308 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
13309 /* ./parser//parser_prod.nit:2335 */
13310 if (UNTAG_Bool(REGB0)) {
13311 } else {
13312 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
13313 if (UNTAG_Bool(REGB1)) {
13314 REGB1 = TAG_Bool(false);
13315 REGB0 = REGB1;
13316 } else {
13317 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
13318 REGB0 = REGB1;
13319 }
13320 }
13321 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13322 if (UNTAG_Bool(REGB0)) {
13323 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
13324 /* ./parser//parser_prod.nit:2336 */
13325 if (UNTAG_Bool(REGB0)) {
13326 fprintf(stderr, "Reciever is null");
13327 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2336);
13328 nit_exit(1);
13329 }
13330 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
13331 }
13332 stack_frame_head = fra.me.prev;
13333 return;
13334 }
13335 void parser_prod___AConcreteInitPropdef___n_signature__eq(val_t p0, val_t p1){
13336 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
13337 val_t REGB0;
13338 val_t tmp;
13339 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13340 fra.me.file = LOCATE_parser_prod;
13341 fra.me.line = 2339;
13342 fra.me.meth = LOCATE_parser_prod___AConcreteInitPropdef___n_signature__eq;
13343 fra.me.has_broke = 0;
13344 fra.me.REG_size = 2;
13345 fra.me.REG[0] = NIT_NULL;
13346 fra.me.REG[1] = NIT_NULL;
13347 fra.me.REG[0] = p0;
13348 fra.me.REG[1] = p1;
13349 /* ./parser//parser_prod.nit:2341 */
13350 ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]) = fra.me.REG[1];
13351 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
13352 /* ./parser//parser_prod.nit:2342 */
13353 if (UNTAG_Bool(REGB0)) {
13354 fprintf(stderr, "Reciever is null");
13355 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2342);
13356 nit_exit(1);
13357 }
13358 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
13359 stack_frame_head = fra.me.prev;
13360 return;
13361 }
13362 void parser_prod___AConcreteInitPropdef___n_block__eq(val_t p0, val_t p1){
13363 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
13364 val_t REGB0;
13365 val_t REGB1;
13366 val_t tmp;
13367 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13368 fra.me.file = LOCATE_parser_prod;
13369 fra.me.line = 2344;
13370 fra.me.meth = LOCATE_parser_prod___AConcreteInitPropdef___n_block__eq;
13371 fra.me.has_broke = 0;
13372 fra.me.REG_size = 2;
13373 fra.me.REG[0] = NIT_NULL;
13374 fra.me.REG[1] = NIT_NULL;
13375 fra.me.REG[0] = p0;
13376 fra.me.REG[1] = p1;
13377 /* ./parser//parser_prod.nit:2346 */
13378 ATTR_parser_nodes___AConcreteMethPropdef____n_block(fra.me.REG[0]) = fra.me.REG[1];
13379 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
13380 /* ./parser//parser_prod.nit:2347 */
13381 if (UNTAG_Bool(REGB0)) {
13382 } else {
13383 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
13384 if (UNTAG_Bool(REGB1)) {
13385 REGB1 = TAG_Bool(false);
13386 REGB0 = REGB1;
13387 } else {
13388 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
13389 REGB0 = REGB1;
13390 }
13391 }
13392 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13393 if (UNTAG_Bool(REGB0)) {
13394 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
13395 /* ./parser//parser_prod.nit:2348 */
13396 if (UNTAG_Bool(REGB0)) {
13397 fprintf(stderr, "Reciever is null");
13398 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2348);
13399 nit_exit(1);
13400 }
13401 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
13402 }
13403 stack_frame_head = fra.me.prev;
13404 return;
13405 }
13406 void parser_prod___AConcreteInitPropdef___n_kwinit__eq(val_t p0, val_t p1){
13407 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
13408 val_t tmp;
13409 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13410 fra.me.file = LOCATE_parser_prod;
13411 fra.me.line = 2327;
13412 fra.me.meth = LOCATE_parser_prod___AConcreteInitPropdef___n_kwinit__eq;
13413 fra.me.has_broke = 0;
13414 fra.me.REG_size = 2;
13415 fra.me.REG[0] = NIT_NULL;
13416 fra.me.REG[1] = NIT_NULL;
13417 fra.me.REG[0] = p0;
13418 fra.me.REG[1] = p1;
13419 /* ./parser//parser_prod.nit:2329 */
13420 ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit(fra.me.REG[0]) = fra.me.REG[1];
13421 /* ./parser//parser_prod.nit:2330 */
13422 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
13423 stack_frame_head = fra.me.prev;
13424 return;
13425 }
13426 void parser_prod___AConcreteInitPropdef___replace_child(val_t p0, val_t p1, val_t p2){
13427 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
13428 val_t REGB0;
13429 val_t REGB1;
13430 val_t tmp;
13431 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13432 fra.me.file = LOCATE_parser_prod;
13433 fra.me.line = 2389;
13434 fra.me.meth = LOCATE_parser_prod___AConcreteInitPropdef___replace_child;
13435 fra.me.has_broke = 0;
13436 fra.me.REG_size = 4;
13437 fra.me.REG[0] = NIT_NULL;
13438 fra.me.REG[1] = NIT_NULL;
13439 fra.me.REG[2] = NIT_NULL;
13440 fra.me.REG[3] = NIT_NULL;
13441 fra.me.REG[0] = p0;
13442 fra.me.REG[1] = p1;
13443 fra.me.REG[2] = p2;
13444 fra.me.REG[3] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
13445 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
13446 /* ./parser//parser_prod.nit:2391 */
13447 if (UNTAG_Bool(REGB0)) {
13448 } else {
13449 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13450 if (UNTAG_Bool(REGB1)) {
13451 REGB1 = TAG_Bool(false);
13452 REGB0 = REGB1;
13453 } else {
13454 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
13455 REGB0 = REGB1;
13456 }
13457 }
13458 if (UNTAG_Bool(REGB0)) {
13459 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13460 /* ./parser//parser_prod.nit:2392 */
13461 if (UNTAG_Bool(REGB0)) {
13462 } else {
13463 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13464 if (UNTAG_Bool(REGB1)) {
13465 REGB1 = TAG_Bool(false);
13466 REGB0 = REGB1;
13467 } else {
13468 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
13469 REGB0 = REGB1;
13470 }
13471 }
13472 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13473 if (UNTAG_Bool(REGB0)) {
13474 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13475 /* ./parser//parser_prod.nit:2393 */
13476 if (UNTAG_Bool(REGB0)) {
13477 fprintf(stderr, "Reciever is null");
13478 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2393);
13479 nit_exit(1);
13480 }
13481 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
13482 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
13483 /* ./parser//parser_prod.nit:2394 */
13484 if (UNTAG_Bool(REGB0)) {
13485 } else {
13486 fprintf(stderr, "Assert failed");
13487 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2394);
13488 nit_exit(1);
13489 }
13490 /* ./parser//parser_prod.nit:2395 */
13491 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = fra.me.REG[2];
13492 } else {
13493 /* ./parser//parser_prod.nit:2397 */
13494 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = NIT_NULL;
13495 }
13496 /* ./parser//parser_prod.nit:2399 */
13497 goto label1;
13498 }
13499 fra.me.REG[3] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
13500 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
13501 /* ./parser//parser_prod.nit:2401 */
13502 if (UNTAG_Bool(REGB0)) {
13503 } else {
13504 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13505 if (UNTAG_Bool(REGB1)) {
13506 REGB1 = TAG_Bool(false);
13507 REGB0 = REGB1;
13508 } else {
13509 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
13510 REGB0 = REGB1;
13511 }
13512 }
13513 if (UNTAG_Bool(REGB0)) {
13514 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13515 /* ./parser//parser_prod.nit:2402 */
13516 if (UNTAG_Bool(REGB0)) {
13517 } else {
13518 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13519 if (UNTAG_Bool(REGB1)) {
13520 REGB1 = TAG_Bool(false);
13521 REGB0 = REGB1;
13522 } else {
13523 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
13524 REGB0 = REGB1;
13525 }
13526 }
13527 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13528 if (UNTAG_Bool(REGB0)) {
13529 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13530 /* ./parser//parser_prod.nit:2403 */
13531 if (UNTAG_Bool(REGB0)) {
13532 fprintf(stderr, "Reciever is null");
13533 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2403);
13534 nit_exit(1);
13535 }
13536 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
13537 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13538 /* ./parser//parser_prod.nit:2404 */
13539 if (UNTAG_Bool(REGB0)) {
13540 } else {
13541 fprintf(stderr, "Assert failed");
13542 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2404);
13543 nit_exit(1);
13544 }
13545 /* ./parser//parser_prod.nit:2405 */
13546 ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[2];
13547 } else {
13548 /* ./parser//parser_prod.nit:2407 */
13549 ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]) = NIT_NULL;
13550 }
13551 /* ./parser//parser_prod.nit:2409 */
13552 goto label1;
13553 }
13554 fra.me.REG[3] = ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]);
13555 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
13556 /* ./parser//parser_prod.nit:2411 */
13557 if (UNTAG_Bool(REGB0)) {
13558 } else {
13559 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13560 if (UNTAG_Bool(REGB1)) {
13561 REGB1 = TAG_Bool(false);
13562 REGB0 = REGB1;
13563 } else {
13564 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
13565 REGB0 = REGB1;
13566 }
13567 }
13568 if (UNTAG_Bool(REGB0)) {
13569 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13570 /* ./parser//parser_prod.nit:2412 */
13571 if (UNTAG_Bool(REGB0)) {
13572 } else {
13573 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13574 if (UNTAG_Bool(REGB1)) {
13575 REGB1 = TAG_Bool(false);
13576 REGB0 = REGB1;
13577 } else {
13578 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
13579 REGB0 = REGB1;
13580 }
13581 }
13582 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13583 if (UNTAG_Bool(REGB0)) {
13584 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13585 /* ./parser//parser_prod.nit:2413 */
13586 if (UNTAG_Bool(REGB0)) {
13587 fprintf(stderr, "Reciever is null");
13588 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2413);
13589 nit_exit(1);
13590 }
13591 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
13592 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AVisibility, ID_AVisibility)) /*cast AVisibility*/;
13593 /* ./parser//parser_prod.nit:2414 */
13594 if (UNTAG_Bool(REGB0)) {
13595 } else {
13596 fprintf(stderr, "Assert failed");
13597 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2414);
13598 nit_exit(1);
13599 }
13600 /* ./parser//parser_prod.nit:2415 */
13601 ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]) = fra.me.REG[2];
13602 } else {
13603 /* ./parser//parser_prod.nit:2417 */
13604 fprintf(stderr, "Aborted");
13605 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2417);
13606 nit_exit(1);
13607 }
13608 /* ./parser//parser_prod.nit:2419 */
13609 goto label1;
13610 }
13611 REGB0 = TAG_Bool(ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit(fra.me.REG[0])!=NIT_NULL);
13612 /* ./parser//parser_prod.nit:2421 */
13613 if (UNTAG_Bool(REGB0)) {
13614 } else {
13615 fprintf(stderr, "Uninitialized attribute %s", "_n_kwinit");
13616 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2421);
13617 nit_exit(1);
13618 }
13619 fra.me.REG[3] = ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit(fra.me.REG[0]);
13620 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
13621 if (UNTAG_Bool(REGB0)) {
13622 } else {
13623 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
13624 REGB0 = REGB1;
13625 }
13626 if (UNTAG_Bool(REGB0)) {
13627 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13628 /* ./parser//parser_prod.nit:2422 */
13629 if (UNTAG_Bool(REGB0)) {
13630 } else {
13631 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13632 if (UNTAG_Bool(REGB1)) {
13633 REGB1 = TAG_Bool(false);
13634 REGB0 = REGB1;
13635 } else {
13636 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
13637 REGB0 = REGB1;
13638 }
13639 }
13640 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13641 if (UNTAG_Bool(REGB0)) {
13642 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13643 /* ./parser//parser_prod.nit:2423 */
13644 if (UNTAG_Bool(REGB0)) {
13645 fprintf(stderr, "Reciever is null");
13646 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2423);
13647 nit_exit(1);
13648 }
13649 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
13650 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
13651 /* ./parser//parser_prod.nit:2424 */
13652 if (UNTAG_Bool(REGB0)) {
13653 } else {
13654 fprintf(stderr, "Assert failed");
13655 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2424);
13656 nit_exit(1);
13657 }
13658 /* ./parser//parser_prod.nit:2425 */
13659 ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit(fra.me.REG[0]) = fra.me.REG[2];
13660 } else {
13661 /* ./parser//parser_prod.nit:2427 */
13662 fprintf(stderr, "Aborted");
13663 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2427);
13664 nit_exit(1);
13665 }
13666 /* ./parser//parser_prod.nit:2429 */
13667 goto label1;
13668 }
13669 fra.me.REG[3] = ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]);
13670 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
13671 /* ./parser//parser_prod.nit:2431 */
13672 if (UNTAG_Bool(REGB0)) {
13673 } else {
13674 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13675 if (UNTAG_Bool(REGB1)) {
13676 REGB1 = TAG_Bool(false);
13677 REGB0 = REGB1;
13678 } else {
13679 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
13680 REGB0 = REGB1;
13681 }
13682 }
13683 if (UNTAG_Bool(REGB0)) {
13684 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13685 /* ./parser//parser_prod.nit:2432 */
13686 if (UNTAG_Bool(REGB0)) {
13687 } else {
13688 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13689 if (UNTAG_Bool(REGB1)) {
13690 REGB1 = TAG_Bool(false);
13691 REGB0 = REGB1;
13692 } else {
13693 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
13694 REGB0 = REGB1;
13695 }
13696 }
13697 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13698 if (UNTAG_Bool(REGB0)) {
13699 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13700 /* ./parser//parser_prod.nit:2433 */
13701 if (UNTAG_Bool(REGB0)) {
13702 fprintf(stderr, "Reciever is null");
13703 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2433);
13704 nit_exit(1);
13705 }
13706 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
13707 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AMethid, ID_AMethid)) /*cast AMethid*/;
13708 /* ./parser//parser_prod.nit:2434 */
13709 if (UNTAG_Bool(REGB0)) {
13710 } else {
13711 fprintf(stderr, "Assert failed");
13712 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2434);
13713 nit_exit(1);
13714 }
13715 /* ./parser//parser_prod.nit:2435 */
13716 ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]) = fra.me.REG[2];
13717 } else {
13718 /* ./parser//parser_prod.nit:2437 */
13719 ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]) = NIT_NULL;
13720 }
13721 /* ./parser//parser_prod.nit:2439 */
13722 goto label1;
13723 }
13724 fra.me.REG[3] = ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]);
13725 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
13726 /* ./parser//parser_prod.nit:2441 */
13727 if (UNTAG_Bool(REGB0)) {
13728 } else {
13729 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13730 if (UNTAG_Bool(REGB1)) {
13731 REGB1 = TAG_Bool(false);
13732 REGB0 = REGB1;
13733 } else {
13734 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
13735 REGB0 = REGB1;
13736 }
13737 }
13738 if (UNTAG_Bool(REGB0)) {
13739 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13740 /* ./parser//parser_prod.nit:2442 */
13741 if (UNTAG_Bool(REGB0)) {
13742 } else {
13743 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13744 if (UNTAG_Bool(REGB1)) {
13745 REGB1 = TAG_Bool(false);
13746 REGB0 = REGB1;
13747 } else {
13748 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
13749 REGB0 = REGB1;
13750 }
13751 }
13752 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13753 if (UNTAG_Bool(REGB0)) {
13754 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13755 /* ./parser//parser_prod.nit:2443 */
13756 if (UNTAG_Bool(REGB0)) {
13757 fprintf(stderr, "Reciever is null");
13758 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2443);
13759 nit_exit(1);
13760 }
13761 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
13762 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast ASignature*/;
13763 /* ./parser//parser_prod.nit:2444 */
13764 if (UNTAG_Bool(REGB0)) {
13765 } else {
13766 fprintf(stderr, "Assert failed");
13767 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2444);
13768 nit_exit(1);
13769 }
13770 /* ./parser//parser_prod.nit:2445 */
13771 ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]) = fra.me.REG[2];
13772 } else {
13773 /* ./parser//parser_prod.nit:2447 */
13774 fprintf(stderr, "Aborted");
13775 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2447);
13776 nit_exit(1);
13777 }
13778 /* ./parser//parser_prod.nit:2449 */
13779 goto label1;
13780 }
13781 fra.me.REG[3] = ATTR_parser_nodes___AConcreteMethPropdef____n_block(fra.me.REG[0]);
13782 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
13783 /* ./parser//parser_prod.nit:2451 */
13784 if (UNTAG_Bool(REGB0)) {
13785 } else {
13786 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
13787 if (UNTAG_Bool(REGB1)) {
13788 REGB1 = TAG_Bool(false);
13789 REGB0 = REGB1;
13790 } else {
13791 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
13792 REGB0 = REGB1;
13793 }
13794 }
13795 if (UNTAG_Bool(REGB0)) {
13796 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13797 /* ./parser//parser_prod.nit:2452 */
13798 if (UNTAG_Bool(REGB0)) {
13799 } else {
13800 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13801 if (UNTAG_Bool(REGB1)) {
13802 REGB1 = TAG_Bool(false);
13803 REGB0 = REGB1;
13804 } else {
13805 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
13806 REGB0 = REGB1;
13807 }
13808 }
13809 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13810 if (UNTAG_Bool(REGB0)) {
13811 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13812 /* ./parser//parser_prod.nit:2453 */
13813 if (UNTAG_Bool(REGB0)) {
13814 fprintf(stderr, "Reciever is null");
13815 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2453);
13816 nit_exit(1);
13817 }
13818 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
13819 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
13820 /* ./parser//parser_prod.nit:2454 */
13821 if (UNTAG_Bool(REGB0)) {
13822 } else {
13823 fprintf(stderr, "Assert failed");
13824 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2454);
13825 nit_exit(1);
13826 }
13827 /* ./parser//parser_prod.nit:2455 */
13828 ATTR_parser_nodes___AConcreteMethPropdef____n_block(fra.me.REG[0]) = fra.me.REG[2];
13829 } else {
13830 /* ./parser//parser_prod.nit:2457 */
13831 ATTR_parser_nodes___AConcreteMethPropdef____n_block(fra.me.REG[0]) = NIT_NULL;
13832 }
13833 /* ./parser//parser_prod.nit:2459 */
13834 goto label1;
13835 }
13836 label1: while(0);
13837 stack_frame_head = fra.me.prev;
13838 return;
13839 }
13840 void parser_prod___AConcreteInitPropdef___visit_all(val_t p0, val_t p1){
13841 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
13842 val_t REGB0;
13843 val_t REGB1;
13844 val_t tmp;
13845 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13846 fra.me.file = LOCATE_parser_prod;
13847 fra.me.line = 2463;
13848 fra.me.meth = LOCATE_parser_prod___AConcreteInitPropdef___visit_all;
13849 fra.me.has_broke = 0;
13850 fra.me.REG_size = 3;
13851 fra.me.REG[0] = NIT_NULL;
13852 fra.me.REG[1] = NIT_NULL;
13853 fra.me.REG[2] = NIT_NULL;
13854 fra.me.REG[0] = p0;
13855 fra.me.REG[1] = p1;
13856 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
13857 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13858 /* ./parser//parser_prod.nit:2465 */
13859 if (UNTAG_Bool(REGB0)) {
13860 } else {
13861 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13862 if (UNTAG_Bool(REGB1)) {
13863 REGB1 = TAG_Bool(false);
13864 REGB0 = REGB1;
13865 } else {
13866 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
13867 REGB0 = REGB1;
13868 }
13869 }
13870 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13871 if (UNTAG_Bool(REGB0)) {
13872 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
13873 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
13874 /* ./parser//parser_prod.nit:2466 */
13875 if (UNTAG_Bool(REGB0)) {
13876 } else {
13877 fprintf(stderr, "Cast failed");
13878 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2466);
13879 nit_exit(1);
13880 }
13881 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
13882 }
13883 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
13884 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13885 /* ./parser//parser_prod.nit:2468 */
13886 if (UNTAG_Bool(REGB0)) {
13887 } else {
13888 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13889 if (UNTAG_Bool(REGB1)) {
13890 REGB1 = TAG_Bool(false);
13891 REGB0 = REGB1;
13892 } else {
13893 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
13894 REGB0 = REGB1;
13895 }
13896 }
13897 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13898 if (UNTAG_Bool(REGB0)) {
13899 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
13900 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
13901 /* ./parser//parser_prod.nit:2469 */
13902 if (UNTAG_Bool(REGB0)) {
13903 } else {
13904 fprintf(stderr, "Cast failed");
13905 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2469);
13906 nit_exit(1);
13907 }
13908 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
13909 }
13910 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]);
13911 /* ./parser//parser_prod.nit:2471 */
13912 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
13913 REGB0 = TAG_Bool(ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit(fra.me.REG[0])!=NIT_NULL);
13914 /* ./parser//parser_prod.nit:2472 */
13915 if (UNTAG_Bool(REGB0)) {
13916 } else {
13917 fprintf(stderr, "Uninitialized attribute %s", "_n_kwinit");
13918 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2472);
13919 nit_exit(1);
13920 }
13921 fra.me.REG[2] = ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit(fra.me.REG[0]);
13922 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
13923 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]);
13924 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13925 /* ./parser//parser_prod.nit:2473 */
13926 if (UNTAG_Bool(REGB0)) {
13927 } else {
13928 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13929 if (UNTAG_Bool(REGB1)) {
13930 REGB1 = TAG_Bool(false);
13931 REGB0 = REGB1;
13932 } else {
13933 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
13934 REGB0 = REGB1;
13935 }
13936 }
13937 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13938 if (UNTAG_Bool(REGB0)) {
13939 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]);
13940 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AMethid, ID_AMethid)) /*cast AMethid*/;
13941 /* ./parser//parser_prod.nit:2474 */
13942 if (UNTAG_Bool(REGB0)) {
13943 } else {
13944 fprintf(stderr, "Cast failed");
13945 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2474);
13946 nit_exit(1);
13947 }
13948 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
13949 }
13950 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]);
13951 /* ./parser//parser_prod.nit:2476 */
13952 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
13953 fra.me.REG[2] = ATTR_parser_nodes___AConcreteMethPropdef____n_block(fra.me.REG[0]);
13954 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13955 /* ./parser//parser_prod.nit:2477 */
13956 if (UNTAG_Bool(REGB0)) {
13957 } else {
13958 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
13959 if (UNTAG_Bool(REGB1)) {
13960 REGB1 = TAG_Bool(false);
13961 REGB0 = REGB1;
13962 } else {
13963 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
13964 REGB0 = REGB1;
13965 }
13966 }
13967 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
13968 if (UNTAG_Bool(REGB0)) {
13969 fra.me.REG[0] = ATTR_parser_nodes___AConcreteMethPropdef____n_block(fra.me.REG[0]);
13970 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
13971 /* ./parser//parser_prod.nit:2478 */
13972 if (UNTAG_Bool(REGB0)) {
13973 } else {
13974 fprintf(stderr, "Cast failed");
13975 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2478);
13976 nit_exit(1);
13977 }
13978 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
13979 }
13980 stack_frame_head = fra.me.prev;
13981 return;
13982 }
13983 void parser_prod___AConcreteInitPropdef___visit_all_reverse(val_t p0, val_t p1){
13984 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
13985 val_t REGB0;
13986 val_t REGB1;
13987 val_t tmp;
13988 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
13989 fra.me.file = LOCATE_parser_prod;
13990 fra.me.line = 2482;
13991 fra.me.meth = LOCATE_parser_prod___AConcreteInitPropdef___visit_all_reverse;
13992 fra.me.has_broke = 0;
13993 fra.me.REG_size = 3;
13994 fra.me.REG[0] = NIT_NULL;
13995 fra.me.REG[1] = NIT_NULL;
13996 fra.me.REG[2] = NIT_NULL;
13997 fra.me.REG[0] = p0;
13998 fra.me.REG[1] = p1;
13999 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
14000 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14001 /* ./parser//parser_prod.nit:2484 */
14002 if (UNTAG_Bool(REGB0)) {
14003 } else {
14004 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14005 if (UNTAG_Bool(REGB1)) {
14006 REGB1 = TAG_Bool(false);
14007 REGB0 = REGB1;
14008 } else {
14009 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
14010 REGB0 = REGB1;
14011 }
14012 }
14013 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14014 if (UNTAG_Bool(REGB0)) {
14015 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
14016 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
14017 /* ./parser//parser_prod.nit:2485 */
14018 if (UNTAG_Bool(REGB0)) {
14019 } else {
14020 fprintf(stderr, "Cast failed");
14021 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2485);
14022 nit_exit(1);
14023 }
14024 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
14025 }
14026 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
14027 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14028 /* ./parser//parser_prod.nit:2487 */
14029 if (UNTAG_Bool(REGB0)) {
14030 } else {
14031 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14032 if (UNTAG_Bool(REGB1)) {
14033 REGB1 = TAG_Bool(false);
14034 REGB0 = REGB1;
14035 } else {
14036 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
14037 REGB0 = REGB1;
14038 }
14039 }
14040 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14041 if (UNTAG_Bool(REGB0)) {
14042 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
14043 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14044 /* ./parser//parser_prod.nit:2488 */
14045 if (UNTAG_Bool(REGB0)) {
14046 } else {
14047 fprintf(stderr, "Cast failed");
14048 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2488);
14049 nit_exit(1);
14050 }
14051 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
14052 }
14053 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]);
14054 /* ./parser//parser_prod.nit:2490 */
14055 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
14056 REGB0 = TAG_Bool(ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit(fra.me.REG[0])!=NIT_NULL);
14057 /* ./parser//parser_prod.nit:2491 */
14058 if (UNTAG_Bool(REGB0)) {
14059 } else {
14060 fprintf(stderr, "Uninitialized attribute %s", "_n_kwinit");
14061 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2491);
14062 nit_exit(1);
14063 }
14064 fra.me.REG[2] = ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit(fra.me.REG[0]);
14065 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
14066 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]);
14067 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14068 /* ./parser//parser_prod.nit:2492 */
14069 if (UNTAG_Bool(REGB0)) {
14070 } else {
14071 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14072 if (UNTAG_Bool(REGB1)) {
14073 REGB1 = TAG_Bool(false);
14074 REGB0 = REGB1;
14075 } else {
14076 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
14077 REGB0 = REGB1;
14078 }
14079 }
14080 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14081 if (UNTAG_Bool(REGB0)) {
14082 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]);
14083 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AMethid, ID_AMethid)) /*cast AMethid*/;
14084 /* ./parser//parser_prod.nit:2493 */
14085 if (UNTAG_Bool(REGB0)) {
14086 } else {
14087 fprintf(stderr, "Cast failed");
14088 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2493);
14089 nit_exit(1);
14090 }
14091 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
14092 }
14093 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]);
14094 /* ./parser//parser_prod.nit:2495 */
14095 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
14096 fra.me.REG[2] = ATTR_parser_nodes___AConcreteMethPropdef____n_block(fra.me.REG[0]);
14097 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14098 /* ./parser//parser_prod.nit:2496 */
14099 if (UNTAG_Bool(REGB0)) {
14100 } else {
14101 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14102 if (UNTAG_Bool(REGB1)) {
14103 REGB1 = TAG_Bool(false);
14104 REGB0 = REGB1;
14105 } else {
14106 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
14107 REGB0 = REGB1;
14108 }
14109 }
14110 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14111 if (UNTAG_Bool(REGB0)) {
14112 fra.me.REG[0] = ATTR_parser_nodes___AConcreteMethPropdef____n_block(fra.me.REG[0]);
14113 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
14114 /* ./parser//parser_prod.nit:2497 */
14115 if (UNTAG_Bool(REGB0)) {
14116 } else {
14117 fprintf(stderr, "Cast failed");
14118 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2497);
14119 nit_exit(1);
14120 }
14121 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
14122 }
14123 stack_frame_head = fra.me.prev;
14124 return;
14125 }
14126 void parser_prod___AConcreteInitPropdef___empty_init(val_t p0, int* init_table){
14127 int itpos47 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AConcreteInitPropdef].i;
14128 struct {struct stack_frame_t me;} fra;
14129 val_t tmp;
14130 if (init_table[itpos47]) return;
14131 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14132 fra.me.file = LOCATE_parser_prod;
14133 fra.me.line = 2352;
14134 fra.me.meth = LOCATE_parser_prod___AConcreteInitPropdef___empty_init;
14135 fra.me.has_broke = 0;
14136 fra.me.REG_size = 1;
14137 fra.me.REG[0] = NIT_NULL;
14138 fra.me.REG[0] = p0;
14139 /* ./parser//parser_prod.nit:2352 */
14140 stack_frame_head = fra.me.prev;
14141 init_table[itpos47] = 1;
14142 return;
14143 }
14144 void parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6, val_t p7, int* init_table){
14145 int itpos48 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AConcreteInitPropdef].i;
14146 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
14147 val_t REGB0;
14148 val_t REGB1;
14149 val_t tmp;
14150 if (init_table[itpos48]) return;
14151 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14152 fra.me.file = LOCATE_parser_prod;
14153 fra.me.line = 2354;
14154 fra.me.meth = LOCATE_parser_prod___AConcreteInitPropdef___init_aconcreteinitpropdef;
14155 fra.me.has_broke = 0;
14156 fra.me.REG_size = 8;
14157 fra.me.REG[0] = NIT_NULL;
14158 fra.me.REG[1] = NIT_NULL;
14159 fra.me.REG[2] = NIT_NULL;
14160 fra.me.REG[3] = NIT_NULL;
14161 fra.me.REG[4] = NIT_NULL;
14162 fra.me.REG[5] = NIT_NULL;
14163 fra.me.REG[6] = NIT_NULL;
14164 fra.me.REG[7] = NIT_NULL;
14165 fra.me.REG[0] = p0;
14166 fra.me.REG[1] = p1;
14167 fra.me.REG[2] = p2;
14168 fra.me.REG[3] = p3;
14169 fra.me.REG[4] = p4;
14170 fra.me.REG[5] = p5;
14171 fra.me.REG[6] = p6;
14172 fra.me.REG[7] = p7;
14173 /* ./parser//parser_prod.nit:2364 */
14174 CALL_parser_prod___AConcreteInitPropdef___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
14175 /* ./parser//parser_prod.nit:2365 */
14176 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = fra.me.REG[1];
14177 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
14178 /* ./parser//parser_prod.nit:2366 */
14179 if (UNTAG_Bool(REGB0)) {
14180 } else {
14181 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
14182 if (UNTAG_Bool(REGB1)) {
14183 REGB1 = TAG_Bool(false);
14184 REGB0 = REGB1;
14185 } else {
14186 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
14187 REGB0 = REGB1;
14188 }
14189 }
14190 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14191 if (UNTAG_Bool(REGB0)) {
14192 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
14193 /* ./parser//parser_prod.nit:2367 */
14194 if (UNTAG_Bool(REGB0)) {
14195 fprintf(stderr, "Reciever is null");
14196 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2367);
14197 nit_exit(1);
14198 }
14199 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
14200 }
14201 /* ./parser//parser_prod.nit:2369 */
14202 ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[2];
14203 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14204 /* ./parser//parser_prod.nit:2370 */
14205 if (UNTAG_Bool(REGB0)) {
14206 } else {
14207 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14208 if (UNTAG_Bool(REGB1)) {
14209 REGB1 = TAG_Bool(false);
14210 REGB0 = REGB1;
14211 } else {
14212 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
14213 REGB0 = REGB1;
14214 }
14215 }
14216 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14217 if (UNTAG_Bool(REGB0)) {
14218 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14219 /* ./parser//parser_prod.nit:2371 */
14220 if (UNTAG_Bool(REGB0)) {
14221 fprintf(stderr, "Reciever is null");
14222 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2371);
14223 nit_exit(1);
14224 }
14225 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
14226 }
14227 REGB0 = TAG_Bool(fra.me.REG[3]!=NIT_NULL);
14228 /* ./parser//parser_prod.nit:2373 */
14229 if (UNTAG_Bool(REGB0)) {
14230 } else {
14231 fprintf(stderr, "Cast failed");
14232 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2373);
14233 nit_exit(1);
14234 }
14235 ATTR_parser_nodes___AMethPropdef____n_visibility(fra.me.REG[0]) = fra.me.REG[3];
14236 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
14237 /* ./parser//parser_prod.nit:2374 */
14238 if (UNTAG_Bool(REGB0)) {
14239 fprintf(stderr, "Reciever is null");
14240 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2374);
14241 nit_exit(1);
14242 }
14243 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
14244 REGB0 = TAG_Bool(fra.me.REG[4]!=NIT_NULL);
14245 /* ./parser//parser_prod.nit:2375 */
14246 if (UNTAG_Bool(REGB0)) {
14247 } else {
14248 fprintf(stderr, "Cast failed");
14249 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2375);
14250 nit_exit(1);
14251 }
14252 ATTR_parser_nodes___AConcreteInitPropdef____n_kwinit(fra.me.REG[0]) = fra.me.REG[4];
14253 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
14254 /* ./parser//parser_prod.nit:2376 */
14255 if (UNTAG_Bool(REGB0)) {
14256 fprintf(stderr, "Reciever is null");
14257 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2376);
14258 nit_exit(1);
14259 }
14260 CALL_parser_prod___ANode___parent__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
14261 /* ./parser//parser_prod.nit:2377 */
14262 ATTR_parser_nodes___AMethPropdef____n_methid(fra.me.REG[0]) = fra.me.REG[5];
14263 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
14264 /* ./parser//parser_prod.nit:2378 */
14265 if (UNTAG_Bool(REGB0)) {
14266 } else {
14267 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
14268 if (UNTAG_Bool(REGB1)) {
14269 REGB1 = TAG_Bool(false);
14270 REGB0 = REGB1;
14271 } else {
14272 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
14273 REGB0 = REGB1;
14274 }
14275 }
14276 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14277 if (UNTAG_Bool(REGB0)) {
14278 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
14279 /* ./parser//parser_prod.nit:2379 */
14280 if (UNTAG_Bool(REGB0)) {
14281 fprintf(stderr, "Reciever is null");
14282 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2379);
14283 nit_exit(1);
14284 }
14285 CALL_parser_prod___ANode___parent__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[0]);
14286 }
14287 REGB0 = TAG_Bool(fra.me.REG[6]!=NIT_NULL);
14288 /* ./parser//parser_prod.nit:2381 */
14289 if (UNTAG_Bool(REGB0)) {
14290 } else {
14291 fprintf(stderr, "Cast failed");
14292 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2381);
14293 nit_exit(1);
14294 }
14295 ATTR_parser_nodes___AMethPropdef____n_signature(fra.me.REG[0]) = fra.me.REG[6];
14296 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
14297 /* ./parser//parser_prod.nit:2382 */
14298 if (UNTAG_Bool(REGB0)) {
14299 fprintf(stderr, "Reciever is null");
14300 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2382);
14301 nit_exit(1);
14302 }
14303 CALL_parser_prod___ANode___parent__eq(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[0]);
14304 /* ./parser//parser_prod.nit:2383 */
14305 ATTR_parser_nodes___AConcreteMethPropdef____n_block(fra.me.REG[0]) = fra.me.REG[7];
14306 REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
14307 /* ./parser//parser_prod.nit:2384 */
14308 if (UNTAG_Bool(REGB0)) {
14309 } else {
14310 REGB1 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
14311 if (UNTAG_Bool(REGB1)) {
14312 REGB1 = TAG_Bool(false);
14313 REGB0 = REGB1;
14314 } else {
14315 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[7])(fra.me.REG[7], NIT_NULL);
14316 REGB0 = REGB1;
14317 }
14318 }
14319 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14320 if (UNTAG_Bool(REGB0)) {
14321 REGB0 = TAG_Bool(fra.me.REG[7]==NIT_NULL);
14322 /* ./parser//parser_prod.nit:2385 */
14323 if (UNTAG_Bool(REGB0)) {
14324 fprintf(stderr, "Reciever is null");
14325 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2385);
14326 nit_exit(1);
14327 }
14328 CALL_parser_prod___ANode___parent__eq(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[0]);
14329 }
14330 stack_frame_head = fra.me.prev;
14331 init_table[itpos48] = 1;
14332 return;
14333 }
14334 void parser_prod___AMainMethPropdef___n_kwredef__eq(val_t p0, val_t p1){
14335 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
14336 val_t REGB0;
14337 val_t REGB1;
14338 val_t tmp;
14339 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14340 fra.me.file = LOCATE_parser_prod;
14341 fra.me.line = 2502;
14342 fra.me.meth = LOCATE_parser_prod___AMainMethPropdef___n_kwredef__eq;
14343 fra.me.has_broke = 0;
14344 fra.me.REG_size = 2;
14345 fra.me.REG[0] = NIT_NULL;
14346 fra.me.REG[1] = NIT_NULL;
14347 fra.me.REG[0] = p0;
14348 fra.me.REG[1] = p1;
14349 /* ./parser//parser_prod.nit:2504 */
14350 ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[1];
14351 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
14352 /* ./parser//parser_prod.nit:2505 */
14353 if (UNTAG_Bool(REGB0)) {
14354 } else {
14355 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
14356 if (UNTAG_Bool(REGB1)) {
14357 REGB1 = TAG_Bool(false);
14358 REGB0 = REGB1;
14359 } else {
14360 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
14361 REGB0 = REGB1;
14362 }
14363 }
14364 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14365 if (UNTAG_Bool(REGB0)) {
14366 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
14367 /* ./parser//parser_prod.nit:2506 */
14368 if (UNTAG_Bool(REGB0)) {
14369 fprintf(stderr, "Reciever is null");
14370 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2506);
14371 nit_exit(1);
14372 }
14373 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
14374 }
14375 stack_frame_head = fra.me.prev;
14376 return;
14377 }
14378 void parser_prod___AMainMethPropdef___n_block__eq(val_t p0, val_t p1){
14379 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
14380 val_t REGB0;
14381 val_t REGB1;
14382 val_t tmp;
14383 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14384 fra.me.file = LOCATE_parser_prod;
14385 fra.me.line = 2509;
14386 fra.me.meth = LOCATE_parser_prod___AMainMethPropdef___n_block__eq;
14387 fra.me.has_broke = 0;
14388 fra.me.REG_size = 2;
14389 fra.me.REG[0] = NIT_NULL;
14390 fra.me.REG[1] = NIT_NULL;
14391 fra.me.REG[0] = p0;
14392 fra.me.REG[1] = p1;
14393 /* ./parser//parser_prod.nit:2511 */
14394 ATTR_parser_nodes___AConcreteMethPropdef____n_block(fra.me.REG[0]) = fra.me.REG[1];
14395 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
14396 /* ./parser//parser_prod.nit:2512 */
14397 if (UNTAG_Bool(REGB0)) {
14398 } else {
14399 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
14400 if (UNTAG_Bool(REGB1)) {
14401 REGB1 = TAG_Bool(false);
14402 REGB0 = REGB1;
14403 } else {
14404 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
14405 REGB0 = REGB1;
14406 }
14407 }
14408 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14409 if (UNTAG_Bool(REGB0)) {
14410 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
14411 /* ./parser//parser_prod.nit:2513 */
14412 if (UNTAG_Bool(REGB0)) {
14413 fprintf(stderr, "Reciever is null");
14414 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2513);
14415 nit_exit(1);
14416 }
14417 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
14418 }
14419 stack_frame_head = fra.me.prev;
14420 return;
14421 }
14422 void parser_prod___AMainMethPropdef___replace_child(val_t p0, val_t p1, val_t p2){
14423 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
14424 val_t REGB0;
14425 val_t REGB1;
14426 val_t tmp;
14427 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14428 fra.me.file = LOCATE_parser_prod;
14429 fra.me.line = 2535;
14430 fra.me.meth = LOCATE_parser_prod___AMainMethPropdef___replace_child;
14431 fra.me.has_broke = 0;
14432 fra.me.REG_size = 4;
14433 fra.me.REG[0] = NIT_NULL;
14434 fra.me.REG[1] = NIT_NULL;
14435 fra.me.REG[2] = NIT_NULL;
14436 fra.me.REG[3] = NIT_NULL;
14437 fra.me.REG[0] = p0;
14438 fra.me.REG[1] = p1;
14439 fra.me.REG[2] = p2;
14440 fra.me.REG[3] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
14441 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
14442 /* ./parser//parser_prod.nit:2537 */
14443 if (UNTAG_Bool(REGB0)) {
14444 } else {
14445 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
14446 if (UNTAG_Bool(REGB1)) {
14447 REGB1 = TAG_Bool(false);
14448 REGB0 = REGB1;
14449 } else {
14450 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
14451 REGB0 = REGB1;
14452 }
14453 }
14454 if (UNTAG_Bool(REGB0)) {
14455 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14456 /* ./parser//parser_prod.nit:2538 */
14457 if (UNTAG_Bool(REGB0)) {
14458 } else {
14459 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14460 if (UNTAG_Bool(REGB1)) {
14461 REGB1 = TAG_Bool(false);
14462 REGB0 = REGB1;
14463 } else {
14464 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
14465 REGB0 = REGB1;
14466 }
14467 }
14468 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14469 if (UNTAG_Bool(REGB0)) {
14470 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14471 /* ./parser//parser_prod.nit:2539 */
14472 if (UNTAG_Bool(REGB0)) {
14473 fprintf(stderr, "Reciever is null");
14474 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2539);
14475 nit_exit(1);
14476 }
14477 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
14478 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14479 /* ./parser//parser_prod.nit:2540 */
14480 if (UNTAG_Bool(REGB0)) {
14481 } else {
14482 fprintf(stderr, "Assert failed");
14483 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2540);
14484 nit_exit(1);
14485 }
14486 /* ./parser//parser_prod.nit:2541 */
14487 ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[2];
14488 } else {
14489 /* ./parser//parser_prod.nit:2543 */
14490 ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]) = NIT_NULL;
14491 }
14492 /* ./parser//parser_prod.nit:2545 */
14493 goto label1;
14494 }
14495 fra.me.REG[3] = ATTR_parser_nodes___AConcreteMethPropdef____n_block(fra.me.REG[0]);
14496 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
14497 /* ./parser//parser_prod.nit:2547 */
14498 if (UNTAG_Bool(REGB0)) {
14499 } else {
14500 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
14501 if (UNTAG_Bool(REGB1)) {
14502 REGB1 = TAG_Bool(false);
14503 REGB0 = REGB1;
14504 } else {
14505 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
14506 REGB0 = REGB1;
14507 }
14508 }
14509 if (UNTAG_Bool(REGB0)) {
14510 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14511 /* ./parser//parser_prod.nit:2548 */
14512 if (UNTAG_Bool(REGB0)) {
14513 } else {
14514 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14515 if (UNTAG_Bool(REGB1)) {
14516 REGB1 = TAG_Bool(false);
14517 REGB0 = REGB1;
14518 } else {
14519 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
14520 REGB0 = REGB1;
14521 }
14522 }
14523 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14524 if (UNTAG_Bool(REGB0)) {
14525 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14526 /* ./parser//parser_prod.nit:2549 */
14527 if (UNTAG_Bool(REGB0)) {
14528 fprintf(stderr, "Reciever is null");
14529 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2549);
14530 nit_exit(1);
14531 }
14532 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
14533 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
14534 /* ./parser//parser_prod.nit:2550 */
14535 if (UNTAG_Bool(REGB0)) {
14536 } else {
14537 fprintf(stderr, "Assert failed");
14538 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2550);
14539 nit_exit(1);
14540 }
14541 /* ./parser//parser_prod.nit:2551 */
14542 ATTR_parser_nodes___AConcreteMethPropdef____n_block(fra.me.REG[0]) = fra.me.REG[2];
14543 } else {
14544 /* ./parser//parser_prod.nit:2553 */
14545 ATTR_parser_nodes___AConcreteMethPropdef____n_block(fra.me.REG[0]) = NIT_NULL;
14546 }
14547 /* ./parser//parser_prod.nit:2555 */
14548 goto label1;
14549 }
14550 label1: while(0);
14551 stack_frame_head = fra.me.prev;
14552 return;
14553 }
14554 void parser_prod___AMainMethPropdef___visit_all(val_t p0, val_t p1){
14555 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
14556 val_t REGB0;
14557 val_t REGB1;
14558 val_t tmp;
14559 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14560 fra.me.file = LOCATE_parser_prod;
14561 fra.me.line = 2559;
14562 fra.me.meth = LOCATE_parser_prod___AMainMethPropdef___visit_all;
14563 fra.me.has_broke = 0;
14564 fra.me.REG_size = 3;
14565 fra.me.REG[0] = NIT_NULL;
14566 fra.me.REG[1] = NIT_NULL;
14567 fra.me.REG[2] = NIT_NULL;
14568 fra.me.REG[0] = p0;
14569 fra.me.REG[1] = p1;
14570 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
14571 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14572 /* ./parser//parser_prod.nit:2561 */
14573 if (UNTAG_Bool(REGB0)) {
14574 } else {
14575 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14576 if (UNTAG_Bool(REGB1)) {
14577 REGB1 = TAG_Bool(false);
14578 REGB0 = REGB1;
14579 } else {
14580 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
14581 REGB0 = REGB1;
14582 }
14583 }
14584 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14585 if (UNTAG_Bool(REGB0)) {
14586 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
14587 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14588 /* ./parser//parser_prod.nit:2562 */
14589 if (UNTAG_Bool(REGB0)) {
14590 } else {
14591 fprintf(stderr, "Cast failed");
14592 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2562);
14593 nit_exit(1);
14594 }
14595 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
14596 }
14597 fra.me.REG[2] = ATTR_parser_nodes___AConcreteMethPropdef____n_block(fra.me.REG[0]);
14598 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14599 /* ./parser//parser_prod.nit:2564 */
14600 if (UNTAG_Bool(REGB0)) {
14601 } else {
14602 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14603 if (UNTAG_Bool(REGB1)) {
14604 REGB1 = TAG_Bool(false);
14605 REGB0 = REGB1;
14606 } else {
14607 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
14608 REGB0 = REGB1;
14609 }
14610 }
14611 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14612 if (UNTAG_Bool(REGB0)) {
14613 fra.me.REG[0] = ATTR_parser_nodes___AConcreteMethPropdef____n_block(fra.me.REG[0]);
14614 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
14615 /* ./parser//parser_prod.nit:2565 */
14616 if (UNTAG_Bool(REGB0)) {
14617 } else {
14618 fprintf(stderr, "Cast failed");
14619 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2565);
14620 nit_exit(1);
14621 }
14622 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
14623 }
14624 stack_frame_head = fra.me.prev;
14625 return;
14626 }
14627 void parser_prod___AMainMethPropdef___visit_all_reverse(val_t p0, val_t p1){
14628 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
14629 val_t REGB0;
14630 val_t REGB1;
14631 val_t tmp;
14632 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14633 fra.me.file = LOCATE_parser_prod;
14634 fra.me.line = 2569;
14635 fra.me.meth = LOCATE_parser_prod___AMainMethPropdef___visit_all_reverse;
14636 fra.me.has_broke = 0;
14637 fra.me.REG_size = 3;
14638 fra.me.REG[0] = NIT_NULL;
14639 fra.me.REG[1] = NIT_NULL;
14640 fra.me.REG[2] = NIT_NULL;
14641 fra.me.REG[0] = p0;
14642 fra.me.REG[1] = p1;
14643 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
14644 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14645 /* ./parser//parser_prod.nit:2571 */
14646 if (UNTAG_Bool(REGB0)) {
14647 } else {
14648 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14649 if (UNTAG_Bool(REGB1)) {
14650 REGB1 = TAG_Bool(false);
14651 REGB0 = REGB1;
14652 } else {
14653 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
14654 REGB0 = REGB1;
14655 }
14656 }
14657 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14658 if (UNTAG_Bool(REGB0)) {
14659 fra.me.REG[2] = ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]);
14660 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
14661 /* ./parser//parser_prod.nit:2572 */
14662 if (UNTAG_Bool(REGB0)) {
14663 } else {
14664 fprintf(stderr, "Cast failed");
14665 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2572);
14666 nit_exit(1);
14667 }
14668 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
14669 }
14670 fra.me.REG[2] = ATTR_parser_nodes___AConcreteMethPropdef____n_block(fra.me.REG[0]);
14671 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14672 /* ./parser//parser_prod.nit:2574 */
14673 if (UNTAG_Bool(REGB0)) {
14674 } else {
14675 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14676 if (UNTAG_Bool(REGB1)) {
14677 REGB1 = TAG_Bool(false);
14678 REGB0 = REGB1;
14679 } else {
14680 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
14681 REGB0 = REGB1;
14682 }
14683 }
14684 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14685 if (UNTAG_Bool(REGB0)) {
14686 fra.me.REG[0] = ATTR_parser_nodes___AConcreteMethPropdef____n_block(fra.me.REG[0]);
14687 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
14688 /* ./parser//parser_prod.nit:2575 */
14689 if (UNTAG_Bool(REGB0)) {
14690 } else {
14691 fprintf(stderr, "Cast failed");
14692 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2575);
14693 nit_exit(1);
14694 }
14695 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
14696 }
14697 stack_frame_head = fra.me.prev;
14698 return;
14699 }
14700 void parser_prod___AMainMethPropdef___empty_init(val_t p0, int* init_table){
14701 int itpos49 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AMainMethPropdef].i;
14702 struct {struct stack_frame_t me;} fra;
14703 val_t tmp;
14704 if (init_table[itpos49]) return;
14705 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14706 fra.me.file = LOCATE_parser_prod;
14707 fra.me.line = 2517;
14708 fra.me.meth = LOCATE_parser_prod___AMainMethPropdef___empty_init;
14709 fra.me.has_broke = 0;
14710 fra.me.REG_size = 1;
14711 fra.me.REG[0] = NIT_NULL;
14712 fra.me.REG[0] = p0;
14713 /* ./parser//parser_prod.nit:2517 */
14714 stack_frame_head = fra.me.prev;
14715 init_table[itpos49] = 1;
14716 return;
14717 }
14718 void parser_prod___AMainMethPropdef___init_amainmethpropdef(val_t p0, val_t p1, val_t p2, int* init_table){
14719 int itpos50 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AMainMethPropdef].i;
14720 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
14721 val_t REGB0;
14722 val_t REGB1;
14723 val_t tmp;
14724 if (init_table[itpos50]) return;
14725 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14726 fra.me.file = LOCATE_parser_prod;
14727 fra.me.line = 2519;
14728 fra.me.meth = LOCATE_parser_prod___AMainMethPropdef___init_amainmethpropdef;
14729 fra.me.has_broke = 0;
14730 fra.me.REG_size = 3;
14731 fra.me.REG[0] = NIT_NULL;
14732 fra.me.REG[1] = NIT_NULL;
14733 fra.me.REG[2] = NIT_NULL;
14734 fra.me.REG[0] = p0;
14735 fra.me.REG[1] = p1;
14736 fra.me.REG[2] = p2;
14737 /* ./parser//parser_prod.nit:2524 */
14738 CALL_parser_prod___AMainMethPropdef___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
14739 /* ./parser//parser_prod.nit:2525 */
14740 ATTR_parser_nodes___AMethPropdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[1];
14741 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
14742 /* ./parser//parser_prod.nit:2526 */
14743 if (UNTAG_Bool(REGB0)) {
14744 } else {
14745 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
14746 if (UNTAG_Bool(REGB1)) {
14747 REGB1 = TAG_Bool(false);
14748 REGB0 = REGB1;
14749 } else {
14750 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
14751 REGB0 = REGB1;
14752 }
14753 }
14754 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14755 if (UNTAG_Bool(REGB0)) {
14756 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
14757 /* ./parser//parser_prod.nit:2527 */
14758 if (UNTAG_Bool(REGB0)) {
14759 fprintf(stderr, "Reciever is null");
14760 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2527);
14761 nit_exit(1);
14762 }
14763 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
14764 }
14765 /* ./parser//parser_prod.nit:2529 */
14766 ATTR_parser_nodes___AConcreteMethPropdef____n_block(fra.me.REG[0]) = fra.me.REG[2];
14767 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14768 /* ./parser//parser_prod.nit:2530 */
14769 if (UNTAG_Bool(REGB0)) {
14770 } else {
14771 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14772 if (UNTAG_Bool(REGB1)) {
14773 REGB1 = TAG_Bool(false);
14774 REGB0 = REGB1;
14775 } else {
14776 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
14777 REGB0 = REGB1;
14778 }
14779 }
14780 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14781 if (UNTAG_Bool(REGB0)) {
14782 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14783 /* ./parser//parser_prod.nit:2531 */
14784 if (UNTAG_Bool(REGB0)) {
14785 fprintf(stderr, "Reciever is null");
14786 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2531);
14787 nit_exit(1);
14788 }
14789 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
14790 }
14791 stack_frame_head = fra.me.prev;
14792 init_table[itpos50] = 1;
14793 return;
14794 }
14795 void parser_prod___ATypePropdef___n_doc__eq(val_t p0, val_t p1){
14796 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
14797 val_t REGB0;
14798 val_t REGB1;
14799 val_t tmp;
14800 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14801 fra.me.file = LOCATE_parser_prod;
14802 fra.me.line = 2580;
14803 fra.me.meth = LOCATE_parser_prod___ATypePropdef___n_doc__eq;
14804 fra.me.has_broke = 0;
14805 fra.me.REG_size = 2;
14806 fra.me.REG[0] = NIT_NULL;
14807 fra.me.REG[1] = NIT_NULL;
14808 fra.me.REG[0] = p0;
14809 fra.me.REG[1] = p1;
14810 /* ./parser//parser_prod.nit:2582 */
14811 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = fra.me.REG[1];
14812 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
14813 /* ./parser//parser_prod.nit:2583 */
14814 if (UNTAG_Bool(REGB0)) {
14815 } else {
14816 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
14817 if (UNTAG_Bool(REGB1)) {
14818 REGB1 = TAG_Bool(false);
14819 REGB0 = REGB1;
14820 } else {
14821 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
14822 REGB0 = REGB1;
14823 }
14824 }
14825 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14826 if (UNTAG_Bool(REGB0)) {
14827 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
14828 /* ./parser//parser_prod.nit:2584 */
14829 if (UNTAG_Bool(REGB0)) {
14830 fprintf(stderr, "Reciever is null");
14831 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2584);
14832 nit_exit(1);
14833 }
14834 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
14835 }
14836 stack_frame_head = fra.me.prev;
14837 return;
14838 }
14839 void parser_prod___ATypePropdef___n_kwredef__eq(val_t p0, val_t p1){
14840 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
14841 val_t REGB0;
14842 val_t REGB1;
14843 val_t tmp;
14844 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14845 fra.me.file = LOCATE_parser_prod;
14846 fra.me.line = 2587;
14847 fra.me.meth = LOCATE_parser_prod___ATypePropdef___n_kwredef__eq;
14848 fra.me.has_broke = 0;
14849 fra.me.REG_size = 2;
14850 fra.me.REG[0] = NIT_NULL;
14851 fra.me.REG[1] = NIT_NULL;
14852 fra.me.REG[0] = p0;
14853 fra.me.REG[1] = p1;
14854 /* ./parser//parser_prod.nit:2589 */
14855 ATTR_parser_nodes___ATypePropdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[1];
14856 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
14857 /* ./parser//parser_prod.nit:2590 */
14858 if (UNTAG_Bool(REGB0)) {
14859 } else {
14860 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
14861 if (UNTAG_Bool(REGB1)) {
14862 REGB1 = TAG_Bool(false);
14863 REGB0 = REGB1;
14864 } else {
14865 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
14866 REGB0 = REGB1;
14867 }
14868 }
14869 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
14870 if (UNTAG_Bool(REGB0)) {
14871 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
14872 /* ./parser//parser_prod.nit:2591 */
14873 if (UNTAG_Bool(REGB0)) {
14874 fprintf(stderr, "Reciever is null");
14875 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2591);
14876 nit_exit(1);
14877 }
14878 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
14879 }
14880 stack_frame_head = fra.me.prev;
14881 return;
14882 }
14883 void parser_prod___ATypePropdef___n_visibility__eq(val_t p0, val_t p1){
14884 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
14885 val_t tmp;
14886 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14887 fra.me.file = LOCATE_parser_prod;
14888 fra.me.line = 2594;
14889 fra.me.meth = LOCATE_parser_prod___ATypePropdef___n_visibility__eq;
14890 fra.me.has_broke = 0;
14891 fra.me.REG_size = 2;
14892 fra.me.REG[0] = NIT_NULL;
14893 fra.me.REG[1] = NIT_NULL;
14894 fra.me.REG[0] = p0;
14895 fra.me.REG[1] = p1;
14896 /* ./parser//parser_prod.nit:2596 */
14897 ATTR_parser_nodes___ATypePropdef____n_visibility(fra.me.REG[0]) = fra.me.REG[1];
14898 /* ./parser//parser_prod.nit:2597 */
14899 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
14900 stack_frame_head = fra.me.prev;
14901 return;
14902 }
14903 void parser_prod___ATypePropdef___n_kwtype__eq(val_t p0, val_t p1){
14904 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
14905 val_t tmp;
14906 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14907 fra.me.file = LOCATE_parser_prod;
14908 fra.me.line = 2599;
14909 fra.me.meth = LOCATE_parser_prod___ATypePropdef___n_kwtype__eq;
14910 fra.me.has_broke = 0;
14911 fra.me.REG_size = 2;
14912 fra.me.REG[0] = NIT_NULL;
14913 fra.me.REG[1] = NIT_NULL;
14914 fra.me.REG[0] = p0;
14915 fra.me.REG[1] = p1;
14916 /* ./parser//parser_prod.nit:2601 */
14917 ATTR_parser_nodes___ATypePropdef____n_kwtype(fra.me.REG[0]) = fra.me.REG[1];
14918 /* ./parser//parser_prod.nit:2602 */
14919 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
14920 stack_frame_head = fra.me.prev;
14921 return;
14922 }
14923 void parser_prod___ATypePropdef___n_id__eq(val_t p0, val_t p1){
14924 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
14925 val_t tmp;
14926 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14927 fra.me.file = LOCATE_parser_prod;
14928 fra.me.line = 2604;
14929 fra.me.meth = LOCATE_parser_prod___ATypePropdef___n_id__eq;
14930 fra.me.has_broke = 0;
14931 fra.me.REG_size = 2;
14932 fra.me.REG[0] = NIT_NULL;
14933 fra.me.REG[1] = NIT_NULL;
14934 fra.me.REG[0] = p0;
14935 fra.me.REG[1] = p1;
14936 /* ./parser//parser_prod.nit:2606 */
14937 ATTR_parser_nodes___ATypePropdef____n_id(fra.me.REG[0]) = fra.me.REG[1];
14938 /* ./parser//parser_prod.nit:2607 */
14939 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
14940 stack_frame_head = fra.me.prev;
14941 return;
14942 }
14943 void parser_prod___ATypePropdef___n_type__eq(val_t p0, val_t p1){
14944 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
14945 val_t tmp;
14946 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14947 fra.me.file = LOCATE_parser_prod;
14948 fra.me.line = 2609;
14949 fra.me.meth = LOCATE_parser_prod___ATypePropdef___n_type__eq;
14950 fra.me.has_broke = 0;
14951 fra.me.REG_size = 2;
14952 fra.me.REG[0] = NIT_NULL;
14953 fra.me.REG[1] = NIT_NULL;
14954 fra.me.REG[0] = p0;
14955 fra.me.REG[1] = p1;
14956 /* ./parser//parser_prod.nit:2611 */
14957 ATTR_parser_nodes___ATypePropdef____n_type(fra.me.REG[0]) = fra.me.REG[1];
14958 /* ./parser//parser_prod.nit:2612 */
14959 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
14960 stack_frame_head = fra.me.prev;
14961 return;
14962 }
14963 void parser_prod___ATypePropdef___replace_child(val_t p0, val_t p1, val_t p2){
14964 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
14965 val_t REGB0;
14966 val_t REGB1;
14967 val_t tmp;
14968 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
14969 fra.me.file = LOCATE_parser_prod;
14970 fra.me.line = 2645;
14971 fra.me.meth = LOCATE_parser_prod___ATypePropdef___replace_child;
14972 fra.me.has_broke = 0;
14973 fra.me.REG_size = 4;
14974 fra.me.REG[0] = NIT_NULL;
14975 fra.me.REG[1] = NIT_NULL;
14976 fra.me.REG[2] = NIT_NULL;
14977 fra.me.REG[3] = NIT_NULL;
14978 fra.me.REG[0] = p0;
14979 fra.me.REG[1] = p1;
14980 fra.me.REG[2] = p2;
14981 fra.me.REG[3] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
14982 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
14983 /* ./parser//parser_prod.nit:2647 */
14984 if (UNTAG_Bool(REGB0)) {
14985 } else {
14986 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
14987 if (UNTAG_Bool(REGB1)) {
14988 REGB1 = TAG_Bool(false);
14989 REGB0 = REGB1;
14990 } else {
14991 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
14992 REGB0 = REGB1;
14993 }
14994 }
14995 if (UNTAG_Bool(REGB0)) {
14996 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
14997 /* ./parser//parser_prod.nit:2648 */
14998 if (UNTAG_Bool(REGB0)) {
14999 } else {
15000 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15001 if (UNTAG_Bool(REGB1)) {
15002 REGB1 = TAG_Bool(false);
15003 REGB0 = REGB1;
15004 } else {
15005 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
15006 REGB0 = REGB1;
15007 }
15008 }
15009 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
15010 if (UNTAG_Bool(REGB0)) {
15011 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15012 /* ./parser//parser_prod.nit:2649 */
15013 if (UNTAG_Bool(REGB0)) {
15014 fprintf(stderr, "Reciever is null");
15015 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2649);
15016 nit_exit(1);
15017 }
15018 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
15019 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
15020 /* ./parser//parser_prod.nit:2650 */
15021 if (UNTAG_Bool(REGB0)) {
15022 } else {
15023 fprintf(stderr, "Assert failed");
15024 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2650);
15025 nit_exit(1);
15026 }
15027 /* ./parser//parser_prod.nit:2651 */
15028 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = fra.me.REG[2];
15029 } else {
15030 /* ./parser//parser_prod.nit:2653 */
15031 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = NIT_NULL;
15032 }
15033 /* ./parser//parser_prod.nit:2655 */
15034 goto label1;
15035 }
15036 fra.me.REG[3] = ATTR_parser_nodes___ATypePropdef____n_kwredef(fra.me.REG[0]);
15037 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
15038 /* ./parser//parser_prod.nit:2657 */
15039 if (UNTAG_Bool(REGB0)) {
15040 } else {
15041 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
15042 if (UNTAG_Bool(REGB1)) {
15043 REGB1 = TAG_Bool(false);
15044 REGB0 = REGB1;
15045 } else {
15046 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
15047 REGB0 = REGB1;
15048 }
15049 }
15050 if (UNTAG_Bool(REGB0)) {
15051 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15052 /* ./parser//parser_prod.nit:2658 */
15053 if (UNTAG_Bool(REGB0)) {
15054 } else {
15055 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15056 if (UNTAG_Bool(REGB1)) {
15057 REGB1 = TAG_Bool(false);
15058 REGB0 = REGB1;
15059 } else {
15060 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
15061 REGB0 = REGB1;
15062 }
15063 }
15064 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
15065 if (UNTAG_Bool(REGB0)) {
15066 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15067 /* ./parser//parser_prod.nit:2659 */
15068 if (UNTAG_Bool(REGB0)) {
15069 fprintf(stderr, "Reciever is null");
15070 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2659);
15071 nit_exit(1);
15072 }
15073 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
15074 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15075 /* ./parser//parser_prod.nit:2660 */
15076 if (UNTAG_Bool(REGB0)) {
15077 } else {
15078 fprintf(stderr, "Assert failed");
15079 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2660);
15080 nit_exit(1);
15081 }
15082 /* ./parser//parser_prod.nit:2661 */
15083 ATTR_parser_nodes___ATypePropdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[2];
15084 } else {
15085 /* ./parser//parser_prod.nit:2663 */
15086 ATTR_parser_nodes___ATypePropdef____n_kwredef(fra.me.REG[0]) = NIT_NULL;
15087 }
15088 /* ./parser//parser_prod.nit:2665 */
15089 goto label1;
15090 }
15091 REGB0 = TAG_Bool(ATTR_parser_nodes___ATypePropdef____n_visibility(fra.me.REG[0])!=NIT_NULL);
15092 /* ./parser//parser_prod.nit:2667 */
15093 if (UNTAG_Bool(REGB0)) {
15094 } else {
15095 fprintf(stderr, "Uninitialized attribute %s", "_n_visibility");
15096 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2667);
15097 nit_exit(1);
15098 }
15099 fra.me.REG[3] = ATTR_parser_nodes___ATypePropdef____n_visibility(fra.me.REG[0]);
15100 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
15101 if (UNTAG_Bool(REGB0)) {
15102 } else {
15103 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
15104 REGB0 = REGB1;
15105 }
15106 if (UNTAG_Bool(REGB0)) {
15107 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15108 /* ./parser//parser_prod.nit:2668 */
15109 if (UNTAG_Bool(REGB0)) {
15110 } else {
15111 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15112 if (UNTAG_Bool(REGB1)) {
15113 REGB1 = TAG_Bool(false);
15114 REGB0 = REGB1;
15115 } else {
15116 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
15117 REGB0 = REGB1;
15118 }
15119 }
15120 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
15121 if (UNTAG_Bool(REGB0)) {
15122 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15123 /* ./parser//parser_prod.nit:2669 */
15124 if (UNTAG_Bool(REGB0)) {
15125 fprintf(stderr, "Reciever is null");
15126 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2669);
15127 nit_exit(1);
15128 }
15129 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
15130 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AVisibility, ID_AVisibility)) /*cast AVisibility*/;
15131 /* ./parser//parser_prod.nit:2670 */
15132 if (UNTAG_Bool(REGB0)) {
15133 } else {
15134 fprintf(stderr, "Assert failed");
15135 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2670);
15136 nit_exit(1);
15137 }
15138 /* ./parser//parser_prod.nit:2671 */
15139 ATTR_parser_nodes___ATypePropdef____n_visibility(fra.me.REG[0]) = fra.me.REG[2];
15140 } else {
15141 /* ./parser//parser_prod.nit:2673 */
15142 fprintf(stderr, "Aborted");
15143 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2673);
15144 nit_exit(1);
15145 }
15146 /* ./parser//parser_prod.nit:2675 */
15147 goto label1;
15148 }
15149 REGB0 = TAG_Bool(ATTR_parser_nodes___ATypePropdef____n_kwtype(fra.me.REG[0])!=NIT_NULL);
15150 /* ./parser//parser_prod.nit:2677 */
15151 if (UNTAG_Bool(REGB0)) {
15152 } else {
15153 fprintf(stderr, "Uninitialized attribute %s", "_n_kwtype");
15154 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2677);
15155 nit_exit(1);
15156 }
15157 fra.me.REG[3] = ATTR_parser_nodes___ATypePropdef____n_kwtype(fra.me.REG[0]);
15158 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
15159 if (UNTAG_Bool(REGB0)) {
15160 } else {
15161 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
15162 REGB0 = REGB1;
15163 }
15164 if (UNTAG_Bool(REGB0)) {
15165 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15166 /* ./parser//parser_prod.nit:2678 */
15167 if (UNTAG_Bool(REGB0)) {
15168 } else {
15169 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15170 if (UNTAG_Bool(REGB1)) {
15171 REGB1 = TAG_Bool(false);
15172 REGB0 = REGB1;
15173 } else {
15174 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
15175 REGB0 = REGB1;
15176 }
15177 }
15178 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
15179 if (UNTAG_Bool(REGB0)) {
15180 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15181 /* ./parser//parser_prod.nit:2679 */
15182 if (UNTAG_Bool(REGB0)) {
15183 fprintf(stderr, "Reciever is null");
15184 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2679);
15185 nit_exit(1);
15186 }
15187 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
15188 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwtype, ID_TKwtype)) /*cast TKwtype*/;
15189 /* ./parser//parser_prod.nit:2680 */
15190 if (UNTAG_Bool(REGB0)) {
15191 } else {
15192 fprintf(stderr, "Assert failed");
15193 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2680);
15194 nit_exit(1);
15195 }
15196 /* ./parser//parser_prod.nit:2681 */
15197 ATTR_parser_nodes___ATypePropdef____n_kwtype(fra.me.REG[0]) = fra.me.REG[2];
15198 } else {
15199 /* ./parser//parser_prod.nit:2683 */
15200 fprintf(stderr, "Aborted");
15201 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2683);
15202 nit_exit(1);
15203 }
15204 /* ./parser//parser_prod.nit:2685 */
15205 goto label1;
15206 }
15207 REGB0 = TAG_Bool(ATTR_parser_nodes___ATypePropdef____n_id(fra.me.REG[0])!=NIT_NULL);
15208 /* ./parser//parser_prod.nit:2687 */
15209 if (UNTAG_Bool(REGB0)) {
15210 } else {
15211 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
15212 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2687);
15213 nit_exit(1);
15214 }
15215 fra.me.REG[3] = ATTR_parser_nodes___ATypePropdef____n_id(fra.me.REG[0]);
15216 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
15217 if (UNTAG_Bool(REGB0)) {
15218 } else {
15219 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
15220 REGB0 = REGB1;
15221 }
15222 if (UNTAG_Bool(REGB0)) {
15223 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15224 /* ./parser//parser_prod.nit:2688 */
15225 if (UNTAG_Bool(REGB0)) {
15226 } else {
15227 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15228 if (UNTAG_Bool(REGB1)) {
15229 REGB1 = TAG_Bool(false);
15230 REGB0 = REGB1;
15231 } else {
15232 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
15233 REGB0 = REGB1;
15234 }
15235 }
15236 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
15237 if (UNTAG_Bool(REGB0)) {
15238 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15239 /* ./parser//parser_prod.nit:2689 */
15240 if (UNTAG_Bool(REGB0)) {
15241 fprintf(stderr, "Reciever is null");
15242 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2689);
15243 nit_exit(1);
15244 }
15245 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
15246 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
15247 /* ./parser//parser_prod.nit:2690 */
15248 if (UNTAG_Bool(REGB0)) {
15249 } else {
15250 fprintf(stderr, "Assert failed");
15251 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2690);
15252 nit_exit(1);
15253 }
15254 /* ./parser//parser_prod.nit:2691 */
15255 ATTR_parser_nodes___ATypePropdef____n_id(fra.me.REG[0]) = fra.me.REG[2];
15256 } else {
15257 /* ./parser//parser_prod.nit:2693 */
15258 fprintf(stderr, "Aborted");
15259 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2693);
15260 nit_exit(1);
15261 }
15262 /* ./parser//parser_prod.nit:2695 */
15263 goto label1;
15264 }
15265 REGB0 = TAG_Bool(ATTR_parser_nodes___ATypePropdef____n_type(fra.me.REG[0])!=NIT_NULL);
15266 /* ./parser//parser_prod.nit:2697 */
15267 if (UNTAG_Bool(REGB0)) {
15268 } else {
15269 fprintf(stderr, "Uninitialized attribute %s", "_n_type");
15270 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2697);
15271 nit_exit(1);
15272 }
15273 fra.me.REG[3] = ATTR_parser_nodes___ATypePropdef____n_type(fra.me.REG[0]);
15274 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
15275 if (UNTAG_Bool(REGB0)) {
15276 } else {
15277 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
15278 REGB0 = REGB1;
15279 }
15280 if (UNTAG_Bool(REGB0)) {
15281 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15282 /* ./parser//parser_prod.nit:2698 */
15283 if (UNTAG_Bool(REGB0)) {
15284 } else {
15285 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15286 if (UNTAG_Bool(REGB1)) {
15287 REGB1 = TAG_Bool(false);
15288 REGB0 = REGB1;
15289 } else {
15290 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
15291 REGB0 = REGB1;
15292 }
15293 }
15294 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
15295 if (UNTAG_Bool(REGB0)) {
15296 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15297 /* ./parser//parser_prod.nit:2699 */
15298 if (UNTAG_Bool(REGB0)) {
15299 fprintf(stderr, "Reciever is null");
15300 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2699);
15301 nit_exit(1);
15302 }
15303 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
15304 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast AType*/;
15305 /* ./parser//parser_prod.nit:2700 */
15306 if (UNTAG_Bool(REGB0)) {
15307 } else {
15308 fprintf(stderr, "Assert failed");
15309 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2700);
15310 nit_exit(1);
15311 }
15312 /* ./parser//parser_prod.nit:2701 */
15313 ATTR_parser_nodes___ATypePropdef____n_type(fra.me.REG[0]) = fra.me.REG[2];
15314 } else {
15315 /* ./parser//parser_prod.nit:2703 */
15316 fprintf(stderr, "Aborted");
15317 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2703);
15318 nit_exit(1);
15319 }
15320 /* ./parser//parser_prod.nit:2705 */
15321 goto label1;
15322 }
15323 label1: while(0);
15324 stack_frame_head = fra.me.prev;
15325 return;
15326 }
15327 void parser_prod___ATypePropdef___visit_all(val_t p0, val_t p1){
15328 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
15329 val_t REGB0;
15330 val_t REGB1;
15331 val_t tmp;
15332 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15333 fra.me.file = LOCATE_parser_prod;
15334 fra.me.line = 2709;
15335 fra.me.meth = LOCATE_parser_prod___ATypePropdef___visit_all;
15336 fra.me.has_broke = 0;
15337 fra.me.REG_size = 3;
15338 fra.me.REG[0] = NIT_NULL;
15339 fra.me.REG[1] = NIT_NULL;
15340 fra.me.REG[2] = NIT_NULL;
15341 fra.me.REG[0] = p0;
15342 fra.me.REG[1] = p1;
15343 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
15344 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15345 /* ./parser//parser_prod.nit:2711 */
15346 if (UNTAG_Bool(REGB0)) {
15347 } else {
15348 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15349 if (UNTAG_Bool(REGB1)) {
15350 REGB1 = TAG_Bool(false);
15351 REGB0 = REGB1;
15352 } else {
15353 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
15354 REGB0 = REGB1;
15355 }
15356 }
15357 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
15358 if (UNTAG_Bool(REGB0)) {
15359 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
15360 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
15361 /* ./parser//parser_prod.nit:2712 */
15362 if (UNTAG_Bool(REGB0)) {
15363 } else {
15364 fprintf(stderr, "Cast failed");
15365 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2712);
15366 nit_exit(1);
15367 }
15368 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
15369 }
15370 fra.me.REG[2] = ATTR_parser_nodes___ATypePropdef____n_kwredef(fra.me.REG[0]);
15371 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15372 /* ./parser//parser_prod.nit:2714 */
15373 if (UNTAG_Bool(REGB0)) {
15374 } else {
15375 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15376 if (UNTAG_Bool(REGB1)) {
15377 REGB1 = TAG_Bool(false);
15378 REGB0 = REGB1;
15379 } else {
15380 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
15381 REGB0 = REGB1;
15382 }
15383 }
15384 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
15385 if (UNTAG_Bool(REGB0)) {
15386 fra.me.REG[2] = ATTR_parser_nodes___ATypePropdef____n_kwredef(fra.me.REG[0]);
15387 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15388 /* ./parser//parser_prod.nit:2715 */
15389 if (UNTAG_Bool(REGB0)) {
15390 } else {
15391 fprintf(stderr, "Cast failed");
15392 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2715);
15393 nit_exit(1);
15394 }
15395 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
15396 }
15397 REGB0 = TAG_Bool(ATTR_parser_nodes___ATypePropdef____n_visibility(fra.me.REG[0])!=NIT_NULL);
15398 /* ./parser//parser_prod.nit:2717 */
15399 if (UNTAG_Bool(REGB0)) {
15400 } else {
15401 fprintf(stderr, "Uninitialized attribute %s", "_n_visibility");
15402 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2717);
15403 nit_exit(1);
15404 }
15405 fra.me.REG[2] = ATTR_parser_nodes___ATypePropdef____n_visibility(fra.me.REG[0]);
15406 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
15407 REGB0 = TAG_Bool(ATTR_parser_nodes___ATypePropdef____n_kwtype(fra.me.REG[0])!=NIT_NULL);
15408 /* ./parser//parser_prod.nit:2718 */
15409 if (UNTAG_Bool(REGB0)) {
15410 } else {
15411 fprintf(stderr, "Uninitialized attribute %s", "_n_kwtype");
15412 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2718);
15413 nit_exit(1);
15414 }
15415 fra.me.REG[2] = ATTR_parser_nodes___ATypePropdef____n_kwtype(fra.me.REG[0]);
15416 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
15417 REGB0 = TAG_Bool(ATTR_parser_nodes___ATypePropdef____n_id(fra.me.REG[0])!=NIT_NULL);
15418 /* ./parser//parser_prod.nit:2719 */
15419 if (UNTAG_Bool(REGB0)) {
15420 } else {
15421 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
15422 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2719);
15423 nit_exit(1);
15424 }
15425 fra.me.REG[2] = ATTR_parser_nodes___ATypePropdef____n_id(fra.me.REG[0]);
15426 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
15427 REGB0 = TAG_Bool(ATTR_parser_nodes___ATypePropdef____n_type(fra.me.REG[0])!=NIT_NULL);
15428 /* ./parser//parser_prod.nit:2720 */
15429 if (UNTAG_Bool(REGB0)) {
15430 } else {
15431 fprintf(stderr, "Uninitialized attribute %s", "_n_type");
15432 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2720);
15433 nit_exit(1);
15434 }
15435 fra.me.REG[0] = ATTR_parser_nodes___ATypePropdef____n_type(fra.me.REG[0]);
15436 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
15437 stack_frame_head = fra.me.prev;
15438 return;
15439 }
15440 void parser_prod___ATypePropdef___visit_all_reverse(val_t p0, val_t p1){
15441 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
15442 val_t REGB0;
15443 val_t REGB1;
15444 val_t tmp;
15445 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15446 fra.me.file = LOCATE_parser_prod;
15447 fra.me.line = 2723;
15448 fra.me.meth = LOCATE_parser_prod___ATypePropdef___visit_all_reverse;
15449 fra.me.has_broke = 0;
15450 fra.me.REG_size = 3;
15451 fra.me.REG[0] = NIT_NULL;
15452 fra.me.REG[1] = NIT_NULL;
15453 fra.me.REG[2] = NIT_NULL;
15454 fra.me.REG[0] = p0;
15455 fra.me.REG[1] = p1;
15456 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
15457 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15458 /* ./parser//parser_prod.nit:2725 */
15459 if (UNTAG_Bool(REGB0)) {
15460 } else {
15461 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15462 if (UNTAG_Bool(REGB1)) {
15463 REGB1 = TAG_Bool(false);
15464 REGB0 = REGB1;
15465 } else {
15466 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
15467 REGB0 = REGB1;
15468 }
15469 }
15470 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
15471 if (UNTAG_Bool(REGB0)) {
15472 fra.me.REG[2] = ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]);
15473 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ADoc, ID_ADoc)) /*cast ADoc*/;
15474 /* ./parser//parser_prod.nit:2726 */
15475 if (UNTAG_Bool(REGB0)) {
15476 } else {
15477 fprintf(stderr, "Cast failed");
15478 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2726);
15479 nit_exit(1);
15480 }
15481 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
15482 }
15483 fra.me.REG[2] = ATTR_parser_nodes___ATypePropdef____n_kwredef(fra.me.REG[0]);
15484 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15485 /* ./parser//parser_prod.nit:2728 */
15486 if (UNTAG_Bool(REGB0)) {
15487 } else {
15488 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15489 if (UNTAG_Bool(REGB1)) {
15490 REGB1 = TAG_Bool(false);
15491 REGB0 = REGB1;
15492 } else {
15493 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
15494 REGB0 = REGB1;
15495 }
15496 }
15497 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
15498 if (UNTAG_Bool(REGB0)) {
15499 fra.me.REG[2] = ATTR_parser_nodes___ATypePropdef____n_kwredef(fra.me.REG[0]);
15500 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15501 /* ./parser//parser_prod.nit:2729 */
15502 if (UNTAG_Bool(REGB0)) {
15503 } else {
15504 fprintf(stderr, "Cast failed");
15505 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2729);
15506 nit_exit(1);
15507 }
15508 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
15509 }
15510 REGB0 = TAG_Bool(ATTR_parser_nodes___ATypePropdef____n_visibility(fra.me.REG[0])!=NIT_NULL);
15511 /* ./parser//parser_prod.nit:2731 */
15512 if (UNTAG_Bool(REGB0)) {
15513 } else {
15514 fprintf(stderr, "Uninitialized attribute %s", "_n_visibility");
15515 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2731);
15516 nit_exit(1);
15517 }
15518 fra.me.REG[2] = ATTR_parser_nodes___ATypePropdef____n_visibility(fra.me.REG[0]);
15519 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
15520 REGB0 = TAG_Bool(ATTR_parser_nodes___ATypePropdef____n_kwtype(fra.me.REG[0])!=NIT_NULL);
15521 /* ./parser//parser_prod.nit:2732 */
15522 if (UNTAG_Bool(REGB0)) {
15523 } else {
15524 fprintf(stderr, "Uninitialized attribute %s", "_n_kwtype");
15525 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2732);
15526 nit_exit(1);
15527 }
15528 fra.me.REG[2] = ATTR_parser_nodes___ATypePropdef____n_kwtype(fra.me.REG[0]);
15529 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
15530 REGB0 = TAG_Bool(ATTR_parser_nodes___ATypePropdef____n_id(fra.me.REG[0])!=NIT_NULL);
15531 /* ./parser//parser_prod.nit:2733 */
15532 if (UNTAG_Bool(REGB0)) {
15533 } else {
15534 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
15535 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2733);
15536 nit_exit(1);
15537 }
15538 fra.me.REG[2] = ATTR_parser_nodes___ATypePropdef____n_id(fra.me.REG[0]);
15539 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
15540 REGB0 = TAG_Bool(ATTR_parser_nodes___ATypePropdef____n_type(fra.me.REG[0])!=NIT_NULL);
15541 /* ./parser//parser_prod.nit:2734 */
15542 if (UNTAG_Bool(REGB0)) {
15543 } else {
15544 fprintf(stderr, "Uninitialized attribute %s", "_n_type");
15545 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2734);
15546 nit_exit(1);
15547 }
15548 fra.me.REG[0] = ATTR_parser_nodes___ATypePropdef____n_type(fra.me.REG[0]);
15549 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
15550 stack_frame_head = fra.me.prev;
15551 return;
15552 }
15553 void parser_prod___ATypePropdef___empty_init(val_t p0, int* init_table){
15554 int itpos51 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ATypePropdef].i;
15555 struct {struct stack_frame_t me;} fra;
15556 val_t tmp;
15557 if (init_table[itpos51]) return;
15558 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15559 fra.me.file = LOCATE_parser_prod;
15560 fra.me.line = 2615;
15561 fra.me.meth = LOCATE_parser_prod___ATypePropdef___empty_init;
15562 fra.me.has_broke = 0;
15563 fra.me.REG_size = 1;
15564 fra.me.REG[0] = NIT_NULL;
15565 fra.me.REG[0] = p0;
15566 /* ./parser//parser_prod.nit:2615 */
15567 stack_frame_head = fra.me.prev;
15568 init_table[itpos51] = 1;
15569 return;
15570 }
15571 void parser_prod___ATypePropdef___init_atypepropdef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6, int* init_table){
15572 int itpos52 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ATypePropdef].i;
15573 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
15574 val_t REGB0;
15575 val_t REGB1;
15576 val_t tmp;
15577 if (init_table[itpos52]) return;
15578 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15579 fra.me.file = LOCATE_parser_prod;
15580 fra.me.line = 2617;
15581 fra.me.meth = LOCATE_parser_prod___ATypePropdef___init_atypepropdef;
15582 fra.me.has_broke = 0;
15583 fra.me.REG_size = 7;
15584 fra.me.REG[0] = NIT_NULL;
15585 fra.me.REG[1] = NIT_NULL;
15586 fra.me.REG[2] = NIT_NULL;
15587 fra.me.REG[3] = NIT_NULL;
15588 fra.me.REG[4] = NIT_NULL;
15589 fra.me.REG[5] = NIT_NULL;
15590 fra.me.REG[6] = NIT_NULL;
15591 fra.me.REG[0] = p0;
15592 fra.me.REG[1] = p1;
15593 fra.me.REG[2] = p2;
15594 fra.me.REG[3] = p3;
15595 fra.me.REG[4] = p4;
15596 fra.me.REG[5] = p5;
15597 fra.me.REG[6] = p6;
15598 /* ./parser//parser_prod.nit:2626 */
15599 CALL_parser_prod___ATypePropdef___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
15600 /* ./parser//parser_prod.nit:2627 */
15601 ATTR_parser_nodes___APropdef____n_doc(fra.me.REG[0]) = fra.me.REG[1];
15602 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
15603 /* ./parser//parser_prod.nit:2628 */
15604 if (UNTAG_Bool(REGB0)) {
15605 } else {
15606 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
15607 if (UNTAG_Bool(REGB1)) {
15608 REGB1 = TAG_Bool(false);
15609 REGB0 = REGB1;
15610 } else {
15611 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
15612 REGB0 = REGB1;
15613 }
15614 }
15615 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
15616 if (UNTAG_Bool(REGB0)) {
15617 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
15618 /* ./parser//parser_prod.nit:2629 */
15619 if (UNTAG_Bool(REGB0)) {
15620 fprintf(stderr, "Reciever is null");
15621 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2629);
15622 nit_exit(1);
15623 }
15624 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
15625 }
15626 /* ./parser//parser_prod.nit:2631 */
15627 ATTR_parser_nodes___ATypePropdef____n_kwredef(fra.me.REG[0]) = fra.me.REG[2];
15628 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15629 /* ./parser//parser_prod.nit:2632 */
15630 if (UNTAG_Bool(REGB0)) {
15631 } else {
15632 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15633 if (UNTAG_Bool(REGB1)) {
15634 REGB1 = TAG_Bool(false);
15635 REGB0 = REGB1;
15636 } else {
15637 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
15638 REGB0 = REGB1;
15639 }
15640 }
15641 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
15642 if (UNTAG_Bool(REGB0)) {
15643 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15644 /* ./parser//parser_prod.nit:2633 */
15645 if (UNTAG_Bool(REGB0)) {
15646 fprintf(stderr, "Reciever is null");
15647 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2633);
15648 nit_exit(1);
15649 }
15650 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
15651 }
15652 REGB0 = TAG_Bool(fra.me.REG[3]!=NIT_NULL);
15653 /* ./parser//parser_prod.nit:2635 */
15654 if (UNTAG_Bool(REGB0)) {
15655 } else {
15656 fprintf(stderr, "Cast failed");
15657 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2635);
15658 nit_exit(1);
15659 }
15660 ATTR_parser_nodes___ATypePropdef____n_visibility(fra.me.REG[0]) = fra.me.REG[3];
15661 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
15662 /* ./parser//parser_prod.nit:2636 */
15663 if (UNTAG_Bool(REGB0)) {
15664 fprintf(stderr, "Reciever is null");
15665 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2636);
15666 nit_exit(1);
15667 }
15668 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
15669 REGB0 = TAG_Bool(fra.me.REG[4]!=NIT_NULL);
15670 /* ./parser//parser_prod.nit:2637 */
15671 if (UNTAG_Bool(REGB0)) {
15672 } else {
15673 fprintf(stderr, "Cast failed");
15674 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2637);
15675 nit_exit(1);
15676 }
15677 ATTR_parser_nodes___ATypePropdef____n_kwtype(fra.me.REG[0]) = fra.me.REG[4];
15678 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
15679 /* ./parser//parser_prod.nit:2638 */
15680 if (UNTAG_Bool(REGB0)) {
15681 fprintf(stderr, "Reciever is null");
15682 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2638);
15683 nit_exit(1);
15684 }
15685 CALL_parser_prod___ANode___parent__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
15686 REGB0 = TAG_Bool(fra.me.REG[5]!=NIT_NULL);
15687 /* ./parser//parser_prod.nit:2639 */
15688 if (UNTAG_Bool(REGB0)) {
15689 } else {
15690 fprintf(stderr, "Cast failed");
15691 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2639);
15692 nit_exit(1);
15693 }
15694 ATTR_parser_nodes___ATypePropdef____n_id(fra.me.REG[0]) = fra.me.REG[5];
15695 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
15696 /* ./parser//parser_prod.nit:2640 */
15697 if (UNTAG_Bool(REGB0)) {
15698 fprintf(stderr, "Reciever is null");
15699 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2640);
15700 nit_exit(1);
15701 }
15702 CALL_parser_prod___ANode___parent__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[0]);
15703 REGB0 = TAG_Bool(fra.me.REG[6]!=NIT_NULL);
15704 /* ./parser//parser_prod.nit:2641 */
15705 if (UNTAG_Bool(REGB0)) {
15706 } else {
15707 fprintf(stderr, "Cast failed");
15708 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2641);
15709 nit_exit(1);
15710 }
15711 ATTR_parser_nodes___ATypePropdef____n_type(fra.me.REG[0]) = fra.me.REG[6];
15712 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
15713 /* ./parser//parser_prod.nit:2642 */
15714 if (UNTAG_Bool(REGB0)) {
15715 fprintf(stderr, "Reciever is null");
15716 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2642);
15717 nit_exit(1);
15718 }
15719 CALL_parser_prod___ANode___parent__eq(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[0]);
15720 stack_frame_head = fra.me.prev;
15721 init_table[itpos52] = 1;
15722 return;
15723 }
15724 void parser_prod___AReadAble___n_kwredef__eq(val_t p0, val_t p1){
15725 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
15726 val_t REGB0;
15727 val_t REGB1;
15728 val_t tmp;
15729 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15730 fra.me.file = LOCATE_parser_prod;
15731 fra.me.line = 2738;
15732 fra.me.meth = LOCATE_parser_prod___AReadAble___n_kwredef__eq;
15733 fra.me.has_broke = 0;
15734 fra.me.REG_size = 2;
15735 fra.me.REG[0] = NIT_NULL;
15736 fra.me.REG[1] = NIT_NULL;
15737 fra.me.REG[0] = p0;
15738 fra.me.REG[1] = p1;
15739 /* ./parser//parser_prod.nit:2740 */
15740 ATTR_parser_nodes___AAble____n_kwredef(fra.me.REG[0]) = fra.me.REG[1];
15741 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
15742 /* ./parser//parser_prod.nit:2741 */
15743 if (UNTAG_Bool(REGB0)) {
15744 } else {
15745 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
15746 if (UNTAG_Bool(REGB1)) {
15747 REGB1 = TAG_Bool(false);
15748 REGB0 = REGB1;
15749 } else {
15750 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
15751 REGB0 = REGB1;
15752 }
15753 }
15754 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
15755 if (UNTAG_Bool(REGB0)) {
15756 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
15757 /* ./parser//parser_prod.nit:2742 */
15758 if (UNTAG_Bool(REGB0)) {
15759 fprintf(stderr, "Reciever is null");
15760 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2742);
15761 nit_exit(1);
15762 }
15763 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
15764 }
15765 stack_frame_head = fra.me.prev;
15766 return;
15767 }
15768 void parser_prod___AReadAble___n_kwreadable__eq(val_t p0, val_t p1){
15769 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
15770 val_t tmp;
15771 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15772 fra.me.file = LOCATE_parser_prod;
15773 fra.me.line = 2745;
15774 fra.me.meth = LOCATE_parser_prod___AReadAble___n_kwreadable__eq;
15775 fra.me.has_broke = 0;
15776 fra.me.REG_size = 2;
15777 fra.me.REG[0] = NIT_NULL;
15778 fra.me.REG[1] = NIT_NULL;
15779 fra.me.REG[0] = p0;
15780 fra.me.REG[1] = p1;
15781 /* ./parser//parser_prod.nit:2747 */
15782 ATTR_parser_nodes___AReadAble____n_kwreadable(fra.me.REG[0]) = fra.me.REG[1];
15783 /* ./parser//parser_prod.nit:2748 */
15784 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
15785 stack_frame_head = fra.me.prev;
15786 return;
15787 }
15788 void parser_prod___AReadAble___replace_child(val_t p0, val_t p1, val_t p2){
15789 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
15790 val_t REGB0;
15791 val_t REGB1;
15792 val_t tmp;
15793 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15794 fra.me.file = LOCATE_parser_prod;
15795 fra.me.line = 2767;
15796 fra.me.meth = LOCATE_parser_prod___AReadAble___replace_child;
15797 fra.me.has_broke = 0;
15798 fra.me.REG_size = 4;
15799 fra.me.REG[0] = NIT_NULL;
15800 fra.me.REG[1] = NIT_NULL;
15801 fra.me.REG[2] = NIT_NULL;
15802 fra.me.REG[3] = NIT_NULL;
15803 fra.me.REG[0] = p0;
15804 fra.me.REG[1] = p1;
15805 fra.me.REG[2] = p2;
15806 fra.me.REG[3] = ATTR_parser_nodes___AAble____n_kwredef(fra.me.REG[0]);
15807 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
15808 /* ./parser//parser_prod.nit:2769 */
15809 if (UNTAG_Bool(REGB0)) {
15810 } else {
15811 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
15812 if (UNTAG_Bool(REGB1)) {
15813 REGB1 = TAG_Bool(false);
15814 REGB0 = REGB1;
15815 } else {
15816 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
15817 REGB0 = REGB1;
15818 }
15819 }
15820 if (UNTAG_Bool(REGB0)) {
15821 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15822 /* ./parser//parser_prod.nit:2770 */
15823 if (UNTAG_Bool(REGB0)) {
15824 } else {
15825 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15826 if (UNTAG_Bool(REGB1)) {
15827 REGB1 = TAG_Bool(false);
15828 REGB0 = REGB1;
15829 } else {
15830 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
15831 REGB0 = REGB1;
15832 }
15833 }
15834 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
15835 if (UNTAG_Bool(REGB0)) {
15836 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15837 /* ./parser//parser_prod.nit:2771 */
15838 if (UNTAG_Bool(REGB0)) {
15839 fprintf(stderr, "Reciever is null");
15840 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2771);
15841 nit_exit(1);
15842 }
15843 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
15844 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15845 /* ./parser//parser_prod.nit:2772 */
15846 if (UNTAG_Bool(REGB0)) {
15847 } else {
15848 fprintf(stderr, "Assert failed");
15849 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2772);
15850 nit_exit(1);
15851 }
15852 /* ./parser//parser_prod.nit:2773 */
15853 ATTR_parser_nodes___AAble____n_kwredef(fra.me.REG[0]) = fra.me.REG[2];
15854 } else {
15855 /* ./parser//parser_prod.nit:2775 */
15856 ATTR_parser_nodes___AAble____n_kwredef(fra.me.REG[0]) = NIT_NULL;
15857 }
15858 /* ./parser//parser_prod.nit:2777 */
15859 goto label1;
15860 }
15861 REGB0 = TAG_Bool(ATTR_parser_nodes___AReadAble____n_kwreadable(fra.me.REG[0])!=NIT_NULL);
15862 /* ./parser//parser_prod.nit:2779 */
15863 if (UNTAG_Bool(REGB0)) {
15864 } else {
15865 fprintf(stderr, "Uninitialized attribute %s", "_n_kwreadable");
15866 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2779);
15867 nit_exit(1);
15868 }
15869 fra.me.REG[3] = ATTR_parser_nodes___AReadAble____n_kwreadable(fra.me.REG[0]);
15870 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
15871 if (UNTAG_Bool(REGB0)) {
15872 } else {
15873 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
15874 REGB0 = REGB1;
15875 }
15876 if (UNTAG_Bool(REGB0)) {
15877 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15878 /* ./parser//parser_prod.nit:2780 */
15879 if (UNTAG_Bool(REGB0)) {
15880 } else {
15881 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15882 if (UNTAG_Bool(REGB1)) {
15883 REGB1 = TAG_Bool(false);
15884 REGB0 = REGB1;
15885 } else {
15886 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
15887 REGB0 = REGB1;
15888 }
15889 }
15890 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
15891 if (UNTAG_Bool(REGB0)) {
15892 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15893 /* ./parser//parser_prod.nit:2781 */
15894 if (UNTAG_Bool(REGB0)) {
15895 fprintf(stderr, "Reciever is null");
15896 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2781);
15897 nit_exit(1);
15898 }
15899 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
15900 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwreadable, ID_TKwreadable)) /*cast TKwreadable*/;
15901 /* ./parser//parser_prod.nit:2782 */
15902 if (UNTAG_Bool(REGB0)) {
15903 } else {
15904 fprintf(stderr, "Assert failed");
15905 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2782);
15906 nit_exit(1);
15907 }
15908 /* ./parser//parser_prod.nit:2783 */
15909 ATTR_parser_nodes___AReadAble____n_kwreadable(fra.me.REG[0]) = fra.me.REG[2];
15910 } else {
15911 /* ./parser//parser_prod.nit:2785 */
15912 fprintf(stderr, "Aborted");
15913 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2785);
15914 nit_exit(1);
15915 }
15916 /* ./parser//parser_prod.nit:2787 */
15917 goto label1;
15918 }
15919 label1: while(0);
15920 stack_frame_head = fra.me.prev;
15921 return;
15922 }
15923 void parser_prod___AReadAble___visit_all(val_t p0, val_t p1){
15924 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
15925 val_t REGB0;
15926 val_t REGB1;
15927 val_t tmp;
15928 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15929 fra.me.file = LOCATE_parser_prod;
15930 fra.me.line = 2791;
15931 fra.me.meth = LOCATE_parser_prod___AReadAble___visit_all;
15932 fra.me.has_broke = 0;
15933 fra.me.REG_size = 3;
15934 fra.me.REG[0] = NIT_NULL;
15935 fra.me.REG[1] = NIT_NULL;
15936 fra.me.REG[2] = NIT_NULL;
15937 fra.me.REG[0] = p0;
15938 fra.me.REG[1] = p1;
15939 fra.me.REG[2] = ATTR_parser_nodes___AAble____n_kwredef(fra.me.REG[0]);
15940 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15941 /* ./parser//parser_prod.nit:2793 */
15942 if (UNTAG_Bool(REGB0)) {
15943 } else {
15944 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15945 if (UNTAG_Bool(REGB1)) {
15946 REGB1 = TAG_Bool(false);
15947 REGB0 = REGB1;
15948 } else {
15949 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
15950 REGB0 = REGB1;
15951 }
15952 }
15953 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
15954 if (UNTAG_Bool(REGB0)) {
15955 fra.me.REG[2] = ATTR_parser_nodes___AAble____n_kwredef(fra.me.REG[0]);
15956 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
15957 /* ./parser//parser_prod.nit:2794 */
15958 if (UNTAG_Bool(REGB0)) {
15959 } else {
15960 fprintf(stderr, "Cast failed");
15961 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2794);
15962 nit_exit(1);
15963 }
15964 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
15965 }
15966 REGB0 = TAG_Bool(ATTR_parser_nodes___AReadAble____n_kwreadable(fra.me.REG[0])!=NIT_NULL);
15967 /* ./parser//parser_prod.nit:2796 */
15968 if (UNTAG_Bool(REGB0)) {
15969 } else {
15970 fprintf(stderr, "Uninitialized attribute %s", "_n_kwreadable");
15971 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2796);
15972 nit_exit(1);
15973 }
15974 fra.me.REG[0] = ATTR_parser_nodes___AReadAble____n_kwreadable(fra.me.REG[0]);
15975 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
15976 stack_frame_head = fra.me.prev;
15977 return;
15978 }
15979 void parser_prod___AReadAble___visit_all_reverse(val_t p0, val_t p1){
15980 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
15981 val_t REGB0;
15982 val_t REGB1;
15983 val_t tmp;
15984 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
15985 fra.me.file = LOCATE_parser_prod;
15986 fra.me.line = 2799;
15987 fra.me.meth = LOCATE_parser_prod___AReadAble___visit_all_reverse;
15988 fra.me.has_broke = 0;
15989 fra.me.REG_size = 3;
15990 fra.me.REG[0] = NIT_NULL;
15991 fra.me.REG[1] = NIT_NULL;
15992 fra.me.REG[2] = NIT_NULL;
15993 fra.me.REG[0] = p0;
15994 fra.me.REG[1] = p1;
15995 fra.me.REG[2] = ATTR_parser_nodes___AAble____n_kwredef(fra.me.REG[0]);
15996 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
15997 /* ./parser//parser_prod.nit:2801 */
15998 if (UNTAG_Bool(REGB0)) {
15999 } else {
16000 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
16001 if (UNTAG_Bool(REGB1)) {
16002 REGB1 = TAG_Bool(false);
16003 REGB0 = REGB1;
16004 } else {
16005 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
16006 REGB0 = REGB1;
16007 }
16008 }
16009 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
16010 if (UNTAG_Bool(REGB0)) {
16011 fra.me.REG[2] = ATTR_parser_nodes___AAble____n_kwredef(fra.me.REG[0]);
16012 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
16013 /* ./parser//parser_prod.nit:2802 */
16014 if (UNTAG_Bool(REGB0)) {
16015 } else {
16016 fprintf(stderr, "Cast failed");
16017 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2802);
16018 nit_exit(1);
16019 }
16020 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
16021 }
16022 REGB0 = TAG_Bool(ATTR_parser_nodes___AReadAble____n_kwreadable(fra.me.REG[0])!=NIT_NULL);
16023 /* ./parser//parser_prod.nit:2804 */
16024 if (UNTAG_Bool(REGB0)) {
16025 } else {
16026 fprintf(stderr, "Uninitialized attribute %s", "_n_kwreadable");
16027 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2804);
16028 nit_exit(1);
16029 }
16030 fra.me.REG[0] = ATTR_parser_nodes___AReadAble____n_kwreadable(fra.me.REG[0]);
16031 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
16032 stack_frame_head = fra.me.prev;
16033 return;
16034 }
16035 void parser_prod___AReadAble___empty_init(val_t p0, int* init_table){
16036 int itpos53 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AReadAble].i;
16037 struct {struct stack_frame_t me;} fra;
16038 val_t tmp;
16039 if (init_table[itpos53]) return;
16040 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16041 fra.me.file = LOCATE_parser_prod;
16042 fra.me.line = 2751;
16043 fra.me.meth = LOCATE_parser_prod___AReadAble___empty_init;
16044 fra.me.has_broke = 0;
16045 fra.me.REG_size = 1;
16046 fra.me.REG[0] = NIT_NULL;
16047 fra.me.REG[0] = p0;
16048 /* ./parser//parser_prod.nit:2751 */
16049 stack_frame_head = fra.me.prev;
16050 init_table[itpos53] = 1;
16051 return;
16052 }
16053 void parser_prod___AReadAble___init_areadable(val_t p0, val_t p1, val_t p2, int* init_table){
16054 int itpos54 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AReadAble].i;
16055 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
16056 val_t REGB0;
16057 val_t REGB1;
16058 val_t tmp;
16059 if (init_table[itpos54]) return;
16060 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16061 fra.me.file = LOCATE_parser_prod;
16062 fra.me.line = 2753;
16063 fra.me.meth = LOCATE_parser_prod___AReadAble___init_areadable;
16064 fra.me.has_broke = 0;
16065 fra.me.REG_size = 3;
16066 fra.me.REG[0] = NIT_NULL;
16067 fra.me.REG[1] = NIT_NULL;
16068 fra.me.REG[2] = NIT_NULL;
16069 fra.me.REG[0] = p0;
16070 fra.me.REG[1] = p1;
16071 fra.me.REG[2] = p2;
16072 /* ./parser//parser_prod.nit:2758 */
16073 CALL_parser_prod___AReadAble___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
16074 /* ./parser//parser_prod.nit:2759 */
16075 ATTR_parser_nodes___AAble____n_kwredef(fra.me.REG[0]) = fra.me.REG[1];
16076 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
16077 /* ./parser//parser_prod.nit:2760 */
16078 if (UNTAG_Bool(REGB0)) {
16079 } else {
16080 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
16081 if (UNTAG_Bool(REGB1)) {
16082 REGB1 = TAG_Bool(false);
16083 REGB0 = REGB1;
16084 } else {
16085 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
16086 REGB0 = REGB1;
16087 }
16088 }
16089 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
16090 if (UNTAG_Bool(REGB0)) {
16091 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
16092 /* ./parser//parser_prod.nit:2761 */
16093 if (UNTAG_Bool(REGB0)) {
16094 fprintf(stderr, "Reciever is null");
16095 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2761);
16096 nit_exit(1);
16097 }
16098 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
16099 }
16100 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
16101 /* ./parser//parser_prod.nit:2763 */
16102 if (UNTAG_Bool(REGB0)) {
16103 } else {
16104 fprintf(stderr, "Cast failed");
16105 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2763);
16106 nit_exit(1);
16107 }
16108 ATTR_parser_nodes___AReadAble____n_kwreadable(fra.me.REG[0]) = fra.me.REG[2];
16109 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
16110 /* ./parser//parser_prod.nit:2764 */
16111 if (UNTAG_Bool(REGB0)) {
16112 fprintf(stderr, "Reciever is null");
16113 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2764);
16114 nit_exit(1);
16115 }
16116 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
16117 stack_frame_head = fra.me.prev;
16118 init_table[itpos54] = 1;
16119 return;
16120 }
16121 void parser_prod___AWriteAble___n_kwredef__eq(val_t p0, val_t p1){
16122 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
16123 val_t REGB0;
16124 val_t REGB1;
16125 val_t tmp;
16126 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16127 fra.me.file = LOCATE_parser_prod;
16128 fra.me.line = 2808;
16129 fra.me.meth = LOCATE_parser_prod___AWriteAble___n_kwredef__eq;
16130 fra.me.has_broke = 0;
16131 fra.me.REG_size = 2;
16132 fra.me.REG[0] = NIT_NULL;
16133 fra.me.REG[1] = NIT_NULL;
16134 fra.me.REG[0] = p0;
16135 fra.me.REG[1] = p1;
16136 /* ./parser//parser_prod.nit:2810 */
16137 ATTR_parser_nodes___AAble____n_kwredef(fra.me.REG[0]) = fra.me.REG[1];
16138 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
16139 /* ./parser//parser_prod.nit:2811 */
16140 if (UNTAG_Bool(REGB0)) {
16141 } else {
16142 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
16143 if (UNTAG_Bool(REGB1)) {
16144 REGB1 = TAG_Bool(false);
16145 REGB0 = REGB1;
16146 } else {
16147 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
16148 REGB0 = REGB1;
16149 }
16150 }
16151 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
16152 if (UNTAG_Bool(REGB0)) {
16153 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
16154 /* ./parser//parser_prod.nit:2812 */
16155 if (UNTAG_Bool(REGB0)) {
16156 fprintf(stderr, "Reciever is null");
16157 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2812);
16158 nit_exit(1);
16159 }
16160 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
16161 }
16162 stack_frame_head = fra.me.prev;
16163 return;
16164 }
16165 void parser_prod___AWriteAble___n_kwwritable__eq(val_t p0, val_t p1){
16166 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
16167 val_t tmp;
16168 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16169 fra.me.file = LOCATE_parser_prod;
16170 fra.me.line = 2815;
16171 fra.me.meth = LOCATE_parser_prod___AWriteAble___n_kwwritable__eq;
16172 fra.me.has_broke = 0;
16173 fra.me.REG_size = 2;
16174 fra.me.REG[0] = NIT_NULL;
16175 fra.me.REG[1] = NIT_NULL;
16176 fra.me.REG[0] = p0;
16177 fra.me.REG[1] = p1;
16178 /* ./parser//parser_prod.nit:2817 */
16179 ATTR_parser_nodes___AWriteAble____n_kwwritable(fra.me.REG[0]) = fra.me.REG[1];
16180 /* ./parser//parser_prod.nit:2818 */
16181 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
16182 stack_frame_head = fra.me.prev;
16183 return;
16184 }
16185 void parser_prod___AWriteAble___replace_child(val_t p0, val_t p1, val_t p2){
16186 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
16187 val_t REGB0;
16188 val_t REGB1;
16189 val_t tmp;
16190 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16191 fra.me.file = LOCATE_parser_prod;
16192 fra.me.line = 2837;
16193 fra.me.meth = LOCATE_parser_prod___AWriteAble___replace_child;
16194 fra.me.has_broke = 0;
16195 fra.me.REG_size = 4;
16196 fra.me.REG[0] = NIT_NULL;
16197 fra.me.REG[1] = NIT_NULL;
16198 fra.me.REG[2] = NIT_NULL;
16199 fra.me.REG[3] = NIT_NULL;
16200 fra.me.REG[0] = p0;
16201 fra.me.REG[1] = p1;
16202 fra.me.REG[2] = p2;
16203 fra.me.REG[3] = ATTR_parser_nodes___AAble____n_kwredef(fra.me.REG[0]);
16204 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
16205 /* ./parser//parser_prod.nit:2839 */
16206 if (UNTAG_Bool(REGB0)) {
16207 } else {
16208 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
16209 if (UNTAG_Bool(REGB1)) {
16210 REGB1 = TAG_Bool(false);
16211 REGB0 = REGB1;
16212 } else {
16213 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
16214 REGB0 = REGB1;
16215 }
16216 }
16217 if (UNTAG_Bool(REGB0)) {
16218 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
16219 /* ./parser//parser_prod.nit:2840 */
16220 if (UNTAG_Bool(REGB0)) {
16221 } else {
16222 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
16223 if (UNTAG_Bool(REGB1)) {
16224 REGB1 = TAG_Bool(false);
16225 REGB0 = REGB1;
16226 } else {
16227 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
16228 REGB0 = REGB1;
16229 }
16230 }
16231 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
16232 if (UNTAG_Bool(REGB0)) {
16233 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
16234 /* ./parser//parser_prod.nit:2841 */
16235 if (UNTAG_Bool(REGB0)) {
16236 fprintf(stderr, "Reciever is null");
16237 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2841);
16238 nit_exit(1);
16239 }
16240 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
16241 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
16242 /* ./parser//parser_prod.nit:2842 */
16243 if (UNTAG_Bool(REGB0)) {
16244 } else {
16245 fprintf(stderr, "Assert failed");
16246 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2842);
16247 nit_exit(1);
16248 }
16249 /* ./parser//parser_prod.nit:2843 */
16250 ATTR_parser_nodes___AAble____n_kwredef(fra.me.REG[0]) = fra.me.REG[2];
16251 } else {
16252 /* ./parser//parser_prod.nit:2845 */
16253 ATTR_parser_nodes___AAble____n_kwredef(fra.me.REG[0]) = NIT_NULL;
16254 }
16255 /* ./parser//parser_prod.nit:2847 */
16256 goto label1;
16257 }
16258 REGB0 = TAG_Bool(ATTR_parser_nodes___AWriteAble____n_kwwritable(fra.me.REG[0])!=NIT_NULL);
16259 /* ./parser//parser_prod.nit:2849 */
16260 if (UNTAG_Bool(REGB0)) {
16261 } else {
16262 fprintf(stderr, "Uninitialized attribute %s", "_n_kwwritable");
16263 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2849);
16264 nit_exit(1);
16265 }
16266 fra.me.REG[3] = ATTR_parser_nodes___AWriteAble____n_kwwritable(fra.me.REG[0]);
16267 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
16268 if (UNTAG_Bool(REGB0)) {
16269 } else {
16270 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
16271 REGB0 = REGB1;
16272 }
16273 if (UNTAG_Bool(REGB0)) {
16274 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
16275 /* ./parser//parser_prod.nit:2850 */
16276 if (UNTAG_Bool(REGB0)) {
16277 } else {
16278 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
16279 if (UNTAG_Bool(REGB1)) {
16280 REGB1 = TAG_Bool(false);
16281 REGB0 = REGB1;
16282 } else {
16283 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
16284 REGB0 = REGB1;
16285 }
16286 }
16287 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
16288 if (UNTAG_Bool(REGB0)) {
16289 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
16290 /* ./parser//parser_prod.nit:2851 */
16291 if (UNTAG_Bool(REGB0)) {
16292 fprintf(stderr, "Reciever is null");
16293 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2851);
16294 nit_exit(1);
16295 }
16296 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
16297 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwwritable, ID_TKwwritable)) /*cast TKwwritable*/;
16298 /* ./parser//parser_prod.nit:2852 */
16299 if (UNTAG_Bool(REGB0)) {
16300 } else {
16301 fprintf(stderr, "Assert failed");
16302 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2852);
16303 nit_exit(1);
16304 }
16305 /* ./parser//parser_prod.nit:2853 */
16306 ATTR_parser_nodes___AWriteAble____n_kwwritable(fra.me.REG[0]) = fra.me.REG[2];
16307 } else {
16308 /* ./parser//parser_prod.nit:2855 */
16309 fprintf(stderr, "Aborted");
16310 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2855);
16311 nit_exit(1);
16312 }
16313 /* ./parser//parser_prod.nit:2857 */
16314 goto label1;
16315 }
16316 label1: while(0);
16317 stack_frame_head = fra.me.prev;
16318 return;
16319 }
16320 void parser_prod___AWriteAble___visit_all(val_t p0, val_t p1){
16321 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
16322 val_t REGB0;
16323 val_t REGB1;
16324 val_t tmp;
16325 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16326 fra.me.file = LOCATE_parser_prod;
16327 fra.me.line = 2861;
16328 fra.me.meth = LOCATE_parser_prod___AWriteAble___visit_all;
16329 fra.me.has_broke = 0;
16330 fra.me.REG_size = 3;
16331 fra.me.REG[0] = NIT_NULL;
16332 fra.me.REG[1] = NIT_NULL;
16333 fra.me.REG[2] = NIT_NULL;
16334 fra.me.REG[0] = p0;
16335 fra.me.REG[1] = p1;
16336 fra.me.REG[2] = ATTR_parser_nodes___AAble____n_kwredef(fra.me.REG[0]);
16337 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
16338 /* ./parser//parser_prod.nit:2863 */
16339 if (UNTAG_Bool(REGB0)) {
16340 } else {
16341 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
16342 if (UNTAG_Bool(REGB1)) {
16343 REGB1 = TAG_Bool(false);
16344 REGB0 = REGB1;
16345 } else {
16346 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
16347 REGB0 = REGB1;
16348 }
16349 }
16350 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
16351 if (UNTAG_Bool(REGB0)) {
16352 fra.me.REG[2] = ATTR_parser_nodes___AAble____n_kwredef(fra.me.REG[0]);
16353 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
16354 /* ./parser//parser_prod.nit:2864 */
16355 if (UNTAG_Bool(REGB0)) {
16356 } else {
16357 fprintf(stderr, "Cast failed");
16358 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2864);
16359 nit_exit(1);
16360 }
16361 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
16362 }
16363 REGB0 = TAG_Bool(ATTR_parser_nodes___AWriteAble____n_kwwritable(fra.me.REG[0])!=NIT_NULL);
16364 /* ./parser//parser_prod.nit:2866 */
16365 if (UNTAG_Bool(REGB0)) {
16366 } else {
16367 fprintf(stderr, "Uninitialized attribute %s", "_n_kwwritable");
16368 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2866);
16369 nit_exit(1);
16370 }
16371 fra.me.REG[0] = ATTR_parser_nodes___AWriteAble____n_kwwritable(fra.me.REG[0]);
16372 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
16373 stack_frame_head = fra.me.prev;
16374 return;
16375 }
16376 void parser_prod___AWriteAble___visit_all_reverse(val_t p0, val_t p1){
16377 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
16378 val_t REGB0;
16379 val_t REGB1;
16380 val_t tmp;
16381 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16382 fra.me.file = LOCATE_parser_prod;
16383 fra.me.line = 2869;
16384 fra.me.meth = LOCATE_parser_prod___AWriteAble___visit_all_reverse;
16385 fra.me.has_broke = 0;
16386 fra.me.REG_size = 3;
16387 fra.me.REG[0] = NIT_NULL;
16388 fra.me.REG[1] = NIT_NULL;
16389 fra.me.REG[2] = NIT_NULL;
16390 fra.me.REG[0] = p0;
16391 fra.me.REG[1] = p1;
16392 fra.me.REG[2] = ATTR_parser_nodes___AAble____n_kwredef(fra.me.REG[0]);
16393 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
16394 /* ./parser//parser_prod.nit:2871 */
16395 if (UNTAG_Bool(REGB0)) {
16396 } else {
16397 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
16398 if (UNTAG_Bool(REGB1)) {
16399 REGB1 = TAG_Bool(false);
16400 REGB0 = REGB1;
16401 } else {
16402 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
16403 REGB0 = REGB1;
16404 }
16405 }
16406 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
16407 if (UNTAG_Bool(REGB0)) {
16408 fra.me.REG[2] = ATTR_parser_nodes___AAble____n_kwredef(fra.me.REG[0]);
16409 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwredef, ID_TKwredef)) /*cast TKwredef*/;
16410 /* ./parser//parser_prod.nit:2872 */
16411 if (UNTAG_Bool(REGB0)) {
16412 } else {
16413 fprintf(stderr, "Cast failed");
16414 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2872);
16415 nit_exit(1);
16416 }
16417 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
16418 }
16419 REGB0 = TAG_Bool(ATTR_parser_nodes___AWriteAble____n_kwwritable(fra.me.REG[0])!=NIT_NULL);
16420 /* ./parser//parser_prod.nit:2874 */
16421 if (UNTAG_Bool(REGB0)) {
16422 } else {
16423 fprintf(stderr, "Uninitialized attribute %s", "_n_kwwritable");
16424 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2874);
16425 nit_exit(1);
16426 }
16427 fra.me.REG[0] = ATTR_parser_nodes___AWriteAble____n_kwwritable(fra.me.REG[0]);
16428 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
16429 stack_frame_head = fra.me.prev;
16430 return;
16431 }
16432 void parser_prod___AWriteAble___empty_init(val_t p0, int* init_table){
16433 int itpos55 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AWriteAble].i;
16434 struct {struct stack_frame_t me;} fra;
16435 val_t tmp;
16436 if (init_table[itpos55]) return;
16437 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16438 fra.me.file = LOCATE_parser_prod;
16439 fra.me.line = 2821;
16440 fra.me.meth = LOCATE_parser_prod___AWriteAble___empty_init;
16441 fra.me.has_broke = 0;
16442 fra.me.REG_size = 1;
16443 fra.me.REG[0] = NIT_NULL;
16444 fra.me.REG[0] = p0;
16445 /* ./parser//parser_prod.nit:2821 */
16446 stack_frame_head = fra.me.prev;
16447 init_table[itpos55] = 1;
16448 return;
16449 }
16450 void parser_prod___AWriteAble___init_awriteable(val_t p0, val_t p1, val_t p2, int* init_table){
16451 int itpos56 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AWriteAble].i;
16452 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
16453 val_t REGB0;
16454 val_t REGB1;
16455 val_t tmp;
16456 if (init_table[itpos56]) return;
16457 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16458 fra.me.file = LOCATE_parser_prod;
16459 fra.me.line = 2823;
16460 fra.me.meth = LOCATE_parser_prod___AWriteAble___init_awriteable;
16461 fra.me.has_broke = 0;
16462 fra.me.REG_size = 3;
16463 fra.me.REG[0] = NIT_NULL;
16464 fra.me.REG[1] = NIT_NULL;
16465 fra.me.REG[2] = NIT_NULL;
16466 fra.me.REG[0] = p0;
16467 fra.me.REG[1] = p1;
16468 fra.me.REG[2] = p2;
16469 /* ./parser//parser_prod.nit:2828 */
16470 CALL_parser_prod___AWriteAble___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
16471 /* ./parser//parser_prod.nit:2829 */
16472 ATTR_parser_nodes___AAble____n_kwredef(fra.me.REG[0]) = fra.me.REG[1];
16473 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
16474 /* ./parser//parser_prod.nit:2830 */
16475 if (UNTAG_Bool(REGB0)) {
16476 } else {
16477 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
16478 if (UNTAG_Bool(REGB1)) {
16479 REGB1 = TAG_Bool(false);
16480 REGB0 = REGB1;
16481 } else {
16482 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
16483 REGB0 = REGB1;
16484 }
16485 }
16486 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
16487 if (UNTAG_Bool(REGB0)) {
16488 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
16489 /* ./parser//parser_prod.nit:2831 */
16490 if (UNTAG_Bool(REGB0)) {
16491 fprintf(stderr, "Reciever is null");
16492 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2831);
16493 nit_exit(1);
16494 }
16495 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
16496 }
16497 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
16498 /* ./parser//parser_prod.nit:2833 */
16499 if (UNTAG_Bool(REGB0)) {
16500 } else {
16501 fprintf(stderr, "Cast failed");
16502 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2833);
16503 nit_exit(1);
16504 }
16505 ATTR_parser_nodes___AWriteAble____n_kwwritable(fra.me.REG[0]) = fra.me.REG[2];
16506 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
16507 /* ./parser//parser_prod.nit:2834 */
16508 if (UNTAG_Bool(REGB0)) {
16509 fprintf(stderr, "Reciever is null");
16510 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2834);
16511 nit_exit(1);
16512 }
16513 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
16514 stack_frame_head = fra.me.prev;
16515 init_table[itpos56] = 1;
16516 return;
16517 }
16518 void parser_prod___AIdMethid___n_id__eq(val_t p0, val_t p1){
16519 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
16520 val_t tmp;
16521 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16522 fra.me.file = LOCATE_parser_prod;
16523 fra.me.line = 2878;
16524 fra.me.meth = LOCATE_parser_prod___AIdMethid___n_id__eq;
16525 fra.me.has_broke = 0;
16526 fra.me.REG_size = 2;
16527 fra.me.REG[0] = NIT_NULL;
16528 fra.me.REG[1] = NIT_NULL;
16529 fra.me.REG[0] = p0;
16530 fra.me.REG[1] = p1;
16531 /* ./parser//parser_prod.nit:2880 */
16532 ATTR_parser_nodes___AIdMethid____n_id(fra.me.REG[0]) = fra.me.REG[1];
16533 /* ./parser//parser_prod.nit:2881 */
16534 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
16535 stack_frame_head = fra.me.prev;
16536 return;
16537 }
16538 void parser_prod___AIdMethid___replace_child(val_t p0, val_t p1, val_t p2){
16539 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
16540 val_t REGB0;
16541 val_t REGB1;
16542 val_t tmp;
16543 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16544 fra.me.file = LOCATE_parser_prod;
16545 fra.me.line = 2895;
16546 fra.me.meth = LOCATE_parser_prod___AIdMethid___replace_child;
16547 fra.me.has_broke = 0;
16548 fra.me.REG_size = 4;
16549 fra.me.REG[0] = NIT_NULL;
16550 fra.me.REG[1] = NIT_NULL;
16551 fra.me.REG[2] = NIT_NULL;
16552 fra.me.REG[3] = NIT_NULL;
16553 fra.me.REG[0] = p0;
16554 fra.me.REG[1] = p1;
16555 fra.me.REG[2] = p2;
16556 REGB0 = TAG_Bool(ATTR_parser_nodes___AIdMethid____n_id(fra.me.REG[0])!=NIT_NULL);
16557 /* ./parser//parser_prod.nit:2897 */
16558 if (UNTAG_Bool(REGB0)) {
16559 } else {
16560 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
16561 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2897);
16562 nit_exit(1);
16563 }
16564 fra.me.REG[3] = ATTR_parser_nodes___AIdMethid____n_id(fra.me.REG[0]);
16565 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
16566 if (UNTAG_Bool(REGB0)) {
16567 } else {
16568 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
16569 REGB0 = REGB1;
16570 }
16571 if (UNTAG_Bool(REGB0)) {
16572 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
16573 /* ./parser//parser_prod.nit:2898 */
16574 if (UNTAG_Bool(REGB0)) {
16575 } else {
16576 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
16577 if (UNTAG_Bool(REGB1)) {
16578 REGB1 = TAG_Bool(false);
16579 REGB0 = REGB1;
16580 } else {
16581 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
16582 REGB0 = REGB1;
16583 }
16584 }
16585 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
16586 if (UNTAG_Bool(REGB0)) {
16587 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
16588 /* ./parser//parser_prod.nit:2899 */
16589 if (UNTAG_Bool(REGB0)) {
16590 fprintf(stderr, "Reciever is null");
16591 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2899);
16592 nit_exit(1);
16593 }
16594 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
16595 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast TId*/;
16596 /* ./parser//parser_prod.nit:2900 */
16597 if (UNTAG_Bool(REGB0)) {
16598 } else {
16599 fprintf(stderr, "Assert failed");
16600 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2900);
16601 nit_exit(1);
16602 }
16603 /* ./parser//parser_prod.nit:2901 */
16604 ATTR_parser_nodes___AIdMethid____n_id(fra.me.REG[0]) = fra.me.REG[2];
16605 } else {
16606 /* ./parser//parser_prod.nit:2903 */
16607 fprintf(stderr, "Aborted");
16608 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2903);
16609 nit_exit(1);
16610 }
16611 /* ./parser//parser_prod.nit:2905 */
16612 goto label1;
16613 }
16614 label1: while(0);
16615 stack_frame_head = fra.me.prev;
16616 return;
16617 }
16618 void parser_prod___AIdMethid___visit_all(val_t p0, val_t p1){
16619 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
16620 val_t REGB0;
16621 val_t tmp;
16622 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16623 fra.me.file = LOCATE_parser_prod;
16624 fra.me.line = 2909;
16625 fra.me.meth = LOCATE_parser_prod___AIdMethid___visit_all;
16626 fra.me.has_broke = 0;
16627 fra.me.REG_size = 2;
16628 fra.me.REG[0] = NIT_NULL;
16629 fra.me.REG[1] = NIT_NULL;
16630 fra.me.REG[0] = p0;
16631 fra.me.REG[1] = p1;
16632 REGB0 = TAG_Bool(ATTR_parser_nodes___AIdMethid____n_id(fra.me.REG[0])!=NIT_NULL);
16633 /* ./parser//parser_prod.nit:2911 */
16634 if (UNTAG_Bool(REGB0)) {
16635 } else {
16636 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
16637 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2911);
16638 nit_exit(1);
16639 }
16640 fra.me.REG[0] = ATTR_parser_nodes___AIdMethid____n_id(fra.me.REG[0]);
16641 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
16642 stack_frame_head = fra.me.prev;
16643 return;
16644 }
16645 void parser_prod___AIdMethid___visit_all_reverse(val_t p0, val_t p1){
16646 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
16647 val_t REGB0;
16648 val_t tmp;
16649 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16650 fra.me.file = LOCATE_parser_prod;
16651 fra.me.line = 2914;
16652 fra.me.meth = LOCATE_parser_prod___AIdMethid___visit_all_reverse;
16653 fra.me.has_broke = 0;
16654 fra.me.REG_size = 2;
16655 fra.me.REG[0] = NIT_NULL;
16656 fra.me.REG[1] = NIT_NULL;
16657 fra.me.REG[0] = p0;
16658 fra.me.REG[1] = p1;
16659 REGB0 = TAG_Bool(ATTR_parser_nodes___AIdMethid____n_id(fra.me.REG[0])!=NIT_NULL);
16660 /* ./parser//parser_prod.nit:2916 */
16661 if (UNTAG_Bool(REGB0)) {
16662 } else {
16663 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
16664 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2916);
16665 nit_exit(1);
16666 }
16667 fra.me.REG[0] = ATTR_parser_nodes___AIdMethid____n_id(fra.me.REG[0]);
16668 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
16669 stack_frame_head = fra.me.prev;
16670 return;
16671 }
16672 void parser_prod___AIdMethid___empty_init(val_t p0, int* init_table){
16673 int itpos57 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AIdMethid].i;
16674 struct {struct stack_frame_t me;} fra;
16675 val_t tmp;
16676 if (init_table[itpos57]) return;
16677 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16678 fra.me.file = LOCATE_parser_prod;
16679 fra.me.line = 2884;
16680 fra.me.meth = LOCATE_parser_prod___AIdMethid___empty_init;
16681 fra.me.has_broke = 0;
16682 fra.me.REG_size = 1;
16683 fra.me.REG[0] = NIT_NULL;
16684 fra.me.REG[0] = p0;
16685 /* ./parser//parser_prod.nit:2884 */
16686 stack_frame_head = fra.me.prev;
16687 init_table[itpos57] = 1;
16688 return;
16689 }
16690 void parser_prod___AIdMethid___init_aidmethid(val_t p0, val_t p1, int* init_table){
16691 int itpos58 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AIdMethid].i;
16692 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
16693 val_t REGB0;
16694 val_t tmp;
16695 if (init_table[itpos58]) return;
16696 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16697 fra.me.file = LOCATE_parser_prod;
16698 fra.me.line = 2886;
16699 fra.me.meth = LOCATE_parser_prod___AIdMethid___init_aidmethid;
16700 fra.me.has_broke = 0;
16701 fra.me.REG_size = 2;
16702 fra.me.REG[0] = NIT_NULL;
16703 fra.me.REG[1] = NIT_NULL;
16704 fra.me.REG[0] = p0;
16705 fra.me.REG[1] = p1;
16706 /* ./parser//parser_prod.nit:2890 */
16707 CALL_parser_prod___AIdMethid___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
16708 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
16709 /* ./parser//parser_prod.nit:2891 */
16710 if (UNTAG_Bool(REGB0)) {
16711 } else {
16712 fprintf(stderr, "Cast failed");
16713 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2891);
16714 nit_exit(1);
16715 }
16716 ATTR_parser_nodes___AIdMethid____n_id(fra.me.REG[0]) = fra.me.REG[1];
16717 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
16718 /* ./parser//parser_prod.nit:2892 */
16719 if (UNTAG_Bool(REGB0)) {
16720 fprintf(stderr, "Reciever is null");
16721 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2892);
16722 nit_exit(1);
16723 }
16724 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
16725 stack_frame_head = fra.me.prev;
16726 init_table[itpos58] = 1;
16727 return;
16728 }
16729 void parser_prod___APlusMethid___n_plus__eq(val_t p0, val_t p1){
16730 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
16731 val_t tmp;
16732 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16733 fra.me.file = LOCATE_parser_prod;
16734 fra.me.line = 2920;
16735 fra.me.meth = LOCATE_parser_prod___APlusMethid___n_plus__eq;
16736 fra.me.has_broke = 0;
16737 fra.me.REG_size = 2;
16738 fra.me.REG[0] = NIT_NULL;
16739 fra.me.REG[1] = NIT_NULL;
16740 fra.me.REG[0] = p0;
16741 fra.me.REG[1] = p1;
16742 /* ./parser//parser_prod.nit:2922 */
16743 ATTR_parser_nodes___APlusMethid____n_plus(fra.me.REG[0]) = fra.me.REG[1];
16744 /* ./parser//parser_prod.nit:2923 */
16745 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
16746 stack_frame_head = fra.me.prev;
16747 return;
16748 }
16749 void parser_prod___APlusMethid___replace_child(val_t p0, val_t p1, val_t p2){
16750 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
16751 val_t REGB0;
16752 val_t REGB1;
16753 val_t tmp;
16754 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16755 fra.me.file = LOCATE_parser_prod;
16756 fra.me.line = 2937;
16757 fra.me.meth = LOCATE_parser_prod___APlusMethid___replace_child;
16758 fra.me.has_broke = 0;
16759 fra.me.REG_size = 4;
16760 fra.me.REG[0] = NIT_NULL;
16761 fra.me.REG[1] = NIT_NULL;
16762 fra.me.REG[2] = NIT_NULL;
16763 fra.me.REG[3] = NIT_NULL;
16764 fra.me.REG[0] = p0;
16765 fra.me.REG[1] = p1;
16766 fra.me.REG[2] = p2;
16767 REGB0 = TAG_Bool(ATTR_parser_nodes___APlusMethid____n_plus(fra.me.REG[0])!=NIT_NULL);
16768 /* ./parser//parser_prod.nit:2939 */
16769 if (UNTAG_Bool(REGB0)) {
16770 } else {
16771 fprintf(stderr, "Uninitialized attribute %s", "_n_plus");
16772 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2939);
16773 nit_exit(1);
16774 }
16775 fra.me.REG[3] = ATTR_parser_nodes___APlusMethid____n_plus(fra.me.REG[0]);
16776 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
16777 if (UNTAG_Bool(REGB0)) {
16778 } else {
16779 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
16780 REGB0 = REGB1;
16781 }
16782 if (UNTAG_Bool(REGB0)) {
16783 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
16784 /* ./parser//parser_prod.nit:2940 */
16785 if (UNTAG_Bool(REGB0)) {
16786 } else {
16787 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
16788 if (UNTAG_Bool(REGB1)) {
16789 REGB1 = TAG_Bool(false);
16790 REGB0 = REGB1;
16791 } else {
16792 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
16793 REGB0 = REGB1;
16794 }
16795 }
16796 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
16797 if (UNTAG_Bool(REGB0)) {
16798 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
16799 /* ./parser//parser_prod.nit:2941 */
16800 if (UNTAG_Bool(REGB0)) {
16801 fprintf(stderr, "Reciever is null");
16802 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2941);
16803 nit_exit(1);
16804 }
16805 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
16806 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TPlus, ID_TPlus)) /*cast TPlus*/;
16807 /* ./parser//parser_prod.nit:2942 */
16808 if (UNTAG_Bool(REGB0)) {
16809 } else {
16810 fprintf(stderr, "Assert failed");
16811 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2942);
16812 nit_exit(1);
16813 }
16814 /* ./parser//parser_prod.nit:2943 */
16815 ATTR_parser_nodes___APlusMethid____n_plus(fra.me.REG[0]) = fra.me.REG[2];
16816 } else {
16817 /* ./parser//parser_prod.nit:2945 */
16818 fprintf(stderr, "Aborted");
16819 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2945);
16820 nit_exit(1);
16821 }
16822 /* ./parser//parser_prod.nit:2947 */
16823 goto label1;
16824 }
16825 label1: while(0);
16826 stack_frame_head = fra.me.prev;
16827 return;
16828 }
16829 void parser_prod___APlusMethid___visit_all(val_t p0, val_t p1){
16830 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
16831 val_t REGB0;
16832 val_t tmp;
16833 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16834 fra.me.file = LOCATE_parser_prod;
16835 fra.me.line = 2951;
16836 fra.me.meth = LOCATE_parser_prod___APlusMethid___visit_all;
16837 fra.me.has_broke = 0;
16838 fra.me.REG_size = 2;
16839 fra.me.REG[0] = NIT_NULL;
16840 fra.me.REG[1] = NIT_NULL;
16841 fra.me.REG[0] = p0;
16842 fra.me.REG[1] = p1;
16843 REGB0 = TAG_Bool(ATTR_parser_nodes___APlusMethid____n_plus(fra.me.REG[0])!=NIT_NULL);
16844 /* ./parser//parser_prod.nit:2953 */
16845 if (UNTAG_Bool(REGB0)) {
16846 } else {
16847 fprintf(stderr, "Uninitialized attribute %s", "_n_plus");
16848 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2953);
16849 nit_exit(1);
16850 }
16851 fra.me.REG[0] = ATTR_parser_nodes___APlusMethid____n_plus(fra.me.REG[0]);
16852 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
16853 stack_frame_head = fra.me.prev;
16854 return;
16855 }
16856 void parser_prod___APlusMethid___visit_all_reverse(val_t p0, val_t p1){
16857 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
16858 val_t REGB0;
16859 val_t tmp;
16860 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16861 fra.me.file = LOCATE_parser_prod;
16862 fra.me.line = 2956;
16863 fra.me.meth = LOCATE_parser_prod___APlusMethid___visit_all_reverse;
16864 fra.me.has_broke = 0;
16865 fra.me.REG_size = 2;
16866 fra.me.REG[0] = NIT_NULL;
16867 fra.me.REG[1] = NIT_NULL;
16868 fra.me.REG[0] = p0;
16869 fra.me.REG[1] = p1;
16870 REGB0 = TAG_Bool(ATTR_parser_nodes___APlusMethid____n_plus(fra.me.REG[0])!=NIT_NULL);
16871 /* ./parser//parser_prod.nit:2958 */
16872 if (UNTAG_Bool(REGB0)) {
16873 } else {
16874 fprintf(stderr, "Uninitialized attribute %s", "_n_plus");
16875 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2958);
16876 nit_exit(1);
16877 }
16878 fra.me.REG[0] = ATTR_parser_nodes___APlusMethid____n_plus(fra.me.REG[0]);
16879 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
16880 stack_frame_head = fra.me.prev;
16881 return;
16882 }
16883 void parser_prod___APlusMethid___empty_init(val_t p0, int* init_table){
16884 int itpos59 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_APlusMethid].i;
16885 struct {struct stack_frame_t me;} fra;
16886 val_t tmp;
16887 if (init_table[itpos59]) return;
16888 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16889 fra.me.file = LOCATE_parser_prod;
16890 fra.me.line = 2926;
16891 fra.me.meth = LOCATE_parser_prod___APlusMethid___empty_init;
16892 fra.me.has_broke = 0;
16893 fra.me.REG_size = 1;
16894 fra.me.REG[0] = NIT_NULL;
16895 fra.me.REG[0] = p0;
16896 /* ./parser//parser_prod.nit:2926 */
16897 stack_frame_head = fra.me.prev;
16898 init_table[itpos59] = 1;
16899 return;
16900 }
16901 void parser_prod___APlusMethid___init_aplusmethid(val_t p0, val_t p1, int* init_table){
16902 int itpos60 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_APlusMethid].i;
16903 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
16904 val_t REGB0;
16905 val_t tmp;
16906 if (init_table[itpos60]) return;
16907 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16908 fra.me.file = LOCATE_parser_prod;
16909 fra.me.line = 2928;
16910 fra.me.meth = LOCATE_parser_prod___APlusMethid___init_aplusmethid;
16911 fra.me.has_broke = 0;
16912 fra.me.REG_size = 2;
16913 fra.me.REG[0] = NIT_NULL;
16914 fra.me.REG[1] = NIT_NULL;
16915 fra.me.REG[0] = p0;
16916 fra.me.REG[1] = p1;
16917 /* ./parser//parser_prod.nit:2932 */
16918 CALL_parser_prod___APlusMethid___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
16919 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
16920 /* ./parser//parser_prod.nit:2933 */
16921 if (UNTAG_Bool(REGB0)) {
16922 } else {
16923 fprintf(stderr, "Cast failed");
16924 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2933);
16925 nit_exit(1);
16926 }
16927 ATTR_parser_nodes___APlusMethid____n_plus(fra.me.REG[0]) = fra.me.REG[1];
16928 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
16929 /* ./parser//parser_prod.nit:2934 */
16930 if (UNTAG_Bool(REGB0)) {
16931 fprintf(stderr, "Reciever is null");
16932 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2934);
16933 nit_exit(1);
16934 }
16935 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
16936 stack_frame_head = fra.me.prev;
16937 init_table[itpos60] = 1;
16938 return;
16939 }
16940 void parser_prod___AMinusMethid___n_minus__eq(val_t p0, val_t p1){
16941 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
16942 val_t tmp;
16943 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16944 fra.me.file = LOCATE_parser_prod;
16945 fra.me.line = 2962;
16946 fra.me.meth = LOCATE_parser_prod___AMinusMethid___n_minus__eq;
16947 fra.me.has_broke = 0;
16948 fra.me.REG_size = 2;
16949 fra.me.REG[0] = NIT_NULL;
16950 fra.me.REG[1] = NIT_NULL;
16951 fra.me.REG[0] = p0;
16952 fra.me.REG[1] = p1;
16953 /* ./parser//parser_prod.nit:2964 */
16954 ATTR_parser_nodes___AMinusMethid____n_minus(fra.me.REG[0]) = fra.me.REG[1];
16955 /* ./parser//parser_prod.nit:2965 */
16956 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
16957 stack_frame_head = fra.me.prev;
16958 return;
16959 }
16960 void parser_prod___AMinusMethid___replace_child(val_t p0, val_t p1, val_t p2){
16961 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
16962 val_t REGB0;
16963 val_t REGB1;
16964 val_t tmp;
16965 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
16966 fra.me.file = LOCATE_parser_prod;
16967 fra.me.line = 2979;
16968 fra.me.meth = LOCATE_parser_prod___AMinusMethid___replace_child;
16969 fra.me.has_broke = 0;
16970 fra.me.REG_size = 4;
16971 fra.me.REG[0] = NIT_NULL;
16972 fra.me.REG[1] = NIT_NULL;
16973 fra.me.REG[2] = NIT_NULL;
16974 fra.me.REG[3] = NIT_NULL;
16975 fra.me.REG[0] = p0;
16976 fra.me.REG[1] = p1;
16977 fra.me.REG[2] = p2;
16978 REGB0 = TAG_Bool(ATTR_parser_nodes___AMinusMethid____n_minus(fra.me.REG[0])!=NIT_NULL);
16979 /* ./parser//parser_prod.nit:2981 */
16980 if (UNTAG_Bool(REGB0)) {
16981 } else {
16982 fprintf(stderr, "Uninitialized attribute %s", "_n_minus");
16983 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2981);
16984 nit_exit(1);
16985 }
16986 fra.me.REG[3] = ATTR_parser_nodes___AMinusMethid____n_minus(fra.me.REG[0]);
16987 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
16988 if (UNTAG_Bool(REGB0)) {
16989 } else {
16990 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
16991 REGB0 = REGB1;
16992 }
16993 if (UNTAG_Bool(REGB0)) {
16994 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
16995 /* ./parser//parser_prod.nit:2982 */
16996 if (UNTAG_Bool(REGB0)) {
16997 } else {
16998 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
16999 if (UNTAG_Bool(REGB1)) {
17000 REGB1 = TAG_Bool(false);
17001 REGB0 = REGB1;
17002 } else {
17003 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
17004 REGB0 = REGB1;
17005 }
17006 }
17007 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
17008 if (UNTAG_Bool(REGB0)) {
17009 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
17010 /* ./parser//parser_prod.nit:2983 */
17011 if (UNTAG_Bool(REGB0)) {
17012 fprintf(stderr, "Reciever is null");
17013 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2983);
17014 nit_exit(1);
17015 }
17016 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
17017 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
17018 /* ./parser//parser_prod.nit:2984 */
17019 if (UNTAG_Bool(REGB0)) {
17020 } else {
17021 fprintf(stderr, "Assert failed");
17022 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2984);
17023 nit_exit(1);
17024 }
17025 /* ./parser//parser_prod.nit:2985 */
17026 ATTR_parser_nodes___AMinusMethid____n_minus(fra.me.REG[0]) = fra.me.REG[2];
17027 } else {
17028 /* ./parser//parser_prod.nit:2987 */
17029 fprintf(stderr, "Aborted");
17030 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2987);
17031 nit_exit(1);
17032 }
17033 /* ./parser//parser_prod.nit:2989 */
17034 goto label1;
17035 }
17036 label1: while(0);
17037 stack_frame_head = fra.me.prev;
17038 return;
17039 }
17040 void parser_prod___AMinusMethid___visit_all(val_t p0, val_t p1){
17041 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
17042 val_t REGB0;
17043 val_t tmp;
17044 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17045 fra.me.file = LOCATE_parser_prod;
17046 fra.me.line = 2993;
17047 fra.me.meth = LOCATE_parser_prod___AMinusMethid___visit_all;
17048 fra.me.has_broke = 0;
17049 fra.me.REG_size = 2;
17050 fra.me.REG[0] = NIT_NULL;
17051 fra.me.REG[1] = NIT_NULL;
17052 fra.me.REG[0] = p0;
17053 fra.me.REG[1] = p1;
17054 REGB0 = TAG_Bool(ATTR_parser_nodes___AMinusMethid____n_minus(fra.me.REG[0])!=NIT_NULL);
17055 /* ./parser//parser_prod.nit:2995 */
17056 if (UNTAG_Bool(REGB0)) {
17057 } else {
17058 fprintf(stderr, "Uninitialized attribute %s", "_n_minus");
17059 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2995);
17060 nit_exit(1);
17061 }
17062 fra.me.REG[0] = ATTR_parser_nodes___AMinusMethid____n_minus(fra.me.REG[0]);
17063 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
17064 stack_frame_head = fra.me.prev;
17065 return;
17066 }
17067 void parser_prod___AMinusMethid___visit_all_reverse(val_t p0, val_t p1){
17068 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
17069 val_t REGB0;
17070 val_t tmp;
17071 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17072 fra.me.file = LOCATE_parser_prod;
17073 fra.me.line = 2998;
17074 fra.me.meth = LOCATE_parser_prod___AMinusMethid___visit_all_reverse;
17075 fra.me.has_broke = 0;
17076 fra.me.REG_size = 2;
17077 fra.me.REG[0] = NIT_NULL;
17078 fra.me.REG[1] = NIT_NULL;
17079 fra.me.REG[0] = p0;
17080 fra.me.REG[1] = p1;
17081 REGB0 = TAG_Bool(ATTR_parser_nodes___AMinusMethid____n_minus(fra.me.REG[0])!=NIT_NULL);
17082 /* ./parser//parser_prod.nit:3000 */
17083 if (UNTAG_Bool(REGB0)) {
17084 } else {
17085 fprintf(stderr, "Uninitialized attribute %s", "_n_minus");
17086 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3000);
17087 nit_exit(1);
17088 }
17089 fra.me.REG[0] = ATTR_parser_nodes___AMinusMethid____n_minus(fra.me.REG[0]);
17090 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
17091 stack_frame_head = fra.me.prev;
17092 return;
17093 }
17094 void parser_prod___AMinusMethid___empty_init(val_t p0, int* init_table){
17095 int itpos61 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AMinusMethid].i;
17096 struct {struct stack_frame_t me;} fra;
17097 val_t tmp;
17098 if (init_table[itpos61]) return;
17099 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17100 fra.me.file = LOCATE_parser_prod;
17101 fra.me.line = 2968;
17102 fra.me.meth = LOCATE_parser_prod___AMinusMethid___empty_init;
17103 fra.me.has_broke = 0;
17104 fra.me.REG_size = 1;
17105 fra.me.REG[0] = NIT_NULL;
17106 fra.me.REG[0] = p0;
17107 /* ./parser//parser_prod.nit:2968 */
17108 stack_frame_head = fra.me.prev;
17109 init_table[itpos61] = 1;
17110 return;
17111 }
17112 void parser_prod___AMinusMethid___init_aminusmethid(val_t p0, val_t p1, int* init_table){
17113 int itpos62 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AMinusMethid].i;
17114 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
17115 val_t REGB0;
17116 val_t tmp;
17117 if (init_table[itpos62]) return;
17118 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17119 fra.me.file = LOCATE_parser_prod;
17120 fra.me.line = 2970;
17121 fra.me.meth = LOCATE_parser_prod___AMinusMethid___init_aminusmethid;
17122 fra.me.has_broke = 0;
17123 fra.me.REG_size = 2;
17124 fra.me.REG[0] = NIT_NULL;
17125 fra.me.REG[1] = NIT_NULL;
17126 fra.me.REG[0] = p0;
17127 fra.me.REG[1] = p1;
17128 /* ./parser//parser_prod.nit:2974 */
17129 CALL_parser_prod___AMinusMethid___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
17130 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
17131 /* ./parser//parser_prod.nit:2975 */
17132 if (UNTAG_Bool(REGB0)) {
17133 } else {
17134 fprintf(stderr, "Cast failed");
17135 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2975);
17136 nit_exit(1);
17137 }
17138 ATTR_parser_nodes___AMinusMethid____n_minus(fra.me.REG[0]) = fra.me.REG[1];
17139 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
17140 /* ./parser//parser_prod.nit:2976 */
17141 if (UNTAG_Bool(REGB0)) {
17142 fprintf(stderr, "Reciever is null");
17143 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 2976);
17144 nit_exit(1);
17145 }
17146 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
17147 stack_frame_head = fra.me.prev;
17148 init_table[itpos62] = 1;
17149 return;
17150 }
17151 void parser_prod___AStarMethid___n_star__eq(val_t p0, val_t p1){
17152 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
17153 val_t tmp;
17154 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17155 fra.me.file = LOCATE_parser_prod;
17156 fra.me.line = 3004;
17157 fra.me.meth = LOCATE_parser_prod___AStarMethid___n_star__eq;
17158 fra.me.has_broke = 0;
17159 fra.me.REG_size = 2;
17160 fra.me.REG[0] = NIT_NULL;
17161 fra.me.REG[1] = NIT_NULL;
17162 fra.me.REG[0] = p0;
17163 fra.me.REG[1] = p1;
17164 /* ./parser//parser_prod.nit:3006 */
17165 ATTR_parser_nodes___AStarMethid____n_star(fra.me.REG[0]) = fra.me.REG[1];
17166 /* ./parser//parser_prod.nit:3007 */
17167 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
17168 stack_frame_head = fra.me.prev;
17169 return;
17170 }
17171 void parser_prod___AStarMethid___replace_child(val_t p0, val_t p1, val_t p2){
17172 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
17173 val_t REGB0;
17174 val_t REGB1;
17175 val_t tmp;
17176 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17177 fra.me.file = LOCATE_parser_prod;
17178 fra.me.line = 3021;
17179 fra.me.meth = LOCATE_parser_prod___AStarMethid___replace_child;
17180 fra.me.has_broke = 0;
17181 fra.me.REG_size = 4;
17182 fra.me.REG[0] = NIT_NULL;
17183 fra.me.REG[1] = NIT_NULL;
17184 fra.me.REG[2] = NIT_NULL;
17185 fra.me.REG[3] = NIT_NULL;
17186 fra.me.REG[0] = p0;
17187 fra.me.REG[1] = p1;
17188 fra.me.REG[2] = p2;
17189 REGB0 = TAG_Bool(ATTR_parser_nodes___AStarMethid____n_star(fra.me.REG[0])!=NIT_NULL);
17190 /* ./parser//parser_prod.nit:3023 */
17191 if (UNTAG_Bool(REGB0)) {
17192 } else {
17193 fprintf(stderr, "Uninitialized attribute %s", "_n_star");
17194 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3023);
17195 nit_exit(1);
17196 }
17197 fra.me.REG[3] = ATTR_parser_nodes___AStarMethid____n_star(fra.me.REG[0]);
17198 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
17199 if (UNTAG_Bool(REGB0)) {
17200 } else {
17201 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
17202 REGB0 = REGB1;
17203 }
17204 if (UNTAG_Bool(REGB0)) {
17205 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
17206 /* ./parser//parser_prod.nit:3024 */
17207 if (UNTAG_Bool(REGB0)) {
17208 } else {
17209 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
17210 if (UNTAG_Bool(REGB1)) {
17211 REGB1 = TAG_Bool(false);
17212 REGB0 = REGB1;
17213 } else {
17214 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
17215 REGB0 = REGB1;
17216 }
17217 }
17218 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
17219 if (UNTAG_Bool(REGB0)) {
17220 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
17221 /* ./parser//parser_prod.nit:3025 */
17222 if (UNTAG_Bool(REGB0)) {
17223 fprintf(stderr, "Reciever is null");
17224 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3025);
17225 nit_exit(1);
17226 }
17227 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
17228 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TStar, ID_TStar)) /*cast TStar*/;
17229 /* ./parser//parser_prod.nit:3026 */
17230 if (UNTAG_Bool(REGB0)) {
17231 } else {
17232 fprintf(stderr, "Assert failed");
17233 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3026);
17234 nit_exit(1);
17235 }
17236 /* ./parser//parser_prod.nit:3027 */
17237 ATTR_parser_nodes___AStarMethid____n_star(fra.me.REG[0]) = fra.me.REG[2];
17238 } else {
17239 /* ./parser//parser_prod.nit:3029 */
17240 fprintf(stderr, "Aborted");
17241 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3029);
17242 nit_exit(1);
17243 }
17244 /* ./parser//parser_prod.nit:3031 */
17245 goto label1;
17246 }
17247 label1: while(0);
17248 stack_frame_head = fra.me.prev;
17249 return;
17250 }
17251 void parser_prod___AStarMethid___visit_all(val_t p0, val_t p1){
17252 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
17253 val_t REGB0;
17254 val_t tmp;
17255 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17256 fra.me.file = LOCATE_parser_prod;
17257 fra.me.line = 3035;
17258 fra.me.meth = LOCATE_parser_prod___AStarMethid___visit_all;
17259 fra.me.has_broke = 0;
17260 fra.me.REG_size = 2;
17261 fra.me.REG[0] = NIT_NULL;
17262 fra.me.REG[1] = NIT_NULL;
17263 fra.me.REG[0] = p0;
17264 fra.me.REG[1] = p1;
17265 REGB0 = TAG_Bool(ATTR_parser_nodes___AStarMethid____n_star(fra.me.REG[0])!=NIT_NULL);
17266 /* ./parser//parser_prod.nit:3037 */
17267 if (UNTAG_Bool(REGB0)) {
17268 } else {
17269 fprintf(stderr, "Uninitialized attribute %s", "_n_star");
17270 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3037);
17271 nit_exit(1);
17272 }
17273 fra.me.REG[0] = ATTR_parser_nodes___AStarMethid____n_star(fra.me.REG[0]);
17274 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
17275 stack_frame_head = fra.me.prev;
17276 return;
17277 }
17278 void parser_prod___AStarMethid___visit_all_reverse(val_t p0, val_t p1){
17279 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
17280 val_t REGB0;
17281 val_t tmp;
17282 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17283 fra.me.file = LOCATE_parser_prod;
17284 fra.me.line = 3040;
17285 fra.me.meth = LOCATE_parser_prod___AStarMethid___visit_all_reverse;
17286 fra.me.has_broke = 0;
17287 fra.me.REG_size = 2;
17288 fra.me.REG[0] = NIT_NULL;
17289 fra.me.REG[1] = NIT_NULL;
17290 fra.me.REG[0] = p0;
17291 fra.me.REG[1] = p1;
17292 REGB0 = TAG_Bool(ATTR_parser_nodes___AStarMethid____n_star(fra.me.REG[0])!=NIT_NULL);
17293 /* ./parser//parser_prod.nit:3042 */
17294 if (UNTAG_Bool(REGB0)) {
17295 } else {
17296 fprintf(stderr, "Uninitialized attribute %s", "_n_star");
17297 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3042);
17298 nit_exit(1);
17299 }
17300 fra.me.REG[0] = ATTR_parser_nodes___AStarMethid____n_star(fra.me.REG[0]);
17301 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
17302 stack_frame_head = fra.me.prev;
17303 return;
17304 }
17305 void parser_prod___AStarMethid___empty_init(val_t p0, int* init_table){
17306 int itpos63 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AStarMethid].i;
17307 struct {struct stack_frame_t me;} fra;
17308 val_t tmp;
17309 if (init_table[itpos63]) return;
17310 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17311 fra.me.file = LOCATE_parser_prod;
17312 fra.me.line = 3010;
17313 fra.me.meth = LOCATE_parser_prod___AStarMethid___empty_init;
17314 fra.me.has_broke = 0;
17315 fra.me.REG_size = 1;
17316 fra.me.REG[0] = NIT_NULL;
17317 fra.me.REG[0] = p0;
17318 /* ./parser//parser_prod.nit:3010 */
17319 stack_frame_head = fra.me.prev;
17320 init_table[itpos63] = 1;
17321 return;
17322 }
17323 void parser_prod___AStarMethid___init_astarmethid(val_t p0, val_t p1, int* init_table){
17324 int itpos64 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AStarMethid].i;
17325 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
17326 val_t REGB0;
17327 val_t tmp;
17328 if (init_table[itpos64]) return;
17329 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17330 fra.me.file = LOCATE_parser_prod;
17331 fra.me.line = 3012;
17332 fra.me.meth = LOCATE_parser_prod___AStarMethid___init_astarmethid;
17333 fra.me.has_broke = 0;
17334 fra.me.REG_size = 2;
17335 fra.me.REG[0] = NIT_NULL;
17336 fra.me.REG[1] = NIT_NULL;
17337 fra.me.REG[0] = p0;
17338 fra.me.REG[1] = p1;
17339 /* ./parser//parser_prod.nit:3016 */
17340 CALL_parser_prod___AStarMethid___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
17341 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
17342 /* ./parser//parser_prod.nit:3017 */
17343 if (UNTAG_Bool(REGB0)) {
17344 } else {
17345 fprintf(stderr, "Cast failed");
17346 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3017);
17347 nit_exit(1);
17348 }
17349 ATTR_parser_nodes___AStarMethid____n_star(fra.me.REG[0]) = fra.me.REG[1];
17350 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
17351 /* ./parser//parser_prod.nit:3018 */
17352 if (UNTAG_Bool(REGB0)) {
17353 fprintf(stderr, "Reciever is null");
17354 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3018);
17355 nit_exit(1);
17356 }
17357 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
17358 stack_frame_head = fra.me.prev;
17359 init_table[itpos64] = 1;
17360 return;
17361 }
17362 void parser_prod___ASlashMethid___n_slash__eq(val_t p0, val_t p1){
17363 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
17364 val_t tmp;
17365 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17366 fra.me.file = LOCATE_parser_prod;
17367 fra.me.line = 3046;
17368 fra.me.meth = LOCATE_parser_prod___ASlashMethid___n_slash__eq;
17369 fra.me.has_broke = 0;
17370 fra.me.REG_size = 2;
17371 fra.me.REG[0] = NIT_NULL;
17372 fra.me.REG[1] = NIT_NULL;
17373 fra.me.REG[0] = p0;
17374 fra.me.REG[1] = p1;
17375 /* ./parser//parser_prod.nit:3048 */
17376 ATTR_parser_nodes___ASlashMethid____n_slash(fra.me.REG[0]) = fra.me.REG[1];
17377 /* ./parser//parser_prod.nit:3049 */
17378 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
17379 stack_frame_head = fra.me.prev;
17380 return;
17381 }
17382 void parser_prod___ASlashMethid___replace_child(val_t p0, val_t p1, val_t p2){
17383 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
17384 val_t REGB0;
17385 val_t REGB1;
17386 val_t tmp;
17387 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17388 fra.me.file = LOCATE_parser_prod;
17389 fra.me.line = 3063;
17390 fra.me.meth = LOCATE_parser_prod___ASlashMethid___replace_child;
17391 fra.me.has_broke = 0;
17392 fra.me.REG_size = 4;
17393 fra.me.REG[0] = NIT_NULL;
17394 fra.me.REG[1] = NIT_NULL;
17395 fra.me.REG[2] = NIT_NULL;
17396 fra.me.REG[3] = NIT_NULL;
17397 fra.me.REG[0] = p0;
17398 fra.me.REG[1] = p1;
17399 fra.me.REG[2] = p2;
17400 REGB0 = TAG_Bool(ATTR_parser_nodes___ASlashMethid____n_slash(fra.me.REG[0])!=NIT_NULL);
17401 /* ./parser//parser_prod.nit:3065 */
17402 if (UNTAG_Bool(REGB0)) {
17403 } else {
17404 fprintf(stderr, "Uninitialized attribute %s", "_n_slash");
17405 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3065);
17406 nit_exit(1);
17407 }
17408 fra.me.REG[3] = ATTR_parser_nodes___ASlashMethid____n_slash(fra.me.REG[0]);
17409 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
17410 if (UNTAG_Bool(REGB0)) {
17411 } else {
17412 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
17413 REGB0 = REGB1;
17414 }
17415 if (UNTAG_Bool(REGB0)) {
17416 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
17417 /* ./parser//parser_prod.nit:3066 */
17418 if (UNTAG_Bool(REGB0)) {
17419 } else {
17420 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
17421 if (UNTAG_Bool(REGB1)) {
17422 REGB1 = TAG_Bool(false);
17423 REGB0 = REGB1;
17424 } else {
17425 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
17426 REGB0 = REGB1;
17427 }
17428 }
17429 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
17430 if (UNTAG_Bool(REGB0)) {
17431 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
17432 /* ./parser//parser_prod.nit:3067 */
17433 if (UNTAG_Bool(REGB0)) {
17434 fprintf(stderr, "Reciever is null");
17435 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3067);
17436 nit_exit(1);
17437 }
17438 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
17439 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TSlash, ID_TSlash)) /*cast TSlash*/;
17440 /* ./parser//parser_prod.nit:3068 */
17441 if (UNTAG_Bool(REGB0)) {
17442 } else {
17443 fprintf(stderr, "Assert failed");
17444 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3068);
17445 nit_exit(1);
17446 }
17447 /* ./parser//parser_prod.nit:3069 */
17448 ATTR_parser_nodes___ASlashMethid____n_slash(fra.me.REG[0]) = fra.me.REG[2];
17449 } else {
17450 /* ./parser//parser_prod.nit:3071 */
17451 fprintf(stderr, "Aborted");
17452 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3071);
17453 nit_exit(1);
17454 }
17455 /* ./parser//parser_prod.nit:3073 */
17456 goto label1;
17457 }
17458 label1: while(0);
17459 stack_frame_head = fra.me.prev;
17460 return;
17461 }
17462 void parser_prod___ASlashMethid___visit_all(val_t p0, val_t p1){
17463 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
17464 val_t REGB0;
17465 val_t tmp;
17466 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17467 fra.me.file = LOCATE_parser_prod;
17468 fra.me.line = 3077;
17469 fra.me.meth = LOCATE_parser_prod___ASlashMethid___visit_all;
17470 fra.me.has_broke = 0;
17471 fra.me.REG_size = 2;
17472 fra.me.REG[0] = NIT_NULL;
17473 fra.me.REG[1] = NIT_NULL;
17474 fra.me.REG[0] = p0;
17475 fra.me.REG[1] = p1;
17476 REGB0 = TAG_Bool(ATTR_parser_nodes___ASlashMethid____n_slash(fra.me.REG[0])!=NIT_NULL);
17477 /* ./parser//parser_prod.nit:3079 */
17478 if (UNTAG_Bool(REGB0)) {
17479 } else {
17480 fprintf(stderr, "Uninitialized attribute %s", "_n_slash");
17481 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3079);
17482 nit_exit(1);
17483 }
17484 fra.me.REG[0] = ATTR_parser_nodes___ASlashMethid____n_slash(fra.me.REG[0]);
17485 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
17486 stack_frame_head = fra.me.prev;
17487 return;
17488 }
17489 void parser_prod___ASlashMethid___visit_all_reverse(val_t p0, val_t p1){
17490 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
17491 val_t REGB0;
17492 val_t tmp;
17493 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17494 fra.me.file = LOCATE_parser_prod;
17495 fra.me.line = 3082;
17496 fra.me.meth = LOCATE_parser_prod___ASlashMethid___visit_all_reverse;
17497 fra.me.has_broke = 0;
17498 fra.me.REG_size = 2;
17499 fra.me.REG[0] = NIT_NULL;
17500 fra.me.REG[1] = NIT_NULL;
17501 fra.me.REG[0] = p0;
17502 fra.me.REG[1] = p1;
17503 REGB0 = TAG_Bool(ATTR_parser_nodes___ASlashMethid____n_slash(fra.me.REG[0])!=NIT_NULL);
17504 /* ./parser//parser_prod.nit:3084 */
17505 if (UNTAG_Bool(REGB0)) {
17506 } else {
17507 fprintf(stderr, "Uninitialized attribute %s", "_n_slash");
17508 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3084);
17509 nit_exit(1);
17510 }
17511 fra.me.REG[0] = ATTR_parser_nodes___ASlashMethid____n_slash(fra.me.REG[0]);
17512 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
17513 stack_frame_head = fra.me.prev;
17514 return;
17515 }
17516 void parser_prod___ASlashMethid___empty_init(val_t p0, int* init_table){
17517 int itpos65 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ASlashMethid].i;
17518 struct {struct stack_frame_t me;} fra;
17519 val_t tmp;
17520 if (init_table[itpos65]) return;
17521 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17522 fra.me.file = LOCATE_parser_prod;
17523 fra.me.line = 3052;
17524 fra.me.meth = LOCATE_parser_prod___ASlashMethid___empty_init;
17525 fra.me.has_broke = 0;
17526 fra.me.REG_size = 1;
17527 fra.me.REG[0] = NIT_NULL;
17528 fra.me.REG[0] = p0;
17529 /* ./parser//parser_prod.nit:3052 */
17530 stack_frame_head = fra.me.prev;
17531 init_table[itpos65] = 1;
17532 return;
17533 }
17534 void parser_prod___ASlashMethid___init_aslashmethid(val_t p0, val_t p1, int* init_table){
17535 int itpos66 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ASlashMethid].i;
17536 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
17537 val_t REGB0;
17538 val_t tmp;
17539 if (init_table[itpos66]) return;
17540 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17541 fra.me.file = LOCATE_parser_prod;
17542 fra.me.line = 3054;
17543 fra.me.meth = LOCATE_parser_prod___ASlashMethid___init_aslashmethid;
17544 fra.me.has_broke = 0;
17545 fra.me.REG_size = 2;
17546 fra.me.REG[0] = NIT_NULL;
17547 fra.me.REG[1] = NIT_NULL;
17548 fra.me.REG[0] = p0;
17549 fra.me.REG[1] = p1;
17550 /* ./parser//parser_prod.nit:3058 */
17551 CALL_parser_prod___ASlashMethid___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
17552 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
17553 /* ./parser//parser_prod.nit:3059 */
17554 if (UNTAG_Bool(REGB0)) {
17555 } else {
17556 fprintf(stderr, "Cast failed");
17557 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3059);
17558 nit_exit(1);
17559 }
17560 ATTR_parser_nodes___ASlashMethid____n_slash(fra.me.REG[0]) = fra.me.REG[1];
17561 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
17562 /* ./parser//parser_prod.nit:3060 */
17563 if (UNTAG_Bool(REGB0)) {
17564 fprintf(stderr, "Reciever is null");
17565 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3060);
17566 nit_exit(1);
17567 }
17568 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
17569 stack_frame_head = fra.me.prev;
17570 init_table[itpos66] = 1;
17571 return;
17572 }
17573 void parser_prod___APercentMethid___n_percent__eq(val_t p0, val_t p1){
17574 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
17575 val_t tmp;
17576 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17577 fra.me.file = LOCATE_parser_prod;
17578 fra.me.line = 3088;
17579 fra.me.meth = LOCATE_parser_prod___APercentMethid___n_percent__eq;
17580 fra.me.has_broke = 0;
17581 fra.me.REG_size = 2;
17582 fra.me.REG[0] = NIT_NULL;
17583 fra.me.REG[1] = NIT_NULL;
17584 fra.me.REG[0] = p0;
17585 fra.me.REG[1] = p1;
17586 /* ./parser//parser_prod.nit:3090 */
17587 ATTR_parser_nodes___APercentMethid____n_percent(fra.me.REG[0]) = fra.me.REG[1];
17588 /* ./parser//parser_prod.nit:3091 */
17589 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
17590 stack_frame_head = fra.me.prev;
17591 return;
17592 }
17593 void parser_prod___APercentMethid___replace_child(val_t p0, val_t p1, val_t p2){
17594 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
17595 val_t REGB0;
17596 val_t REGB1;
17597 val_t tmp;
17598 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17599 fra.me.file = LOCATE_parser_prod;
17600 fra.me.line = 3105;
17601 fra.me.meth = LOCATE_parser_prod___APercentMethid___replace_child;
17602 fra.me.has_broke = 0;
17603 fra.me.REG_size = 4;
17604 fra.me.REG[0] = NIT_NULL;
17605 fra.me.REG[1] = NIT_NULL;
17606 fra.me.REG[2] = NIT_NULL;
17607 fra.me.REG[3] = NIT_NULL;
17608 fra.me.REG[0] = p0;
17609 fra.me.REG[1] = p1;
17610 fra.me.REG[2] = p2;
17611 REGB0 = TAG_Bool(ATTR_parser_nodes___APercentMethid____n_percent(fra.me.REG[0])!=NIT_NULL);
17612 /* ./parser//parser_prod.nit:3107 */
17613 if (UNTAG_Bool(REGB0)) {
17614 } else {
17615 fprintf(stderr, "Uninitialized attribute %s", "_n_percent");
17616 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3107);
17617 nit_exit(1);
17618 }
17619 fra.me.REG[3] = ATTR_parser_nodes___APercentMethid____n_percent(fra.me.REG[0]);
17620 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
17621 if (UNTAG_Bool(REGB0)) {
17622 } else {
17623 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
17624 REGB0 = REGB1;
17625 }
17626 if (UNTAG_Bool(REGB0)) {
17627 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
17628 /* ./parser//parser_prod.nit:3108 */
17629 if (UNTAG_Bool(REGB0)) {
17630 } else {
17631 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
17632 if (UNTAG_Bool(REGB1)) {
17633 REGB1 = TAG_Bool(false);
17634 REGB0 = REGB1;
17635 } else {
17636 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
17637 REGB0 = REGB1;
17638 }
17639 }
17640 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
17641 if (UNTAG_Bool(REGB0)) {
17642 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
17643 /* ./parser//parser_prod.nit:3109 */
17644 if (UNTAG_Bool(REGB0)) {
17645 fprintf(stderr, "Reciever is null");
17646 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3109);
17647 nit_exit(1);
17648 }
17649 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
17650 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TPercent, ID_TPercent)) /*cast TPercent*/;
17651 /* ./parser//parser_prod.nit:3110 */
17652 if (UNTAG_Bool(REGB0)) {
17653 } else {
17654 fprintf(stderr, "Assert failed");
17655 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3110);
17656 nit_exit(1);
17657 }
17658 /* ./parser//parser_prod.nit:3111 */
17659 ATTR_parser_nodes___APercentMethid____n_percent(fra.me.REG[0]) = fra.me.REG[2];
17660 } else {
17661 /* ./parser//parser_prod.nit:3113 */
17662 fprintf(stderr, "Aborted");
17663 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3113);
17664 nit_exit(1);
17665 }
17666 /* ./parser//parser_prod.nit:3115 */
17667 goto label1;
17668 }
17669 label1: while(0);
17670 stack_frame_head = fra.me.prev;
17671 return;
17672 }
17673 void parser_prod___APercentMethid___visit_all(val_t p0, val_t p1){
17674 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
17675 val_t REGB0;
17676 val_t tmp;
17677 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17678 fra.me.file = LOCATE_parser_prod;
17679 fra.me.line = 3119;
17680 fra.me.meth = LOCATE_parser_prod___APercentMethid___visit_all;
17681 fra.me.has_broke = 0;
17682 fra.me.REG_size = 2;
17683 fra.me.REG[0] = NIT_NULL;
17684 fra.me.REG[1] = NIT_NULL;
17685 fra.me.REG[0] = p0;
17686 fra.me.REG[1] = p1;
17687 REGB0 = TAG_Bool(ATTR_parser_nodes___APercentMethid____n_percent(fra.me.REG[0])!=NIT_NULL);
17688 /* ./parser//parser_prod.nit:3121 */
17689 if (UNTAG_Bool(REGB0)) {
17690 } else {
17691 fprintf(stderr, "Uninitialized attribute %s", "_n_percent");
17692 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3121);
17693 nit_exit(1);
17694 }
17695 fra.me.REG[0] = ATTR_parser_nodes___APercentMethid____n_percent(fra.me.REG[0]);
17696 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
17697 stack_frame_head = fra.me.prev;
17698 return;
17699 }
17700 void parser_prod___APercentMethid___visit_all_reverse(val_t p0, val_t p1){
17701 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
17702 val_t REGB0;
17703 val_t tmp;
17704 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17705 fra.me.file = LOCATE_parser_prod;
17706 fra.me.line = 3124;
17707 fra.me.meth = LOCATE_parser_prod___APercentMethid___visit_all_reverse;
17708 fra.me.has_broke = 0;
17709 fra.me.REG_size = 2;
17710 fra.me.REG[0] = NIT_NULL;
17711 fra.me.REG[1] = NIT_NULL;
17712 fra.me.REG[0] = p0;
17713 fra.me.REG[1] = p1;
17714 REGB0 = TAG_Bool(ATTR_parser_nodes___APercentMethid____n_percent(fra.me.REG[0])!=NIT_NULL);
17715 /* ./parser//parser_prod.nit:3126 */
17716 if (UNTAG_Bool(REGB0)) {
17717 } else {
17718 fprintf(stderr, "Uninitialized attribute %s", "_n_percent");
17719 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3126);
17720 nit_exit(1);
17721 }
17722 fra.me.REG[0] = ATTR_parser_nodes___APercentMethid____n_percent(fra.me.REG[0]);
17723 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
17724 stack_frame_head = fra.me.prev;
17725 return;
17726 }
17727 void parser_prod___APercentMethid___empty_init(val_t p0, int* init_table){
17728 int itpos67 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_APercentMethid].i;
17729 struct {struct stack_frame_t me;} fra;
17730 val_t tmp;
17731 if (init_table[itpos67]) return;
17732 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17733 fra.me.file = LOCATE_parser_prod;
17734 fra.me.line = 3094;
17735 fra.me.meth = LOCATE_parser_prod___APercentMethid___empty_init;
17736 fra.me.has_broke = 0;
17737 fra.me.REG_size = 1;
17738 fra.me.REG[0] = NIT_NULL;
17739 fra.me.REG[0] = p0;
17740 /* ./parser//parser_prod.nit:3094 */
17741 stack_frame_head = fra.me.prev;
17742 init_table[itpos67] = 1;
17743 return;
17744 }
17745 void parser_prod___APercentMethid___init_apercentmethid(val_t p0, val_t p1, int* init_table){
17746 int itpos68 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_APercentMethid].i;
17747 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
17748 val_t REGB0;
17749 val_t tmp;
17750 if (init_table[itpos68]) return;
17751 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17752 fra.me.file = LOCATE_parser_prod;
17753 fra.me.line = 3096;
17754 fra.me.meth = LOCATE_parser_prod___APercentMethid___init_apercentmethid;
17755 fra.me.has_broke = 0;
17756 fra.me.REG_size = 2;
17757 fra.me.REG[0] = NIT_NULL;
17758 fra.me.REG[1] = NIT_NULL;
17759 fra.me.REG[0] = p0;
17760 fra.me.REG[1] = p1;
17761 /* ./parser//parser_prod.nit:3100 */
17762 CALL_parser_prod___APercentMethid___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
17763 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
17764 /* ./parser//parser_prod.nit:3101 */
17765 if (UNTAG_Bool(REGB0)) {
17766 } else {
17767 fprintf(stderr, "Cast failed");
17768 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3101);
17769 nit_exit(1);
17770 }
17771 ATTR_parser_nodes___APercentMethid____n_percent(fra.me.REG[0]) = fra.me.REG[1];
17772 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
17773 /* ./parser//parser_prod.nit:3102 */
17774 if (UNTAG_Bool(REGB0)) {
17775 fprintf(stderr, "Reciever is null");
17776 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3102);
17777 nit_exit(1);
17778 }
17779 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
17780 stack_frame_head = fra.me.prev;
17781 init_table[itpos68] = 1;
17782 return;
17783 }
17784 void parser_prod___AEqMethid___n_eq__eq(val_t p0, val_t p1){
17785 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
17786 val_t tmp;
17787 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17788 fra.me.file = LOCATE_parser_prod;
17789 fra.me.line = 3130;
17790 fra.me.meth = LOCATE_parser_prod___AEqMethid___n_eq__eq;
17791 fra.me.has_broke = 0;
17792 fra.me.REG_size = 2;
17793 fra.me.REG[0] = NIT_NULL;
17794 fra.me.REG[1] = NIT_NULL;
17795 fra.me.REG[0] = p0;
17796 fra.me.REG[1] = p1;
17797 /* ./parser//parser_prod.nit:3132 */
17798 ATTR_parser_nodes___AEqMethid____n_eq(fra.me.REG[0]) = fra.me.REG[1];
17799 /* ./parser//parser_prod.nit:3133 */
17800 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
17801 stack_frame_head = fra.me.prev;
17802 return;
17803 }
17804 void parser_prod___AEqMethid___replace_child(val_t p0, val_t p1, val_t p2){
17805 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
17806 val_t REGB0;
17807 val_t REGB1;
17808 val_t tmp;
17809 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17810 fra.me.file = LOCATE_parser_prod;
17811 fra.me.line = 3147;
17812 fra.me.meth = LOCATE_parser_prod___AEqMethid___replace_child;
17813 fra.me.has_broke = 0;
17814 fra.me.REG_size = 4;
17815 fra.me.REG[0] = NIT_NULL;
17816 fra.me.REG[1] = NIT_NULL;
17817 fra.me.REG[2] = NIT_NULL;
17818 fra.me.REG[3] = NIT_NULL;
17819 fra.me.REG[0] = p0;
17820 fra.me.REG[1] = p1;
17821 fra.me.REG[2] = p2;
17822 REGB0 = TAG_Bool(ATTR_parser_nodes___AEqMethid____n_eq(fra.me.REG[0])!=NIT_NULL);
17823 /* ./parser//parser_prod.nit:3149 */
17824 if (UNTAG_Bool(REGB0)) {
17825 } else {
17826 fprintf(stderr, "Uninitialized attribute %s", "_n_eq");
17827 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3149);
17828 nit_exit(1);
17829 }
17830 fra.me.REG[3] = ATTR_parser_nodes___AEqMethid____n_eq(fra.me.REG[0]);
17831 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
17832 if (UNTAG_Bool(REGB0)) {
17833 } else {
17834 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
17835 REGB0 = REGB1;
17836 }
17837 if (UNTAG_Bool(REGB0)) {
17838 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
17839 /* ./parser//parser_prod.nit:3150 */
17840 if (UNTAG_Bool(REGB0)) {
17841 } else {
17842 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
17843 if (UNTAG_Bool(REGB1)) {
17844 REGB1 = TAG_Bool(false);
17845 REGB0 = REGB1;
17846 } else {
17847 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
17848 REGB0 = REGB1;
17849 }
17850 }
17851 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
17852 if (UNTAG_Bool(REGB0)) {
17853 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
17854 /* ./parser//parser_prod.nit:3151 */
17855 if (UNTAG_Bool(REGB0)) {
17856 fprintf(stderr, "Reciever is null");
17857 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3151);
17858 nit_exit(1);
17859 }
17860 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
17861 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TEq, ID_TEq)) /*cast TEq*/;
17862 /* ./parser//parser_prod.nit:3152 */
17863 if (UNTAG_Bool(REGB0)) {
17864 } else {
17865 fprintf(stderr, "Assert failed");
17866 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3152);
17867 nit_exit(1);
17868 }
17869 /* ./parser//parser_prod.nit:3153 */
17870 ATTR_parser_nodes___AEqMethid____n_eq(fra.me.REG[0]) = fra.me.REG[2];
17871 } else {
17872 /* ./parser//parser_prod.nit:3155 */
17873 fprintf(stderr, "Aborted");
17874 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3155);
17875 nit_exit(1);
17876 }
17877 /* ./parser//parser_prod.nit:3157 */
17878 goto label1;
17879 }
17880 label1: while(0);
17881 stack_frame_head = fra.me.prev;
17882 return;
17883 }
17884 void parser_prod___AEqMethid___visit_all(val_t p0, val_t p1){
17885 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
17886 val_t REGB0;
17887 val_t tmp;
17888 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17889 fra.me.file = LOCATE_parser_prod;
17890 fra.me.line = 3161;
17891 fra.me.meth = LOCATE_parser_prod___AEqMethid___visit_all;
17892 fra.me.has_broke = 0;
17893 fra.me.REG_size = 2;
17894 fra.me.REG[0] = NIT_NULL;
17895 fra.me.REG[1] = NIT_NULL;
17896 fra.me.REG[0] = p0;
17897 fra.me.REG[1] = p1;
17898 REGB0 = TAG_Bool(ATTR_parser_nodes___AEqMethid____n_eq(fra.me.REG[0])!=NIT_NULL);
17899 /* ./parser//parser_prod.nit:3163 */
17900 if (UNTAG_Bool(REGB0)) {
17901 } else {
17902 fprintf(stderr, "Uninitialized attribute %s", "_n_eq");
17903 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3163);
17904 nit_exit(1);
17905 }
17906 fra.me.REG[0] = ATTR_parser_nodes___AEqMethid____n_eq(fra.me.REG[0]);
17907 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
17908 stack_frame_head = fra.me.prev;
17909 return;
17910 }
17911 void parser_prod___AEqMethid___visit_all_reverse(val_t p0, val_t p1){
17912 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
17913 val_t REGB0;
17914 val_t tmp;
17915 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17916 fra.me.file = LOCATE_parser_prod;
17917 fra.me.line = 3166;
17918 fra.me.meth = LOCATE_parser_prod___AEqMethid___visit_all_reverse;
17919 fra.me.has_broke = 0;
17920 fra.me.REG_size = 2;
17921 fra.me.REG[0] = NIT_NULL;
17922 fra.me.REG[1] = NIT_NULL;
17923 fra.me.REG[0] = p0;
17924 fra.me.REG[1] = p1;
17925 REGB0 = TAG_Bool(ATTR_parser_nodes___AEqMethid____n_eq(fra.me.REG[0])!=NIT_NULL);
17926 /* ./parser//parser_prod.nit:3168 */
17927 if (UNTAG_Bool(REGB0)) {
17928 } else {
17929 fprintf(stderr, "Uninitialized attribute %s", "_n_eq");
17930 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3168);
17931 nit_exit(1);
17932 }
17933 fra.me.REG[0] = ATTR_parser_nodes___AEqMethid____n_eq(fra.me.REG[0]);
17934 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
17935 stack_frame_head = fra.me.prev;
17936 return;
17937 }
17938 void parser_prod___AEqMethid___empty_init(val_t p0, int* init_table){
17939 int itpos69 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AEqMethid].i;
17940 struct {struct stack_frame_t me;} fra;
17941 val_t tmp;
17942 if (init_table[itpos69]) return;
17943 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17944 fra.me.file = LOCATE_parser_prod;
17945 fra.me.line = 3136;
17946 fra.me.meth = LOCATE_parser_prod___AEqMethid___empty_init;
17947 fra.me.has_broke = 0;
17948 fra.me.REG_size = 1;
17949 fra.me.REG[0] = NIT_NULL;
17950 fra.me.REG[0] = p0;
17951 /* ./parser//parser_prod.nit:3136 */
17952 stack_frame_head = fra.me.prev;
17953 init_table[itpos69] = 1;
17954 return;
17955 }
17956 void parser_prod___AEqMethid___init_aeqmethid(val_t p0, val_t p1, int* init_table){
17957 int itpos70 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AEqMethid].i;
17958 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
17959 val_t REGB0;
17960 val_t tmp;
17961 if (init_table[itpos70]) return;
17962 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17963 fra.me.file = LOCATE_parser_prod;
17964 fra.me.line = 3138;
17965 fra.me.meth = LOCATE_parser_prod___AEqMethid___init_aeqmethid;
17966 fra.me.has_broke = 0;
17967 fra.me.REG_size = 2;
17968 fra.me.REG[0] = NIT_NULL;
17969 fra.me.REG[1] = NIT_NULL;
17970 fra.me.REG[0] = p0;
17971 fra.me.REG[1] = p1;
17972 /* ./parser//parser_prod.nit:3142 */
17973 CALL_parser_prod___AEqMethid___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
17974 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
17975 /* ./parser//parser_prod.nit:3143 */
17976 if (UNTAG_Bool(REGB0)) {
17977 } else {
17978 fprintf(stderr, "Cast failed");
17979 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3143);
17980 nit_exit(1);
17981 }
17982 ATTR_parser_nodes___AEqMethid____n_eq(fra.me.REG[0]) = fra.me.REG[1];
17983 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
17984 /* ./parser//parser_prod.nit:3144 */
17985 if (UNTAG_Bool(REGB0)) {
17986 fprintf(stderr, "Reciever is null");
17987 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3144);
17988 nit_exit(1);
17989 }
17990 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
17991 stack_frame_head = fra.me.prev;
17992 init_table[itpos70] = 1;
17993 return;
17994 }
17995 void parser_prod___ANeMethid___n_ne__eq(val_t p0, val_t p1){
17996 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
17997 val_t tmp;
17998 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
17999 fra.me.file = LOCATE_parser_prod;
18000 fra.me.line = 3172;
18001 fra.me.meth = LOCATE_parser_prod___ANeMethid___n_ne__eq;
18002 fra.me.has_broke = 0;
18003 fra.me.REG_size = 2;
18004 fra.me.REG[0] = NIT_NULL;
18005 fra.me.REG[1] = NIT_NULL;
18006 fra.me.REG[0] = p0;
18007 fra.me.REG[1] = p1;
18008 /* ./parser//parser_prod.nit:3174 */
18009 ATTR_parser_nodes___ANeMethid____n_ne(fra.me.REG[0]) = fra.me.REG[1];
18010 /* ./parser//parser_prod.nit:3175 */
18011 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
18012 stack_frame_head = fra.me.prev;
18013 return;
18014 }
18015 void parser_prod___ANeMethid___replace_child(val_t p0, val_t p1, val_t p2){
18016 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
18017 val_t REGB0;
18018 val_t REGB1;
18019 val_t tmp;
18020 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18021 fra.me.file = LOCATE_parser_prod;
18022 fra.me.line = 3189;
18023 fra.me.meth = LOCATE_parser_prod___ANeMethid___replace_child;
18024 fra.me.has_broke = 0;
18025 fra.me.REG_size = 4;
18026 fra.me.REG[0] = NIT_NULL;
18027 fra.me.REG[1] = NIT_NULL;
18028 fra.me.REG[2] = NIT_NULL;
18029 fra.me.REG[3] = NIT_NULL;
18030 fra.me.REG[0] = p0;
18031 fra.me.REG[1] = p1;
18032 fra.me.REG[2] = p2;
18033 REGB0 = TAG_Bool(ATTR_parser_nodes___ANeMethid____n_ne(fra.me.REG[0])!=NIT_NULL);
18034 /* ./parser//parser_prod.nit:3191 */
18035 if (UNTAG_Bool(REGB0)) {
18036 } else {
18037 fprintf(stderr, "Uninitialized attribute %s", "_n_ne");
18038 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3191);
18039 nit_exit(1);
18040 }
18041 fra.me.REG[3] = ATTR_parser_nodes___ANeMethid____n_ne(fra.me.REG[0]);
18042 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
18043 if (UNTAG_Bool(REGB0)) {
18044 } else {
18045 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
18046 REGB0 = REGB1;
18047 }
18048 if (UNTAG_Bool(REGB0)) {
18049 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
18050 /* ./parser//parser_prod.nit:3192 */
18051 if (UNTAG_Bool(REGB0)) {
18052 } else {
18053 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
18054 if (UNTAG_Bool(REGB1)) {
18055 REGB1 = TAG_Bool(false);
18056 REGB0 = REGB1;
18057 } else {
18058 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
18059 REGB0 = REGB1;
18060 }
18061 }
18062 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
18063 if (UNTAG_Bool(REGB0)) {
18064 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
18065 /* ./parser//parser_prod.nit:3193 */
18066 if (UNTAG_Bool(REGB0)) {
18067 fprintf(stderr, "Reciever is null");
18068 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3193);
18069 nit_exit(1);
18070 }
18071 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
18072 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TNe, ID_TNe)) /*cast TNe*/;
18073 /* ./parser//parser_prod.nit:3194 */
18074 if (UNTAG_Bool(REGB0)) {
18075 } else {
18076 fprintf(stderr, "Assert failed");
18077 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3194);
18078 nit_exit(1);
18079 }
18080 /* ./parser//parser_prod.nit:3195 */
18081 ATTR_parser_nodes___ANeMethid____n_ne(fra.me.REG[0]) = fra.me.REG[2];
18082 } else {
18083 /* ./parser//parser_prod.nit:3197 */
18084 fprintf(stderr, "Aborted");
18085 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3197);
18086 nit_exit(1);
18087 }
18088 /* ./parser//parser_prod.nit:3199 */
18089 goto label1;
18090 }
18091 label1: while(0);
18092 stack_frame_head = fra.me.prev;
18093 return;
18094 }
18095 void parser_prod___ANeMethid___visit_all(val_t p0, val_t p1){
18096 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
18097 val_t REGB0;
18098 val_t tmp;
18099 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18100 fra.me.file = LOCATE_parser_prod;
18101 fra.me.line = 3203;
18102 fra.me.meth = LOCATE_parser_prod___ANeMethid___visit_all;
18103 fra.me.has_broke = 0;
18104 fra.me.REG_size = 2;
18105 fra.me.REG[0] = NIT_NULL;
18106 fra.me.REG[1] = NIT_NULL;
18107 fra.me.REG[0] = p0;
18108 fra.me.REG[1] = p1;
18109 REGB0 = TAG_Bool(ATTR_parser_nodes___ANeMethid____n_ne(fra.me.REG[0])!=NIT_NULL);
18110 /* ./parser//parser_prod.nit:3205 */
18111 if (UNTAG_Bool(REGB0)) {
18112 } else {
18113 fprintf(stderr, "Uninitialized attribute %s", "_n_ne");
18114 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3205);
18115 nit_exit(1);
18116 }
18117 fra.me.REG[0] = ATTR_parser_nodes___ANeMethid____n_ne(fra.me.REG[0]);
18118 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
18119 stack_frame_head = fra.me.prev;
18120 return;
18121 }
18122 void parser_prod___ANeMethid___visit_all_reverse(val_t p0, val_t p1){
18123 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
18124 val_t REGB0;
18125 val_t tmp;
18126 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18127 fra.me.file = LOCATE_parser_prod;
18128 fra.me.line = 3208;
18129 fra.me.meth = LOCATE_parser_prod___ANeMethid___visit_all_reverse;
18130 fra.me.has_broke = 0;
18131 fra.me.REG_size = 2;
18132 fra.me.REG[0] = NIT_NULL;
18133 fra.me.REG[1] = NIT_NULL;
18134 fra.me.REG[0] = p0;
18135 fra.me.REG[1] = p1;
18136 REGB0 = TAG_Bool(ATTR_parser_nodes___ANeMethid____n_ne(fra.me.REG[0])!=NIT_NULL);
18137 /* ./parser//parser_prod.nit:3210 */
18138 if (UNTAG_Bool(REGB0)) {
18139 } else {
18140 fprintf(stderr, "Uninitialized attribute %s", "_n_ne");
18141 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3210);
18142 nit_exit(1);
18143 }
18144 fra.me.REG[0] = ATTR_parser_nodes___ANeMethid____n_ne(fra.me.REG[0]);
18145 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
18146 stack_frame_head = fra.me.prev;
18147 return;
18148 }
18149 void parser_prod___ANeMethid___empty_init(val_t p0, int* init_table){
18150 int itpos71 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ANeMethid].i;
18151 struct {struct stack_frame_t me;} fra;
18152 val_t tmp;
18153 if (init_table[itpos71]) return;
18154 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18155 fra.me.file = LOCATE_parser_prod;
18156 fra.me.line = 3178;
18157 fra.me.meth = LOCATE_parser_prod___ANeMethid___empty_init;
18158 fra.me.has_broke = 0;
18159 fra.me.REG_size = 1;
18160 fra.me.REG[0] = NIT_NULL;
18161 fra.me.REG[0] = p0;
18162 /* ./parser//parser_prod.nit:3178 */
18163 stack_frame_head = fra.me.prev;
18164 init_table[itpos71] = 1;
18165 return;
18166 }
18167 void parser_prod___ANeMethid___init_anemethid(val_t p0, val_t p1, int* init_table){
18168 int itpos72 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ANeMethid].i;
18169 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
18170 val_t REGB0;
18171 val_t tmp;
18172 if (init_table[itpos72]) return;
18173 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18174 fra.me.file = LOCATE_parser_prod;
18175 fra.me.line = 3180;
18176 fra.me.meth = LOCATE_parser_prod___ANeMethid___init_anemethid;
18177 fra.me.has_broke = 0;
18178 fra.me.REG_size = 2;
18179 fra.me.REG[0] = NIT_NULL;
18180 fra.me.REG[1] = NIT_NULL;
18181 fra.me.REG[0] = p0;
18182 fra.me.REG[1] = p1;
18183 /* ./parser//parser_prod.nit:3184 */
18184 CALL_parser_prod___ANeMethid___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
18185 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
18186 /* ./parser//parser_prod.nit:3185 */
18187 if (UNTAG_Bool(REGB0)) {
18188 } else {
18189 fprintf(stderr, "Cast failed");
18190 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3185);
18191 nit_exit(1);
18192 }
18193 ATTR_parser_nodes___ANeMethid____n_ne(fra.me.REG[0]) = fra.me.REG[1];
18194 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
18195 /* ./parser//parser_prod.nit:3186 */
18196 if (UNTAG_Bool(REGB0)) {
18197 fprintf(stderr, "Reciever is null");
18198 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3186);
18199 nit_exit(1);
18200 }
18201 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
18202 stack_frame_head = fra.me.prev;
18203 init_table[itpos72] = 1;
18204 return;
18205 }
18206 void parser_prod___ALeMethid___n_le__eq(val_t p0, val_t p1){
18207 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
18208 val_t tmp;
18209 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18210 fra.me.file = LOCATE_parser_prod;
18211 fra.me.line = 3214;
18212 fra.me.meth = LOCATE_parser_prod___ALeMethid___n_le__eq;
18213 fra.me.has_broke = 0;
18214 fra.me.REG_size = 2;
18215 fra.me.REG[0] = NIT_NULL;
18216 fra.me.REG[1] = NIT_NULL;
18217 fra.me.REG[0] = p0;
18218 fra.me.REG[1] = p1;
18219 /* ./parser//parser_prod.nit:3216 */
18220 ATTR_parser_nodes___ALeMethid____n_le(fra.me.REG[0]) = fra.me.REG[1];
18221 /* ./parser//parser_prod.nit:3217 */
18222 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
18223 stack_frame_head = fra.me.prev;
18224 return;
18225 }
18226 void parser_prod___ALeMethid___replace_child(val_t p0, val_t p1, val_t p2){
18227 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
18228 val_t REGB0;
18229 val_t REGB1;
18230 val_t tmp;
18231 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18232 fra.me.file = LOCATE_parser_prod;
18233 fra.me.line = 3231;
18234 fra.me.meth = LOCATE_parser_prod___ALeMethid___replace_child;
18235 fra.me.has_broke = 0;
18236 fra.me.REG_size = 4;
18237 fra.me.REG[0] = NIT_NULL;
18238 fra.me.REG[1] = NIT_NULL;
18239 fra.me.REG[2] = NIT_NULL;
18240 fra.me.REG[3] = NIT_NULL;
18241 fra.me.REG[0] = p0;
18242 fra.me.REG[1] = p1;
18243 fra.me.REG[2] = p2;
18244 REGB0 = TAG_Bool(ATTR_parser_nodes___ALeMethid____n_le(fra.me.REG[0])!=NIT_NULL);
18245 /* ./parser//parser_prod.nit:3233 */
18246 if (UNTAG_Bool(REGB0)) {
18247 } else {
18248 fprintf(stderr, "Uninitialized attribute %s", "_n_le");
18249 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3233);
18250 nit_exit(1);
18251 }
18252 fra.me.REG[3] = ATTR_parser_nodes___ALeMethid____n_le(fra.me.REG[0]);
18253 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
18254 if (UNTAG_Bool(REGB0)) {
18255 } else {
18256 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
18257 REGB0 = REGB1;
18258 }
18259 if (UNTAG_Bool(REGB0)) {
18260 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
18261 /* ./parser//parser_prod.nit:3234 */
18262 if (UNTAG_Bool(REGB0)) {
18263 } else {
18264 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
18265 if (UNTAG_Bool(REGB1)) {
18266 REGB1 = TAG_Bool(false);
18267 REGB0 = REGB1;
18268 } else {
18269 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
18270 REGB0 = REGB1;
18271 }
18272 }
18273 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
18274 if (UNTAG_Bool(REGB0)) {
18275 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
18276 /* ./parser//parser_prod.nit:3235 */
18277 if (UNTAG_Bool(REGB0)) {
18278 fprintf(stderr, "Reciever is null");
18279 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3235);
18280 nit_exit(1);
18281 }
18282 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
18283 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TLe, ID_TLe)) /*cast TLe*/;
18284 /* ./parser//parser_prod.nit:3236 */
18285 if (UNTAG_Bool(REGB0)) {
18286 } else {
18287 fprintf(stderr, "Assert failed");
18288 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3236);
18289 nit_exit(1);
18290 }
18291 /* ./parser//parser_prod.nit:3237 */
18292 ATTR_parser_nodes___ALeMethid____n_le(fra.me.REG[0]) = fra.me.REG[2];
18293 } else {
18294 /* ./parser//parser_prod.nit:3239 */
18295 fprintf(stderr, "Aborted");
18296 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3239);
18297 nit_exit(1);
18298 }
18299 /* ./parser//parser_prod.nit:3241 */
18300 goto label1;
18301 }
18302 label1: while(0);
18303 stack_frame_head = fra.me.prev;
18304 return;
18305 }
18306 void parser_prod___ALeMethid___visit_all(val_t p0, val_t p1){
18307 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
18308 val_t REGB0;
18309 val_t tmp;
18310 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18311 fra.me.file = LOCATE_parser_prod;
18312 fra.me.line = 3245;
18313 fra.me.meth = LOCATE_parser_prod___ALeMethid___visit_all;
18314 fra.me.has_broke = 0;
18315 fra.me.REG_size = 2;
18316 fra.me.REG[0] = NIT_NULL;
18317 fra.me.REG[1] = NIT_NULL;
18318 fra.me.REG[0] = p0;
18319 fra.me.REG[1] = p1;
18320 REGB0 = TAG_Bool(ATTR_parser_nodes___ALeMethid____n_le(fra.me.REG[0])!=NIT_NULL);
18321 /* ./parser//parser_prod.nit:3247 */
18322 if (UNTAG_Bool(REGB0)) {
18323 } else {
18324 fprintf(stderr, "Uninitialized attribute %s", "_n_le");
18325 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3247);
18326 nit_exit(1);
18327 }
18328 fra.me.REG[0] = ATTR_parser_nodes___ALeMethid____n_le(fra.me.REG[0]);
18329 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
18330 stack_frame_head = fra.me.prev;
18331 return;
18332 }
18333 void parser_prod___ALeMethid___visit_all_reverse(val_t p0, val_t p1){
18334 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
18335 val_t REGB0;
18336 val_t tmp;
18337 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18338 fra.me.file = LOCATE_parser_prod;
18339 fra.me.line = 3250;
18340 fra.me.meth = LOCATE_parser_prod___ALeMethid___visit_all_reverse;
18341 fra.me.has_broke = 0;
18342 fra.me.REG_size = 2;
18343 fra.me.REG[0] = NIT_NULL;
18344 fra.me.REG[1] = NIT_NULL;
18345 fra.me.REG[0] = p0;
18346 fra.me.REG[1] = p1;
18347 REGB0 = TAG_Bool(ATTR_parser_nodes___ALeMethid____n_le(fra.me.REG[0])!=NIT_NULL);
18348 /* ./parser//parser_prod.nit:3252 */
18349 if (UNTAG_Bool(REGB0)) {
18350 } else {
18351 fprintf(stderr, "Uninitialized attribute %s", "_n_le");
18352 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3252);
18353 nit_exit(1);
18354 }
18355 fra.me.REG[0] = ATTR_parser_nodes___ALeMethid____n_le(fra.me.REG[0]);
18356 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
18357 stack_frame_head = fra.me.prev;
18358 return;
18359 }
18360 void parser_prod___ALeMethid___empty_init(val_t p0, int* init_table){
18361 int itpos73 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ALeMethid].i;
18362 struct {struct stack_frame_t me;} fra;
18363 val_t tmp;
18364 if (init_table[itpos73]) return;
18365 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18366 fra.me.file = LOCATE_parser_prod;
18367 fra.me.line = 3220;
18368 fra.me.meth = LOCATE_parser_prod___ALeMethid___empty_init;
18369 fra.me.has_broke = 0;
18370 fra.me.REG_size = 1;
18371 fra.me.REG[0] = NIT_NULL;
18372 fra.me.REG[0] = p0;
18373 /* ./parser//parser_prod.nit:3220 */
18374 stack_frame_head = fra.me.prev;
18375 init_table[itpos73] = 1;
18376 return;
18377 }
18378 void parser_prod___ALeMethid___init_alemethid(val_t p0, val_t p1, int* init_table){
18379 int itpos74 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ALeMethid].i;
18380 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
18381 val_t REGB0;
18382 val_t tmp;
18383 if (init_table[itpos74]) return;
18384 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18385 fra.me.file = LOCATE_parser_prod;
18386 fra.me.line = 3222;
18387 fra.me.meth = LOCATE_parser_prod___ALeMethid___init_alemethid;
18388 fra.me.has_broke = 0;
18389 fra.me.REG_size = 2;
18390 fra.me.REG[0] = NIT_NULL;
18391 fra.me.REG[1] = NIT_NULL;
18392 fra.me.REG[0] = p0;
18393 fra.me.REG[1] = p1;
18394 /* ./parser//parser_prod.nit:3226 */
18395 CALL_parser_prod___ALeMethid___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
18396 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
18397 /* ./parser//parser_prod.nit:3227 */
18398 if (UNTAG_Bool(REGB0)) {
18399 } else {
18400 fprintf(stderr, "Cast failed");
18401 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3227);
18402 nit_exit(1);
18403 }
18404 ATTR_parser_nodes___ALeMethid____n_le(fra.me.REG[0]) = fra.me.REG[1];
18405 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
18406 /* ./parser//parser_prod.nit:3228 */
18407 if (UNTAG_Bool(REGB0)) {
18408 fprintf(stderr, "Reciever is null");
18409 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3228);
18410 nit_exit(1);
18411 }
18412 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
18413 stack_frame_head = fra.me.prev;
18414 init_table[itpos74] = 1;
18415 return;
18416 }
18417 void parser_prod___AGeMethid___n_ge__eq(val_t p0, val_t p1){
18418 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
18419 val_t tmp;
18420 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18421 fra.me.file = LOCATE_parser_prod;
18422 fra.me.line = 3256;
18423 fra.me.meth = LOCATE_parser_prod___AGeMethid___n_ge__eq;
18424 fra.me.has_broke = 0;
18425 fra.me.REG_size = 2;
18426 fra.me.REG[0] = NIT_NULL;
18427 fra.me.REG[1] = NIT_NULL;
18428 fra.me.REG[0] = p0;
18429 fra.me.REG[1] = p1;
18430 /* ./parser//parser_prod.nit:3258 */
18431 ATTR_parser_nodes___AGeMethid____n_ge(fra.me.REG[0]) = fra.me.REG[1];
18432 /* ./parser//parser_prod.nit:3259 */
18433 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
18434 stack_frame_head = fra.me.prev;
18435 return;
18436 }
18437 void parser_prod___AGeMethid___replace_child(val_t p0, val_t p1, val_t p2){
18438 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
18439 val_t REGB0;
18440 val_t REGB1;
18441 val_t tmp;
18442 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18443 fra.me.file = LOCATE_parser_prod;
18444 fra.me.line = 3273;
18445 fra.me.meth = LOCATE_parser_prod___AGeMethid___replace_child;
18446 fra.me.has_broke = 0;
18447 fra.me.REG_size = 4;
18448 fra.me.REG[0] = NIT_NULL;
18449 fra.me.REG[1] = NIT_NULL;
18450 fra.me.REG[2] = NIT_NULL;
18451 fra.me.REG[3] = NIT_NULL;
18452 fra.me.REG[0] = p0;
18453 fra.me.REG[1] = p1;
18454 fra.me.REG[2] = p2;
18455 REGB0 = TAG_Bool(ATTR_parser_nodes___AGeMethid____n_ge(fra.me.REG[0])!=NIT_NULL);
18456 /* ./parser//parser_prod.nit:3275 */
18457 if (UNTAG_Bool(REGB0)) {
18458 } else {
18459 fprintf(stderr, "Uninitialized attribute %s", "_n_ge");
18460 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3275);
18461 nit_exit(1);
18462 }
18463 fra.me.REG[3] = ATTR_parser_nodes___AGeMethid____n_ge(fra.me.REG[0]);
18464 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
18465 if (UNTAG_Bool(REGB0)) {
18466 } else {
18467 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
18468 REGB0 = REGB1;
18469 }
18470 if (UNTAG_Bool(REGB0)) {
18471 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
18472 /* ./parser//parser_prod.nit:3276 */
18473 if (UNTAG_Bool(REGB0)) {
18474 } else {
18475 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
18476 if (UNTAG_Bool(REGB1)) {
18477 REGB1 = TAG_Bool(false);
18478 REGB0 = REGB1;
18479 } else {
18480 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
18481 REGB0 = REGB1;
18482 }
18483 }
18484 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
18485 if (UNTAG_Bool(REGB0)) {
18486 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
18487 /* ./parser//parser_prod.nit:3277 */
18488 if (UNTAG_Bool(REGB0)) {
18489 fprintf(stderr, "Reciever is null");
18490 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3277);
18491 nit_exit(1);
18492 }
18493 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
18494 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TGe, ID_TGe)) /*cast TGe*/;
18495 /* ./parser//parser_prod.nit:3278 */
18496 if (UNTAG_Bool(REGB0)) {
18497 } else {
18498 fprintf(stderr, "Assert failed");
18499 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3278);
18500 nit_exit(1);
18501 }
18502 /* ./parser//parser_prod.nit:3279 */
18503 ATTR_parser_nodes___AGeMethid____n_ge(fra.me.REG[0]) = fra.me.REG[2];
18504 } else {
18505 /* ./parser//parser_prod.nit:3281 */
18506 fprintf(stderr, "Aborted");
18507 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3281);
18508 nit_exit(1);
18509 }
18510 /* ./parser//parser_prod.nit:3283 */
18511 goto label1;
18512 }
18513 label1: while(0);
18514 stack_frame_head = fra.me.prev;
18515 return;
18516 }
18517 void parser_prod___AGeMethid___visit_all(val_t p0, val_t p1){
18518 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
18519 val_t REGB0;
18520 val_t tmp;
18521 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18522 fra.me.file = LOCATE_parser_prod;
18523 fra.me.line = 3287;
18524 fra.me.meth = LOCATE_parser_prod___AGeMethid___visit_all;
18525 fra.me.has_broke = 0;
18526 fra.me.REG_size = 2;
18527 fra.me.REG[0] = NIT_NULL;
18528 fra.me.REG[1] = NIT_NULL;
18529 fra.me.REG[0] = p0;
18530 fra.me.REG[1] = p1;
18531 REGB0 = TAG_Bool(ATTR_parser_nodes___AGeMethid____n_ge(fra.me.REG[0])!=NIT_NULL);
18532 /* ./parser//parser_prod.nit:3289 */
18533 if (UNTAG_Bool(REGB0)) {
18534 } else {
18535 fprintf(stderr, "Uninitialized attribute %s", "_n_ge");
18536 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3289);
18537 nit_exit(1);
18538 }
18539 fra.me.REG[0] = ATTR_parser_nodes___AGeMethid____n_ge(fra.me.REG[0]);
18540 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
18541 stack_frame_head = fra.me.prev;
18542 return;
18543 }
18544 void parser_prod___AGeMethid___visit_all_reverse(val_t p0, val_t p1){
18545 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
18546 val_t REGB0;
18547 val_t tmp;
18548 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18549 fra.me.file = LOCATE_parser_prod;
18550 fra.me.line = 3292;
18551 fra.me.meth = LOCATE_parser_prod___AGeMethid___visit_all_reverse;
18552 fra.me.has_broke = 0;
18553 fra.me.REG_size = 2;
18554 fra.me.REG[0] = NIT_NULL;
18555 fra.me.REG[1] = NIT_NULL;
18556 fra.me.REG[0] = p0;
18557 fra.me.REG[1] = p1;
18558 REGB0 = TAG_Bool(ATTR_parser_nodes___AGeMethid____n_ge(fra.me.REG[0])!=NIT_NULL);
18559 /* ./parser//parser_prod.nit:3294 */
18560 if (UNTAG_Bool(REGB0)) {
18561 } else {
18562 fprintf(stderr, "Uninitialized attribute %s", "_n_ge");
18563 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3294);
18564 nit_exit(1);
18565 }
18566 fra.me.REG[0] = ATTR_parser_nodes___AGeMethid____n_ge(fra.me.REG[0]);
18567 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
18568 stack_frame_head = fra.me.prev;
18569 return;
18570 }
18571 void parser_prod___AGeMethid___empty_init(val_t p0, int* init_table){
18572 int itpos75 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AGeMethid].i;
18573 struct {struct stack_frame_t me;} fra;
18574 val_t tmp;
18575 if (init_table[itpos75]) return;
18576 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18577 fra.me.file = LOCATE_parser_prod;
18578 fra.me.line = 3262;
18579 fra.me.meth = LOCATE_parser_prod___AGeMethid___empty_init;
18580 fra.me.has_broke = 0;
18581 fra.me.REG_size = 1;
18582 fra.me.REG[0] = NIT_NULL;
18583 fra.me.REG[0] = p0;
18584 /* ./parser//parser_prod.nit:3262 */
18585 stack_frame_head = fra.me.prev;
18586 init_table[itpos75] = 1;
18587 return;
18588 }
18589 void parser_prod___AGeMethid___init_agemethid(val_t p0, val_t p1, int* init_table){
18590 int itpos76 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AGeMethid].i;
18591 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
18592 val_t REGB0;
18593 val_t tmp;
18594 if (init_table[itpos76]) return;
18595 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18596 fra.me.file = LOCATE_parser_prod;
18597 fra.me.line = 3264;
18598 fra.me.meth = LOCATE_parser_prod___AGeMethid___init_agemethid;
18599 fra.me.has_broke = 0;
18600 fra.me.REG_size = 2;
18601 fra.me.REG[0] = NIT_NULL;
18602 fra.me.REG[1] = NIT_NULL;
18603 fra.me.REG[0] = p0;
18604 fra.me.REG[1] = p1;
18605 /* ./parser//parser_prod.nit:3268 */
18606 CALL_parser_prod___AGeMethid___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
18607 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
18608 /* ./parser//parser_prod.nit:3269 */
18609 if (UNTAG_Bool(REGB0)) {
18610 } else {
18611 fprintf(stderr, "Cast failed");
18612 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3269);
18613 nit_exit(1);
18614 }
18615 ATTR_parser_nodes___AGeMethid____n_ge(fra.me.REG[0]) = fra.me.REG[1];
18616 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
18617 /* ./parser//parser_prod.nit:3270 */
18618 if (UNTAG_Bool(REGB0)) {
18619 fprintf(stderr, "Reciever is null");
18620 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3270);
18621 nit_exit(1);
18622 }
18623 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
18624 stack_frame_head = fra.me.prev;
18625 init_table[itpos76] = 1;
18626 return;
18627 }
18628 void parser_prod___ALtMethid___n_lt__eq(val_t p0, val_t p1){
18629 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
18630 val_t tmp;
18631 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18632 fra.me.file = LOCATE_parser_prod;
18633 fra.me.line = 3298;
18634 fra.me.meth = LOCATE_parser_prod___ALtMethid___n_lt__eq;
18635 fra.me.has_broke = 0;
18636 fra.me.REG_size = 2;
18637 fra.me.REG[0] = NIT_NULL;
18638 fra.me.REG[1] = NIT_NULL;
18639 fra.me.REG[0] = p0;
18640 fra.me.REG[1] = p1;
18641 /* ./parser//parser_prod.nit:3300 */
18642 ATTR_parser_nodes___ALtMethid____n_lt(fra.me.REG[0]) = fra.me.REG[1];
18643 /* ./parser//parser_prod.nit:3301 */
18644 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
18645 stack_frame_head = fra.me.prev;
18646 return;
18647 }
18648 void parser_prod___ALtMethid___replace_child(val_t p0, val_t p1, val_t p2){
18649 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
18650 val_t REGB0;
18651 val_t REGB1;
18652 val_t tmp;
18653 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18654 fra.me.file = LOCATE_parser_prod;
18655 fra.me.line = 3315;
18656 fra.me.meth = LOCATE_parser_prod___ALtMethid___replace_child;
18657 fra.me.has_broke = 0;
18658 fra.me.REG_size = 4;
18659 fra.me.REG[0] = NIT_NULL;
18660 fra.me.REG[1] = NIT_NULL;
18661 fra.me.REG[2] = NIT_NULL;
18662 fra.me.REG[3] = NIT_NULL;
18663 fra.me.REG[0] = p0;
18664 fra.me.REG[1] = p1;
18665 fra.me.REG[2] = p2;
18666 REGB0 = TAG_Bool(ATTR_parser_nodes___ALtMethid____n_lt(fra.me.REG[0])!=NIT_NULL);
18667 /* ./parser//parser_prod.nit:3317 */
18668 if (UNTAG_Bool(REGB0)) {
18669 } else {
18670 fprintf(stderr, "Uninitialized attribute %s", "_n_lt");
18671 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3317);
18672 nit_exit(1);
18673 }
18674 fra.me.REG[3] = ATTR_parser_nodes___ALtMethid____n_lt(fra.me.REG[0]);
18675 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
18676 if (UNTAG_Bool(REGB0)) {
18677 } else {
18678 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
18679 REGB0 = REGB1;
18680 }
18681 if (UNTAG_Bool(REGB0)) {
18682 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
18683 /* ./parser//parser_prod.nit:3318 */
18684 if (UNTAG_Bool(REGB0)) {
18685 } else {
18686 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
18687 if (UNTAG_Bool(REGB1)) {
18688 REGB1 = TAG_Bool(false);
18689 REGB0 = REGB1;
18690 } else {
18691 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
18692 REGB0 = REGB1;
18693 }
18694 }
18695 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
18696 if (UNTAG_Bool(REGB0)) {
18697 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
18698 /* ./parser//parser_prod.nit:3319 */
18699 if (UNTAG_Bool(REGB0)) {
18700 fprintf(stderr, "Reciever is null");
18701 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3319);
18702 nit_exit(1);
18703 }
18704 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
18705 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TLt, ID_TLt)) /*cast TLt*/;
18706 /* ./parser//parser_prod.nit:3320 */
18707 if (UNTAG_Bool(REGB0)) {
18708 } else {
18709 fprintf(stderr, "Assert failed");
18710 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3320);
18711 nit_exit(1);
18712 }
18713 /* ./parser//parser_prod.nit:3321 */
18714 ATTR_parser_nodes___ALtMethid____n_lt(fra.me.REG[0]) = fra.me.REG[2];
18715 } else {
18716 /* ./parser//parser_prod.nit:3323 */
18717 fprintf(stderr, "Aborted");
18718 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3323);
18719 nit_exit(1);
18720 }
18721 /* ./parser//parser_prod.nit:3325 */
18722 goto label1;
18723 }
18724 label1: while(0);
18725 stack_frame_head = fra.me.prev;
18726 return;
18727 }
18728 void parser_prod___ALtMethid___visit_all(val_t p0, val_t p1){
18729 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
18730 val_t REGB0;
18731 val_t tmp;
18732 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18733 fra.me.file = LOCATE_parser_prod;
18734 fra.me.line = 3329;
18735 fra.me.meth = LOCATE_parser_prod___ALtMethid___visit_all;
18736 fra.me.has_broke = 0;
18737 fra.me.REG_size = 2;
18738 fra.me.REG[0] = NIT_NULL;
18739 fra.me.REG[1] = NIT_NULL;
18740 fra.me.REG[0] = p0;
18741 fra.me.REG[1] = p1;
18742 REGB0 = TAG_Bool(ATTR_parser_nodes___ALtMethid____n_lt(fra.me.REG[0])!=NIT_NULL);
18743 /* ./parser//parser_prod.nit:3331 */
18744 if (UNTAG_Bool(REGB0)) {
18745 } else {
18746 fprintf(stderr, "Uninitialized attribute %s", "_n_lt");
18747 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3331);
18748 nit_exit(1);
18749 }
18750 fra.me.REG[0] = ATTR_parser_nodes___ALtMethid____n_lt(fra.me.REG[0]);
18751 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
18752 stack_frame_head = fra.me.prev;
18753 return;
18754 }
18755 void parser_prod___ALtMethid___visit_all_reverse(val_t p0, val_t p1){
18756 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
18757 val_t REGB0;
18758 val_t tmp;
18759 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18760 fra.me.file = LOCATE_parser_prod;
18761 fra.me.line = 3334;
18762 fra.me.meth = LOCATE_parser_prod___ALtMethid___visit_all_reverse;
18763 fra.me.has_broke = 0;
18764 fra.me.REG_size = 2;
18765 fra.me.REG[0] = NIT_NULL;
18766 fra.me.REG[1] = NIT_NULL;
18767 fra.me.REG[0] = p0;
18768 fra.me.REG[1] = p1;
18769 REGB0 = TAG_Bool(ATTR_parser_nodes___ALtMethid____n_lt(fra.me.REG[0])!=NIT_NULL);
18770 /* ./parser//parser_prod.nit:3336 */
18771 if (UNTAG_Bool(REGB0)) {
18772 } else {
18773 fprintf(stderr, "Uninitialized attribute %s", "_n_lt");
18774 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3336);
18775 nit_exit(1);
18776 }
18777 fra.me.REG[0] = ATTR_parser_nodes___ALtMethid____n_lt(fra.me.REG[0]);
18778 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
18779 stack_frame_head = fra.me.prev;
18780 return;
18781 }
18782 void parser_prod___ALtMethid___empty_init(val_t p0, int* init_table){
18783 int itpos77 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ALtMethid].i;
18784 struct {struct stack_frame_t me;} fra;
18785 val_t tmp;
18786 if (init_table[itpos77]) return;
18787 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18788 fra.me.file = LOCATE_parser_prod;
18789 fra.me.line = 3304;
18790 fra.me.meth = LOCATE_parser_prod___ALtMethid___empty_init;
18791 fra.me.has_broke = 0;
18792 fra.me.REG_size = 1;
18793 fra.me.REG[0] = NIT_NULL;
18794 fra.me.REG[0] = p0;
18795 /* ./parser//parser_prod.nit:3304 */
18796 stack_frame_head = fra.me.prev;
18797 init_table[itpos77] = 1;
18798 return;
18799 }
18800 void parser_prod___ALtMethid___init_altmethid(val_t p0, val_t p1, int* init_table){
18801 int itpos78 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ALtMethid].i;
18802 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
18803 val_t REGB0;
18804 val_t tmp;
18805 if (init_table[itpos78]) return;
18806 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18807 fra.me.file = LOCATE_parser_prod;
18808 fra.me.line = 3306;
18809 fra.me.meth = LOCATE_parser_prod___ALtMethid___init_altmethid;
18810 fra.me.has_broke = 0;
18811 fra.me.REG_size = 2;
18812 fra.me.REG[0] = NIT_NULL;
18813 fra.me.REG[1] = NIT_NULL;
18814 fra.me.REG[0] = p0;
18815 fra.me.REG[1] = p1;
18816 /* ./parser//parser_prod.nit:3310 */
18817 CALL_parser_prod___ALtMethid___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
18818 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
18819 /* ./parser//parser_prod.nit:3311 */
18820 if (UNTAG_Bool(REGB0)) {
18821 } else {
18822 fprintf(stderr, "Cast failed");
18823 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3311);
18824 nit_exit(1);
18825 }
18826 ATTR_parser_nodes___ALtMethid____n_lt(fra.me.REG[0]) = fra.me.REG[1];
18827 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
18828 /* ./parser//parser_prod.nit:3312 */
18829 if (UNTAG_Bool(REGB0)) {
18830 fprintf(stderr, "Reciever is null");
18831 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3312);
18832 nit_exit(1);
18833 }
18834 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
18835 stack_frame_head = fra.me.prev;
18836 init_table[itpos78] = 1;
18837 return;
18838 }
18839 void parser_prod___AGtMethid___n_gt__eq(val_t p0, val_t p1){
18840 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
18841 val_t tmp;
18842 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18843 fra.me.file = LOCATE_parser_prod;
18844 fra.me.line = 3340;
18845 fra.me.meth = LOCATE_parser_prod___AGtMethid___n_gt__eq;
18846 fra.me.has_broke = 0;
18847 fra.me.REG_size = 2;
18848 fra.me.REG[0] = NIT_NULL;
18849 fra.me.REG[1] = NIT_NULL;
18850 fra.me.REG[0] = p0;
18851 fra.me.REG[1] = p1;
18852 /* ./parser//parser_prod.nit:3342 */
18853 ATTR_parser_nodes___AGtMethid____n_gt(fra.me.REG[0]) = fra.me.REG[1];
18854 /* ./parser//parser_prod.nit:3343 */
18855 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
18856 stack_frame_head = fra.me.prev;
18857 return;
18858 }
18859 void parser_prod___AGtMethid___replace_child(val_t p0, val_t p1, val_t p2){
18860 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
18861 val_t REGB0;
18862 val_t REGB1;
18863 val_t tmp;
18864 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18865 fra.me.file = LOCATE_parser_prod;
18866 fra.me.line = 3357;
18867 fra.me.meth = LOCATE_parser_prod___AGtMethid___replace_child;
18868 fra.me.has_broke = 0;
18869 fra.me.REG_size = 4;
18870 fra.me.REG[0] = NIT_NULL;
18871 fra.me.REG[1] = NIT_NULL;
18872 fra.me.REG[2] = NIT_NULL;
18873 fra.me.REG[3] = NIT_NULL;
18874 fra.me.REG[0] = p0;
18875 fra.me.REG[1] = p1;
18876 fra.me.REG[2] = p2;
18877 REGB0 = TAG_Bool(ATTR_parser_nodes___AGtMethid____n_gt(fra.me.REG[0])!=NIT_NULL);
18878 /* ./parser//parser_prod.nit:3359 */
18879 if (UNTAG_Bool(REGB0)) {
18880 } else {
18881 fprintf(stderr, "Uninitialized attribute %s", "_n_gt");
18882 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3359);
18883 nit_exit(1);
18884 }
18885 fra.me.REG[3] = ATTR_parser_nodes___AGtMethid____n_gt(fra.me.REG[0]);
18886 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
18887 if (UNTAG_Bool(REGB0)) {
18888 } else {
18889 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
18890 REGB0 = REGB1;
18891 }
18892 if (UNTAG_Bool(REGB0)) {
18893 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
18894 /* ./parser//parser_prod.nit:3360 */
18895 if (UNTAG_Bool(REGB0)) {
18896 } else {
18897 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
18898 if (UNTAG_Bool(REGB1)) {
18899 REGB1 = TAG_Bool(false);
18900 REGB0 = REGB1;
18901 } else {
18902 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
18903 REGB0 = REGB1;
18904 }
18905 }
18906 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
18907 if (UNTAG_Bool(REGB0)) {
18908 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
18909 /* ./parser//parser_prod.nit:3361 */
18910 if (UNTAG_Bool(REGB0)) {
18911 fprintf(stderr, "Reciever is null");
18912 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3361);
18913 nit_exit(1);
18914 }
18915 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
18916 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TGt, ID_TGt)) /*cast TGt*/;
18917 /* ./parser//parser_prod.nit:3362 */
18918 if (UNTAG_Bool(REGB0)) {
18919 } else {
18920 fprintf(stderr, "Assert failed");
18921 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3362);
18922 nit_exit(1);
18923 }
18924 /* ./parser//parser_prod.nit:3363 */
18925 ATTR_parser_nodes___AGtMethid____n_gt(fra.me.REG[0]) = fra.me.REG[2];
18926 } else {
18927 /* ./parser//parser_prod.nit:3365 */
18928 fprintf(stderr, "Aborted");
18929 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3365);
18930 nit_exit(1);
18931 }
18932 /* ./parser//parser_prod.nit:3367 */
18933 goto label1;
18934 }
18935 label1: while(0);
18936 stack_frame_head = fra.me.prev;
18937 return;
18938 }
18939 void parser_prod___AGtMethid___visit_all(val_t p0, val_t p1){
18940 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
18941 val_t REGB0;
18942 val_t tmp;
18943 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18944 fra.me.file = LOCATE_parser_prod;
18945 fra.me.line = 3371;
18946 fra.me.meth = LOCATE_parser_prod___AGtMethid___visit_all;
18947 fra.me.has_broke = 0;
18948 fra.me.REG_size = 2;
18949 fra.me.REG[0] = NIT_NULL;
18950 fra.me.REG[1] = NIT_NULL;
18951 fra.me.REG[0] = p0;
18952 fra.me.REG[1] = p1;
18953 REGB0 = TAG_Bool(ATTR_parser_nodes___AGtMethid____n_gt(fra.me.REG[0])!=NIT_NULL);
18954 /* ./parser//parser_prod.nit:3373 */
18955 if (UNTAG_Bool(REGB0)) {
18956 } else {
18957 fprintf(stderr, "Uninitialized attribute %s", "_n_gt");
18958 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3373);
18959 nit_exit(1);
18960 }
18961 fra.me.REG[0] = ATTR_parser_nodes___AGtMethid____n_gt(fra.me.REG[0]);
18962 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
18963 stack_frame_head = fra.me.prev;
18964 return;
18965 }
18966 void parser_prod___AGtMethid___visit_all_reverse(val_t p0, val_t p1){
18967 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
18968 val_t REGB0;
18969 val_t tmp;
18970 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18971 fra.me.file = LOCATE_parser_prod;
18972 fra.me.line = 3376;
18973 fra.me.meth = LOCATE_parser_prod___AGtMethid___visit_all_reverse;
18974 fra.me.has_broke = 0;
18975 fra.me.REG_size = 2;
18976 fra.me.REG[0] = NIT_NULL;
18977 fra.me.REG[1] = NIT_NULL;
18978 fra.me.REG[0] = p0;
18979 fra.me.REG[1] = p1;
18980 REGB0 = TAG_Bool(ATTR_parser_nodes___AGtMethid____n_gt(fra.me.REG[0])!=NIT_NULL);
18981 /* ./parser//parser_prod.nit:3378 */
18982 if (UNTAG_Bool(REGB0)) {
18983 } else {
18984 fprintf(stderr, "Uninitialized attribute %s", "_n_gt");
18985 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3378);
18986 nit_exit(1);
18987 }
18988 fra.me.REG[0] = ATTR_parser_nodes___AGtMethid____n_gt(fra.me.REG[0]);
18989 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
18990 stack_frame_head = fra.me.prev;
18991 return;
18992 }
18993 void parser_prod___AGtMethid___empty_init(val_t p0, int* init_table){
18994 int itpos79 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AGtMethid].i;
18995 struct {struct stack_frame_t me;} fra;
18996 val_t tmp;
18997 if (init_table[itpos79]) return;
18998 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
18999 fra.me.file = LOCATE_parser_prod;
19000 fra.me.line = 3346;
19001 fra.me.meth = LOCATE_parser_prod___AGtMethid___empty_init;
19002 fra.me.has_broke = 0;
19003 fra.me.REG_size = 1;
19004 fra.me.REG[0] = NIT_NULL;
19005 fra.me.REG[0] = p0;
19006 /* ./parser//parser_prod.nit:3346 */
19007 stack_frame_head = fra.me.prev;
19008 init_table[itpos79] = 1;
19009 return;
19010 }
19011 void parser_prod___AGtMethid___init_agtmethid(val_t p0, val_t p1, int* init_table){
19012 int itpos80 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AGtMethid].i;
19013 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
19014 val_t REGB0;
19015 val_t tmp;
19016 if (init_table[itpos80]) return;
19017 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19018 fra.me.file = LOCATE_parser_prod;
19019 fra.me.line = 3348;
19020 fra.me.meth = LOCATE_parser_prod___AGtMethid___init_agtmethid;
19021 fra.me.has_broke = 0;
19022 fra.me.REG_size = 2;
19023 fra.me.REG[0] = NIT_NULL;
19024 fra.me.REG[1] = NIT_NULL;
19025 fra.me.REG[0] = p0;
19026 fra.me.REG[1] = p1;
19027 /* ./parser//parser_prod.nit:3352 */
19028 CALL_parser_prod___AGtMethid___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
19029 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
19030 /* ./parser//parser_prod.nit:3353 */
19031 if (UNTAG_Bool(REGB0)) {
19032 } else {
19033 fprintf(stderr, "Cast failed");
19034 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3353);
19035 nit_exit(1);
19036 }
19037 ATTR_parser_nodes___AGtMethid____n_gt(fra.me.REG[0]) = fra.me.REG[1];
19038 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
19039 /* ./parser//parser_prod.nit:3354 */
19040 if (UNTAG_Bool(REGB0)) {
19041 fprintf(stderr, "Reciever is null");
19042 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3354);
19043 nit_exit(1);
19044 }
19045 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
19046 stack_frame_head = fra.me.prev;
19047 init_table[itpos80] = 1;
19048 return;
19049 }
19050 void parser_prod___ABraMethid___n_obra__eq(val_t p0, val_t p1){
19051 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
19052 val_t tmp;
19053 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19054 fra.me.file = LOCATE_parser_prod;
19055 fra.me.line = 3382;
19056 fra.me.meth = LOCATE_parser_prod___ABraMethid___n_obra__eq;
19057 fra.me.has_broke = 0;
19058 fra.me.REG_size = 2;
19059 fra.me.REG[0] = NIT_NULL;
19060 fra.me.REG[1] = NIT_NULL;
19061 fra.me.REG[0] = p0;
19062 fra.me.REG[1] = p1;
19063 /* ./parser//parser_prod.nit:3384 */
19064 ATTR_parser_nodes___ABraMethid____n_obra(fra.me.REG[0]) = fra.me.REG[1];
19065 /* ./parser//parser_prod.nit:3385 */
19066 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
19067 stack_frame_head = fra.me.prev;
19068 return;
19069 }
19070 void parser_prod___ABraMethid___n_cbra__eq(val_t p0, val_t p1){
19071 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
19072 val_t tmp;
19073 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19074 fra.me.file = LOCATE_parser_prod;
19075 fra.me.line = 3387;
19076 fra.me.meth = LOCATE_parser_prod___ABraMethid___n_cbra__eq;
19077 fra.me.has_broke = 0;
19078 fra.me.REG_size = 2;
19079 fra.me.REG[0] = NIT_NULL;
19080 fra.me.REG[1] = NIT_NULL;
19081 fra.me.REG[0] = p0;
19082 fra.me.REG[1] = p1;
19083 /* ./parser//parser_prod.nit:3389 */
19084 ATTR_parser_nodes___ABraMethid____n_cbra(fra.me.REG[0]) = fra.me.REG[1];
19085 /* ./parser//parser_prod.nit:3390 */
19086 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
19087 stack_frame_head = fra.me.prev;
19088 return;
19089 }
19090 void parser_prod___ABraMethid___replace_child(val_t p0, val_t p1, val_t p2){
19091 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
19092 val_t REGB0;
19093 val_t REGB1;
19094 val_t tmp;
19095 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19096 fra.me.file = LOCATE_parser_prod;
19097 fra.me.line = 3407;
19098 fra.me.meth = LOCATE_parser_prod___ABraMethid___replace_child;
19099 fra.me.has_broke = 0;
19100 fra.me.REG_size = 4;
19101 fra.me.REG[0] = NIT_NULL;
19102 fra.me.REG[1] = NIT_NULL;
19103 fra.me.REG[2] = NIT_NULL;
19104 fra.me.REG[3] = NIT_NULL;
19105 fra.me.REG[0] = p0;
19106 fra.me.REG[1] = p1;
19107 fra.me.REG[2] = p2;
19108 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraMethid____n_obra(fra.me.REG[0])!=NIT_NULL);
19109 /* ./parser//parser_prod.nit:3409 */
19110 if (UNTAG_Bool(REGB0)) {
19111 } else {
19112 fprintf(stderr, "Uninitialized attribute %s", "_n_obra");
19113 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3409);
19114 nit_exit(1);
19115 }
19116 fra.me.REG[3] = ATTR_parser_nodes___ABraMethid____n_obra(fra.me.REG[0]);
19117 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
19118 if (UNTAG_Bool(REGB0)) {
19119 } else {
19120 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
19121 REGB0 = REGB1;
19122 }
19123 if (UNTAG_Bool(REGB0)) {
19124 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
19125 /* ./parser//parser_prod.nit:3410 */
19126 if (UNTAG_Bool(REGB0)) {
19127 } else {
19128 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
19129 if (UNTAG_Bool(REGB1)) {
19130 REGB1 = TAG_Bool(false);
19131 REGB0 = REGB1;
19132 } else {
19133 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
19134 REGB0 = REGB1;
19135 }
19136 }
19137 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
19138 if (UNTAG_Bool(REGB0)) {
19139 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
19140 /* ./parser//parser_prod.nit:3411 */
19141 if (UNTAG_Bool(REGB0)) {
19142 fprintf(stderr, "Reciever is null");
19143 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3411);
19144 nit_exit(1);
19145 }
19146 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
19147 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TObra, ID_TObra)) /*cast TObra*/;
19148 /* ./parser//parser_prod.nit:3412 */
19149 if (UNTAG_Bool(REGB0)) {
19150 } else {
19151 fprintf(stderr, "Assert failed");
19152 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3412);
19153 nit_exit(1);
19154 }
19155 /* ./parser//parser_prod.nit:3413 */
19156 ATTR_parser_nodes___ABraMethid____n_obra(fra.me.REG[0]) = fra.me.REG[2];
19157 } else {
19158 /* ./parser//parser_prod.nit:3415 */
19159 fprintf(stderr, "Aborted");
19160 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3415);
19161 nit_exit(1);
19162 }
19163 /* ./parser//parser_prod.nit:3417 */
19164 goto label1;
19165 }
19166 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraMethid____n_cbra(fra.me.REG[0])!=NIT_NULL);
19167 /* ./parser//parser_prod.nit:3419 */
19168 if (UNTAG_Bool(REGB0)) {
19169 } else {
19170 fprintf(stderr, "Uninitialized attribute %s", "_n_cbra");
19171 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3419);
19172 nit_exit(1);
19173 }
19174 fra.me.REG[3] = ATTR_parser_nodes___ABraMethid____n_cbra(fra.me.REG[0]);
19175 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
19176 if (UNTAG_Bool(REGB0)) {
19177 } else {
19178 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
19179 REGB0 = REGB1;
19180 }
19181 if (UNTAG_Bool(REGB0)) {
19182 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
19183 /* ./parser//parser_prod.nit:3420 */
19184 if (UNTAG_Bool(REGB0)) {
19185 } else {
19186 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
19187 if (UNTAG_Bool(REGB1)) {
19188 REGB1 = TAG_Bool(false);
19189 REGB0 = REGB1;
19190 } else {
19191 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
19192 REGB0 = REGB1;
19193 }
19194 }
19195 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
19196 if (UNTAG_Bool(REGB0)) {
19197 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
19198 /* ./parser//parser_prod.nit:3421 */
19199 if (UNTAG_Bool(REGB0)) {
19200 fprintf(stderr, "Reciever is null");
19201 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3421);
19202 nit_exit(1);
19203 }
19204 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
19205 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TCbra, ID_TCbra)) /*cast TCbra*/;
19206 /* ./parser//parser_prod.nit:3422 */
19207 if (UNTAG_Bool(REGB0)) {
19208 } else {
19209 fprintf(stderr, "Assert failed");
19210 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3422);
19211 nit_exit(1);
19212 }
19213 /* ./parser//parser_prod.nit:3423 */
19214 ATTR_parser_nodes___ABraMethid____n_cbra(fra.me.REG[0]) = fra.me.REG[2];
19215 } else {
19216 /* ./parser//parser_prod.nit:3425 */
19217 fprintf(stderr, "Aborted");
19218 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3425);
19219 nit_exit(1);
19220 }
19221 /* ./parser//parser_prod.nit:3427 */
19222 goto label1;
19223 }
19224 label1: while(0);
19225 stack_frame_head = fra.me.prev;
19226 return;
19227 }
19228 void parser_prod___ABraMethid___visit_all(val_t p0, val_t p1){
19229 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
19230 val_t REGB0;
19231 val_t tmp;
19232 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19233 fra.me.file = LOCATE_parser_prod;
19234 fra.me.line = 3431;
19235 fra.me.meth = LOCATE_parser_prod___ABraMethid___visit_all;
19236 fra.me.has_broke = 0;
19237 fra.me.REG_size = 3;
19238 fra.me.REG[0] = NIT_NULL;
19239 fra.me.REG[1] = NIT_NULL;
19240 fra.me.REG[2] = NIT_NULL;
19241 fra.me.REG[0] = p0;
19242 fra.me.REG[1] = p1;
19243 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraMethid____n_obra(fra.me.REG[0])!=NIT_NULL);
19244 /* ./parser//parser_prod.nit:3433 */
19245 if (UNTAG_Bool(REGB0)) {
19246 } else {
19247 fprintf(stderr, "Uninitialized attribute %s", "_n_obra");
19248 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3433);
19249 nit_exit(1);
19250 }
19251 fra.me.REG[2] = ATTR_parser_nodes___ABraMethid____n_obra(fra.me.REG[0]);
19252 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
19253 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraMethid____n_cbra(fra.me.REG[0])!=NIT_NULL);
19254 /* ./parser//parser_prod.nit:3434 */
19255 if (UNTAG_Bool(REGB0)) {
19256 } else {
19257 fprintf(stderr, "Uninitialized attribute %s", "_n_cbra");
19258 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3434);
19259 nit_exit(1);
19260 }
19261 fra.me.REG[0] = ATTR_parser_nodes___ABraMethid____n_cbra(fra.me.REG[0]);
19262 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
19263 stack_frame_head = fra.me.prev;
19264 return;
19265 }
19266 void parser_prod___ABraMethid___visit_all_reverse(val_t p0, val_t p1){
19267 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
19268 val_t REGB0;
19269 val_t tmp;
19270 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19271 fra.me.file = LOCATE_parser_prod;
19272 fra.me.line = 3437;
19273 fra.me.meth = LOCATE_parser_prod___ABraMethid___visit_all_reverse;
19274 fra.me.has_broke = 0;
19275 fra.me.REG_size = 3;
19276 fra.me.REG[0] = NIT_NULL;
19277 fra.me.REG[1] = NIT_NULL;
19278 fra.me.REG[2] = NIT_NULL;
19279 fra.me.REG[0] = p0;
19280 fra.me.REG[1] = p1;
19281 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraMethid____n_obra(fra.me.REG[0])!=NIT_NULL);
19282 /* ./parser//parser_prod.nit:3439 */
19283 if (UNTAG_Bool(REGB0)) {
19284 } else {
19285 fprintf(stderr, "Uninitialized attribute %s", "_n_obra");
19286 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3439);
19287 nit_exit(1);
19288 }
19289 fra.me.REG[2] = ATTR_parser_nodes___ABraMethid____n_obra(fra.me.REG[0]);
19290 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
19291 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraMethid____n_cbra(fra.me.REG[0])!=NIT_NULL);
19292 /* ./parser//parser_prod.nit:3440 */
19293 if (UNTAG_Bool(REGB0)) {
19294 } else {
19295 fprintf(stderr, "Uninitialized attribute %s", "_n_cbra");
19296 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3440);
19297 nit_exit(1);
19298 }
19299 fra.me.REG[0] = ATTR_parser_nodes___ABraMethid____n_cbra(fra.me.REG[0]);
19300 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
19301 stack_frame_head = fra.me.prev;
19302 return;
19303 }
19304 void parser_prod___ABraMethid___empty_init(val_t p0, int* init_table){
19305 int itpos81 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ABraMethid].i;
19306 struct {struct stack_frame_t me;} fra;
19307 val_t tmp;
19308 if (init_table[itpos81]) return;
19309 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19310 fra.me.file = LOCATE_parser_prod;
19311 fra.me.line = 3393;
19312 fra.me.meth = LOCATE_parser_prod___ABraMethid___empty_init;
19313 fra.me.has_broke = 0;
19314 fra.me.REG_size = 1;
19315 fra.me.REG[0] = NIT_NULL;
19316 fra.me.REG[0] = p0;
19317 /* ./parser//parser_prod.nit:3393 */
19318 stack_frame_head = fra.me.prev;
19319 init_table[itpos81] = 1;
19320 return;
19321 }
19322 void parser_prod___ABraMethid___init_abramethid(val_t p0, val_t p1, val_t p2, int* init_table){
19323 int itpos82 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ABraMethid].i;
19324 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
19325 val_t REGB0;
19326 val_t tmp;
19327 if (init_table[itpos82]) return;
19328 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19329 fra.me.file = LOCATE_parser_prod;
19330 fra.me.line = 3395;
19331 fra.me.meth = LOCATE_parser_prod___ABraMethid___init_abramethid;
19332 fra.me.has_broke = 0;
19333 fra.me.REG_size = 3;
19334 fra.me.REG[0] = NIT_NULL;
19335 fra.me.REG[1] = NIT_NULL;
19336 fra.me.REG[2] = NIT_NULL;
19337 fra.me.REG[0] = p0;
19338 fra.me.REG[1] = p1;
19339 fra.me.REG[2] = p2;
19340 /* ./parser//parser_prod.nit:3400 */
19341 CALL_parser_prod___ABraMethid___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
19342 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
19343 /* ./parser//parser_prod.nit:3401 */
19344 if (UNTAG_Bool(REGB0)) {
19345 } else {
19346 fprintf(stderr, "Cast failed");
19347 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3401);
19348 nit_exit(1);
19349 }
19350 ATTR_parser_nodes___ABraMethid____n_obra(fra.me.REG[0]) = fra.me.REG[1];
19351 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
19352 /* ./parser//parser_prod.nit:3402 */
19353 if (UNTAG_Bool(REGB0)) {
19354 fprintf(stderr, "Reciever is null");
19355 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3402);
19356 nit_exit(1);
19357 }
19358 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
19359 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
19360 /* ./parser//parser_prod.nit:3403 */
19361 if (UNTAG_Bool(REGB0)) {
19362 } else {
19363 fprintf(stderr, "Cast failed");
19364 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3403);
19365 nit_exit(1);
19366 }
19367 ATTR_parser_nodes___ABraMethid____n_cbra(fra.me.REG[0]) = fra.me.REG[2];
19368 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
19369 /* ./parser//parser_prod.nit:3404 */
19370 if (UNTAG_Bool(REGB0)) {
19371 fprintf(stderr, "Reciever is null");
19372 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3404);
19373 nit_exit(1);
19374 }
19375 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
19376 stack_frame_head = fra.me.prev;
19377 init_table[itpos82] = 1;
19378 return;
19379 }
19380 void parser_prod___AStarshipMethid___n_starship__eq(val_t p0, val_t p1){
19381 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
19382 val_t tmp;
19383 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19384 fra.me.file = LOCATE_parser_prod;
19385 fra.me.line = 3444;
19386 fra.me.meth = LOCATE_parser_prod___AStarshipMethid___n_starship__eq;
19387 fra.me.has_broke = 0;
19388 fra.me.REG_size = 2;
19389 fra.me.REG[0] = NIT_NULL;
19390 fra.me.REG[1] = NIT_NULL;
19391 fra.me.REG[0] = p0;
19392 fra.me.REG[1] = p1;
19393 /* ./parser//parser_prod.nit:3446 */
19394 ATTR_parser_nodes___AStarshipMethid____n_starship(fra.me.REG[0]) = fra.me.REG[1];
19395 /* ./parser//parser_prod.nit:3447 */
19396 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
19397 stack_frame_head = fra.me.prev;
19398 return;
19399 }
19400 void parser_prod___AStarshipMethid___replace_child(val_t p0, val_t p1, val_t p2){
19401 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
19402 val_t REGB0;
19403 val_t REGB1;
19404 val_t tmp;
19405 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19406 fra.me.file = LOCATE_parser_prod;
19407 fra.me.line = 3461;
19408 fra.me.meth = LOCATE_parser_prod___AStarshipMethid___replace_child;
19409 fra.me.has_broke = 0;
19410 fra.me.REG_size = 4;
19411 fra.me.REG[0] = NIT_NULL;
19412 fra.me.REG[1] = NIT_NULL;
19413 fra.me.REG[2] = NIT_NULL;
19414 fra.me.REG[3] = NIT_NULL;
19415 fra.me.REG[0] = p0;
19416 fra.me.REG[1] = p1;
19417 fra.me.REG[2] = p2;
19418 REGB0 = TAG_Bool(ATTR_parser_nodes___AStarshipMethid____n_starship(fra.me.REG[0])!=NIT_NULL);
19419 /* ./parser//parser_prod.nit:3463 */
19420 if (UNTAG_Bool(REGB0)) {
19421 } else {
19422 fprintf(stderr, "Uninitialized attribute %s", "_n_starship");
19423 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3463);
19424 nit_exit(1);
19425 }
19426 fra.me.REG[3] = ATTR_parser_nodes___AStarshipMethid____n_starship(fra.me.REG[0]);
19427 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
19428 if (UNTAG_Bool(REGB0)) {
19429 } else {
19430 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
19431 REGB0 = REGB1;
19432 }
19433 if (UNTAG_Bool(REGB0)) {
19434 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
19435 /* ./parser//parser_prod.nit:3464 */
19436 if (UNTAG_Bool(REGB0)) {
19437 } else {
19438 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
19439 if (UNTAG_Bool(REGB1)) {
19440 REGB1 = TAG_Bool(false);
19441 REGB0 = REGB1;
19442 } else {
19443 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
19444 REGB0 = REGB1;
19445 }
19446 }
19447 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
19448 if (UNTAG_Bool(REGB0)) {
19449 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
19450 /* ./parser//parser_prod.nit:3465 */
19451 if (UNTAG_Bool(REGB0)) {
19452 fprintf(stderr, "Reciever is null");
19453 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3465);
19454 nit_exit(1);
19455 }
19456 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
19457 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TStarship, ID_TStarship)) /*cast TStarship*/;
19458 /* ./parser//parser_prod.nit:3466 */
19459 if (UNTAG_Bool(REGB0)) {
19460 } else {
19461 fprintf(stderr, "Assert failed");
19462 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3466);
19463 nit_exit(1);
19464 }
19465 /* ./parser//parser_prod.nit:3467 */
19466 ATTR_parser_nodes___AStarshipMethid____n_starship(fra.me.REG[0]) = fra.me.REG[2];
19467 } else {
19468 /* ./parser//parser_prod.nit:3469 */
19469 fprintf(stderr, "Aborted");
19470 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3469);
19471 nit_exit(1);
19472 }
19473 /* ./parser//parser_prod.nit:3471 */
19474 goto label1;
19475 }
19476 label1: while(0);
19477 stack_frame_head = fra.me.prev;
19478 return;
19479 }
19480 void parser_prod___AStarshipMethid___visit_all(val_t p0, val_t p1){
19481 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
19482 val_t REGB0;
19483 val_t tmp;
19484 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19485 fra.me.file = LOCATE_parser_prod;
19486 fra.me.line = 3475;
19487 fra.me.meth = LOCATE_parser_prod___AStarshipMethid___visit_all;
19488 fra.me.has_broke = 0;
19489 fra.me.REG_size = 2;
19490 fra.me.REG[0] = NIT_NULL;
19491 fra.me.REG[1] = NIT_NULL;
19492 fra.me.REG[0] = p0;
19493 fra.me.REG[1] = p1;
19494 REGB0 = TAG_Bool(ATTR_parser_nodes___AStarshipMethid____n_starship(fra.me.REG[0])!=NIT_NULL);
19495 /* ./parser//parser_prod.nit:3477 */
19496 if (UNTAG_Bool(REGB0)) {
19497 } else {
19498 fprintf(stderr, "Uninitialized attribute %s", "_n_starship");
19499 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3477);
19500 nit_exit(1);
19501 }
19502 fra.me.REG[0] = ATTR_parser_nodes___AStarshipMethid____n_starship(fra.me.REG[0]);
19503 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
19504 stack_frame_head = fra.me.prev;
19505 return;
19506 }
19507 void parser_prod___AStarshipMethid___visit_all_reverse(val_t p0, val_t p1){
19508 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
19509 val_t REGB0;
19510 val_t tmp;
19511 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19512 fra.me.file = LOCATE_parser_prod;
19513 fra.me.line = 3480;
19514 fra.me.meth = LOCATE_parser_prod___AStarshipMethid___visit_all_reverse;
19515 fra.me.has_broke = 0;
19516 fra.me.REG_size = 2;
19517 fra.me.REG[0] = NIT_NULL;
19518 fra.me.REG[1] = NIT_NULL;
19519 fra.me.REG[0] = p0;
19520 fra.me.REG[1] = p1;
19521 REGB0 = TAG_Bool(ATTR_parser_nodes___AStarshipMethid____n_starship(fra.me.REG[0])!=NIT_NULL);
19522 /* ./parser//parser_prod.nit:3482 */
19523 if (UNTAG_Bool(REGB0)) {
19524 } else {
19525 fprintf(stderr, "Uninitialized attribute %s", "_n_starship");
19526 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3482);
19527 nit_exit(1);
19528 }
19529 fra.me.REG[0] = ATTR_parser_nodes___AStarshipMethid____n_starship(fra.me.REG[0]);
19530 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
19531 stack_frame_head = fra.me.prev;
19532 return;
19533 }
19534 void parser_prod___AStarshipMethid___empty_init(val_t p0, int* init_table){
19535 int itpos83 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AStarshipMethid].i;
19536 struct {struct stack_frame_t me;} fra;
19537 val_t tmp;
19538 if (init_table[itpos83]) return;
19539 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19540 fra.me.file = LOCATE_parser_prod;
19541 fra.me.line = 3450;
19542 fra.me.meth = LOCATE_parser_prod___AStarshipMethid___empty_init;
19543 fra.me.has_broke = 0;
19544 fra.me.REG_size = 1;
19545 fra.me.REG[0] = NIT_NULL;
19546 fra.me.REG[0] = p0;
19547 /* ./parser//parser_prod.nit:3450 */
19548 stack_frame_head = fra.me.prev;
19549 init_table[itpos83] = 1;
19550 return;
19551 }
19552 void parser_prod___AStarshipMethid___init_astarshipmethid(val_t p0, val_t p1, int* init_table){
19553 int itpos84 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AStarshipMethid].i;
19554 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
19555 val_t REGB0;
19556 val_t tmp;
19557 if (init_table[itpos84]) return;
19558 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19559 fra.me.file = LOCATE_parser_prod;
19560 fra.me.line = 3452;
19561 fra.me.meth = LOCATE_parser_prod___AStarshipMethid___init_astarshipmethid;
19562 fra.me.has_broke = 0;
19563 fra.me.REG_size = 2;
19564 fra.me.REG[0] = NIT_NULL;
19565 fra.me.REG[1] = NIT_NULL;
19566 fra.me.REG[0] = p0;
19567 fra.me.REG[1] = p1;
19568 /* ./parser//parser_prod.nit:3456 */
19569 CALL_parser_prod___AStarshipMethid___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
19570 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
19571 /* ./parser//parser_prod.nit:3457 */
19572 if (UNTAG_Bool(REGB0)) {
19573 } else {
19574 fprintf(stderr, "Cast failed");
19575 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3457);
19576 nit_exit(1);
19577 }
19578 ATTR_parser_nodes___AStarshipMethid____n_starship(fra.me.REG[0]) = fra.me.REG[1];
19579 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
19580 /* ./parser//parser_prod.nit:3458 */
19581 if (UNTAG_Bool(REGB0)) {
19582 fprintf(stderr, "Reciever is null");
19583 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3458);
19584 nit_exit(1);
19585 }
19586 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
19587 stack_frame_head = fra.me.prev;
19588 init_table[itpos84] = 1;
19589 return;
19590 }
19591 void parser_prod___AAssignMethid___n_id__eq(val_t p0, val_t p1){
19592 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
19593 val_t tmp;
19594 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19595 fra.me.file = LOCATE_parser_prod;
19596 fra.me.line = 3486;
19597 fra.me.meth = LOCATE_parser_prod___AAssignMethid___n_id__eq;
19598 fra.me.has_broke = 0;
19599 fra.me.REG_size = 2;
19600 fra.me.REG[0] = NIT_NULL;
19601 fra.me.REG[1] = NIT_NULL;
19602 fra.me.REG[0] = p0;
19603 fra.me.REG[1] = p1;
19604 /* ./parser//parser_prod.nit:3488 */
19605 ATTR_parser_nodes___AAssignMethid____n_id(fra.me.REG[0]) = fra.me.REG[1];
19606 /* ./parser//parser_prod.nit:3489 */
19607 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
19608 stack_frame_head = fra.me.prev;
19609 return;
19610 }
19611 void parser_prod___AAssignMethid___n_assign__eq(val_t p0, val_t p1){
19612 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
19613 val_t tmp;
19614 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19615 fra.me.file = LOCATE_parser_prod;
19616 fra.me.line = 3491;
19617 fra.me.meth = LOCATE_parser_prod___AAssignMethid___n_assign__eq;
19618 fra.me.has_broke = 0;
19619 fra.me.REG_size = 2;
19620 fra.me.REG[0] = NIT_NULL;
19621 fra.me.REG[1] = NIT_NULL;
19622 fra.me.REG[0] = p0;
19623 fra.me.REG[1] = p1;
19624 /* ./parser//parser_prod.nit:3493 */
19625 ATTR_parser_nodes___AAssignMethid____n_assign(fra.me.REG[0]) = fra.me.REG[1];
19626 /* ./parser//parser_prod.nit:3494 */
19627 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
19628 stack_frame_head = fra.me.prev;
19629 return;
19630 }
19631 void parser_prod___AAssignMethid___replace_child(val_t p0, val_t p1, val_t p2){
19632 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
19633 val_t REGB0;
19634 val_t REGB1;
19635 val_t tmp;
19636 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19637 fra.me.file = LOCATE_parser_prod;
19638 fra.me.line = 3511;
19639 fra.me.meth = LOCATE_parser_prod___AAssignMethid___replace_child;
19640 fra.me.has_broke = 0;
19641 fra.me.REG_size = 4;
19642 fra.me.REG[0] = NIT_NULL;
19643 fra.me.REG[1] = NIT_NULL;
19644 fra.me.REG[2] = NIT_NULL;
19645 fra.me.REG[3] = NIT_NULL;
19646 fra.me.REG[0] = p0;
19647 fra.me.REG[1] = p1;
19648 fra.me.REG[2] = p2;
19649 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssignMethid____n_id(fra.me.REG[0])!=NIT_NULL);
19650 /* ./parser//parser_prod.nit:3513 */
19651 if (UNTAG_Bool(REGB0)) {
19652 } else {
19653 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
19654 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3513);
19655 nit_exit(1);
19656 }
19657 fra.me.REG[3] = ATTR_parser_nodes___AAssignMethid____n_id(fra.me.REG[0]);
19658 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
19659 if (UNTAG_Bool(REGB0)) {
19660 } else {
19661 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
19662 REGB0 = REGB1;
19663 }
19664 if (UNTAG_Bool(REGB0)) {
19665 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
19666 /* ./parser//parser_prod.nit:3514 */
19667 if (UNTAG_Bool(REGB0)) {
19668 } else {
19669 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
19670 if (UNTAG_Bool(REGB1)) {
19671 REGB1 = TAG_Bool(false);
19672 REGB0 = REGB1;
19673 } else {
19674 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
19675 REGB0 = REGB1;
19676 }
19677 }
19678 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
19679 if (UNTAG_Bool(REGB0)) {
19680 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
19681 /* ./parser//parser_prod.nit:3515 */
19682 if (UNTAG_Bool(REGB0)) {
19683 fprintf(stderr, "Reciever is null");
19684 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3515);
19685 nit_exit(1);
19686 }
19687 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
19688 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast TId*/;
19689 /* ./parser//parser_prod.nit:3516 */
19690 if (UNTAG_Bool(REGB0)) {
19691 } else {
19692 fprintf(stderr, "Assert failed");
19693 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3516);
19694 nit_exit(1);
19695 }
19696 /* ./parser//parser_prod.nit:3517 */
19697 ATTR_parser_nodes___AAssignMethid____n_id(fra.me.REG[0]) = fra.me.REG[2];
19698 } else {
19699 /* ./parser//parser_prod.nit:3519 */
19700 fprintf(stderr, "Aborted");
19701 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3519);
19702 nit_exit(1);
19703 }
19704 /* ./parser//parser_prod.nit:3521 */
19705 goto label1;
19706 }
19707 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssignMethid____n_assign(fra.me.REG[0])!=NIT_NULL);
19708 /* ./parser//parser_prod.nit:3523 */
19709 if (UNTAG_Bool(REGB0)) {
19710 } else {
19711 fprintf(stderr, "Uninitialized attribute %s", "_n_assign");
19712 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3523);
19713 nit_exit(1);
19714 }
19715 fra.me.REG[3] = ATTR_parser_nodes___AAssignMethid____n_assign(fra.me.REG[0]);
19716 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
19717 if (UNTAG_Bool(REGB0)) {
19718 } else {
19719 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
19720 REGB0 = REGB1;
19721 }
19722 if (UNTAG_Bool(REGB0)) {
19723 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
19724 /* ./parser//parser_prod.nit:3524 */
19725 if (UNTAG_Bool(REGB0)) {
19726 } else {
19727 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
19728 if (UNTAG_Bool(REGB1)) {
19729 REGB1 = TAG_Bool(false);
19730 REGB0 = REGB1;
19731 } else {
19732 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
19733 REGB0 = REGB1;
19734 }
19735 }
19736 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
19737 if (UNTAG_Bool(REGB0)) {
19738 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
19739 /* ./parser//parser_prod.nit:3525 */
19740 if (UNTAG_Bool(REGB0)) {
19741 fprintf(stderr, "Reciever is null");
19742 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3525);
19743 nit_exit(1);
19744 }
19745 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
19746 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
19747 /* ./parser//parser_prod.nit:3526 */
19748 if (UNTAG_Bool(REGB0)) {
19749 } else {
19750 fprintf(stderr, "Assert failed");
19751 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3526);
19752 nit_exit(1);
19753 }
19754 /* ./parser//parser_prod.nit:3527 */
19755 ATTR_parser_nodes___AAssignMethid____n_assign(fra.me.REG[0]) = fra.me.REG[2];
19756 } else {
19757 /* ./parser//parser_prod.nit:3529 */
19758 fprintf(stderr, "Aborted");
19759 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3529);
19760 nit_exit(1);
19761 }
19762 /* ./parser//parser_prod.nit:3531 */
19763 goto label1;
19764 }
19765 label1: while(0);
19766 stack_frame_head = fra.me.prev;
19767 return;
19768 }
19769 void parser_prod___AAssignMethid___visit_all(val_t p0, val_t p1){
19770 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
19771 val_t REGB0;
19772 val_t tmp;
19773 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19774 fra.me.file = LOCATE_parser_prod;
19775 fra.me.line = 3535;
19776 fra.me.meth = LOCATE_parser_prod___AAssignMethid___visit_all;
19777 fra.me.has_broke = 0;
19778 fra.me.REG_size = 3;
19779 fra.me.REG[0] = NIT_NULL;
19780 fra.me.REG[1] = NIT_NULL;
19781 fra.me.REG[2] = NIT_NULL;
19782 fra.me.REG[0] = p0;
19783 fra.me.REG[1] = p1;
19784 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssignMethid____n_id(fra.me.REG[0])!=NIT_NULL);
19785 /* ./parser//parser_prod.nit:3537 */
19786 if (UNTAG_Bool(REGB0)) {
19787 } else {
19788 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
19789 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3537);
19790 nit_exit(1);
19791 }
19792 fra.me.REG[2] = ATTR_parser_nodes___AAssignMethid____n_id(fra.me.REG[0]);
19793 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
19794 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssignMethid____n_assign(fra.me.REG[0])!=NIT_NULL);
19795 /* ./parser//parser_prod.nit:3538 */
19796 if (UNTAG_Bool(REGB0)) {
19797 } else {
19798 fprintf(stderr, "Uninitialized attribute %s", "_n_assign");
19799 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3538);
19800 nit_exit(1);
19801 }
19802 fra.me.REG[0] = ATTR_parser_nodes___AAssignMethid____n_assign(fra.me.REG[0]);
19803 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
19804 stack_frame_head = fra.me.prev;
19805 return;
19806 }
19807 void parser_prod___AAssignMethid___visit_all_reverse(val_t p0, val_t p1){
19808 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
19809 val_t REGB0;
19810 val_t tmp;
19811 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19812 fra.me.file = LOCATE_parser_prod;
19813 fra.me.line = 3541;
19814 fra.me.meth = LOCATE_parser_prod___AAssignMethid___visit_all_reverse;
19815 fra.me.has_broke = 0;
19816 fra.me.REG_size = 3;
19817 fra.me.REG[0] = NIT_NULL;
19818 fra.me.REG[1] = NIT_NULL;
19819 fra.me.REG[2] = NIT_NULL;
19820 fra.me.REG[0] = p0;
19821 fra.me.REG[1] = p1;
19822 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssignMethid____n_id(fra.me.REG[0])!=NIT_NULL);
19823 /* ./parser//parser_prod.nit:3543 */
19824 if (UNTAG_Bool(REGB0)) {
19825 } else {
19826 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
19827 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3543);
19828 nit_exit(1);
19829 }
19830 fra.me.REG[2] = ATTR_parser_nodes___AAssignMethid____n_id(fra.me.REG[0]);
19831 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
19832 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssignMethid____n_assign(fra.me.REG[0])!=NIT_NULL);
19833 /* ./parser//parser_prod.nit:3544 */
19834 if (UNTAG_Bool(REGB0)) {
19835 } else {
19836 fprintf(stderr, "Uninitialized attribute %s", "_n_assign");
19837 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3544);
19838 nit_exit(1);
19839 }
19840 fra.me.REG[0] = ATTR_parser_nodes___AAssignMethid____n_assign(fra.me.REG[0]);
19841 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
19842 stack_frame_head = fra.me.prev;
19843 return;
19844 }
19845 void parser_prod___AAssignMethid___empty_init(val_t p0, int* init_table){
19846 int itpos85 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AAssignMethid].i;
19847 struct {struct stack_frame_t me;} fra;
19848 val_t tmp;
19849 if (init_table[itpos85]) return;
19850 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19851 fra.me.file = LOCATE_parser_prod;
19852 fra.me.line = 3497;
19853 fra.me.meth = LOCATE_parser_prod___AAssignMethid___empty_init;
19854 fra.me.has_broke = 0;
19855 fra.me.REG_size = 1;
19856 fra.me.REG[0] = NIT_NULL;
19857 fra.me.REG[0] = p0;
19858 /* ./parser//parser_prod.nit:3497 */
19859 stack_frame_head = fra.me.prev;
19860 init_table[itpos85] = 1;
19861 return;
19862 }
19863 void parser_prod___AAssignMethid___init_aassignmethid(val_t p0, val_t p1, val_t p2, int* init_table){
19864 int itpos86 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AAssignMethid].i;
19865 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
19866 val_t REGB0;
19867 val_t tmp;
19868 if (init_table[itpos86]) return;
19869 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19870 fra.me.file = LOCATE_parser_prod;
19871 fra.me.line = 3499;
19872 fra.me.meth = LOCATE_parser_prod___AAssignMethid___init_aassignmethid;
19873 fra.me.has_broke = 0;
19874 fra.me.REG_size = 3;
19875 fra.me.REG[0] = NIT_NULL;
19876 fra.me.REG[1] = NIT_NULL;
19877 fra.me.REG[2] = NIT_NULL;
19878 fra.me.REG[0] = p0;
19879 fra.me.REG[1] = p1;
19880 fra.me.REG[2] = p2;
19881 /* ./parser//parser_prod.nit:3504 */
19882 CALL_parser_prod___AAssignMethid___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
19883 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
19884 /* ./parser//parser_prod.nit:3505 */
19885 if (UNTAG_Bool(REGB0)) {
19886 } else {
19887 fprintf(stderr, "Cast failed");
19888 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3505);
19889 nit_exit(1);
19890 }
19891 ATTR_parser_nodes___AAssignMethid____n_id(fra.me.REG[0]) = fra.me.REG[1];
19892 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
19893 /* ./parser//parser_prod.nit:3506 */
19894 if (UNTAG_Bool(REGB0)) {
19895 fprintf(stderr, "Reciever is null");
19896 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3506);
19897 nit_exit(1);
19898 }
19899 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
19900 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
19901 /* ./parser//parser_prod.nit:3507 */
19902 if (UNTAG_Bool(REGB0)) {
19903 } else {
19904 fprintf(stderr, "Cast failed");
19905 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3507);
19906 nit_exit(1);
19907 }
19908 ATTR_parser_nodes___AAssignMethid____n_assign(fra.me.REG[0]) = fra.me.REG[2];
19909 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
19910 /* ./parser//parser_prod.nit:3508 */
19911 if (UNTAG_Bool(REGB0)) {
19912 fprintf(stderr, "Reciever is null");
19913 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3508);
19914 nit_exit(1);
19915 }
19916 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
19917 stack_frame_head = fra.me.prev;
19918 init_table[itpos86] = 1;
19919 return;
19920 }
19921 void parser_prod___ABraassignMethid___n_obra__eq(val_t p0, val_t p1){
19922 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
19923 val_t tmp;
19924 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19925 fra.me.file = LOCATE_parser_prod;
19926 fra.me.line = 3548;
19927 fra.me.meth = LOCATE_parser_prod___ABraassignMethid___n_obra__eq;
19928 fra.me.has_broke = 0;
19929 fra.me.REG_size = 2;
19930 fra.me.REG[0] = NIT_NULL;
19931 fra.me.REG[1] = NIT_NULL;
19932 fra.me.REG[0] = p0;
19933 fra.me.REG[1] = p1;
19934 /* ./parser//parser_prod.nit:3550 */
19935 ATTR_parser_nodes___ABraassignMethid____n_obra(fra.me.REG[0]) = fra.me.REG[1];
19936 /* ./parser//parser_prod.nit:3551 */
19937 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
19938 stack_frame_head = fra.me.prev;
19939 return;
19940 }
19941 void parser_prod___ABraassignMethid___n_cbra__eq(val_t p0, val_t p1){
19942 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
19943 val_t tmp;
19944 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19945 fra.me.file = LOCATE_parser_prod;
19946 fra.me.line = 3553;
19947 fra.me.meth = LOCATE_parser_prod___ABraassignMethid___n_cbra__eq;
19948 fra.me.has_broke = 0;
19949 fra.me.REG_size = 2;
19950 fra.me.REG[0] = NIT_NULL;
19951 fra.me.REG[1] = NIT_NULL;
19952 fra.me.REG[0] = p0;
19953 fra.me.REG[1] = p1;
19954 /* ./parser//parser_prod.nit:3555 */
19955 ATTR_parser_nodes___ABraassignMethid____n_cbra(fra.me.REG[0]) = fra.me.REG[1];
19956 /* ./parser//parser_prod.nit:3556 */
19957 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
19958 stack_frame_head = fra.me.prev;
19959 return;
19960 }
19961 void parser_prod___ABraassignMethid___n_assign__eq(val_t p0, val_t p1){
19962 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
19963 val_t tmp;
19964 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19965 fra.me.file = LOCATE_parser_prod;
19966 fra.me.line = 3558;
19967 fra.me.meth = LOCATE_parser_prod___ABraassignMethid___n_assign__eq;
19968 fra.me.has_broke = 0;
19969 fra.me.REG_size = 2;
19970 fra.me.REG[0] = NIT_NULL;
19971 fra.me.REG[1] = NIT_NULL;
19972 fra.me.REG[0] = p0;
19973 fra.me.REG[1] = p1;
19974 /* ./parser//parser_prod.nit:3560 */
19975 ATTR_parser_nodes___ABraassignMethid____n_assign(fra.me.REG[0]) = fra.me.REG[1];
19976 /* ./parser//parser_prod.nit:3561 */
19977 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
19978 stack_frame_head = fra.me.prev;
19979 return;
19980 }
19981 void parser_prod___ABraassignMethid___replace_child(val_t p0, val_t p1, val_t p2){
19982 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
19983 val_t REGB0;
19984 val_t REGB1;
19985 val_t tmp;
19986 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
19987 fra.me.file = LOCATE_parser_prod;
19988 fra.me.line = 3581;
19989 fra.me.meth = LOCATE_parser_prod___ABraassignMethid___replace_child;
19990 fra.me.has_broke = 0;
19991 fra.me.REG_size = 4;
19992 fra.me.REG[0] = NIT_NULL;
19993 fra.me.REG[1] = NIT_NULL;
19994 fra.me.REG[2] = NIT_NULL;
19995 fra.me.REG[3] = NIT_NULL;
19996 fra.me.REG[0] = p0;
19997 fra.me.REG[1] = p1;
19998 fra.me.REG[2] = p2;
19999 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraassignMethid____n_obra(fra.me.REG[0])!=NIT_NULL);
20000 /* ./parser//parser_prod.nit:3583 */
20001 if (UNTAG_Bool(REGB0)) {
20002 } else {
20003 fprintf(stderr, "Uninitialized attribute %s", "_n_obra");
20004 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3583);
20005 nit_exit(1);
20006 }
20007 fra.me.REG[3] = ATTR_parser_nodes___ABraassignMethid____n_obra(fra.me.REG[0]);
20008 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
20009 if (UNTAG_Bool(REGB0)) {
20010 } else {
20011 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
20012 REGB0 = REGB1;
20013 }
20014 if (UNTAG_Bool(REGB0)) {
20015 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
20016 /* ./parser//parser_prod.nit:3584 */
20017 if (UNTAG_Bool(REGB0)) {
20018 } else {
20019 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
20020 if (UNTAG_Bool(REGB1)) {
20021 REGB1 = TAG_Bool(false);
20022 REGB0 = REGB1;
20023 } else {
20024 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
20025 REGB0 = REGB1;
20026 }
20027 }
20028 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
20029 if (UNTAG_Bool(REGB0)) {
20030 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
20031 /* ./parser//parser_prod.nit:3585 */
20032 if (UNTAG_Bool(REGB0)) {
20033 fprintf(stderr, "Reciever is null");
20034 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3585);
20035 nit_exit(1);
20036 }
20037 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
20038 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TObra, ID_TObra)) /*cast TObra*/;
20039 /* ./parser//parser_prod.nit:3586 */
20040 if (UNTAG_Bool(REGB0)) {
20041 } else {
20042 fprintf(stderr, "Assert failed");
20043 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3586);
20044 nit_exit(1);
20045 }
20046 /* ./parser//parser_prod.nit:3587 */
20047 ATTR_parser_nodes___ABraassignMethid____n_obra(fra.me.REG[0]) = fra.me.REG[2];
20048 } else {
20049 /* ./parser//parser_prod.nit:3589 */
20050 fprintf(stderr, "Aborted");
20051 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3589);
20052 nit_exit(1);
20053 }
20054 /* ./parser//parser_prod.nit:3591 */
20055 goto label1;
20056 }
20057 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraassignMethid____n_cbra(fra.me.REG[0])!=NIT_NULL);
20058 /* ./parser//parser_prod.nit:3593 */
20059 if (UNTAG_Bool(REGB0)) {
20060 } else {
20061 fprintf(stderr, "Uninitialized attribute %s", "_n_cbra");
20062 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3593);
20063 nit_exit(1);
20064 }
20065 fra.me.REG[3] = ATTR_parser_nodes___ABraassignMethid____n_cbra(fra.me.REG[0]);
20066 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
20067 if (UNTAG_Bool(REGB0)) {
20068 } else {
20069 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
20070 REGB0 = REGB1;
20071 }
20072 if (UNTAG_Bool(REGB0)) {
20073 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
20074 /* ./parser//parser_prod.nit:3594 */
20075 if (UNTAG_Bool(REGB0)) {
20076 } else {
20077 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
20078 if (UNTAG_Bool(REGB1)) {
20079 REGB1 = TAG_Bool(false);
20080 REGB0 = REGB1;
20081 } else {
20082 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
20083 REGB0 = REGB1;
20084 }
20085 }
20086 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
20087 if (UNTAG_Bool(REGB0)) {
20088 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
20089 /* ./parser//parser_prod.nit:3595 */
20090 if (UNTAG_Bool(REGB0)) {
20091 fprintf(stderr, "Reciever is null");
20092 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3595);
20093 nit_exit(1);
20094 }
20095 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
20096 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TCbra, ID_TCbra)) /*cast TCbra*/;
20097 /* ./parser//parser_prod.nit:3596 */
20098 if (UNTAG_Bool(REGB0)) {
20099 } else {
20100 fprintf(stderr, "Assert failed");
20101 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3596);
20102 nit_exit(1);
20103 }
20104 /* ./parser//parser_prod.nit:3597 */
20105 ATTR_parser_nodes___ABraassignMethid____n_cbra(fra.me.REG[0]) = fra.me.REG[2];
20106 } else {
20107 /* ./parser//parser_prod.nit:3599 */
20108 fprintf(stderr, "Aborted");
20109 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3599);
20110 nit_exit(1);
20111 }
20112 /* ./parser//parser_prod.nit:3601 */
20113 goto label1;
20114 }
20115 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraassignMethid____n_assign(fra.me.REG[0])!=NIT_NULL);
20116 /* ./parser//parser_prod.nit:3603 */
20117 if (UNTAG_Bool(REGB0)) {
20118 } else {
20119 fprintf(stderr, "Uninitialized attribute %s", "_n_assign");
20120 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3603);
20121 nit_exit(1);
20122 }
20123 fra.me.REG[3] = ATTR_parser_nodes___ABraassignMethid____n_assign(fra.me.REG[0]);
20124 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
20125 if (UNTAG_Bool(REGB0)) {
20126 } else {
20127 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
20128 REGB0 = REGB1;
20129 }
20130 if (UNTAG_Bool(REGB0)) {
20131 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
20132 /* ./parser//parser_prod.nit:3604 */
20133 if (UNTAG_Bool(REGB0)) {
20134 } else {
20135 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
20136 if (UNTAG_Bool(REGB1)) {
20137 REGB1 = TAG_Bool(false);
20138 REGB0 = REGB1;
20139 } else {
20140 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
20141 REGB0 = REGB1;
20142 }
20143 }
20144 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
20145 if (UNTAG_Bool(REGB0)) {
20146 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
20147 /* ./parser//parser_prod.nit:3605 */
20148 if (UNTAG_Bool(REGB0)) {
20149 fprintf(stderr, "Reciever is null");
20150 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3605);
20151 nit_exit(1);
20152 }
20153 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
20154 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
20155 /* ./parser//parser_prod.nit:3606 */
20156 if (UNTAG_Bool(REGB0)) {
20157 } else {
20158 fprintf(stderr, "Assert failed");
20159 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3606);
20160 nit_exit(1);
20161 }
20162 /* ./parser//parser_prod.nit:3607 */
20163 ATTR_parser_nodes___ABraassignMethid____n_assign(fra.me.REG[0]) = fra.me.REG[2];
20164 } else {
20165 /* ./parser//parser_prod.nit:3609 */
20166 fprintf(stderr, "Aborted");
20167 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3609);
20168 nit_exit(1);
20169 }
20170 /* ./parser//parser_prod.nit:3611 */
20171 goto label1;
20172 }
20173 label1: while(0);
20174 stack_frame_head = fra.me.prev;
20175 return;
20176 }
20177 void parser_prod___ABraassignMethid___visit_all(val_t p0, val_t p1){
20178 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
20179 val_t REGB0;
20180 val_t tmp;
20181 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20182 fra.me.file = LOCATE_parser_prod;
20183 fra.me.line = 3615;
20184 fra.me.meth = LOCATE_parser_prod___ABraassignMethid___visit_all;
20185 fra.me.has_broke = 0;
20186 fra.me.REG_size = 3;
20187 fra.me.REG[0] = NIT_NULL;
20188 fra.me.REG[1] = NIT_NULL;
20189 fra.me.REG[2] = NIT_NULL;
20190 fra.me.REG[0] = p0;
20191 fra.me.REG[1] = p1;
20192 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraassignMethid____n_obra(fra.me.REG[0])!=NIT_NULL);
20193 /* ./parser//parser_prod.nit:3617 */
20194 if (UNTAG_Bool(REGB0)) {
20195 } else {
20196 fprintf(stderr, "Uninitialized attribute %s", "_n_obra");
20197 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3617);
20198 nit_exit(1);
20199 }
20200 fra.me.REG[2] = ATTR_parser_nodes___ABraassignMethid____n_obra(fra.me.REG[0]);
20201 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
20202 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraassignMethid____n_cbra(fra.me.REG[0])!=NIT_NULL);
20203 /* ./parser//parser_prod.nit:3618 */
20204 if (UNTAG_Bool(REGB0)) {
20205 } else {
20206 fprintf(stderr, "Uninitialized attribute %s", "_n_cbra");
20207 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3618);
20208 nit_exit(1);
20209 }
20210 fra.me.REG[2] = ATTR_parser_nodes___ABraassignMethid____n_cbra(fra.me.REG[0]);
20211 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
20212 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraassignMethid____n_assign(fra.me.REG[0])!=NIT_NULL);
20213 /* ./parser//parser_prod.nit:3619 */
20214 if (UNTAG_Bool(REGB0)) {
20215 } else {
20216 fprintf(stderr, "Uninitialized attribute %s", "_n_assign");
20217 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3619);
20218 nit_exit(1);
20219 }
20220 fra.me.REG[0] = ATTR_parser_nodes___ABraassignMethid____n_assign(fra.me.REG[0]);
20221 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
20222 stack_frame_head = fra.me.prev;
20223 return;
20224 }
20225 void parser_prod___ABraassignMethid___visit_all_reverse(val_t p0, val_t p1){
20226 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
20227 val_t REGB0;
20228 val_t tmp;
20229 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20230 fra.me.file = LOCATE_parser_prod;
20231 fra.me.line = 3622;
20232 fra.me.meth = LOCATE_parser_prod___ABraassignMethid___visit_all_reverse;
20233 fra.me.has_broke = 0;
20234 fra.me.REG_size = 3;
20235 fra.me.REG[0] = NIT_NULL;
20236 fra.me.REG[1] = NIT_NULL;
20237 fra.me.REG[2] = NIT_NULL;
20238 fra.me.REG[0] = p0;
20239 fra.me.REG[1] = p1;
20240 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraassignMethid____n_obra(fra.me.REG[0])!=NIT_NULL);
20241 /* ./parser//parser_prod.nit:3624 */
20242 if (UNTAG_Bool(REGB0)) {
20243 } else {
20244 fprintf(stderr, "Uninitialized attribute %s", "_n_obra");
20245 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3624);
20246 nit_exit(1);
20247 }
20248 fra.me.REG[2] = ATTR_parser_nodes___ABraassignMethid____n_obra(fra.me.REG[0]);
20249 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
20250 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraassignMethid____n_cbra(fra.me.REG[0])!=NIT_NULL);
20251 /* ./parser//parser_prod.nit:3625 */
20252 if (UNTAG_Bool(REGB0)) {
20253 } else {
20254 fprintf(stderr, "Uninitialized attribute %s", "_n_cbra");
20255 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3625);
20256 nit_exit(1);
20257 }
20258 fra.me.REG[2] = ATTR_parser_nodes___ABraassignMethid____n_cbra(fra.me.REG[0]);
20259 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
20260 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraassignMethid____n_assign(fra.me.REG[0])!=NIT_NULL);
20261 /* ./parser//parser_prod.nit:3626 */
20262 if (UNTAG_Bool(REGB0)) {
20263 } else {
20264 fprintf(stderr, "Uninitialized attribute %s", "_n_assign");
20265 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3626);
20266 nit_exit(1);
20267 }
20268 fra.me.REG[0] = ATTR_parser_nodes___ABraassignMethid____n_assign(fra.me.REG[0]);
20269 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
20270 stack_frame_head = fra.me.prev;
20271 return;
20272 }
20273 void parser_prod___ABraassignMethid___empty_init(val_t p0, int* init_table){
20274 int itpos87 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ABraassignMethid].i;
20275 struct {struct stack_frame_t me;} fra;
20276 val_t tmp;
20277 if (init_table[itpos87]) return;
20278 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20279 fra.me.file = LOCATE_parser_prod;
20280 fra.me.line = 3564;
20281 fra.me.meth = LOCATE_parser_prod___ABraassignMethid___empty_init;
20282 fra.me.has_broke = 0;
20283 fra.me.REG_size = 1;
20284 fra.me.REG[0] = NIT_NULL;
20285 fra.me.REG[0] = p0;
20286 /* ./parser//parser_prod.nit:3564 */
20287 stack_frame_head = fra.me.prev;
20288 init_table[itpos87] = 1;
20289 return;
20290 }
20291 void parser_prod___ABraassignMethid___init_abraassignmethid(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
20292 int itpos88 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ABraassignMethid].i;
20293 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
20294 val_t REGB0;
20295 val_t tmp;
20296 if (init_table[itpos88]) return;
20297 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20298 fra.me.file = LOCATE_parser_prod;
20299 fra.me.line = 3566;
20300 fra.me.meth = LOCATE_parser_prod___ABraassignMethid___init_abraassignmethid;
20301 fra.me.has_broke = 0;
20302 fra.me.REG_size = 4;
20303 fra.me.REG[0] = NIT_NULL;
20304 fra.me.REG[1] = NIT_NULL;
20305 fra.me.REG[2] = NIT_NULL;
20306 fra.me.REG[3] = NIT_NULL;
20307 fra.me.REG[0] = p0;
20308 fra.me.REG[1] = p1;
20309 fra.me.REG[2] = p2;
20310 fra.me.REG[3] = p3;
20311 /* ./parser//parser_prod.nit:3572 */
20312 CALL_parser_prod___ABraassignMethid___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
20313 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
20314 /* ./parser//parser_prod.nit:3573 */
20315 if (UNTAG_Bool(REGB0)) {
20316 } else {
20317 fprintf(stderr, "Cast failed");
20318 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3573);
20319 nit_exit(1);
20320 }
20321 ATTR_parser_nodes___ABraassignMethid____n_obra(fra.me.REG[0]) = fra.me.REG[1];
20322 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
20323 /* ./parser//parser_prod.nit:3574 */
20324 if (UNTAG_Bool(REGB0)) {
20325 fprintf(stderr, "Reciever is null");
20326 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3574);
20327 nit_exit(1);
20328 }
20329 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
20330 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
20331 /* ./parser//parser_prod.nit:3575 */
20332 if (UNTAG_Bool(REGB0)) {
20333 } else {
20334 fprintf(stderr, "Cast failed");
20335 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3575);
20336 nit_exit(1);
20337 }
20338 ATTR_parser_nodes___ABraassignMethid____n_cbra(fra.me.REG[0]) = fra.me.REG[2];
20339 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
20340 /* ./parser//parser_prod.nit:3576 */
20341 if (UNTAG_Bool(REGB0)) {
20342 fprintf(stderr, "Reciever is null");
20343 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3576);
20344 nit_exit(1);
20345 }
20346 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
20347 REGB0 = TAG_Bool(fra.me.REG[3]!=NIT_NULL);
20348 /* ./parser//parser_prod.nit:3577 */
20349 if (UNTAG_Bool(REGB0)) {
20350 } else {
20351 fprintf(stderr, "Cast failed");
20352 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3577);
20353 nit_exit(1);
20354 }
20355 ATTR_parser_nodes___ABraassignMethid____n_assign(fra.me.REG[0]) = fra.me.REG[3];
20356 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
20357 /* ./parser//parser_prod.nit:3578 */
20358 if (UNTAG_Bool(REGB0)) {
20359 fprintf(stderr, "Reciever is null");
20360 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3578);
20361 nit_exit(1);
20362 }
20363 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
20364 stack_frame_head = fra.me.prev;
20365 init_table[itpos88] = 1;
20366 return;
20367 }
20368 void parser_prod___ASignature___n_type__eq(val_t p0, val_t p1){
20369 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
20370 val_t REGB0;
20371 val_t REGB1;
20372 val_t tmp;
20373 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20374 fra.me.file = LOCATE_parser_prod;
20375 fra.me.line = 3630;
20376 fra.me.meth = LOCATE_parser_prod___ASignature___n_type__eq;
20377 fra.me.has_broke = 0;
20378 fra.me.REG_size = 2;
20379 fra.me.REG[0] = NIT_NULL;
20380 fra.me.REG[1] = NIT_NULL;
20381 fra.me.REG[0] = p0;
20382 fra.me.REG[1] = p1;
20383 /* ./parser//parser_prod.nit:3632 */
20384 ATTR_parser_nodes___ASignature____n_type(fra.me.REG[0]) = fra.me.REG[1];
20385 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
20386 /* ./parser//parser_prod.nit:3633 */
20387 if (UNTAG_Bool(REGB0)) {
20388 } else {
20389 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
20390 if (UNTAG_Bool(REGB1)) {
20391 REGB1 = TAG_Bool(false);
20392 REGB0 = REGB1;
20393 } else {
20394 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
20395 REGB0 = REGB1;
20396 }
20397 }
20398 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
20399 if (UNTAG_Bool(REGB0)) {
20400 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
20401 /* ./parser//parser_prod.nit:3634 */
20402 if (UNTAG_Bool(REGB0)) {
20403 fprintf(stderr, "Reciever is null");
20404 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3634);
20405 nit_exit(1);
20406 }
20407 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
20408 }
20409 stack_frame_head = fra.me.prev;
20410 return;
20411 }
20412 void parser_prod___ASignature___replace_child(val_t p0, val_t p1, val_t p2){
20413 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
20414 val_t REGB0;
20415 val_t REGB1;
20416 val_t REGB2;
20417 val_t tmp;
20418 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20419 fra.me.file = LOCATE_parser_prod;
20420 fra.me.line = 3663;
20421 fra.me.meth = LOCATE_parser_prod___ASignature___replace_child;
20422 fra.me.has_broke = 0;
20423 fra.me.REG_size = 5;
20424 fra.me.REG[0] = NIT_NULL;
20425 fra.me.REG[1] = NIT_NULL;
20426 fra.me.REG[2] = NIT_NULL;
20427 fra.me.REG[3] = NIT_NULL;
20428 fra.me.REG[4] = NIT_NULL;
20429 fra.me.REG[0] = p0;
20430 fra.me.REG[1] = p1;
20431 fra.me.REG[2] = p2;
20432 REGB0 = TAG_Int(0);
20433 REGB1 = TAG_Bool(ATTR_parser_nodes___ASignature____n_params(fra.me.REG[0])!=NIT_NULL);
20434 /* ./parser//parser_prod.nit:3665 */
20435 if (UNTAG_Bool(REGB1)) {
20436 } else {
20437 fprintf(stderr, "Uninitialized attribute %s", "_n_params");
20438 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3665);
20439 nit_exit(1);
20440 }
20441 fra.me.REG[3] = ATTR_parser_nodes___ASignature____n_params(fra.me.REG[0]);
20442 REGB1 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
20443 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB0, REGB1);
20444 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
20445 while(1) {
20446 REGB1 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
20447 if (UNTAG_Bool(REGB1)) {
20448 REGB1 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
20449 REGB0 = TAG_Bool(ATTR_parser_nodes___ASignature____n_params(fra.me.REG[0])!=NIT_NULL);
20450 /* ./parser//parser_prod.nit:3666 */
20451 if (UNTAG_Bool(REGB0)) {
20452 } else {
20453 fprintf(stderr, "Uninitialized attribute %s", "_n_params");
20454 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3666);
20455 nit_exit(1);
20456 }
20457 fra.me.REG[4] = ATTR_parser_nodes___ASignature____n_params(fra.me.REG[0]);
20458 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB1);
20459 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[4]));
20460 if (UNTAG_Bool(REGB0)) {
20461 } else {
20462 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
20463 if (UNTAG_Bool(REGB2)) {
20464 REGB2 = TAG_Bool(false);
20465 REGB0 = REGB2;
20466 } else {
20467 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
20468 REGB0 = REGB2;
20469 }
20470 }
20471 if (UNTAG_Bool(REGB0)) {
20472 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
20473 /* ./parser//parser_prod.nit:3667 */
20474 if (UNTAG_Bool(REGB0)) {
20475 } else {
20476 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
20477 if (UNTAG_Bool(REGB2)) {
20478 REGB2 = TAG_Bool(false);
20479 REGB0 = REGB2;
20480 } else {
20481 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
20482 REGB0 = REGB2;
20483 }
20484 }
20485 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
20486 if (UNTAG_Bool(REGB0)) {
20487 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AParam, ID_AParam)) /*cast AParam*/;
20488 /* ./parser//parser_prod.nit:3668 */
20489 if (UNTAG_Bool(REGB0)) {
20490 } else {
20491 fprintf(stderr, "Assert failed");
20492 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3668);
20493 nit_exit(1);
20494 }
20495 REGB0 = TAG_Bool(ATTR_parser_nodes___ASignature____n_params(fra.me.REG[0])!=NIT_NULL);
20496 /* ./parser//parser_prod.nit:3669 */
20497 if (UNTAG_Bool(REGB0)) {
20498 } else {
20499 fprintf(stderr, "Uninitialized attribute %s", "_n_params");
20500 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3669);
20501 nit_exit(1);
20502 }
20503 fra.me.REG[4] = ATTR_parser_nodes___ASignature____n_params(fra.me.REG[0]);
20504 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], REGB1, fra.me.REG[2]);
20505 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
20506 /* ./parser//parser_prod.nit:3670 */
20507 if (UNTAG_Bool(REGB0)) {
20508 fprintf(stderr, "Reciever is null");
20509 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3670);
20510 nit_exit(1);
20511 }
20512 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
20513 } else {
20514 REGB0 = TAG_Bool(ATTR_parser_nodes___ASignature____n_params(fra.me.REG[0])!=NIT_NULL);
20515 /* ./parser//parser_prod.nit:3672 */
20516 if (UNTAG_Bool(REGB0)) {
20517 } else {
20518 fprintf(stderr, "Uninitialized attribute %s", "_n_params");
20519 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3672);
20520 nit_exit(1);
20521 }
20522 fra.me.REG[4] = ATTR_parser_nodes___ASignature____n_params(fra.me.REG[0]);
20523 CALL_abstract_collection___Map___remove_at(fra.me.REG[4])(fra.me.REG[4], REGB1);
20524 }
20525 /* ./parser//parser_prod.nit:3674 */
20526 goto label1;
20527 }
20528 } else {
20529 /* ./parser//parser_prod.nit:3665 */
20530 goto label2;
20531 }
20532 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
20533 }
20534 label2: while(0);
20535 fra.me.REG[3] = ATTR_parser_nodes___ASignature____n_type(fra.me.REG[0]);
20536 REGB1 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
20537 /* ./parser//parser_prod.nit:3677 */
20538 if (UNTAG_Bool(REGB1)) {
20539 } else {
20540 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
20541 if (UNTAG_Bool(REGB0)) {
20542 REGB0 = TAG_Bool(false);
20543 REGB1 = REGB0;
20544 } else {
20545 REGB0 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
20546 REGB1 = REGB0;
20547 }
20548 }
20549 if (UNTAG_Bool(REGB1)) {
20550 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
20551 /* ./parser//parser_prod.nit:3678 */
20552 if (UNTAG_Bool(REGB1)) {
20553 } else {
20554 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
20555 if (UNTAG_Bool(REGB0)) {
20556 REGB0 = TAG_Bool(false);
20557 REGB1 = REGB0;
20558 } else {
20559 REGB0 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
20560 REGB1 = REGB0;
20561 }
20562 }
20563 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
20564 if (UNTAG_Bool(REGB1)) {
20565 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
20566 /* ./parser//parser_prod.nit:3679 */
20567 if (UNTAG_Bool(REGB1)) {
20568 fprintf(stderr, "Reciever is null");
20569 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3679);
20570 nit_exit(1);
20571 }
20572 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
20573 REGB1 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast AType*/;
20574 /* ./parser//parser_prod.nit:3680 */
20575 if (UNTAG_Bool(REGB1)) {
20576 } else {
20577 fprintf(stderr, "Assert failed");
20578 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3680);
20579 nit_exit(1);
20580 }
20581 /* ./parser//parser_prod.nit:3681 */
20582 ATTR_parser_nodes___ASignature____n_type(fra.me.REG[0]) = fra.me.REG[2];
20583 } else {
20584 /* ./parser//parser_prod.nit:3683 */
20585 ATTR_parser_nodes___ASignature____n_type(fra.me.REG[0]) = NIT_NULL;
20586 }
20587 /* ./parser//parser_prod.nit:3685 */
20588 goto label1;
20589 }
20590 REGB1 = TAG_Int(0);
20591 REGB0 = TAG_Bool(ATTR_parser_nodes___ASignature____n_closure_decls(fra.me.REG[0])!=NIT_NULL);
20592 /* ./parser//parser_prod.nit:3687 */
20593 if (UNTAG_Bool(REGB0)) {
20594 } else {
20595 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_decls");
20596 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3687);
20597 nit_exit(1);
20598 }
20599 fra.me.REG[3] = ATTR_parser_nodes___ASignature____n_closure_decls(fra.me.REG[0]);
20600 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
20601 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB1, REGB0);
20602 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
20603 while(1) {
20604 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
20605 if (UNTAG_Bool(REGB0)) {
20606 REGB0 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
20607 REGB1 = TAG_Bool(ATTR_parser_nodes___ASignature____n_closure_decls(fra.me.REG[0])!=NIT_NULL);
20608 /* ./parser//parser_prod.nit:3688 */
20609 if (UNTAG_Bool(REGB1)) {
20610 } else {
20611 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_decls");
20612 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3688);
20613 nit_exit(1);
20614 }
20615 fra.me.REG[4] = ATTR_parser_nodes___ASignature____n_closure_decls(fra.me.REG[0]);
20616 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB0);
20617 REGB1 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[4]));
20618 if (UNTAG_Bool(REGB1)) {
20619 } else {
20620 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
20621 if (UNTAG_Bool(REGB2)) {
20622 REGB2 = TAG_Bool(false);
20623 REGB1 = REGB2;
20624 } else {
20625 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
20626 REGB1 = REGB2;
20627 }
20628 }
20629 if (UNTAG_Bool(REGB1)) {
20630 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
20631 /* ./parser//parser_prod.nit:3689 */
20632 if (UNTAG_Bool(REGB1)) {
20633 } else {
20634 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
20635 if (UNTAG_Bool(REGB2)) {
20636 REGB2 = TAG_Bool(false);
20637 REGB1 = REGB2;
20638 } else {
20639 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
20640 REGB1 = REGB2;
20641 }
20642 }
20643 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
20644 if (UNTAG_Bool(REGB1)) {
20645 REGB1 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AClosureDecl, ID_AClosureDecl)) /*cast AClosureDecl*/;
20646 /* ./parser//parser_prod.nit:3690 */
20647 if (UNTAG_Bool(REGB1)) {
20648 } else {
20649 fprintf(stderr, "Assert failed");
20650 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3690);
20651 nit_exit(1);
20652 }
20653 REGB1 = TAG_Bool(ATTR_parser_nodes___ASignature____n_closure_decls(fra.me.REG[0])!=NIT_NULL);
20654 /* ./parser//parser_prod.nit:3691 */
20655 if (UNTAG_Bool(REGB1)) {
20656 } else {
20657 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_decls");
20658 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3691);
20659 nit_exit(1);
20660 }
20661 fra.me.REG[4] = ATTR_parser_nodes___ASignature____n_closure_decls(fra.me.REG[0]);
20662 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], REGB0, fra.me.REG[2]);
20663 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
20664 /* ./parser//parser_prod.nit:3692 */
20665 if (UNTAG_Bool(REGB1)) {
20666 fprintf(stderr, "Reciever is null");
20667 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3692);
20668 nit_exit(1);
20669 }
20670 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
20671 } else {
20672 REGB1 = TAG_Bool(ATTR_parser_nodes___ASignature____n_closure_decls(fra.me.REG[0])!=NIT_NULL);
20673 /* ./parser//parser_prod.nit:3694 */
20674 if (UNTAG_Bool(REGB1)) {
20675 } else {
20676 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_decls");
20677 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3694);
20678 nit_exit(1);
20679 }
20680 fra.me.REG[4] = ATTR_parser_nodes___ASignature____n_closure_decls(fra.me.REG[0]);
20681 CALL_abstract_collection___Map___remove_at(fra.me.REG[4])(fra.me.REG[4], REGB0);
20682 }
20683 /* ./parser//parser_prod.nit:3696 */
20684 goto label1;
20685 }
20686 } else {
20687 /* ./parser//parser_prod.nit:3687 */
20688 goto label3;
20689 }
20690 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
20691 }
20692 label3: while(0);
20693 label1: while(0);
20694 stack_frame_head = fra.me.prev;
20695 return;
20696 }
20697 void parser_prod___ASignature___visit_all(val_t p0, val_t p1){
20698 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
20699 val_t REGB0;
20700 val_t REGB1;
20701 val_t tmp;
20702 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20703 fra.me.file = LOCATE_parser_prod;
20704 fra.me.line = 3701;
20705 fra.me.meth = LOCATE_parser_prod___ASignature___visit_all;
20706 fra.me.has_broke = 0;
20707 fra.me.REG_size = 4;
20708 fra.me.REG[0] = NIT_NULL;
20709 fra.me.REG[1] = NIT_NULL;
20710 fra.me.REG[2] = NIT_NULL;
20711 fra.me.REG[3] = NIT_NULL;
20712 fra.me.REG[0] = p0;
20713 fra.me.REG[1] = p1;
20714 REGB0 = TAG_Bool(ATTR_parser_nodes___ASignature____n_params(fra.me.REG[0])!=NIT_NULL);
20715 /* ./parser//parser_prod.nit:3703 */
20716 if (UNTAG_Bool(REGB0)) {
20717 } else {
20718 fprintf(stderr, "Uninitialized attribute %s", "_n_params");
20719 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3703);
20720 nit_exit(1);
20721 }
20722 fra.me.REG[2] = ATTR_parser_nodes___ASignature____n_params(fra.me.REG[0]);
20723 fra.me.REG[2] = CALL_abstract_collection___Collection___iterator(fra.me.REG[2])(fra.me.REG[2]);
20724 while(1) {
20725 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[2])(fra.me.REG[2]);
20726 if (UNTAG_Bool(REGB0)) {
20727 fra.me.REG[3] = CALL_abstract_collection___Iterator___item(fra.me.REG[2])(fra.me.REG[2]);
20728 /* ./parser//parser_prod.nit:3704 */
20729 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
20730 } else {
20731 /* ./parser//parser_prod.nit:3703 */
20732 goto label1;
20733 }
20734 CALL_abstract_collection___Iterator___next(fra.me.REG[2])(fra.me.REG[2]);
20735 }
20736 label1: while(0);
20737 fra.me.REG[2] = ATTR_parser_nodes___ASignature____n_type(fra.me.REG[0]);
20738 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
20739 /* ./parser//parser_prod.nit:3706 */
20740 if (UNTAG_Bool(REGB0)) {
20741 } else {
20742 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
20743 if (UNTAG_Bool(REGB1)) {
20744 REGB1 = TAG_Bool(false);
20745 REGB0 = REGB1;
20746 } else {
20747 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
20748 REGB0 = REGB1;
20749 }
20750 }
20751 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
20752 if (UNTAG_Bool(REGB0)) {
20753 fra.me.REG[2] = ATTR_parser_nodes___ASignature____n_type(fra.me.REG[0]);
20754 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast AType*/;
20755 /* ./parser//parser_prod.nit:3707 */
20756 if (UNTAG_Bool(REGB0)) {
20757 } else {
20758 fprintf(stderr, "Cast failed");
20759 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3707);
20760 nit_exit(1);
20761 }
20762 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
20763 }
20764 REGB0 = TAG_Bool(ATTR_parser_nodes___ASignature____n_closure_decls(fra.me.REG[0])!=NIT_NULL);
20765 /* ./parser//parser_prod.nit:3709 */
20766 if (UNTAG_Bool(REGB0)) {
20767 } else {
20768 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_decls");
20769 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3709);
20770 nit_exit(1);
20771 }
20772 fra.me.REG[0] = ATTR_parser_nodes___ASignature____n_closure_decls(fra.me.REG[0]);
20773 fra.me.REG[0] = CALL_abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
20774 while(1) {
20775 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
20776 if (UNTAG_Bool(REGB0)) {
20777 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
20778 /* ./parser//parser_prod.nit:3710 */
20779 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
20780 } else {
20781 /* ./parser//parser_prod.nit:3709 */
20782 goto label2;
20783 }
20784 CALL_abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
20785 }
20786 label2: while(0);
20787 stack_frame_head = fra.me.prev;
20788 return;
20789 }
20790 void parser_prod___ASignature___visit_all_reverse(val_t p0, val_t p1){
20791 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
20792 val_t REGB0;
20793 val_t REGB1;
20794 val_t tmp;
20795 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20796 fra.me.file = LOCATE_parser_prod;
20797 fra.me.line = 3714;
20798 fra.me.meth = LOCATE_parser_prod___ASignature___visit_all_reverse;
20799 fra.me.has_broke = 0;
20800 fra.me.REG_size = 3;
20801 fra.me.REG[0] = NIT_NULL;
20802 fra.me.REG[1] = NIT_NULL;
20803 fra.me.REG[2] = NIT_NULL;
20804 fra.me.REG[0] = p0;
20805 fra.me.REG[1] = p1;
20806 REGB0 = TAG_Bool(ATTR_parser_nodes___ASignature____n_params(fra.me.REG[0])!=NIT_NULL);
20807 /* ./parser//parser_prod.nit:3717 */
20808 if (UNTAG_Bool(REGB0)) {
20809 } else {
20810 fprintf(stderr, "Uninitialized attribute %s", "_n_params");
20811 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3717);
20812 nit_exit(1);
20813 }
20814 fra.me.REG[2] = ATTR_parser_nodes___ASignature____n_params(fra.me.REG[0]);
20815 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
20816 /* ./parser//parser_prod.nit:3718 */
20817 while(1) {
20818 REGB1 = TAG_Int(0);
20819 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
20820 /* ./parser//parser_prod.nit:3718 */
20821 if (UNTAG_Bool(REGB1)) {
20822 REGB1 = TAG_Bool(ATTR_parser_nodes___ASignature____n_params(fra.me.REG[0])!=NIT_NULL);
20823 /* ./parser//parser_prod.nit:3719 */
20824 if (UNTAG_Bool(REGB1)) {
20825 } else {
20826 fprintf(stderr, "Uninitialized attribute %s", "_n_params");
20827 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3719);
20828 nit_exit(1);
20829 }
20830 fra.me.REG[2] = ATTR_parser_nodes___ASignature____n_params(fra.me.REG[0]);
20831 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
20832 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
20833 REGB1 = TAG_Int(1);
20834 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
20835 REGB0 = REGB1;
20836 /* ./parser//parser_prod.nit:3720 */
20837 } else {
20838 /* ./parser//parser_prod.nit:3718 */
20839 goto label1;
20840 }
20841 }
20842 label1: while(0);
20843 fra.me.REG[2] = ATTR_parser_nodes___ASignature____n_type(fra.me.REG[0]);
20844 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
20845 /* ./parser//parser_prod.nit:3723 */
20846 if (UNTAG_Bool(REGB0)) {
20847 } else {
20848 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
20849 if (UNTAG_Bool(REGB1)) {
20850 REGB1 = TAG_Bool(false);
20851 REGB0 = REGB1;
20852 } else {
20853 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
20854 REGB0 = REGB1;
20855 }
20856 }
20857 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
20858 if (UNTAG_Bool(REGB0)) {
20859 fra.me.REG[2] = ATTR_parser_nodes___ASignature____n_type(fra.me.REG[0]);
20860 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast AType*/;
20861 /* ./parser//parser_prod.nit:3724 */
20862 if (UNTAG_Bool(REGB0)) {
20863 } else {
20864 fprintf(stderr, "Cast failed");
20865 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3724);
20866 nit_exit(1);
20867 }
20868 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
20869 }
20870 REGB0 = TAG_Bool(ATTR_parser_nodes___ASignature____n_closure_decls(fra.me.REG[0])!=NIT_NULL);
20871 /* ./parser//parser_prod.nit:3727 */
20872 if (UNTAG_Bool(REGB0)) {
20873 } else {
20874 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_decls");
20875 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3727);
20876 nit_exit(1);
20877 }
20878 fra.me.REG[2] = ATTR_parser_nodes___ASignature____n_closure_decls(fra.me.REG[0]);
20879 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
20880 /* ./parser//parser_prod.nit:3728 */
20881 while(1) {
20882 REGB1 = TAG_Int(0);
20883 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
20884 /* ./parser//parser_prod.nit:3728 */
20885 if (UNTAG_Bool(REGB1)) {
20886 REGB1 = TAG_Bool(ATTR_parser_nodes___ASignature____n_closure_decls(fra.me.REG[0])!=NIT_NULL);
20887 /* ./parser//parser_prod.nit:3729 */
20888 if (UNTAG_Bool(REGB1)) {
20889 } else {
20890 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_decls");
20891 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3729);
20892 nit_exit(1);
20893 }
20894 fra.me.REG[2] = ATTR_parser_nodes___ASignature____n_closure_decls(fra.me.REG[0]);
20895 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
20896 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
20897 REGB1 = TAG_Int(1);
20898 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
20899 REGB0 = REGB1;
20900 /* ./parser//parser_prod.nit:3730 */
20901 } else {
20902 /* ./parser//parser_prod.nit:3728 */
20903 goto label2;
20904 }
20905 }
20906 label2: while(0);
20907 stack_frame_head = fra.me.prev;
20908 return;
20909 }
20910 void parser_prod___ASignature___empty_init(val_t p0, int* init_table){
20911 int itpos89 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ASignature].i;
20912 struct {struct stack_frame_t me;} fra;
20913 val_t tmp;
20914 if (init_table[itpos89]) return;
20915 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20916 fra.me.file = LOCATE_parser_prod;
20917 fra.me.line = 3638;
20918 fra.me.meth = LOCATE_parser_prod___ASignature___empty_init;
20919 fra.me.has_broke = 0;
20920 fra.me.REG_size = 1;
20921 fra.me.REG[0] = NIT_NULL;
20922 fra.me.REG[0] = p0;
20923 /* ./parser//parser_prod.nit:3638 */
20924 stack_frame_head = fra.me.prev;
20925 init_table[itpos89] = 1;
20926 return;
20927 }
20928 void parser_prod___ASignature___init_asignature(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
20929 int itpos90 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ASignature].i;
20930 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
20931 val_t REGB0;
20932 val_t REGB1;
20933 val_t tmp;
20934 if (init_table[itpos90]) return;
20935 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
20936 fra.me.file = LOCATE_parser_prod;
20937 fra.me.line = 3640;
20938 fra.me.meth = LOCATE_parser_prod___ASignature___init_asignature;
20939 fra.me.has_broke = 0;
20940 fra.me.REG_size = 6;
20941 fra.me.REG[0] = NIT_NULL;
20942 fra.me.REG[1] = NIT_NULL;
20943 fra.me.REG[2] = NIT_NULL;
20944 fra.me.REG[3] = NIT_NULL;
20945 fra.me.REG[4] = NIT_NULL;
20946 fra.me.REG[5] = NIT_NULL;
20947 fra.me.REG[0] = p0;
20948 fra.me.REG[1] = p1;
20949 fra.me.REG[2] = p2;
20950 fra.me.REG[3] = p3;
20951 /* ./parser//parser_prod.nit:3646 */
20952 CALL_parser_prod___ASignature___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
20953 fra.me.REG[1] = CALL_abstract_collection___Collection___iterator(fra.me.REG[1])(fra.me.REG[1]);
20954 /* ./parser//parser_prod.nit:3647 */
20955 while(1) {
20956 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[1])(fra.me.REG[1]);
20957 if (UNTAG_Bool(REGB0)) {
20958 fra.me.REG[4] = CALL_abstract_collection___Iterator___item(fra.me.REG[1])(fra.me.REG[1]);
20959 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[4], COLOR_AParam, ID_AParam)) /*cast AParam*/;
20960 /* ./parser//parser_prod.nit:3648 */
20961 if (UNTAG_Bool(REGB0)) {
20962 } else {
20963 fprintf(stderr, "Assert failed");
20964 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3648);
20965 nit_exit(1);
20966 }
20967 REGB0 = TAG_Bool(ATTR_parser_nodes___ASignature____n_params(fra.me.REG[0])!=NIT_NULL);
20968 /* ./parser//parser_prod.nit:3649 */
20969 if (UNTAG_Bool(REGB0)) {
20970 } else {
20971 fprintf(stderr, "Uninitialized attribute %s", "_n_params");
20972 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3649);
20973 nit_exit(1);
20974 }
20975 fra.me.REG[5] = ATTR_parser_nodes___ASignature____n_params(fra.me.REG[0]);
20976 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[4]);
20977 /* ./parser//parser_prod.nit:3650 */
20978 CALL_parser_prod___ANode___parent__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
20979 } else {
20980 /* ./parser//parser_prod.nit:3647 */
20981 goto label1;
20982 }
20983 CALL_abstract_collection___Iterator___next(fra.me.REG[1])(fra.me.REG[1]);
20984 }
20985 label1: while(0);
20986 /* ./parser//parser_prod.nit:3652 */
20987 ATTR_parser_nodes___ASignature____n_type(fra.me.REG[0]) = fra.me.REG[2];
20988 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
20989 /* ./parser//parser_prod.nit:3653 */
20990 if (UNTAG_Bool(REGB0)) {
20991 } else {
20992 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
20993 if (UNTAG_Bool(REGB1)) {
20994 REGB1 = TAG_Bool(false);
20995 REGB0 = REGB1;
20996 } else {
20997 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
20998 REGB0 = REGB1;
20999 }
21000 }
21001 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
21002 if (UNTAG_Bool(REGB0)) {
21003 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21004 /* ./parser//parser_prod.nit:3654 */
21005 if (UNTAG_Bool(REGB0)) {
21006 fprintf(stderr, "Reciever is null");
21007 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3654);
21008 nit_exit(1);
21009 }
21010 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
21011 }
21012 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
21013 /* ./parser//parser_prod.nit:3656 */
21014 while(1) {
21015 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
21016 if (UNTAG_Bool(REGB0)) {
21017 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
21018 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_AClosureDecl, ID_AClosureDecl)) /*cast AClosureDecl*/;
21019 /* ./parser//parser_prod.nit:3657 */
21020 if (UNTAG_Bool(REGB0)) {
21021 } else {
21022 fprintf(stderr, "Assert failed");
21023 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3657);
21024 nit_exit(1);
21025 }
21026 REGB0 = TAG_Bool(ATTR_parser_nodes___ASignature____n_closure_decls(fra.me.REG[0])!=NIT_NULL);
21027 /* ./parser//parser_prod.nit:3658 */
21028 if (UNTAG_Bool(REGB0)) {
21029 } else {
21030 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_decls");
21031 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3658);
21032 nit_exit(1);
21033 }
21034 fra.me.REG[1] = ATTR_parser_nodes___ASignature____n_closure_decls(fra.me.REG[0]);
21035 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
21036 /* ./parser//parser_prod.nit:3659 */
21037 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
21038 } else {
21039 /* ./parser//parser_prod.nit:3656 */
21040 goto label2;
21041 }
21042 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
21043 }
21044 label2: while(0);
21045 stack_frame_head = fra.me.prev;
21046 init_table[itpos90] = 1;
21047 return;
21048 }
21049 void parser_prod___AParam___n_id__eq(val_t p0, val_t p1){
21050 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
21051 val_t tmp;
21052 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21053 fra.me.file = LOCATE_parser_prod;
21054 fra.me.line = 3736;
21055 fra.me.meth = LOCATE_parser_prod___AParam___n_id__eq;
21056 fra.me.has_broke = 0;
21057 fra.me.REG_size = 2;
21058 fra.me.REG[0] = NIT_NULL;
21059 fra.me.REG[1] = NIT_NULL;
21060 fra.me.REG[0] = p0;
21061 fra.me.REG[1] = p1;
21062 /* ./parser//parser_prod.nit:3738 */
21063 ATTR_parser_nodes___AParam____n_id(fra.me.REG[0]) = fra.me.REG[1];
21064 /* ./parser//parser_prod.nit:3739 */
21065 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
21066 stack_frame_head = fra.me.prev;
21067 return;
21068 }
21069 void parser_prod___AParam___n_type__eq(val_t p0, val_t p1){
21070 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
21071 val_t REGB0;
21072 val_t REGB1;
21073 val_t tmp;
21074 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21075 fra.me.file = LOCATE_parser_prod;
21076 fra.me.line = 3741;
21077 fra.me.meth = LOCATE_parser_prod___AParam___n_type__eq;
21078 fra.me.has_broke = 0;
21079 fra.me.REG_size = 2;
21080 fra.me.REG[0] = NIT_NULL;
21081 fra.me.REG[1] = NIT_NULL;
21082 fra.me.REG[0] = p0;
21083 fra.me.REG[1] = p1;
21084 /* ./parser//parser_prod.nit:3743 */
21085 ATTR_parser_nodes___AParam____n_type(fra.me.REG[0]) = fra.me.REG[1];
21086 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
21087 /* ./parser//parser_prod.nit:3744 */
21088 if (UNTAG_Bool(REGB0)) {
21089 } else {
21090 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
21091 if (UNTAG_Bool(REGB1)) {
21092 REGB1 = TAG_Bool(false);
21093 REGB0 = REGB1;
21094 } else {
21095 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
21096 REGB0 = REGB1;
21097 }
21098 }
21099 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
21100 if (UNTAG_Bool(REGB0)) {
21101 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
21102 /* ./parser//parser_prod.nit:3745 */
21103 if (UNTAG_Bool(REGB0)) {
21104 fprintf(stderr, "Reciever is null");
21105 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3745);
21106 nit_exit(1);
21107 }
21108 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
21109 }
21110 stack_frame_head = fra.me.prev;
21111 return;
21112 }
21113 void parser_prod___AParam___n_dotdotdot__eq(val_t p0, val_t p1){
21114 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
21115 val_t REGB0;
21116 val_t REGB1;
21117 val_t tmp;
21118 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21119 fra.me.file = LOCATE_parser_prod;
21120 fra.me.line = 3748;
21121 fra.me.meth = LOCATE_parser_prod___AParam___n_dotdotdot__eq;
21122 fra.me.has_broke = 0;
21123 fra.me.REG_size = 2;
21124 fra.me.REG[0] = NIT_NULL;
21125 fra.me.REG[1] = NIT_NULL;
21126 fra.me.REG[0] = p0;
21127 fra.me.REG[1] = p1;
21128 /* ./parser//parser_prod.nit:3750 */
21129 ATTR_parser_nodes___AParam____n_dotdotdot(fra.me.REG[0]) = fra.me.REG[1];
21130 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
21131 /* ./parser//parser_prod.nit:3751 */
21132 if (UNTAG_Bool(REGB0)) {
21133 } else {
21134 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
21135 if (UNTAG_Bool(REGB1)) {
21136 REGB1 = TAG_Bool(false);
21137 REGB0 = REGB1;
21138 } else {
21139 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
21140 REGB0 = REGB1;
21141 }
21142 }
21143 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
21144 if (UNTAG_Bool(REGB0)) {
21145 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
21146 /* ./parser//parser_prod.nit:3752 */
21147 if (UNTAG_Bool(REGB0)) {
21148 fprintf(stderr, "Reciever is null");
21149 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3752);
21150 nit_exit(1);
21151 }
21152 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
21153 }
21154 stack_frame_head = fra.me.prev;
21155 return;
21156 }
21157 void parser_prod___AParam___replace_child(val_t p0, val_t p1, val_t p2){
21158 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
21159 val_t REGB0;
21160 val_t REGB1;
21161 val_t tmp;
21162 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21163 fra.me.file = LOCATE_parser_prod;
21164 fra.me.line = 3777;
21165 fra.me.meth = LOCATE_parser_prod___AParam___replace_child;
21166 fra.me.has_broke = 0;
21167 fra.me.REG_size = 4;
21168 fra.me.REG[0] = NIT_NULL;
21169 fra.me.REG[1] = NIT_NULL;
21170 fra.me.REG[2] = NIT_NULL;
21171 fra.me.REG[3] = NIT_NULL;
21172 fra.me.REG[0] = p0;
21173 fra.me.REG[1] = p1;
21174 fra.me.REG[2] = p2;
21175 REGB0 = TAG_Bool(ATTR_parser_nodes___AParam____n_id(fra.me.REG[0])!=NIT_NULL);
21176 /* ./parser//parser_prod.nit:3779 */
21177 if (UNTAG_Bool(REGB0)) {
21178 } else {
21179 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
21180 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3779);
21181 nit_exit(1);
21182 }
21183 fra.me.REG[3] = ATTR_parser_nodes___AParam____n_id(fra.me.REG[0]);
21184 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
21185 if (UNTAG_Bool(REGB0)) {
21186 } else {
21187 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
21188 REGB0 = REGB1;
21189 }
21190 if (UNTAG_Bool(REGB0)) {
21191 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21192 /* ./parser//parser_prod.nit:3780 */
21193 if (UNTAG_Bool(REGB0)) {
21194 } else {
21195 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21196 if (UNTAG_Bool(REGB1)) {
21197 REGB1 = TAG_Bool(false);
21198 REGB0 = REGB1;
21199 } else {
21200 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
21201 REGB0 = REGB1;
21202 }
21203 }
21204 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
21205 if (UNTAG_Bool(REGB0)) {
21206 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21207 /* ./parser//parser_prod.nit:3781 */
21208 if (UNTAG_Bool(REGB0)) {
21209 fprintf(stderr, "Reciever is null");
21210 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3781);
21211 nit_exit(1);
21212 }
21213 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
21214 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast TId*/;
21215 /* ./parser//parser_prod.nit:3782 */
21216 if (UNTAG_Bool(REGB0)) {
21217 } else {
21218 fprintf(stderr, "Assert failed");
21219 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3782);
21220 nit_exit(1);
21221 }
21222 /* ./parser//parser_prod.nit:3783 */
21223 ATTR_parser_nodes___AParam____n_id(fra.me.REG[0]) = fra.me.REG[2];
21224 } else {
21225 /* ./parser//parser_prod.nit:3785 */
21226 fprintf(stderr, "Aborted");
21227 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3785);
21228 nit_exit(1);
21229 }
21230 /* ./parser//parser_prod.nit:3787 */
21231 goto label1;
21232 }
21233 fra.me.REG[3] = ATTR_parser_nodes___AParam____n_type(fra.me.REG[0]);
21234 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
21235 /* ./parser//parser_prod.nit:3789 */
21236 if (UNTAG_Bool(REGB0)) {
21237 } else {
21238 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
21239 if (UNTAG_Bool(REGB1)) {
21240 REGB1 = TAG_Bool(false);
21241 REGB0 = REGB1;
21242 } else {
21243 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
21244 REGB0 = REGB1;
21245 }
21246 }
21247 if (UNTAG_Bool(REGB0)) {
21248 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21249 /* ./parser//parser_prod.nit:3790 */
21250 if (UNTAG_Bool(REGB0)) {
21251 } else {
21252 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21253 if (UNTAG_Bool(REGB1)) {
21254 REGB1 = TAG_Bool(false);
21255 REGB0 = REGB1;
21256 } else {
21257 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
21258 REGB0 = REGB1;
21259 }
21260 }
21261 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
21262 if (UNTAG_Bool(REGB0)) {
21263 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21264 /* ./parser//parser_prod.nit:3791 */
21265 if (UNTAG_Bool(REGB0)) {
21266 fprintf(stderr, "Reciever is null");
21267 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3791);
21268 nit_exit(1);
21269 }
21270 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
21271 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast AType*/;
21272 /* ./parser//parser_prod.nit:3792 */
21273 if (UNTAG_Bool(REGB0)) {
21274 } else {
21275 fprintf(stderr, "Assert failed");
21276 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3792);
21277 nit_exit(1);
21278 }
21279 /* ./parser//parser_prod.nit:3793 */
21280 ATTR_parser_nodes___AParam____n_type(fra.me.REG[0]) = fra.me.REG[2];
21281 } else {
21282 /* ./parser//parser_prod.nit:3795 */
21283 ATTR_parser_nodes___AParam____n_type(fra.me.REG[0]) = NIT_NULL;
21284 }
21285 /* ./parser//parser_prod.nit:3797 */
21286 goto label1;
21287 }
21288 fra.me.REG[3] = ATTR_parser_nodes___AParam____n_dotdotdot(fra.me.REG[0]);
21289 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
21290 /* ./parser//parser_prod.nit:3799 */
21291 if (UNTAG_Bool(REGB0)) {
21292 } else {
21293 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
21294 if (UNTAG_Bool(REGB1)) {
21295 REGB1 = TAG_Bool(false);
21296 REGB0 = REGB1;
21297 } else {
21298 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
21299 REGB0 = REGB1;
21300 }
21301 }
21302 if (UNTAG_Bool(REGB0)) {
21303 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21304 /* ./parser//parser_prod.nit:3800 */
21305 if (UNTAG_Bool(REGB0)) {
21306 } else {
21307 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21308 if (UNTAG_Bool(REGB1)) {
21309 REGB1 = TAG_Bool(false);
21310 REGB0 = REGB1;
21311 } else {
21312 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
21313 REGB0 = REGB1;
21314 }
21315 }
21316 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
21317 if (UNTAG_Bool(REGB0)) {
21318 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21319 /* ./parser//parser_prod.nit:3801 */
21320 if (UNTAG_Bool(REGB0)) {
21321 fprintf(stderr, "Reciever is null");
21322 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3801);
21323 nit_exit(1);
21324 }
21325 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
21326 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TDotdotdot, ID_TDotdotdot)) /*cast TDotdotdot*/;
21327 /* ./parser//parser_prod.nit:3802 */
21328 if (UNTAG_Bool(REGB0)) {
21329 } else {
21330 fprintf(stderr, "Assert failed");
21331 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3802);
21332 nit_exit(1);
21333 }
21334 /* ./parser//parser_prod.nit:3803 */
21335 ATTR_parser_nodes___AParam____n_dotdotdot(fra.me.REG[0]) = fra.me.REG[2];
21336 } else {
21337 /* ./parser//parser_prod.nit:3805 */
21338 ATTR_parser_nodes___AParam____n_dotdotdot(fra.me.REG[0]) = NIT_NULL;
21339 }
21340 /* ./parser//parser_prod.nit:3807 */
21341 goto label1;
21342 }
21343 label1: while(0);
21344 stack_frame_head = fra.me.prev;
21345 return;
21346 }
21347 void parser_prod___AParam___visit_all(val_t p0, val_t p1){
21348 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
21349 val_t REGB0;
21350 val_t REGB1;
21351 val_t tmp;
21352 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21353 fra.me.file = LOCATE_parser_prod;
21354 fra.me.line = 3811;
21355 fra.me.meth = LOCATE_parser_prod___AParam___visit_all;
21356 fra.me.has_broke = 0;
21357 fra.me.REG_size = 3;
21358 fra.me.REG[0] = NIT_NULL;
21359 fra.me.REG[1] = NIT_NULL;
21360 fra.me.REG[2] = NIT_NULL;
21361 fra.me.REG[0] = p0;
21362 fra.me.REG[1] = p1;
21363 REGB0 = TAG_Bool(ATTR_parser_nodes___AParam____n_id(fra.me.REG[0])!=NIT_NULL);
21364 /* ./parser//parser_prod.nit:3813 */
21365 if (UNTAG_Bool(REGB0)) {
21366 } else {
21367 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
21368 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3813);
21369 nit_exit(1);
21370 }
21371 fra.me.REG[2] = ATTR_parser_nodes___AParam____n_id(fra.me.REG[0]);
21372 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
21373 fra.me.REG[2] = ATTR_parser_nodes___AParam____n_type(fra.me.REG[0]);
21374 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21375 /* ./parser//parser_prod.nit:3814 */
21376 if (UNTAG_Bool(REGB0)) {
21377 } else {
21378 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21379 if (UNTAG_Bool(REGB1)) {
21380 REGB1 = TAG_Bool(false);
21381 REGB0 = REGB1;
21382 } else {
21383 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
21384 REGB0 = REGB1;
21385 }
21386 }
21387 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
21388 if (UNTAG_Bool(REGB0)) {
21389 fra.me.REG[2] = ATTR_parser_nodes___AParam____n_type(fra.me.REG[0]);
21390 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast AType*/;
21391 /* ./parser//parser_prod.nit:3815 */
21392 if (UNTAG_Bool(REGB0)) {
21393 } else {
21394 fprintf(stderr, "Cast failed");
21395 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3815);
21396 nit_exit(1);
21397 }
21398 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
21399 }
21400 fra.me.REG[2] = ATTR_parser_nodes___AParam____n_dotdotdot(fra.me.REG[0]);
21401 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21402 /* ./parser//parser_prod.nit:3817 */
21403 if (UNTAG_Bool(REGB0)) {
21404 } else {
21405 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21406 if (UNTAG_Bool(REGB1)) {
21407 REGB1 = TAG_Bool(false);
21408 REGB0 = REGB1;
21409 } else {
21410 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
21411 REGB0 = REGB1;
21412 }
21413 }
21414 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
21415 if (UNTAG_Bool(REGB0)) {
21416 fra.me.REG[0] = ATTR_parser_nodes___AParam____n_dotdotdot(fra.me.REG[0]);
21417 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_TDotdotdot, ID_TDotdotdot)) /*cast TDotdotdot*/;
21418 /* ./parser//parser_prod.nit:3818 */
21419 if (UNTAG_Bool(REGB0)) {
21420 } else {
21421 fprintf(stderr, "Cast failed");
21422 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3818);
21423 nit_exit(1);
21424 }
21425 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
21426 }
21427 stack_frame_head = fra.me.prev;
21428 return;
21429 }
21430 void parser_prod___AParam___visit_all_reverse(val_t p0, val_t p1){
21431 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
21432 val_t REGB0;
21433 val_t REGB1;
21434 val_t tmp;
21435 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21436 fra.me.file = LOCATE_parser_prod;
21437 fra.me.line = 3822;
21438 fra.me.meth = LOCATE_parser_prod___AParam___visit_all_reverse;
21439 fra.me.has_broke = 0;
21440 fra.me.REG_size = 3;
21441 fra.me.REG[0] = NIT_NULL;
21442 fra.me.REG[1] = NIT_NULL;
21443 fra.me.REG[2] = NIT_NULL;
21444 fra.me.REG[0] = p0;
21445 fra.me.REG[1] = p1;
21446 REGB0 = TAG_Bool(ATTR_parser_nodes___AParam____n_id(fra.me.REG[0])!=NIT_NULL);
21447 /* ./parser//parser_prod.nit:3824 */
21448 if (UNTAG_Bool(REGB0)) {
21449 } else {
21450 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
21451 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3824);
21452 nit_exit(1);
21453 }
21454 fra.me.REG[2] = ATTR_parser_nodes___AParam____n_id(fra.me.REG[0]);
21455 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
21456 fra.me.REG[2] = ATTR_parser_nodes___AParam____n_type(fra.me.REG[0]);
21457 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21458 /* ./parser//parser_prod.nit:3825 */
21459 if (UNTAG_Bool(REGB0)) {
21460 } else {
21461 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21462 if (UNTAG_Bool(REGB1)) {
21463 REGB1 = TAG_Bool(false);
21464 REGB0 = REGB1;
21465 } else {
21466 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
21467 REGB0 = REGB1;
21468 }
21469 }
21470 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
21471 if (UNTAG_Bool(REGB0)) {
21472 fra.me.REG[2] = ATTR_parser_nodes___AParam____n_type(fra.me.REG[0]);
21473 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast AType*/;
21474 /* ./parser//parser_prod.nit:3826 */
21475 if (UNTAG_Bool(REGB0)) {
21476 } else {
21477 fprintf(stderr, "Cast failed");
21478 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3826);
21479 nit_exit(1);
21480 }
21481 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
21482 }
21483 fra.me.REG[2] = ATTR_parser_nodes___AParam____n_dotdotdot(fra.me.REG[0]);
21484 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21485 /* ./parser//parser_prod.nit:3828 */
21486 if (UNTAG_Bool(REGB0)) {
21487 } else {
21488 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21489 if (UNTAG_Bool(REGB1)) {
21490 REGB1 = TAG_Bool(false);
21491 REGB0 = REGB1;
21492 } else {
21493 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
21494 REGB0 = REGB1;
21495 }
21496 }
21497 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
21498 if (UNTAG_Bool(REGB0)) {
21499 fra.me.REG[0] = ATTR_parser_nodes___AParam____n_dotdotdot(fra.me.REG[0]);
21500 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_TDotdotdot, ID_TDotdotdot)) /*cast TDotdotdot*/;
21501 /* ./parser//parser_prod.nit:3829 */
21502 if (UNTAG_Bool(REGB0)) {
21503 } else {
21504 fprintf(stderr, "Cast failed");
21505 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3829);
21506 nit_exit(1);
21507 }
21508 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
21509 }
21510 stack_frame_head = fra.me.prev;
21511 return;
21512 }
21513 void parser_prod___AParam___empty_init(val_t p0, int* init_table){
21514 int itpos91 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AParam].i;
21515 struct {struct stack_frame_t me;} fra;
21516 val_t tmp;
21517 if (init_table[itpos91]) return;
21518 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21519 fra.me.file = LOCATE_parser_prod;
21520 fra.me.line = 3756;
21521 fra.me.meth = LOCATE_parser_prod___AParam___empty_init;
21522 fra.me.has_broke = 0;
21523 fra.me.REG_size = 1;
21524 fra.me.REG[0] = NIT_NULL;
21525 fra.me.REG[0] = p0;
21526 /* ./parser//parser_prod.nit:3756 */
21527 stack_frame_head = fra.me.prev;
21528 init_table[itpos91] = 1;
21529 return;
21530 }
21531 void parser_prod___AParam___init_aparam(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
21532 int itpos92 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AParam].i;
21533 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
21534 val_t REGB0;
21535 val_t REGB1;
21536 val_t tmp;
21537 if (init_table[itpos92]) return;
21538 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21539 fra.me.file = LOCATE_parser_prod;
21540 fra.me.line = 3758;
21541 fra.me.meth = LOCATE_parser_prod___AParam___init_aparam;
21542 fra.me.has_broke = 0;
21543 fra.me.REG_size = 4;
21544 fra.me.REG[0] = NIT_NULL;
21545 fra.me.REG[1] = NIT_NULL;
21546 fra.me.REG[2] = NIT_NULL;
21547 fra.me.REG[3] = NIT_NULL;
21548 fra.me.REG[0] = p0;
21549 fra.me.REG[1] = p1;
21550 fra.me.REG[2] = p2;
21551 fra.me.REG[3] = p3;
21552 /* ./parser//parser_prod.nit:3764 */
21553 CALL_parser_prod___AParam___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
21554 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
21555 /* ./parser//parser_prod.nit:3765 */
21556 if (UNTAG_Bool(REGB0)) {
21557 } else {
21558 fprintf(stderr, "Cast failed");
21559 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3765);
21560 nit_exit(1);
21561 }
21562 ATTR_parser_nodes___AParam____n_id(fra.me.REG[0]) = fra.me.REG[1];
21563 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
21564 /* ./parser//parser_prod.nit:3766 */
21565 if (UNTAG_Bool(REGB0)) {
21566 fprintf(stderr, "Reciever is null");
21567 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3766);
21568 nit_exit(1);
21569 }
21570 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
21571 /* ./parser//parser_prod.nit:3767 */
21572 ATTR_parser_nodes___AParam____n_type(fra.me.REG[0]) = fra.me.REG[2];
21573 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21574 /* ./parser//parser_prod.nit:3768 */
21575 if (UNTAG_Bool(REGB0)) {
21576 } else {
21577 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21578 if (UNTAG_Bool(REGB1)) {
21579 REGB1 = TAG_Bool(false);
21580 REGB0 = REGB1;
21581 } else {
21582 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
21583 REGB0 = REGB1;
21584 }
21585 }
21586 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
21587 if (UNTAG_Bool(REGB0)) {
21588 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21589 /* ./parser//parser_prod.nit:3769 */
21590 if (UNTAG_Bool(REGB0)) {
21591 fprintf(stderr, "Reciever is null");
21592 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3769);
21593 nit_exit(1);
21594 }
21595 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
21596 }
21597 /* ./parser//parser_prod.nit:3771 */
21598 ATTR_parser_nodes___AParam____n_dotdotdot(fra.me.REG[0]) = fra.me.REG[3];
21599 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
21600 /* ./parser//parser_prod.nit:3772 */
21601 if (UNTAG_Bool(REGB0)) {
21602 } else {
21603 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
21604 if (UNTAG_Bool(REGB1)) {
21605 REGB1 = TAG_Bool(false);
21606 REGB0 = REGB1;
21607 } else {
21608 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
21609 REGB0 = REGB1;
21610 }
21611 }
21612 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
21613 if (UNTAG_Bool(REGB0)) {
21614 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
21615 /* ./parser//parser_prod.nit:3773 */
21616 if (UNTAG_Bool(REGB0)) {
21617 fprintf(stderr, "Reciever is null");
21618 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3773);
21619 nit_exit(1);
21620 }
21621 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
21622 }
21623 stack_frame_head = fra.me.prev;
21624 init_table[itpos92] = 1;
21625 return;
21626 }
21627 void parser_prod___AClosureDecl___n_kwbreak__eq(val_t p0, val_t p1){
21628 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
21629 val_t REGB0;
21630 val_t REGB1;
21631 val_t tmp;
21632 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21633 fra.me.file = LOCATE_parser_prod;
21634 fra.me.line = 3834;
21635 fra.me.meth = LOCATE_parser_prod___AClosureDecl___n_kwbreak__eq;
21636 fra.me.has_broke = 0;
21637 fra.me.REG_size = 2;
21638 fra.me.REG[0] = NIT_NULL;
21639 fra.me.REG[1] = NIT_NULL;
21640 fra.me.REG[0] = p0;
21641 fra.me.REG[1] = p1;
21642 /* ./parser//parser_prod.nit:3836 */
21643 ATTR_parser_nodes___AClosureDecl____n_kwbreak(fra.me.REG[0]) = fra.me.REG[1];
21644 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
21645 /* ./parser//parser_prod.nit:3837 */
21646 if (UNTAG_Bool(REGB0)) {
21647 } else {
21648 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
21649 if (UNTAG_Bool(REGB1)) {
21650 REGB1 = TAG_Bool(false);
21651 REGB0 = REGB1;
21652 } else {
21653 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
21654 REGB0 = REGB1;
21655 }
21656 }
21657 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
21658 if (UNTAG_Bool(REGB0)) {
21659 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
21660 /* ./parser//parser_prod.nit:3838 */
21661 if (UNTAG_Bool(REGB0)) {
21662 fprintf(stderr, "Reciever is null");
21663 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3838);
21664 nit_exit(1);
21665 }
21666 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
21667 }
21668 stack_frame_head = fra.me.prev;
21669 return;
21670 }
21671 void parser_prod___AClosureDecl___n_bang__eq(val_t p0, val_t p1){
21672 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
21673 val_t tmp;
21674 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21675 fra.me.file = LOCATE_parser_prod;
21676 fra.me.line = 3841;
21677 fra.me.meth = LOCATE_parser_prod___AClosureDecl___n_bang__eq;
21678 fra.me.has_broke = 0;
21679 fra.me.REG_size = 2;
21680 fra.me.REG[0] = NIT_NULL;
21681 fra.me.REG[1] = NIT_NULL;
21682 fra.me.REG[0] = p0;
21683 fra.me.REG[1] = p1;
21684 /* ./parser//parser_prod.nit:3843 */
21685 ATTR_parser_nodes___AClosureDecl____n_bang(fra.me.REG[0]) = fra.me.REG[1];
21686 /* ./parser//parser_prod.nit:3844 */
21687 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
21688 stack_frame_head = fra.me.prev;
21689 return;
21690 }
21691 void parser_prod___AClosureDecl___n_id__eq(val_t p0, val_t p1){
21692 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
21693 val_t tmp;
21694 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21695 fra.me.file = LOCATE_parser_prod;
21696 fra.me.line = 3846;
21697 fra.me.meth = LOCATE_parser_prod___AClosureDecl___n_id__eq;
21698 fra.me.has_broke = 0;
21699 fra.me.REG_size = 2;
21700 fra.me.REG[0] = NIT_NULL;
21701 fra.me.REG[1] = NIT_NULL;
21702 fra.me.REG[0] = p0;
21703 fra.me.REG[1] = p1;
21704 /* ./parser//parser_prod.nit:3848 */
21705 ATTR_parser_nodes___AClosureDecl____n_id(fra.me.REG[0]) = fra.me.REG[1];
21706 /* ./parser//parser_prod.nit:3849 */
21707 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
21708 stack_frame_head = fra.me.prev;
21709 return;
21710 }
21711 void parser_prod___AClosureDecl___n_signature__eq(val_t p0, val_t p1){
21712 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
21713 val_t tmp;
21714 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21715 fra.me.file = LOCATE_parser_prod;
21716 fra.me.line = 3851;
21717 fra.me.meth = LOCATE_parser_prod___AClosureDecl___n_signature__eq;
21718 fra.me.has_broke = 0;
21719 fra.me.REG_size = 2;
21720 fra.me.REG[0] = NIT_NULL;
21721 fra.me.REG[1] = NIT_NULL;
21722 fra.me.REG[0] = p0;
21723 fra.me.REG[1] = p1;
21724 /* ./parser//parser_prod.nit:3853 */
21725 ATTR_parser_nodes___AClosureDecl____n_signature(fra.me.REG[0]) = fra.me.REG[1];
21726 /* ./parser//parser_prod.nit:3854 */
21727 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
21728 stack_frame_head = fra.me.prev;
21729 return;
21730 }
21731 void parser_prod___AClosureDecl___n_expr__eq(val_t p0, val_t p1){
21732 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
21733 val_t REGB0;
21734 val_t REGB1;
21735 val_t tmp;
21736 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21737 fra.me.file = LOCATE_parser_prod;
21738 fra.me.line = 3856;
21739 fra.me.meth = LOCATE_parser_prod___AClosureDecl___n_expr__eq;
21740 fra.me.has_broke = 0;
21741 fra.me.REG_size = 2;
21742 fra.me.REG[0] = NIT_NULL;
21743 fra.me.REG[1] = NIT_NULL;
21744 fra.me.REG[0] = p0;
21745 fra.me.REG[1] = p1;
21746 /* ./parser//parser_prod.nit:3858 */
21747 ATTR_parser_nodes___AClosureDecl____n_expr(fra.me.REG[0]) = fra.me.REG[1];
21748 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
21749 /* ./parser//parser_prod.nit:3859 */
21750 if (UNTAG_Bool(REGB0)) {
21751 } else {
21752 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
21753 if (UNTAG_Bool(REGB1)) {
21754 REGB1 = TAG_Bool(false);
21755 REGB0 = REGB1;
21756 } else {
21757 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
21758 REGB0 = REGB1;
21759 }
21760 }
21761 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
21762 if (UNTAG_Bool(REGB0)) {
21763 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
21764 /* ./parser//parser_prod.nit:3860 */
21765 if (UNTAG_Bool(REGB0)) {
21766 fprintf(stderr, "Reciever is null");
21767 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3860);
21768 nit_exit(1);
21769 }
21770 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
21771 }
21772 stack_frame_head = fra.me.prev;
21773 return;
21774 }
21775 void parser_prod___AClosureDecl___replace_child(val_t p0, val_t p1, val_t p2){
21776 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
21777 val_t REGB0;
21778 val_t REGB1;
21779 val_t tmp;
21780 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
21781 fra.me.file = LOCATE_parser_prod;
21782 fra.me.line = 3891;
21783 fra.me.meth = LOCATE_parser_prod___AClosureDecl___replace_child;
21784 fra.me.has_broke = 0;
21785 fra.me.REG_size = 4;
21786 fra.me.REG[0] = NIT_NULL;
21787 fra.me.REG[1] = NIT_NULL;
21788 fra.me.REG[2] = NIT_NULL;
21789 fra.me.REG[3] = NIT_NULL;
21790 fra.me.REG[0] = p0;
21791 fra.me.REG[1] = p1;
21792 fra.me.REG[2] = p2;
21793 fra.me.REG[3] = ATTR_parser_nodes___AClosureDecl____n_kwbreak(fra.me.REG[0]);
21794 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
21795 /* ./parser//parser_prod.nit:3893 */
21796 if (UNTAG_Bool(REGB0)) {
21797 } else {
21798 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
21799 if (UNTAG_Bool(REGB1)) {
21800 REGB1 = TAG_Bool(false);
21801 REGB0 = REGB1;
21802 } else {
21803 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
21804 REGB0 = REGB1;
21805 }
21806 }
21807 if (UNTAG_Bool(REGB0)) {
21808 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21809 /* ./parser//parser_prod.nit:3894 */
21810 if (UNTAG_Bool(REGB0)) {
21811 } else {
21812 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21813 if (UNTAG_Bool(REGB1)) {
21814 REGB1 = TAG_Bool(false);
21815 REGB0 = REGB1;
21816 } else {
21817 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
21818 REGB0 = REGB1;
21819 }
21820 }
21821 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
21822 if (UNTAG_Bool(REGB0)) {
21823 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21824 /* ./parser//parser_prod.nit:3895 */
21825 if (UNTAG_Bool(REGB0)) {
21826 fprintf(stderr, "Reciever is null");
21827 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3895);
21828 nit_exit(1);
21829 }
21830 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
21831 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/;
21832 /* ./parser//parser_prod.nit:3896 */
21833 if (UNTAG_Bool(REGB0)) {
21834 } else {
21835 fprintf(stderr, "Assert failed");
21836 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3896);
21837 nit_exit(1);
21838 }
21839 /* ./parser//parser_prod.nit:3897 */
21840 ATTR_parser_nodes___AClosureDecl____n_kwbreak(fra.me.REG[0]) = fra.me.REG[2];
21841 } else {
21842 /* ./parser//parser_prod.nit:3899 */
21843 ATTR_parser_nodes___AClosureDecl____n_kwbreak(fra.me.REG[0]) = NIT_NULL;
21844 }
21845 /* ./parser//parser_prod.nit:3901 */
21846 goto label1;
21847 }
21848 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureDecl____n_bang(fra.me.REG[0])!=NIT_NULL);
21849 /* ./parser//parser_prod.nit:3903 */
21850 if (UNTAG_Bool(REGB0)) {
21851 } else {
21852 fprintf(stderr, "Uninitialized attribute %s", "_n_bang");
21853 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3903);
21854 nit_exit(1);
21855 }
21856 fra.me.REG[3] = ATTR_parser_nodes___AClosureDecl____n_bang(fra.me.REG[0]);
21857 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
21858 if (UNTAG_Bool(REGB0)) {
21859 } else {
21860 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
21861 REGB0 = REGB1;
21862 }
21863 if (UNTAG_Bool(REGB0)) {
21864 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21865 /* ./parser//parser_prod.nit:3904 */
21866 if (UNTAG_Bool(REGB0)) {
21867 } else {
21868 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21869 if (UNTAG_Bool(REGB1)) {
21870 REGB1 = TAG_Bool(false);
21871 REGB0 = REGB1;
21872 } else {
21873 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
21874 REGB0 = REGB1;
21875 }
21876 }
21877 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
21878 if (UNTAG_Bool(REGB0)) {
21879 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21880 /* ./parser//parser_prod.nit:3905 */
21881 if (UNTAG_Bool(REGB0)) {
21882 fprintf(stderr, "Reciever is null");
21883 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3905);
21884 nit_exit(1);
21885 }
21886 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
21887 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TBang, ID_TBang)) /*cast TBang*/;
21888 /* ./parser//parser_prod.nit:3906 */
21889 if (UNTAG_Bool(REGB0)) {
21890 } else {
21891 fprintf(stderr, "Assert failed");
21892 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3906);
21893 nit_exit(1);
21894 }
21895 /* ./parser//parser_prod.nit:3907 */
21896 ATTR_parser_nodes___AClosureDecl____n_bang(fra.me.REG[0]) = fra.me.REG[2];
21897 } else {
21898 /* ./parser//parser_prod.nit:3909 */
21899 fprintf(stderr, "Aborted");
21900 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3909);
21901 nit_exit(1);
21902 }
21903 /* ./parser//parser_prod.nit:3911 */
21904 goto label1;
21905 }
21906 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureDecl____n_id(fra.me.REG[0])!=NIT_NULL);
21907 /* ./parser//parser_prod.nit:3913 */
21908 if (UNTAG_Bool(REGB0)) {
21909 } else {
21910 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
21911 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3913);
21912 nit_exit(1);
21913 }
21914 fra.me.REG[3] = ATTR_parser_nodes___AClosureDecl____n_id(fra.me.REG[0]);
21915 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
21916 if (UNTAG_Bool(REGB0)) {
21917 } else {
21918 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
21919 REGB0 = REGB1;
21920 }
21921 if (UNTAG_Bool(REGB0)) {
21922 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21923 /* ./parser//parser_prod.nit:3914 */
21924 if (UNTAG_Bool(REGB0)) {
21925 } else {
21926 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21927 if (UNTAG_Bool(REGB1)) {
21928 REGB1 = TAG_Bool(false);
21929 REGB0 = REGB1;
21930 } else {
21931 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
21932 REGB0 = REGB1;
21933 }
21934 }
21935 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
21936 if (UNTAG_Bool(REGB0)) {
21937 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21938 /* ./parser//parser_prod.nit:3915 */
21939 if (UNTAG_Bool(REGB0)) {
21940 fprintf(stderr, "Reciever is null");
21941 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3915);
21942 nit_exit(1);
21943 }
21944 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
21945 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast TId*/;
21946 /* ./parser//parser_prod.nit:3916 */
21947 if (UNTAG_Bool(REGB0)) {
21948 } else {
21949 fprintf(stderr, "Assert failed");
21950 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3916);
21951 nit_exit(1);
21952 }
21953 /* ./parser//parser_prod.nit:3917 */
21954 ATTR_parser_nodes___AClosureDecl____n_id(fra.me.REG[0]) = fra.me.REG[2];
21955 } else {
21956 /* ./parser//parser_prod.nit:3919 */
21957 fprintf(stderr, "Aborted");
21958 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3919);
21959 nit_exit(1);
21960 }
21961 /* ./parser//parser_prod.nit:3921 */
21962 goto label1;
21963 }
21964 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureDecl____n_signature(fra.me.REG[0])!=NIT_NULL);
21965 /* ./parser//parser_prod.nit:3923 */
21966 if (UNTAG_Bool(REGB0)) {
21967 } else {
21968 fprintf(stderr, "Uninitialized attribute %s", "_n_signature");
21969 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3923);
21970 nit_exit(1);
21971 }
21972 fra.me.REG[3] = ATTR_parser_nodes___AClosureDecl____n_signature(fra.me.REG[0]);
21973 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
21974 if (UNTAG_Bool(REGB0)) {
21975 } else {
21976 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
21977 REGB0 = REGB1;
21978 }
21979 if (UNTAG_Bool(REGB0)) {
21980 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21981 /* ./parser//parser_prod.nit:3924 */
21982 if (UNTAG_Bool(REGB0)) {
21983 } else {
21984 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21985 if (UNTAG_Bool(REGB1)) {
21986 REGB1 = TAG_Bool(false);
21987 REGB0 = REGB1;
21988 } else {
21989 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
21990 REGB0 = REGB1;
21991 }
21992 }
21993 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
21994 if (UNTAG_Bool(REGB0)) {
21995 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
21996 /* ./parser//parser_prod.nit:3925 */
21997 if (UNTAG_Bool(REGB0)) {
21998 fprintf(stderr, "Reciever is null");
21999 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3925);
22000 nit_exit(1);
22001 }
22002 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
22003 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ASignature, ID_ASignature)) /*cast ASignature*/;
22004 /* ./parser//parser_prod.nit:3926 */
22005 if (UNTAG_Bool(REGB0)) {
22006 } else {
22007 fprintf(stderr, "Assert failed");
22008 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3926);
22009 nit_exit(1);
22010 }
22011 /* ./parser//parser_prod.nit:3927 */
22012 ATTR_parser_nodes___AClosureDecl____n_signature(fra.me.REG[0]) = fra.me.REG[2];
22013 } else {
22014 /* ./parser//parser_prod.nit:3929 */
22015 fprintf(stderr, "Aborted");
22016 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3929);
22017 nit_exit(1);
22018 }
22019 /* ./parser//parser_prod.nit:3931 */
22020 goto label1;
22021 }
22022 fra.me.REG[3] = ATTR_parser_nodes___AClosureDecl____n_expr(fra.me.REG[0]);
22023 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
22024 /* ./parser//parser_prod.nit:3933 */
22025 if (UNTAG_Bool(REGB0)) {
22026 } else {
22027 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
22028 if (UNTAG_Bool(REGB1)) {
22029 REGB1 = TAG_Bool(false);
22030 REGB0 = REGB1;
22031 } else {
22032 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
22033 REGB0 = REGB1;
22034 }
22035 }
22036 if (UNTAG_Bool(REGB0)) {
22037 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
22038 /* ./parser//parser_prod.nit:3934 */
22039 if (UNTAG_Bool(REGB0)) {
22040 } else {
22041 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
22042 if (UNTAG_Bool(REGB1)) {
22043 REGB1 = TAG_Bool(false);
22044 REGB0 = REGB1;
22045 } else {
22046 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
22047 REGB0 = REGB1;
22048 }
22049 }
22050 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
22051 if (UNTAG_Bool(REGB0)) {
22052 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
22053 /* ./parser//parser_prod.nit:3935 */
22054 if (UNTAG_Bool(REGB0)) {
22055 fprintf(stderr, "Reciever is null");
22056 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3935);
22057 nit_exit(1);
22058 }
22059 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
22060 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
22061 /* ./parser//parser_prod.nit:3936 */
22062 if (UNTAG_Bool(REGB0)) {
22063 } else {
22064 fprintf(stderr, "Assert failed");
22065 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3936);
22066 nit_exit(1);
22067 }
22068 /* ./parser//parser_prod.nit:3937 */
22069 ATTR_parser_nodes___AClosureDecl____n_expr(fra.me.REG[0]) = fra.me.REG[2];
22070 } else {
22071 /* ./parser//parser_prod.nit:3939 */
22072 ATTR_parser_nodes___AClosureDecl____n_expr(fra.me.REG[0]) = NIT_NULL;
22073 }
22074 /* ./parser//parser_prod.nit:3941 */
22075 goto label1;
22076 }
22077 label1: while(0);
22078 stack_frame_head = fra.me.prev;
22079 return;
22080 }
22081 void parser_prod___AClosureDecl___visit_all(val_t p0, val_t p1){
22082 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
22083 val_t REGB0;
22084 val_t REGB1;
22085 val_t tmp;
22086 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22087 fra.me.file = LOCATE_parser_prod;
22088 fra.me.line = 3945;
22089 fra.me.meth = LOCATE_parser_prod___AClosureDecl___visit_all;
22090 fra.me.has_broke = 0;
22091 fra.me.REG_size = 3;
22092 fra.me.REG[0] = NIT_NULL;
22093 fra.me.REG[1] = NIT_NULL;
22094 fra.me.REG[2] = NIT_NULL;
22095 fra.me.REG[0] = p0;
22096 fra.me.REG[1] = p1;
22097 fra.me.REG[2] = ATTR_parser_nodes___AClosureDecl____n_kwbreak(fra.me.REG[0]);
22098 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
22099 /* ./parser//parser_prod.nit:3947 */
22100 if (UNTAG_Bool(REGB0)) {
22101 } else {
22102 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
22103 if (UNTAG_Bool(REGB1)) {
22104 REGB1 = TAG_Bool(false);
22105 REGB0 = REGB1;
22106 } else {
22107 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
22108 REGB0 = REGB1;
22109 }
22110 }
22111 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
22112 if (UNTAG_Bool(REGB0)) {
22113 fra.me.REG[2] = ATTR_parser_nodes___AClosureDecl____n_kwbreak(fra.me.REG[0]);
22114 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/;
22115 /* ./parser//parser_prod.nit:3948 */
22116 if (UNTAG_Bool(REGB0)) {
22117 } else {
22118 fprintf(stderr, "Cast failed");
22119 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3948);
22120 nit_exit(1);
22121 }
22122 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
22123 }
22124 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureDecl____n_bang(fra.me.REG[0])!=NIT_NULL);
22125 /* ./parser//parser_prod.nit:3950 */
22126 if (UNTAG_Bool(REGB0)) {
22127 } else {
22128 fprintf(stderr, "Uninitialized attribute %s", "_n_bang");
22129 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3950);
22130 nit_exit(1);
22131 }
22132 fra.me.REG[2] = ATTR_parser_nodes___AClosureDecl____n_bang(fra.me.REG[0]);
22133 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
22134 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureDecl____n_id(fra.me.REG[0])!=NIT_NULL);
22135 /* ./parser//parser_prod.nit:3951 */
22136 if (UNTAG_Bool(REGB0)) {
22137 } else {
22138 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
22139 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3951);
22140 nit_exit(1);
22141 }
22142 fra.me.REG[2] = ATTR_parser_nodes___AClosureDecl____n_id(fra.me.REG[0]);
22143 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
22144 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureDecl____n_signature(fra.me.REG[0])!=NIT_NULL);
22145 /* ./parser//parser_prod.nit:3952 */
22146 if (UNTAG_Bool(REGB0)) {
22147 } else {
22148 fprintf(stderr, "Uninitialized attribute %s", "_n_signature");
22149 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3952);
22150 nit_exit(1);
22151 }
22152 fra.me.REG[2] = ATTR_parser_nodes___AClosureDecl____n_signature(fra.me.REG[0]);
22153 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
22154 fra.me.REG[2] = ATTR_parser_nodes___AClosureDecl____n_expr(fra.me.REG[0]);
22155 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
22156 /* ./parser//parser_prod.nit:3953 */
22157 if (UNTAG_Bool(REGB0)) {
22158 } else {
22159 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
22160 if (UNTAG_Bool(REGB1)) {
22161 REGB1 = TAG_Bool(false);
22162 REGB0 = REGB1;
22163 } else {
22164 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
22165 REGB0 = REGB1;
22166 }
22167 }
22168 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
22169 if (UNTAG_Bool(REGB0)) {
22170 fra.me.REG[0] = ATTR_parser_nodes___AClosureDecl____n_expr(fra.me.REG[0]);
22171 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
22172 /* ./parser//parser_prod.nit:3954 */
22173 if (UNTAG_Bool(REGB0)) {
22174 } else {
22175 fprintf(stderr, "Cast failed");
22176 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3954);
22177 nit_exit(1);
22178 }
22179 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
22180 }
22181 stack_frame_head = fra.me.prev;
22182 return;
22183 }
22184 void parser_prod___AClosureDecl___visit_all_reverse(val_t p0, val_t p1){
22185 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
22186 val_t REGB0;
22187 val_t REGB1;
22188 val_t tmp;
22189 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22190 fra.me.file = LOCATE_parser_prod;
22191 fra.me.line = 3958;
22192 fra.me.meth = LOCATE_parser_prod___AClosureDecl___visit_all_reverse;
22193 fra.me.has_broke = 0;
22194 fra.me.REG_size = 3;
22195 fra.me.REG[0] = NIT_NULL;
22196 fra.me.REG[1] = NIT_NULL;
22197 fra.me.REG[2] = NIT_NULL;
22198 fra.me.REG[0] = p0;
22199 fra.me.REG[1] = p1;
22200 fra.me.REG[2] = ATTR_parser_nodes___AClosureDecl____n_kwbreak(fra.me.REG[0]);
22201 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
22202 /* ./parser//parser_prod.nit:3960 */
22203 if (UNTAG_Bool(REGB0)) {
22204 } else {
22205 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
22206 if (UNTAG_Bool(REGB1)) {
22207 REGB1 = TAG_Bool(false);
22208 REGB0 = REGB1;
22209 } else {
22210 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
22211 REGB0 = REGB1;
22212 }
22213 }
22214 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
22215 if (UNTAG_Bool(REGB0)) {
22216 fra.me.REG[2] = ATTR_parser_nodes___AClosureDecl____n_kwbreak(fra.me.REG[0]);
22217 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/;
22218 /* ./parser//parser_prod.nit:3961 */
22219 if (UNTAG_Bool(REGB0)) {
22220 } else {
22221 fprintf(stderr, "Cast failed");
22222 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3961);
22223 nit_exit(1);
22224 }
22225 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
22226 }
22227 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureDecl____n_bang(fra.me.REG[0])!=NIT_NULL);
22228 /* ./parser//parser_prod.nit:3963 */
22229 if (UNTAG_Bool(REGB0)) {
22230 } else {
22231 fprintf(stderr, "Uninitialized attribute %s", "_n_bang");
22232 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3963);
22233 nit_exit(1);
22234 }
22235 fra.me.REG[2] = ATTR_parser_nodes___AClosureDecl____n_bang(fra.me.REG[0]);
22236 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
22237 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureDecl____n_id(fra.me.REG[0])!=NIT_NULL);
22238 /* ./parser//parser_prod.nit:3964 */
22239 if (UNTAG_Bool(REGB0)) {
22240 } else {
22241 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
22242 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3964);
22243 nit_exit(1);
22244 }
22245 fra.me.REG[2] = ATTR_parser_nodes___AClosureDecl____n_id(fra.me.REG[0]);
22246 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
22247 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureDecl____n_signature(fra.me.REG[0])!=NIT_NULL);
22248 /* ./parser//parser_prod.nit:3965 */
22249 if (UNTAG_Bool(REGB0)) {
22250 } else {
22251 fprintf(stderr, "Uninitialized attribute %s", "_n_signature");
22252 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3965);
22253 nit_exit(1);
22254 }
22255 fra.me.REG[2] = ATTR_parser_nodes___AClosureDecl____n_signature(fra.me.REG[0]);
22256 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
22257 fra.me.REG[2] = ATTR_parser_nodes___AClosureDecl____n_expr(fra.me.REG[0]);
22258 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
22259 /* ./parser//parser_prod.nit:3966 */
22260 if (UNTAG_Bool(REGB0)) {
22261 } else {
22262 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
22263 if (UNTAG_Bool(REGB1)) {
22264 REGB1 = TAG_Bool(false);
22265 REGB0 = REGB1;
22266 } else {
22267 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
22268 REGB0 = REGB1;
22269 }
22270 }
22271 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
22272 if (UNTAG_Bool(REGB0)) {
22273 fra.me.REG[0] = ATTR_parser_nodes___AClosureDecl____n_expr(fra.me.REG[0]);
22274 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
22275 /* ./parser//parser_prod.nit:3967 */
22276 if (UNTAG_Bool(REGB0)) {
22277 } else {
22278 fprintf(stderr, "Cast failed");
22279 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3967);
22280 nit_exit(1);
22281 }
22282 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
22283 }
22284 stack_frame_head = fra.me.prev;
22285 return;
22286 }
22287 void parser_prod___AClosureDecl___empty_init(val_t p0, int* init_table){
22288 int itpos93 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AClosureDecl].i;
22289 struct {struct stack_frame_t me;} fra;
22290 val_t tmp;
22291 if (init_table[itpos93]) return;
22292 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22293 fra.me.file = LOCATE_parser_prod;
22294 fra.me.line = 3864;
22295 fra.me.meth = LOCATE_parser_prod___AClosureDecl___empty_init;
22296 fra.me.has_broke = 0;
22297 fra.me.REG_size = 1;
22298 fra.me.REG[0] = NIT_NULL;
22299 fra.me.REG[0] = p0;
22300 /* ./parser//parser_prod.nit:3864 */
22301 stack_frame_head = fra.me.prev;
22302 init_table[itpos93] = 1;
22303 return;
22304 }
22305 void parser_prod___AClosureDecl___init_aclosuredecl(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, int* init_table){
22306 int itpos94 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AClosureDecl].i;
22307 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
22308 val_t REGB0;
22309 val_t REGB1;
22310 val_t tmp;
22311 if (init_table[itpos94]) return;
22312 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22313 fra.me.file = LOCATE_parser_prod;
22314 fra.me.line = 3866;
22315 fra.me.meth = LOCATE_parser_prod___AClosureDecl___init_aclosuredecl;
22316 fra.me.has_broke = 0;
22317 fra.me.REG_size = 6;
22318 fra.me.REG[0] = NIT_NULL;
22319 fra.me.REG[1] = NIT_NULL;
22320 fra.me.REG[2] = NIT_NULL;
22321 fra.me.REG[3] = NIT_NULL;
22322 fra.me.REG[4] = NIT_NULL;
22323 fra.me.REG[5] = NIT_NULL;
22324 fra.me.REG[0] = p0;
22325 fra.me.REG[1] = p1;
22326 fra.me.REG[2] = p2;
22327 fra.me.REG[3] = p3;
22328 fra.me.REG[4] = p4;
22329 fra.me.REG[5] = p5;
22330 /* ./parser//parser_prod.nit:3874 */
22331 CALL_parser_prod___AClosureDecl___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
22332 /* ./parser//parser_prod.nit:3875 */
22333 ATTR_parser_nodes___AClosureDecl____n_kwbreak(fra.me.REG[0]) = fra.me.REG[1];
22334 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
22335 /* ./parser//parser_prod.nit:3876 */
22336 if (UNTAG_Bool(REGB0)) {
22337 } else {
22338 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
22339 if (UNTAG_Bool(REGB1)) {
22340 REGB1 = TAG_Bool(false);
22341 REGB0 = REGB1;
22342 } else {
22343 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
22344 REGB0 = REGB1;
22345 }
22346 }
22347 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
22348 if (UNTAG_Bool(REGB0)) {
22349 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
22350 /* ./parser//parser_prod.nit:3877 */
22351 if (UNTAG_Bool(REGB0)) {
22352 fprintf(stderr, "Reciever is null");
22353 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3877);
22354 nit_exit(1);
22355 }
22356 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
22357 }
22358 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
22359 /* ./parser//parser_prod.nit:3879 */
22360 if (UNTAG_Bool(REGB0)) {
22361 } else {
22362 fprintf(stderr, "Cast failed");
22363 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3879);
22364 nit_exit(1);
22365 }
22366 ATTR_parser_nodes___AClosureDecl____n_bang(fra.me.REG[0]) = fra.me.REG[2];
22367 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
22368 /* ./parser//parser_prod.nit:3880 */
22369 if (UNTAG_Bool(REGB0)) {
22370 fprintf(stderr, "Reciever is null");
22371 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3880);
22372 nit_exit(1);
22373 }
22374 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
22375 REGB0 = TAG_Bool(fra.me.REG[3]!=NIT_NULL);
22376 /* ./parser//parser_prod.nit:3881 */
22377 if (UNTAG_Bool(REGB0)) {
22378 } else {
22379 fprintf(stderr, "Cast failed");
22380 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3881);
22381 nit_exit(1);
22382 }
22383 ATTR_parser_nodes___AClosureDecl____n_id(fra.me.REG[0]) = fra.me.REG[3];
22384 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
22385 /* ./parser//parser_prod.nit:3882 */
22386 if (UNTAG_Bool(REGB0)) {
22387 fprintf(stderr, "Reciever is null");
22388 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3882);
22389 nit_exit(1);
22390 }
22391 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
22392 REGB0 = TAG_Bool(fra.me.REG[4]!=NIT_NULL);
22393 /* ./parser//parser_prod.nit:3883 */
22394 if (UNTAG_Bool(REGB0)) {
22395 } else {
22396 fprintf(stderr, "Cast failed");
22397 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3883);
22398 nit_exit(1);
22399 }
22400 ATTR_parser_nodes___AClosureDecl____n_signature(fra.me.REG[0]) = fra.me.REG[4];
22401 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
22402 /* ./parser//parser_prod.nit:3884 */
22403 if (UNTAG_Bool(REGB0)) {
22404 fprintf(stderr, "Reciever is null");
22405 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3884);
22406 nit_exit(1);
22407 }
22408 CALL_parser_prod___ANode___parent__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
22409 /* ./parser//parser_prod.nit:3885 */
22410 ATTR_parser_nodes___AClosureDecl____n_expr(fra.me.REG[0]) = fra.me.REG[5];
22411 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
22412 /* ./parser//parser_prod.nit:3886 */
22413 if (UNTAG_Bool(REGB0)) {
22414 } else {
22415 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
22416 if (UNTAG_Bool(REGB1)) {
22417 REGB1 = TAG_Bool(false);
22418 REGB0 = REGB1;
22419 } else {
22420 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
22421 REGB0 = REGB1;
22422 }
22423 }
22424 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
22425 if (UNTAG_Bool(REGB0)) {
22426 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
22427 /* ./parser//parser_prod.nit:3887 */
22428 if (UNTAG_Bool(REGB0)) {
22429 fprintf(stderr, "Reciever is null");
22430 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3887);
22431 nit_exit(1);
22432 }
22433 CALL_parser_prod___ANode___parent__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[0]);
22434 }
22435 stack_frame_head = fra.me.prev;
22436 init_table[itpos94] = 1;
22437 return;
22438 }
22439 void parser_prod___AType___n_kwnullable__eq(val_t p0, val_t p1){
22440 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
22441 val_t REGB0;
22442 val_t REGB1;
22443 val_t tmp;
22444 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22445 fra.me.file = LOCATE_parser_prod;
22446 fra.me.line = 3972;
22447 fra.me.meth = LOCATE_parser_prod___AType___n_kwnullable__eq;
22448 fra.me.has_broke = 0;
22449 fra.me.REG_size = 2;
22450 fra.me.REG[0] = NIT_NULL;
22451 fra.me.REG[1] = NIT_NULL;
22452 fra.me.REG[0] = p0;
22453 fra.me.REG[1] = p1;
22454 /* ./parser//parser_prod.nit:3974 */
22455 ATTR_parser_nodes___AType____n_kwnullable(fra.me.REG[0]) = fra.me.REG[1];
22456 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
22457 /* ./parser//parser_prod.nit:3975 */
22458 if (UNTAG_Bool(REGB0)) {
22459 } else {
22460 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
22461 if (UNTAG_Bool(REGB1)) {
22462 REGB1 = TAG_Bool(false);
22463 REGB0 = REGB1;
22464 } else {
22465 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
22466 REGB0 = REGB1;
22467 }
22468 }
22469 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
22470 if (UNTAG_Bool(REGB0)) {
22471 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
22472 /* ./parser//parser_prod.nit:3976 */
22473 if (UNTAG_Bool(REGB0)) {
22474 fprintf(stderr, "Reciever is null");
22475 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3976);
22476 nit_exit(1);
22477 }
22478 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
22479 }
22480 stack_frame_head = fra.me.prev;
22481 return;
22482 }
22483 void parser_prod___AType___n_id__eq(val_t p0, val_t p1){
22484 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
22485 val_t tmp;
22486 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22487 fra.me.file = LOCATE_parser_prod;
22488 fra.me.line = 3979;
22489 fra.me.meth = LOCATE_parser_prod___AType___n_id__eq;
22490 fra.me.has_broke = 0;
22491 fra.me.REG_size = 2;
22492 fra.me.REG[0] = NIT_NULL;
22493 fra.me.REG[1] = NIT_NULL;
22494 fra.me.REG[0] = p0;
22495 fra.me.REG[1] = p1;
22496 /* ./parser//parser_prod.nit:3981 */
22497 ATTR_parser_nodes___AType____n_id(fra.me.REG[0]) = fra.me.REG[1];
22498 /* ./parser//parser_prod.nit:3982 */
22499 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
22500 stack_frame_head = fra.me.prev;
22501 return;
22502 }
22503 void parser_prod___AType___replace_child(val_t p0, val_t p1, val_t p2){
22504 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
22505 val_t REGB0;
22506 val_t REGB1;
22507 val_t REGB2;
22508 val_t tmp;
22509 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22510 fra.me.file = LOCATE_parser_prod;
22511 fra.me.line = 4007;
22512 fra.me.meth = LOCATE_parser_prod___AType___replace_child;
22513 fra.me.has_broke = 0;
22514 fra.me.REG_size = 5;
22515 fra.me.REG[0] = NIT_NULL;
22516 fra.me.REG[1] = NIT_NULL;
22517 fra.me.REG[2] = NIT_NULL;
22518 fra.me.REG[3] = NIT_NULL;
22519 fra.me.REG[4] = NIT_NULL;
22520 fra.me.REG[0] = p0;
22521 fra.me.REG[1] = p1;
22522 fra.me.REG[2] = p2;
22523 fra.me.REG[3] = ATTR_parser_nodes___AType____n_kwnullable(fra.me.REG[0]);
22524 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
22525 /* ./parser//parser_prod.nit:4009 */
22526 if (UNTAG_Bool(REGB0)) {
22527 } else {
22528 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
22529 if (UNTAG_Bool(REGB1)) {
22530 REGB1 = TAG_Bool(false);
22531 REGB0 = REGB1;
22532 } else {
22533 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
22534 REGB0 = REGB1;
22535 }
22536 }
22537 if (UNTAG_Bool(REGB0)) {
22538 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
22539 /* ./parser//parser_prod.nit:4010 */
22540 if (UNTAG_Bool(REGB0)) {
22541 } else {
22542 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
22543 if (UNTAG_Bool(REGB1)) {
22544 REGB1 = TAG_Bool(false);
22545 REGB0 = REGB1;
22546 } else {
22547 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
22548 REGB0 = REGB1;
22549 }
22550 }
22551 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
22552 if (UNTAG_Bool(REGB0)) {
22553 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
22554 /* ./parser//parser_prod.nit:4011 */
22555 if (UNTAG_Bool(REGB0)) {
22556 fprintf(stderr, "Reciever is null");
22557 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4011);
22558 nit_exit(1);
22559 }
22560 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
22561 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwnullable, ID_TKwnullable)) /*cast TKwnullable*/;
22562 /* ./parser//parser_prod.nit:4012 */
22563 if (UNTAG_Bool(REGB0)) {
22564 } else {
22565 fprintf(stderr, "Assert failed");
22566 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4012);
22567 nit_exit(1);
22568 }
22569 /* ./parser//parser_prod.nit:4013 */
22570 ATTR_parser_nodes___AType____n_kwnullable(fra.me.REG[0]) = fra.me.REG[2];
22571 } else {
22572 /* ./parser//parser_prod.nit:4015 */
22573 ATTR_parser_nodes___AType____n_kwnullable(fra.me.REG[0]) = NIT_NULL;
22574 }
22575 /* ./parser//parser_prod.nit:4017 */
22576 goto label1;
22577 }
22578 REGB0 = TAG_Bool(ATTR_parser_nodes___AType____n_id(fra.me.REG[0])!=NIT_NULL);
22579 /* ./parser//parser_prod.nit:4019 */
22580 if (UNTAG_Bool(REGB0)) {
22581 } else {
22582 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
22583 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4019);
22584 nit_exit(1);
22585 }
22586 fra.me.REG[3] = ATTR_parser_nodes___AType____n_id(fra.me.REG[0]);
22587 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
22588 if (UNTAG_Bool(REGB0)) {
22589 } else {
22590 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
22591 REGB0 = REGB1;
22592 }
22593 if (UNTAG_Bool(REGB0)) {
22594 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
22595 /* ./parser//parser_prod.nit:4020 */
22596 if (UNTAG_Bool(REGB0)) {
22597 } else {
22598 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
22599 if (UNTAG_Bool(REGB1)) {
22600 REGB1 = TAG_Bool(false);
22601 REGB0 = REGB1;
22602 } else {
22603 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
22604 REGB0 = REGB1;
22605 }
22606 }
22607 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
22608 if (UNTAG_Bool(REGB0)) {
22609 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
22610 /* ./parser//parser_prod.nit:4021 */
22611 if (UNTAG_Bool(REGB0)) {
22612 fprintf(stderr, "Reciever is null");
22613 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4021);
22614 nit_exit(1);
22615 }
22616 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
22617 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
22618 /* ./parser//parser_prod.nit:4022 */
22619 if (UNTAG_Bool(REGB0)) {
22620 } else {
22621 fprintf(stderr, "Assert failed");
22622 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4022);
22623 nit_exit(1);
22624 }
22625 /* ./parser//parser_prod.nit:4023 */
22626 ATTR_parser_nodes___AType____n_id(fra.me.REG[0]) = fra.me.REG[2];
22627 } else {
22628 /* ./parser//parser_prod.nit:4025 */
22629 fprintf(stderr, "Aborted");
22630 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4025);
22631 nit_exit(1);
22632 }
22633 /* ./parser//parser_prod.nit:4027 */
22634 goto label1;
22635 }
22636 REGB0 = TAG_Int(0);
22637 REGB1 = TAG_Bool(ATTR_parser_nodes___AType____n_types(fra.me.REG[0])!=NIT_NULL);
22638 /* ./parser//parser_prod.nit:4029 */
22639 if (UNTAG_Bool(REGB1)) {
22640 } else {
22641 fprintf(stderr, "Uninitialized attribute %s", "_n_types");
22642 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4029);
22643 nit_exit(1);
22644 }
22645 fra.me.REG[3] = ATTR_parser_nodes___AType____n_types(fra.me.REG[0]);
22646 REGB1 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
22647 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB0, REGB1);
22648 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
22649 while(1) {
22650 REGB1 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
22651 if (UNTAG_Bool(REGB1)) {
22652 REGB1 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
22653 REGB0 = TAG_Bool(ATTR_parser_nodes___AType____n_types(fra.me.REG[0])!=NIT_NULL);
22654 /* ./parser//parser_prod.nit:4030 */
22655 if (UNTAG_Bool(REGB0)) {
22656 } else {
22657 fprintf(stderr, "Uninitialized attribute %s", "_n_types");
22658 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4030);
22659 nit_exit(1);
22660 }
22661 fra.me.REG[4] = ATTR_parser_nodes___AType____n_types(fra.me.REG[0]);
22662 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB1);
22663 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[4]));
22664 if (UNTAG_Bool(REGB0)) {
22665 } else {
22666 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
22667 if (UNTAG_Bool(REGB2)) {
22668 REGB2 = TAG_Bool(false);
22669 REGB0 = REGB2;
22670 } else {
22671 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
22672 REGB0 = REGB2;
22673 }
22674 }
22675 if (UNTAG_Bool(REGB0)) {
22676 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
22677 /* ./parser//parser_prod.nit:4031 */
22678 if (UNTAG_Bool(REGB0)) {
22679 } else {
22680 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
22681 if (UNTAG_Bool(REGB2)) {
22682 REGB2 = TAG_Bool(false);
22683 REGB0 = REGB2;
22684 } else {
22685 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
22686 REGB0 = REGB2;
22687 }
22688 }
22689 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
22690 if (UNTAG_Bool(REGB0)) {
22691 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast AType*/;
22692 /* ./parser//parser_prod.nit:4032 */
22693 if (UNTAG_Bool(REGB0)) {
22694 } else {
22695 fprintf(stderr, "Assert failed");
22696 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4032);
22697 nit_exit(1);
22698 }
22699 REGB0 = TAG_Bool(ATTR_parser_nodes___AType____n_types(fra.me.REG[0])!=NIT_NULL);
22700 /* ./parser//parser_prod.nit:4033 */
22701 if (UNTAG_Bool(REGB0)) {
22702 } else {
22703 fprintf(stderr, "Uninitialized attribute %s", "_n_types");
22704 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4033);
22705 nit_exit(1);
22706 }
22707 fra.me.REG[4] = ATTR_parser_nodes___AType____n_types(fra.me.REG[0]);
22708 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], REGB1, fra.me.REG[2]);
22709 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
22710 /* ./parser//parser_prod.nit:4034 */
22711 if (UNTAG_Bool(REGB0)) {
22712 fprintf(stderr, "Reciever is null");
22713 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4034);
22714 nit_exit(1);
22715 }
22716 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
22717 } else {
22718 REGB0 = TAG_Bool(ATTR_parser_nodes___AType____n_types(fra.me.REG[0])!=NIT_NULL);
22719 /* ./parser//parser_prod.nit:4036 */
22720 if (UNTAG_Bool(REGB0)) {
22721 } else {
22722 fprintf(stderr, "Uninitialized attribute %s", "_n_types");
22723 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4036);
22724 nit_exit(1);
22725 }
22726 fra.me.REG[4] = ATTR_parser_nodes___AType____n_types(fra.me.REG[0]);
22727 CALL_abstract_collection___Map___remove_at(fra.me.REG[4])(fra.me.REG[4], REGB1);
22728 }
22729 /* ./parser//parser_prod.nit:4038 */
22730 goto label1;
22731 }
22732 } else {
22733 /* ./parser//parser_prod.nit:4029 */
22734 goto label2;
22735 }
22736 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
22737 }
22738 label2: while(0);
22739 label1: while(0);
22740 stack_frame_head = fra.me.prev;
22741 return;
22742 }
22743 void parser_prod___AType___visit_all(val_t p0, val_t p1){
22744 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
22745 val_t REGB0;
22746 val_t REGB1;
22747 val_t tmp;
22748 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22749 fra.me.file = LOCATE_parser_prod;
22750 fra.me.line = 4043;
22751 fra.me.meth = LOCATE_parser_prod___AType___visit_all;
22752 fra.me.has_broke = 0;
22753 fra.me.REG_size = 3;
22754 fra.me.REG[0] = NIT_NULL;
22755 fra.me.REG[1] = NIT_NULL;
22756 fra.me.REG[2] = NIT_NULL;
22757 fra.me.REG[0] = p0;
22758 fra.me.REG[1] = p1;
22759 fra.me.REG[2] = ATTR_parser_nodes___AType____n_kwnullable(fra.me.REG[0]);
22760 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
22761 /* ./parser//parser_prod.nit:4045 */
22762 if (UNTAG_Bool(REGB0)) {
22763 } else {
22764 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
22765 if (UNTAG_Bool(REGB1)) {
22766 REGB1 = TAG_Bool(false);
22767 REGB0 = REGB1;
22768 } else {
22769 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
22770 REGB0 = REGB1;
22771 }
22772 }
22773 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
22774 if (UNTAG_Bool(REGB0)) {
22775 fra.me.REG[2] = ATTR_parser_nodes___AType____n_kwnullable(fra.me.REG[0]);
22776 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwnullable, ID_TKwnullable)) /*cast TKwnullable*/;
22777 /* ./parser//parser_prod.nit:4046 */
22778 if (UNTAG_Bool(REGB0)) {
22779 } else {
22780 fprintf(stderr, "Cast failed");
22781 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4046);
22782 nit_exit(1);
22783 }
22784 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
22785 }
22786 REGB0 = TAG_Bool(ATTR_parser_nodes___AType____n_id(fra.me.REG[0])!=NIT_NULL);
22787 /* ./parser//parser_prod.nit:4048 */
22788 if (UNTAG_Bool(REGB0)) {
22789 } else {
22790 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
22791 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4048);
22792 nit_exit(1);
22793 }
22794 fra.me.REG[2] = ATTR_parser_nodes___AType____n_id(fra.me.REG[0]);
22795 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
22796 REGB0 = TAG_Bool(ATTR_parser_nodes___AType____n_types(fra.me.REG[0])!=NIT_NULL);
22797 /* ./parser//parser_prod.nit:4049 */
22798 if (UNTAG_Bool(REGB0)) {
22799 } else {
22800 fprintf(stderr, "Uninitialized attribute %s", "_n_types");
22801 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4049);
22802 nit_exit(1);
22803 }
22804 fra.me.REG[0] = ATTR_parser_nodes___AType____n_types(fra.me.REG[0]);
22805 fra.me.REG[0] = CALL_abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
22806 while(1) {
22807 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
22808 if (UNTAG_Bool(REGB0)) {
22809 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
22810 /* ./parser//parser_prod.nit:4050 */
22811 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
22812 } else {
22813 /* ./parser//parser_prod.nit:4049 */
22814 goto label1;
22815 }
22816 CALL_abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
22817 }
22818 label1: while(0);
22819 stack_frame_head = fra.me.prev;
22820 return;
22821 }
22822 void parser_prod___AType___visit_all_reverse(val_t p0, val_t p1){
22823 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
22824 val_t REGB0;
22825 val_t REGB1;
22826 val_t tmp;
22827 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22828 fra.me.file = LOCATE_parser_prod;
22829 fra.me.line = 4054;
22830 fra.me.meth = LOCATE_parser_prod___AType___visit_all_reverse;
22831 fra.me.has_broke = 0;
22832 fra.me.REG_size = 3;
22833 fra.me.REG[0] = NIT_NULL;
22834 fra.me.REG[1] = NIT_NULL;
22835 fra.me.REG[2] = NIT_NULL;
22836 fra.me.REG[0] = p0;
22837 fra.me.REG[1] = p1;
22838 fra.me.REG[2] = ATTR_parser_nodes___AType____n_kwnullable(fra.me.REG[0]);
22839 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
22840 /* ./parser//parser_prod.nit:4056 */
22841 if (UNTAG_Bool(REGB0)) {
22842 } else {
22843 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
22844 if (UNTAG_Bool(REGB1)) {
22845 REGB1 = TAG_Bool(false);
22846 REGB0 = REGB1;
22847 } else {
22848 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
22849 REGB0 = REGB1;
22850 }
22851 }
22852 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
22853 if (UNTAG_Bool(REGB0)) {
22854 fra.me.REG[2] = ATTR_parser_nodes___AType____n_kwnullable(fra.me.REG[0]);
22855 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwnullable, ID_TKwnullable)) /*cast TKwnullable*/;
22856 /* ./parser//parser_prod.nit:4057 */
22857 if (UNTAG_Bool(REGB0)) {
22858 } else {
22859 fprintf(stderr, "Cast failed");
22860 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4057);
22861 nit_exit(1);
22862 }
22863 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
22864 }
22865 REGB0 = TAG_Bool(ATTR_parser_nodes___AType____n_id(fra.me.REG[0])!=NIT_NULL);
22866 /* ./parser//parser_prod.nit:4059 */
22867 if (UNTAG_Bool(REGB0)) {
22868 } else {
22869 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
22870 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4059);
22871 nit_exit(1);
22872 }
22873 fra.me.REG[2] = ATTR_parser_nodes___AType____n_id(fra.me.REG[0]);
22874 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
22875 REGB0 = TAG_Bool(ATTR_parser_nodes___AType____n_types(fra.me.REG[0])!=NIT_NULL);
22876 /* ./parser//parser_prod.nit:4061 */
22877 if (UNTAG_Bool(REGB0)) {
22878 } else {
22879 fprintf(stderr, "Uninitialized attribute %s", "_n_types");
22880 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4061);
22881 nit_exit(1);
22882 }
22883 fra.me.REG[2] = ATTR_parser_nodes___AType____n_types(fra.me.REG[0]);
22884 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
22885 /* ./parser//parser_prod.nit:4062 */
22886 while(1) {
22887 REGB1 = TAG_Int(0);
22888 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
22889 /* ./parser//parser_prod.nit:4062 */
22890 if (UNTAG_Bool(REGB1)) {
22891 REGB1 = TAG_Bool(ATTR_parser_nodes___AType____n_types(fra.me.REG[0])!=NIT_NULL);
22892 /* ./parser//parser_prod.nit:4063 */
22893 if (UNTAG_Bool(REGB1)) {
22894 } else {
22895 fprintf(stderr, "Uninitialized attribute %s", "_n_types");
22896 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4063);
22897 nit_exit(1);
22898 }
22899 fra.me.REG[2] = ATTR_parser_nodes___AType____n_types(fra.me.REG[0]);
22900 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
22901 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
22902 REGB1 = TAG_Int(1);
22903 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
22904 REGB0 = REGB1;
22905 /* ./parser//parser_prod.nit:4064 */
22906 } else {
22907 /* ./parser//parser_prod.nit:4062 */
22908 goto label1;
22909 }
22910 }
22911 label1: while(0);
22912 stack_frame_head = fra.me.prev;
22913 return;
22914 }
22915 void parser_prod___AType___empty_init(val_t p0, int* init_table){
22916 int itpos95 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AType].i;
22917 struct {struct stack_frame_t me;} fra;
22918 val_t tmp;
22919 if (init_table[itpos95]) return;
22920 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22921 fra.me.file = LOCATE_parser_prod;
22922 fra.me.line = 3985;
22923 fra.me.meth = LOCATE_parser_prod___AType___empty_init;
22924 fra.me.has_broke = 0;
22925 fra.me.REG_size = 1;
22926 fra.me.REG[0] = NIT_NULL;
22927 fra.me.REG[0] = p0;
22928 /* ./parser//parser_prod.nit:3985 */
22929 stack_frame_head = fra.me.prev;
22930 init_table[itpos95] = 1;
22931 return;
22932 }
22933 void parser_prod___AType___init_atype(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
22934 int itpos96 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AType].i;
22935 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
22936 val_t REGB0;
22937 val_t REGB1;
22938 val_t tmp;
22939 if (init_table[itpos96]) return;
22940 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
22941 fra.me.file = LOCATE_parser_prod;
22942 fra.me.line = 3987;
22943 fra.me.meth = LOCATE_parser_prod___AType___init_atype;
22944 fra.me.has_broke = 0;
22945 fra.me.REG_size = 4;
22946 fra.me.REG[0] = NIT_NULL;
22947 fra.me.REG[1] = NIT_NULL;
22948 fra.me.REG[2] = NIT_NULL;
22949 fra.me.REG[3] = NIT_NULL;
22950 fra.me.REG[0] = p0;
22951 fra.me.REG[1] = p1;
22952 fra.me.REG[2] = p2;
22953 fra.me.REG[3] = p3;
22954 /* ./parser//parser_prod.nit:3993 */
22955 CALL_parser_prod___AType___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
22956 /* ./parser//parser_prod.nit:3994 */
22957 ATTR_parser_nodes___AType____n_kwnullable(fra.me.REG[0]) = fra.me.REG[1];
22958 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
22959 /* ./parser//parser_prod.nit:3995 */
22960 if (UNTAG_Bool(REGB0)) {
22961 } else {
22962 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
22963 if (UNTAG_Bool(REGB1)) {
22964 REGB1 = TAG_Bool(false);
22965 REGB0 = REGB1;
22966 } else {
22967 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
22968 REGB0 = REGB1;
22969 }
22970 }
22971 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
22972 if (UNTAG_Bool(REGB0)) {
22973 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
22974 /* ./parser//parser_prod.nit:3996 */
22975 if (UNTAG_Bool(REGB0)) {
22976 fprintf(stderr, "Reciever is null");
22977 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3996);
22978 nit_exit(1);
22979 }
22980 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
22981 }
22982 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
22983 /* ./parser//parser_prod.nit:3998 */
22984 if (UNTAG_Bool(REGB0)) {
22985 } else {
22986 fprintf(stderr, "Cast failed");
22987 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3998);
22988 nit_exit(1);
22989 }
22990 ATTR_parser_nodes___AType____n_id(fra.me.REG[0]) = fra.me.REG[2];
22991 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
22992 /* ./parser//parser_prod.nit:3999 */
22993 if (UNTAG_Bool(REGB0)) {
22994 fprintf(stderr, "Reciever is null");
22995 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 3999);
22996 nit_exit(1);
22997 }
22998 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
22999 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
23000 /* ./parser//parser_prod.nit:4000 */
23001 while(1) {
23002 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
23003 if (UNTAG_Bool(REGB0)) {
23004 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
23005 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast AType*/;
23006 /* ./parser//parser_prod.nit:4001 */
23007 if (UNTAG_Bool(REGB0)) {
23008 } else {
23009 fprintf(stderr, "Assert failed");
23010 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4001);
23011 nit_exit(1);
23012 }
23013 REGB0 = TAG_Bool(ATTR_parser_nodes___AType____n_types(fra.me.REG[0])!=NIT_NULL);
23014 /* ./parser//parser_prod.nit:4002 */
23015 if (UNTAG_Bool(REGB0)) {
23016 } else {
23017 fprintf(stderr, "Uninitialized attribute %s", "_n_types");
23018 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4002);
23019 nit_exit(1);
23020 }
23021 fra.me.REG[1] = ATTR_parser_nodes___AType____n_types(fra.me.REG[0]);
23022 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
23023 /* ./parser//parser_prod.nit:4003 */
23024 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
23025 } else {
23026 /* ./parser//parser_prod.nit:4000 */
23027 goto label1;
23028 }
23029 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
23030 }
23031 label1: while(0);
23032 stack_frame_head = fra.me.prev;
23033 init_table[itpos96] = 1;
23034 return;
23035 }
23036 void parser_prod___ALabel___n_kwlabel__eq(val_t p0, val_t p1){
23037 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
23038 val_t tmp;
23039 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23040 fra.me.file = LOCATE_parser_prod;
23041 fra.me.line = 4070;
23042 fra.me.meth = LOCATE_parser_prod___ALabel___n_kwlabel__eq;
23043 fra.me.has_broke = 0;
23044 fra.me.REG_size = 2;
23045 fra.me.REG[0] = NIT_NULL;
23046 fra.me.REG[1] = NIT_NULL;
23047 fra.me.REG[0] = p0;
23048 fra.me.REG[1] = p1;
23049 /* ./parser//parser_prod.nit:4072 */
23050 ATTR_parser_nodes___ALabel____n_kwlabel(fra.me.REG[0]) = fra.me.REG[1];
23051 /* ./parser//parser_prod.nit:4073 */
23052 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
23053 stack_frame_head = fra.me.prev;
23054 return;
23055 }
23056 void parser_prod___ALabel___n_id__eq(val_t p0, val_t p1){
23057 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
23058 val_t tmp;
23059 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23060 fra.me.file = LOCATE_parser_prod;
23061 fra.me.line = 4075;
23062 fra.me.meth = LOCATE_parser_prod___ALabel___n_id__eq;
23063 fra.me.has_broke = 0;
23064 fra.me.REG_size = 2;
23065 fra.me.REG[0] = NIT_NULL;
23066 fra.me.REG[1] = NIT_NULL;
23067 fra.me.REG[0] = p0;
23068 fra.me.REG[1] = p1;
23069 /* ./parser//parser_prod.nit:4077 */
23070 ATTR_parser_nodes___ALabel____n_id(fra.me.REG[0]) = fra.me.REG[1];
23071 /* ./parser//parser_prod.nit:4078 */
23072 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
23073 stack_frame_head = fra.me.prev;
23074 return;
23075 }
23076 void parser_prod___ALabel___replace_child(val_t p0, val_t p1, val_t p2){
23077 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
23078 val_t REGB0;
23079 val_t REGB1;
23080 val_t tmp;
23081 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23082 fra.me.file = LOCATE_parser_prod;
23083 fra.me.line = 4095;
23084 fra.me.meth = LOCATE_parser_prod___ALabel___replace_child;
23085 fra.me.has_broke = 0;
23086 fra.me.REG_size = 4;
23087 fra.me.REG[0] = NIT_NULL;
23088 fra.me.REG[1] = NIT_NULL;
23089 fra.me.REG[2] = NIT_NULL;
23090 fra.me.REG[3] = NIT_NULL;
23091 fra.me.REG[0] = p0;
23092 fra.me.REG[1] = p1;
23093 fra.me.REG[2] = p2;
23094 REGB0 = TAG_Bool(ATTR_parser_nodes___ALabel____n_kwlabel(fra.me.REG[0])!=NIT_NULL);
23095 /* ./parser//parser_prod.nit:4097 */
23096 if (UNTAG_Bool(REGB0)) {
23097 } else {
23098 fprintf(stderr, "Uninitialized attribute %s", "_n_kwlabel");
23099 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4097);
23100 nit_exit(1);
23101 }
23102 fra.me.REG[3] = ATTR_parser_nodes___ALabel____n_kwlabel(fra.me.REG[0]);
23103 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
23104 if (UNTAG_Bool(REGB0)) {
23105 } else {
23106 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
23107 REGB0 = REGB1;
23108 }
23109 if (UNTAG_Bool(REGB0)) {
23110 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
23111 /* ./parser//parser_prod.nit:4098 */
23112 if (UNTAG_Bool(REGB0)) {
23113 } else {
23114 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
23115 if (UNTAG_Bool(REGB1)) {
23116 REGB1 = TAG_Bool(false);
23117 REGB0 = REGB1;
23118 } else {
23119 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
23120 REGB0 = REGB1;
23121 }
23122 }
23123 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
23124 if (UNTAG_Bool(REGB0)) {
23125 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
23126 /* ./parser//parser_prod.nit:4099 */
23127 if (UNTAG_Bool(REGB0)) {
23128 fprintf(stderr, "Reciever is null");
23129 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4099);
23130 nit_exit(1);
23131 }
23132 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
23133 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwlabel, ID_TKwlabel)) /*cast TKwlabel*/;
23134 /* ./parser//parser_prod.nit:4100 */
23135 if (UNTAG_Bool(REGB0)) {
23136 } else {
23137 fprintf(stderr, "Assert failed");
23138 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4100);
23139 nit_exit(1);
23140 }
23141 /* ./parser//parser_prod.nit:4101 */
23142 ATTR_parser_nodes___ALabel____n_kwlabel(fra.me.REG[0]) = fra.me.REG[2];
23143 } else {
23144 /* ./parser//parser_prod.nit:4103 */
23145 fprintf(stderr, "Aborted");
23146 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4103);
23147 nit_exit(1);
23148 }
23149 /* ./parser//parser_prod.nit:4105 */
23150 goto label1;
23151 }
23152 REGB0 = TAG_Bool(ATTR_parser_nodes___ALabel____n_id(fra.me.REG[0])!=NIT_NULL);
23153 /* ./parser//parser_prod.nit:4107 */
23154 if (UNTAG_Bool(REGB0)) {
23155 } else {
23156 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
23157 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4107);
23158 nit_exit(1);
23159 }
23160 fra.me.REG[3] = ATTR_parser_nodes___ALabel____n_id(fra.me.REG[0]);
23161 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
23162 if (UNTAG_Bool(REGB0)) {
23163 } else {
23164 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
23165 REGB0 = REGB1;
23166 }
23167 if (UNTAG_Bool(REGB0)) {
23168 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
23169 /* ./parser//parser_prod.nit:4108 */
23170 if (UNTAG_Bool(REGB0)) {
23171 } else {
23172 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
23173 if (UNTAG_Bool(REGB1)) {
23174 REGB1 = TAG_Bool(false);
23175 REGB0 = REGB1;
23176 } else {
23177 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
23178 REGB0 = REGB1;
23179 }
23180 }
23181 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
23182 if (UNTAG_Bool(REGB0)) {
23183 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
23184 /* ./parser//parser_prod.nit:4109 */
23185 if (UNTAG_Bool(REGB0)) {
23186 fprintf(stderr, "Reciever is null");
23187 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4109);
23188 nit_exit(1);
23189 }
23190 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
23191 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast TId*/;
23192 /* ./parser//parser_prod.nit:4110 */
23193 if (UNTAG_Bool(REGB0)) {
23194 } else {
23195 fprintf(stderr, "Assert failed");
23196 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4110);
23197 nit_exit(1);
23198 }
23199 /* ./parser//parser_prod.nit:4111 */
23200 ATTR_parser_nodes___ALabel____n_id(fra.me.REG[0]) = fra.me.REG[2];
23201 } else {
23202 /* ./parser//parser_prod.nit:4113 */
23203 fprintf(stderr, "Aborted");
23204 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4113);
23205 nit_exit(1);
23206 }
23207 /* ./parser//parser_prod.nit:4115 */
23208 goto label1;
23209 }
23210 label1: while(0);
23211 stack_frame_head = fra.me.prev;
23212 return;
23213 }
23214 void parser_prod___ALabel___visit_all(val_t p0, val_t p1){
23215 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
23216 val_t REGB0;
23217 val_t tmp;
23218 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23219 fra.me.file = LOCATE_parser_prod;
23220 fra.me.line = 4119;
23221 fra.me.meth = LOCATE_parser_prod___ALabel___visit_all;
23222 fra.me.has_broke = 0;
23223 fra.me.REG_size = 3;
23224 fra.me.REG[0] = NIT_NULL;
23225 fra.me.REG[1] = NIT_NULL;
23226 fra.me.REG[2] = NIT_NULL;
23227 fra.me.REG[0] = p0;
23228 fra.me.REG[1] = p1;
23229 REGB0 = TAG_Bool(ATTR_parser_nodes___ALabel____n_kwlabel(fra.me.REG[0])!=NIT_NULL);
23230 /* ./parser//parser_prod.nit:4121 */
23231 if (UNTAG_Bool(REGB0)) {
23232 } else {
23233 fprintf(stderr, "Uninitialized attribute %s", "_n_kwlabel");
23234 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4121);
23235 nit_exit(1);
23236 }
23237 fra.me.REG[2] = ATTR_parser_nodes___ALabel____n_kwlabel(fra.me.REG[0]);
23238 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
23239 REGB0 = TAG_Bool(ATTR_parser_nodes___ALabel____n_id(fra.me.REG[0])!=NIT_NULL);
23240 /* ./parser//parser_prod.nit:4122 */
23241 if (UNTAG_Bool(REGB0)) {
23242 } else {
23243 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
23244 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4122);
23245 nit_exit(1);
23246 }
23247 fra.me.REG[0] = ATTR_parser_nodes___ALabel____n_id(fra.me.REG[0]);
23248 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
23249 stack_frame_head = fra.me.prev;
23250 return;
23251 }
23252 void parser_prod___ALabel___visit_all_reverse(val_t p0, val_t p1){
23253 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
23254 val_t REGB0;
23255 val_t tmp;
23256 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23257 fra.me.file = LOCATE_parser_prod;
23258 fra.me.line = 4125;
23259 fra.me.meth = LOCATE_parser_prod___ALabel___visit_all_reverse;
23260 fra.me.has_broke = 0;
23261 fra.me.REG_size = 3;
23262 fra.me.REG[0] = NIT_NULL;
23263 fra.me.REG[1] = NIT_NULL;
23264 fra.me.REG[2] = NIT_NULL;
23265 fra.me.REG[0] = p0;
23266 fra.me.REG[1] = p1;
23267 REGB0 = TAG_Bool(ATTR_parser_nodes___ALabel____n_kwlabel(fra.me.REG[0])!=NIT_NULL);
23268 /* ./parser//parser_prod.nit:4127 */
23269 if (UNTAG_Bool(REGB0)) {
23270 } else {
23271 fprintf(stderr, "Uninitialized attribute %s", "_n_kwlabel");
23272 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4127);
23273 nit_exit(1);
23274 }
23275 fra.me.REG[2] = ATTR_parser_nodes___ALabel____n_kwlabel(fra.me.REG[0]);
23276 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
23277 REGB0 = TAG_Bool(ATTR_parser_nodes___ALabel____n_id(fra.me.REG[0])!=NIT_NULL);
23278 /* ./parser//parser_prod.nit:4128 */
23279 if (UNTAG_Bool(REGB0)) {
23280 } else {
23281 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
23282 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4128);
23283 nit_exit(1);
23284 }
23285 fra.me.REG[0] = ATTR_parser_nodes___ALabel____n_id(fra.me.REG[0]);
23286 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
23287 stack_frame_head = fra.me.prev;
23288 return;
23289 }
23290 void parser_prod___ALabel___empty_init(val_t p0, int* init_table){
23291 int itpos97 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ALabel].i;
23292 struct {struct stack_frame_t me;} fra;
23293 val_t tmp;
23294 if (init_table[itpos97]) return;
23295 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23296 fra.me.file = LOCATE_parser_prod;
23297 fra.me.line = 4081;
23298 fra.me.meth = LOCATE_parser_prod___ALabel___empty_init;
23299 fra.me.has_broke = 0;
23300 fra.me.REG_size = 1;
23301 fra.me.REG[0] = NIT_NULL;
23302 fra.me.REG[0] = p0;
23303 /* ./parser//parser_prod.nit:4081 */
23304 stack_frame_head = fra.me.prev;
23305 init_table[itpos97] = 1;
23306 return;
23307 }
23308 void parser_prod___ALabel___init_alabel(val_t p0, val_t p1, val_t p2, int* init_table){
23309 int itpos98 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ALabel].i;
23310 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
23311 val_t REGB0;
23312 val_t tmp;
23313 if (init_table[itpos98]) return;
23314 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23315 fra.me.file = LOCATE_parser_prod;
23316 fra.me.line = 4083;
23317 fra.me.meth = LOCATE_parser_prod___ALabel___init_alabel;
23318 fra.me.has_broke = 0;
23319 fra.me.REG_size = 3;
23320 fra.me.REG[0] = NIT_NULL;
23321 fra.me.REG[1] = NIT_NULL;
23322 fra.me.REG[2] = NIT_NULL;
23323 fra.me.REG[0] = p0;
23324 fra.me.REG[1] = p1;
23325 fra.me.REG[2] = p2;
23326 /* ./parser//parser_prod.nit:4088 */
23327 CALL_parser_prod___ALabel___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
23328 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
23329 /* ./parser//parser_prod.nit:4089 */
23330 if (UNTAG_Bool(REGB0)) {
23331 } else {
23332 fprintf(stderr, "Cast failed");
23333 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4089);
23334 nit_exit(1);
23335 }
23336 ATTR_parser_nodes___ALabel____n_kwlabel(fra.me.REG[0]) = fra.me.REG[1];
23337 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
23338 /* ./parser//parser_prod.nit:4090 */
23339 if (UNTAG_Bool(REGB0)) {
23340 fprintf(stderr, "Reciever is null");
23341 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4090);
23342 nit_exit(1);
23343 }
23344 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
23345 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
23346 /* ./parser//parser_prod.nit:4091 */
23347 if (UNTAG_Bool(REGB0)) {
23348 } else {
23349 fprintf(stderr, "Cast failed");
23350 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4091);
23351 nit_exit(1);
23352 }
23353 ATTR_parser_nodes___ALabel____n_id(fra.me.REG[0]) = fra.me.REG[2];
23354 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
23355 /* ./parser//parser_prod.nit:4092 */
23356 if (UNTAG_Bool(REGB0)) {
23357 fprintf(stderr, "Reciever is null");
23358 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4092);
23359 nit_exit(1);
23360 }
23361 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
23362 stack_frame_head = fra.me.prev;
23363 init_table[itpos98] = 1;
23364 return;
23365 }
23366 void parser_prod___ABlockExpr___replace_child(val_t p0, val_t p1, val_t p2){
23367 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
23368 val_t REGB0;
23369 val_t REGB1;
23370 val_t REGB2;
23371 val_t tmp;
23372 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23373 fra.me.file = LOCATE_parser_prod;
23374 fra.me.line = 4147;
23375 fra.me.meth = LOCATE_parser_prod___ABlockExpr___replace_child;
23376 fra.me.has_broke = 0;
23377 fra.me.REG_size = 5;
23378 fra.me.REG[0] = NIT_NULL;
23379 fra.me.REG[1] = NIT_NULL;
23380 fra.me.REG[2] = NIT_NULL;
23381 fra.me.REG[3] = NIT_NULL;
23382 fra.me.REG[4] = NIT_NULL;
23383 fra.me.REG[0] = p0;
23384 fra.me.REG[1] = p1;
23385 fra.me.REG[2] = p2;
23386 REGB0 = TAG_Int(0);
23387 REGB1 = TAG_Bool(ATTR_parser_nodes___ABlockExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
23388 /* ./parser//parser_prod.nit:4149 */
23389 if (UNTAG_Bool(REGB1)) {
23390 } else {
23391 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
23392 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4149);
23393 nit_exit(1);
23394 }
23395 fra.me.REG[3] = ATTR_parser_nodes___ABlockExpr____n_expr(fra.me.REG[0]);
23396 REGB1 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
23397 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB0, REGB1);
23398 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
23399 while(1) {
23400 REGB1 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
23401 if (UNTAG_Bool(REGB1)) {
23402 REGB1 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
23403 REGB0 = TAG_Bool(ATTR_parser_nodes___ABlockExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
23404 /* ./parser//parser_prod.nit:4150 */
23405 if (UNTAG_Bool(REGB0)) {
23406 } else {
23407 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
23408 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4150);
23409 nit_exit(1);
23410 }
23411 fra.me.REG[4] = ATTR_parser_nodes___ABlockExpr____n_expr(fra.me.REG[0]);
23412 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB1);
23413 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[4]));
23414 if (UNTAG_Bool(REGB0)) {
23415 } else {
23416 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
23417 if (UNTAG_Bool(REGB2)) {
23418 REGB2 = TAG_Bool(false);
23419 REGB0 = REGB2;
23420 } else {
23421 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
23422 REGB0 = REGB2;
23423 }
23424 }
23425 if (UNTAG_Bool(REGB0)) {
23426 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
23427 /* ./parser//parser_prod.nit:4151 */
23428 if (UNTAG_Bool(REGB0)) {
23429 } else {
23430 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
23431 if (UNTAG_Bool(REGB2)) {
23432 REGB2 = TAG_Bool(false);
23433 REGB0 = REGB2;
23434 } else {
23435 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
23436 REGB0 = REGB2;
23437 }
23438 }
23439 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
23440 if (UNTAG_Bool(REGB0)) {
23441 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
23442 /* ./parser//parser_prod.nit:4152 */
23443 if (UNTAG_Bool(REGB0)) {
23444 } else {
23445 fprintf(stderr, "Assert failed");
23446 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4152);
23447 nit_exit(1);
23448 }
23449 REGB0 = TAG_Bool(ATTR_parser_nodes___ABlockExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
23450 /* ./parser//parser_prod.nit:4153 */
23451 if (UNTAG_Bool(REGB0)) {
23452 } else {
23453 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
23454 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4153);
23455 nit_exit(1);
23456 }
23457 fra.me.REG[4] = ATTR_parser_nodes___ABlockExpr____n_expr(fra.me.REG[0]);
23458 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], REGB1, fra.me.REG[2]);
23459 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
23460 /* ./parser//parser_prod.nit:4154 */
23461 if (UNTAG_Bool(REGB0)) {
23462 fprintf(stderr, "Reciever is null");
23463 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4154);
23464 nit_exit(1);
23465 }
23466 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
23467 } else {
23468 REGB0 = TAG_Bool(ATTR_parser_nodes___ABlockExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
23469 /* ./parser//parser_prod.nit:4156 */
23470 if (UNTAG_Bool(REGB0)) {
23471 } else {
23472 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
23473 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4156);
23474 nit_exit(1);
23475 }
23476 fra.me.REG[4] = ATTR_parser_nodes___ABlockExpr____n_expr(fra.me.REG[0]);
23477 CALL_abstract_collection___Map___remove_at(fra.me.REG[4])(fra.me.REG[4], REGB1);
23478 }
23479 /* ./parser//parser_prod.nit:4158 */
23480 goto label1;
23481 }
23482 } else {
23483 /* ./parser//parser_prod.nit:4149 */
23484 goto label2;
23485 }
23486 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
23487 }
23488 label2: while(0);
23489 label1: while(0);
23490 stack_frame_head = fra.me.prev;
23491 return;
23492 }
23493 void parser_prod___ABlockExpr___visit_all(val_t p0, val_t p1){
23494 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
23495 val_t REGB0;
23496 val_t tmp;
23497 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23498 fra.me.file = LOCATE_parser_prod;
23499 fra.me.line = 4163;
23500 fra.me.meth = LOCATE_parser_prod___ABlockExpr___visit_all;
23501 fra.me.has_broke = 0;
23502 fra.me.REG_size = 3;
23503 fra.me.REG[0] = NIT_NULL;
23504 fra.me.REG[1] = NIT_NULL;
23505 fra.me.REG[2] = NIT_NULL;
23506 fra.me.REG[0] = p0;
23507 fra.me.REG[1] = p1;
23508 REGB0 = TAG_Bool(ATTR_parser_nodes___ABlockExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
23509 /* ./parser//parser_prod.nit:4165 */
23510 if (UNTAG_Bool(REGB0)) {
23511 } else {
23512 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
23513 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4165);
23514 nit_exit(1);
23515 }
23516 fra.me.REG[0] = ATTR_parser_nodes___ABlockExpr____n_expr(fra.me.REG[0]);
23517 fra.me.REG[0] = CALL_abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
23518 while(1) {
23519 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
23520 if (UNTAG_Bool(REGB0)) {
23521 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
23522 /* ./parser//parser_prod.nit:4166 */
23523 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
23524 } else {
23525 /* ./parser//parser_prod.nit:4165 */
23526 goto label1;
23527 }
23528 CALL_abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
23529 }
23530 label1: while(0);
23531 stack_frame_head = fra.me.prev;
23532 return;
23533 }
23534 void parser_prod___ABlockExpr___visit_all_reverse(val_t p0, val_t p1){
23535 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
23536 val_t REGB0;
23537 val_t REGB1;
23538 val_t tmp;
23539 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23540 fra.me.file = LOCATE_parser_prod;
23541 fra.me.line = 4170;
23542 fra.me.meth = LOCATE_parser_prod___ABlockExpr___visit_all_reverse;
23543 fra.me.has_broke = 0;
23544 fra.me.REG_size = 3;
23545 fra.me.REG[0] = NIT_NULL;
23546 fra.me.REG[1] = NIT_NULL;
23547 fra.me.REG[2] = NIT_NULL;
23548 fra.me.REG[0] = p0;
23549 fra.me.REG[1] = p1;
23550 REGB0 = TAG_Bool(ATTR_parser_nodes___ABlockExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
23551 /* ./parser//parser_prod.nit:4173 */
23552 if (UNTAG_Bool(REGB0)) {
23553 } else {
23554 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
23555 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4173);
23556 nit_exit(1);
23557 }
23558 fra.me.REG[2] = ATTR_parser_nodes___ABlockExpr____n_expr(fra.me.REG[0]);
23559 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
23560 /* ./parser//parser_prod.nit:4174 */
23561 while(1) {
23562 REGB1 = TAG_Int(0);
23563 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
23564 /* ./parser//parser_prod.nit:4174 */
23565 if (UNTAG_Bool(REGB1)) {
23566 REGB1 = TAG_Bool(ATTR_parser_nodes___ABlockExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
23567 /* ./parser//parser_prod.nit:4175 */
23568 if (UNTAG_Bool(REGB1)) {
23569 } else {
23570 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
23571 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4175);
23572 nit_exit(1);
23573 }
23574 fra.me.REG[2] = ATTR_parser_nodes___ABlockExpr____n_expr(fra.me.REG[0]);
23575 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
23576 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
23577 REGB1 = TAG_Int(1);
23578 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
23579 REGB0 = REGB1;
23580 /* ./parser//parser_prod.nit:4176 */
23581 } else {
23582 /* ./parser//parser_prod.nit:4174 */
23583 goto label1;
23584 }
23585 }
23586 label1: while(0);
23587 stack_frame_head = fra.me.prev;
23588 return;
23589 }
23590 void parser_prod___ABlockExpr___empty_init(val_t p0, int* init_table){
23591 int itpos99 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ABlockExpr].i;
23592 struct {struct stack_frame_t me;} fra;
23593 val_t tmp;
23594 if (init_table[itpos99]) return;
23595 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23596 fra.me.file = LOCATE_parser_prod;
23597 fra.me.line = 4133;
23598 fra.me.meth = LOCATE_parser_prod___ABlockExpr___empty_init;
23599 fra.me.has_broke = 0;
23600 fra.me.REG_size = 1;
23601 fra.me.REG[0] = NIT_NULL;
23602 fra.me.REG[0] = p0;
23603 /* ./parser//parser_prod.nit:4133 */
23604 stack_frame_head = fra.me.prev;
23605 init_table[itpos99] = 1;
23606 return;
23607 }
23608 void parser_prod___ABlockExpr___init_ablockexpr(val_t p0, val_t p1, int* init_table){
23609 int itpos100 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ABlockExpr].i;
23610 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
23611 val_t REGB0;
23612 val_t tmp;
23613 if (init_table[itpos100]) return;
23614 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23615 fra.me.file = LOCATE_parser_prod;
23616 fra.me.line = 4135;
23617 fra.me.meth = LOCATE_parser_prod___ABlockExpr___init_ablockexpr;
23618 fra.me.has_broke = 0;
23619 fra.me.REG_size = 4;
23620 fra.me.REG[0] = NIT_NULL;
23621 fra.me.REG[1] = NIT_NULL;
23622 fra.me.REG[2] = NIT_NULL;
23623 fra.me.REG[3] = NIT_NULL;
23624 fra.me.REG[0] = p0;
23625 fra.me.REG[1] = p1;
23626 /* ./parser//parser_prod.nit:4139 */
23627 CALL_parser_prod___ABlockExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
23628 fra.me.REG[1] = CALL_abstract_collection___Collection___iterator(fra.me.REG[1])(fra.me.REG[1]);
23629 /* ./parser//parser_prod.nit:4140 */
23630 while(1) {
23631 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[1])(fra.me.REG[1]);
23632 if (UNTAG_Bool(REGB0)) {
23633 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[1])(fra.me.REG[1]);
23634 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
23635 /* ./parser//parser_prod.nit:4141 */
23636 if (UNTAG_Bool(REGB0)) {
23637 } else {
23638 fprintf(stderr, "Assert failed");
23639 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4141);
23640 nit_exit(1);
23641 }
23642 REGB0 = TAG_Bool(ATTR_parser_nodes___ABlockExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
23643 /* ./parser//parser_prod.nit:4142 */
23644 if (UNTAG_Bool(REGB0)) {
23645 } else {
23646 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
23647 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4142);
23648 nit_exit(1);
23649 }
23650 fra.me.REG[3] = ATTR_parser_nodes___ABlockExpr____n_expr(fra.me.REG[0]);
23651 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
23652 /* ./parser//parser_prod.nit:4143 */
23653 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
23654 } else {
23655 /* ./parser//parser_prod.nit:4140 */
23656 goto label1;
23657 }
23658 CALL_abstract_collection___Iterator___next(fra.me.REG[1])(fra.me.REG[1]);
23659 }
23660 label1: while(0);
23661 stack_frame_head = fra.me.prev;
23662 init_table[itpos100] = 1;
23663 return;
23664 }
23665 void parser_prod___AVardeclExpr___n_kwvar__eq(val_t p0, val_t p1){
23666 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
23667 val_t tmp;
23668 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23669 fra.me.file = LOCATE_parser_prod;
23670 fra.me.line = 4182;
23671 fra.me.meth = LOCATE_parser_prod___AVardeclExpr___n_kwvar__eq;
23672 fra.me.has_broke = 0;
23673 fra.me.REG_size = 2;
23674 fra.me.REG[0] = NIT_NULL;
23675 fra.me.REG[1] = NIT_NULL;
23676 fra.me.REG[0] = p0;
23677 fra.me.REG[1] = p1;
23678 /* ./parser//parser_prod.nit:4184 */
23679 ATTR_parser_nodes___AVardeclExpr____n_kwvar(fra.me.REG[0]) = fra.me.REG[1];
23680 /* ./parser//parser_prod.nit:4185 */
23681 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
23682 stack_frame_head = fra.me.prev;
23683 return;
23684 }
23685 void parser_prod___AVardeclExpr___n_id__eq(val_t p0, val_t p1){
23686 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
23687 val_t tmp;
23688 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23689 fra.me.file = LOCATE_parser_prod;
23690 fra.me.line = 4187;
23691 fra.me.meth = LOCATE_parser_prod___AVardeclExpr___n_id__eq;
23692 fra.me.has_broke = 0;
23693 fra.me.REG_size = 2;
23694 fra.me.REG[0] = NIT_NULL;
23695 fra.me.REG[1] = NIT_NULL;
23696 fra.me.REG[0] = p0;
23697 fra.me.REG[1] = p1;
23698 /* ./parser//parser_prod.nit:4189 */
23699 ATTR_parser_nodes___AVardeclExpr____n_id(fra.me.REG[0]) = fra.me.REG[1];
23700 /* ./parser//parser_prod.nit:4190 */
23701 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
23702 stack_frame_head = fra.me.prev;
23703 return;
23704 }
23705 void parser_prod___AVardeclExpr___n_type__eq(val_t p0, val_t p1){
23706 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
23707 val_t REGB0;
23708 val_t REGB1;
23709 val_t tmp;
23710 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23711 fra.me.file = LOCATE_parser_prod;
23712 fra.me.line = 4192;
23713 fra.me.meth = LOCATE_parser_prod___AVardeclExpr___n_type__eq;
23714 fra.me.has_broke = 0;
23715 fra.me.REG_size = 2;
23716 fra.me.REG[0] = NIT_NULL;
23717 fra.me.REG[1] = NIT_NULL;
23718 fra.me.REG[0] = p0;
23719 fra.me.REG[1] = p1;
23720 /* ./parser//parser_prod.nit:4194 */
23721 ATTR_parser_nodes___AVardeclExpr____n_type(fra.me.REG[0]) = fra.me.REG[1];
23722 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
23723 /* ./parser//parser_prod.nit:4195 */
23724 if (UNTAG_Bool(REGB0)) {
23725 } else {
23726 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
23727 if (UNTAG_Bool(REGB1)) {
23728 REGB1 = TAG_Bool(false);
23729 REGB0 = REGB1;
23730 } else {
23731 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
23732 REGB0 = REGB1;
23733 }
23734 }
23735 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
23736 if (UNTAG_Bool(REGB0)) {
23737 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
23738 /* ./parser//parser_prod.nit:4196 */
23739 if (UNTAG_Bool(REGB0)) {
23740 fprintf(stderr, "Reciever is null");
23741 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4196);
23742 nit_exit(1);
23743 }
23744 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
23745 }
23746 stack_frame_head = fra.me.prev;
23747 return;
23748 }
23749 void parser_prod___AVardeclExpr___n_assign__eq(val_t p0, val_t p1){
23750 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
23751 val_t REGB0;
23752 val_t REGB1;
23753 val_t tmp;
23754 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23755 fra.me.file = LOCATE_parser_prod;
23756 fra.me.line = 4199;
23757 fra.me.meth = LOCATE_parser_prod___AVardeclExpr___n_assign__eq;
23758 fra.me.has_broke = 0;
23759 fra.me.REG_size = 2;
23760 fra.me.REG[0] = NIT_NULL;
23761 fra.me.REG[1] = NIT_NULL;
23762 fra.me.REG[0] = p0;
23763 fra.me.REG[1] = p1;
23764 /* ./parser//parser_prod.nit:4201 */
23765 ATTR_parser_nodes___AVardeclExpr____n_assign(fra.me.REG[0]) = fra.me.REG[1];
23766 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
23767 /* ./parser//parser_prod.nit:4202 */
23768 if (UNTAG_Bool(REGB0)) {
23769 } else {
23770 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
23771 if (UNTAG_Bool(REGB1)) {
23772 REGB1 = TAG_Bool(false);
23773 REGB0 = REGB1;
23774 } else {
23775 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
23776 REGB0 = REGB1;
23777 }
23778 }
23779 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
23780 if (UNTAG_Bool(REGB0)) {
23781 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
23782 /* ./parser//parser_prod.nit:4203 */
23783 if (UNTAG_Bool(REGB0)) {
23784 fprintf(stderr, "Reciever is null");
23785 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4203);
23786 nit_exit(1);
23787 }
23788 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
23789 }
23790 stack_frame_head = fra.me.prev;
23791 return;
23792 }
23793 void parser_prod___AVardeclExpr___n_expr__eq(val_t p0, val_t p1){
23794 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
23795 val_t REGB0;
23796 val_t REGB1;
23797 val_t tmp;
23798 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23799 fra.me.file = LOCATE_parser_prod;
23800 fra.me.line = 4206;
23801 fra.me.meth = LOCATE_parser_prod___AVardeclExpr___n_expr__eq;
23802 fra.me.has_broke = 0;
23803 fra.me.REG_size = 2;
23804 fra.me.REG[0] = NIT_NULL;
23805 fra.me.REG[1] = NIT_NULL;
23806 fra.me.REG[0] = p0;
23807 fra.me.REG[1] = p1;
23808 /* ./parser//parser_prod.nit:4208 */
23809 ATTR_parser_nodes___AVardeclExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
23810 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
23811 /* ./parser//parser_prod.nit:4209 */
23812 if (UNTAG_Bool(REGB0)) {
23813 } else {
23814 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
23815 if (UNTAG_Bool(REGB1)) {
23816 REGB1 = TAG_Bool(false);
23817 REGB0 = REGB1;
23818 } else {
23819 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
23820 REGB0 = REGB1;
23821 }
23822 }
23823 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
23824 if (UNTAG_Bool(REGB0)) {
23825 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
23826 /* ./parser//parser_prod.nit:4210 */
23827 if (UNTAG_Bool(REGB0)) {
23828 fprintf(stderr, "Reciever is null");
23829 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4210);
23830 nit_exit(1);
23831 }
23832 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
23833 }
23834 stack_frame_head = fra.me.prev;
23835 return;
23836 }
23837 void parser_prod___AVardeclExpr___replace_child(val_t p0, val_t p1, val_t p2){
23838 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
23839 val_t REGB0;
23840 val_t REGB1;
23841 val_t tmp;
23842 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
23843 fra.me.file = LOCATE_parser_prod;
23844 fra.me.line = 4243;
23845 fra.me.meth = LOCATE_parser_prod___AVardeclExpr___replace_child;
23846 fra.me.has_broke = 0;
23847 fra.me.REG_size = 4;
23848 fra.me.REG[0] = NIT_NULL;
23849 fra.me.REG[1] = NIT_NULL;
23850 fra.me.REG[2] = NIT_NULL;
23851 fra.me.REG[3] = NIT_NULL;
23852 fra.me.REG[0] = p0;
23853 fra.me.REG[1] = p1;
23854 fra.me.REG[2] = p2;
23855 REGB0 = TAG_Bool(ATTR_parser_nodes___AVardeclExpr____n_kwvar(fra.me.REG[0])!=NIT_NULL);
23856 /* ./parser//parser_prod.nit:4245 */
23857 if (UNTAG_Bool(REGB0)) {
23858 } else {
23859 fprintf(stderr, "Uninitialized attribute %s", "_n_kwvar");
23860 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4245);
23861 nit_exit(1);
23862 }
23863 fra.me.REG[3] = ATTR_parser_nodes___AVardeclExpr____n_kwvar(fra.me.REG[0]);
23864 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
23865 if (UNTAG_Bool(REGB0)) {
23866 } else {
23867 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
23868 REGB0 = REGB1;
23869 }
23870 if (UNTAG_Bool(REGB0)) {
23871 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
23872 /* ./parser//parser_prod.nit:4246 */
23873 if (UNTAG_Bool(REGB0)) {
23874 } else {
23875 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
23876 if (UNTAG_Bool(REGB1)) {
23877 REGB1 = TAG_Bool(false);
23878 REGB0 = REGB1;
23879 } else {
23880 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
23881 REGB0 = REGB1;
23882 }
23883 }
23884 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
23885 if (UNTAG_Bool(REGB0)) {
23886 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
23887 /* ./parser//parser_prod.nit:4247 */
23888 if (UNTAG_Bool(REGB0)) {
23889 fprintf(stderr, "Reciever is null");
23890 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4247);
23891 nit_exit(1);
23892 }
23893 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
23894 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwvar, ID_TKwvar)) /*cast TKwvar*/;
23895 /* ./parser//parser_prod.nit:4248 */
23896 if (UNTAG_Bool(REGB0)) {
23897 } else {
23898 fprintf(stderr, "Assert failed");
23899 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4248);
23900 nit_exit(1);
23901 }
23902 /* ./parser//parser_prod.nit:4249 */
23903 ATTR_parser_nodes___AVardeclExpr____n_kwvar(fra.me.REG[0]) = fra.me.REG[2];
23904 } else {
23905 /* ./parser//parser_prod.nit:4251 */
23906 fprintf(stderr, "Aborted");
23907 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4251);
23908 nit_exit(1);
23909 }
23910 /* ./parser//parser_prod.nit:4253 */
23911 goto label1;
23912 }
23913 REGB0 = TAG_Bool(ATTR_parser_nodes___AVardeclExpr____n_id(fra.me.REG[0])!=NIT_NULL);
23914 /* ./parser//parser_prod.nit:4255 */
23915 if (UNTAG_Bool(REGB0)) {
23916 } else {
23917 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
23918 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4255);
23919 nit_exit(1);
23920 }
23921 fra.me.REG[3] = ATTR_parser_nodes___AVardeclExpr____n_id(fra.me.REG[0]);
23922 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
23923 if (UNTAG_Bool(REGB0)) {
23924 } else {
23925 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
23926 REGB0 = REGB1;
23927 }
23928 if (UNTAG_Bool(REGB0)) {
23929 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
23930 /* ./parser//parser_prod.nit:4256 */
23931 if (UNTAG_Bool(REGB0)) {
23932 } else {
23933 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
23934 if (UNTAG_Bool(REGB1)) {
23935 REGB1 = TAG_Bool(false);
23936 REGB0 = REGB1;
23937 } else {
23938 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
23939 REGB0 = REGB1;
23940 }
23941 }
23942 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
23943 if (UNTAG_Bool(REGB0)) {
23944 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
23945 /* ./parser//parser_prod.nit:4257 */
23946 if (UNTAG_Bool(REGB0)) {
23947 fprintf(stderr, "Reciever is null");
23948 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4257);
23949 nit_exit(1);
23950 }
23951 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
23952 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast TId*/;
23953 /* ./parser//parser_prod.nit:4258 */
23954 if (UNTAG_Bool(REGB0)) {
23955 } else {
23956 fprintf(stderr, "Assert failed");
23957 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4258);
23958 nit_exit(1);
23959 }
23960 /* ./parser//parser_prod.nit:4259 */
23961 ATTR_parser_nodes___AVardeclExpr____n_id(fra.me.REG[0]) = fra.me.REG[2];
23962 } else {
23963 /* ./parser//parser_prod.nit:4261 */
23964 fprintf(stderr, "Aborted");
23965 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4261);
23966 nit_exit(1);
23967 }
23968 /* ./parser//parser_prod.nit:4263 */
23969 goto label1;
23970 }
23971 fra.me.REG[3] = ATTR_parser_nodes___AVardeclExpr____n_type(fra.me.REG[0]);
23972 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
23973 /* ./parser//parser_prod.nit:4265 */
23974 if (UNTAG_Bool(REGB0)) {
23975 } else {
23976 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
23977 if (UNTAG_Bool(REGB1)) {
23978 REGB1 = TAG_Bool(false);
23979 REGB0 = REGB1;
23980 } else {
23981 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
23982 REGB0 = REGB1;
23983 }
23984 }
23985 if (UNTAG_Bool(REGB0)) {
23986 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
23987 /* ./parser//parser_prod.nit:4266 */
23988 if (UNTAG_Bool(REGB0)) {
23989 } else {
23990 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
23991 if (UNTAG_Bool(REGB1)) {
23992 REGB1 = TAG_Bool(false);
23993 REGB0 = REGB1;
23994 } else {
23995 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
23996 REGB0 = REGB1;
23997 }
23998 }
23999 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
24000 if (UNTAG_Bool(REGB0)) {
24001 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24002 /* ./parser//parser_prod.nit:4267 */
24003 if (UNTAG_Bool(REGB0)) {
24004 fprintf(stderr, "Reciever is null");
24005 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4267);
24006 nit_exit(1);
24007 }
24008 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
24009 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast AType*/;
24010 /* ./parser//parser_prod.nit:4268 */
24011 if (UNTAG_Bool(REGB0)) {
24012 } else {
24013 fprintf(stderr, "Assert failed");
24014 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4268);
24015 nit_exit(1);
24016 }
24017 /* ./parser//parser_prod.nit:4269 */
24018 ATTR_parser_nodes___AVardeclExpr____n_type(fra.me.REG[0]) = fra.me.REG[2];
24019 } else {
24020 /* ./parser//parser_prod.nit:4271 */
24021 ATTR_parser_nodes___AVardeclExpr____n_type(fra.me.REG[0]) = NIT_NULL;
24022 }
24023 /* ./parser//parser_prod.nit:4273 */
24024 goto label1;
24025 }
24026 fra.me.REG[3] = ATTR_parser_nodes___AVardeclExpr____n_assign(fra.me.REG[0]);
24027 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
24028 /* ./parser//parser_prod.nit:4275 */
24029 if (UNTAG_Bool(REGB0)) {
24030 } else {
24031 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
24032 if (UNTAG_Bool(REGB1)) {
24033 REGB1 = TAG_Bool(false);
24034 REGB0 = REGB1;
24035 } else {
24036 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
24037 REGB0 = REGB1;
24038 }
24039 }
24040 if (UNTAG_Bool(REGB0)) {
24041 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24042 /* ./parser//parser_prod.nit:4276 */
24043 if (UNTAG_Bool(REGB0)) {
24044 } else {
24045 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24046 if (UNTAG_Bool(REGB1)) {
24047 REGB1 = TAG_Bool(false);
24048 REGB0 = REGB1;
24049 } else {
24050 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
24051 REGB0 = REGB1;
24052 }
24053 }
24054 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
24055 if (UNTAG_Bool(REGB0)) {
24056 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24057 /* ./parser//parser_prod.nit:4277 */
24058 if (UNTAG_Bool(REGB0)) {
24059 fprintf(stderr, "Reciever is null");
24060 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4277);
24061 nit_exit(1);
24062 }
24063 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
24064 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
24065 /* ./parser//parser_prod.nit:4278 */
24066 if (UNTAG_Bool(REGB0)) {
24067 } else {
24068 fprintf(stderr, "Assert failed");
24069 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4278);
24070 nit_exit(1);
24071 }
24072 /* ./parser//parser_prod.nit:4279 */
24073 ATTR_parser_nodes___AVardeclExpr____n_assign(fra.me.REG[0]) = fra.me.REG[2];
24074 } else {
24075 /* ./parser//parser_prod.nit:4281 */
24076 ATTR_parser_nodes___AVardeclExpr____n_assign(fra.me.REG[0]) = NIT_NULL;
24077 }
24078 /* ./parser//parser_prod.nit:4283 */
24079 goto label1;
24080 }
24081 fra.me.REG[3] = ATTR_parser_nodes___AVardeclExpr____n_expr(fra.me.REG[0]);
24082 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
24083 /* ./parser//parser_prod.nit:4285 */
24084 if (UNTAG_Bool(REGB0)) {
24085 } else {
24086 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
24087 if (UNTAG_Bool(REGB1)) {
24088 REGB1 = TAG_Bool(false);
24089 REGB0 = REGB1;
24090 } else {
24091 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
24092 REGB0 = REGB1;
24093 }
24094 }
24095 if (UNTAG_Bool(REGB0)) {
24096 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24097 /* ./parser//parser_prod.nit:4286 */
24098 if (UNTAG_Bool(REGB0)) {
24099 } else {
24100 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24101 if (UNTAG_Bool(REGB1)) {
24102 REGB1 = TAG_Bool(false);
24103 REGB0 = REGB1;
24104 } else {
24105 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
24106 REGB0 = REGB1;
24107 }
24108 }
24109 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
24110 if (UNTAG_Bool(REGB0)) {
24111 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24112 /* ./parser//parser_prod.nit:4287 */
24113 if (UNTAG_Bool(REGB0)) {
24114 fprintf(stderr, "Reciever is null");
24115 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4287);
24116 nit_exit(1);
24117 }
24118 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
24119 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
24120 /* ./parser//parser_prod.nit:4288 */
24121 if (UNTAG_Bool(REGB0)) {
24122 } else {
24123 fprintf(stderr, "Assert failed");
24124 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4288);
24125 nit_exit(1);
24126 }
24127 /* ./parser//parser_prod.nit:4289 */
24128 ATTR_parser_nodes___AVardeclExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
24129 } else {
24130 /* ./parser//parser_prod.nit:4291 */
24131 ATTR_parser_nodes___AVardeclExpr____n_expr(fra.me.REG[0]) = NIT_NULL;
24132 }
24133 /* ./parser//parser_prod.nit:4293 */
24134 goto label1;
24135 }
24136 label1: while(0);
24137 stack_frame_head = fra.me.prev;
24138 return;
24139 }
24140 void parser_prod___AVardeclExpr___visit_all(val_t p0, val_t p1){
24141 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
24142 val_t REGB0;
24143 val_t REGB1;
24144 val_t tmp;
24145 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24146 fra.me.file = LOCATE_parser_prod;
24147 fra.me.line = 4297;
24148 fra.me.meth = LOCATE_parser_prod___AVardeclExpr___visit_all;
24149 fra.me.has_broke = 0;
24150 fra.me.REG_size = 3;
24151 fra.me.REG[0] = NIT_NULL;
24152 fra.me.REG[1] = NIT_NULL;
24153 fra.me.REG[2] = NIT_NULL;
24154 fra.me.REG[0] = p0;
24155 fra.me.REG[1] = p1;
24156 REGB0 = TAG_Bool(ATTR_parser_nodes___AVardeclExpr____n_kwvar(fra.me.REG[0])!=NIT_NULL);
24157 /* ./parser//parser_prod.nit:4299 */
24158 if (UNTAG_Bool(REGB0)) {
24159 } else {
24160 fprintf(stderr, "Uninitialized attribute %s", "_n_kwvar");
24161 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4299);
24162 nit_exit(1);
24163 }
24164 fra.me.REG[2] = ATTR_parser_nodes___AVardeclExpr____n_kwvar(fra.me.REG[0]);
24165 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
24166 REGB0 = TAG_Bool(ATTR_parser_nodes___AVardeclExpr____n_id(fra.me.REG[0])!=NIT_NULL);
24167 /* ./parser//parser_prod.nit:4300 */
24168 if (UNTAG_Bool(REGB0)) {
24169 } else {
24170 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
24171 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4300);
24172 nit_exit(1);
24173 }
24174 fra.me.REG[2] = ATTR_parser_nodes___AVardeclExpr____n_id(fra.me.REG[0]);
24175 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
24176 fra.me.REG[2] = ATTR_parser_nodes___AVardeclExpr____n_type(fra.me.REG[0]);
24177 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24178 /* ./parser//parser_prod.nit:4301 */
24179 if (UNTAG_Bool(REGB0)) {
24180 } else {
24181 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24182 if (UNTAG_Bool(REGB1)) {
24183 REGB1 = TAG_Bool(false);
24184 REGB0 = REGB1;
24185 } else {
24186 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
24187 REGB0 = REGB1;
24188 }
24189 }
24190 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
24191 if (UNTAG_Bool(REGB0)) {
24192 fra.me.REG[2] = ATTR_parser_nodes___AVardeclExpr____n_type(fra.me.REG[0]);
24193 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast AType*/;
24194 /* ./parser//parser_prod.nit:4302 */
24195 if (UNTAG_Bool(REGB0)) {
24196 } else {
24197 fprintf(stderr, "Cast failed");
24198 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4302);
24199 nit_exit(1);
24200 }
24201 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
24202 }
24203 fra.me.REG[2] = ATTR_parser_nodes___AVardeclExpr____n_assign(fra.me.REG[0]);
24204 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24205 /* ./parser//parser_prod.nit:4304 */
24206 if (UNTAG_Bool(REGB0)) {
24207 } else {
24208 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24209 if (UNTAG_Bool(REGB1)) {
24210 REGB1 = TAG_Bool(false);
24211 REGB0 = REGB1;
24212 } else {
24213 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
24214 REGB0 = REGB1;
24215 }
24216 }
24217 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
24218 if (UNTAG_Bool(REGB0)) {
24219 fra.me.REG[2] = ATTR_parser_nodes___AVardeclExpr____n_assign(fra.me.REG[0]);
24220 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
24221 /* ./parser//parser_prod.nit:4305 */
24222 if (UNTAG_Bool(REGB0)) {
24223 } else {
24224 fprintf(stderr, "Cast failed");
24225 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4305);
24226 nit_exit(1);
24227 }
24228 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
24229 }
24230 fra.me.REG[2] = ATTR_parser_nodes___AVardeclExpr____n_expr(fra.me.REG[0]);
24231 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24232 /* ./parser//parser_prod.nit:4307 */
24233 if (UNTAG_Bool(REGB0)) {
24234 } else {
24235 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24236 if (UNTAG_Bool(REGB1)) {
24237 REGB1 = TAG_Bool(false);
24238 REGB0 = REGB1;
24239 } else {
24240 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
24241 REGB0 = REGB1;
24242 }
24243 }
24244 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
24245 if (UNTAG_Bool(REGB0)) {
24246 fra.me.REG[0] = ATTR_parser_nodes___AVardeclExpr____n_expr(fra.me.REG[0]);
24247 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
24248 /* ./parser//parser_prod.nit:4308 */
24249 if (UNTAG_Bool(REGB0)) {
24250 } else {
24251 fprintf(stderr, "Cast failed");
24252 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4308);
24253 nit_exit(1);
24254 }
24255 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
24256 }
24257 stack_frame_head = fra.me.prev;
24258 return;
24259 }
24260 void parser_prod___AVardeclExpr___visit_all_reverse(val_t p0, val_t p1){
24261 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
24262 val_t REGB0;
24263 val_t REGB1;
24264 val_t tmp;
24265 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24266 fra.me.file = LOCATE_parser_prod;
24267 fra.me.line = 4312;
24268 fra.me.meth = LOCATE_parser_prod___AVardeclExpr___visit_all_reverse;
24269 fra.me.has_broke = 0;
24270 fra.me.REG_size = 3;
24271 fra.me.REG[0] = NIT_NULL;
24272 fra.me.REG[1] = NIT_NULL;
24273 fra.me.REG[2] = NIT_NULL;
24274 fra.me.REG[0] = p0;
24275 fra.me.REG[1] = p1;
24276 REGB0 = TAG_Bool(ATTR_parser_nodes___AVardeclExpr____n_kwvar(fra.me.REG[0])!=NIT_NULL);
24277 /* ./parser//parser_prod.nit:4314 */
24278 if (UNTAG_Bool(REGB0)) {
24279 } else {
24280 fprintf(stderr, "Uninitialized attribute %s", "_n_kwvar");
24281 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4314);
24282 nit_exit(1);
24283 }
24284 fra.me.REG[2] = ATTR_parser_nodes___AVardeclExpr____n_kwvar(fra.me.REG[0]);
24285 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
24286 REGB0 = TAG_Bool(ATTR_parser_nodes___AVardeclExpr____n_id(fra.me.REG[0])!=NIT_NULL);
24287 /* ./parser//parser_prod.nit:4315 */
24288 if (UNTAG_Bool(REGB0)) {
24289 } else {
24290 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
24291 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4315);
24292 nit_exit(1);
24293 }
24294 fra.me.REG[2] = ATTR_parser_nodes___AVardeclExpr____n_id(fra.me.REG[0]);
24295 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
24296 fra.me.REG[2] = ATTR_parser_nodes___AVardeclExpr____n_type(fra.me.REG[0]);
24297 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24298 /* ./parser//parser_prod.nit:4316 */
24299 if (UNTAG_Bool(REGB0)) {
24300 } else {
24301 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24302 if (UNTAG_Bool(REGB1)) {
24303 REGB1 = TAG_Bool(false);
24304 REGB0 = REGB1;
24305 } else {
24306 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
24307 REGB0 = REGB1;
24308 }
24309 }
24310 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
24311 if (UNTAG_Bool(REGB0)) {
24312 fra.me.REG[2] = ATTR_parser_nodes___AVardeclExpr____n_type(fra.me.REG[0]);
24313 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast AType*/;
24314 /* ./parser//parser_prod.nit:4317 */
24315 if (UNTAG_Bool(REGB0)) {
24316 } else {
24317 fprintf(stderr, "Cast failed");
24318 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4317);
24319 nit_exit(1);
24320 }
24321 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
24322 }
24323 fra.me.REG[2] = ATTR_parser_nodes___AVardeclExpr____n_assign(fra.me.REG[0]);
24324 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24325 /* ./parser//parser_prod.nit:4319 */
24326 if (UNTAG_Bool(REGB0)) {
24327 } else {
24328 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24329 if (UNTAG_Bool(REGB1)) {
24330 REGB1 = TAG_Bool(false);
24331 REGB0 = REGB1;
24332 } else {
24333 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
24334 REGB0 = REGB1;
24335 }
24336 }
24337 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
24338 if (UNTAG_Bool(REGB0)) {
24339 fra.me.REG[2] = ATTR_parser_nodes___AVardeclExpr____n_assign(fra.me.REG[0]);
24340 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
24341 /* ./parser//parser_prod.nit:4320 */
24342 if (UNTAG_Bool(REGB0)) {
24343 } else {
24344 fprintf(stderr, "Cast failed");
24345 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4320);
24346 nit_exit(1);
24347 }
24348 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
24349 }
24350 fra.me.REG[2] = ATTR_parser_nodes___AVardeclExpr____n_expr(fra.me.REG[0]);
24351 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24352 /* ./parser//parser_prod.nit:4322 */
24353 if (UNTAG_Bool(REGB0)) {
24354 } else {
24355 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24356 if (UNTAG_Bool(REGB1)) {
24357 REGB1 = TAG_Bool(false);
24358 REGB0 = REGB1;
24359 } else {
24360 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
24361 REGB0 = REGB1;
24362 }
24363 }
24364 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
24365 if (UNTAG_Bool(REGB0)) {
24366 fra.me.REG[0] = ATTR_parser_nodes___AVardeclExpr____n_expr(fra.me.REG[0]);
24367 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
24368 /* ./parser//parser_prod.nit:4323 */
24369 if (UNTAG_Bool(REGB0)) {
24370 } else {
24371 fprintf(stderr, "Cast failed");
24372 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4323);
24373 nit_exit(1);
24374 }
24375 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
24376 }
24377 stack_frame_head = fra.me.prev;
24378 return;
24379 }
24380 void parser_prod___AVardeclExpr___empty_init(val_t p0, int* init_table){
24381 int itpos101 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AVardeclExpr].i;
24382 struct {struct stack_frame_t me;} fra;
24383 val_t tmp;
24384 if (init_table[itpos101]) return;
24385 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24386 fra.me.file = LOCATE_parser_prod;
24387 fra.me.line = 4214;
24388 fra.me.meth = LOCATE_parser_prod___AVardeclExpr___empty_init;
24389 fra.me.has_broke = 0;
24390 fra.me.REG_size = 1;
24391 fra.me.REG[0] = NIT_NULL;
24392 fra.me.REG[0] = p0;
24393 /* ./parser//parser_prod.nit:4214 */
24394 stack_frame_head = fra.me.prev;
24395 init_table[itpos101] = 1;
24396 return;
24397 }
24398 void parser_prod___AVardeclExpr___init_avardeclexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, int* init_table){
24399 int itpos102 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AVardeclExpr].i;
24400 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
24401 val_t REGB0;
24402 val_t REGB1;
24403 val_t tmp;
24404 if (init_table[itpos102]) return;
24405 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24406 fra.me.file = LOCATE_parser_prod;
24407 fra.me.line = 4216;
24408 fra.me.meth = LOCATE_parser_prod___AVardeclExpr___init_avardeclexpr;
24409 fra.me.has_broke = 0;
24410 fra.me.REG_size = 6;
24411 fra.me.REG[0] = NIT_NULL;
24412 fra.me.REG[1] = NIT_NULL;
24413 fra.me.REG[2] = NIT_NULL;
24414 fra.me.REG[3] = NIT_NULL;
24415 fra.me.REG[4] = NIT_NULL;
24416 fra.me.REG[5] = NIT_NULL;
24417 fra.me.REG[0] = p0;
24418 fra.me.REG[1] = p1;
24419 fra.me.REG[2] = p2;
24420 fra.me.REG[3] = p3;
24421 fra.me.REG[4] = p4;
24422 fra.me.REG[5] = p5;
24423 /* ./parser//parser_prod.nit:4224 */
24424 CALL_parser_prod___AVardeclExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
24425 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
24426 /* ./parser//parser_prod.nit:4225 */
24427 if (UNTAG_Bool(REGB0)) {
24428 } else {
24429 fprintf(stderr, "Cast failed");
24430 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4225);
24431 nit_exit(1);
24432 }
24433 ATTR_parser_nodes___AVardeclExpr____n_kwvar(fra.me.REG[0]) = fra.me.REG[1];
24434 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
24435 /* ./parser//parser_prod.nit:4226 */
24436 if (UNTAG_Bool(REGB0)) {
24437 fprintf(stderr, "Reciever is null");
24438 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4226);
24439 nit_exit(1);
24440 }
24441 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
24442 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
24443 /* ./parser//parser_prod.nit:4227 */
24444 if (UNTAG_Bool(REGB0)) {
24445 } else {
24446 fprintf(stderr, "Cast failed");
24447 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4227);
24448 nit_exit(1);
24449 }
24450 ATTR_parser_nodes___AVardeclExpr____n_id(fra.me.REG[0]) = fra.me.REG[2];
24451 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24452 /* ./parser//parser_prod.nit:4228 */
24453 if (UNTAG_Bool(REGB0)) {
24454 fprintf(stderr, "Reciever is null");
24455 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4228);
24456 nit_exit(1);
24457 }
24458 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
24459 /* ./parser//parser_prod.nit:4229 */
24460 ATTR_parser_nodes___AVardeclExpr____n_type(fra.me.REG[0]) = fra.me.REG[3];
24461 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
24462 /* ./parser//parser_prod.nit:4230 */
24463 if (UNTAG_Bool(REGB0)) {
24464 } else {
24465 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
24466 if (UNTAG_Bool(REGB1)) {
24467 REGB1 = TAG_Bool(false);
24468 REGB0 = REGB1;
24469 } else {
24470 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
24471 REGB0 = REGB1;
24472 }
24473 }
24474 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
24475 if (UNTAG_Bool(REGB0)) {
24476 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
24477 /* ./parser//parser_prod.nit:4231 */
24478 if (UNTAG_Bool(REGB0)) {
24479 fprintf(stderr, "Reciever is null");
24480 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4231);
24481 nit_exit(1);
24482 }
24483 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
24484 }
24485 /* ./parser//parser_prod.nit:4233 */
24486 ATTR_parser_nodes___AVardeclExpr____n_assign(fra.me.REG[0]) = fra.me.REG[4];
24487 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
24488 /* ./parser//parser_prod.nit:4234 */
24489 if (UNTAG_Bool(REGB0)) {
24490 } else {
24491 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
24492 if (UNTAG_Bool(REGB1)) {
24493 REGB1 = TAG_Bool(false);
24494 REGB0 = REGB1;
24495 } else {
24496 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
24497 REGB0 = REGB1;
24498 }
24499 }
24500 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
24501 if (UNTAG_Bool(REGB0)) {
24502 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
24503 /* ./parser//parser_prod.nit:4235 */
24504 if (UNTAG_Bool(REGB0)) {
24505 fprintf(stderr, "Reciever is null");
24506 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4235);
24507 nit_exit(1);
24508 }
24509 CALL_parser_prod___ANode___parent__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
24510 }
24511 /* ./parser//parser_prod.nit:4237 */
24512 ATTR_parser_nodes___AVardeclExpr____n_expr(fra.me.REG[0]) = fra.me.REG[5];
24513 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
24514 /* ./parser//parser_prod.nit:4238 */
24515 if (UNTAG_Bool(REGB0)) {
24516 } else {
24517 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
24518 if (UNTAG_Bool(REGB1)) {
24519 REGB1 = TAG_Bool(false);
24520 REGB0 = REGB1;
24521 } else {
24522 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
24523 REGB0 = REGB1;
24524 }
24525 }
24526 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
24527 if (UNTAG_Bool(REGB0)) {
24528 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
24529 /* ./parser//parser_prod.nit:4239 */
24530 if (UNTAG_Bool(REGB0)) {
24531 fprintf(stderr, "Reciever is null");
24532 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4239);
24533 nit_exit(1);
24534 }
24535 CALL_parser_prod___ANode___parent__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[0]);
24536 }
24537 stack_frame_head = fra.me.prev;
24538 init_table[itpos102] = 1;
24539 return;
24540 }
24541 void parser_prod___AReturnExpr___n_kwreturn__eq(val_t p0, val_t p1){
24542 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
24543 val_t REGB0;
24544 val_t REGB1;
24545 val_t tmp;
24546 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24547 fra.me.file = LOCATE_parser_prod;
24548 fra.me.line = 4328;
24549 fra.me.meth = LOCATE_parser_prod___AReturnExpr___n_kwreturn__eq;
24550 fra.me.has_broke = 0;
24551 fra.me.REG_size = 2;
24552 fra.me.REG[0] = NIT_NULL;
24553 fra.me.REG[1] = NIT_NULL;
24554 fra.me.REG[0] = p0;
24555 fra.me.REG[1] = p1;
24556 /* ./parser//parser_prod.nit:4330 */
24557 ATTR_parser_nodes___AReturnExpr____n_kwreturn(fra.me.REG[0]) = fra.me.REG[1];
24558 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
24559 /* ./parser//parser_prod.nit:4331 */
24560 if (UNTAG_Bool(REGB0)) {
24561 } else {
24562 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
24563 if (UNTAG_Bool(REGB1)) {
24564 REGB1 = TAG_Bool(false);
24565 REGB0 = REGB1;
24566 } else {
24567 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
24568 REGB0 = REGB1;
24569 }
24570 }
24571 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
24572 if (UNTAG_Bool(REGB0)) {
24573 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
24574 /* ./parser//parser_prod.nit:4332 */
24575 if (UNTAG_Bool(REGB0)) {
24576 fprintf(stderr, "Reciever is null");
24577 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4332);
24578 nit_exit(1);
24579 }
24580 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
24581 }
24582 stack_frame_head = fra.me.prev;
24583 return;
24584 }
24585 void parser_prod___AReturnExpr___n_expr__eq(val_t p0, val_t p1){
24586 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
24587 val_t REGB0;
24588 val_t REGB1;
24589 val_t tmp;
24590 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24591 fra.me.file = LOCATE_parser_prod;
24592 fra.me.line = 4335;
24593 fra.me.meth = LOCATE_parser_prod___AReturnExpr___n_expr__eq;
24594 fra.me.has_broke = 0;
24595 fra.me.REG_size = 2;
24596 fra.me.REG[0] = NIT_NULL;
24597 fra.me.REG[1] = NIT_NULL;
24598 fra.me.REG[0] = p0;
24599 fra.me.REG[1] = p1;
24600 /* ./parser//parser_prod.nit:4337 */
24601 ATTR_parser_nodes___AReturnExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
24602 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
24603 /* ./parser//parser_prod.nit:4338 */
24604 if (UNTAG_Bool(REGB0)) {
24605 } else {
24606 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
24607 if (UNTAG_Bool(REGB1)) {
24608 REGB1 = TAG_Bool(false);
24609 REGB0 = REGB1;
24610 } else {
24611 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
24612 REGB0 = REGB1;
24613 }
24614 }
24615 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
24616 if (UNTAG_Bool(REGB0)) {
24617 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
24618 /* ./parser//parser_prod.nit:4339 */
24619 if (UNTAG_Bool(REGB0)) {
24620 fprintf(stderr, "Reciever is null");
24621 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4339);
24622 nit_exit(1);
24623 }
24624 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
24625 }
24626 stack_frame_head = fra.me.prev;
24627 return;
24628 }
24629 void parser_prod___AReturnExpr___replace_child(val_t p0, val_t p1, val_t p2){
24630 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
24631 val_t REGB0;
24632 val_t REGB1;
24633 val_t tmp;
24634 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24635 fra.me.file = LOCATE_parser_prod;
24636 fra.me.line = 4361;
24637 fra.me.meth = LOCATE_parser_prod___AReturnExpr___replace_child;
24638 fra.me.has_broke = 0;
24639 fra.me.REG_size = 4;
24640 fra.me.REG[0] = NIT_NULL;
24641 fra.me.REG[1] = NIT_NULL;
24642 fra.me.REG[2] = NIT_NULL;
24643 fra.me.REG[3] = NIT_NULL;
24644 fra.me.REG[0] = p0;
24645 fra.me.REG[1] = p1;
24646 fra.me.REG[2] = p2;
24647 fra.me.REG[3] = ATTR_parser_nodes___AReturnExpr____n_kwreturn(fra.me.REG[0]);
24648 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
24649 /* ./parser//parser_prod.nit:4363 */
24650 if (UNTAG_Bool(REGB0)) {
24651 } else {
24652 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
24653 if (UNTAG_Bool(REGB1)) {
24654 REGB1 = TAG_Bool(false);
24655 REGB0 = REGB1;
24656 } else {
24657 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
24658 REGB0 = REGB1;
24659 }
24660 }
24661 if (UNTAG_Bool(REGB0)) {
24662 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24663 /* ./parser//parser_prod.nit:4364 */
24664 if (UNTAG_Bool(REGB0)) {
24665 } else {
24666 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24667 if (UNTAG_Bool(REGB1)) {
24668 REGB1 = TAG_Bool(false);
24669 REGB0 = REGB1;
24670 } else {
24671 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
24672 REGB0 = REGB1;
24673 }
24674 }
24675 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
24676 if (UNTAG_Bool(REGB0)) {
24677 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24678 /* ./parser//parser_prod.nit:4365 */
24679 if (UNTAG_Bool(REGB0)) {
24680 fprintf(stderr, "Reciever is null");
24681 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4365);
24682 nit_exit(1);
24683 }
24684 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
24685 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/;
24686 /* ./parser//parser_prod.nit:4366 */
24687 if (UNTAG_Bool(REGB0)) {
24688 } else {
24689 fprintf(stderr, "Assert failed");
24690 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4366);
24691 nit_exit(1);
24692 }
24693 /* ./parser//parser_prod.nit:4367 */
24694 ATTR_parser_nodes___AReturnExpr____n_kwreturn(fra.me.REG[0]) = fra.me.REG[2];
24695 } else {
24696 /* ./parser//parser_prod.nit:4369 */
24697 ATTR_parser_nodes___AReturnExpr____n_kwreturn(fra.me.REG[0]) = NIT_NULL;
24698 }
24699 /* ./parser//parser_prod.nit:4371 */
24700 goto label1;
24701 }
24702 fra.me.REG[3] = ATTR_parser_nodes___AReturnExpr____n_expr(fra.me.REG[0]);
24703 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
24704 /* ./parser//parser_prod.nit:4373 */
24705 if (UNTAG_Bool(REGB0)) {
24706 } else {
24707 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
24708 if (UNTAG_Bool(REGB1)) {
24709 REGB1 = TAG_Bool(false);
24710 REGB0 = REGB1;
24711 } else {
24712 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
24713 REGB0 = REGB1;
24714 }
24715 }
24716 if (UNTAG_Bool(REGB0)) {
24717 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24718 /* ./parser//parser_prod.nit:4374 */
24719 if (UNTAG_Bool(REGB0)) {
24720 } else {
24721 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24722 if (UNTAG_Bool(REGB1)) {
24723 REGB1 = TAG_Bool(false);
24724 REGB0 = REGB1;
24725 } else {
24726 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
24727 REGB0 = REGB1;
24728 }
24729 }
24730 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
24731 if (UNTAG_Bool(REGB0)) {
24732 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24733 /* ./parser//parser_prod.nit:4375 */
24734 if (UNTAG_Bool(REGB0)) {
24735 fprintf(stderr, "Reciever is null");
24736 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4375);
24737 nit_exit(1);
24738 }
24739 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
24740 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
24741 /* ./parser//parser_prod.nit:4376 */
24742 if (UNTAG_Bool(REGB0)) {
24743 } else {
24744 fprintf(stderr, "Assert failed");
24745 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4376);
24746 nit_exit(1);
24747 }
24748 /* ./parser//parser_prod.nit:4377 */
24749 ATTR_parser_nodes___AReturnExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
24750 } else {
24751 /* ./parser//parser_prod.nit:4379 */
24752 ATTR_parser_nodes___AReturnExpr____n_expr(fra.me.REG[0]) = NIT_NULL;
24753 }
24754 /* ./parser//parser_prod.nit:4381 */
24755 goto label1;
24756 }
24757 label1: while(0);
24758 stack_frame_head = fra.me.prev;
24759 return;
24760 }
24761 void parser_prod___AReturnExpr___visit_all(val_t p0, val_t p1){
24762 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
24763 val_t REGB0;
24764 val_t REGB1;
24765 val_t tmp;
24766 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24767 fra.me.file = LOCATE_parser_prod;
24768 fra.me.line = 4385;
24769 fra.me.meth = LOCATE_parser_prod___AReturnExpr___visit_all;
24770 fra.me.has_broke = 0;
24771 fra.me.REG_size = 3;
24772 fra.me.REG[0] = NIT_NULL;
24773 fra.me.REG[1] = NIT_NULL;
24774 fra.me.REG[2] = NIT_NULL;
24775 fra.me.REG[0] = p0;
24776 fra.me.REG[1] = p1;
24777 fra.me.REG[2] = ATTR_parser_nodes___AReturnExpr____n_kwreturn(fra.me.REG[0]);
24778 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24779 /* ./parser//parser_prod.nit:4387 */
24780 if (UNTAG_Bool(REGB0)) {
24781 } else {
24782 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24783 if (UNTAG_Bool(REGB1)) {
24784 REGB1 = TAG_Bool(false);
24785 REGB0 = REGB1;
24786 } else {
24787 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
24788 REGB0 = REGB1;
24789 }
24790 }
24791 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
24792 if (UNTAG_Bool(REGB0)) {
24793 fra.me.REG[2] = ATTR_parser_nodes___AReturnExpr____n_kwreturn(fra.me.REG[0]);
24794 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/;
24795 /* ./parser//parser_prod.nit:4388 */
24796 if (UNTAG_Bool(REGB0)) {
24797 } else {
24798 fprintf(stderr, "Cast failed");
24799 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4388);
24800 nit_exit(1);
24801 }
24802 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
24803 }
24804 fra.me.REG[2] = ATTR_parser_nodes___AReturnExpr____n_expr(fra.me.REG[0]);
24805 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24806 /* ./parser//parser_prod.nit:4390 */
24807 if (UNTAG_Bool(REGB0)) {
24808 } else {
24809 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24810 if (UNTAG_Bool(REGB1)) {
24811 REGB1 = TAG_Bool(false);
24812 REGB0 = REGB1;
24813 } else {
24814 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
24815 REGB0 = REGB1;
24816 }
24817 }
24818 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
24819 if (UNTAG_Bool(REGB0)) {
24820 fra.me.REG[0] = ATTR_parser_nodes___AReturnExpr____n_expr(fra.me.REG[0]);
24821 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
24822 /* ./parser//parser_prod.nit:4391 */
24823 if (UNTAG_Bool(REGB0)) {
24824 } else {
24825 fprintf(stderr, "Cast failed");
24826 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4391);
24827 nit_exit(1);
24828 }
24829 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
24830 }
24831 stack_frame_head = fra.me.prev;
24832 return;
24833 }
24834 void parser_prod___AReturnExpr___visit_all_reverse(val_t p0, val_t p1){
24835 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
24836 val_t REGB0;
24837 val_t REGB1;
24838 val_t tmp;
24839 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24840 fra.me.file = LOCATE_parser_prod;
24841 fra.me.line = 4395;
24842 fra.me.meth = LOCATE_parser_prod___AReturnExpr___visit_all_reverse;
24843 fra.me.has_broke = 0;
24844 fra.me.REG_size = 3;
24845 fra.me.REG[0] = NIT_NULL;
24846 fra.me.REG[1] = NIT_NULL;
24847 fra.me.REG[2] = NIT_NULL;
24848 fra.me.REG[0] = p0;
24849 fra.me.REG[1] = p1;
24850 fra.me.REG[2] = ATTR_parser_nodes___AReturnExpr____n_kwreturn(fra.me.REG[0]);
24851 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24852 /* ./parser//parser_prod.nit:4397 */
24853 if (UNTAG_Bool(REGB0)) {
24854 } else {
24855 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24856 if (UNTAG_Bool(REGB1)) {
24857 REGB1 = TAG_Bool(false);
24858 REGB0 = REGB1;
24859 } else {
24860 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
24861 REGB0 = REGB1;
24862 }
24863 }
24864 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
24865 if (UNTAG_Bool(REGB0)) {
24866 fra.me.REG[2] = ATTR_parser_nodes___AReturnExpr____n_kwreturn(fra.me.REG[0]);
24867 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwreturn, ID_TKwreturn)) /*cast TKwreturn*/;
24868 /* ./parser//parser_prod.nit:4398 */
24869 if (UNTAG_Bool(REGB0)) {
24870 } else {
24871 fprintf(stderr, "Cast failed");
24872 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4398);
24873 nit_exit(1);
24874 }
24875 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
24876 }
24877 fra.me.REG[2] = ATTR_parser_nodes___AReturnExpr____n_expr(fra.me.REG[0]);
24878 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24879 /* ./parser//parser_prod.nit:4400 */
24880 if (UNTAG_Bool(REGB0)) {
24881 } else {
24882 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24883 if (UNTAG_Bool(REGB1)) {
24884 REGB1 = TAG_Bool(false);
24885 REGB0 = REGB1;
24886 } else {
24887 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
24888 REGB0 = REGB1;
24889 }
24890 }
24891 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
24892 if (UNTAG_Bool(REGB0)) {
24893 fra.me.REG[0] = ATTR_parser_nodes___AReturnExpr____n_expr(fra.me.REG[0]);
24894 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
24895 /* ./parser//parser_prod.nit:4401 */
24896 if (UNTAG_Bool(REGB0)) {
24897 } else {
24898 fprintf(stderr, "Cast failed");
24899 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4401);
24900 nit_exit(1);
24901 }
24902 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
24903 }
24904 stack_frame_head = fra.me.prev;
24905 return;
24906 }
24907 void parser_prod___AReturnExpr___empty_init(val_t p0, int* init_table){
24908 int itpos103 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AReturnExpr].i;
24909 struct {struct stack_frame_t me;} fra;
24910 val_t tmp;
24911 if (init_table[itpos103]) return;
24912 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24913 fra.me.file = LOCATE_parser_prod;
24914 fra.me.line = 4343;
24915 fra.me.meth = LOCATE_parser_prod___AReturnExpr___empty_init;
24916 fra.me.has_broke = 0;
24917 fra.me.REG_size = 1;
24918 fra.me.REG[0] = NIT_NULL;
24919 fra.me.REG[0] = p0;
24920 /* ./parser//parser_prod.nit:4343 */
24921 stack_frame_head = fra.me.prev;
24922 init_table[itpos103] = 1;
24923 return;
24924 }
24925 void parser_prod___AReturnExpr___init_areturnexpr(val_t p0, val_t p1, val_t p2, int* init_table){
24926 int itpos104 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AReturnExpr].i;
24927 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
24928 val_t REGB0;
24929 val_t REGB1;
24930 val_t tmp;
24931 if (init_table[itpos104]) return;
24932 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
24933 fra.me.file = LOCATE_parser_prod;
24934 fra.me.line = 4345;
24935 fra.me.meth = LOCATE_parser_prod___AReturnExpr___init_areturnexpr;
24936 fra.me.has_broke = 0;
24937 fra.me.REG_size = 3;
24938 fra.me.REG[0] = NIT_NULL;
24939 fra.me.REG[1] = NIT_NULL;
24940 fra.me.REG[2] = NIT_NULL;
24941 fra.me.REG[0] = p0;
24942 fra.me.REG[1] = p1;
24943 fra.me.REG[2] = p2;
24944 /* ./parser//parser_prod.nit:4350 */
24945 CALL_parser_prod___AReturnExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
24946 /* ./parser//parser_prod.nit:4351 */
24947 ATTR_parser_nodes___AReturnExpr____n_kwreturn(fra.me.REG[0]) = fra.me.REG[1];
24948 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
24949 /* ./parser//parser_prod.nit:4352 */
24950 if (UNTAG_Bool(REGB0)) {
24951 } else {
24952 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
24953 if (UNTAG_Bool(REGB1)) {
24954 REGB1 = TAG_Bool(false);
24955 REGB0 = REGB1;
24956 } else {
24957 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
24958 REGB0 = REGB1;
24959 }
24960 }
24961 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
24962 if (UNTAG_Bool(REGB0)) {
24963 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
24964 /* ./parser//parser_prod.nit:4353 */
24965 if (UNTAG_Bool(REGB0)) {
24966 fprintf(stderr, "Reciever is null");
24967 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4353);
24968 nit_exit(1);
24969 }
24970 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
24971 }
24972 /* ./parser//parser_prod.nit:4355 */
24973 ATTR_parser_nodes___AReturnExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
24974 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24975 /* ./parser//parser_prod.nit:4356 */
24976 if (UNTAG_Bool(REGB0)) {
24977 } else {
24978 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24979 if (UNTAG_Bool(REGB1)) {
24980 REGB1 = TAG_Bool(false);
24981 REGB0 = REGB1;
24982 } else {
24983 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
24984 REGB0 = REGB1;
24985 }
24986 }
24987 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
24988 if (UNTAG_Bool(REGB0)) {
24989 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
24990 /* ./parser//parser_prod.nit:4357 */
24991 if (UNTAG_Bool(REGB0)) {
24992 fprintf(stderr, "Reciever is null");
24993 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4357);
24994 nit_exit(1);
24995 }
24996 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
24997 }
24998 stack_frame_head = fra.me.prev;
24999 init_table[itpos104] = 1;
25000 return;
25001 }
25002 void parser_prod___ABreakExpr___n_label__eq(val_t p0, val_t p1){
25003 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
25004 val_t REGB0;
25005 val_t REGB1;
25006 val_t tmp;
25007 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25008 fra.me.file = LOCATE_parser_prod;
25009 fra.me.line = 4411;
25010 fra.me.meth = LOCATE_parser_prod___ABreakExpr___n_label__eq;
25011 fra.me.has_broke = 0;
25012 fra.me.REG_size = 2;
25013 fra.me.REG[0] = NIT_NULL;
25014 fra.me.REG[1] = NIT_NULL;
25015 fra.me.REG[0] = p0;
25016 fra.me.REG[1] = p1;
25017 /* ./parser//parser_prod.nit:4413 */
25018 ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]) = fra.me.REG[1];
25019 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
25020 /* ./parser//parser_prod.nit:4414 */
25021 if (UNTAG_Bool(REGB0)) {
25022 } else {
25023 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
25024 if (UNTAG_Bool(REGB1)) {
25025 REGB1 = TAG_Bool(false);
25026 REGB0 = REGB1;
25027 } else {
25028 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
25029 REGB0 = REGB1;
25030 }
25031 }
25032 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
25033 if (UNTAG_Bool(REGB0)) {
25034 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
25035 /* ./parser//parser_prod.nit:4415 */
25036 if (UNTAG_Bool(REGB0)) {
25037 fprintf(stderr, "Reciever is null");
25038 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4415);
25039 nit_exit(1);
25040 }
25041 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
25042 }
25043 stack_frame_head = fra.me.prev;
25044 return;
25045 }
25046 void parser_prod___ABreakExpr___n_kwbreak__eq(val_t p0, val_t p1){
25047 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
25048 val_t tmp;
25049 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25050 fra.me.file = LOCATE_parser_prod;
25051 fra.me.line = 4406;
25052 fra.me.meth = LOCATE_parser_prod___ABreakExpr___n_kwbreak__eq;
25053 fra.me.has_broke = 0;
25054 fra.me.REG_size = 2;
25055 fra.me.REG[0] = NIT_NULL;
25056 fra.me.REG[1] = NIT_NULL;
25057 fra.me.REG[0] = p0;
25058 fra.me.REG[1] = p1;
25059 /* ./parser//parser_prod.nit:4408 */
25060 ATTR_parser_nodes___ABreakExpr____n_kwbreak(fra.me.REG[0]) = fra.me.REG[1];
25061 /* ./parser//parser_prod.nit:4409 */
25062 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
25063 stack_frame_head = fra.me.prev;
25064 return;
25065 }
25066 void parser_prod___ABreakExpr___n_expr__eq(val_t p0, val_t p1){
25067 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
25068 val_t REGB0;
25069 val_t REGB1;
25070 val_t tmp;
25071 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25072 fra.me.file = LOCATE_parser_prod;
25073 fra.me.line = 4418;
25074 fra.me.meth = LOCATE_parser_prod___ABreakExpr___n_expr__eq;
25075 fra.me.has_broke = 0;
25076 fra.me.REG_size = 2;
25077 fra.me.REG[0] = NIT_NULL;
25078 fra.me.REG[1] = NIT_NULL;
25079 fra.me.REG[0] = p0;
25080 fra.me.REG[1] = p1;
25081 /* ./parser//parser_prod.nit:4420 */
25082 ATTR_parser_nodes___ABreakExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
25083 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
25084 /* ./parser//parser_prod.nit:4421 */
25085 if (UNTAG_Bool(REGB0)) {
25086 } else {
25087 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
25088 if (UNTAG_Bool(REGB1)) {
25089 REGB1 = TAG_Bool(false);
25090 REGB0 = REGB1;
25091 } else {
25092 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
25093 REGB0 = REGB1;
25094 }
25095 }
25096 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
25097 if (UNTAG_Bool(REGB0)) {
25098 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
25099 /* ./parser//parser_prod.nit:4422 */
25100 if (UNTAG_Bool(REGB0)) {
25101 fprintf(stderr, "Reciever is null");
25102 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4422);
25103 nit_exit(1);
25104 }
25105 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
25106 }
25107 stack_frame_head = fra.me.prev;
25108 return;
25109 }
25110 void parser_prod___ABreakExpr___replace_child(val_t p0, val_t p1, val_t p2){
25111 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
25112 val_t REGB0;
25113 val_t REGB1;
25114 val_t tmp;
25115 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25116 fra.me.file = LOCATE_parser_prod;
25117 fra.me.line = 4447;
25118 fra.me.meth = LOCATE_parser_prod___ABreakExpr___replace_child;
25119 fra.me.has_broke = 0;
25120 fra.me.REG_size = 4;
25121 fra.me.REG[0] = NIT_NULL;
25122 fra.me.REG[1] = NIT_NULL;
25123 fra.me.REG[2] = NIT_NULL;
25124 fra.me.REG[3] = NIT_NULL;
25125 fra.me.REG[0] = p0;
25126 fra.me.REG[1] = p1;
25127 fra.me.REG[2] = p2;
25128 REGB0 = TAG_Bool(ATTR_parser_nodes___ABreakExpr____n_kwbreak(fra.me.REG[0])!=NIT_NULL);
25129 /* ./parser//parser_prod.nit:4449 */
25130 if (UNTAG_Bool(REGB0)) {
25131 } else {
25132 fprintf(stderr, "Uninitialized attribute %s", "_n_kwbreak");
25133 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4449);
25134 nit_exit(1);
25135 }
25136 fra.me.REG[3] = ATTR_parser_nodes___ABreakExpr____n_kwbreak(fra.me.REG[0]);
25137 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
25138 if (UNTAG_Bool(REGB0)) {
25139 } else {
25140 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
25141 REGB0 = REGB1;
25142 }
25143 if (UNTAG_Bool(REGB0)) {
25144 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
25145 /* ./parser//parser_prod.nit:4450 */
25146 if (UNTAG_Bool(REGB0)) {
25147 } else {
25148 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
25149 if (UNTAG_Bool(REGB1)) {
25150 REGB1 = TAG_Bool(false);
25151 REGB0 = REGB1;
25152 } else {
25153 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
25154 REGB0 = REGB1;
25155 }
25156 }
25157 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
25158 if (UNTAG_Bool(REGB0)) {
25159 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
25160 /* ./parser//parser_prod.nit:4451 */
25161 if (UNTAG_Bool(REGB0)) {
25162 fprintf(stderr, "Reciever is null");
25163 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4451);
25164 nit_exit(1);
25165 }
25166 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
25167 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/;
25168 /* ./parser//parser_prod.nit:4452 */
25169 if (UNTAG_Bool(REGB0)) {
25170 } else {
25171 fprintf(stderr, "Assert failed");
25172 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4452);
25173 nit_exit(1);
25174 }
25175 /* ./parser//parser_prod.nit:4453 */
25176 ATTR_parser_nodes___ABreakExpr____n_kwbreak(fra.me.REG[0]) = fra.me.REG[2];
25177 } else {
25178 /* ./parser//parser_prod.nit:4455 */
25179 fprintf(stderr, "Aborted");
25180 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4455);
25181 nit_exit(1);
25182 }
25183 /* ./parser//parser_prod.nit:4457 */
25184 goto label1;
25185 }
25186 fra.me.REG[3] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
25187 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
25188 /* ./parser//parser_prod.nit:4459 */
25189 if (UNTAG_Bool(REGB0)) {
25190 } else {
25191 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
25192 if (UNTAG_Bool(REGB1)) {
25193 REGB1 = TAG_Bool(false);
25194 REGB0 = REGB1;
25195 } else {
25196 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
25197 REGB0 = REGB1;
25198 }
25199 }
25200 if (UNTAG_Bool(REGB0)) {
25201 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
25202 /* ./parser//parser_prod.nit:4460 */
25203 if (UNTAG_Bool(REGB0)) {
25204 } else {
25205 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
25206 if (UNTAG_Bool(REGB1)) {
25207 REGB1 = TAG_Bool(false);
25208 REGB0 = REGB1;
25209 } else {
25210 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
25211 REGB0 = REGB1;
25212 }
25213 }
25214 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
25215 if (UNTAG_Bool(REGB0)) {
25216 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
25217 /* ./parser//parser_prod.nit:4461 */
25218 if (UNTAG_Bool(REGB0)) {
25219 fprintf(stderr, "Reciever is null");
25220 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4461);
25221 nit_exit(1);
25222 }
25223 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
25224 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast ALabel*/;
25225 /* ./parser//parser_prod.nit:4462 */
25226 if (UNTAG_Bool(REGB0)) {
25227 } else {
25228 fprintf(stderr, "Assert failed");
25229 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4462);
25230 nit_exit(1);
25231 }
25232 /* ./parser//parser_prod.nit:4463 */
25233 ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]) = fra.me.REG[2];
25234 } else {
25235 /* ./parser//parser_prod.nit:4465 */
25236 ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]) = NIT_NULL;
25237 }
25238 /* ./parser//parser_prod.nit:4467 */
25239 goto label1;
25240 }
25241 fra.me.REG[3] = ATTR_parser_nodes___ABreakExpr____n_expr(fra.me.REG[0]);
25242 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
25243 /* ./parser//parser_prod.nit:4469 */
25244 if (UNTAG_Bool(REGB0)) {
25245 } else {
25246 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
25247 if (UNTAG_Bool(REGB1)) {
25248 REGB1 = TAG_Bool(false);
25249 REGB0 = REGB1;
25250 } else {
25251 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
25252 REGB0 = REGB1;
25253 }
25254 }
25255 if (UNTAG_Bool(REGB0)) {
25256 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
25257 /* ./parser//parser_prod.nit:4470 */
25258 if (UNTAG_Bool(REGB0)) {
25259 } else {
25260 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
25261 if (UNTAG_Bool(REGB1)) {
25262 REGB1 = TAG_Bool(false);
25263 REGB0 = REGB1;
25264 } else {
25265 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
25266 REGB0 = REGB1;
25267 }
25268 }
25269 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
25270 if (UNTAG_Bool(REGB0)) {
25271 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
25272 /* ./parser//parser_prod.nit:4471 */
25273 if (UNTAG_Bool(REGB0)) {
25274 fprintf(stderr, "Reciever is null");
25275 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4471);
25276 nit_exit(1);
25277 }
25278 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
25279 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
25280 /* ./parser//parser_prod.nit:4472 */
25281 if (UNTAG_Bool(REGB0)) {
25282 } else {
25283 fprintf(stderr, "Assert failed");
25284 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4472);
25285 nit_exit(1);
25286 }
25287 /* ./parser//parser_prod.nit:4473 */
25288 ATTR_parser_nodes___ABreakExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
25289 } else {
25290 /* ./parser//parser_prod.nit:4475 */
25291 ATTR_parser_nodes___ABreakExpr____n_expr(fra.me.REG[0]) = NIT_NULL;
25292 }
25293 /* ./parser//parser_prod.nit:4477 */
25294 goto label1;
25295 }
25296 label1: while(0);
25297 stack_frame_head = fra.me.prev;
25298 return;
25299 }
25300 void parser_prod___ABreakExpr___visit_all(val_t p0, val_t p1){
25301 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
25302 val_t REGB0;
25303 val_t REGB1;
25304 val_t tmp;
25305 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25306 fra.me.file = LOCATE_parser_prod;
25307 fra.me.line = 4481;
25308 fra.me.meth = LOCATE_parser_prod___ABreakExpr___visit_all;
25309 fra.me.has_broke = 0;
25310 fra.me.REG_size = 3;
25311 fra.me.REG[0] = NIT_NULL;
25312 fra.me.REG[1] = NIT_NULL;
25313 fra.me.REG[2] = NIT_NULL;
25314 fra.me.REG[0] = p0;
25315 fra.me.REG[1] = p1;
25316 REGB0 = TAG_Bool(ATTR_parser_nodes___ABreakExpr____n_kwbreak(fra.me.REG[0])!=NIT_NULL);
25317 /* ./parser//parser_prod.nit:4483 */
25318 if (UNTAG_Bool(REGB0)) {
25319 } else {
25320 fprintf(stderr, "Uninitialized attribute %s", "_n_kwbreak");
25321 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4483);
25322 nit_exit(1);
25323 }
25324 fra.me.REG[2] = ATTR_parser_nodes___ABreakExpr____n_kwbreak(fra.me.REG[0]);
25325 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
25326 fra.me.REG[2] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
25327 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
25328 /* ./parser//parser_prod.nit:4484 */
25329 if (UNTAG_Bool(REGB0)) {
25330 } else {
25331 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
25332 if (UNTAG_Bool(REGB1)) {
25333 REGB1 = TAG_Bool(false);
25334 REGB0 = REGB1;
25335 } else {
25336 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
25337 REGB0 = REGB1;
25338 }
25339 }
25340 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
25341 if (UNTAG_Bool(REGB0)) {
25342 fra.me.REG[2] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
25343 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast ALabel*/;
25344 /* ./parser//parser_prod.nit:4485 */
25345 if (UNTAG_Bool(REGB0)) {
25346 } else {
25347 fprintf(stderr, "Cast failed");
25348 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4485);
25349 nit_exit(1);
25350 }
25351 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
25352 }
25353 fra.me.REG[2] = ATTR_parser_nodes___ABreakExpr____n_expr(fra.me.REG[0]);
25354 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
25355 /* ./parser//parser_prod.nit:4487 */
25356 if (UNTAG_Bool(REGB0)) {
25357 } else {
25358 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
25359 if (UNTAG_Bool(REGB1)) {
25360 REGB1 = TAG_Bool(false);
25361 REGB0 = REGB1;
25362 } else {
25363 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
25364 REGB0 = REGB1;
25365 }
25366 }
25367 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
25368 if (UNTAG_Bool(REGB0)) {
25369 fra.me.REG[0] = ATTR_parser_nodes___ABreakExpr____n_expr(fra.me.REG[0]);
25370 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
25371 /* ./parser//parser_prod.nit:4488 */
25372 if (UNTAG_Bool(REGB0)) {
25373 } else {
25374 fprintf(stderr, "Cast failed");
25375 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4488);
25376 nit_exit(1);
25377 }
25378 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
25379 }
25380 stack_frame_head = fra.me.prev;
25381 return;
25382 }
25383 void parser_prod___ABreakExpr___visit_all_reverse(val_t p0, val_t p1){
25384 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
25385 val_t REGB0;
25386 val_t REGB1;
25387 val_t tmp;
25388 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25389 fra.me.file = LOCATE_parser_prod;
25390 fra.me.line = 4492;
25391 fra.me.meth = LOCATE_parser_prod___ABreakExpr___visit_all_reverse;
25392 fra.me.has_broke = 0;
25393 fra.me.REG_size = 3;
25394 fra.me.REG[0] = NIT_NULL;
25395 fra.me.REG[1] = NIT_NULL;
25396 fra.me.REG[2] = NIT_NULL;
25397 fra.me.REG[0] = p0;
25398 fra.me.REG[1] = p1;
25399 REGB0 = TAG_Bool(ATTR_parser_nodes___ABreakExpr____n_kwbreak(fra.me.REG[0])!=NIT_NULL);
25400 /* ./parser//parser_prod.nit:4494 */
25401 if (UNTAG_Bool(REGB0)) {
25402 } else {
25403 fprintf(stderr, "Uninitialized attribute %s", "_n_kwbreak");
25404 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4494);
25405 nit_exit(1);
25406 }
25407 fra.me.REG[2] = ATTR_parser_nodes___ABreakExpr____n_kwbreak(fra.me.REG[0]);
25408 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
25409 fra.me.REG[2] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
25410 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
25411 /* ./parser//parser_prod.nit:4495 */
25412 if (UNTAG_Bool(REGB0)) {
25413 } else {
25414 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
25415 if (UNTAG_Bool(REGB1)) {
25416 REGB1 = TAG_Bool(false);
25417 REGB0 = REGB1;
25418 } else {
25419 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
25420 REGB0 = REGB1;
25421 }
25422 }
25423 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
25424 if (UNTAG_Bool(REGB0)) {
25425 fra.me.REG[2] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
25426 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast ALabel*/;
25427 /* ./parser//parser_prod.nit:4496 */
25428 if (UNTAG_Bool(REGB0)) {
25429 } else {
25430 fprintf(stderr, "Cast failed");
25431 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4496);
25432 nit_exit(1);
25433 }
25434 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
25435 }
25436 fra.me.REG[2] = ATTR_parser_nodes___ABreakExpr____n_expr(fra.me.REG[0]);
25437 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
25438 /* ./parser//parser_prod.nit:4498 */
25439 if (UNTAG_Bool(REGB0)) {
25440 } else {
25441 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
25442 if (UNTAG_Bool(REGB1)) {
25443 REGB1 = TAG_Bool(false);
25444 REGB0 = REGB1;
25445 } else {
25446 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
25447 REGB0 = REGB1;
25448 }
25449 }
25450 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
25451 if (UNTAG_Bool(REGB0)) {
25452 fra.me.REG[0] = ATTR_parser_nodes___ABreakExpr____n_expr(fra.me.REG[0]);
25453 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
25454 /* ./parser//parser_prod.nit:4499 */
25455 if (UNTAG_Bool(REGB0)) {
25456 } else {
25457 fprintf(stderr, "Cast failed");
25458 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4499);
25459 nit_exit(1);
25460 }
25461 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
25462 }
25463 stack_frame_head = fra.me.prev;
25464 return;
25465 }
25466 void parser_prod___ABreakExpr___empty_init(val_t p0, int* init_table){
25467 int itpos105 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ABreakExpr].i;
25468 struct {struct stack_frame_t me;} fra;
25469 val_t tmp;
25470 if (init_table[itpos105]) return;
25471 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25472 fra.me.file = LOCATE_parser_prod;
25473 fra.me.line = 4426;
25474 fra.me.meth = LOCATE_parser_prod___ABreakExpr___empty_init;
25475 fra.me.has_broke = 0;
25476 fra.me.REG_size = 1;
25477 fra.me.REG[0] = NIT_NULL;
25478 fra.me.REG[0] = p0;
25479 /* ./parser//parser_prod.nit:4426 */
25480 stack_frame_head = fra.me.prev;
25481 init_table[itpos105] = 1;
25482 return;
25483 }
25484 void parser_prod___ABreakExpr___init_abreakexpr(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
25485 int itpos106 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ABreakExpr].i;
25486 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
25487 val_t REGB0;
25488 val_t REGB1;
25489 val_t tmp;
25490 if (init_table[itpos106]) return;
25491 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25492 fra.me.file = LOCATE_parser_prod;
25493 fra.me.line = 4428;
25494 fra.me.meth = LOCATE_parser_prod___ABreakExpr___init_abreakexpr;
25495 fra.me.has_broke = 0;
25496 fra.me.REG_size = 4;
25497 fra.me.REG[0] = NIT_NULL;
25498 fra.me.REG[1] = NIT_NULL;
25499 fra.me.REG[2] = NIT_NULL;
25500 fra.me.REG[3] = NIT_NULL;
25501 fra.me.REG[0] = p0;
25502 fra.me.REG[1] = p1;
25503 fra.me.REG[2] = p2;
25504 fra.me.REG[3] = p3;
25505 /* ./parser//parser_prod.nit:4434 */
25506 CALL_parser_prod___ABreakExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
25507 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
25508 /* ./parser//parser_prod.nit:4435 */
25509 if (UNTAG_Bool(REGB0)) {
25510 } else {
25511 fprintf(stderr, "Cast failed");
25512 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4435);
25513 nit_exit(1);
25514 }
25515 ATTR_parser_nodes___ABreakExpr____n_kwbreak(fra.me.REG[0]) = fra.me.REG[1];
25516 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
25517 /* ./parser//parser_prod.nit:4436 */
25518 if (UNTAG_Bool(REGB0)) {
25519 fprintf(stderr, "Reciever is null");
25520 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4436);
25521 nit_exit(1);
25522 }
25523 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
25524 /* ./parser//parser_prod.nit:4437 */
25525 ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]) = fra.me.REG[2];
25526 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
25527 /* ./parser//parser_prod.nit:4438 */
25528 if (UNTAG_Bool(REGB0)) {
25529 } else {
25530 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
25531 if (UNTAG_Bool(REGB1)) {
25532 REGB1 = TAG_Bool(false);
25533 REGB0 = REGB1;
25534 } else {
25535 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
25536 REGB0 = REGB1;
25537 }
25538 }
25539 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
25540 if (UNTAG_Bool(REGB0)) {
25541 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
25542 /* ./parser//parser_prod.nit:4439 */
25543 if (UNTAG_Bool(REGB0)) {
25544 fprintf(stderr, "Reciever is null");
25545 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4439);
25546 nit_exit(1);
25547 }
25548 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
25549 }
25550 /* ./parser//parser_prod.nit:4441 */
25551 ATTR_parser_nodes___ABreakExpr____n_expr(fra.me.REG[0]) = fra.me.REG[3];
25552 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
25553 /* ./parser//parser_prod.nit:4442 */
25554 if (UNTAG_Bool(REGB0)) {
25555 } else {
25556 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
25557 if (UNTAG_Bool(REGB1)) {
25558 REGB1 = TAG_Bool(false);
25559 REGB0 = REGB1;
25560 } else {
25561 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
25562 REGB0 = REGB1;
25563 }
25564 }
25565 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
25566 if (UNTAG_Bool(REGB0)) {
25567 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
25568 /* ./parser//parser_prod.nit:4443 */
25569 if (UNTAG_Bool(REGB0)) {
25570 fprintf(stderr, "Reciever is null");
25571 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4443);
25572 nit_exit(1);
25573 }
25574 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
25575 }
25576 stack_frame_head = fra.me.prev;
25577 init_table[itpos106] = 1;
25578 return;
25579 }
25580 void parser_prod___AAbortExpr___n_kwabort__eq(val_t p0, val_t p1){
25581 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
25582 val_t tmp;
25583 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25584 fra.me.file = LOCATE_parser_prod;
25585 fra.me.line = 4504;
25586 fra.me.meth = LOCATE_parser_prod___AAbortExpr___n_kwabort__eq;
25587 fra.me.has_broke = 0;
25588 fra.me.REG_size = 2;
25589 fra.me.REG[0] = NIT_NULL;
25590 fra.me.REG[1] = NIT_NULL;
25591 fra.me.REG[0] = p0;
25592 fra.me.REG[1] = p1;
25593 /* ./parser//parser_prod.nit:4506 */
25594 ATTR_parser_nodes___AAbortExpr____n_kwabort(fra.me.REG[0]) = fra.me.REG[1];
25595 /* ./parser//parser_prod.nit:4507 */
25596 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
25597 stack_frame_head = fra.me.prev;
25598 return;
25599 }
25600 void parser_prod___AAbortExpr___replace_child(val_t p0, val_t p1, val_t p2){
25601 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
25602 val_t REGB0;
25603 val_t REGB1;
25604 val_t tmp;
25605 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25606 fra.me.file = LOCATE_parser_prod;
25607 fra.me.line = 4521;
25608 fra.me.meth = LOCATE_parser_prod___AAbortExpr___replace_child;
25609 fra.me.has_broke = 0;
25610 fra.me.REG_size = 4;
25611 fra.me.REG[0] = NIT_NULL;
25612 fra.me.REG[1] = NIT_NULL;
25613 fra.me.REG[2] = NIT_NULL;
25614 fra.me.REG[3] = NIT_NULL;
25615 fra.me.REG[0] = p0;
25616 fra.me.REG[1] = p1;
25617 fra.me.REG[2] = p2;
25618 REGB0 = TAG_Bool(ATTR_parser_nodes___AAbortExpr____n_kwabort(fra.me.REG[0])!=NIT_NULL);
25619 /* ./parser//parser_prod.nit:4523 */
25620 if (UNTAG_Bool(REGB0)) {
25621 } else {
25622 fprintf(stderr, "Uninitialized attribute %s", "_n_kwabort");
25623 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4523);
25624 nit_exit(1);
25625 }
25626 fra.me.REG[3] = ATTR_parser_nodes___AAbortExpr____n_kwabort(fra.me.REG[0]);
25627 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
25628 if (UNTAG_Bool(REGB0)) {
25629 } else {
25630 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
25631 REGB0 = REGB1;
25632 }
25633 if (UNTAG_Bool(REGB0)) {
25634 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
25635 /* ./parser//parser_prod.nit:4524 */
25636 if (UNTAG_Bool(REGB0)) {
25637 } else {
25638 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
25639 if (UNTAG_Bool(REGB1)) {
25640 REGB1 = TAG_Bool(false);
25641 REGB0 = REGB1;
25642 } else {
25643 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
25644 REGB0 = REGB1;
25645 }
25646 }
25647 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
25648 if (UNTAG_Bool(REGB0)) {
25649 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
25650 /* ./parser//parser_prod.nit:4525 */
25651 if (UNTAG_Bool(REGB0)) {
25652 fprintf(stderr, "Reciever is null");
25653 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4525);
25654 nit_exit(1);
25655 }
25656 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
25657 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwabort, ID_TKwabort)) /*cast TKwabort*/;
25658 /* ./parser//parser_prod.nit:4526 */
25659 if (UNTAG_Bool(REGB0)) {
25660 } else {
25661 fprintf(stderr, "Assert failed");
25662 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4526);
25663 nit_exit(1);
25664 }
25665 /* ./parser//parser_prod.nit:4527 */
25666 ATTR_parser_nodes___AAbortExpr____n_kwabort(fra.me.REG[0]) = fra.me.REG[2];
25667 } else {
25668 /* ./parser//parser_prod.nit:4529 */
25669 fprintf(stderr, "Aborted");
25670 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4529);
25671 nit_exit(1);
25672 }
25673 /* ./parser//parser_prod.nit:4531 */
25674 goto label1;
25675 }
25676 label1: while(0);
25677 stack_frame_head = fra.me.prev;
25678 return;
25679 }
25680 void parser_prod___AAbortExpr___visit_all(val_t p0, val_t p1){
25681 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
25682 val_t REGB0;
25683 val_t tmp;
25684 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25685 fra.me.file = LOCATE_parser_prod;
25686 fra.me.line = 4535;
25687 fra.me.meth = LOCATE_parser_prod___AAbortExpr___visit_all;
25688 fra.me.has_broke = 0;
25689 fra.me.REG_size = 2;
25690 fra.me.REG[0] = NIT_NULL;
25691 fra.me.REG[1] = NIT_NULL;
25692 fra.me.REG[0] = p0;
25693 fra.me.REG[1] = p1;
25694 REGB0 = TAG_Bool(ATTR_parser_nodes___AAbortExpr____n_kwabort(fra.me.REG[0])!=NIT_NULL);
25695 /* ./parser//parser_prod.nit:4537 */
25696 if (UNTAG_Bool(REGB0)) {
25697 } else {
25698 fprintf(stderr, "Uninitialized attribute %s", "_n_kwabort");
25699 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4537);
25700 nit_exit(1);
25701 }
25702 fra.me.REG[0] = ATTR_parser_nodes___AAbortExpr____n_kwabort(fra.me.REG[0]);
25703 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
25704 stack_frame_head = fra.me.prev;
25705 return;
25706 }
25707 void parser_prod___AAbortExpr___visit_all_reverse(val_t p0, val_t p1){
25708 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
25709 val_t REGB0;
25710 val_t tmp;
25711 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25712 fra.me.file = LOCATE_parser_prod;
25713 fra.me.line = 4540;
25714 fra.me.meth = LOCATE_parser_prod___AAbortExpr___visit_all_reverse;
25715 fra.me.has_broke = 0;
25716 fra.me.REG_size = 2;
25717 fra.me.REG[0] = NIT_NULL;
25718 fra.me.REG[1] = NIT_NULL;
25719 fra.me.REG[0] = p0;
25720 fra.me.REG[1] = p1;
25721 REGB0 = TAG_Bool(ATTR_parser_nodes___AAbortExpr____n_kwabort(fra.me.REG[0])!=NIT_NULL);
25722 /* ./parser//parser_prod.nit:4542 */
25723 if (UNTAG_Bool(REGB0)) {
25724 } else {
25725 fprintf(stderr, "Uninitialized attribute %s", "_n_kwabort");
25726 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4542);
25727 nit_exit(1);
25728 }
25729 fra.me.REG[0] = ATTR_parser_nodes___AAbortExpr____n_kwabort(fra.me.REG[0]);
25730 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
25731 stack_frame_head = fra.me.prev;
25732 return;
25733 }
25734 void parser_prod___AAbortExpr___empty_init(val_t p0, int* init_table){
25735 int itpos107 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AAbortExpr].i;
25736 struct {struct stack_frame_t me;} fra;
25737 val_t tmp;
25738 if (init_table[itpos107]) return;
25739 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25740 fra.me.file = LOCATE_parser_prod;
25741 fra.me.line = 4510;
25742 fra.me.meth = LOCATE_parser_prod___AAbortExpr___empty_init;
25743 fra.me.has_broke = 0;
25744 fra.me.REG_size = 1;
25745 fra.me.REG[0] = NIT_NULL;
25746 fra.me.REG[0] = p0;
25747 /* ./parser//parser_prod.nit:4510 */
25748 stack_frame_head = fra.me.prev;
25749 init_table[itpos107] = 1;
25750 return;
25751 }
25752 void parser_prod___AAbortExpr___init_aabortexpr(val_t p0, val_t p1, int* init_table){
25753 int itpos108 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AAbortExpr].i;
25754 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
25755 val_t REGB0;
25756 val_t tmp;
25757 if (init_table[itpos108]) return;
25758 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25759 fra.me.file = LOCATE_parser_prod;
25760 fra.me.line = 4512;
25761 fra.me.meth = LOCATE_parser_prod___AAbortExpr___init_aabortexpr;
25762 fra.me.has_broke = 0;
25763 fra.me.REG_size = 2;
25764 fra.me.REG[0] = NIT_NULL;
25765 fra.me.REG[1] = NIT_NULL;
25766 fra.me.REG[0] = p0;
25767 fra.me.REG[1] = p1;
25768 /* ./parser//parser_prod.nit:4516 */
25769 CALL_parser_prod___AAbortExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
25770 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
25771 /* ./parser//parser_prod.nit:4517 */
25772 if (UNTAG_Bool(REGB0)) {
25773 } else {
25774 fprintf(stderr, "Cast failed");
25775 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4517);
25776 nit_exit(1);
25777 }
25778 ATTR_parser_nodes___AAbortExpr____n_kwabort(fra.me.REG[0]) = fra.me.REG[1];
25779 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
25780 /* ./parser//parser_prod.nit:4518 */
25781 if (UNTAG_Bool(REGB0)) {
25782 fprintf(stderr, "Reciever is null");
25783 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4518);
25784 nit_exit(1);
25785 }
25786 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
25787 stack_frame_head = fra.me.prev;
25788 init_table[itpos108] = 1;
25789 return;
25790 }
25791 void parser_prod___AContinueExpr___n_label__eq(val_t p0, val_t p1){
25792 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
25793 val_t REGB0;
25794 val_t REGB1;
25795 val_t tmp;
25796 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25797 fra.me.file = LOCATE_parser_prod;
25798 fra.me.line = 4553;
25799 fra.me.meth = LOCATE_parser_prod___AContinueExpr___n_label__eq;
25800 fra.me.has_broke = 0;
25801 fra.me.REG_size = 2;
25802 fra.me.REG[0] = NIT_NULL;
25803 fra.me.REG[1] = NIT_NULL;
25804 fra.me.REG[0] = p0;
25805 fra.me.REG[1] = p1;
25806 /* ./parser//parser_prod.nit:4555 */
25807 ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]) = fra.me.REG[1];
25808 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
25809 /* ./parser//parser_prod.nit:4556 */
25810 if (UNTAG_Bool(REGB0)) {
25811 } else {
25812 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
25813 if (UNTAG_Bool(REGB1)) {
25814 REGB1 = TAG_Bool(false);
25815 REGB0 = REGB1;
25816 } else {
25817 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
25818 REGB0 = REGB1;
25819 }
25820 }
25821 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
25822 if (UNTAG_Bool(REGB0)) {
25823 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
25824 /* ./parser//parser_prod.nit:4557 */
25825 if (UNTAG_Bool(REGB0)) {
25826 fprintf(stderr, "Reciever is null");
25827 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4557);
25828 nit_exit(1);
25829 }
25830 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
25831 }
25832 stack_frame_head = fra.me.prev;
25833 return;
25834 }
25835 void parser_prod___AContinueExpr___n_kwcontinue__eq(val_t p0, val_t p1){
25836 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
25837 val_t REGB0;
25838 val_t REGB1;
25839 val_t tmp;
25840 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25841 fra.me.file = LOCATE_parser_prod;
25842 fra.me.line = 4546;
25843 fra.me.meth = LOCATE_parser_prod___AContinueExpr___n_kwcontinue__eq;
25844 fra.me.has_broke = 0;
25845 fra.me.REG_size = 2;
25846 fra.me.REG[0] = NIT_NULL;
25847 fra.me.REG[1] = NIT_NULL;
25848 fra.me.REG[0] = p0;
25849 fra.me.REG[1] = p1;
25850 /* ./parser//parser_prod.nit:4548 */
25851 ATTR_parser_nodes___AContinueExpr____n_kwcontinue(fra.me.REG[0]) = fra.me.REG[1];
25852 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
25853 /* ./parser//parser_prod.nit:4549 */
25854 if (UNTAG_Bool(REGB0)) {
25855 } else {
25856 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
25857 if (UNTAG_Bool(REGB1)) {
25858 REGB1 = TAG_Bool(false);
25859 REGB0 = REGB1;
25860 } else {
25861 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
25862 REGB0 = REGB1;
25863 }
25864 }
25865 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
25866 if (UNTAG_Bool(REGB0)) {
25867 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
25868 /* ./parser//parser_prod.nit:4550 */
25869 if (UNTAG_Bool(REGB0)) {
25870 fprintf(stderr, "Reciever is null");
25871 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4550);
25872 nit_exit(1);
25873 }
25874 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
25875 }
25876 stack_frame_head = fra.me.prev;
25877 return;
25878 }
25879 void parser_prod___AContinueExpr___n_expr__eq(val_t p0, val_t p1){
25880 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
25881 val_t REGB0;
25882 val_t REGB1;
25883 val_t tmp;
25884 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25885 fra.me.file = LOCATE_parser_prod;
25886 fra.me.line = 4560;
25887 fra.me.meth = LOCATE_parser_prod___AContinueExpr___n_expr__eq;
25888 fra.me.has_broke = 0;
25889 fra.me.REG_size = 2;
25890 fra.me.REG[0] = NIT_NULL;
25891 fra.me.REG[1] = NIT_NULL;
25892 fra.me.REG[0] = p0;
25893 fra.me.REG[1] = p1;
25894 /* ./parser//parser_prod.nit:4562 */
25895 ATTR_parser_nodes___AContinueExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
25896 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
25897 /* ./parser//parser_prod.nit:4563 */
25898 if (UNTAG_Bool(REGB0)) {
25899 } else {
25900 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
25901 if (UNTAG_Bool(REGB1)) {
25902 REGB1 = TAG_Bool(false);
25903 REGB0 = REGB1;
25904 } else {
25905 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
25906 REGB0 = REGB1;
25907 }
25908 }
25909 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
25910 if (UNTAG_Bool(REGB0)) {
25911 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
25912 /* ./parser//parser_prod.nit:4564 */
25913 if (UNTAG_Bool(REGB0)) {
25914 fprintf(stderr, "Reciever is null");
25915 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4564);
25916 nit_exit(1);
25917 }
25918 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
25919 }
25920 stack_frame_head = fra.me.prev;
25921 return;
25922 }
25923 void parser_prod___AContinueExpr___replace_child(val_t p0, val_t p1, val_t p2){
25924 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
25925 val_t REGB0;
25926 val_t REGB1;
25927 val_t tmp;
25928 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
25929 fra.me.file = LOCATE_parser_prod;
25930 fra.me.line = 4591;
25931 fra.me.meth = LOCATE_parser_prod___AContinueExpr___replace_child;
25932 fra.me.has_broke = 0;
25933 fra.me.REG_size = 4;
25934 fra.me.REG[0] = NIT_NULL;
25935 fra.me.REG[1] = NIT_NULL;
25936 fra.me.REG[2] = NIT_NULL;
25937 fra.me.REG[3] = NIT_NULL;
25938 fra.me.REG[0] = p0;
25939 fra.me.REG[1] = p1;
25940 fra.me.REG[2] = p2;
25941 fra.me.REG[3] = ATTR_parser_nodes___AContinueExpr____n_kwcontinue(fra.me.REG[0]);
25942 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
25943 /* ./parser//parser_prod.nit:4593 */
25944 if (UNTAG_Bool(REGB0)) {
25945 } else {
25946 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
25947 if (UNTAG_Bool(REGB1)) {
25948 REGB1 = TAG_Bool(false);
25949 REGB0 = REGB1;
25950 } else {
25951 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
25952 REGB0 = REGB1;
25953 }
25954 }
25955 if (UNTAG_Bool(REGB0)) {
25956 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
25957 /* ./parser//parser_prod.nit:4594 */
25958 if (UNTAG_Bool(REGB0)) {
25959 } else {
25960 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
25961 if (UNTAG_Bool(REGB1)) {
25962 REGB1 = TAG_Bool(false);
25963 REGB0 = REGB1;
25964 } else {
25965 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
25966 REGB0 = REGB1;
25967 }
25968 }
25969 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
25970 if (UNTAG_Bool(REGB0)) {
25971 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
25972 /* ./parser//parser_prod.nit:4595 */
25973 if (UNTAG_Bool(REGB0)) {
25974 fprintf(stderr, "Reciever is null");
25975 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4595);
25976 nit_exit(1);
25977 }
25978 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
25979 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwcontinue, ID_TKwcontinue)) /*cast TKwcontinue*/;
25980 /* ./parser//parser_prod.nit:4596 */
25981 if (UNTAG_Bool(REGB0)) {
25982 } else {
25983 fprintf(stderr, "Assert failed");
25984 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4596);
25985 nit_exit(1);
25986 }
25987 /* ./parser//parser_prod.nit:4597 */
25988 ATTR_parser_nodes___AContinueExpr____n_kwcontinue(fra.me.REG[0]) = fra.me.REG[2];
25989 } else {
25990 /* ./parser//parser_prod.nit:4599 */
25991 ATTR_parser_nodes___AContinueExpr____n_kwcontinue(fra.me.REG[0]) = NIT_NULL;
25992 }
25993 /* ./parser//parser_prod.nit:4601 */
25994 goto label1;
25995 }
25996 fra.me.REG[3] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
25997 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
25998 /* ./parser//parser_prod.nit:4603 */
25999 if (UNTAG_Bool(REGB0)) {
26000 } else {
26001 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
26002 if (UNTAG_Bool(REGB1)) {
26003 REGB1 = TAG_Bool(false);
26004 REGB0 = REGB1;
26005 } else {
26006 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
26007 REGB0 = REGB1;
26008 }
26009 }
26010 if (UNTAG_Bool(REGB0)) {
26011 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26012 /* ./parser//parser_prod.nit:4604 */
26013 if (UNTAG_Bool(REGB0)) {
26014 } else {
26015 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26016 if (UNTAG_Bool(REGB1)) {
26017 REGB1 = TAG_Bool(false);
26018 REGB0 = REGB1;
26019 } else {
26020 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
26021 REGB0 = REGB1;
26022 }
26023 }
26024 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
26025 if (UNTAG_Bool(REGB0)) {
26026 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26027 /* ./parser//parser_prod.nit:4605 */
26028 if (UNTAG_Bool(REGB0)) {
26029 fprintf(stderr, "Reciever is null");
26030 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4605);
26031 nit_exit(1);
26032 }
26033 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
26034 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast ALabel*/;
26035 /* ./parser//parser_prod.nit:4606 */
26036 if (UNTAG_Bool(REGB0)) {
26037 } else {
26038 fprintf(stderr, "Assert failed");
26039 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4606);
26040 nit_exit(1);
26041 }
26042 /* ./parser//parser_prod.nit:4607 */
26043 ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]) = fra.me.REG[2];
26044 } else {
26045 /* ./parser//parser_prod.nit:4609 */
26046 ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]) = NIT_NULL;
26047 }
26048 /* ./parser//parser_prod.nit:4611 */
26049 goto label1;
26050 }
26051 fra.me.REG[3] = ATTR_parser_nodes___AContinueExpr____n_expr(fra.me.REG[0]);
26052 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
26053 /* ./parser//parser_prod.nit:4613 */
26054 if (UNTAG_Bool(REGB0)) {
26055 } else {
26056 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
26057 if (UNTAG_Bool(REGB1)) {
26058 REGB1 = TAG_Bool(false);
26059 REGB0 = REGB1;
26060 } else {
26061 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
26062 REGB0 = REGB1;
26063 }
26064 }
26065 if (UNTAG_Bool(REGB0)) {
26066 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26067 /* ./parser//parser_prod.nit:4614 */
26068 if (UNTAG_Bool(REGB0)) {
26069 } else {
26070 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26071 if (UNTAG_Bool(REGB1)) {
26072 REGB1 = TAG_Bool(false);
26073 REGB0 = REGB1;
26074 } else {
26075 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
26076 REGB0 = REGB1;
26077 }
26078 }
26079 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
26080 if (UNTAG_Bool(REGB0)) {
26081 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26082 /* ./parser//parser_prod.nit:4615 */
26083 if (UNTAG_Bool(REGB0)) {
26084 fprintf(stderr, "Reciever is null");
26085 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4615);
26086 nit_exit(1);
26087 }
26088 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
26089 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
26090 /* ./parser//parser_prod.nit:4616 */
26091 if (UNTAG_Bool(REGB0)) {
26092 } else {
26093 fprintf(stderr, "Assert failed");
26094 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4616);
26095 nit_exit(1);
26096 }
26097 /* ./parser//parser_prod.nit:4617 */
26098 ATTR_parser_nodes___AContinueExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
26099 } else {
26100 /* ./parser//parser_prod.nit:4619 */
26101 ATTR_parser_nodes___AContinueExpr____n_expr(fra.me.REG[0]) = NIT_NULL;
26102 }
26103 /* ./parser//parser_prod.nit:4621 */
26104 goto label1;
26105 }
26106 label1: while(0);
26107 stack_frame_head = fra.me.prev;
26108 return;
26109 }
26110 void parser_prod___AContinueExpr___visit_all(val_t p0, val_t p1){
26111 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
26112 val_t REGB0;
26113 val_t REGB1;
26114 val_t tmp;
26115 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26116 fra.me.file = LOCATE_parser_prod;
26117 fra.me.line = 4625;
26118 fra.me.meth = LOCATE_parser_prod___AContinueExpr___visit_all;
26119 fra.me.has_broke = 0;
26120 fra.me.REG_size = 3;
26121 fra.me.REG[0] = NIT_NULL;
26122 fra.me.REG[1] = NIT_NULL;
26123 fra.me.REG[2] = NIT_NULL;
26124 fra.me.REG[0] = p0;
26125 fra.me.REG[1] = p1;
26126 fra.me.REG[2] = ATTR_parser_nodes___AContinueExpr____n_kwcontinue(fra.me.REG[0]);
26127 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26128 /* ./parser//parser_prod.nit:4627 */
26129 if (UNTAG_Bool(REGB0)) {
26130 } else {
26131 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26132 if (UNTAG_Bool(REGB1)) {
26133 REGB1 = TAG_Bool(false);
26134 REGB0 = REGB1;
26135 } else {
26136 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
26137 REGB0 = REGB1;
26138 }
26139 }
26140 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
26141 if (UNTAG_Bool(REGB0)) {
26142 fra.me.REG[2] = ATTR_parser_nodes___AContinueExpr____n_kwcontinue(fra.me.REG[0]);
26143 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwcontinue, ID_TKwcontinue)) /*cast TKwcontinue*/;
26144 /* ./parser//parser_prod.nit:4628 */
26145 if (UNTAG_Bool(REGB0)) {
26146 } else {
26147 fprintf(stderr, "Cast failed");
26148 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4628);
26149 nit_exit(1);
26150 }
26151 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
26152 }
26153 fra.me.REG[2] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
26154 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26155 /* ./parser//parser_prod.nit:4630 */
26156 if (UNTAG_Bool(REGB0)) {
26157 } else {
26158 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26159 if (UNTAG_Bool(REGB1)) {
26160 REGB1 = TAG_Bool(false);
26161 REGB0 = REGB1;
26162 } else {
26163 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
26164 REGB0 = REGB1;
26165 }
26166 }
26167 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
26168 if (UNTAG_Bool(REGB0)) {
26169 fra.me.REG[2] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
26170 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast ALabel*/;
26171 /* ./parser//parser_prod.nit:4631 */
26172 if (UNTAG_Bool(REGB0)) {
26173 } else {
26174 fprintf(stderr, "Cast failed");
26175 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4631);
26176 nit_exit(1);
26177 }
26178 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
26179 }
26180 fra.me.REG[2] = ATTR_parser_nodes___AContinueExpr____n_expr(fra.me.REG[0]);
26181 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26182 /* ./parser//parser_prod.nit:4633 */
26183 if (UNTAG_Bool(REGB0)) {
26184 } else {
26185 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26186 if (UNTAG_Bool(REGB1)) {
26187 REGB1 = TAG_Bool(false);
26188 REGB0 = REGB1;
26189 } else {
26190 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
26191 REGB0 = REGB1;
26192 }
26193 }
26194 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
26195 if (UNTAG_Bool(REGB0)) {
26196 fra.me.REG[0] = ATTR_parser_nodes___AContinueExpr____n_expr(fra.me.REG[0]);
26197 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
26198 /* ./parser//parser_prod.nit:4634 */
26199 if (UNTAG_Bool(REGB0)) {
26200 } else {
26201 fprintf(stderr, "Cast failed");
26202 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4634);
26203 nit_exit(1);
26204 }
26205 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
26206 }
26207 stack_frame_head = fra.me.prev;
26208 return;
26209 }
26210 void parser_prod___AContinueExpr___visit_all_reverse(val_t p0, val_t p1){
26211 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
26212 val_t REGB0;
26213 val_t REGB1;
26214 val_t tmp;
26215 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26216 fra.me.file = LOCATE_parser_prod;
26217 fra.me.line = 4638;
26218 fra.me.meth = LOCATE_parser_prod___AContinueExpr___visit_all_reverse;
26219 fra.me.has_broke = 0;
26220 fra.me.REG_size = 3;
26221 fra.me.REG[0] = NIT_NULL;
26222 fra.me.REG[1] = NIT_NULL;
26223 fra.me.REG[2] = NIT_NULL;
26224 fra.me.REG[0] = p0;
26225 fra.me.REG[1] = p1;
26226 fra.me.REG[2] = ATTR_parser_nodes___AContinueExpr____n_kwcontinue(fra.me.REG[0]);
26227 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26228 /* ./parser//parser_prod.nit:4640 */
26229 if (UNTAG_Bool(REGB0)) {
26230 } else {
26231 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26232 if (UNTAG_Bool(REGB1)) {
26233 REGB1 = TAG_Bool(false);
26234 REGB0 = REGB1;
26235 } else {
26236 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
26237 REGB0 = REGB1;
26238 }
26239 }
26240 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
26241 if (UNTAG_Bool(REGB0)) {
26242 fra.me.REG[2] = ATTR_parser_nodes___AContinueExpr____n_kwcontinue(fra.me.REG[0]);
26243 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwcontinue, ID_TKwcontinue)) /*cast TKwcontinue*/;
26244 /* ./parser//parser_prod.nit:4641 */
26245 if (UNTAG_Bool(REGB0)) {
26246 } else {
26247 fprintf(stderr, "Cast failed");
26248 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4641);
26249 nit_exit(1);
26250 }
26251 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
26252 }
26253 fra.me.REG[2] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
26254 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26255 /* ./parser//parser_prod.nit:4643 */
26256 if (UNTAG_Bool(REGB0)) {
26257 } else {
26258 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26259 if (UNTAG_Bool(REGB1)) {
26260 REGB1 = TAG_Bool(false);
26261 REGB0 = REGB1;
26262 } else {
26263 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
26264 REGB0 = REGB1;
26265 }
26266 }
26267 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
26268 if (UNTAG_Bool(REGB0)) {
26269 fra.me.REG[2] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
26270 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast ALabel*/;
26271 /* ./parser//parser_prod.nit:4644 */
26272 if (UNTAG_Bool(REGB0)) {
26273 } else {
26274 fprintf(stderr, "Cast failed");
26275 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4644);
26276 nit_exit(1);
26277 }
26278 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
26279 }
26280 fra.me.REG[2] = ATTR_parser_nodes___AContinueExpr____n_expr(fra.me.REG[0]);
26281 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26282 /* ./parser//parser_prod.nit:4646 */
26283 if (UNTAG_Bool(REGB0)) {
26284 } else {
26285 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26286 if (UNTAG_Bool(REGB1)) {
26287 REGB1 = TAG_Bool(false);
26288 REGB0 = REGB1;
26289 } else {
26290 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
26291 REGB0 = REGB1;
26292 }
26293 }
26294 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
26295 if (UNTAG_Bool(REGB0)) {
26296 fra.me.REG[0] = ATTR_parser_nodes___AContinueExpr____n_expr(fra.me.REG[0]);
26297 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
26298 /* ./parser//parser_prod.nit:4647 */
26299 if (UNTAG_Bool(REGB0)) {
26300 } else {
26301 fprintf(stderr, "Cast failed");
26302 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4647);
26303 nit_exit(1);
26304 }
26305 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
26306 }
26307 stack_frame_head = fra.me.prev;
26308 return;
26309 }
26310 void parser_prod___AContinueExpr___empty_init(val_t p0, int* init_table){
26311 int itpos109 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AContinueExpr].i;
26312 struct {struct stack_frame_t me;} fra;
26313 val_t tmp;
26314 if (init_table[itpos109]) return;
26315 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26316 fra.me.file = LOCATE_parser_prod;
26317 fra.me.line = 4568;
26318 fra.me.meth = LOCATE_parser_prod___AContinueExpr___empty_init;
26319 fra.me.has_broke = 0;
26320 fra.me.REG_size = 1;
26321 fra.me.REG[0] = NIT_NULL;
26322 fra.me.REG[0] = p0;
26323 /* ./parser//parser_prod.nit:4568 */
26324 stack_frame_head = fra.me.prev;
26325 init_table[itpos109] = 1;
26326 return;
26327 }
26328 void parser_prod___AContinueExpr___init_acontinueexpr(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
26329 int itpos110 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AContinueExpr].i;
26330 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
26331 val_t REGB0;
26332 val_t REGB1;
26333 val_t tmp;
26334 if (init_table[itpos110]) return;
26335 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26336 fra.me.file = LOCATE_parser_prod;
26337 fra.me.line = 4570;
26338 fra.me.meth = LOCATE_parser_prod___AContinueExpr___init_acontinueexpr;
26339 fra.me.has_broke = 0;
26340 fra.me.REG_size = 4;
26341 fra.me.REG[0] = NIT_NULL;
26342 fra.me.REG[1] = NIT_NULL;
26343 fra.me.REG[2] = NIT_NULL;
26344 fra.me.REG[3] = NIT_NULL;
26345 fra.me.REG[0] = p0;
26346 fra.me.REG[1] = p1;
26347 fra.me.REG[2] = p2;
26348 fra.me.REG[3] = p3;
26349 /* ./parser//parser_prod.nit:4576 */
26350 CALL_parser_prod___AContinueExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
26351 /* ./parser//parser_prod.nit:4577 */
26352 ATTR_parser_nodes___AContinueExpr____n_kwcontinue(fra.me.REG[0]) = fra.me.REG[1];
26353 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
26354 /* ./parser//parser_prod.nit:4578 */
26355 if (UNTAG_Bool(REGB0)) {
26356 } else {
26357 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
26358 if (UNTAG_Bool(REGB1)) {
26359 REGB1 = TAG_Bool(false);
26360 REGB0 = REGB1;
26361 } else {
26362 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
26363 REGB0 = REGB1;
26364 }
26365 }
26366 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
26367 if (UNTAG_Bool(REGB0)) {
26368 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
26369 /* ./parser//parser_prod.nit:4579 */
26370 if (UNTAG_Bool(REGB0)) {
26371 fprintf(stderr, "Reciever is null");
26372 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4579);
26373 nit_exit(1);
26374 }
26375 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
26376 }
26377 /* ./parser//parser_prod.nit:4581 */
26378 ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]) = fra.me.REG[2];
26379 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26380 /* ./parser//parser_prod.nit:4582 */
26381 if (UNTAG_Bool(REGB0)) {
26382 } else {
26383 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26384 if (UNTAG_Bool(REGB1)) {
26385 REGB1 = TAG_Bool(false);
26386 REGB0 = REGB1;
26387 } else {
26388 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
26389 REGB0 = REGB1;
26390 }
26391 }
26392 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
26393 if (UNTAG_Bool(REGB0)) {
26394 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26395 /* ./parser//parser_prod.nit:4583 */
26396 if (UNTAG_Bool(REGB0)) {
26397 fprintf(stderr, "Reciever is null");
26398 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4583);
26399 nit_exit(1);
26400 }
26401 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
26402 }
26403 /* ./parser//parser_prod.nit:4585 */
26404 ATTR_parser_nodes___AContinueExpr____n_expr(fra.me.REG[0]) = fra.me.REG[3];
26405 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
26406 /* ./parser//parser_prod.nit:4586 */
26407 if (UNTAG_Bool(REGB0)) {
26408 } else {
26409 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
26410 if (UNTAG_Bool(REGB1)) {
26411 REGB1 = TAG_Bool(false);
26412 REGB0 = REGB1;
26413 } else {
26414 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
26415 REGB0 = REGB1;
26416 }
26417 }
26418 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
26419 if (UNTAG_Bool(REGB0)) {
26420 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
26421 /* ./parser//parser_prod.nit:4587 */
26422 if (UNTAG_Bool(REGB0)) {
26423 fprintf(stderr, "Reciever is null");
26424 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4587);
26425 nit_exit(1);
26426 }
26427 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
26428 }
26429 stack_frame_head = fra.me.prev;
26430 init_table[itpos110] = 1;
26431 return;
26432 }
26433 void parser_prod___ADoExpr___n_label__eq(val_t p0, val_t p1){
26434 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
26435 val_t REGB0;
26436 val_t REGB1;
26437 val_t tmp;
26438 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26439 fra.me.file = LOCATE_parser_prod;
26440 fra.me.line = 4664;
26441 fra.me.meth = LOCATE_parser_prod___ADoExpr___n_label__eq;
26442 fra.me.has_broke = 0;
26443 fra.me.REG_size = 2;
26444 fra.me.REG[0] = NIT_NULL;
26445 fra.me.REG[1] = NIT_NULL;
26446 fra.me.REG[0] = p0;
26447 fra.me.REG[1] = p1;
26448 /* ./parser//parser_prod.nit:4666 */
26449 ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]) = fra.me.REG[1];
26450 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
26451 /* ./parser//parser_prod.nit:4667 */
26452 if (UNTAG_Bool(REGB0)) {
26453 } else {
26454 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
26455 if (UNTAG_Bool(REGB1)) {
26456 REGB1 = TAG_Bool(false);
26457 REGB0 = REGB1;
26458 } else {
26459 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
26460 REGB0 = REGB1;
26461 }
26462 }
26463 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
26464 if (UNTAG_Bool(REGB0)) {
26465 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
26466 /* ./parser//parser_prod.nit:4668 */
26467 if (UNTAG_Bool(REGB0)) {
26468 fprintf(stderr, "Reciever is null");
26469 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4668);
26470 nit_exit(1);
26471 }
26472 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
26473 }
26474 stack_frame_head = fra.me.prev;
26475 return;
26476 }
26477 void parser_prod___ADoExpr___n_kwdo__eq(val_t p0, val_t p1){
26478 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
26479 val_t tmp;
26480 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26481 fra.me.file = LOCATE_parser_prod;
26482 fra.me.line = 4652;
26483 fra.me.meth = LOCATE_parser_prod___ADoExpr___n_kwdo__eq;
26484 fra.me.has_broke = 0;
26485 fra.me.REG_size = 2;
26486 fra.me.REG[0] = NIT_NULL;
26487 fra.me.REG[1] = NIT_NULL;
26488 fra.me.REG[0] = p0;
26489 fra.me.REG[1] = p1;
26490 /* ./parser//parser_prod.nit:4654 */
26491 ATTR_parser_nodes___ADoExpr____n_kwdo(fra.me.REG[0]) = fra.me.REG[1];
26492 /* ./parser//parser_prod.nit:4655 */
26493 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
26494 stack_frame_head = fra.me.prev;
26495 return;
26496 }
26497 void parser_prod___ADoExpr___n_block__eq(val_t p0, val_t p1){
26498 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
26499 val_t REGB0;
26500 val_t REGB1;
26501 val_t tmp;
26502 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26503 fra.me.file = LOCATE_parser_prod;
26504 fra.me.line = 4657;
26505 fra.me.meth = LOCATE_parser_prod___ADoExpr___n_block__eq;
26506 fra.me.has_broke = 0;
26507 fra.me.REG_size = 2;
26508 fra.me.REG[0] = NIT_NULL;
26509 fra.me.REG[1] = NIT_NULL;
26510 fra.me.REG[0] = p0;
26511 fra.me.REG[1] = p1;
26512 /* ./parser//parser_prod.nit:4659 */
26513 ATTR_parser_nodes___ADoExpr____n_block(fra.me.REG[0]) = fra.me.REG[1];
26514 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
26515 /* ./parser//parser_prod.nit:4660 */
26516 if (UNTAG_Bool(REGB0)) {
26517 } else {
26518 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
26519 if (UNTAG_Bool(REGB1)) {
26520 REGB1 = TAG_Bool(false);
26521 REGB0 = REGB1;
26522 } else {
26523 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
26524 REGB0 = REGB1;
26525 }
26526 }
26527 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
26528 if (UNTAG_Bool(REGB0)) {
26529 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
26530 /* ./parser//parser_prod.nit:4661 */
26531 if (UNTAG_Bool(REGB0)) {
26532 fprintf(stderr, "Reciever is null");
26533 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4661);
26534 nit_exit(1);
26535 }
26536 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
26537 }
26538 stack_frame_head = fra.me.prev;
26539 return;
26540 }
26541 void parser_prod___ADoExpr___replace_child(val_t p0, val_t p1, val_t p2){
26542 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
26543 val_t REGB0;
26544 val_t REGB1;
26545 val_t tmp;
26546 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26547 fra.me.file = LOCATE_parser_prod;
26548 fra.me.line = 4693;
26549 fra.me.meth = LOCATE_parser_prod___ADoExpr___replace_child;
26550 fra.me.has_broke = 0;
26551 fra.me.REG_size = 4;
26552 fra.me.REG[0] = NIT_NULL;
26553 fra.me.REG[1] = NIT_NULL;
26554 fra.me.REG[2] = NIT_NULL;
26555 fra.me.REG[3] = NIT_NULL;
26556 fra.me.REG[0] = p0;
26557 fra.me.REG[1] = p1;
26558 fra.me.REG[2] = p2;
26559 REGB0 = TAG_Bool(ATTR_parser_nodes___ADoExpr____n_kwdo(fra.me.REG[0])!=NIT_NULL);
26560 /* ./parser//parser_prod.nit:4695 */
26561 if (UNTAG_Bool(REGB0)) {
26562 } else {
26563 fprintf(stderr, "Uninitialized attribute %s", "_n_kwdo");
26564 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4695);
26565 nit_exit(1);
26566 }
26567 fra.me.REG[3] = ATTR_parser_nodes___ADoExpr____n_kwdo(fra.me.REG[0]);
26568 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
26569 if (UNTAG_Bool(REGB0)) {
26570 } else {
26571 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
26572 REGB0 = REGB1;
26573 }
26574 if (UNTAG_Bool(REGB0)) {
26575 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26576 /* ./parser//parser_prod.nit:4696 */
26577 if (UNTAG_Bool(REGB0)) {
26578 } else {
26579 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26580 if (UNTAG_Bool(REGB1)) {
26581 REGB1 = TAG_Bool(false);
26582 REGB0 = REGB1;
26583 } else {
26584 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
26585 REGB0 = REGB1;
26586 }
26587 }
26588 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
26589 if (UNTAG_Bool(REGB0)) {
26590 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26591 /* ./parser//parser_prod.nit:4697 */
26592 if (UNTAG_Bool(REGB0)) {
26593 fprintf(stderr, "Reciever is null");
26594 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4697);
26595 nit_exit(1);
26596 }
26597 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
26598 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
26599 /* ./parser//parser_prod.nit:4698 */
26600 if (UNTAG_Bool(REGB0)) {
26601 } else {
26602 fprintf(stderr, "Assert failed");
26603 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4698);
26604 nit_exit(1);
26605 }
26606 /* ./parser//parser_prod.nit:4699 */
26607 ATTR_parser_nodes___ADoExpr____n_kwdo(fra.me.REG[0]) = fra.me.REG[2];
26608 } else {
26609 /* ./parser//parser_prod.nit:4701 */
26610 fprintf(stderr, "Aborted");
26611 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4701);
26612 nit_exit(1);
26613 }
26614 /* ./parser//parser_prod.nit:4703 */
26615 goto label1;
26616 }
26617 fra.me.REG[3] = ATTR_parser_nodes___ADoExpr____n_block(fra.me.REG[0]);
26618 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
26619 /* ./parser//parser_prod.nit:4705 */
26620 if (UNTAG_Bool(REGB0)) {
26621 } else {
26622 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
26623 if (UNTAG_Bool(REGB1)) {
26624 REGB1 = TAG_Bool(false);
26625 REGB0 = REGB1;
26626 } else {
26627 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
26628 REGB0 = REGB1;
26629 }
26630 }
26631 if (UNTAG_Bool(REGB0)) {
26632 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26633 /* ./parser//parser_prod.nit:4706 */
26634 if (UNTAG_Bool(REGB0)) {
26635 } else {
26636 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26637 if (UNTAG_Bool(REGB1)) {
26638 REGB1 = TAG_Bool(false);
26639 REGB0 = REGB1;
26640 } else {
26641 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
26642 REGB0 = REGB1;
26643 }
26644 }
26645 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
26646 if (UNTAG_Bool(REGB0)) {
26647 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26648 /* ./parser//parser_prod.nit:4707 */
26649 if (UNTAG_Bool(REGB0)) {
26650 fprintf(stderr, "Reciever is null");
26651 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4707);
26652 nit_exit(1);
26653 }
26654 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
26655 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
26656 /* ./parser//parser_prod.nit:4708 */
26657 if (UNTAG_Bool(REGB0)) {
26658 } else {
26659 fprintf(stderr, "Assert failed");
26660 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4708);
26661 nit_exit(1);
26662 }
26663 /* ./parser//parser_prod.nit:4709 */
26664 ATTR_parser_nodes___ADoExpr____n_block(fra.me.REG[0]) = fra.me.REG[2];
26665 } else {
26666 /* ./parser//parser_prod.nit:4711 */
26667 ATTR_parser_nodes___ADoExpr____n_block(fra.me.REG[0]) = NIT_NULL;
26668 }
26669 /* ./parser//parser_prod.nit:4713 */
26670 goto label1;
26671 }
26672 fra.me.REG[3] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
26673 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
26674 /* ./parser//parser_prod.nit:4715 */
26675 if (UNTAG_Bool(REGB0)) {
26676 } else {
26677 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
26678 if (UNTAG_Bool(REGB1)) {
26679 REGB1 = TAG_Bool(false);
26680 REGB0 = REGB1;
26681 } else {
26682 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
26683 REGB0 = REGB1;
26684 }
26685 }
26686 if (UNTAG_Bool(REGB0)) {
26687 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26688 /* ./parser//parser_prod.nit:4716 */
26689 if (UNTAG_Bool(REGB0)) {
26690 } else {
26691 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26692 if (UNTAG_Bool(REGB1)) {
26693 REGB1 = TAG_Bool(false);
26694 REGB0 = REGB1;
26695 } else {
26696 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
26697 REGB0 = REGB1;
26698 }
26699 }
26700 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
26701 if (UNTAG_Bool(REGB0)) {
26702 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26703 /* ./parser//parser_prod.nit:4717 */
26704 if (UNTAG_Bool(REGB0)) {
26705 fprintf(stderr, "Reciever is null");
26706 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4717);
26707 nit_exit(1);
26708 }
26709 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
26710 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast ALabel*/;
26711 /* ./parser//parser_prod.nit:4718 */
26712 if (UNTAG_Bool(REGB0)) {
26713 } else {
26714 fprintf(stderr, "Assert failed");
26715 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4718);
26716 nit_exit(1);
26717 }
26718 /* ./parser//parser_prod.nit:4719 */
26719 ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]) = fra.me.REG[2];
26720 } else {
26721 /* ./parser//parser_prod.nit:4721 */
26722 ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]) = NIT_NULL;
26723 }
26724 /* ./parser//parser_prod.nit:4723 */
26725 goto label1;
26726 }
26727 label1: while(0);
26728 stack_frame_head = fra.me.prev;
26729 return;
26730 }
26731 void parser_prod___ADoExpr___visit_all(val_t p0, val_t p1){
26732 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
26733 val_t REGB0;
26734 val_t REGB1;
26735 val_t tmp;
26736 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26737 fra.me.file = LOCATE_parser_prod;
26738 fra.me.line = 4727;
26739 fra.me.meth = LOCATE_parser_prod___ADoExpr___visit_all;
26740 fra.me.has_broke = 0;
26741 fra.me.REG_size = 3;
26742 fra.me.REG[0] = NIT_NULL;
26743 fra.me.REG[1] = NIT_NULL;
26744 fra.me.REG[2] = NIT_NULL;
26745 fra.me.REG[0] = p0;
26746 fra.me.REG[1] = p1;
26747 REGB0 = TAG_Bool(ATTR_parser_nodes___ADoExpr____n_kwdo(fra.me.REG[0])!=NIT_NULL);
26748 /* ./parser//parser_prod.nit:4729 */
26749 if (UNTAG_Bool(REGB0)) {
26750 } else {
26751 fprintf(stderr, "Uninitialized attribute %s", "_n_kwdo");
26752 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4729);
26753 nit_exit(1);
26754 }
26755 fra.me.REG[2] = ATTR_parser_nodes___ADoExpr____n_kwdo(fra.me.REG[0]);
26756 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
26757 fra.me.REG[2] = ATTR_parser_nodes___ADoExpr____n_block(fra.me.REG[0]);
26758 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26759 /* ./parser//parser_prod.nit:4730 */
26760 if (UNTAG_Bool(REGB0)) {
26761 } else {
26762 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26763 if (UNTAG_Bool(REGB1)) {
26764 REGB1 = TAG_Bool(false);
26765 REGB0 = REGB1;
26766 } else {
26767 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
26768 REGB0 = REGB1;
26769 }
26770 }
26771 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
26772 if (UNTAG_Bool(REGB0)) {
26773 fra.me.REG[2] = ATTR_parser_nodes___ADoExpr____n_block(fra.me.REG[0]);
26774 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
26775 /* ./parser//parser_prod.nit:4731 */
26776 if (UNTAG_Bool(REGB0)) {
26777 } else {
26778 fprintf(stderr, "Cast failed");
26779 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4731);
26780 nit_exit(1);
26781 }
26782 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
26783 }
26784 fra.me.REG[2] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
26785 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26786 /* ./parser//parser_prod.nit:4733 */
26787 if (UNTAG_Bool(REGB0)) {
26788 } else {
26789 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26790 if (UNTAG_Bool(REGB1)) {
26791 REGB1 = TAG_Bool(false);
26792 REGB0 = REGB1;
26793 } else {
26794 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
26795 REGB0 = REGB1;
26796 }
26797 }
26798 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
26799 if (UNTAG_Bool(REGB0)) {
26800 fra.me.REG[0] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
26801 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_ALabel, ID_ALabel)) /*cast ALabel*/;
26802 /* ./parser//parser_prod.nit:4734 */
26803 if (UNTAG_Bool(REGB0)) {
26804 } else {
26805 fprintf(stderr, "Cast failed");
26806 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4734);
26807 nit_exit(1);
26808 }
26809 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
26810 }
26811 stack_frame_head = fra.me.prev;
26812 return;
26813 }
26814 void parser_prod___ADoExpr___visit_all_reverse(val_t p0, val_t p1){
26815 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
26816 val_t REGB0;
26817 val_t REGB1;
26818 val_t tmp;
26819 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26820 fra.me.file = LOCATE_parser_prod;
26821 fra.me.line = 4738;
26822 fra.me.meth = LOCATE_parser_prod___ADoExpr___visit_all_reverse;
26823 fra.me.has_broke = 0;
26824 fra.me.REG_size = 3;
26825 fra.me.REG[0] = NIT_NULL;
26826 fra.me.REG[1] = NIT_NULL;
26827 fra.me.REG[2] = NIT_NULL;
26828 fra.me.REG[0] = p0;
26829 fra.me.REG[1] = p1;
26830 REGB0 = TAG_Bool(ATTR_parser_nodes___ADoExpr____n_kwdo(fra.me.REG[0])!=NIT_NULL);
26831 /* ./parser//parser_prod.nit:4740 */
26832 if (UNTAG_Bool(REGB0)) {
26833 } else {
26834 fprintf(stderr, "Uninitialized attribute %s", "_n_kwdo");
26835 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4740);
26836 nit_exit(1);
26837 }
26838 fra.me.REG[2] = ATTR_parser_nodes___ADoExpr____n_kwdo(fra.me.REG[0]);
26839 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
26840 fra.me.REG[2] = ATTR_parser_nodes___ADoExpr____n_block(fra.me.REG[0]);
26841 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26842 /* ./parser//parser_prod.nit:4741 */
26843 if (UNTAG_Bool(REGB0)) {
26844 } else {
26845 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26846 if (UNTAG_Bool(REGB1)) {
26847 REGB1 = TAG_Bool(false);
26848 REGB0 = REGB1;
26849 } else {
26850 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
26851 REGB0 = REGB1;
26852 }
26853 }
26854 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
26855 if (UNTAG_Bool(REGB0)) {
26856 fra.me.REG[2] = ATTR_parser_nodes___ADoExpr____n_block(fra.me.REG[0]);
26857 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
26858 /* ./parser//parser_prod.nit:4742 */
26859 if (UNTAG_Bool(REGB0)) {
26860 } else {
26861 fprintf(stderr, "Cast failed");
26862 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4742);
26863 nit_exit(1);
26864 }
26865 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
26866 }
26867 fra.me.REG[2] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
26868 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26869 /* ./parser//parser_prod.nit:4744 */
26870 if (UNTAG_Bool(REGB0)) {
26871 } else {
26872 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26873 if (UNTAG_Bool(REGB1)) {
26874 REGB1 = TAG_Bool(false);
26875 REGB0 = REGB1;
26876 } else {
26877 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
26878 REGB0 = REGB1;
26879 }
26880 }
26881 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
26882 if (UNTAG_Bool(REGB0)) {
26883 fra.me.REG[0] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
26884 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_ALabel, ID_ALabel)) /*cast ALabel*/;
26885 /* ./parser//parser_prod.nit:4745 */
26886 if (UNTAG_Bool(REGB0)) {
26887 } else {
26888 fprintf(stderr, "Cast failed");
26889 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4745);
26890 nit_exit(1);
26891 }
26892 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
26893 }
26894 stack_frame_head = fra.me.prev;
26895 return;
26896 }
26897 void parser_prod___ADoExpr___empty_init(val_t p0, int* init_table){
26898 int itpos111 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ADoExpr].i;
26899 struct {struct stack_frame_t me;} fra;
26900 val_t tmp;
26901 if (init_table[itpos111]) return;
26902 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26903 fra.me.file = LOCATE_parser_prod;
26904 fra.me.line = 4672;
26905 fra.me.meth = LOCATE_parser_prod___ADoExpr___empty_init;
26906 fra.me.has_broke = 0;
26907 fra.me.REG_size = 1;
26908 fra.me.REG[0] = NIT_NULL;
26909 fra.me.REG[0] = p0;
26910 /* ./parser//parser_prod.nit:4672 */
26911 stack_frame_head = fra.me.prev;
26912 init_table[itpos111] = 1;
26913 return;
26914 }
26915 void parser_prod___ADoExpr___init_adoexpr(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
26916 int itpos112 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ADoExpr].i;
26917 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
26918 val_t REGB0;
26919 val_t REGB1;
26920 val_t tmp;
26921 if (init_table[itpos112]) return;
26922 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26923 fra.me.file = LOCATE_parser_prod;
26924 fra.me.line = 4674;
26925 fra.me.meth = LOCATE_parser_prod___ADoExpr___init_adoexpr;
26926 fra.me.has_broke = 0;
26927 fra.me.REG_size = 4;
26928 fra.me.REG[0] = NIT_NULL;
26929 fra.me.REG[1] = NIT_NULL;
26930 fra.me.REG[2] = NIT_NULL;
26931 fra.me.REG[3] = NIT_NULL;
26932 fra.me.REG[0] = p0;
26933 fra.me.REG[1] = p1;
26934 fra.me.REG[2] = p2;
26935 fra.me.REG[3] = p3;
26936 /* ./parser//parser_prod.nit:4680 */
26937 CALL_parser_prod___ADoExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
26938 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
26939 /* ./parser//parser_prod.nit:4681 */
26940 if (UNTAG_Bool(REGB0)) {
26941 } else {
26942 fprintf(stderr, "Cast failed");
26943 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4681);
26944 nit_exit(1);
26945 }
26946 ATTR_parser_nodes___ADoExpr____n_kwdo(fra.me.REG[0]) = fra.me.REG[1];
26947 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
26948 /* ./parser//parser_prod.nit:4682 */
26949 if (UNTAG_Bool(REGB0)) {
26950 fprintf(stderr, "Reciever is null");
26951 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4682);
26952 nit_exit(1);
26953 }
26954 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
26955 /* ./parser//parser_prod.nit:4683 */
26956 ATTR_parser_nodes___ADoExpr____n_block(fra.me.REG[0]) = fra.me.REG[2];
26957 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26958 /* ./parser//parser_prod.nit:4684 */
26959 if (UNTAG_Bool(REGB0)) {
26960 } else {
26961 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26962 if (UNTAG_Bool(REGB1)) {
26963 REGB1 = TAG_Bool(false);
26964 REGB0 = REGB1;
26965 } else {
26966 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
26967 REGB0 = REGB1;
26968 }
26969 }
26970 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
26971 if (UNTAG_Bool(REGB0)) {
26972 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
26973 /* ./parser//parser_prod.nit:4685 */
26974 if (UNTAG_Bool(REGB0)) {
26975 fprintf(stderr, "Reciever is null");
26976 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4685);
26977 nit_exit(1);
26978 }
26979 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
26980 }
26981 /* ./parser//parser_prod.nit:4687 */
26982 ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]) = fra.me.REG[3];
26983 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
26984 /* ./parser//parser_prod.nit:4688 */
26985 if (UNTAG_Bool(REGB0)) {
26986 } else {
26987 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
26988 if (UNTAG_Bool(REGB1)) {
26989 REGB1 = TAG_Bool(false);
26990 REGB0 = REGB1;
26991 } else {
26992 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
26993 REGB0 = REGB1;
26994 }
26995 }
26996 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
26997 if (UNTAG_Bool(REGB0)) {
26998 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
26999 /* ./parser//parser_prod.nit:4689 */
27000 if (UNTAG_Bool(REGB0)) {
27001 fprintf(stderr, "Reciever is null");
27002 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4689);
27003 nit_exit(1);
27004 }
27005 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
27006 }
27007 stack_frame_head = fra.me.prev;
27008 init_table[itpos112] = 1;
27009 return;
27010 }
27011 void parser_prod___AIfExpr___n_kwif__eq(val_t p0, val_t p1){
27012 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
27013 val_t tmp;
27014 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27015 fra.me.file = LOCATE_parser_prod;
27016 fra.me.line = 4750;
27017 fra.me.meth = LOCATE_parser_prod___AIfExpr___n_kwif__eq;
27018 fra.me.has_broke = 0;
27019 fra.me.REG_size = 2;
27020 fra.me.REG[0] = NIT_NULL;
27021 fra.me.REG[1] = NIT_NULL;
27022 fra.me.REG[0] = p0;
27023 fra.me.REG[1] = p1;
27024 /* ./parser//parser_prod.nit:4752 */
27025 ATTR_parser_nodes___AIfExpr____n_kwif(fra.me.REG[0]) = fra.me.REG[1];
27026 /* ./parser//parser_prod.nit:4753 */
27027 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
27028 stack_frame_head = fra.me.prev;
27029 return;
27030 }
27031 void parser_prod___AIfExpr___n_expr__eq(val_t p0, val_t p1){
27032 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
27033 val_t tmp;
27034 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27035 fra.me.file = LOCATE_parser_prod;
27036 fra.me.line = 4755;
27037 fra.me.meth = LOCATE_parser_prod___AIfExpr___n_expr__eq;
27038 fra.me.has_broke = 0;
27039 fra.me.REG_size = 2;
27040 fra.me.REG[0] = NIT_NULL;
27041 fra.me.REG[1] = NIT_NULL;
27042 fra.me.REG[0] = p0;
27043 fra.me.REG[1] = p1;
27044 /* ./parser//parser_prod.nit:4757 */
27045 ATTR_parser_nodes___AIfExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
27046 /* ./parser//parser_prod.nit:4758 */
27047 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
27048 stack_frame_head = fra.me.prev;
27049 return;
27050 }
27051 void parser_prod___AIfExpr___n_then__eq(val_t p0, val_t p1){
27052 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
27053 val_t REGB0;
27054 val_t REGB1;
27055 val_t tmp;
27056 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27057 fra.me.file = LOCATE_parser_prod;
27058 fra.me.line = 4760;
27059 fra.me.meth = LOCATE_parser_prod___AIfExpr___n_then__eq;
27060 fra.me.has_broke = 0;
27061 fra.me.REG_size = 2;
27062 fra.me.REG[0] = NIT_NULL;
27063 fra.me.REG[1] = NIT_NULL;
27064 fra.me.REG[0] = p0;
27065 fra.me.REG[1] = p1;
27066 /* ./parser//parser_prod.nit:4762 */
27067 ATTR_parser_nodes___AIfExpr____n_then(fra.me.REG[0]) = fra.me.REG[1];
27068 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
27069 /* ./parser//parser_prod.nit:4763 */
27070 if (UNTAG_Bool(REGB0)) {
27071 } else {
27072 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
27073 if (UNTAG_Bool(REGB1)) {
27074 REGB1 = TAG_Bool(false);
27075 REGB0 = REGB1;
27076 } else {
27077 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
27078 REGB0 = REGB1;
27079 }
27080 }
27081 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
27082 if (UNTAG_Bool(REGB0)) {
27083 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
27084 /* ./parser//parser_prod.nit:4764 */
27085 if (UNTAG_Bool(REGB0)) {
27086 fprintf(stderr, "Reciever is null");
27087 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4764);
27088 nit_exit(1);
27089 }
27090 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
27091 }
27092 stack_frame_head = fra.me.prev;
27093 return;
27094 }
27095 void parser_prod___AIfExpr___n_else__eq(val_t p0, val_t p1){
27096 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
27097 val_t REGB0;
27098 val_t REGB1;
27099 val_t tmp;
27100 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27101 fra.me.file = LOCATE_parser_prod;
27102 fra.me.line = 4767;
27103 fra.me.meth = LOCATE_parser_prod___AIfExpr___n_else__eq;
27104 fra.me.has_broke = 0;
27105 fra.me.REG_size = 2;
27106 fra.me.REG[0] = NIT_NULL;
27107 fra.me.REG[1] = NIT_NULL;
27108 fra.me.REG[0] = p0;
27109 fra.me.REG[1] = p1;
27110 /* ./parser//parser_prod.nit:4769 */
27111 ATTR_parser_nodes___AIfExpr____n_else(fra.me.REG[0]) = fra.me.REG[1];
27112 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
27113 /* ./parser//parser_prod.nit:4770 */
27114 if (UNTAG_Bool(REGB0)) {
27115 } else {
27116 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
27117 if (UNTAG_Bool(REGB1)) {
27118 REGB1 = TAG_Bool(false);
27119 REGB0 = REGB1;
27120 } else {
27121 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
27122 REGB0 = REGB1;
27123 }
27124 }
27125 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
27126 if (UNTAG_Bool(REGB0)) {
27127 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
27128 /* ./parser//parser_prod.nit:4771 */
27129 if (UNTAG_Bool(REGB0)) {
27130 fprintf(stderr, "Reciever is null");
27131 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4771);
27132 nit_exit(1);
27133 }
27134 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
27135 }
27136 stack_frame_head = fra.me.prev;
27137 return;
27138 }
27139 void parser_prod___AIfExpr___replace_child(val_t p0, val_t p1, val_t p2){
27140 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
27141 val_t REGB0;
27142 val_t REGB1;
27143 val_t tmp;
27144 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27145 fra.me.file = LOCATE_parser_prod;
27146 fra.me.line = 4799;
27147 fra.me.meth = LOCATE_parser_prod___AIfExpr___replace_child;
27148 fra.me.has_broke = 0;
27149 fra.me.REG_size = 4;
27150 fra.me.REG[0] = NIT_NULL;
27151 fra.me.REG[1] = NIT_NULL;
27152 fra.me.REG[2] = NIT_NULL;
27153 fra.me.REG[3] = NIT_NULL;
27154 fra.me.REG[0] = p0;
27155 fra.me.REG[1] = p1;
27156 fra.me.REG[2] = p2;
27157 REGB0 = TAG_Bool(ATTR_parser_nodes___AIfExpr____n_kwif(fra.me.REG[0])!=NIT_NULL);
27158 /* ./parser//parser_prod.nit:4801 */
27159 if (UNTAG_Bool(REGB0)) {
27160 } else {
27161 fprintf(stderr, "Uninitialized attribute %s", "_n_kwif");
27162 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4801);
27163 nit_exit(1);
27164 }
27165 fra.me.REG[3] = ATTR_parser_nodes___AIfExpr____n_kwif(fra.me.REG[0]);
27166 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
27167 if (UNTAG_Bool(REGB0)) {
27168 } else {
27169 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
27170 REGB0 = REGB1;
27171 }
27172 if (UNTAG_Bool(REGB0)) {
27173 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27174 /* ./parser//parser_prod.nit:4802 */
27175 if (UNTAG_Bool(REGB0)) {
27176 } else {
27177 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27178 if (UNTAG_Bool(REGB1)) {
27179 REGB1 = TAG_Bool(false);
27180 REGB0 = REGB1;
27181 } else {
27182 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
27183 REGB0 = REGB1;
27184 }
27185 }
27186 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
27187 if (UNTAG_Bool(REGB0)) {
27188 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27189 /* ./parser//parser_prod.nit:4803 */
27190 if (UNTAG_Bool(REGB0)) {
27191 fprintf(stderr, "Reciever is null");
27192 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4803);
27193 nit_exit(1);
27194 }
27195 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
27196 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
27197 /* ./parser//parser_prod.nit:4804 */
27198 if (UNTAG_Bool(REGB0)) {
27199 } else {
27200 fprintf(stderr, "Assert failed");
27201 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4804);
27202 nit_exit(1);
27203 }
27204 /* ./parser//parser_prod.nit:4805 */
27205 ATTR_parser_nodes___AIfExpr____n_kwif(fra.me.REG[0]) = fra.me.REG[2];
27206 } else {
27207 /* ./parser//parser_prod.nit:4807 */
27208 fprintf(stderr, "Aborted");
27209 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4807);
27210 nit_exit(1);
27211 }
27212 /* ./parser//parser_prod.nit:4809 */
27213 goto label1;
27214 }
27215 REGB0 = TAG_Bool(ATTR_parser_nodes___AIfExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
27216 /* ./parser//parser_prod.nit:4811 */
27217 if (UNTAG_Bool(REGB0)) {
27218 } else {
27219 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
27220 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4811);
27221 nit_exit(1);
27222 }
27223 fra.me.REG[3] = ATTR_parser_nodes___AIfExpr____n_expr(fra.me.REG[0]);
27224 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
27225 if (UNTAG_Bool(REGB0)) {
27226 } else {
27227 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
27228 REGB0 = REGB1;
27229 }
27230 if (UNTAG_Bool(REGB0)) {
27231 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27232 /* ./parser//parser_prod.nit:4812 */
27233 if (UNTAG_Bool(REGB0)) {
27234 } else {
27235 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27236 if (UNTAG_Bool(REGB1)) {
27237 REGB1 = TAG_Bool(false);
27238 REGB0 = REGB1;
27239 } else {
27240 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
27241 REGB0 = REGB1;
27242 }
27243 }
27244 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
27245 if (UNTAG_Bool(REGB0)) {
27246 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27247 /* ./parser//parser_prod.nit:4813 */
27248 if (UNTAG_Bool(REGB0)) {
27249 fprintf(stderr, "Reciever is null");
27250 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4813);
27251 nit_exit(1);
27252 }
27253 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
27254 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
27255 /* ./parser//parser_prod.nit:4814 */
27256 if (UNTAG_Bool(REGB0)) {
27257 } else {
27258 fprintf(stderr, "Assert failed");
27259 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4814);
27260 nit_exit(1);
27261 }
27262 /* ./parser//parser_prod.nit:4815 */
27263 ATTR_parser_nodes___AIfExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
27264 } else {
27265 /* ./parser//parser_prod.nit:4817 */
27266 fprintf(stderr, "Aborted");
27267 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4817);
27268 nit_exit(1);
27269 }
27270 /* ./parser//parser_prod.nit:4819 */
27271 goto label1;
27272 }
27273 fra.me.REG[3] = ATTR_parser_nodes___AIfExpr____n_then(fra.me.REG[0]);
27274 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
27275 /* ./parser//parser_prod.nit:4821 */
27276 if (UNTAG_Bool(REGB0)) {
27277 } else {
27278 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
27279 if (UNTAG_Bool(REGB1)) {
27280 REGB1 = TAG_Bool(false);
27281 REGB0 = REGB1;
27282 } else {
27283 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
27284 REGB0 = REGB1;
27285 }
27286 }
27287 if (UNTAG_Bool(REGB0)) {
27288 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27289 /* ./parser//parser_prod.nit:4822 */
27290 if (UNTAG_Bool(REGB0)) {
27291 } else {
27292 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27293 if (UNTAG_Bool(REGB1)) {
27294 REGB1 = TAG_Bool(false);
27295 REGB0 = REGB1;
27296 } else {
27297 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
27298 REGB0 = REGB1;
27299 }
27300 }
27301 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
27302 if (UNTAG_Bool(REGB0)) {
27303 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27304 /* ./parser//parser_prod.nit:4823 */
27305 if (UNTAG_Bool(REGB0)) {
27306 fprintf(stderr, "Reciever is null");
27307 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4823);
27308 nit_exit(1);
27309 }
27310 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
27311 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
27312 /* ./parser//parser_prod.nit:4824 */
27313 if (UNTAG_Bool(REGB0)) {
27314 } else {
27315 fprintf(stderr, "Assert failed");
27316 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4824);
27317 nit_exit(1);
27318 }
27319 /* ./parser//parser_prod.nit:4825 */
27320 ATTR_parser_nodes___AIfExpr____n_then(fra.me.REG[0]) = fra.me.REG[2];
27321 } else {
27322 /* ./parser//parser_prod.nit:4827 */
27323 ATTR_parser_nodes___AIfExpr____n_then(fra.me.REG[0]) = NIT_NULL;
27324 }
27325 /* ./parser//parser_prod.nit:4829 */
27326 goto label1;
27327 }
27328 fra.me.REG[3] = ATTR_parser_nodes___AIfExpr____n_else(fra.me.REG[0]);
27329 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
27330 /* ./parser//parser_prod.nit:4831 */
27331 if (UNTAG_Bool(REGB0)) {
27332 } else {
27333 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
27334 if (UNTAG_Bool(REGB1)) {
27335 REGB1 = TAG_Bool(false);
27336 REGB0 = REGB1;
27337 } else {
27338 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
27339 REGB0 = REGB1;
27340 }
27341 }
27342 if (UNTAG_Bool(REGB0)) {
27343 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27344 /* ./parser//parser_prod.nit:4832 */
27345 if (UNTAG_Bool(REGB0)) {
27346 } else {
27347 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27348 if (UNTAG_Bool(REGB1)) {
27349 REGB1 = TAG_Bool(false);
27350 REGB0 = REGB1;
27351 } else {
27352 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
27353 REGB0 = REGB1;
27354 }
27355 }
27356 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
27357 if (UNTAG_Bool(REGB0)) {
27358 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27359 /* ./parser//parser_prod.nit:4833 */
27360 if (UNTAG_Bool(REGB0)) {
27361 fprintf(stderr, "Reciever is null");
27362 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4833);
27363 nit_exit(1);
27364 }
27365 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
27366 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
27367 /* ./parser//parser_prod.nit:4834 */
27368 if (UNTAG_Bool(REGB0)) {
27369 } else {
27370 fprintf(stderr, "Assert failed");
27371 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4834);
27372 nit_exit(1);
27373 }
27374 /* ./parser//parser_prod.nit:4835 */
27375 ATTR_parser_nodes___AIfExpr____n_else(fra.me.REG[0]) = fra.me.REG[2];
27376 } else {
27377 /* ./parser//parser_prod.nit:4837 */
27378 ATTR_parser_nodes___AIfExpr____n_else(fra.me.REG[0]) = NIT_NULL;
27379 }
27380 /* ./parser//parser_prod.nit:4839 */
27381 goto label1;
27382 }
27383 label1: while(0);
27384 stack_frame_head = fra.me.prev;
27385 return;
27386 }
27387 void parser_prod___AIfExpr___visit_all(val_t p0, val_t p1){
27388 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
27389 val_t REGB0;
27390 val_t REGB1;
27391 val_t tmp;
27392 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27393 fra.me.file = LOCATE_parser_prod;
27394 fra.me.line = 4843;
27395 fra.me.meth = LOCATE_parser_prod___AIfExpr___visit_all;
27396 fra.me.has_broke = 0;
27397 fra.me.REG_size = 3;
27398 fra.me.REG[0] = NIT_NULL;
27399 fra.me.REG[1] = NIT_NULL;
27400 fra.me.REG[2] = NIT_NULL;
27401 fra.me.REG[0] = p0;
27402 fra.me.REG[1] = p1;
27403 REGB0 = TAG_Bool(ATTR_parser_nodes___AIfExpr____n_kwif(fra.me.REG[0])!=NIT_NULL);
27404 /* ./parser//parser_prod.nit:4845 */
27405 if (UNTAG_Bool(REGB0)) {
27406 } else {
27407 fprintf(stderr, "Uninitialized attribute %s", "_n_kwif");
27408 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4845);
27409 nit_exit(1);
27410 }
27411 fra.me.REG[2] = ATTR_parser_nodes___AIfExpr____n_kwif(fra.me.REG[0]);
27412 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
27413 REGB0 = TAG_Bool(ATTR_parser_nodes___AIfExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
27414 /* ./parser//parser_prod.nit:4846 */
27415 if (UNTAG_Bool(REGB0)) {
27416 } else {
27417 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
27418 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4846);
27419 nit_exit(1);
27420 }
27421 fra.me.REG[2] = ATTR_parser_nodes___AIfExpr____n_expr(fra.me.REG[0]);
27422 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
27423 fra.me.REG[2] = ATTR_parser_nodes___AIfExpr____n_then(fra.me.REG[0]);
27424 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27425 /* ./parser//parser_prod.nit:4847 */
27426 if (UNTAG_Bool(REGB0)) {
27427 } else {
27428 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27429 if (UNTAG_Bool(REGB1)) {
27430 REGB1 = TAG_Bool(false);
27431 REGB0 = REGB1;
27432 } else {
27433 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
27434 REGB0 = REGB1;
27435 }
27436 }
27437 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
27438 if (UNTAG_Bool(REGB0)) {
27439 fra.me.REG[2] = ATTR_parser_nodes___AIfExpr____n_then(fra.me.REG[0]);
27440 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
27441 /* ./parser//parser_prod.nit:4848 */
27442 if (UNTAG_Bool(REGB0)) {
27443 } else {
27444 fprintf(stderr, "Cast failed");
27445 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4848);
27446 nit_exit(1);
27447 }
27448 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
27449 }
27450 fra.me.REG[2] = ATTR_parser_nodes___AIfExpr____n_else(fra.me.REG[0]);
27451 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27452 /* ./parser//parser_prod.nit:4850 */
27453 if (UNTAG_Bool(REGB0)) {
27454 } else {
27455 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27456 if (UNTAG_Bool(REGB1)) {
27457 REGB1 = TAG_Bool(false);
27458 REGB0 = REGB1;
27459 } else {
27460 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
27461 REGB0 = REGB1;
27462 }
27463 }
27464 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
27465 if (UNTAG_Bool(REGB0)) {
27466 fra.me.REG[0] = ATTR_parser_nodes___AIfExpr____n_else(fra.me.REG[0]);
27467 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
27468 /* ./parser//parser_prod.nit:4851 */
27469 if (UNTAG_Bool(REGB0)) {
27470 } else {
27471 fprintf(stderr, "Cast failed");
27472 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4851);
27473 nit_exit(1);
27474 }
27475 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
27476 }
27477 stack_frame_head = fra.me.prev;
27478 return;
27479 }
27480 void parser_prod___AIfExpr___visit_all_reverse(val_t p0, val_t p1){
27481 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
27482 val_t REGB0;
27483 val_t REGB1;
27484 val_t tmp;
27485 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27486 fra.me.file = LOCATE_parser_prod;
27487 fra.me.line = 4855;
27488 fra.me.meth = LOCATE_parser_prod___AIfExpr___visit_all_reverse;
27489 fra.me.has_broke = 0;
27490 fra.me.REG_size = 3;
27491 fra.me.REG[0] = NIT_NULL;
27492 fra.me.REG[1] = NIT_NULL;
27493 fra.me.REG[2] = NIT_NULL;
27494 fra.me.REG[0] = p0;
27495 fra.me.REG[1] = p1;
27496 REGB0 = TAG_Bool(ATTR_parser_nodes___AIfExpr____n_kwif(fra.me.REG[0])!=NIT_NULL);
27497 /* ./parser//parser_prod.nit:4857 */
27498 if (UNTAG_Bool(REGB0)) {
27499 } else {
27500 fprintf(stderr, "Uninitialized attribute %s", "_n_kwif");
27501 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4857);
27502 nit_exit(1);
27503 }
27504 fra.me.REG[2] = ATTR_parser_nodes___AIfExpr____n_kwif(fra.me.REG[0]);
27505 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
27506 REGB0 = TAG_Bool(ATTR_parser_nodes___AIfExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
27507 /* ./parser//parser_prod.nit:4858 */
27508 if (UNTAG_Bool(REGB0)) {
27509 } else {
27510 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
27511 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4858);
27512 nit_exit(1);
27513 }
27514 fra.me.REG[2] = ATTR_parser_nodes___AIfExpr____n_expr(fra.me.REG[0]);
27515 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
27516 fra.me.REG[2] = ATTR_parser_nodes___AIfExpr____n_then(fra.me.REG[0]);
27517 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27518 /* ./parser//parser_prod.nit:4859 */
27519 if (UNTAG_Bool(REGB0)) {
27520 } else {
27521 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27522 if (UNTAG_Bool(REGB1)) {
27523 REGB1 = TAG_Bool(false);
27524 REGB0 = REGB1;
27525 } else {
27526 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
27527 REGB0 = REGB1;
27528 }
27529 }
27530 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
27531 if (UNTAG_Bool(REGB0)) {
27532 fra.me.REG[2] = ATTR_parser_nodes___AIfExpr____n_then(fra.me.REG[0]);
27533 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
27534 /* ./parser//parser_prod.nit:4860 */
27535 if (UNTAG_Bool(REGB0)) {
27536 } else {
27537 fprintf(stderr, "Cast failed");
27538 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4860);
27539 nit_exit(1);
27540 }
27541 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
27542 }
27543 fra.me.REG[2] = ATTR_parser_nodes___AIfExpr____n_else(fra.me.REG[0]);
27544 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27545 /* ./parser//parser_prod.nit:4862 */
27546 if (UNTAG_Bool(REGB0)) {
27547 } else {
27548 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27549 if (UNTAG_Bool(REGB1)) {
27550 REGB1 = TAG_Bool(false);
27551 REGB0 = REGB1;
27552 } else {
27553 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
27554 REGB0 = REGB1;
27555 }
27556 }
27557 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
27558 if (UNTAG_Bool(REGB0)) {
27559 fra.me.REG[0] = ATTR_parser_nodes___AIfExpr____n_else(fra.me.REG[0]);
27560 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
27561 /* ./parser//parser_prod.nit:4863 */
27562 if (UNTAG_Bool(REGB0)) {
27563 } else {
27564 fprintf(stderr, "Cast failed");
27565 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4863);
27566 nit_exit(1);
27567 }
27568 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
27569 }
27570 stack_frame_head = fra.me.prev;
27571 return;
27572 }
27573 void parser_prod___AIfExpr___empty_init(val_t p0, int* init_table){
27574 int itpos113 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AIfExpr].i;
27575 struct {struct stack_frame_t me;} fra;
27576 val_t tmp;
27577 if (init_table[itpos113]) return;
27578 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27579 fra.me.file = LOCATE_parser_prod;
27580 fra.me.line = 4775;
27581 fra.me.meth = LOCATE_parser_prod___AIfExpr___empty_init;
27582 fra.me.has_broke = 0;
27583 fra.me.REG_size = 1;
27584 fra.me.REG[0] = NIT_NULL;
27585 fra.me.REG[0] = p0;
27586 /* ./parser//parser_prod.nit:4775 */
27587 stack_frame_head = fra.me.prev;
27588 init_table[itpos113] = 1;
27589 return;
27590 }
27591 void parser_prod___AIfExpr___init_aifexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, int* init_table){
27592 int itpos114 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AIfExpr].i;
27593 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
27594 val_t REGB0;
27595 val_t REGB1;
27596 val_t tmp;
27597 if (init_table[itpos114]) return;
27598 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27599 fra.me.file = LOCATE_parser_prod;
27600 fra.me.line = 4777;
27601 fra.me.meth = LOCATE_parser_prod___AIfExpr___init_aifexpr;
27602 fra.me.has_broke = 0;
27603 fra.me.REG_size = 5;
27604 fra.me.REG[0] = NIT_NULL;
27605 fra.me.REG[1] = NIT_NULL;
27606 fra.me.REG[2] = NIT_NULL;
27607 fra.me.REG[3] = NIT_NULL;
27608 fra.me.REG[4] = NIT_NULL;
27609 fra.me.REG[0] = p0;
27610 fra.me.REG[1] = p1;
27611 fra.me.REG[2] = p2;
27612 fra.me.REG[3] = p3;
27613 fra.me.REG[4] = p4;
27614 /* ./parser//parser_prod.nit:4784 */
27615 CALL_parser_prod___AIfExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
27616 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
27617 /* ./parser//parser_prod.nit:4785 */
27618 if (UNTAG_Bool(REGB0)) {
27619 } else {
27620 fprintf(stderr, "Cast failed");
27621 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4785);
27622 nit_exit(1);
27623 }
27624 ATTR_parser_nodes___AIfExpr____n_kwif(fra.me.REG[0]) = fra.me.REG[1];
27625 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
27626 /* ./parser//parser_prod.nit:4786 */
27627 if (UNTAG_Bool(REGB0)) {
27628 fprintf(stderr, "Reciever is null");
27629 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4786);
27630 nit_exit(1);
27631 }
27632 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
27633 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
27634 /* ./parser//parser_prod.nit:4787 */
27635 if (UNTAG_Bool(REGB0)) {
27636 } else {
27637 fprintf(stderr, "Cast failed");
27638 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4787);
27639 nit_exit(1);
27640 }
27641 ATTR_parser_nodes___AIfExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
27642 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27643 /* ./parser//parser_prod.nit:4788 */
27644 if (UNTAG_Bool(REGB0)) {
27645 fprintf(stderr, "Reciever is null");
27646 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4788);
27647 nit_exit(1);
27648 }
27649 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
27650 /* ./parser//parser_prod.nit:4789 */
27651 ATTR_parser_nodes___AIfExpr____n_then(fra.me.REG[0]) = fra.me.REG[3];
27652 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
27653 /* ./parser//parser_prod.nit:4790 */
27654 if (UNTAG_Bool(REGB0)) {
27655 } else {
27656 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
27657 if (UNTAG_Bool(REGB1)) {
27658 REGB1 = TAG_Bool(false);
27659 REGB0 = REGB1;
27660 } else {
27661 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
27662 REGB0 = REGB1;
27663 }
27664 }
27665 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
27666 if (UNTAG_Bool(REGB0)) {
27667 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
27668 /* ./parser//parser_prod.nit:4791 */
27669 if (UNTAG_Bool(REGB0)) {
27670 fprintf(stderr, "Reciever is null");
27671 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4791);
27672 nit_exit(1);
27673 }
27674 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
27675 }
27676 /* ./parser//parser_prod.nit:4793 */
27677 ATTR_parser_nodes___AIfExpr____n_else(fra.me.REG[0]) = fra.me.REG[4];
27678 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
27679 /* ./parser//parser_prod.nit:4794 */
27680 if (UNTAG_Bool(REGB0)) {
27681 } else {
27682 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
27683 if (UNTAG_Bool(REGB1)) {
27684 REGB1 = TAG_Bool(false);
27685 REGB0 = REGB1;
27686 } else {
27687 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
27688 REGB0 = REGB1;
27689 }
27690 }
27691 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
27692 if (UNTAG_Bool(REGB0)) {
27693 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
27694 /* ./parser//parser_prod.nit:4795 */
27695 if (UNTAG_Bool(REGB0)) {
27696 fprintf(stderr, "Reciever is null");
27697 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4795);
27698 nit_exit(1);
27699 }
27700 CALL_parser_prod___ANode___parent__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
27701 }
27702 stack_frame_head = fra.me.prev;
27703 init_table[itpos114] = 1;
27704 return;
27705 }
27706 void parser_prod___AIfexprExpr___n_kwif__eq(val_t p0, val_t p1){
27707 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
27708 val_t tmp;
27709 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27710 fra.me.file = LOCATE_parser_prod;
27711 fra.me.line = 4868;
27712 fra.me.meth = LOCATE_parser_prod___AIfexprExpr___n_kwif__eq;
27713 fra.me.has_broke = 0;
27714 fra.me.REG_size = 2;
27715 fra.me.REG[0] = NIT_NULL;
27716 fra.me.REG[1] = NIT_NULL;
27717 fra.me.REG[0] = p0;
27718 fra.me.REG[1] = p1;
27719 /* ./parser//parser_prod.nit:4870 */
27720 ATTR_parser_nodes___AIfexprExpr____n_kwif(fra.me.REG[0]) = fra.me.REG[1];
27721 /* ./parser//parser_prod.nit:4871 */
27722 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
27723 stack_frame_head = fra.me.prev;
27724 return;
27725 }
27726 void parser_prod___AIfexprExpr___n_expr__eq(val_t p0, val_t p1){
27727 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
27728 val_t tmp;
27729 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27730 fra.me.file = LOCATE_parser_prod;
27731 fra.me.line = 4873;
27732 fra.me.meth = LOCATE_parser_prod___AIfexprExpr___n_expr__eq;
27733 fra.me.has_broke = 0;
27734 fra.me.REG_size = 2;
27735 fra.me.REG[0] = NIT_NULL;
27736 fra.me.REG[1] = NIT_NULL;
27737 fra.me.REG[0] = p0;
27738 fra.me.REG[1] = p1;
27739 /* ./parser//parser_prod.nit:4875 */
27740 ATTR_parser_nodes___AIfexprExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
27741 /* ./parser//parser_prod.nit:4876 */
27742 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
27743 stack_frame_head = fra.me.prev;
27744 return;
27745 }
27746 void parser_prod___AIfexprExpr___n_kwthen__eq(val_t p0, val_t p1){
27747 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
27748 val_t tmp;
27749 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27750 fra.me.file = LOCATE_parser_prod;
27751 fra.me.line = 4878;
27752 fra.me.meth = LOCATE_parser_prod___AIfexprExpr___n_kwthen__eq;
27753 fra.me.has_broke = 0;
27754 fra.me.REG_size = 2;
27755 fra.me.REG[0] = NIT_NULL;
27756 fra.me.REG[1] = NIT_NULL;
27757 fra.me.REG[0] = p0;
27758 fra.me.REG[1] = p1;
27759 /* ./parser//parser_prod.nit:4880 */
27760 ATTR_parser_nodes___AIfexprExpr____n_kwthen(fra.me.REG[0]) = fra.me.REG[1];
27761 /* ./parser//parser_prod.nit:4881 */
27762 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
27763 stack_frame_head = fra.me.prev;
27764 return;
27765 }
27766 void parser_prod___AIfexprExpr___n_then__eq(val_t p0, val_t p1){
27767 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
27768 val_t tmp;
27769 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27770 fra.me.file = LOCATE_parser_prod;
27771 fra.me.line = 4883;
27772 fra.me.meth = LOCATE_parser_prod___AIfexprExpr___n_then__eq;
27773 fra.me.has_broke = 0;
27774 fra.me.REG_size = 2;
27775 fra.me.REG[0] = NIT_NULL;
27776 fra.me.REG[1] = NIT_NULL;
27777 fra.me.REG[0] = p0;
27778 fra.me.REG[1] = p1;
27779 /* ./parser//parser_prod.nit:4885 */
27780 ATTR_parser_nodes___AIfexprExpr____n_then(fra.me.REG[0]) = fra.me.REG[1];
27781 /* ./parser//parser_prod.nit:4886 */
27782 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
27783 stack_frame_head = fra.me.prev;
27784 return;
27785 }
27786 void parser_prod___AIfexprExpr___n_kwelse__eq(val_t p0, val_t p1){
27787 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
27788 val_t tmp;
27789 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27790 fra.me.file = LOCATE_parser_prod;
27791 fra.me.line = 4888;
27792 fra.me.meth = LOCATE_parser_prod___AIfexprExpr___n_kwelse__eq;
27793 fra.me.has_broke = 0;
27794 fra.me.REG_size = 2;
27795 fra.me.REG[0] = NIT_NULL;
27796 fra.me.REG[1] = NIT_NULL;
27797 fra.me.REG[0] = p0;
27798 fra.me.REG[1] = p1;
27799 /* ./parser//parser_prod.nit:4890 */
27800 ATTR_parser_nodes___AIfexprExpr____n_kwelse(fra.me.REG[0]) = fra.me.REG[1];
27801 /* ./parser//parser_prod.nit:4891 */
27802 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
27803 stack_frame_head = fra.me.prev;
27804 return;
27805 }
27806 void parser_prod___AIfexprExpr___n_else__eq(val_t p0, val_t p1){
27807 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
27808 val_t tmp;
27809 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27810 fra.me.file = LOCATE_parser_prod;
27811 fra.me.line = 4893;
27812 fra.me.meth = LOCATE_parser_prod___AIfexprExpr___n_else__eq;
27813 fra.me.has_broke = 0;
27814 fra.me.REG_size = 2;
27815 fra.me.REG[0] = NIT_NULL;
27816 fra.me.REG[1] = NIT_NULL;
27817 fra.me.REG[0] = p0;
27818 fra.me.REG[1] = p1;
27819 /* ./parser//parser_prod.nit:4895 */
27820 ATTR_parser_nodes___AIfexprExpr____n_else(fra.me.REG[0]) = fra.me.REG[1];
27821 /* ./parser//parser_prod.nit:4896 */
27822 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
27823 stack_frame_head = fra.me.prev;
27824 return;
27825 }
27826 void parser_prod___AIfexprExpr___replace_child(val_t p0, val_t p1, val_t p2){
27827 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
27828 val_t REGB0;
27829 val_t REGB1;
27830 val_t tmp;
27831 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
27832 fra.me.file = LOCATE_parser_prod;
27833 fra.me.line = 4925;
27834 fra.me.meth = LOCATE_parser_prod___AIfexprExpr___replace_child;
27835 fra.me.has_broke = 0;
27836 fra.me.REG_size = 4;
27837 fra.me.REG[0] = NIT_NULL;
27838 fra.me.REG[1] = NIT_NULL;
27839 fra.me.REG[2] = NIT_NULL;
27840 fra.me.REG[3] = NIT_NULL;
27841 fra.me.REG[0] = p0;
27842 fra.me.REG[1] = p1;
27843 fra.me.REG[2] = p2;
27844 REGB0 = TAG_Bool(ATTR_parser_nodes___AIfexprExpr____n_kwif(fra.me.REG[0])!=NIT_NULL);
27845 /* ./parser//parser_prod.nit:4927 */
27846 if (UNTAG_Bool(REGB0)) {
27847 } else {
27848 fprintf(stderr, "Uninitialized attribute %s", "_n_kwif");
27849 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4927);
27850 nit_exit(1);
27851 }
27852 fra.me.REG[3] = ATTR_parser_nodes___AIfexprExpr____n_kwif(fra.me.REG[0]);
27853 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
27854 if (UNTAG_Bool(REGB0)) {
27855 } else {
27856 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
27857 REGB0 = REGB1;
27858 }
27859 if (UNTAG_Bool(REGB0)) {
27860 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27861 /* ./parser//parser_prod.nit:4928 */
27862 if (UNTAG_Bool(REGB0)) {
27863 } else {
27864 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27865 if (UNTAG_Bool(REGB1)) {
27866 REGB1 = TAG_Bool(false);
27867 REGB0 = REGB1;
27868 } else {
27869 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
27870 REGB0 = REGB1;
27871 }
27872 }
27873 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
27874 if (UNTAG_Bool(REGB0)) {
27875 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27876 /* ./parser//parser_prod.nit:4929 */
27877 if (UNTAG_Bool(REGB0)) {
27878 fprintf(stderr, "Reciever is null");
27879 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4929);
27880 nit_exit(1);
27881 }
27882 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
27883 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwif, ID_TKwif)) /*cast TKwif*/;
27884 /* ./parser//parser_prod.nit:4930 */
27885 if (UNTAG_Bool(REGB0)) {
27886 } else {
27887 fprintf(stderr, "Assert failed");
27888 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4930);
27889 nit_exit(1);
27890 }
27891 /* ./parser//parser_prod.nit:4931 */
27892 ATTR_parser_nodes___AIfexprExpr____n_kwif(fra.me.REG[0]) = fra.me.REG[2];
27893 } else {
27894 /* ./parser//parser_prod.nit:4933 */
27895 fprintf(stderr, "Aborted");
27896 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4933);
27897 nit_exit(1);
27898 }
27899 /* ./parser//parser_prod.nit:4935 */
27900 goto label1;
27901 }
27902 REGB0 = TAG_Bool(ATTR_parser_nodes___AIfexprExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
27903 /* ./parser//parser_prod.nit:4937 */
27904 if (UNTAG_Bool(REGB0)) {
27905 } else {
27906 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
27907 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4937);
27908 nit_exit(1);
27909 }
27910 fra.me.REG[3] = ATTR_parser_nodes___AIfexprExpr____n_expr(fra.me.REG[0]);
27911 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
27912 if (UNTAG_Bool(REGB0)) {
27913 } else {
27914 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
27915 REGB0 = REGB1;
27916 }
27917 if (UNTAG_Bool(REGB0)) {
27918 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27919 /* ./parser//parser_prod.nit:4938 */
27920 if (UNTAG_Bool(REGB0)) {
27921 } else {
27922 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27923 if (UNTAG_Bool(REGB1)) {
27924 REGB1 = TAG_Bool(false);
27925 REGB0 = REGB1;
27926 } else {
27927 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
27928 REGB0 = REGB1;
27929 }
27930 }
27931 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
27932 if (UNTAG_Bool(REGB0)) {
27933 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27934 /* ./parser//parser_prod.nit:4939 */
27935 if (UNTAG_Bool(REGB0)) {
27936 fprintf(stderr, "Reciever is null");
27937 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4939);
27938 nit_exit(1);
27939 }
27940 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
27941 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
27942 /* ./parser//parser_prod.nit:4940 */
27943 if (UNTAG_Bool(REGB0)) {
27944 } else {
27945 fprintf(stderr, "Assert failed");
27946 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4940);
27947 nit_exit(1);
27948 }
27949 /* ./parser//parser_prod.nit:4941 */
27950 ATTR_parser_nodes___AIfexprExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
27951 } else {
27952 /* ./parser//parser_prod.nit:4943 */
27953 fprintf(stderr, "Aborted");
27954 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4943);
27955 nit_exit(1);
27956 }
27957 /* ./parser//parser_prod.nit:4945 */
27958 goto label1;
27959 }
27960 REGB0 = TAG_Bool(ATTR_parser_nodes___AIfexprExpr____n_kwthen(fra.me.REG[0])!=NIT_NULL);
27961 /* ./parser//parser_prod.nit:4947 */
27962 if (UNTAG_Bool(REGB0)) {
27963 } else {
27964 fprintf(stderr, "Uninitialized attribute %s", "_n_kwthen");
27965 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4947);
27966 nit_exit(1);
27967 }
27968 fra.me.REG[3] = ATTR_parser_nodes___AIfexprExpr____n_kwthen(fra.me.REG[0]);
27969 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
27970 if (UNTAG_Bool(REGB0)) {
27971 } else {
27972 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
27973 REGB0 = REGB1;
27974 }
27975 if (UNTAG_Bool(REGB0)) {
27976 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27977 /* ./parser//parser_prod.nit:4948 */
27978 if (UNTAG_Bool(REGB0)) {
27979 } else {
27980 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27981 if (UNTAG_Bool(REGB1)) {
27982 REGB1 = TAG_Bool(false);
27983 REGB0 = REGB1;
27984 } else {
27985 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
27986 REGB0 = REGB1;
27987 }
27988 }
27989 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
27990 if (UNTAG_Bool(REGB0)) {
27991 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
27992 /* ./parser//parser_prod.nit:4949 */
27993 if (UNTAG_Bool(REGB0)) {
27994 fprintf(stderr, "Reciever is null");
27995 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4949);
27996 nit_exit(1);
27997 }
27998 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
27999 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwthen, ID_TKwthen)) /*cast TKwthen*/;
28000 /* ./parser//parser_prod.nit:4950 */
28001 if (UNTAG_Bool(REGB0)) {
28002 } else {
28003 fprintf(stderr, "Assert failed");
28004 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4950);
28005 nit_exit(1);
28006 }
28007 /* ./parser//parser_prod.nit:4951 */
28008 ATTR_parser_nodes___AIfexprExpr____n_kwthen(fra.me.REG[0]) = fra.me.REG[2];
28009 } else {
28010 /* ./parser//parser_prod.nit:4953 */
28011 fprintf(stderr, "Aborted");
28012 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4953);
28013 nit_exit(1);
28014 }
28015 /* ./parser//parser_prod.nit:4955 */
28016 goto label1;
28017 }
28018 REGB0 = TAG_Bool(ATTR_parser_nodes___AIfexprExpr____n_then(fra.me.REG[0])!=NIT_NULL);
28019 /* ./parser//parser_prod.nit:4957 */
28020 if (UNTAG_Bool(REGB0)) {
28021 } else {
28022 fprintf(stderr, "Uninitialized attribute %s", "_n_then");
28023 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4957);
28024 nit_exit(1);
28025 }
28026 fra.me.REG[3] = ATTR_parser_nodes___AIfexprExpr____n_then(fra.me.REG[0]);
28027 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
28028 if (UNTAG_Bool(REGB0)) {
28029 } else {
28030 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
28031 REGB0 = REGB1;
28032 }
28033 if (UNTAG_Bool(REGB0)) {
28034 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
28035 /* ./parser//parser_prod.nit:4958 */
28036 if (UNTAG_Bool(REGB0)) {
28037 } else {
28038 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
28039 if (UNTAG_Bool(REGB1)) {
28040 REGB1 = TAG_Bool(false);
28041 REGB0 = REGB1;
28042 } else {
28043 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
28044 REGB0 = REGB1;
28045 }
28046 }
28047 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
28048 if (UNTAG_Bool(REGB0)) {
28049 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
28050 /* ./parser//parser_prod.nit:4959 */
28051 if (UNTAG_Bool(REGB0)) {
28052 fprintf(stderr, "Reciever is null");
28053 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4959);
28054 nit_exit(1);
28055 }
28056 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
28057 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
28058 /* ./parser//parser_prod.nit:4960 */
28059 if (UNTAG_Bool(REGB0)) {
28060 } else {
28061 fprintf(stderr, "Assert failed");
28062 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4960);
28063 nit_exit(1);
28064 }
28065 /* ./parser//parser_prod.nit:4961 */
28066 ATTR_parser_nodes___AIfexprExpr____n_then(fra.me.REG[0]) = fra.me.REG[2];
28067 } else {
28068 /* ./parser//parser_prod.nit:4963 */
28069 fprintf(stderr, "Aborted");
28070 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4963);
28071 nit_exit(1);
28072 }
28073 /* ./parser//parser_prod.nit:4965 */
28074 goto label1;
28075 }
28076 REGB0 = TAG_Bool(ATTR_parser_nodes___AIfexprExpr____n_kwelse(fra.me.REG[0])!=NIT_NULL);
28077 /* ./parser//parser_prod.nit:4967 */
28078 if (UNTAG_Bool(REGB0)) {
28079 } else {
28080 fprintf(stderr, "Uninitialized attribute %s", "_n_kwelse");
28081 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4967);
28082 nit_exit(1);
28083 }
28084 fra.me.REG[3] = ATTR_parser_nodes___AIfexprExpr____n_kwelse(fra.me.REG[0]);
28085 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
28086 if (UNTAG_Bool(REGB0)) {
28087 } else {
28088 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
28089 REGB0 = REGB1;
28090 }
28091 if (UNTAG_Bool(REGB0)) {
28092 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
28093 /* ./parser//parser_prod.nit:4968 */
28094 if (UNTAG_Bool(REGB0)) {
28095 } else {
28096 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
28097 if (UNTAG_Bool(REGB1)) {
28098 REGB1 = TAG_Bool(false);
28099 REGB0 = REGB1;
28100 } else {
28101 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
28102 REGB0 = REGB1;
28103 }
28104 }
28105 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
28106 if (UNTAG_Bool(REGB0)) {
28107 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
28108 /* ./parser//parser_prod.nit:4969 */
28109 if (UNTAG_Bool(REGB0)) {
28110 fprintf(stderr, "Reciever is null");
28111 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4969);
28112 nit_exit(1);
28113 }
28114 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
28115 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwelse, ID_TKwelse)) /*cast TKwelse*/;
28116 /* ./parser//parser_prod.nit:4970 */
28117 if (UNTAG_Bool(REGB0)) {
28118 } else {
28119 fprintf(stderr, "Assert failed");
28120 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4970);
28121 nit_exit(1);
28122 }
28123 /* ./parser//parser_prod.nit:4971 */
28124 ATTR_parser_nodes___AIfexprExpr____n_kwelse(fra.me.REG[0]) = fra.me.REG[2];
28125 } else {
28126 /* ./parser//parser_prod.nit:4973 */
28127 fprintf(stderr, "Aborted");
28128 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4973);
28129 nit_exit(1);
28130 }
28131 /* ./parser//parser_prod.nit:4975 */
28132 goto label1;
28133 }
28134 REGB0 = TAG_Bool(ATTR_parser_nodes___AIfexprExpr____n_else(fra.me.REG[0])!=NIT_NULL);
28135 /* ./parser//parser_prod.nit:4977 */
28136 if (UNTAG_Bool(REGB0)) {
28137 } else {
28138 fprintf(stderr, "Uninitialized attribute %s", "_n_else");
28139 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4977);
28140 nit_exit(1);
28141 }
28142 fra.me.REG[3] = ATTR_parser_nodes___AIfexprExpr____n_else(fra.me.REG[0]);
28143 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
28144 if (UNTAG_Bool(REGB0)) {
28145 } else {
28146 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
28147 REGB0 = REGB1;
28148 }
28149 if (UNTAG_Bool(REGB0)) {
28150 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
28151 /* ./parser//parser_prod.nit:4978 */
28152 if (UNTAG_Bool(REGB0)) {
28153 } else {
28154 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
28155 if (UNTAG_Bool(REGB1)) {
28156 REGB1 = TAG_Bool(false);
28157 REGB0 = REGB1;
28158 } else {
28159 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
28160 REGB0 = REGB1;
28161 }
28162 }
28163 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
28164 if (UNTAG_Bool(REGB0)) {
28165 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
28166 /* ./parser//parser_prod.nit:4979 */
28167 if (UNTAG_Bool(REGB0)) {
28168 fprintf(stderr, "Reciever is null");
28169 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4979);
28170 nit_exit(1);
28171 }
28172 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
28173 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
28174 /* ./parser//parser_prod.nit:4980 */
28175 if (UNTAG_Bool(REGB0)) {
28176 } else {
28177 fprintf(stderr, "Assert failed");
28178 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4980);
28179 nit_exit(1);
28180 }
28181 /* ./parser//parser_prod.nit:4981 */
28182 ATTR_parser_nodes___AIfexprExpr____n_else(fra.me.REG[0]) = fra.me.REG[2];
28183 } else {
28184 /* ./parser//parser_prod.nit:4983 */
28185 fprintf(stderr, "Aborted");
28186 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4983);
28187 nit_exit(1);
28188 }
28189 /* ./parser//parser_prod.nit:4985 */
28190 goto label1;
28191 }
28192 label1: while(0);
28193 stack_frame_head = fra.me.prev;
28194 return;
28195 }
28196 void parser_prod___AIfexprExpr___visit_all(val_t p0, val_t p1){
28197 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
28198 val_t REGB0;
28199 val_t tmp;
28200 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28201 fra.me.file = LOCATE_parser_prod;
28202 fra.me.line = 4989;
28203 fra.me.meth = LOCATE_parser_prod___AIfexprExpr___visit_all;
28204 fra.me.has_broke = 0;
28205 fra.me.REG_size = 3;
28206 fra.me.REG[0] = NIT_NULL;
28207 fra.me.REG[1] = NIT_NULL;
28208 fra.me.REG[2] = NIT_NULL;
28209 fra.me.REG[0] = p0;
28210 fra.me.REG[1] = p1;
28211 REGB0 = TAG_Bool(ATTR_parser_nodes___AIfexprExpr____n_kwif(fra.me.REG[0])!=NIT_NULL);
28212 /* ./parser//parser_prod.nit:4991 */
28213 if (UNTAG_Bool(REGB0)) {
28214 } else {
28215 fprintf(stderr, "Uninitialized attribute %s", "_n_kwif");
28216 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4991);
28217 nit_exit(1);
28218 }
28219 fra.me.REG[2] = ATTR_parser_nodes___AIfexprExpr____n_kwif(fra.me.REG[0]);
28220 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
28221 REGB0 = TAG_Bool(ATTR_parser_nodes___AIfexprExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
28222 /* ./parser//parser_prod.nit:4992 */
28223 if (UNTAG_Bool(REGB0)) {
28224 } else {
28225 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
28226 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4992);
28227 nit_exit(1);
28228 }
28229 fra.me.REG[2] = ATTR_parser_nodes___AIfexprExpr____n_expr(fra.me.REG[0]);
28230 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
28231 REGB0 = TAG_Bool(ATTR_parser_nodes___AIfexprExpr____n_kwthen(fra.me.REG[0])!=NIT_NULL);
28232 /* ./parser//parser_prod.nit:4993 */
28233 if (UNTAG_Bool(REGB0)) {
28234 } else {
28235 fprintf(stderr, "Uninitialized attribute %s", "_n_kwthen");
28236 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4993);
28237 nit_exit(1);
28238 }
28239 fra.me.REG[2] = ATTR_parser_nodes___AIfexprExpr____n_kwthen(fra.me.REG[0]);
28240 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
28241 REGB0 = TAG_Bool(ATTR_parser_nodes___AIfexprExpr____n_then(fra.me.REG[0])!=NIT_NULL);
28242 /* ./parser//parser_prod.nit:4994 */
28243 if (UNTAG_Bool(REGB0)) {
28244 } else {
28245 fprintf(stderr, "Uninitialized attribute %s", "_n_then");
28246 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4994);
28247 nit_exit(1);
28248 }
28249 fra.me.REG[2] = ATTR_parser_nodes___AIfexprExpr____n_then(fra.me.REG[0]);
28250 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
28251 REGB0 = TAG_Bool(ATTR_parser_nodes___AIfexprExpr____n_kwelse(fra.me.REG[0])!=NIT_NULL);
28252 /* ./parser//parser_prod.nit:4995 */
28253 if (UNTAG_Bool(REGB0)) {
28254 } else {
28255 fprintf(stderr, "Uninitialized attribute %s", "_n_kwelse");
28256 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4995);
28257 nit_exit(1);
28258 }
28259 fra.me.REG[2] = ATTR_parser_nodes___AIfexprExpr____n_kwelse(fra.me.REG[0]);
28260 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
28261 REGB0 = TAG_Bool(ATTR_parser_nodes___AIfexprExpr____n_else(fra.me.REG[0])!=NIT_NULL);
28262 /* ./parser//parser_prod.nit:4996 */
28263 if (UNTAG_Bool(REGB0)) {
28264 } else {
28265 fprintf(stderr, "Uninitialized attribute %s", "_n_else");
28266 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4996);
28267 nit_exit(1);
28268 }
28269 fra.me.REG[0] = ATTR_parser_nodes___AIfexprExpr____n_else(fra.me.REG[0]);
28270 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
28271 stack_frame_head = fra.me.prev;
28272 return;
28273 }
28274 void parser_prod___AIfexprExpr___visit_all_reverse(val_t p0, val_t p1){
28275 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
28276 val_t REGB0;
28277 val_t tmp;
28278 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28279 fra.me.file = LOCATE_parser_prod;
28280 fra.me.line = 4999;
28281 fra.me.meth = LOCATE_parser_prod___AIfexprExpr___visit_all_reverse;
28282 fra.me.has_broke = 0;
28283 fra.me.REG_size = 3;
28284 fra.me.REG[0] = NIT_NULL;
28285 fra.me.REG[1] = NIT_NULL;
28286 fra.me.REG[2] = NIT_NULL;
28287 fra.me.REG[0] = p0;
28288 fra.me.REG[1] = p1;
28289 REGB0 = TAG_Bool(ATTR_parser_nodes___AIfexprExpr____n_kwif(fra.me.REG[0])!=NIT_NULL);
28290 /* ./parser//parser_prod.nit:5001 */
28291 if (UNTAG_Bool(REGB0)) {
28292 } else {
28293 fprintf(stderr, "Uninitialized attribute %s", "_n_kwif");
28294 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5001);
28295 nit_exit(1);
28296 }
28297 fra.me.REG[2] = ATTR_parser_nodes___AIfexprExpr____n_kwif(fra.me.REG[0]);
28298 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
28299 REGB0 = TAG_Bool(ATTR_parser_nodes___AIfexprExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
28300 /* ./parser//parser_prod.nit:5002 */
28301 if (UNTAG_Bool(REGB0)) {
28302 } else {
28303 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
28304 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5002);
28305 nit_exit(1);
28306 }
28307 fra.me.REG[2] = ATTR_parser_nodes___AIfexprExpr____n_expr(fra.me.REG[0]);
28308 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
28309 REGB0 = TAG_Bool(ATTR_parser_nodes___AIfexprExpr____n_kwthen(fra.me.REG[0])!=NIT_NULL);
28310 /* ./parser//parser_prod.nit:5003 */
28311 if (UNTAG_Bool(REGB0)) {
28312 } else {
28313 fprintf(stderr, "Uninitialized attribute %s", "_n_kwthen");
28314 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5003);
28315 nit_exit(1);
28316 }
28317 fra.me.REG[2] = ATTR_parser_nodes___AIfexprExpr____n_kwthen(fra.me.REG[0]);
28318 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
28319 REGB0 = TAG_Bool(ATTR_parser_nodes___AIfexprExpr____n_then(fra.me.REG[0])!=NIT_NULL);
28320 /* ./parser//parser_prod.nit:5004 */
28321 if (UNTAG_Bool(REGB0)) {
28322 } else {
28323 fprintf(stderr, "Uninitialized attribute %s", "_n_then");
28324 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5004);
28325 nit_exit(1);
28326 }
28327 fra.me.REG[2] = ATTR_parser_nodes___AIfexprExpr____n_then(fra.me.REG[0]);
28328 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
28329 REGB0 = TAG_Bool(ATTR_parser_nodes___AIfexprExpr____n_kwelse(fra.me.REG[0])!=NIT_NULL);
28330 /* ./parser//parser_prod.nit:5005 */
28331 if (UNTAG_Bool(REGB0)) {
28332 } else {
28333 fprintf(stderr, "Uninitialized attribute %s", "_n_kwelse");
28334 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5005);
28335 nit_exit(1);
28336 }
28337 fra.me.REG[2] = ATTR_parser_nodes___AIfexprExpr____n_kwelse(fra.me.REG[0]);
28338 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
28339 REGB0 = TAG_Bool(ATTR_parser_nodes___AIfexprExpr____n_else(fra.me.REG[0])!=NIT_NULL);
28340 /* ./parser//parser_prod.nit:5006 */
28341 if (UNTAG_Bool(REGB0)) {
28342 } else {
28343 fprintf(stderr, "Uninitialized attribute %s", "_n_else");
28344 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5006);
28345 nit_exit(1);
28346 }
28347 fra.me.REG[0] = ATTR_parser_nodes___AIfexprExpr____n_else(fra.me.REG[0]);
28348 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
28349 stack_frame_head = fra.me.prev;
28350 return;
28351 }
28352 void parser_prod___AIfexprExpr___empty_init(val_t p0, int* init_table){
28353 int itpos115 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AIfexprExpr].i;
28354 struct {struct stack_frame_t me;} fra;
28355 val_t tmp;
28356 if (init_table[itpos115]) return;
28357 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28358 fra.me.file = LOCATE_parser_prod;
28359 fra.me.line = 4899;
28360 fra.me.meth = LOCATE_parser_prod___AIfexprExpr___empty_init;
28361 fra.me.has_broke = 0;
28362 fra.me.REG_size = 1;
28363 fra.me.REG[0] = NIT_NULL;
28364 fra.me.REG[0] = p0;
28365 /* ./parser//parser_prod.nit:4899 */
28366 stack_frame_head = fra.me.prev;
28367 init_table[itpos115] = 1;
28368 return;
28369 }
28370 void parser_prod___AIfexprExpr___init_aifexprexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6, int* init_table){
28371 int itpos116 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AIfexprExpr].i;
28372 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
28373 val_t REGB0;
28374 val_t tmp;
28375 if (init_table[itpos116]) return;
28376 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28377 fra.me.file = LOCATE_parser_prod;
28378 fra.me.line = 4901;
28379 fra.me.meth = LOCATE_parser_prod___AIfexprExpr___init_aifexprexpr;
28380 fra.me.has_broke = 0;
28381 fra.me.REG_size = 7;
28382 fra.me.REG[0] = NIT_NULL;
28383 fra.me.REG[1] = NIT_NULL;
28384 fra.me.REG[2] = NIT_NULL;
28385 fra.me.REG[3] = NIT_NULL;
28386 fra.me.REG[4] = NIT_NULL;
28387 fra.me.REG[5] = NIT_NULL;
28388 fra.me.REG[6] = NIT_NULL;
28389 fra.me.REG[0] = p0;
28390 fra.me.REG[1] = p1;
28391 fra.me.REG[2] = p2;
28392 fra.me.REG[3] = p3;
28393 fra.me.REG[4] = p4;
28394 fra.me.REG[5] = p5;
28395 fra.me.REG[6] = p6;
28396 /* ./parser//parser_prod.nit:4910 */
28397 CALL_parser_prod___AIfexprExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
28398 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
28399 /* ./parser//parser_prod.nit:4911 */
28400 if (UNTAG_Bool(REGB0)) {
28401 } else {
28402 fprintf(stderr, "Cast failed");
28403 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4911);
28404 nit_exit(1);
28405 }
28406 ATTR_parser_nodes___AIfexprExpr____n_kwif(fra.me.REG[0]) = fra.me.REG[1];
28407 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
28408 /* ./parser//parser_prod.nit:4912 */
28409 if (UNTAG_Bool(REGB0)) {
28410 fprintf(stderr, "Reciever is null");
28411 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4912);
28412 nit_exit(1);
28413 }
28414 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
28415 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
28416 /* ./parser//parser_prod.nit:4913 */
28417 if (UNTAG_Bool(REGB0)) {
28418 } else {
28419 fprintf(stderr, "Cast failed");
28420 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4913);
28421 nit_exit(1);
28422 }
28423 ATTR_parser_nodes___AIfexprExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
28424 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
28425 /* ./parser//parser_prod.nit:4914 */
28426 if (UNTAG_Bool(REGB0)) {
28427 fprintf(stderr, "Reciever is null");
28428 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4914);
28429 nit_exit(1);
28430 }
28431 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
28432 REGB0 = TAG_Bool(fra.me.REG[3]!=NIT_NULL);
28433 /* ./parser//parser_prod.nit:4915 */
28434 if (UNTAG_Bool(REGB0)) {
28435 } else {
28436 fprintf(stderr, "Cast failed");
28437 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4915);
28438 nit_exit(1);
28439 }
28440 ATTR_parser_nodes___AIfexprExpr____n_kwthen(fra.me.REG[0]) = fra.me.REG[3];
28441 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
28442 /* ./parser//parser_prod.nit:4916 */
28443 if (UNTAG_Bool(REGB0)) {
28444 fprintf(stderr, "Reciever is null");
28445 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4916);
28446 nit_exit(1);
28447 }
28448 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
28449 REGB0 = TAG_Bool(fra.me.REG[4]!=NIT_NULL);
28450 /* ./parser//parser_prod.nit:4917 */
28451 if (UNTAG_Bool(REGB0)) {
28452 } else {
28453 fprintf(stderr, "Cast failed");
28454 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4917);
28455 nit_exit(1);
28456 }
28457 ATTR_parser_nodes___AIfexprExpr____n_then(fra.me.REG[0]) = fra.me.REG[4];
28458 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
28459 /* ./parser//parser_prod.nit:4918 */
28460 if (UNTAG_Bool(REGB0)) {
28461 fprintf(stderr, "Reciever is null");
28462 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4918);
28463 nit_exit(1);
28464 }
28465 CALL_parser_prod___ANode___parent__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
28466 REGB0 = TAG_Bool(fra.me.REG[5]!=NIT_NULL);
28467 /* ./parser//parser_prod.nit:4919 */
28468 if (UNTAG_Bool(REGB0)) {
28469 } else {
28470 fprintf(stderr, "Cast failed");
28471 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4919);
28472 nit_exit(1);
28473 }
28474 ATTR_parser_nodes___AIfexprExpr____n_kwelse(fra.me.REG[0]) = fra.me.REG[5];
28475 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
28476 /* ./parser//parser_prod.nit:4920 */
28477 if (UNTAG_Bool(REGB0)) {
28478 fprintf(stderr, "Reciever is null");
28479 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4920);
28480 nit_exit(1);
28481 }
28482 CALL_parser_prod___ANode___parent__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[0]);
28483 REGB0 = TAG_Bool(fra.me.REG[6]!=NIT_NULL);
28484 /* ./parser//parser_prod.nit:4921 */
28485 if (UNTAG_Bool(REGB0)) {
28486 } else {
28487 fprintf(stderr, "Cast failed");
28488 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4921);
28489 nit_exit(1);
28490 }
28491 ATTR_parser_nodes___AIfexprExpr____n_else(fra.me.REG[0]) = fra.me.REG[6];
28492 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
28493 /* ./parser//parser_prod.nit:4922 */
28494 if (UNTAG_Bool(REGB0)) {
28495 fprintf(stderr, "Reciever is null");
28496 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 4922);
28497 nit_exit(1);
28498 }
28499 CALL_parser_prod___ANode___parent__eq(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[0]);
28500 stack_frame_head = fra.me.prev;
28501 init_table[itpos116] = 1;
28502 return;
28503 }
28504 void parser_prod___AWhileExpr___n_label__eq(val_t p0, val_t p1){
28505 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
28506 val_t REGB0;
28507 val_t REGB1;
28508 val_t tmp;
28509 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28510 fra.me.file = LOCATE_parser_prod;
28511 fra.me.line = 5032;
28512 fra.me.meth = LOCATE_parser_prod___AWhileExpr___n_label__eq;
28513 fra.me.has_broke = 0;
28514 fra.me.REG_size = 2;
28515 fra.me.REG[0] = NIT_NULL;
28516 fra.me.REG[1] = NIT_NULL;
28517 fra.me.REG[0] = p0;
28518 fra.me.REG[1] = p1;
28519 /* ./parser//parser_prod.nit:5034 */
28520 ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]) = fra.me.REG[1];
28521 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
28522 /* ./parser//parser_prod.nit:5035 */
28523 if (UNTAG_Bool(REGB0)) {
28524 } else {
28525 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
28526 if (UNTAG_Bool(REGB1)) {
28527 REGB1 = TAG_Bool(false);
28528 REGB0 = REGB1;
28529 } else {
28530 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
28531 REGB0 = REGB1;
28532 }
28533 }
28534 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
28535 if (UNTAG_Bool(REGB0)) {
28536 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
28537 /* ./parser//parser_prod.nit:5036 */
28538 if (UNTAG_Bool(REGB0)) {
28539 fprintf(stderr, "Reciever is null");
28540 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5036);
28541 nit_exit(1);
28542 }
28543 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
28544 }
28545 stack_frame_head = fra.me.prev;
28546 return;
28547 }
28548 void parser_prod___AWhileExpr___n_kwwhile__eq(val_t p0, val_t p1){
28549 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
28550 val_t tmp;
28551 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28552 fra.me.file = LOCATE_parser_prod;
28553 fra.me.line = 5010;
28554 fra.me.meth = LOCATE_parser_prod___AWhileExpr___n_kwwhile__eq;
28555 fra.me.has_broke = 0;
28556 fra.me.REG_size = 2;
28557 fra.me.REG[0] = NIT_NULL;
28558 fra.me.REG[1] = NIT_NULL;
28559 fra.me.REG[0] = p0;
28560 fra.me.REG[1] = p1;
28561 /* ./parser//parser_prod.nit:5012 */
28562 ATTR_parser_nodes___AWhileExpr____n_kwwhile(fra.me.REG[0]) = fra.me.REG[1];
28563 /* ./parser//parser_prod.nit:5013 */
28564 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
28565 stack_frame_head = fra.me.prev;
28566 return;
28567 }
28568 void parser_prod___AWhileExpr___n_expr__eq(val_t p0, val_t p1){
28569 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
28570 val_t tmp;
28571 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28572 fra.me.file = LOCATE_parser_prod;
28573 fra.me.line = 5015;
28574 fra.me.meth = LOCATE_parser_prod___AWhileExpr___n_expr__eq;
28575 fra.me.has_broke = 0;
28576 fra.me.REG_size = 2;
28577 fra.me.REG[0] = NIT_NULL;
28578 fra.me.REG[1] = NIT_NULL;
28579 fra.me.REG[0] = p0;
28580 fra.me.REG[1] = p1;
28581 /* ./parser//parser_prod.nit:5017 */
28582 ATTR_parser_nodes___AWhileExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
28583 /* ./parser//parser_prod.nit:5018 */
28584 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
28585 stack_frame_head = fra.me.prev;
28586 return;
28587 }
28588 void parser_prod___AWhileExpr___n_kwdo__eq(val_t p0, val_t p1){
28589 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
28590 val_t tmp;
28591 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28592 fra.me.file = LOCATE_parser_prod;
28593 fra.me.line = 5020;
28594 fra.me.meth = LOCATE_parser_prod___AWhileExpr___n_kwdo__eq;
28595 fra.me.has_broke = 0;
28596 fra.me.REG_size = 2;
28597 fra.me.REG[0] = NIT_NULL;
28598 fra.me.REG[1] = NIT_NULL;
28599 fra.me.REG[0] = p0;
28600 fra.me.REG[1] = p1;
28601 /* ./parser//parser_prod.nit:5022 */
28602 ATTR_parser_nodes___AWhileExpr____n_kwdo(fra.me.REG[0]) = fra.me.REG[1];
28603 /* ./parser//parser_prod.nit:5023 */
28604 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
28605 stack_frame_head = fra.me.prev;
28606 return;
28607 }
28608 void parser_prod___AWhileExpr___n_block__eq(val_t p0, val_t p1){
28609 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
28610 val_t REGB0;
28611 val_t REGB1;
28612 val_t tmp;
28613 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28614 fra.me.file = LOCATE_parser_prod;
28615 fra.me.line = 5025;
28616 fra.me.meth = LOCATE_parser_prod___AWhileExpr___n_block__eq;
28617 fra.me.has_broke = 0;
28618 fra.me.REG_size = 2;
28619 fra.me.REG[0] = NIT_NULL;
28620 fra.me.REG[1] = NIT_NULL;
28621 fra.me.REG[0] = p0;
28622 fra.me.REG[1] = p1;
28623 /* ./parser//parser_prod.nit:5027 */
28624 ATTR_parser_nodes___AWhileExpr____n_block(fra.me.REG[0]) = fra.me.REG[1];
28625 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
28626 /* ./parser//parser_prod.nit:5028 */
28627 if (UNTAG_Bool(REGB0)) {
28628 } else {
28629 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
28630 if (UNTAG_Bool(REGB1)) {
28631 REGB1 = TAG_Bool(false);
28632 REGB0 = REGB1;
28633 } else {
28634 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
28635 REGB0 = REGB1;
28636 }
28637 }
28638 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
28639 if (UNTAG_Bool(REGB0)) {
28640 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
28641 /* ./parser//parser_prod.nit:5029 */
28642 if (UNTAG_Bool(REGB0)) {
28643 fprintf(stderr, "Reciever is null");
28644 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5029);
28645 nit_exit(1);
28646 }
28647 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
28648 }
28649 stack_frame_head = fra.me.prev;
28650 return;
28651 }
28652 void parser_prod___AWhileExpr___replace_child(val_t p0, val_t p1, val_t p2){
28653 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
28654 val_t REGB0;
28655 val_t REGB1;
28656 val_t tmp;
28657 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28658 fra.me.file = LOCATE_parser_prod;
28659 fra.me.line = 5067;
28660 fra.me.meth = LOCATE_parser_prod___AWhileExpr___replace_child;
28661 fra.me.has_broke = 0;
28662 fra.me.REG_size = 4;
28663 fra.me.REG[0] = NIT_NULL;
28664 fra.me.REG[1] = NIT_NULL;
28665 fra.me.REG[2] = NIT_NULL;
28666 fra.me.REG[3] = NIT_NULL;
28667 fra.me.REG[0] = p0;
28668 fra.me.REG[1] = p1;
28669 fra.me.REG[2] = p2;
28670 REGB0 = TAG_Bool(ATTR_parser_nodes___AWhileExpr____n_kwwhile(fra.me.REG[0])!=NIT_NULL);
28671 /* ./parser//parser_prod.nit:5069 */
28672 if (UNTAG_Bool(REGB0)) {
28673 } else {
28674 fprintf(stderr, "Uninitialized attribute %s", "_n_kwwhile");
28675 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5069);
28676 nit_exit(1);
28677 }
28678 fra.me.REG[3] = ATTR_parser_nodes___AWhileExpr____n_kwwhile(fra.me.REG[0]);
28679 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
28680 if (UNTAG_Bool(REGB0)) {
28681 } else {
28682 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
28683 REGB0 = REGB1;
28684 }
28685 if (UNTAG_Bool(REGB0)) {
28686 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
28687 /* ./parser//parser_prod.nit:5070 */
28688 if (UNTAG_Bool(REGB0)) {
28689 } else {
28690 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
28691 if (UNTAG_Bool(REGB1)) {
28692 REGB1 = TAG_Bool(false);
28693 REGB0 = REGB1;
28694 } else {
28695 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
28696 REGB0 = REGB1;
28697 }
28698 }
28699 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
28700 if (UNTAG_Bool(REGB0)) {
28701 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
28702 /* ./parser//parser_prod.nit:5071 */
28703 if (UNTAG_Bool(REGB0)) {
28704 fprintf(stderr, "Reciever is null");
28705 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5071);
28706 nit_exit(1);
28707 }
28708 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
28709 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwwhile, ID_TKwwhile)) /*cast TKwwhile*/;
28710 /* ./parser//parser_prod.nit:5072 */
28711 if (UNTAG_Bool(REGB0)) {
28712 } else {
28713 fprintf(stderr, "Assert failed");
28714 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5072);
28715 nit_exit(1);
28716 }
28717 /* ./parser//parser_prod.nit:5073 */
28718 ATTR_parser_nodes___AWhileExpr____n_kwwhile(fra.me.REG[0]) = fra.me.REG[2];
28719 } else {
28720 /* ./parser//parser_prod.nit:5075 */
28721 fprintf(stderr, "Aborted");
28722 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5075);
28723 nit_exit(1);
28724 }
28725 /* ./parser//parser_prod.nit:5077 */
28726 goto label1;
28727 }
28728 REGB0 = TAG_Bool(ATTR_parser_nodes___AWhileExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
28729 /* ./parser//parser_prod.nit:5079 */
28730 if (UNTAG_Bool(REGB0)) {
28731 } else {
28732 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
28733 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5079);
28734 nit_exit(1);
28735 }
28736 fra.me.REG[3] = ATTR_parser_nodes___AWhileExpr____n_expr(fra.me.REG[0]);
28737 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
28738 if (UNTAG_Bool(REGB0)) {
28739 } else {
28740 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
28741 REGB0 = REGB1;
28742 }
28743 if (UNTAG_Bool(REGB0)) {
28744 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
28745 /* ./parser//parser_prod.nit:5080 */
28746 if (UNTAG_Bool(REGB0)) {
28747 } else {
28748 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
28749 if (UNTAG_Bool(REGB1)) {
28750 REGB1 = TAG_Bool(false);
28751 REGB0 = REGB1;
28752 } else {
28753 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
28754 REGB0 = REGB1;
28755 }
28756 }
28757 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
28758 if (UNTAG_Bool(REGB0)) {
28759 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
28760 /* ./parser//parser_prod.nit:5081 */
28761 if (UNTAG_Bool(REGB0)) {
28762 fprintf(stderr, "Reciever is null");
28763 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5081);
28764 nit_exit(1);
28765 }
28766 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
28767 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
28768 /* ./parser//parser_prod.nit:5082 */
28769 if (UNTAG_Bool(REGB0)) {
28770 } else {
28771 fprintf(stderr, "Assert failed");
28772 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5082);
28773 nit_exit(1);
28774 }
28775 /* ./parser//parser_prod.nit:5083 */
28776 ATTR_parser_nodes___AWhileExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
28777 } else {
28778 /* ./parser//parser_prod.nit:5085 */
28779 fprintf(stderr, "Aborted");
28780 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5085);
28781 nit_exit(1);
28782 }
28783 /* ./parser//parser_prod.nit:5087 */
28784 goto label1;
28785 }
28786 REGB0 = TAG_Bool(ATTR_parser_nodes___AWhileExpr____n_kwdo(fra.me.REG[0])!=NIT_NULL);
28787 /* ./parser//parser_prod.nit:5089 */
28788 if (UNTAG_Bool(REGB0)) {
28789 } else {
28790 fprintf(stderr, "Uninitialized attribute %s", "_n_kwdo");
28791 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5089);
28792 nit_exit(1);
28793 }
28794 fra.me.REG[3] = ATTR_parser_nodes___AWhileExpr____n_kwdo(fra.me.REG[0]);
28795 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
28796 if (UNTAG_Bool(REGB0)) {
28797 } else {
28798 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
28799 REGB0 = REGB1;
28800 }
28801 if (UNTAG_Bool(REGB0)) {
28802 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
28803 /* ./parser//parser_prod.nit:5090 */
28804 if (UNTAG_Bool(REGB0)) {
28805 } else {
28806 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
28807 if (UNTAG_Bool(REGB1)) {
28808 REGB1 = TAG_Bool(false);
28809 REGB0 = REGB1;
28810 } else {
28811 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
28812 REGB0 = REGB1;
28813 }
28814 }
28815 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
28816 if (UNTAG_Bool(REGB0)) {
28817 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
28818 /* ./parser//parser_prod.nit:5091 */
28819 if (UNTAG_Bool(REGB0)) {
28820 fprintf(stderr, "Reciever is null");
28821 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5091);
28822 nit_exit(1);
28823 }
28824 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
28825 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
28826 /* ./parser//parser_prod.nit:5092 */
28827 if (UNTAG_Bool(REGB0)) {
28828 } else {
28829 fprintf(stderr, "Assert failed");
28830 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5092);
28831 nit_exit(1);
28832 }
28833 /* ./parser//parser_prod.nit:5093 */
28834 ATTR_parser_nodes___AWhileExpr____n_kwdo(fra.me.REG[0]) = fra.me.REG[2];
28835 } else {
28836 /* ./parser//parser_prod.nit:5095 */
28837 fprintf(stderr, "Aborted");
28838 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5095);
28839 nit_exit(1);
28840 }
28841 /* ./parser//parser_prod.nit:5097 */
28842 goto label1;
28843 }
28844 fra.me.REG[3] = ATTR_parser_nodes___AWhileExpr____n_block(fra.me.REG[0]);
28845 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
28846 /* ./parser//parser_prod.nit:5099 */
28847 if (UNTAG_Bool(REGB0)) {
28848 } else {
28849 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
28850 if (UNTAG_Bool(REGB1)) {
28851 REGB1 = TAG_Bool(false);
28852 REGB0 = REGB1;
28853 } else {
28854 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
28855 REGB0 = REGB1;
28856 }
28857 }
28858 if (UNTAG_Bool(REGB0)) {
28859 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
28860 /* ./parser//parser_prod.nit:5100 */
28861 if (UNTAG_Bool(REGB0)) {
28862 } else {
28863 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
28864 if (UNTAG_Bool(REGB1)) {
28865 REGB1 = TAG_Bool(false);
28866 REGB0 = REGB1;
28867 } else {
28868 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
28869 REGB0 = REGB1;
28870 }
28871 }
28872 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
28873 if (UNTAG_Bool(REGB0)) {
28874 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
28875 /* ./parser//parser_prod.nit:5101 */
28876 if (UNTAG_Bool(REGB0)) {
28877 fprintf(stderr, "Reciever is null");
28878 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5101);
28879 nit_exit(1);
28880 }
28881 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
28882 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
28883 /* ./parser//parser_prod.nit:5102 */
28884 if (UNTAG_Bool(REGB0)) {
28885 } else {
28886 fprintf(stderr, "Assert failed");
28887 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5102);
28888 nit_exit(1);
28889 }
28890 /* ./parser//parser_prod.nit:5103 */
28891 ATTR_parser_nodes___AWhileExpr____n_block(fra.me.REG[0]) = fra.me.REG[2];
28892 } else {
28893 /* ./parser//parser_prod.nit:5105 */
28894 ATTR_parser_nodes___AWhileExpr____n_block(fra.me.REG[0]) = NIT_NULL;
28895 }
28896 /* ./parser//parser_prod.nit:5107 */
28897 goto label1;
28898 }
28899 fra.me.REG[3] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
28900 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
28901 /* ./parser//parser_prod.nit:5109 */
28902 if (UNTAG_Bool(REGB0)) {
28903 } else {
28904 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
28905 if (UNTAG_Bool(REGB1)) {
28906 REGB1 = TAG_Bool(false);
28907 REGB0 = REGB1;
28908 } else {
28909 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
28910 REGB0 = REGB1;
28911 }
28912 }
28913 if (UNTAG_Bool(REGB0)) {
28914 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
28915 /* ./parser//parser_prod.nit:5110 */
28916 if (UNTAG_Bool(REGB0)) {
28917 } else {
28918 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
28919 if (UNTAG_Bool(REGB1)) {
28920 REGB1 = TAG_Bool(false);
28921 REGB0 = REGB1;
28922 } else {
28923 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
28924 REGB0 = REGB1;
28925 }
28926 }
28927 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
28928 if (UNTAG_Bool(REGB0)) {
28929 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
28930 /* ./parser//parser_prod.nit:5111 */
28931 if (UNTAG_Bool(REGB0)) {
28932 fprintf(stderr, "Reciever is null");
28933 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5111);
28934 nit_exit(1);
28935 }
28936 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
28937 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast ALabel*/;
28938 /* ./parser//parser_prod.nit:5112 */
28939 if (UNTAG_Bool(REGB0)) {
28940 } else {
28941 fprintf(stderr, "Assert failed");
28942 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5112);
28943 nit_exit(1);
28944 }
28945 /* ./parser//parser_prod.nit:5113 */
28946 ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]) = fra.me.REG[2];
28947 } else {
28948 /* ./parser//parser_prod.nit:5115 */
28949 ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]) = NIT_NULL;
28950 }
28951 /* ./parser//parser_prod.nit:5117 */
28952 goto label1;
28953 }
28954 label1: while(0);
28955 stack_frame_head = fra.me.prev;
28956 return;
28957 }
28958 void parser_prod___AWhileExpr___visit_all(val_t p0, val_t p1){
28959 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
28960 val_t REGB0;
28961 val_t REGB1;
28962 val_t tmp;
28963 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
28964 fra.me.file = LOCATE_parser_prod;
28965 fra.me.line = 5121;
28966 fra.me.meth = LOCATE_parser_prod___AWhileExpr___visit_all;
28967 fra.me.has_broke = 0;
28968 fra.me.REG_size = 3;
28969 fra.me.REG[0] = NIT_NULL;
28970 fra.me.REG[1] = NIT_NULL;
28971 fra.me.REG[2] = NIT_NULL;
28972 fra.me.REG[0] = p0;
28973 fra.me.REG[1] = p1;
28974 REGB0 = TAG_Bool(ATTR_parser_nodes___AWhileExpr____n_kwwhile(fra.me.REG[0])!=NIT_NULL);
28975 /* ./parser//parser_prod.nit:5123 */
28976 if (UNTAG_Bool(REGB0)) {
28977 } else {
28978 fprintf(stderr, "Uninitialized attribute %s", "_n_kwwhile");
28979 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5123);
28980 nit_exit(1);
28981 }
28982 fra.me.REG[2] = ATTR_parser_nodes___AWhileExpr____n_kwwhile(fra.me.REG[0]);
28983 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
28984 REGB0 = TAG_Bool(ATTR_parser_nodes___AWhileExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
28985 /* ./parser//parser_prod.nit:5124 */
28986 if (UNTAG_Bool(REGB0)) {
28987 } else {
28988 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
28989 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5124);
28990 nit_exit(1);
28991 }
28992 fra.me.REG[2] = ATTR_parser_nodes___AWhileExpr____n_expr(fra.me.REG[0]);
28993 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
28994 REGB0 = TAG_Bool(ATTR_parser_nodes___AWhileExpr____n_kwdo(fra.me.REG[0])!=NIT_NULL);
28995 /* ./parser//parser_prod.nit:5125 */
28996 if (UNTAG_Bool(REGB0)) {
28997 } else {
28998 fprintf(stderr, "Uninitialized attribute %s", "_n_kwdo");
28999 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5125);
29000 nit_exit(1);
29001 }
29002 fra.me.REG[2] = ATTR_parser_nodes___AWhileExpr____n_kwdo(fra.me.REG[0]);
29003 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
29004 fra.me.REG[2] = ATTR_parser_nodes___AWhileExpr____n_block(fra.me.REG[0]);
29005 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
29006 /* ./parser//parser_prod.nit:5126 */
29007 if (UNTAG_Bool(REGB0)) {
29008 } else {
29009 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
29010 if (UNTAG_Bool(REGB1)) {
29011 REGB1 = TAG_Bool(false);
29012 REGB0 = REGB1;
29013 } else {
29014 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
29015 REGB0 = REGB1;
29016 }
29017 }
29018 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
29019 if (UNTAG_Bool(REGB0)) {
29020 fra.me.REG[2] = ATTR_parser_nodes___AWhileExpr____n_block(fra.me.REG[0]);
29021 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
29022 /* ./parser//parser_prod.nit:5127 */
29023 if (UNTAG_Bool(REGB0)) {
29024 } else {
29025 fprintf(stderr, "Cast failed");
29026 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5127);
29027 nit_exit(1);
29028 }
29029 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
29030 }
29031 fra.me.REG[2] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
29032 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
29033 /* ./parser//parser_prod.nit:5129 */
29034 if (UNTAG_Bool(REGB0)) {
29035 } else {
29036 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
29037 if (UNTAG_Bool(REGB1)) {
29038 REGB1 = TAG_Bool(false);
29039 REGB0 = REGB1;
29040 } else {
29041 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
29042 REGB0 = REGB1;
29043 }
29044 }
29045 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
29046 if (UNTAG_Bool(REGB0)) {
29047 fra.me.REG[0] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
29048 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_ALabel, ID_ALabel)) /*cast ALabel*/;
29049 /* ./parser//parser_prod.nit:5130 */
29050 if (UNTAG_Bool(REGB0)) {
29051 } else {
29052 fprintf(stderr, "Cast failed");
29053 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5130);
29054 nit_exit(1);
29055 }
29056 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
29057 }
29058 stack_frame_head = fra.me.prev;
29059 return;
29060 }
29061 void parser_prod___AWhileExpr___visit_all_reverse(val_t p0, val_t p1){
29062 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
29063 val_t REGB0;
29064 val_t REGB1;
29065 val_t tmp;
29066 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29067 fra.me.file = LOCATE_parser_prod;
29068 fra.me.line = 5134;
29069 fra.me.meth = LOCATE_parser_prod___AWhileExpr___visit_all_reverse;
29070 fra.me.has_broke = 0;
29071 fra.me.REG_size = 3;
29072 fra.me.REG[0] = NIT_NULL;
29073 fra.me.REG[1] = NIT_NULL;
29074 fra.me.REG[2] = NIT_NULL;
29075 fra.me.REG[0] = p0;
29076 fra.me.REG[1] = p1;
29077 REGB0 = TAG_Bool(ATTR_parser_nodes___AWhileExpr____n_kwwhile(fra.me.REG[0])!=NIT_NULL);
29078 /* ./parser//parser_prod.nit:5136 */
29079 if (UNTAG_Bool(REGB0)) {
29080 } else {
29081 fprintf(stderr, "Uninitialized attribute %s", "_n_kwwhile");
29082 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5136);
29083 nit_exit(1);
29084 }
29085 fra.me.REG[2] = ATTR_parser_nodes___AWhileExpr____n_kwwhile(fra.me.REG[0]);
29086 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
29087 REGB0 = TAG_Bool(ATTR_parser_nodes___AWhileExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
29088 /* ./parser//parser_prod.nit:5137 */
29089 if (UNTAG_Bool(REGB0)) {
29090 } else {
29091 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
29092 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5137);
29093 nit_exit(1);
29094 }
29095 fra.me.REG[2] = ATTR_parser_nodes___AWhileExpr____n_expr(fra.me.REG[0]);
29096 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
29097 REGB0 = TAG_Bool(ATTR_parser_nodes___AWhileExpr____n_kwdo(fra.me.REG[0])!=NIT_NULL);
29098 /* ./parser//parser_prod.nit:5138 */
29099 if (UNTAG_Bool(REGB0)) {
29100 } else {
29101 fprintf(stderr, "Uninitialized attribute %s", "_n_kwdo");
29102 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5138);
29103 nit_exit(1);
29104 }
29105 fra.me.REG[2] = ATTR_parser_nodes___AWhileExpr____n_kwdo(fra.me.REG[0]);
29106 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
29107 fra.me.REG[2] = ATTR_parser_nodes___AWhileExpr____n_block(fra.me.REG[0]);
29108 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
29109 /* ./parser//parser_prod.nit:5139 */
29110 if (UNTAG_Bool(REGB0)) {
29111 } else {
29112 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
29113 if (UNTAG_Bool(REGB1)) {
29114 REGB1 = TAG_Bool(false);
29115 REGB0 = REGB1;
29116 } else {
29117 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
29118 REGB0 = REGB1;
29119 }
29120 }
29121 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
29122 if (UNTAG_Bool(REGB0)) {
29123 fra.me.REG[2] = ATTR_parser_nodes___AWhileExpr____n_block(fra.me.REG[0]);
29124 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
29125 /* ./parser//parser_prod.nit:5140 */
29126 if (UNTAG_Bool(REGB0)) {
29127 } else {
29128 fprintf(stderr, "Cast failed");
29129 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5140);
29130 nit_exit(1);
29131 }
29132 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
29133 }
29134 fra.me.REG[2] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
29135 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
29136 /* ./parser//parser_prod.nit:5142 */
29137 if (UNTAG_Bool(REGB0)) {
29138 } else {
29139 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
29140 if (UNTAG_Bool(REGB1)) {
29141 REGB1 = TAG_Bool(false);
29142 REGB0 = REGB1;
29143 } else {
29144 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
29145 REGB0 = REGB1;
29146 }
29147 }
29148 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
29149 if (UNTAG_Bool(REGB0)) {
29150 fra.me.REG[0] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
29151 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_ALabel, ID_ALabel)) /*cast ALabel*/;
29152 /* ./parser//parser_prod.nit:5143 */
29153 if (UNTAG_Bool(REGB0)) {
29154 } else {
29155 fprintf(stderr, "Cast failed");
29156 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5143);
29157 nit_exit(1);
29158 }
29159 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
29160 }
29161 stack_frame_head = fra.me.prev;
29162 return;
29163 }
29164 void parser_prod___AWhileExpr___empty_init(val_t p0, int* init_table){
29165 int itpos117 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AWhileExpr].i;
29166 struct {struct stack_frame_t me;} fra;
29167 val_t tmp;
29168 if (init_table[itpos117]) return;
29169 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29170 fra.me.file = LOCATE_parser_prod;
29171 fra.me.line = 5040;
29172 fra.me.meth = LOCATE_parser_prod___AWhileExpr___empty_init;
29173 fra.me.has_broke = 0;
29174 fra.me.REG_size = 1;
29175 fra.me.REG[0] = NIT_NULL;
29176 fra.me.REG[0] = p0;
29177 /* ./parser//parser_prod.nit:5040 */
29178 stack_frame_head = fra.me.prev;
29179 init_table[itpos117] = 1;
29180 return;
29181 }
29182 void parser_prod___AWhileExpr___init_awhileexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, int* init_table){
29183 int itpos118 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AWhileExpr].i;
29184 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
29185 val_t REGB0;
29186 val_t REGB1;
29187 val_t tmp;
29188 if (init_table[itpos118]) return;
29189 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29190 fra.me.file = LOCATE_parser_prod;
29191 fra.me.line = 5042;
29192 fra.me.meth = LOCATE_parser_prod___AWhileExpr___init_awhileexpr;
29193 fra.me.has_broke = 0;
29194 fra.me.REG_size = 6;
29195 fra.me.REG[0] = NIT_NULL;
29196 fra.me.REG[1] = NIT_NULL;
29197 fra.me.REG[2] = NIT_NULL;
29198 fra.me.REG[3] = NIT_NULL;
29199 fra.me.REG[4] = NIT_NULL;
29200 fra.me.REG[5] = NIT_NULL;
29201 fra.me.REG[0] = p0;
29202 fra.me.REG[1] = p1;
29203 fra.me.REG[2] = p2;
29204 fra.me.REG[3] = p3;
29205 fra.me.REG[4] = p4;
29206 fra.me.REG[5] = p5;
29207 /* ./parser//parser_prod.nit:5050 */
29208 CALL_parser_prod___AWhileExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
29209 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
29210 /* ./parser//parser_prod.nit:5051 */
29211 if (UNTAG_Bool(REGB0)) {
29212 } else {
29213 fprintf(stderr, "Cast failed");
29214 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5051);
29215 nit_exit(1);
29216 }
29217 ATTR_parser_nodes___AWhileExpr____n_kwwhile(fra.me.REG[0]) = fra.me.REG[1];
29218 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
29219 /* ./parser//parser_prod.nit:5052 */
29220 if (UNTAG_Bool(REGB0)) {
29221 fprintf(stderr, "Reciever is null");
29222 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5052);
29223 nit_exit(1);
29224 }
29225 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
29226 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
29227 /* ./parser//parser_prod.nit:5053 */
29228 if (UNTAG_Bool(REGB0)) {
29229 } else {
29230 fprintf(stderr, "Cast failed");
29231 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5053);
29232 nit_exit(1);
29233 }
29234 ATTR_parser_nodes___AWhileExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
29235 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
29236 /* ./parser//parser_prod.nit:5054 */
29237 if (UNTAG_Bool(REGB0)) {
29238 fprintf(stderr, "Reciever is null");
29239 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5054);
29240 nit_exit(1);
29241 }
29242 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
29243 REGB0 = TAG_Bool(fra.me.REG[3]!=NIT_NULL);
29244 /* ./parser//parser_prod.nit:5055 */
29245 if (UNTAG_Bool(REGB0)) {
29246 } else {
29247 fprintf(stderr, "Cast failed");
29248 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5055);
29249 nit_exit(1);
29250 }
29251 ATTR_parser_nodes___AWhileExpr____n_kwdo(fra.me.REG[0]) = fra.me.REG[3];
29252 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
29253 /* ./parser//parser_prod.nit:5056 */
29254 if (UNTAG_Bool(REGB0)) {
29255 fprintf(stderr, "Reciever is null");
29256 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5056);
29257 nit_exit(1);
29258 }
29259 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
29260 /* ./parser//parser_prod.nit:5057 */
29261 ATTR_parser_nodes___AWhileExpr____n_block(fra.me.REG[0]) = fra.me.REG[4];
29262 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
29263 /* ./parser//parser_prod.nit:5058 */
29264 if (UNTAG_Bool(REGB0)) {
29265 } else {
29266 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
29267 if (UNTAG_Bool(REGB1)) {
29268 REGB1 = TAG_Bool(false);
29269 REGB0 = REGB1;
29270 } else {
29271 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
29272 REGB0 = REGB1;
29273 }
29274 }
29275 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
29276 if (UNTAG_Bool(REGB0)) {
29277 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
29278 /* ./parser//parser_prod.nit:5059 */
29279 if (UNTAG_Bool(REGB0)) {
29280 fprintf(stderr, "Reciever is null");
29281 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5059);
29282 nit_exit(1);
29283 }
29284 CALL_parser_prod___ANode___parent__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
29285 }
29286 /* ./parser//parser_prod.nit:5061 */
29287 ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]) = fra.me.REG[5];
29288 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
29289 /* ./parser//parser_prod.nit:5062 */
29290 if (UNTAG_Bool(REGB0)) {
29291 } else {
29292 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
29293 if (UNTAG_Bool(REGB1)) {
29294 REGB1 = TAG_Bool(false);
29295 REGB0 = REGB1;
29296 } else {
29297 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
29298 REGB0 = REGB1;
29299 }
29300 }
29301 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
29302 if (UNTAG_Bool(REGB0)) {
29303 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
29304 /* ./parser//parser_prod.nit:5063 */
29305 if (UNTAG_Bool(REGB0)) {
29306 fprintf(stderr, "Reciever is null");
29307 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5063);
29308 nit_exit(1);
29309 }
29310 CALL_parser_prod___ANode___parent__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[0]);
29311 }
29312 stack_frame_head = fra.me.prev;
29313 init_table[itpos118] = 1;
29314 return;
29315 }
29316 void parser_prod___ALoopExpr___n_label__eq(val_t p0, val_t p1){
29317 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
29318 val_t REGB0;
29319 val_t REGB1;
29320 val_t tmp;
29321 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29322 fra.me.file = LOCATE_parser_prod;
29323 fra.me.line = 5160;
29324 fra.me.meth = LOCATE_parser_prod___ALoopExpr___n_label__eq;
29325 fra.me.has_broke = 0;
29326 fra.me.REG_size = 2;
29327 fra.me.REG[0] = NIT_NULL;
29328 fra.me.REG[1] = NIT_NULL;
29329 fra.me.REG[0] = p0;
29330 fra.me.REG[1] = p1;
29331 /* ./parser//parser_prod.nit:5162 */
29332 ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]) = fra.me.REG[1];
29333 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
29334 /* ./parser//parser_prod.nit:5163 */
29335 if (UNTAG_Bool(REGB0)) {
29336 } else {
29337 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
29338 if (UNTAG_Bool(REGB1)) {
29339 REGB1 = TAG_Bool(false);
29340 REGB0 = REGB1;
29341 } else {
29342 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
29343 REGB0 = REGB1;
29344 }
29345 }
29346 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
29347 if (UNTAG_Bool(REGB0)) {
29348 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
29349 /* ./parser//parser_prod.nit:5164 */
29350 if (UNTAG_Bool(REGB0)) {
29351 fprintf(stderr, "Reciever is null");
29352 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5164);
29353 nit_exit(1);
29354 }
29355 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
29356 }
29357 stack_frame_head = fra.me.prev;
29358 return;
29359 }
29360 void parser_prod___ALoopExpr___n_kwloop__eq(val_t p0, val_t p1){
29361 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
29362 val_t tmp;
29363 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29364 fra.me.file = LOCATE_parser_prod;
29365 fra.me.line = 5148;
29366 fra.me.meth = LOCATE_parser_prod___ALoopExpr___n_kwloop__eq;
29367 fra.me.has_broke = 0;
29368 fra.me.REG_size = 2;
29369 fra.me.REG[0] = NIT_NULL;
29370 fra.me.REG[1] = NIT_NULL;
29371 fra.me.REG[0] = p0;
29372 fra.me.REG[1] = p1;
29373 /* ./parser//parser_prod.nit:5150 */
29374 ATTR_parser_nodes___ALoopExpr____n_kwloop(fra.me.REG[0]) = fra.me.REG[1];
29375 /* ./parser//parser_prod.nit:5151 */
29376 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
29377 stack_frame_head = fra.me.prev;
29378 return;
29379 }
29380 void parser_prod___ALoopExpr___n_block__eq(val_t p0, val_t p1){
29381 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
29382 val_t REGB0;
29383 val_t REGB1;
29384 val_t tmp;
29385 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29386 fra.me.file = LOCATE_parser_prod;
29387 fra.me.line = 5153;
29388 fra.me.meth = LOCATE_parser_prod___ALoopExpr___n_block__eq;
29389 fra.me.has_broke = 0;
29390 fra.me.REG_size = 2;
29391 fra.me.REG[0] = NIT_NULL;
29392 fra.me.REG[1] = NIT_NULL;
29393 fra.me.REG[0] = p0;
29394 fra.me.REG[1] = p1;
29395 /* ./parser//parser_prod.nit:5155 */
29396 ATTR_parser_nodes___ALoopExpr____n_block(fra.me.REG[0]) = fra.me.REG[1];
29397 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
29398 /* ./parser//parser_prod.nit:5156 */
29399 if (UNTAG_Bool(REGB0)) {
29400 } else {
29401 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
29402 if (UNTAG_Bool(REGB1)) {
29403 REGB1 = TAG_Bool(false);
29404 REGB0 = REGB1;
29405 } else {
29406 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
29407 REGB0 = REGB1;
29408 }
29409 }
29410 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
29411 if (UNTAG_Bool(REGB0)) {
29412 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
29413 /* ./parser//parser_prod.nit:5157 */
29414 if (UNTAG_Bool(REGB0)) {
29415 fprintf(stderr, "Reciever is null");
29416 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5157);
29417 nit_exit(1);
29418 }
29419 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
29420 }
29421 stack_frame_head = fra.me.prev;
29422 return;
29423 }
29424 void parser_prod___ALoopExpr___replace_child(val_t p0, val_t p1, val_t p2){
29425 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
29426 val_t REGB0;
29427 val_t REGB1;
29428 val_t tmp;
29429 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29430 fra.me.file = LOCATE_parser_prod;
29431 fra.me.line = 5189;
29432 fra.me.meth = LOCATE_parser_prod___ALoopExpr___replace_child;
29433 fra.me.has_broke = 0;
29434 fra.me.REG_size = 4;
29435 fra.me.REG[0] = NIT_NULL;
29436 fra.me.REG[1] = NIT_NULL;
29437 fra.me.REG[2] = NIT_NULL;
29438 fra.me.REG[3] = NIT_NULL;
29439 fra.me.REG[0] = p0;
29440 fra.me.REG[1] = p1;
29441 fra.me.REG[2] = p2;
29442 REGB0 = TAG_Bool(ATTR_parser_nodes___ALoopExpr____n_kwloop(fra.me.REG[0])!=NIT_NULL);
29443 /* ./parser//parser_prod.nit:5191 */
29444 if (UNTAG_Bool(REGB0)) {
29445 } else {
29446 fprintf(stderr, "Uninitialized attribute %s", "_n_kwloop");
29447 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5191);
29448 nit_exit(1);
29449 }
29450 fra.me.REG[3] = ATTR_parser_nodes___ALoopExpr____n_kwloop(fra.me.REG[0]);
29451 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
29452 if (UNTAG_Bool(REGB0)) {
29453 } else {
29454 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
29455 REGB0 = REGB1;
29456 }
29457 if (UNTAG_Bool(REGB0)) {
29458 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
29459 /* ./parser//parser_prod.nit:5192 */
29460 if (UNTAG_Bool(REGB0)) {
29461 } else {
29462 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
29463 if (UNTAG_Bool(REGB1)) {
29464 REGB1 = TAG_Bool(false);
29465 REGB0 = REGB1;
29466 } else {
29467 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
29468 REGB0 = REGB1;
29469 }
29470 }
29471 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
29472 if (UNTAG_Bool(REGB0)) {
29473 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
29474 /* ./parser//parser_prod.nit:5193 */
29475 if (UNTAG_Bool(REGB0)) {
29476 fprintf(stderr, "Reciever is null");
29477 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5193);
29478 nit_exit(1);
29479 }
29480 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
29481 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwloop, ID_TKwloop)) /*cast TKwloop*/;
29482 /* ./parser//parser_prod.nit:5194 */
29483 if (UNTAG_Bool(REGB0)) {
29484 } else {
29485 fprintf(stderr, "Assert failed");
29486 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5194);
29487 nit_exit(1);
29488 }
29489 /* ./parser//parser_prod.nit:5195 */
29490 ATTR_parser_nodes___ALoopExpr____n_kwloop(fra.me.REG[0]) = fra.me.REG[2];
29491 } else {
29492 /* ./parser//parser_prod.nit:5197 */
29493 fprintf(stderr, "Aborted");
29494 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5197);
29495 nit_exit(1);
29496 }
29497 /* ./parser//parser_prod.nit:5199 */
29498 goto label1;
29499 }
29500 fra.me.REG[3] = ATTR_parser_nodes___ALoopExpr____n_block(fra.me.REG[0]);
29501 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
29502 /* ./parser//parser_prod.nit:5201 */
29503 if (UNTAG_Bool(REGB0)) {
29504 } else {
29505 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
29506 if (UNTAG_Bool(REGB1)) {
29507 REGB1 = TAG_Bool(false);
29508 REGB0 = REGB1;
29509 } else {
29510 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
29511 REGB0 = REGB1;
29512 }
29513 }
29514 if (UNTAG_Bool(REGB0)) {
29515 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
29516 /* ./parser//parser_prod.nit:5202 */
29517 if (UNTAG_Bool(REGB0)) {
29518 } else {
29519 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
29520 if (UNTAG_Bool(REGB1)) {
29521 REGB1 = TAG_Bool(false);
29522 REGB0 = REGB1;
29523 } else {
29524 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
29525 REGB0 = REGB1;
29526 }
29527 }
29528 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
29529 if (UNTAG_Bool(REGB0)) {
29530 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
29531 /* ./parser//parser_prod.nit:5203 */
29532 if (UNTAG_Bool(REGB0)) {
29533 fprintf(stderr, "Reciever is null");
29534 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5203);
29535 nit_exit(1);
29536 }
29537 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
29538 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
29539 /* ./parser//parser_prod.nit:5204 */
29540 if (UNTAG_Bool(REGB0)) {
29541 } else {
29542 fprintf(stderr, "Assert failed");
29543 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5204);
29544 nit_exit(1);
29545 }
29546 /* ./parser//parser_prod.nit:5205 */
29547 ATTR_parser_nodes___ALoopExpr____n_block(fra.me.REG[0]) = fra.me.REG[2];
29548 } else {
29549 /* ./parser//parser_prod.nit:5207 */
29550 ATTR_parser_nodes___ALoopExpr____n_block(fra.me.REG[0]) = NIT_NULL;
29551 }
29552 /* ./parser//parser_prod.nit:5209 */
29553 goto label1;
29554 }
29555 fra.me.REG[3] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
29556 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
29557 /* ./parser//parser_prod.nit:5211 */
29558 if (UNTAG_Bool(REGB0)) {
29559 } else {
29560 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
29561 if (UNTAG_Bool(REGB1)) {
29562 REGB1 = TAG_Bool(false);
29563 REGB0 = REGB1;
29564 } else {
29565 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
29566 REGB0 = REGB1;
29567 }
29568 }
29569 if (UNTAG_Bool(REGB0)) {
29570 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
29571 /* ./parser//parser_prod.nit:5212 */
29572 if (UNTAG_Bool(REGB0)) {
29573 } else {
29574 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
29575 if (UNTAG_Bool(REGB1)) {
29576 REGB1 = TAG_Bool(false);
29577 REGB0 = REGB1;
29578 } else {
29579 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
29580 REGB0 = REGB1;
29581 }
29582 }
29583 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
29584 if (UNTAG_Bool(REGB0)) {
29585 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
29586 /* ./parser//parser_prod.nit:5213 */
29587 if (UNTAG_Bool(REGB0)) {
29588 fprintf(stderr, "Reciever is null");
29589 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5213);
29590 nit_exit(1);
29591 }
29592 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
29593 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast ALabel*/;
29594 /* ./parser//parser_prod.nit:5214 */
29595 if (UNTAG_Bool(REGB0)) {
29596 } else {
29597 fprintf(stderr, "Assert failed");
29598 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5214);
29599 nit_exit(1);
29600 }
29601 /* ./parser//parser_prod.nit:5215 */
29602 ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]) = fra.me.REG[2];
29603 } else {
29604 /* ./parser//parser_prod.nit:5217 */
29605 ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]) = NIT_NULL;
29606 }
29607 /* ./parser//parser_prod.nit:5219 */
29608 goto label1;
29609 }
29610 label1: while(0);
29611 stack_frame_head = fra.me.prev;
29612 return;
29613 }
29614 void parser_prod___ALoopExpr___visit_all(val_t p0, val_t p1){
29615 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
29616 val_t REGB0;
29617 val_t REGB1;
29618 val_t tmp;
29619 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29620 fra.me.file = LOCATE_parser_prod;
29621 fra.me.line = 5223;
29622 fra.me.meth = LOCATE_parser_prod___ALoopExpr___visit_all;
29623 fra.me.has_broke = 0;
29624 fra.me.REG_size = 3;
29625 fra.me.REG[0] = NIT_NULL;
29626 fra.me.REG[1] = NIT_NULL;
29627 fra.me.REG[2] = NIT_NULL;
29628 fra.me.REG[0] = p0;
29629 fra.me.REG[1] = p1;
29630 REGB0 = TAG_Bool(ATTR_parser_nodes___ALoopExpr____n_kwloop(fra.me.REG[0])!=NIT_NULL);
29631 /* ./parser//parser_prod.nit:5225 */
29632 if (UNTAG_Bool(REGB0)) {
29633 } else {
29634 fprintf(stderr, "Uninitialized attribute %s", "_n_kwloop");
29635 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5225);
29636 nit_exit(1);
29637 }
29638 fra.me.REG[2] = ATTR_parser_nodes___ALoopExpr____n_kwloop(fra.me.REG[0]);
29639 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
29640 fra.me.REG[2] = ATTR_parser_nodes___ALoopExpr____n_block(fra.me.REG[0]);
29641 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
29642 /* ./parser//parser_prod.nit:5226 */
29643 if (UNTAG_Bool(REGB0)) {
29644 } else {
29645 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
29646 if (UNTAG_Bool(REGB1)) {
29647 REGB1 = TAG_Bool(false);
29648 REGB0 = REGB1;
29649 } else {
29650 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
29651 REGB0 = REGB1;
29652 }
29653 }
29654 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
29655 if (UNTAG_Bool(REGB0)) {
29656 fra.me.REG[2] = ATTR_parser_nodes___ALoopExpr____n_block(fra.me.REG[0]);
29657 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
29658 /* ./parser//parser_prod.nit:5227 */
29659 if (UNTAG_Bool(REGB0)) {
29660 } else {
29661 fprintf(stderr, "Cast failed");
29662 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5227);
29663 nit_exit(1);
29664 }
29665 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
29666 }
29667 fra.me.REG[2] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
29668 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
29669 /* ./parser//parser_prod.nit:5229 */
29670 if (UNTAG_Bool(REGB0)) {
29671 } else {
29672 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
29673 if (UNTAG_Bool(REGB1)) {
29674 REGB1 = TAG_Bool(false);
29675 REGB0 = REGB1;
29676 } else {
29677 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
29678 REGB0 = REGB1;
29679 }
29680 }
29681 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
29682 if (UNTAG_Bool(REGB0)) {
29683 fra.me.REG[0] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
29684 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_ALabel, ID_ALabel)) /*cast ALabel*/;
29685 /* ./parser//parser_prod.nit:5230 */
29686 if (UNTAG_Bool(REGB0)) {
29687 } else {
29688 fprintf(stderr, "Cast failed");
29689 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5230);
29690 nit_exit(1);
29691 }
29692 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
29693 }
29694 stack_frame_head = fra.me.prev;
29695 return;
29696 }
29697 void parser_prod___ALoopExpr___visit_all_reverse(val_t p0, val_t p1){
29698 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
29699 val_t REGB0;
29700 val_t REGB1;
29701 val_t tmp;
29702 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29703 fra.me.file = LOCATE_parser_prod;
29704 fra.me.line = 5234;
29705 fra.me.meth = LOCATE_parser_prod___ALoopExpr___visit_all_reverse;
29706 fra.me.has_broke = 0;
29707 fra.me.REG_size = 3;
29708 fra.me.REG[0] = NIT_NULL;
29709 fra.me.REG[1] = NIT_NULL;
29710 fra.me.REG[2] = NIT_NULL;
29711 fra.me.REG[0] = p0;
29712 fra.me.REG[1] = p1;
29713 REGB0 = TAG_Bool(ATTR_parser_nodes___ALoopExpr____n_kwloop(fra.me.REG[0])!=NIT_NULL);
29714 /* ./parser//parser_prod.nit:5236 */
29715 if (UNTAG_Bool(REGB0)) {
29716 } else {
29717 fprintf(stderr, "Uninitialized attribute %s", "_n_kwloop");
29718 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5236);
29719 nit_exit(1);
29720 }
29721 fra.me.REG[2] = ATTR_parser_nodes___ALoopExpr____n_kwloop(fra.me.REG[0]);
29722 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
29723 fra.me.REG[2] = ATTR_parser_nodes___ALoopExpr____n_block(fra.me.REG[0]);
29724 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
29725 /* ./parser//parser_prod.nit:5237 */
29726 if (UNTAG_Bool(REGB0)) {
29727 } else {
29728 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
29729 if (UNTAG_Bool(REGB1)) {
29730 REGB1 = TAG_Bool(false);
29731 REGB0 = REGB1;
29732 } else {
29733 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
29734 REGB0 = REGB1;
29735 }
29736 }
29737 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
29738 if (UNTAG_Bool(REGB0)) {
29739 fra.me.REG[2] = ATTR_parser_nodes___ALoopExpr____n_block(fra.me.REG[0]);
29740 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
29741 /* ./parser//parser_prod.nit:5238 */
29742 if (UNTAG_Bool(REGB0)) {
29743 } else {
29744 fprintf(stderr, "Cast failed");
29745 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5238);
29746 nit_exit(1);
29747 }
29748 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
29749 }
29750 fra.me.REG[2] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
29751 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
29752 /* ./parser//parser_prod.nit:5240 */
29753 if (UNTAG_Bool(REGB0)) {
29754 } else {
29755 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
29756 if (UNTAG_Bool(REGB1)) {
29757 REGB1 = TAG_Bool(false);
29758 REGB0 = REGB1;
29759 } else {
29760 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
29761 REGB0 = REGB1;
29762 }
29763 }
29764 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
29765 if (UNTAG_Bool(REGB0)) {
29766 fra.me.REG[0] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
29767 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_ALabel, ID_ALabel)) /*cast ALabel*/;
29768 /* ./parser//parser_prod.nit:5241 */
29769 if (UNTAG_Bool(REGB0)) {
29770 } else {
29771 fprintf(stderr, "Cast failed");
29772 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5241);
29773 nit_exit(1);
29774 }
29775 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
29776 }
29777 stack_frame_head = fra.me.prev;
29778 return;
29779 }
29780 void parser_prod___ALoopExpr___empty_init(val_t p0, int* init_table){
29781 int itpos119 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ALoopExpr].i;
29782 struct {struct stack_frame_t me;} fra;
29783 val_t tmp;
29784 if (init_table[itpos119]) return;
29785 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29786 fra.me.file = LOCATE_parser_prod;
29787 fra.me.line = 5168;
29788 fra.me.meth = LOCATE_parser_prod___ALoopExpr___empty_init;
29789 fra.me.has_broke = 0;
29790 fra.me.REG_size = 1;
29791 fra.me.REG[0] = NIT_NULL;
29792 fra.me.REG[0] = p0;
29793 /* ./parser//parser_prod.nit:5168 */
29794 stack_frame_head = fra.me.prev;
29795 init_table[itpos119] = 1;
29796 return;
29797 }
29798 void parser_prod___ALoopExpr___init_aloopexpr(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
29799 int itpos120 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ALoopExpr].i;
29800 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
29801 val_t REGB0;
29802 val_t REGB1;
29803 val_t tmp;
29804 if (init_table[itpos120]) return;
29805 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29806 fra.me.file = LOCATE_parser_prod;
29807 fra.me.line = 5170;
29808 fra.me.meth = LOCATE_parser_prod___ALoopExpr___init_aloopexpr;
29809 fra.me.has_broke = 0;
29810 fra.me.REG_size = 4;
29811 fra.me.REG[0] = NIT_NULL;
29812 fra.me.REG[1] = NIT_NULL;
29813 fra.me.REG[2] = NIT_NULL;
29814 fra.me.REG[3] = NIT_NULL;
29815 fra.me.REG[0] = p0;
29816 fra.me.REG[1] = p1;
29817 fra.me.REG[2] = p2;
29818 fra.me.REG[3] = p3;
29819 /* ./parser//parser_prod.nit:5176 */
29820 CALL_parser_prod___ALoopExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
29821 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
29822 /* ./parser//parser_prod.nit:5177 */
29823 if (UNTAG_Bool(REGB0)) {
29824 } else {
29825 fprintf(stderr, "Cast failed");
29826 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5177);
29827 nit_exit(1);
29828 }
29829 ATTR_parser_nodes___ALoopExpr____n_kwloop(fra.me.REG[0]) = fra.me.REG[1];
29830 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
29831 /* ./parser//parser_prod.nit:5178 */
29832 if (UNTAG_Bool(REGB0)) {
29833 fprintf(stderr, "Reciever is null");
29834 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5178);
29835 nit_exit(1);
29836 }
29837 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
29838 /* ./parser//parser_prod.nit:5179 */
29839 ATTR_parser_nodes___ALoopExpr____n_block(fra.me.REG[0]) = fra.me.REG[2];
29840 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
29841 /* ./parser//parser_prod.nit:5180 */
29842 if (UNTAG_Bool(REGB0)) {
29843 } else {
29844 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
29845 if (UNTAG_Bool(REGB1)) {
29846 REGB1 = TAG_Bool(false);
29847 REGB0 = REGB1;
29848 } else {
29849 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
29850 REGB0 = REGB1;
29851 }
29852 }
29853 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
29854 if (UNTAG_Bool(REGB0)) {
29855 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
29856 /* ./parser//parser_prod.nit:5181 */
29857 if (UNTAG_Bool(REGB0)) {
29858 fprintf(stderr, "Reciever is null");
29859 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5181);
29860 nit_exit(1);
29861 }
29862 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
29863 }
29864 /* ./parser//parser_prod.nit:5183 */
29865 ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]) = fra.me.REG[3];
29866 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
29867 /* ./parser//parser_prod.nit:5184 */
29868 if (UNTAG_Bool(REGB0)) {
29869 } else {
29870 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
29871 if (UNTAG_Bool(REGB1)) {
29872 REGB1 = TAG_Bool(false);
29873 REGB0 = REGB1;
29874 } else {
29875 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
29876 REGB0 = REGB1;
29877 }
29878 }
29879 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
29880 if (UNTAG_Bool(REGB0)) {
29881 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
29882 /* ./parser//parser_prod.nit:5185 */
29883 if (UNTAG_Bool(REGB0)) {
29884 fprintf(stderr, "Reciever is null");
29885 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5185);
29886 nit_exit(1);
29887 }
29888 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
29889 }
29890 stack_frame_head = fra.me.prev;
29891 init_table[itpos120] = 1;
29892 return;
29893 }
29894 void parser_prod___AForExpr___n_label__eq(val_t p0, val_t p1){
29895 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
29896 val_t REGB0;
29897 val_t REGB1;
29898 val_t tmp;
29899 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29900 fra.me.file = LOCATE_parser_prod;
29901 fra.me.line = 5273;
29902 fra.me.meth = LOCATE_parser_prod___AForExpr___n_label__eq;
29903 fra.me.has_broke = 0;
29904 fra.me.REG_size = 2;
29905 fra.me.REG[0] = NIT_NULL;
29906 fra.me.REG[1] = NIT_NULL;
29907 fra.me.REG[0] = p0;
29908 fra.me.REG[1] = p1;
29909 /* ./parser//parser_prod.nit:5275 */
29910 ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]) = fra.me.REG[1];
29911 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
29912 /* ./parser//parser_prod.nit:5276 */
29913 if (UNTAG_Bool(REGB0)) {
29914 } else {
29915 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
29916 if (UNTAG_Bool(REGB1)) {
29917 REGB1 = TAG_Bool(false);
29918 REGB0 = REGB1;
29919 } else {
29920 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
29921 REGB0 = REGB1;
29922 }
29923 }
29924 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
29925 if (UNTAG_Bool(REGB0)) {
29926 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
29927 /* ./parser//parser_prod.nit:5277 */
29928 if (UNTAG_Bool(REGB0)) {
29929 fprintf(stderr, "Reciever is null");
29930 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5277);
29931 nit_exit(1);
29932 }
29933 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
29934 }
29935 stack_frame_head = fra.me.prev;
29936 return;
29937 }
29938 void parser_prod___AForExpr___n_kwfor__eq(val_t p0, val_t p1){
29939 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
29940 val_t tmp;
29941 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29942 fra.me.file = LOCATE_parser_prod;
29943 fra.me.line = 5246;
29944 fra.me.meth = LOCATE_parser_prod___AForExpr___n_kwfor__eq;
29945 fra.me.has_broke = 0;
29946 fra.me.REG_size = 2;
29947 fra.me.REG[0] = NIT_NULL;
29948 fra.me.REG[1] = NIT_NULL;
29949 fra.me.REG[0] = p0;
29950 fra.me.REG[1] = p1;
29951 /* ./parser//parser_prod.nit:5248 */
29952 ATTR_parser_nodes___AForExpr____n_kwfor(fra.me.REG[0]) = fra.me.REG[1];
29953 /* ./parser//parser_prod.nit:5249 */
29954 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
29955 stack_frame_head = fra.me.prev;
29956 return;
29957 }
29958 void parser_prod___AForExpr___n_id__eq(val_t p0, val_t p1){
29959 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
29960 val_t tmp;
29961 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29962 fra.me.file = LOCATE_parser_prod;
29963 fra.me.line = 5251;
29964 fra.me.meth = LOCATE_parser_prod___AForExpr___n_id__eq;
29965 fra.me.has_broke = 0;
29966 fra.me.REG_size = 2;
29967 fra.me.REG[0] = NIT_NULL;
29968 fra.me.REG[1] = NIT_NULL;
29969 fra.me.REG[0] = p0;
29970 fra.me.REG[1] = p1;
29971 /* ./parser//parser_prod.nit:5253 */
29972 ATTR_parser_nodes___AForExpr____n_id(fra.me.REG[0]) = fra.me.REG[1];
29973 /* ./parser//parser_prod.nit:5254 */
29974 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
29975 stack_frame_head = fra.me.prev;
29976 return;
29977 }
29978 void parser_prod___AForExpr___n_expr__eq(val_t p0, val_t p1){
29979 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
29980 val_t tmp;
29981 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
29982 fra.me.file = LOCATE_parser_prod;
29983 fra.me.line = 5256;
29984 fra.me.meth = LOCATE_parser_prod___AForExpr___n_expr__eq;
29985 fra.me.has_broke = 0;
29986 fra.me.REG_size = 2;
29987 fra.me.REG[0] = NIT_NULL;
29988 fra.me.REG[1] = NIT_NULL;
29989 fra.me.REG[0] = p0;
29990 fra.me.REG[1] = p1;
29991 /* ./parser//parser_prod.nit:5258 */
29992 ATTR_parser_nodes___AForExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
29993 /* ./parser//parser_prod.nit:5259 */
29994 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
29995 stack_frame_head = fra.me.prev;
29996 return;
29997 }
29998 void parser_prod___AForExpr___n_kwdo__eq(val_t p0, val_t p1){
29999 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
30000 val_t tmp;
30001 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30002 fra.me.file = LOCATE_parser_prod;
30003 fra.me.line = 5261;
30004 fra.me.meth = LOCATE_parser_prod___AForExpr___n_kwdo__eq;
30005 fra.me.has_broke = 0;
30006 fra.me.REG_size = 2;
30007 fra.me.REG[0] = NIT_NULL;
30008 fra.me.REG[1] = NIT_NULL;
30009 fra.me.REG[0] = p0;
30010 fra.me.REG[1] = p1;
30011 /* ./parser//parser_prod.nit:5263 */
30012 ATTR_parser_nodes___AForExpr____n_kwdo(fra.me.REG[0]) = fra.me.REG[1];
30013 /* ./parser//parser_prod.nit:5264 */
30014 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
30015 stack_frame_head = fra.me.prev;
30016 return;
30017 }
30018 void parser_prod___AForExpr___n_block__eq(val_t p0, val_t p1){
30019 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
30020 val_t REGB0;
30021 val_t REGB1;
30022 val_t tmp;
30023 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30024 fra.me.file = LOCATE_parser_prod;
30025 fra.me.line = 5266;
30026 fra.me.meth = LOCATE_parser_prod___AForExpr___n_block__eq;
30027 fra.me.has_broke = 0;
30028 fra.me.REG_size = 2;
30029 fra.me.REG[0] = NIT_NULL;
30030 fra.me.REG[1] = NIT_NULL;
30031 fra.me.REG[0] = p0;
30032 fra.me.REG[1] = p1;
30033 /* ./parser//parser_prod.nit:5268 */
30034 ATTR_parser_nodes___AForExpr____n_block(fra.me.REG[0]) = fra.me.REG[1];
30035 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
30036 /* ./parser//parser_prod.nit:5269 */
30037 if (UNTAG_Bool(REGB0)) {
30038 } else {
30039 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
30040 if (UNTAG_Bool(REGB1)) {
30041 REGB1 = TAG_Bool(false);
30042 REGB0 = REGB1;
30043 } else {
30044 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
30045 REGB0 = REGB1;
30046 }
30047 }
30048 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30049 if (UNTAG_Bool(REGB0)) {
30050 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
30051 /* ./parser//parser_prod.nit:5270 */
30052 if (UNTAG_Bool(REGB0)) {
30053 fprintf(stderr, "Reciever is null");
30054 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5270);
30055 nit_exit(1);
30056 }
30057 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
30058 }
30059 stack_frame_head = fra.me.prev;
30060 return;
30061 }
30062 void parser_prod___AForExpr___replace_child(val_t p0, val_t p1, val_t p2){
30063 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
30064 val_t REGB0;
30065 val_t REGB1;
30066 val_t tmp;
30067 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30068 fra.me.file = LOCATE_parser_prod;
30069 fra.me.line = 5311;
30070 fra.me.meth = LOCATE_parser_prod___AForExpr___replace_child;
30071 fra.me.has_broke = 0;
30072 fra.me.REG_size = 4;
30073 fra.me.REG[0] = NIT_NULL;
30074 fra.me.REG[1] = NIT_NULL;
30075 fra.me.REG[2] = NIT_NULL;
30076 fra.me.REG[3] = NIT_NULL;
30077 fra.me.REG[0] = p0;
30078 fra.me.REG[1] = p1;
30079 fra.me.REG[2] = p2;
30080 REGB0 = TAG_Bool(ATTR_parser_nodes___AForExpr____n_kwfor(fra.me.REG[0])!=NIT_NULL);
30081 /* ./parser//parser_prod.nit:5313 */
30082 if (UNTAG_Bool(REGB0)) {
30083 } else {
30084 fprintf(stderr, "Uninitialized attribute %s", "_n_kwfor");
30085 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5313);
30086 nit_exit(1);
30087 }
30088 fra.me.REG[3] = ATTR_parser_nodes___AForExpr____n_kwfor(fra.me.REG[0]);
30089 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
30090 if (UNTAG_Bool(REGB0)) {
30091 } else {
30092 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
30093 REGB0 = REGB1;
30094 }
30095 if (UNTAG_Bool(REGB0)) {
30096 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
30097 /* ./parser//parser_prod.nit:5314 */
30098 if (UNTAG_Bool(REGB0)) {
30099 } else {
30100 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
30101 if (UNTAG_Bool(REGB1)) {
30102 REGB1 = TAG_Bool(false);
30103 REGB0 = REGB1;
30104 } else {
30105 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
30106 REGB0 = REGB1;
30107 }
30108 }
30109 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30110 if (UNTAG_Bool(REGB0)) {
30111 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
30112 /* ./parser//parser_prod.nit:5315 */
30113 if (UNTAG_Bool(REGB0)) {
30114 fprintf(stderr, "Reciever is null");
30115 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5315);
30116 nit_exit(1);
30117 }
30118 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
30119 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwfor, ID_TKwfor)) /*cast TKwfor*/;
30120 /* ./parser//parser_prod.nit:5316 */
30121 if (UNTAG_Bool(REGB0)) {
30122 } else {
30123 fprintf(stderr, "Assert failed");
30124 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5316);
30125 nit_exit(1);
30126 }
30127 /* ./parser//parser_prod.nit:5317 */
30128 ATTR_parser_nodes___AForExpr____n_kwfor(fra.me.REG[0]) = fra.me.REG[2];
30129 } else {
30130 /* ./parser//parser_prod.nit:5319 */
30131 fprintf(stderr, "Aborted");
30132 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5319);
30133 nit_exit(1);
30134 }
30135 /* ./parser//parser_prod.nit:5321 */
30136 goto label1;
30137 }
30138 REGB0 = TAG_Bool(ATTR_parser_nodes___AForExpr____n_id(fra.me.REG[0])!=NIT_NULL);
30139 /* ./parser//parser_prod.nit:5323 */
30140 if (UNTAG_Bool(REGB0)) {
30141 } else {
30142 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
30143 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5323);
30144 nit_exit(1);
30145 }
30146 fra.me.REG[3] = ATTR_parser_nodes___AForExpr____n_id(fra.me.REG[0]);
30147 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
30148 if (UNTAG_Bool(REGB0)) {
30149 } else {
30150 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
30151 REGB0 = REGB1;
30152 }
30153 if (UNTAG_Bool(REGB0)) {
30154 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
30155 /* ./parser//parser_prod.nit:5324 */
30156 if (UNTAG_Bool(REGB0)) {
30157 } else {
30158 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
30159 if (UNTAG_Bool(REGB1)) {
30160 REGB1 = TAG_Bool(false);
30161 REGB0 = REGB1;
30162 } else {
30163 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
30164 REGB0 = REGB1;
30165 }
30166 }
30167 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30168 if (UNTAG_Bool(REGB0)) {
30169 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
30170 /* ./parser//parser_prod.nit:5325 */
30171 if (UNTAG_Bool(REGB0)) {
30172 fprintf(stderr, "Reciever is null");
30173 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5325);
30174 nit_exit(1);
30175 }
30176 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
30177 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast TId*/;
30178 /* ./parser//parser_prod.nit:5326 */
30179 if (UNTAG_Bool(REGB0)) {
30180 } else {
30181 fprintf(stderr, "Assert failed");
30182 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5326);
30183 nit_exit(1);
30184 }
30185 /* ./parser//parser_prod.nit:5327 */
30186 ATTR_parser_nodes___AForExpr____n_id(fra.me.REG[0]) = fra.me.REG[2];
30187 } else {
30188 /* ./parser//parser_prod.nit:5329 */
30189 fprintf(stderr, "Aborted");
30190 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5329);
30191 nit_exit(1);
30192 }
30193 /* ./parser//parser_prod.nit:5331 */
30194 goto label1;
30195 }
30196 REGB0 = TAG_Bool(ATTR_parser_nodes___AForExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
30197 /* ./parser//parser_prod.nit:5333 */
30198 if (UNTAG_Bool(REGB0)) {
30199 } else {
30200 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
30201 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5333);
30202 nit_exit(1);
30203 }
30204 fra.me.REG[3] = ATTR_parser_nodes___AForExpr____n_expr(fra.me.REG[0]);
30205 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
30206 if (UNTAG_Bool(REGB0)) {
30207 } else {
30208 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
30209 REGB0 = REGB1;
30210 }
30211 if (UNTAG_Bool(REGB0)) {
30212 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
30213 /* ./parser//parser_prod.nit:5334 */
30214 if (UNTAG_Bool(REGB0)) {
30215 } else {
30216 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
30217 if (UNTAG_Bool(REGB1)) {
30218 REGB1 = TAG_Bool(false);
30219 REGB0 = REGB1;
30220 } else {
30221 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
30222 REGB0 = REGB1;
30223 }
30224 }
30225 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30226 if (UNTAG_Bool(REGB0)) {
30227 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
30228 /* ./parser//parser_prod.nit:5335 */
30229 if (UNTAG_Bool(REGB0)) {
30230 fprintf(stderr, "Reciever is null");
30231 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5335);
30232 nit_exit(1);
30233 }
30234 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
30235 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
30236 /* ./parser//parser_prod.nit:5336 */
30237 if (UNTAG_Bool(REGB0)) {
30238 } else {
30239 fprintf(stderr, "Assert failed");
30240 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5336);
30241 nit_exit(1);
30242 }
30243 /* ./parser//parser_prod.nit:5337 */
30244 ATTR_parser_nodes___AForExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
30245 } else {
30246 /* ./parser//parser_prod.nit:5339 */
30247 fprintf(stderr, "Aborted");
30248 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5339);
30249 nit_exit(1);
30250 }
30251 /* ./parser//parser_prod.nit:5341 */
30252 goto label1;
30253 }
30254 REGB0 = TAG_Bool(ATTR_parser_nodes___AForExpr____n_kwdo(fra.me.REG[0])!=NIT_NULL);
30255 /* ./parser//parser_prod.nit:5343 */
30256 if (UNTAG_Bool(REGB0)) {
30257 } else {
30258 fprintf(stderr, "Uninitialized attribute %s", "_n_kwdo");
30259 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5343);
30260 nit_exit(1);
30261 }
30262 fra.me.REG[3] = ATTR_parser_nodes___AForExpr____n_kwdo(fra.me.REG[0]);
30263 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
30264 if (UNTAG_Bool(REGB0)) {
30265 } else {
30266 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
30267 REGB0 = REGB1;
30268 }
30269 if (UNTAG_Bool(REGB0)) {
30270 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
30271 /* ./parser//parser_prod.nit:5344 */
30272 if (UNTAG_Bool(REGB0)) {
30273 } else {
30274 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
30275 if (UNTAG_Bool(REGB1)) {
30276 REGB1 = TAG_Bool(false);
30277 REGB0 = REGB1;
30278 } else {
30279 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
30280 REGB0 = REGB1;
30281 }
30282 }
30283 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30284 if (UNTAG_Bool(REGB0)) {
30285 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
30286 /* ./parser//parser_prod.nit:5345 */
30287 if (UNTAG_Bool(REGB0)) {
30288 fprintf(stderr, "Reciever is null");
30289 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5345);
30290 nit_exit(1);
30291 }
30292 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
30293 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
30294 /* ./parser//parser_prod.nit:5346 */
30295 if (UNTAG_Bool(REGB0)) {
30296 } else {
30297 fprintf(stderr, "Assert failed");
30298 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5346);
30299 nit_exit(1);
30300 }
30301 /* ./parser//parser_prod.nit:5347 */
30302 ATTR_parser_nodes___AForExpr____n_kwdo(fra.me.REG[0]) = fra.me.REG[2];
30303 } else {
30304 /* ./parser//parser_prod.nit:5349 */
30305 fprintf(stderr, "Aborted");
30306 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5349);
30307 nit_exit(1);
30308 }
30309 /* ./parser//parser_prod.nit:5351 */
30310 goto label1;
30311 }
30312 fra.me.REG[3] = ATTR_parser_nodes___AForExpr____n_block(fra.me.REG[0]);
30313 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
30314 /* ./parser//parser_prod.nit:5353 */
30315 if (UNTAG_Bool(REGB0)) {
30316 } else {
30317 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30318 if (UNTAG_Bool(REGB1)) {
30319 REGB1 = TAG_Bool(false);
30320 REGB0 = REGB1;
30321 } else {
30322 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
30323 REGB0 = REGB1;
30324 }
30325 }
30326 if (UNTAG_Bool(REGB0)) {
30327 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
30328 /* ./parser//parser_prod.nit:5354 */
30329 if (UNTAG_Bool(REGB0)) {
30330 } else {
30331 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
30332 if (UNTAG_Bool(REGB1)) {
30333 REGB1 = TAG_Bool(false);
30334 REGB0 = REGB1;
30335 } else {
30336 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
30337 REGB0 = REGB1;
30338 }
30339 }
30340 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30341 if (UNTAG_Bool(REGB0)) {
30342 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
30343 /* ./parser//parser_prod.nit:5355 */
30344 if (UNTAG_Bool(REGB0)) {
30345 fprintf(stderr, "Reciever is null");
30346 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5355);
30347 nit_exit(1);
30348 }
30349 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
30350 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
30351 /* ./parser//parser_prod.nit:5356 */
30352 if (UNTAG_Bool(REGB0)) {
30353 } else {
30354 fprintf(stderr, "Assert failed");
30355 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5356);
30356 nit_exit(1);
30357 }
30358 /* ./parser//parser_prod.nit:5357 */
30359 ATTR_parser_nodes___AForExpr____n_block(fra.me.REG[0]) = fra.me.REG[2];
30360 } else {
30361 /* ./parser//parser_prod.nit:5359 */
30362 ATTR_parser_nodes___AForExpr____n_block(fra.me.REG[0]) = NIT_NULL;
30363 }
30364 /* ./parser//parser_prod.nit:5361 */
30365 goto label1;
30366 }
30367 fra.me.REG[3] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
30368 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
30369 /* ./parser//parser_prod.nit:5363 */
30370 if (UNTAG_Bool(REGB0)) {
30371 } else {
30372 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30373 if (UNTAG_Bool(REGB1)) {
30374 REGB1 = TAG_Bool(false);
30375 REGB0 = REGB1;
30376 } else {
30377 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
30378 REGB0 = REGB1;
30379 }
30380 }
30381 if (UNTAG_Bool(REGB0)) {
30382 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
30383 /* ./parser//parser_prod.nit:5364 */
30384 if (UNTAG_Bool(REGB0)) {
30385 } else {
30386 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
30387 if (UNTAG_Bool(REGB1)) {
30388 REGB1 = TAG_Bool(false);
30389 REGB0 = REGB1;
30390 } else {
30391 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
30392 REGB0 = REGB1;
30393 }
30394 }
30395 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30396 if (UNTAG_Bool(REGB0)) {
30397 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
30398 /* ./parser//parser_prod.nit:5365 */
30399 if (UNTAG_Bool(REGB0)) {
30400 fprintf(stderr, "Reciever is null");
30401 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5365);
30402 nit_exit(1);
30403 }
30404 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
30405 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast ALabel*/;
30406 /* ./parser//parser_prod.nit:5366 */
30407 if (UNTAG_Bool(REGB0)) {
30408 } else {
30409 fprintf(stderr, "Assert failed");
30410 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5366);
30411 nit_exit(1);
30412 }
30413 /* ./parser//parser_prod.nit:5367 */
30414 ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]) = fra.me.REG[2];
30415 } else {
30416 /* ./parser//parser_prod.nit:5369 */
30417 ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]) = NIT_NULL;
30418 }
30419 /* ./parser//parser_prod.nit:5371 */
30420 goto label1;
30421 }
30422 label1: while(0);
30423 stack_frame_head = fra.me.prev;
30424 return;
30425 }
30426 void parser_prod___AForExpr___visit_all(val_t p0, val_t p1){
30427 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
30428 val_t REGB0;
30429 val_t REGB1;
30430 val_t tmp;
30431 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30432 fra.me.file = LOCATE_parser_prod;
30433 fra.me.line = 5375;
30434 fra.me.meth = LOCATE_parser_prod___AForExpr___visit_all;
30435 fra.me.has_broke = 0;
30436 fra.me.REG_size = 3;
30437 fra.me.REG[0] = NIT_NULL;
30438 fra.me.REG[1] = NIT_NULL;
30439 fra.me.REG[2] = NIT_NULL;
30440 fra.me.REG[0] = p0;
30441 fra.me.REG[1] = p1;
30442 REGB0 = TAG_Bool(ATTR_parser_nodes___AForExpr____n_kwfor(fra.me.REG[0])!=NIT_NULL);
30443 /* ./parser//parser_prod.nit:5377 */
30444 if (UNTAG_Bool(REGB0)) {
30445 } else {
30446 fprintf(stderr, "Uninitialized attribute %s", "_n_kwfor");
30447 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5377);
30448 nit_exit(1);
30449 }
30450 fra.me.REG[2] = ATTR_parser_nodes___AForExpr____n_kwfor(fra.me.REG[0]);
30451 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
30452 REGB0 = TAG_Bool(ATTR_parser_nodes___AForExpr____n_id(fra.me.REG[0])!=NIT_NULL);
30453 /* ./parser//parser_prod.nit:5378 */
30454 if (UNTAG_Bool(REGB0)) {
30455 } else {
30456 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
30457 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5378);
30458 nit_exit(1);
30459 }
30460 fra.me.REG[2] = ATTR_parser_nodes___AForExpr____n_id(fra.me.REG[0]);
30461 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
30462 REGB0 = TAG_Bool(ATTR_parser_nodes___AForExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
30463 /* ./parser//parser_prod.nit:5379 */
30464 if (UNTAG_Bool(REGB0)) {
30465 } else {
30466 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
30467 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5379);
30468 nit_exit(1);
30469 }
30470 fra.me.REG[2] = ATTR_parser_nodes___AForExpr____n_expr(fra.me.REG[0]);
30471 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
30472 REGB0 = TAG_Bool(ATTR_parser_nodes___AForExpr____n_kwdo(fra.me.REG[0])!=NIT_NULL);
30473 /* ./parser//parser_prod.nit:5380 */
30474 if (UNTAG_Bool(REGB0)) {
30475 } else {
30476 fprintf(stderr, "Uninitialized attribute %s", "_n_kwdo");
30477 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5380);
30478 nit_exit(1);
30479 }
30480 fra.me.REG[2] = ATTR_parser_nodes___AForExpr____n_kwdo(fra.me.REG[0]);
30481 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
30482 fra.me.REG[2] = ATTR_parser_nodes___AForExpr____n_block(fra.me.REG[0]);
30483 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
30484 /* ./parser//parser_prod.nit:5381 */
30485 if (UNTAG_Bool(REGB0)) {
30486 } else {
30487 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
30488 if (UNTAG_Bool(REGB1)) {
30489 REGB1 = TAG_Bool(false);
30490 REGB0 = REGB1;
30491 } else {
30492 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
30493 REGB0 = REGB1;
30494 }
30495 }
30496 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30497 if (UNTAG_Bool(REGB0)) {
30498 fra.me.REG[2] = ATTR_parser_nodes___AForExpr____n_block(fra.me.REG[0]);
30499 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
30500 /* ./parser//parser_prod.nit:5382 */
30501 if (UNTAG_Bool(REGB0)) {
30502 } else {
30503 fprintf(stderr, "Cast failed");
30504 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5382);
30505 nit_exit(1);
30506 }
30507 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
30508 }
30509 fra.me.REG[2] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
30510 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
30511 /* ./parser//parser_prod.nit:5384 */
30512 if (UNTAG_Bool(REGB0)) {
30513 } else {
30514 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
30515 if (UNTAG_Bool(REGB1)) {
30516 REGB1 = TAG_Bool(false);
30517 REGB0 = REGB1;
30518 } else {
30519 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
30520 REGB0 = REGB1;
30521 }
30522 }
30523 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30524 if (UNTAG_Bool(REGB0)) {
30525 fra.me.REG[0] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
30526 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_ALabel, ID_ALabel)) /*cast ALabel*/;
30527 /* ./parser//parser_prod.nit:5385 */
30528 if (UNTAG_Bool(REGB0)) {
30529 } else {
30530 fprintf(stderr, "Cast failed");
30531 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5385);
30532 nit_exit(1);
30533 }
30534 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
30535 }
30536 stack_frame_head = fra.me.prev;
30537 return;
30538 }
30539 void parser_prod___AForExpr___visit_all_reverse(val_t p0, val_t p1){
30540 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
30541 val_t REGB0;
30542 val_t REGB1;
30543 val_t tmp;
30544 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30545 fra.me.file = LOCATE_parser_prod;
30546 fra.me.line = 5389;
30547 fra.me.meth = LOCATE_parser_prod___AForExpr___visit_all_reverse;
30548 fra.me.has_broke = 0;
30549 fra.me.REG_size = 3;
30550 fra.me.REG[0] = NIT_NULL;
30551 fra.me.REG[1] = NIT_NULL;
30552 fra.me.REG[2] = NIT_NULL;
30553 fra.me.REG[0] = p0;
30554 fra.me.REG[1] = p1;
30555 REGB0 = TAG_Bool(ATTR_parser_nodes___AForExpr____n_kwfor(fra.me.REG[0])!=NIT_NULL);
30556 /* ./parser//parser_prod.nit:5391 */
30557 if (UNTAG_Bool(REGB0)) {
30558 } else {
30559 fprintf(stderr, "Uninitialized attribute %s", "_n_kwfor");
30560 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5391);
30561 nit_exit(1);
30562 }
30563 fra.me.REG[2] = ATTR_parser_nodes___AForExpr____n_kwfor(fra.me.REG[0]);
30564 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
30565 REGB0 = TAG_Bool(ATTR_parser_nodes___AForExpr____n_id(fra.me.REG[0])!=NIT_NULL);
30566 /* ./parser//parser_prod.nit:5392 */
30567 if (UNTAG_Bool(REGB0)) {
30568 } else {
30569 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
30570 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5392);
30571 nit_exit(1);
30572 }
30573 fra.me.REG[2] = ATTR_parser_nodes___AForExpr____n_id(fra.me.REG[0]);
30574 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
30575 REGB0 = TAG_Bool(ATTR_parser_nodes___AForExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
30576 /* ./parser//parser_prod.nit:5393 */
30577 if (UNTAG_Bool(REGB0)) {
30578 } else {
30579 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
30580 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5393);
30581 nit_exit(1);
30582 }
30583 fra.me.REG[2] = ATTR_parser_nodes___AForExpr____n_expr(fra.me.REG[0]);
30584 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
30585 REGB0 = TAG_Bool(ATTR_parser_nodes___AForExpr____n_kwdo(fra.me.REG[0])!=NIT_NULL);
30586 /* ./parser//parser_prod.nit:5394 */
30587 if (UNTAG_Bool(REGB0)) {
30588 } else {
30589 fprintf(stderr, "Uninitialized attribute %s", "_n_kwdo");
30590 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5394);
30591 nit_exit(1);
30592 }
30593 fra.me.REG[2] = ATTR_parser_nodes___AForExpr____n_kwdo(fra.me.REG[0]);
30594 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
30595 fra.me.REG[2] = ATTR_parser_nodes___AForExpr____n_block(fra.me.REG[0]);
30596 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
30597 /* ./parser//parser_prod.nit:5395 */
30598 if (UNTAG_Bool(REGB0)) {
30599 } else {
30600 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
30601 if (UNTAG_Bool(REGB1)) {
30602 REGB1 = TAG_Bool(false);
30603 REGB0 = REGB1;
30604 } else {
30605 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
30606 REGB0 = REGB1;
30607 }
30608 }
30609 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30610 if (UNTAG_Bool(REGB0)) {
30611 fra.me.REG[2] = ATTR_parser_nodes___AForExpr____n_block(fra.me.REG[0]);
30612 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
30613 /* ./parser//parser_prod.nit:5396 */
30614 if (UNTAG_Bool(REGB0)) {
30615 } else {
30616 fprintf(stderr, "Cast failed");
30617 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5396);
30618 nit_exit(1);
30619 }
30620 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
30621 }
30622 fra.me.REG[2] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
30623 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
30624 /* ./parser//parser_prod.nit:5398 */
30625 if (UNTAG_Bool(REGB0)) {
30626 } else {
30627 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
30628 if (UNTAG_Bool(REGB1)) {
30629 REGB1 = TAG_Bool(false);
30630 REGB0 = REGB1;
30631 } else {
30632 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
30633 REGB0 = REGB1;
30634 }
30635 }
30636 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30637 if (UNTAG_Bool(REGB0)) {
30638 fra.me.REG[0] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
30639 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_ALabel, ID_ALabel)) /*cast ALabel*/;
30640 /* ./parser//parser_prod.nit:5399 */
30641 if (UNTAG_Bool(REGB0)) {
30642 } else {
30643 fprintf(stderr, "Cast failed");
30644 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5399);
30645 nit_exit(1);
30646 }
30647 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
30648 }
30649 stack_frame_head = fra.me.prev;
30650 return;
30651 }
30652 void parser_prod___AForExpr___empty_init(val_t p0, int* init_table){
30653 int itpos121 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AForExpr].i;
30654 struct {struct stack_frame_t me;} fra;
30655 val_t tmp;
30656 if (init_table[itpos121]) return;
30657 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30658 fra.me.file = LOCATE_parser_prod;
30659 fra.me.line = 5281;
30660 fra.me.meth = LOCATE_parser_prod___AForExpr___empty_init;
30661 fra.me.has_broke = 0;
30662 fra.me.REG_size = 1;
30663 fra.me.REG[0] = NIT_NULL;
30664 fra.me.REG[0] = p0;
30665 /* ./parser//parser_prod.nit:5281 */
30666 stack_frame_head = fra.me.prev;
30667 init_table[itpos121] = 1;
30668 return;
30669 }
30670 void parser_prod___AForExpr___init_aforexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6, int* init_table){
30671 int itpos122 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AForExpr].i;
30672 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
30673 val_t REGB0;
30674 val_t REGB1;
30675 val_t tmp;
30676 if (init_table[itpos122]) return;
30677 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30678 fra.me.file = LOCATE_parser_prod;
30679 fra.me.line = 5283;
30680 fra.me.meth = LOCATE_parser_prod___AForExpr___init_aforexpr;
30681 fra.me.has_broke = 0;
30682 fra.me.REG_size = 7;
30683 fra.me.REG[0] = NIT_NULL;
30684 fra.me.REG[1] = NIT_NULL;
30685 fra.me.REG[2] = NIT_NULL;
30686 fra.me.REG[3] = NIT_NULL;
30687 fra.me.REG[4] = NIT_NULL;
30688 fra.me.REG[5] = NIT_NULL;
30689 fra.me.REG[6] = NIT_NULL;
30690 fra.me.REG[0] = p0;
30691 fra.me.REG[1] = p1;
30692 fra.me.REG[2] = p2;
30693 fra.me.REG[3] = p3;
30694 fra.me.REG[4] = p4;
30695 fra.me.REG[5] = p5;
30696 fra.me.REG[6] = p6;
30697 /* ./parser//parser_prod.nit:5292 */
30698 CALL_parser_prod___AForExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
30699 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
30700 /* ./parser//parser_prod.nit:5293 */
30701 if (UNTAG_Bool(REGB0)) {
30702 } else {
30703 fprintf(stderr, "Cast failed");
30704 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5293);
30705 nit_exit(1);
30706 }
30707 ATTR_parser_nodes___AForExpr____n_kwfor(fra.me.REG[0]) = fra.me.REG[1];
30708 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
30709 /* ./parser//parser_prod.nit:5294 */
30710 if (UNTAG_Bool(REGB0)) {
30711 fprintf(stderr, "Reciever is null");
30712 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5294);
30713 nit_exit(1);
30714 }
30715 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
30716 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
30717 /* ./parser//parser_prod.nit:5295 */
30718 if (UNTAG_Bool(REGB0)) {
30719 } else {
30720 fprintf(stderr, "Cast failed");
30721 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5295);
30722 nit_exit(1);
30723 }
30724 ATTR_parser_nodes___AForExpr____n_id(fra.me.REG[0]) = fra.me.REG[2];
30725 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
30726 /* ./parser//parser_prod.nit:5296 */
30727 if (UNTAG_Bool(REGB0)) {
30728 fprintf(stderr, "Reciever is null");
30729 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5296);
30730 nit_exit(1);
30731 }
30732 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
30733 REGB0 = TAG_Bool(fra.me.REG[3]!=NIT_NULL);
30734 /* ./parser//parser_prod.nit:5297 */
30735 if (UNTAG_Bool(REGB0)) {
30736 } else {
30737 fprintf(stderr, "Cast failed");
30738 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5297);
30739 nit_exit(1);
30740 }
30741 ATTR_parser_nodes___AForExpr____n_expr(fra.me.REG[0]) = fra.me.REG[3];
30742 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
30743 /* ./parser//parser_prod.nit:5298 */
30744 if (UNTAG_Bool(REGB0)) {
30745 fprintf(stderr, "Reciever is null");
30746 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5298);
30747 nit_exit(1);
30748 }
30749 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
30750 REGB0 = TAG_Bool(fra.me.REG[4]!=NIT_NULL);
30751 /* ./parser//parser_prod.nit:5299 */
30752 if (UNTAG_Bool(REGB0)) {
30753 } else {
30754 fprintf(stderr, "Cast failed");
30755 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5299);
30756 nit_exit(1);
30757 }
30758 ATTR_parser_nodes___AForExpr____n_kwdo(fra.me.REG[0]) = fra.me.REG[4];
30759 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
30760 /* ./parser//parser_prod.nit:5300 */
30761 if (UNTAG_Bool(REGB0)) {
30762 fprintf(stderr, "Reciever is null");
30763 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5300);
30764 nit_exit(1);
30765 }
30766 CALL_parser_prod___ANode___parent__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
30767 /* ./parser//parser_prod.nit:5301 */
30768 ATTR_parser_nodes___AForExpr____n_block(fra.me.REG[0]) = fra.me.REG[5];
30769 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
30770 /* ./parser//parser_prod.nit:5302 */
30771 if (UNTAG_Bool(REGB0)) {
30772 } else {
30773 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
30774 if (UNTAG_Bool(REGB1)) {
30775 REGB1 = TAG_Bool(false);
30776 REGB0 = REGB1;
30777 } else {
30778 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
30779 REGB0 = REGB1;
30780 }
30781 }
30782 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30783 if (UNTAG_Bool(REGB0)) {
30784 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
30785 /* ./parser//parser_prod.nit:5303 */
30786 if (UNTAG_Bool(REGB0)) {
30787 fprintf(stderr, "Reciever is null");
30788 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5303);
30789 nit_exit(1);
30790 }
30791 CALL_parser_prod___ANode___parent__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[0]);
30792 }
30793 /* ./parser//parser_prod.nit:5305 */
30794 ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]) = fra.me.REG[6];
30795 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
30796 /* ./parser//parser_prod.nit:5306 */
30797 if (UNTAG_Bool(REGB0)) {
30798 } else {
30799 REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
30800 if (UNTAG_Bool(REGB1)) {
30801 REGB1 = TAG_Bool(false);
30802 REGB0 = REGB1;
30803 } else {
30804 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
30805 REGB0 = REGB1;
30806 }
30807 }
30808 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30809 if (UNTAG_Bool(REGB0)) {
30810 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
30811 /* ./parser//parser_prod.nit:5307 */
30812 if (UNTAG_Bool(REGB0)) {
30813 fprintf(stderr, "Reciever is null");
30814 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5307);
30815 nit_exit(1);
30816 }
30817 CALL_parser_prod___ANode___parent__eq(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[0]);
30818 }
30819 stack_frame_head = fra.me.prev;
30820 init_table[itpos122] = 1;
30821 return;
30822 }
30823 void parser_prod___AAssertExpr___n_kwassert__eq(val_t p0, val_t p1){
30824 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
30825 val_t tmp;
30826 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30827 fra.me.file = LOCATE_parser_prod;
30828 fra.me.line = 5404;
30829 fra.me.meth = LOCATE_parser_prod___AAssertExpr___n_kwassert__eq;
30830 fra.me.has_broke = 0;
30831 fra.me.REG_size = 2;
30832 fra.me.REG[0] = NIT_NULL;
30833 fra.me.REG[1] = NIT_NULL;
30834 fra.me.REG[0] = p0;
30835 fra.me.REG[1] = p1;
30836 /* ./parser//parser_prod.nit:5406 */
30837 ATTR_parser_nodes___AAssertExpr____n_kwassert(fra.me.REG[0]) = fra.me.REG[1];
30838 /* ./parser//parser_prod.nit:5407 */
30839 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
30840 stack_frame_head = fra.me.prev;
30841 return;
30842 }
30843 void parser_prod___AAssertExpr___n_id__eq(val_t p0, val_t p1){
30844 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
30845 val_t REGB0;
30846 val_t REGB1;
30847 val_t tmp;
30848 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30849 fra.me.file = LOCATE_parser_prod;
30850 fra.me.line = 5409;
30851 fra.me.meth = LOCATE_parser_prod___AAssertExpr___n_id__eq;
30852 fra.me.has_broke = 0;
30853 fra.me.REG_size = 2;
30854 fra.me.REG[0] = NIT_NULL;
30855 fra.me.REG[1] = NIT_NULL;
30856 fra.me.REG[0] = p0;
30857 fra.me.REG[1] = p1;
30858 /* ./parser//parser_prod.nit:5411 */
30859 ATTR_parser_nodes___AAssertExpr____n_id(fra.me.REG[0]) = fra.me.REG[1];
30860 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
30861 /* ./parser//parser_prod.nit:5412 */
30862 if (UNTAG_Bool(REGB0)) {
30863 } else {
30864 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
30865 if (UNTAG_Bool(REGB1)) {
30866 REGB1 = TAG_Bool(false);
30867 REGB0 = REGB1;
30868 } else {
30869 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
30870 REGB0 = REGB1;
30871 }
30872 }
30873 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30874 if (UNTAG_Bool(REGB0)) {
30875 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
30876 /* ./parser//parser_prod.nit:5413 */
30877 if (UNTAG_Bool(REGB0)) {
30878 fprintf(stderr, "Reciever is null");
30879 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5413);
30880 nit_exit(1);
30881 }
30882 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
30883 }
30884 stack_frame_head = fra.me.prev;
30885 return;
30886 }
30887 void parser_prod___AAssertExpr___n_expr__eq(val_t p0, val_t p1){
30888 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
30889 val_t tmp;
30890 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30891 fra.me.file = LOCATE_parser_prod;
30892 fra.me.line = 5416;
30893 fra.me.meth = LOCATE_parser_prod___AAssertExpr___n_expr__eq;
30894 fra.me.has_broke = 0;
30895 fra.me.REG_size = 2;
30896 fra.me.REG[0] = NIT_NULL;
30897 fra.me.REG[1] = NIT_NULL;
30898 fra.me.REG[0] = p0;
30899 fra.me.REG[1] = p1;
30900 /* ./parser//parser_prod.nit:5418 */
30901 ATTR_parser_nodes___AAssertExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
30902 /* ./parser//parser_prod.nit:5419 */
30903 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
30904 stack_frame_head = fra.me.prev;
30905 return;
30906 }
30907 void parser_prod___AAssertExpr___n_else__eq(val_t p0, val_t p1){
30908 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
30909 val_t REGB0;
30910 val_t REGB1;
30911 val_t tmp;
30912 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30913 fra.me.file = LOCATE_parser_prod;
30914 fra.me.line = 5421;
30915 fra.me.meth = LOCATE_parser_prod___AAssertExpr___n_else__eq;
30916 fra.me.has_broke = 0;
30917 fra.me.REG_size = 2;
30918 fra.me.REG[0] = NIT_NULL;
30919 fra.me.REG[1] = NIT_NULL;
30920 fra.me.REG[0] = p0;
30921 fra.me.REG[1] = p1;
30922 /* ./parser//parser_prod.nit:5423 */
30923 ATTR_parser_nodes___AAssertExpr____n_else(fra.me.REG[0]) = fra.me.REG[1];
30924 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
30925 /* ./parser//parser_prod.nit:5424 */
30926 if (UNTAG_Bool(REGB0)) {
30927 } else {
30928 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
30929 if (UNTAG_Bool(REGB1)) {
30930 REGB1 = TAG_Bool(false);
30931 REGB0 = REGB1;
30932 } else {
30933 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
30934 REGB0 = REGB1;
30935 }
30936 }
30937 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30938 if (UNTAG_Bool(REGB0)) {
30939 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
30940 /* ./parser//parser_prod.nit:5425 */
30941 if (UNTAG_Bool(REGB0)) {
30942 fprintf(stderr, "Reciever is null");
30943 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5425);
30944 nit_exit(1);
30945 }
30946 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
30947 }
30948 stack_frame_head = fra.me.prev;
30949 return;
30950 }
30951 void parser_prod___AAssertExpr___replace_child(val_t p0, val_t p1, val_t p2){
30952 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
30953 val_t REGB0;
30954 val_t REGB1;
30955 val_t tmp;
30956 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30957 fra.me.file = LOCATE_parser_prod;
30958 fra.me.line = 5453;
30959 fra.me.meth = LOCATE_parser_prod___AAssertExpr___replace_child;
30960 fra.me.has_broke = 0;
30961 fra.me.REG_size = 4;
30962 fra.me.REG[0] = NIT_NULL;
30963 fra.me.REG[1] = NIT_NULL;
30964 fra.me.REG[2] = NIT_NULL;
30965 fra.me.REG[3] = NIT_NULL;
30966 fra.me.REG[0] = p0;
30967 fra.me.REG[1] = p1;
30968 fra.me.REG[2] = p2;
30969 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssertExpr____n_kwassert(fra.me.REG[0])!=NIT_NULL);
30970 /* ./parser//parser_prod.nit:5455 */
30971 if (UNTAG_Bool(REGB0)) {
30972 } else {
30973 fprintf(stderr, "Uninitialized attribute %s", "_n_kwassert");
30974 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5455);
30975 nit_exit(1);
30976 }
30977 fra.me.REG[3] = ATTR_parser_nodes___AAssertExpr____n_kwassert(fra.me.REG[0]);
30978 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
30979 if (UNTAG_Bool(REGB0)) {
30980 } else {
30981 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
30982 REGB0 = REGB1;
30983 }
30984 if (UNTAG_Bool(REGB0)) {
30985 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
30986 /* ./parser//parser_prod.nit:5456 */
30987 if (UNTAG_Bool(REGB0)) {
30988 } else {
30989 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
30990 if (UNTAG_Bool(REGB1)) {
30991 REGB1 = TAG_Bool(false);
30992 REGB0 = REGB1;
30993 } else {
30994 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
30995 REGB0 = REGB1;
30996 }
30997 }
30998 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
30999 if (UNTAG_Bool(REGB0)) {
31000 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31001 /* ./parser//parser_prod.nit:5457 */
31002 if (UNTAG_Bool(REGB0)) {
31003 fprintf(stderr, "Reciever is null");
31004 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5457);
31005 nit_exit(1);
31006 }
31007 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
31008 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwassert, ID_TKwassert)) /*cast TKwassert*/;
31009 /* ./parser//parser_prod.nit:5458 */
31010 if (UNTAG_Bool(REGB0)) {
31011 } else {
31012 fprintf(stderr, "Assert failed");
31013 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5458);
31014 nit_exit(1);
31015 }
31016 /* ./parser//parser_prod.nit:5459 */
31017 ATTR_parser_nodes___AAssertExpr____n_kwassert(fra.me.REG[0]) = fra.me.REG[2];
31018 } else {
31019 /* ./parser//parser_prod.nit:5461 */
31020 fprintf(stderr, "Aborted");
31021 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5461);
31022 nit_exit(1);
31023 }
31024 /* ./parser//parser_prod.nit:5463 */
31025 goto label1;
31026 }
31027 fra.me.REG[3] = ATTR_parser_nodes___AAssertExpr____n_id(fra.me.REG[0]);
31028 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
31029 /* ./parser//parser_prod.nit:5465 */
31030 if (UNTAG_Bool(REGB0)) {
31031 } else {
31032 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
31033 if (UNTAG_Bool(REGB1)) {
31034 REGB1 = TAG_Bool(false);
31035 REGB0 = REGB1;
31036 } else {
31037 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
31038 REGB0 = REGB1;
31039 }
31040 }
31041 if (UNTAG_Bool(REGB0)) {
31042 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31043 /* ./parser//parser_prod.nit:5466 */
31044 if (UNTAG_Bool(REGB0)) {
31045 } else {
31046 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31047 if (UNTAG_Bool(REGB1)) {
31048 REGB1 = TAG_Bool(false);
31049 REGB0 = REGB1;
31050 } else {
31051 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
31052 REGB0 = REGB1;
31053 }
31054 }
31055 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
31056 if (UNTAG_Bool(REGB0)) {
31057 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31058 /* ./parser//parser_prod.nit:5467 */
31059 if (UNTAG_Bool(REGB0)) {
31060 fprintf(stderr, "Reciever is null");
31061 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5467);
31062 nit_exit(1);
31063 }
31064 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
31065 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast TId*/;
31066 /* ./parser//parser_prod.nit:5468 */
31067 if (UNTAG_Bool(REGB0)) {
31068 } else {
31069 fprintf(stderr, "Assert failed");
31070 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5468);
31071 nit_exit(1);
31072 }
31073 /* ./parser//parser_prod.nit:5469 */
31074 ATTR_parser_nodes___AAssertExpr____n_id(fra.me.REG[0]) = fra.me.REG[2];
31075 } else {
31076 /* ./parser//parser_prod.nit:5471 */
31077 ATTR_parser_nodes___AAssertExpr____n_id(fra.me.REG[0]) = NIT_NULL;
31078 }
31079 /* ./parser//parser_prod.nit:5473 */
31080 goto label1;
31081 }
31082 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssertExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
31083 /* ./parser//parser_prod.nit:5475 */
31084 if (UNTAG_Bool(REGB0)) {
31085 } else {
31086 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
31087 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5475);
31088 nit_exit(1);
31089 }
31090 fra.me.REG[3] = ATTR_parser_nodes___AAssertExpr____n_expr(fra.me.REG[0]);
31091 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
31092 if (UNTAG_Bool(REGB0)) {
31093 } else {
31094 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
31095 REGB0 = REGB1;
31096 }
31097 if (UNTAG_Bool(REGB0)) {
31098 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31099 /* ./parser//parser_prod.nit:5476 */
31100 if (UNTAG_Bool(REGB0)) {
31101 } else {
31102 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31103 if (UNTAG_Bool(REGB1)) {
31104 REGB1 = TAG_Bool(false);
31105 REGB0 = REGB1;
31106 } else {
31107 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
31108 REGB0 = REGB1;
31109 }
31110 }
31111 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
31112 if (UNTAG_Bool(REGB0)) {
31113 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31114 /* ./parser//parser_prod.nit:5477 */
31115 if (UNTAG_Bool(REGB0)) {
31116 fprintf(stderr, "Reciever is null");
31117 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5477);
31118 nit_exit(1);
31119 }
31120 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
31121 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
31122 /* ./parser//parser_prod.nit:5478 */
31123 if (UNTAG_Bool(REGB0)) {
31124 } else {
31125 fprintf(stderr, "Assert failed");
31126 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5478);
31127 nit_exit(1);
31128 }
31129 /* ./parser//parser_prod.nit:5479 */
31130 ATTR_parser_nodes___AAssertExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
31131 } else {
31132 /* ./parser//parser_prod.nit:5481 */
31133 fprintf(stderr, "Aborted");
31134 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5481);
31135 nit_exit(1);
31136 }
31137 /* ./parser//parser_prod.nit:5483 */
31138 goto label1;
31139 }
31140 fra.me.REG[3] = ATTR_parser_nodes___AAssertExpr____n_else(fra.me.REG[0]);
31141 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
31142 /* ./parser//parser_prod.nit:5485 */
31143 if (UNTAG_Bool(REGB0)) {
31144 } else {
31145 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
31146 if (UNTAG_Bool(REGB1)) {
31147 REGB1 = TAG_Bool(false);
31148 REGB0 = REGB1;
31149 } else {
31150 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
31151 REGB0 = REGB1;
31152 }
31153 }
31154 if (UNTAG_Bool(REGB0)) {
31155 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31156 /* ./parser//parser_prod.nit:5486 */
31157 if (UNTAG_Bool(REGB0)) {
31158 } else {
31159 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31160 if (UNTAG_Bool(REGB1)) {
31161 REGB1 = TAG_Bool(false);
31162 REGB0 = REGB1;
31163 } else {
31164 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
31165 REGB0 = REGB1;
31166 }
31167 }
31168 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
31169 if (UNTAG_Bool(REGB0)) {
31170 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31171 /* ./parser//parser_prod.nit:5487 */
31172 if (UNTAG_Bool(REGB0)) {
31173 fprintf(stderr, "Reciever is null");
31174 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5487);
31175 nit_exit(1);
31176 }
31177 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
31178 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
31179 /* ./parser//parser_prod.nit:5488 */
31180 if (UNTAG_Bool(REGB0)) {
31181 } else {
31182 fprintf(stderr, "Assert failed");
31183 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5488);
31184 nit_exit(1);
31185 }
31186 /* ./parser//parser_prod.nit:5489 */
31187 ATTR_parser_nodes___AAssertExpr____n_else(fra.me.REG[0]) = fra.me.REG[2];
31188 } else {
31189 /* ./parser//parser_prod.nit:5491 */
31190 ATTR_parser_nodes___AAssertExpr____n_else(fra.me.REG[0]) = NIT_NULL;
31191 }
31192 /* ./parser//parser_prod.nit:5493 */
31193 goto label1;
31194 }
31195 label1: while(0);
31196 stack_frame_head = fra.me.prev;
31197 return;
31198 }
31199 void parser_prod___AAssertExpr___visit_all(val_t p0, val_t p1){
31200 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
31201 val_t REGB0;
31202 val_t REGB1;
31203 val_t tmp;
31204 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31205 fra.me.file = LOCATE_parser_prod;
31206 fra.me.line = 5497;
31207 fra.me.meth = LOCATE_parser_prod___AAssertExpr___visit_all;
31208 fra.me.has_broke = 0;
31209 fra.me.REG_size = 3;
31210 fra.me.REG[0] = NIT_NULL;
31211 fra.me.REG[1] = NIT_NULL;
31212 fra.me.REG[2] = NIT_NULL;
31213 fra.me.REG[0] = p0;
31214 fra.me.REG[1] = p1;
31215 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssertExpr____n_kwassert(fra.me.REG[0])!=NIT_NULL);
31216 /* ./parser//parser_prod.nit:5499 */
31217 if (UNTAG_Bool(REGB0)) {
31218 } else {
31219 fprintf(stderr, "Uninitialized attribute %s", "_n_kwassert");
31220 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5499);
31221 nit_exit(1);
31222 }
31223 fra.me.REG[2] = ATTR_parser_nodes___AAssertExpr____n_kwassert(fra.me.REG[0]);
31224 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
31225 fra.me.REG[2] = ATTR_parser_nodes___AAssertExpr____n_id(fra.me.REG[0]);
31226 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31227 /* ./parser//parser_prod.nit:5500 */
31228 if (UNTAG_Bool(REGB0)) {
31229 } else {
31230 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31231 if (UNTAG_Bool(REGB1)) {
31232 REGB1 = TAG_Bool(false);
31233 REGB0 = REGB1;
31234 } else {
31235 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
31236 REGB0 = REGB1;
31237 }
31238 }
31239 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
31240 if (UNTAG_Bool(REGB0)) {
31241 fra.me.REG[2] = ATTR_parser_nodes___AAssertExpr____n_id(fra.me.REG[0]);
31242 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast TId*/;
31243 /* ./parser//parser_prod.nit:5501 */
31244 if (UNTAG_Bool(REGB0)) {
31245 } else {
31246 fprintf(stderr, "Cast failed");
31247 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5501);
31248 nit_exit(1);
31249 }
31250 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
31251 }
31252 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssertExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
31253 /* ./parser//parser_prod.nit:5503 */
31254 if (UNTAG_Bool(REGB0)) {
31255 } else {
31256 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
31257 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5503);
31258 nit_exit(1);
31259 }
31260 fra.me.REG[2] = ATTR_parser_nodes___AAssertExpr____n_expr(fra.me.REG[0]);
31261 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
31262 fra.me.REG[2] = ATTR_parser_nodes___AAssertExpr____n_else(fra.me.REG[0]);
31263 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31264 /* ./parser//parser_prod.nit:5504 */
31265 if (UNTAG_Bool(REGB0)) {
31266 } else {
31267 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31268 if (UNTAG_Bool(REGB1)) {
31269 REGB1 = TAG_Bool(false);
31270 REGB0 = REGB1;
31271 } else {
31272 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
31273 REGB0 = REGB1;
31274 }
31275 }
31276 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
31277 if (UNTAG_Bool(REGB0)) {
31278 fra.me.REG[0] = ATTR_parser_nodes___AAssertExpr____n_else(fra.me.REG[0]);
31279 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
31280 /* ./parser//parser_prod.nit:5505 */
31281 if (UNTAG_Bool(REGB0)) {
31282 } else {
31283 fprintf(stderr, "Cast failed");
31284 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5505);
31285 nit_exit(1);
31286 }
31287 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
31288 }
31289 stack_frame_head = fra.me.prev;
31290 return;
31291 }
31292 void parser_prod___AAssertExpr___visit_all_reverse(val_t p0, val_t p1){
31293 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
31294 val_t REGB0;
31295 val_t REGB1;
31296 val_t tmp;
31297 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31298 fra.me.file = LOCATE_parser_prod;
31299 fra.me.line = 5509;
31300 fra.me.meth = LOCATE_parser_prod___AAssertExpr___visit_all_reverse;
31301 fra.me.has_broke = 0;
31302 fra.me.REG_size = 3;
31303 fra.me.REG[0] = NIT_NULL;
31304 fra.me.REG[1] = NIT_NULL;
31305 fra.me.REG[2] = NIT_NULL;
31306 fra.me.REG[0] = p0;
31307 fra.me.REG[1] = p1;
31308 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssertExpr____n_kwassert(fra.me.REG[0])!=NIT_NULL);
31309 /* ./parser//parser_prod.nit:5511 */
31310 if (UNTAG_Bool(REGB0)) {
31311 } else {
31312 fprintf(stderr, "Uninitialized attribute %s", "_n_kwassert");
31313 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5511);
31314 nit_exit(1);
31315 }
31316 fra.me.REG[2] = ATTR_parser_nodes___AAssertExpr____n_kwassert(fra.me.REG[0]);
31317 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
31318 fra.me.REG[2] = ATTR_parser_nodes___AAssertExpr____n_id(fra.me.REG[0]);
31319 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31320 /* ./parser//parser_prod.nit:5512 */
31321 if (UNTAG_Bool(REGB0)) {
31322 } else {
31323 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31324 if (UNTAG_Bool(REGB1)) {
31325 REGB1 = TAG_Bool(false);
31326 REGB0 = REGB1;
31327 } else {
31328 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
31329 REGB0 = REGB1;
31330 }
31331 }
31332 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
31333 if (UNTAG_Bool(REGB0)) {
31334 fra.me.REG[2] = ATTR_parser_nodes___AAssertExpr____n_id(fra.me.REG[0]);
31335 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast TId*/;
31336 /* ./parser//parser_prod.nit:5513 */
31337 if (UNTAG_Bool(REGB0)) {
31338 } else {
31339 fprintf(stderr, "Cast failed");
31340 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5513);
31341 nit_exit(1);
31342 }
31343 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
31344 }
31345 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssertExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
31346 /* ./parser//parser_prod.nit:5515 */
31347 if (UNTAG_Bool(REGB0)) {
31348 } else {
31349 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
31350 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5515);
31351 nit_exit(1);
31352 }
31353 fra.me.REG[2] = ATTR_parser_nodes___AAssertExpr____n_expr(fra.me.REG[0]);
31354 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
31355 fra.me.REG[2] = ATTR_parser_nodes___AAssertExpr____n_else(fra.me.REG[0]);
31356 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31357 /* ./parser//parser_prod.nit:5516 */
31358 if (UNTAG_Bool(REGB0)) {
31359 } else {
31360 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31361 if (UNTAG_Bool(REGB1)) {
31362 REGB1 = TAG_Bool(false);
31363 REGB0 = REGB1;
31364 } else {
31365 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
31366 REGB0 = REGB1;
31367 }
31368 }
31369 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
31370 if (UNTAG_Bool(REGB0)) {
31371 fra.me.REG[0] = ATTR_parser_nodes___AAssertExpr____n_else(fra.me.REG[0]);
31372 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
31373 /* ./parser//parser_prod.nit:5517 */
31374 if (UNTAG_Bool(REGB0)) {
31375 } else {
31376 fprintf(stderr, "Cast failed");
31377 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5517);
31378 nit_exit(1);
31379 }
31380 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
31381 }
31382 stack_frame_head = fra.me.prev;
31383 return;
31384 }
31385 void parser_prod___AAssertExpr___empty_init(val_t p0, int* init_table){
31386 int itpos123 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AAssertExpr].i;
31387 struct {struct stack_frame_t me;} fra;
31388 val_t tmp;
31389 if (init_table[itpos123]) return;
31390 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31391 fra.me.file = LOCATE_parser_prod;
31392 fra.me.line = 5429;
31393 fra.me.meth = LOCATE_parser_prod___AAssertExpr___empty_init;
31394 fra.me.has_broke = 0;
31395 fra.me.REG_size = 1;
31396 fra.me.REG[0] = NIT_NULL;
31397 fra.me.REG[0] = p0;
31398 /* ./parser//parser_prod.nit:5429 */
31399 stack_frame_head = fra.me.prev;
31400 init_table[itpos123] = 1;
31401 return;
31402 }
31403 void parser_prod___AAssertExpr___init_aassertexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, int* init_table){
31404 int itpos124 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AAssertExpr].i;
31405 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
31406 val_t REGB0;
31407 val_t REGB1;
31408 val_t tmp;
31409 if (init_table[itpos124]) return;
31410 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31411 fra.me.file = LOCATE_parser_prod;
31412 fra.me.line = 5431;
31413 fra.me.meth = LOCATE_parser_prod___AAssertExpr___init_aassertexpr;
31414 fra.me.has_broke = 0;
31415 fra.me.REG_size = 5;
31416 fra.me.REG[0] = NIT_NULL;
31417 fra.me.REG[1] = NIT_NULL;
31418 fra.me.REG[2] = NIT_NULL;
31419 fra.me.REG[3] = NIT_NULL;
31420 fra.me.REG[4] = NIT_NULL;
31421 fra.me.REG[0] = p0;
31422 fra.me.REG[1] = p1;
31423 fra.me.REG[2] = p2;
31424 fra.me.REG[3] = p3;
31425 fra.me.REG[4] = p4;
31426 /* ./parser//parser_prod.nit:5438 */
31427 CALL_parser_prod___AAssertExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
31428 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
31429 /* ./parser//parser_prod.nit:5439 */
31430 if (UNTAG_Bool(REGB0)) {
31431 } else {
31432 fprintf(stderr, "Cast failed");
31433 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5439);
31434 nit_exit(1);
31435 }
31436 ATTR_parser_nodes___AAssertExpr____n_kwassert(fra.me.REG[0]) = fra.me.REG[1];
31437 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
31438 /* ./parser//parser_prod.nit:5440 */
31439 if (UNTAG_Bool(REGB0)) {
31440 fprintf(stderr, "Reciever is null");
31441 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5440);
31442 nit_exit(1);
31443 }
31444 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
31445 /* ./parser//parser_prod.nit:5441 */
31446 ATTR_parser_nodes___AAssertExpr____n_id(fra.me.REG[0]) = fra.me.REG[2];
31447 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31448 /* ./parser//parser_prod.nit:5442 */
31449 if (UNTAG_Bool(REGB0)) {
31450 } else {
31451 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31452 if (UNTAG_Bool(REGB1)) {
31453 REGB1 = TAG_Bool(false);
31454 REGB0 = REGB1;
31455 } else {
31456 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
31457 REGB0 = REGB1;
31458 }
31459 }
31460 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
31461 if (UNTAG_Bool(REGB0)) {
31462 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31463 /* ./parser//parser_prod.nit:5443 */
31464 if (UNTAG_Bool(REGB0)) {
31465 fprintf(stderr, "Reciever is null");
31466 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5443);
31467 nit_exit(1);
31468 }
31469 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
31470 }
31471 REGB0 = TAG_Bool(fra.me.REG[3]!=NIT_NULL);
31472 /* ./parser//parser_prod.nit:5445 */
31473 if (UNTAG_Bool(REGB0)) {
31474 } else {
31475 fprintf(stderr, "Cast failed");
31476 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5445);
31477 nit_exit(1);
31478 }
31479 ATTR_parser_nodes___AAssertExpr____n_expr(fra.me.REG[0]) = fra.me.REG[3];
31480 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
31481 /* ./parser//parser_prod.nit:5446 */
31482 if (UNTAG_Bool(REGB0)) {
31483 fprintf(stderr, "Reciever is null");
31484 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5446);
31485 nit_exit(1);
31486 }
31487 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
31488 /* ./parser//parser_prod.nit:5447 */
31489 ATTR_parser_nodes___AAssertExpr____n_else(fra.me.REG[0]) = fra.me.REG[4];
31490 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
31491 /* ./parser//parser_prod.nit:5448 */
31492 if (UNTAG_Bool(REGB0)) {
31493 } else {
31494 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
31495 if (UNTAG_Bool(REGB1)) {
31496 REGB1 = TAG_Bool(false);
31497 REGB0 = REGB1;
31498 } else {
31499 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
31500 REGB0 = REGB1;
31501 }
31502 }
31503 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
31504 if (UNTAG_Bool(REGB0)) {
31505 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
31506 /* ./parser//parser_prod.nit:5449 */
31507 if (UNTAG_Bool(REGB0)) {
31508 fprintf(stderr, "Reciever is null");
31509 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5449);
31510 nit_exit(1);
31511 }
31512 CALL_parser_prod___ANode___parent__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
31513 }
31514 stack_frame_head = fra.me.prev;
31515 init_table[itpos124] = 1;
31516 return;
31517 }
31518 void parser_prod___AOnceExpr___n_expr__eq(val_t p0, val_t p1){
31519 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
31520 val_t tmp;
31521 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31522 fra.me.file = LOCATE_parser_prod;
31523 fra.me.line = 5527;
31524 fra.me.meth = LOCATE_parser_prod___AOnceExpr___n_expr__eq;
31525 fra.me.has_broke = 0;
31526 fra.me.REG_size = 2;
31527 fra.me.REG[0] = NIT_NULL;
31528 fra.me.REG[1] = NIT_NULL;
31529 fra.me.REG[0] = p0;
31530 fra.me.REG[1] = p1;
31531 /* ./parser//parser_prod.nit:5529 */
31532 ATTR_parser_nodes___AProxyExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
31533 /* ./parser//parser_prod.nit:5530 */
31534 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
31535 stack_frame_head = fra.me.prev;
31536 return;
31537 }
31538 void parser_prod___AOnceExpr___n_kwonce__eq(val_t p0, val_t p1){
31539 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
31540 val_t tmp;
31541 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31542 fra.me.file = LOCATE_parser_prod;
31543 fra.me.line = 5522;
31544 fra.me.meth = LOCATE_parser_prod___AOnceExpr___n_kwonce__eq;
31545 fra.me.has_broke = 0;
31546 fra.me.REG_size = 2;
31547 fra.me.REG[0] = NIT_NULL;
31548 fra.me.REG[1] = NIT_NULL;
31549 fra.me.REG[0] = p0;
31550 fra.me.REG[1] = p1;
31551 /* ./parser//parser_prod.nit:5524 */
31552 ATTR_parser_nodes___AOnceExpr____n_kwonce(fra.me.REG[0]) = fra.me.REG[1];
31553 /* ./parser//parser_prod.nit:5525 */
31554 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
31555 stack_frame_head = fra.me.prev;
31556 return;
31557 }
31558 void parser_prod___AOnceExpr___replace_child(val_t p0, val_t p1, val_t p2){
31559 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
31560 val_t REGB0;
31561 val_t REGB1;
31562 val_t tmp;
31563 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31564 fra.me.file = LOCATE_parser_prod;
31565 fra.me.line = 5547;
31566 fra.me.meth = LOCATE_parser_prod___AOnceExpr___replace_child;
31567 fra.me.has_broke = 0;
31568 fra.me.REG_size = 4;
31569 fra.me.REG[0] = NIT_NULL;
31570 fra.me.REG[1] = NIT_NULL;
31571 fra.me.REG[2] = NIT_NULL;
31572 fra.me.REG[3] = NIT_NULL;
31573 fra.me.REG[0] = p0;
31574 fra.me.REG[1] = p1;
31575 fra.me.REG[2] = p2;
31576 REGB0 = TAG_Bool(ATTR_parser_nodes___AOnceExpr____n_kwonce(fra.me.REG[0])!=NIT_NULL);
31577 /* ./parser//parser_prod.nit:5549 */
31578 if (UNTAG_Bool(REGB0)) {
31579 } else {
31580 fprintf(stderr, "Uninitialized attribute %s", "_n_kwonce");
31581 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5549);
31582 nit_exit(1);
31583 }
31584 fra.me.REG[3] = ATTR_parser_nodes___AOnceExpr____n_kwonce(fra.me.REG[0]);
31585 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
31586 if (UNTAG_Bool(REGB0)) {
31587 } else {
31588 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
31589 REGB0 = REGB1;
31590 }
31591 if (UNTAG_Bool(REGB0)) {
31592 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31593 /* ./parser//parser_prod.nit:5550 */
31594 if (UNTAG_Bool(REGB0)) {
31595 } else {
31596 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31597 if (UNTAG_Bool(REGB1)) {
31598 REGB1 = TAG_Bool(false);
31599 REGB0 = REGB1;
31600 } else {
31601 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
31602 REGB0 = REGB1;
31603 }
31604 }
31605 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
31606 if (UNTAG_Bool(REGB0)) {
31607 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31608 /* ./parser//parser_prod.nit:5551 */
31609 if (UNTAG_Bool(REGB0)) {
31610 fprintf(stderr, "Reciever is null");
31611 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5551);
31612 nit_exit(1);
31613 }
31614 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
31615 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwonce, ID_TKwonce)) /*cast TKwonce*/;
31616 /* ./parser//parser_prod.nit:5552 */
31617 if (UNTAG_Bool(REGB0)) {
31618 } else {
31619 fprintf(stderr, "Assert failed");
31620 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5552);
31621 nit_exit(1);
31622 }
31623 /* ./parser//parser_prod.nit:5553 */
31624 ATTR_parser_nodes___AOnceExpr____n_kwonce(fra.me.REG[0]) = fra.me.REG[2];
31625 } else {
31626 /* ./parser//parser_prod.nit:5555 */
31627 fprintf(stderr, "Aborted");
31628 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5555);
31629 nit_exit(1);
31630 }
31631 /* ./parser//parser_prod.nit:5557 */
31632 goto label1;
31633 }
31634 REGB0 = TAG_Bool(ATTR_parser_nodes___AProxyExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
31635 /* ./parser//parser_prod.nit:5559 */
31636 if (UNTAG_Bool(REGB0)) {
31637 } else {
31638 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
31639 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5559);
31640 nit_exit(1);
31641 }
31642 fra.me.REG[3] = ATTR_parser_nodes___AProxyExpr____n_expr(fra.me.REG[0]);
31643 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
31644 if (UNTAG_Bool(REGB0)) {
31645 } else {
31646 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
31647 REGB0 = REGB1;
31648 }
31649 if (UNTAG_Bool(REGB0)) {
31650 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31651 /* ./parser//parser_prod.nit:5560 */
31652 if (UNTAG_Bool(REGB0)) {
31653 } else {
31654 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31655 if (UNTAG_Bool(REGB1)) {
31656 REGB1 = TAG_Bool(false);
31657 REGB0 = REGB1;
31658 } else {
31659 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
31660 REGB0 = REGB1;
31661 }
31662 }
31663 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
31664 if (UNTAG_Bool(REGB0)) {
31665 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31666 /* ./parser//parser_prod.nit:5561 */
31667 if (UNTAG_Bool(REGB0)) {
31668 fprintf(stderr, "Reciever is null");
31669 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5561);
31670 nit_exit(1);
31671 }
31672 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
31673 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
31674 /* ./parser//parser_prod.nit:5562 */
31675 if (UNTAG_Bool(REGB0)) {
31676 } else {
31677 fprintf(stderr, "Assert failed");
31678 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5562);
31679 nit_exit(1);
31680 }
31681 /* ./parser//parser_prod.nit:5563 */
31682 ATTR_parser_nodes___AProxyExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
31683 } else {
31684 /* ./parser//parser_prod.nit:5565 */
31685 fprintf(stderr, "Aborted");
31686 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5565);
31687 nit_exit(1);
31688 }
31689 /* ./parser//parser_prod.nit:5567 */
31690 goto label1;
31691 }
31692 label1: while(0);
31693 stack_frame_head = fra.me.prev;
31694 return;
31695 }
31696 void parser_prod___AOnceExpr___visit_all(val_t p0, val_t p1){
31697 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
31698 val_t REGB0;
31699 val_t tmp;
31700 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31701 fra.me.file = LOCATE_parser_prod;
31702 fra.me.line = 5571;
31703 fra.me.meth = LOCATE_parser_prod___AOnceExpr___visit_all;
31704 fra.me.has_broke = 0;
31705 fra.me.REG_size = 3;
31706 fra.me.REG[0] = NIT_NULL;
31707 fra.me.REG[1] = NIT_NULL;
31708 fra.me.REG[2] = NIT_NULL;
31709 fra.me.REG[0] = p0;
31710 fra.me.REG[1] = p1;
31711 REGB0 = TAG_Bool(ATTR_parser_nodes___AOnceExpr____n_kwonce(fra.me.REG[0])!=NIT_NULL);
31712 /* ./parser//parser_prod.nit:5573 */
31713 if (UNTAG_Bool(REGB0)) {
31714 } else {
31715 fprintf(stderr, "Uninitialized attribute %s", "_n_kwonce");
31716 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5573);
31717 nit_exit(1);
31718 }
31719 fra.me.REG[2] = ATTR_parser_nodes___AOnceExpr____n_kwonce(fra.me.REG[0]);
31720 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
31721 REGB0 = TAG_Bool(ATTR_parser_nodes___AProxyExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
31722 /* ./parser//parser_prod.nit:5574 */
31723 if (UNTAG_Bool(REGB0)) {
31724 } else {
31725 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
31726 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5574);
31727 nit_exit(1);
31728 }
31729 fra.me.REG[0] = ATTR_parser_nodes___AProxyExpr____n_expr(fra.me.REG[0]);
31730 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
31731 stack_frame_head = fra.me.prev;
31732 return;
31733 }
31734 void parser_prod___AOnceExpr___visit_all_reverse(val_t p0, val_t p1){
31735 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
31736 val_t REGB0;
31737 val_t tmp;
31738 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31739 fra.me.file = LOCATE_parser_prod;
31740 fra.me.line = 5577;
31741 fra.me.meth = LOCATE_parser_prod___AOnceExpr___visit_all_reverse;
31742 fra.me.has_broke = 0;
31743 fra.me.REG_size = 3;
31744 fra.me.REG[0] = NIT_NULL;
31745 fra.me.REG[1] = NIT_NULL;
31746 fra.me.REG[2] = NIT_NULL;
31747 fra.me.REG[0] = p0;
31748 fra.me.REG[1] = p1;
31749 REGB0 = TAG_Bool(ATTR_parser_nodes___AOnceExpr____n_kwonce(fra.me.REG[0])!=NIT_NULL);
31750 /* ./parser//parser_prod.nit:5579 */
31751 if (UNTAG_Bool(REGB0)) {
31752 } else {
31753 fprintf(stderr, "Uninitialized attribute %s", "_n_kwonce");
31754 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5579);
31755 nit_exit(1);
31756 }
31757 fra.me.REG[2] = ATTR_parser_nodes___AOnceExpr____n_kwonce(fra.me.REG[0]);
31758 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
31759 REGB0 = TAG_Bool(ATTR_parser_nodes___AProxyExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
31760 /* ./parser//parser_prod.nit:5580 */
31761 if (UNTAG_Bool(REGB0)) {
31762 } else {
31763 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
31764 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5580);
31765 nit_exit(1);
31766 }
31767 fra.me.REG[0] = ATTR_parser_nodes___AProxyExpr____n_expr(fra.me.REG[0]);
31768 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
31769 stack_frame_head = fra.me.prev;
31770 return;
31771 }
31772 void parser_prod___AOnceExpr___empty_init(val_t p0, int* init_table){
31773 int itpos125 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AOnceExpr].i;
31774 struct {struct stack_frame_t me;} fra;
31775 val_t tmp;
31776 if (init_table[itpos125]) return;
31777 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31778 fra.me.file = LOCATE_parser_prod;
31779 fra.me.line = 5533;
31780 fra.me.meth = LOCATE_parser_prod___AOnceExpr___empty_init;
31781 fra.me.has_broke = 0;
31782 fra.me.REG_size = 1;
31783 fra.me.REG[0] = NIT_NULL;
31784 fra.me.REG[0] = p0;
31785 /* ./parser//parser_prod.nit:5533 */
31786 stack_frame_head = fra.me.prev;
31787 init_table[itpos125] = 1;
31788 return;
31789 }
31790 void parser_prod___AOnceExpr___init_aonceexpr(val_t p0, val_t p1, val_t p2, int* init_table){
31791 int itpos126 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AOnceExpr].i;
31792 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
31793 val_t REGB0;
31794 val_t tmp;
31795 if (init_table[itpos126]) return;
31796 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31797 fra.me.file = LOCATE_parser_prod;
31798 fra.me.line = 5535;
31799 fra.me.meth = LOCATE_parser_prod___AOnceExpr___init_aonceexpr;
31800 fra.me.has_broke = 0;
31801 fra.me.REG_size = 3;
31802 fra.me.REG[0] = NIT_NULL;
31803 fra.me.REG[1] = NIT_NULL;
31804 fra.me.REG[2] = NIT_NULL;
31805 fra.me.REG[0] = p0;
31806 fra.me.REG[1] = p1;
31807 fra.me.REG[2] = p2;
31808 /* ./parser//parser_prod.nit:5540 */
31809 CALL_parser_prod___AOnceExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
31810 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
31811 /* ./parser//parser_prod.nit:5541 */
31812 if (UNTAG_Bool(REGB0)) {
31813 } else {
31814 fprintf(stderr, "Cast failed");
31815 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5541);
31816 nit_exit(1);
31817 }
31818 ATTR_parser_nodes___AOnceExpr____n_kwonce(fra.me.REG[0]) = fra.me.REG[1];
31819 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
31820 /* ./parser//parser_prod.nit:5542 */
31821 if (UNTAG_Bool(REGB0)) {
31822 fprintf(stderr, "Reciever is null");
31823 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5542);
31824 nit_exit(1);
31825 }
31826 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
31827 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
31828 /* ./parser//parser_prod.nit:5543 */
31829 if (UNTAG_Bool(REGB0)) {
31830 } else {
31831 fprintf(stderr, "Cast failed");
31832 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5543);
31833 nit_exit(1);
31834 }
31835 ATTR_parser_nodes___AProxyExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
31836 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31837 /* ./parser//parser_prod.nit:5544 */
31838 if (UNTAG_Bool(REGB0)) {
31839 fprintf(stderr, "Reciever is null");
31840 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5544);
31841 nit_exit(1);
31842 }
31843 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
31844 stack_frame_head = fra.me.prev;
31845 init_table[itpos126] = 1;
31846 return;
31847 }
31848 void parser_prod___ASendExpr___n_expr__eq(val_t p0, val_t p1){
31849 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
31850 val_t tmp;
31851 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31852 fra.me.file = LOCATE_parser_prod;
31853 fra.me.line = 5584;
31854 fra.me.meth = LOCATE_parser_prod___ASendExpr___n_expr__eq;
31855 fra.me.has_broke = 0;
31856 fra.me.REG_size = 2;
31857 fra.me.REG[0] = NIT_NULL;
31858 fra.me.REG[1] = NIT_NULL;
31859 fra.me.REG[0] = p0;
31860 fra.me.REG[1] = p1;
31861 /* ./parser//parser_prod.nit:5586 */
31862 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
31863 /* ./parser//parser_prod.nit:5587 */
31864 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
31865 stack_frame_head = fra.me.prev;
31866 return;
31867 }
31868 void parser_prod___ASendExpr___replace_child(val_t p0, val_t p1, val_t p2){
31869 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
31870 val_t REGB0;
31871 val_t REGB1;
31872 val_t tmp;
31873 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31874 fra.me.file = LOCATE_parser_prod;
31875 fra.me.line = 5601;
31876 fra.me.meth = LOCATE_parser_prod___ASendExpr___replace_child;
31877 fra.me.has_broke = 0;
31878 fra.me.REG_size = 4;
31879 fra.me.REG[0] = NIT_NULL;
31880 fra.me.REG[1] = NIT_NULL;
31881 fra.me.REG[2] = NIT_NULL;
31882 fra.me.REG[3] = NIT_NULL;
31883 fra.me.REG[0] = p0;
31884 fra.me.REG[1] = p1;
31885 fra.me.REG[2] = p2;
31886 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
31887 /* ./parser//parser_prod.nit:5603 */
31888 if (UNTAG_Bool(REGB0)) {
31889 } else {
31890 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
31891 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5603);
31892 nit_exit(1);
31893 }
31894 fra.me.REG[3] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
31895 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
31896 if (UNTAG_Bool(REGB0)) {
31897 } else {
31898 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
31899 REGB0 = REGB1;
31900 }
31901 if (UNTAG_Bool(REGB0)) {
31902 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31903 /* ./parser//parser_prod.nit:5604 */
31904 if (UNTAG_Bool(REGB0)) {
31905 } else {
31906 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31907 if (UNTAG_Bool(REGB1)) {
31908 REGB1 = TAG_Bool(false);
31909 REGB0 = REGB1;
31910 } else {
31911 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
31912 REGB0 = REGB1;
31913 }
31914 }
31915 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
31916 if (UNTAG_Bool(REGB0)) {
31917 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
31918 /* ./parser//parser_prod.nit:5605 */
31919 if (UNTAG_Bool(REGB0)) {
31920 fprintf(stderr, "Reciever is null");
31921 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5605);
31922 nit_exit(1);
31923 }
31924 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
31925 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
31926 /* ./parser//parser_prod.nit:5606 */
31927 if (UNTAG_Bool(REGB0)) {
31928 } else {
31929 fprintf(stderr, "Assert failed");
31930 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5606);
31931 nit_exit(1);
31932 }
31933 /* ./parser//parser_prod.nit:5607 */
31934 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
31935 } else {
31936 /* ./parser//parser_prod.nit:5609 */
31937 fprintf(stderr, "Aborted");
31938 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5609);
31939 nit_exit(1);
31940 }
31941 /* ./parser//parser_prod.nit:5611 */
31942 goto label1;
31943 }
31944 label1: while(0);
31945 stack_frame_head = fra.me.prev;
31946 return;
31947 }
31948 void parser_prod___ASendExpr___visit_all(val_t p0, val_t p1){
31949 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
31950 val_t REGB0;
31951 val_t tmp;
31952 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31953 fra.me.file = LOCATE_parser_prod;
31954 fra.me.line = 5615;
31955 fra.me.meth = LOCATE_parser_prod___ASendExpr___visit_all;
31956 fra.me.has_broke = 0;
31957 fra.me.REG_size = 2;
31958 fra.me.REG[0] = NIT_NULL;
31959 fra.me.REG[1] = NIT_NULL;
31960 fra.me.REG[0] = p0;
31961 fra.me.REG[1] = p1;
31962 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
31963 /* ./parser//parser_prod.nit:5617 */
31964 if (UNTAG_Bool(REGB0)) {
31965 } else {
31966 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
31967 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5617);
31968 nit_exit(1);
31969 }
31970 fra.me.REG[0] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
31971 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
31972 stack_frame_head = fra.me.prev;
31973 return;
31974 }
31975 void parser_prod___ASendExpr___visit_all_reverse(val_t p0, val_t p1){
31976 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
31977 val_t REGB0;
31978 val_t tmp;
31979 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
31980 fra.me.file = LOCATE_parser_prod;
31981 fra.me.line = 5620;
31982 fra.me.meth = LOCATE_parser_prod___ASendExpr___visit_all_reverse;
31983 fra.me.has_broke = 0;
31984 fra.me.REG_size = 2;
31985 fra.me.REG[0] = NIT_NULL;
31986 fra.me.REG[1] = NIT_NULL;
31987 fra.me.REG[0] = p0;
31988 fra.me.REG[1] = p1;
31989 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
31990 /* ./parser//parser_prod.nit:5622 */
31991 if (UNTAG_Bool(REGB0)) {
31992 } else {
31993 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
31994 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5622);
31995 nit_exit(1);
31996 }
31997 fra.me.REG[0] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
31998 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
31999 stack_frame_head = fra.me.prev;
32000 return;
32001 }
32002 void parser_prod___ASendExpr___empty_init(val_t p0, int* init_table){
32003 int itpos127 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ASendExpr].i;
32004 struct {struct stack_frame_t me;} fra;
32005 val_t tmp;
32006 if (init_table[itpos127]) return;
32007 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32008 fra.me.file = LOCATE_parser_prod;
32009 fra.me.line = 5590;
32010 fra.me.meth = LOCATE_parser_prod___ASendExpr___empty_init;
32011 fra.me.has_broke = 0;
32012 fra.me.REG_size = 1;
32013 fra.me.REG[0] = NIT_NULL;
32014 fra.me.REG[0] = p0;
32015 /* ./parser//parser_prod.nit:5590 */
32016 stack_frame_head = fra.me.prev;
32017 init_table[itpos127] = 1;
32018 return;
32019 }
32020 void parser_prod___ASendExpr___init_asendexpr(val_t p0, val_t p1, int* init_table){
32021 int itpos128 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ASendExpr].i;
32022 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
32023 val_t REGB0;
32024 val_t tmp;
32025 if (init_table[itpos128]) return;
32026 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32027 fra.me.file = LOCATE_parser_prod;
32028 fra.me.line = 5592;
32029 fra.me.meth = LOCATE_parser_prod___ASendExpr___init_asendexpr;
32030 fra.me.has_broke = 0;
32031 fra.me.REG_size = 2;
32032 fra.me.REG[0] = NIT_NULL;
32033 fra.me.REG[1] = NIT_NULL;
32034 fra.me.REG[0] = p0;
32035 fra.me.REG[1] = p1;
32036 /* ./parser//parser_prod.nit:5596 */
32037 CALL_parser_prod___ASendExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
32038 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
32039 /* ./parser//parser_prod.nit:5597 */
32040 if (UNTAG_Bool(REGB0)) {
32041 } else {
32042 fprintf(stderr, "Cast failed");
32043 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5597);
32044 nit_exit(1);
32045 }
32046 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
32047 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
32048 /* ./parser//parser_prod.nit:5598 */
32049 if (UNTAG_Bool(REGB0)) {
32050 fprintf(stderr, "Reciever is null");
32051 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5598);
32052 nit_exit(1);
32053 }
32054 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
32055 stack_frame_head = fra.me.prev;
32056 init_table[itpos128] = 1;
32057 return;
32058 }
32059 void parser_prod___ABinopExpr___n_expr__eq(val_t p0, val_t p1){
32060 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
32061 val_t tmp;
32062 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32063 fra.me.file = LOCATE_parser_prod;
32064 fra.me.line = 5626;
32065 fra.me.meth = LOCATE_parser_prod___ABinopExpr___n_expr__eq;
32066 fra.me.has_broke = 0;
32067 fra.me.REG_size = 2;
32068 fra.me.REG[0] = NIT_NULL;
32069 fra.me.REG[1] = NIT_NULL;
32070 fra.me.REG[0] = p0;
32071 fra.me.REG[1] = p1;
32072 /* ./parser//parser_prod.nit:5628 */
32073 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
32074 /* ./parser//parser_prod.nit:5629 */
32075 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
32076 stack_frame_head = fra.me.prev;
32077 return;
32078 }
32079 void parser_prod___ABinopExpr___n_expr2__eq(val_t p0, val_t p1){
32080 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
32081 val_t tmp;
32082 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32083 fra.me.file = LOCATE_parser_prod;
32084 fra.me.line = 5631;
32085 fra.me.meth = LOCATE_parser_prod___ABinopExpr___n_expr2__eq;
32086 fra.me.has_broke = 0;
32087 fra.me.REG_size = 2;
32088 fra.me.REG[0] = NIT_NULL;
32089 fra.me.REG[1] = NIT_NULL;
32090 fra.me.REG[0] = p0;
32091 fra.me.REG[1] = p1;
32092 /* ./parser//parser_prod.nit:5633 */
32093 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[1];
32094 /* ./parser//parser_prod.nit:5634 */
32095 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
32096 stack_frame_head = fra.me.prev;
32097 return;
32098 }
32099 void parser_prod___ABinopExpr___replace_child(val_t p0, val_t p1, val_t p2){
32100 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
32101 val_t REGB0;
32102 val_t REGB1;
32103 val_t tmp;
32104 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32105 fra.me.file = LOCATE_parser_prod;
32106 fra.me.line = 5651;
32107 fra.me.meth = LOCATE_parser_prod___ABinopExpr___replace_child;
32108 fra.me.has_broke = 0;
32109 fra.me.REG_size = 4;
32110 fra.me.REG[0] = NIT_NULL;
32111 fra.me.REG[1] = NIT_NULL;
32112 fra.me.REG[2] = NIT_NULL;
32113 fra.me.REG[3] = NIT_NULL;
32114 fra.me.REG[0] = p0;
32115 fra.me.REG[1] = p1;
32116 fra.me.REG[2] = p2;
32117 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
32118 /* ./parser//parser_prod.nit:5653 */
32119 if (UNTAG_Bool(REGB0)) {
32120 } else {
32121 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
32122 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5653);
32123 nit_exit(1);
32124 }
32125 fra.me.REG[3] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
32126 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
32127 if (UNTAG_Bool(REGB0)) {
32128 } else {
32129 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
32130 REGB0 = REGB1;
32131 }
32132 if (UNTAG_Bool(REGB0)) {
32133 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
32134 /* ./parser//parser_prod.nit:5654 */
32135 if (UNTAG_Bool(REGB0)) {
32136 } else {
32137 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
32138 if (UNTAG_Bool(REGB1)) {
32139 REGB1 = TAG_Bool(false);
32140 REGB0 = REGB1;
32141 } else {
32142 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
32143 REGB0 = REGB1;
32144 }
32145 }
32146 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
32147 if (UNTAG_Bool(REGB0)) {
32148 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
32149 /* ./parser//parser_prod.nit:5655 */
32150 if (UNTAG_Bool(REGB0)) {
32151 fprintf(stderr, "Reciever is null");
32152 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5655);
32153 nit_exit(1);
32154 }
32155 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
32156 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
32157 /* ./parser//parser_prod.nit:5656 */
32158 if (UNTAG_Bool(REGB0)) {
32159 } else {
32160 fprintf(stderr, "Assert failed");
32161 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5656);
32162 nit_exit(1);
32163 }
32164 /* ./parser//parser_prod.nit:5657 */
32165 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
32166 } else {
32167 /* ./parser//parser_prod.nit:5659 */
32168 fprintf(stderr, "Aborted");
32169 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5659);
32170 nit_exit(1);
32171 }
32172 /* ./parser//parser_prod.nit:5661 */
32173 goto label1;
32174 }
32175 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
32176 /* ./parser//parser_prod.nit:5663 */
32177 if (UNTAG_Bool(REGB0)) {
32178 } else {
32179 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
32180 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5663);
32181 nit_exit(1);
32182 }
32183 fra.me.REG[3] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
32184 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
32185 if (UNTAG_Bool(REGB0)) {
32186 } else {
32187 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
32188 REGB0 = REGB1;
32189 }
32190 if (UNTAG_Bool(REGB0)) {
32191 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
32192 /* ./parser//parser_prod.nit:5664 */
32193 if (UNTAG_Bool(REGB0)) {
32194 } else {
32195 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
32196 if (UNTAG_Bool(REGB1)) {
32197 REGB1 = TAG_Bool(false);
32198 REGB0 = REGB1;
32199 } else {
32200 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
32201 REGB0 = REGB1;
32202 }
32203 }
32204 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
32205 if (UNTAG_Bool(REGB0)) {
32206 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
32207 /* ./parser//parser_prod.nit:5665 */
32208 if (UNTAG_Bool(REGB0)) {
32209 fprintf(stderr, "Reciever is null");
32210 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5665);
32211 nit_exit(1);
32212 }
32213 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
32214 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
32215 /* ./parser//parser_prod.nit:5666 */
32216 if (UNTAG_Bool(REGB0)) {
32217 } else {
32218 fprintf(stderr, "Assert failed");
32219 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5666);
32220 nit_exit(1);
32221 }
32222 /* ./parser//parser_prod.nit:5667 */
32223 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
32224 } else {
32225 /* ./parser//parser_prod.nit:5669 */
32226 fprintf(stderr, "Aborted");
32227 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5669);
32228 nit_exit(1);
32229 }
32230 /* ./parser//parser_prod.nit:5671 */
32231 goto label1;
32232 }
32233 label1: while(0);
32234 stack_frame_head = fra.me.prev;
32235 return;
32236 }
32237 void parser_prod___ABinopExpr___visit_all(val_t p0, val_t p1){
32238 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
32239 val_t REGB0;
32240 val_t tmp;
32241 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32242 fra.me.file = LOCATE_parser_prod;
32243 fra.me.line = 5675;
32244 fra.me.meth = LOCATE_parser_prod___ABinopExpr___visit_all;
32245 fra.me.has_broke = 0;
32246 fra.me.REG_size = 3;
32247 fra.me.REG[0] = NIT_NULL;
32248 fra.me.REG[1] = NIT_NULL;
32249 fra.me.REG[2] = NIT_NULL;
32250 fra.me.REG[0] = p0;
32251 fra.me.REG[1] = p1;
32252 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
32253 /* ./parser//parser_prod.nit:5677 */
32254 if (UNTAG_Bool(REGB0)) {
32255 } else {
32256 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
32257 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5677);
32258 nit_exit(1);
32259 }
32260 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
32261 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
32262 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
32263 /* ./parser//parser_prod.nit:5678 */
32264 if (UNTAG_Bool(REGB0)) {
32265 } else {
32266 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
32267 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5678);
32268 nit_exit(1);
32269 }
32270 fra.me.REG[0] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
32271 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
32272 stack_frame_head = fra.me.prev;
32273 return;
32274 }
32275 void parser_prod___ABinopExpr___visit_all_reverse(val_t p0, val_t p1){
32276 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
32277 val_t REGB0;
32278 val_t tmp;
32279 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32280 fra.me.file = LOCATE_parser_prod;
32281 fra.me.line = 5681;
32282 fra.me.meth = LOCATE_parser_prod___ABinopExpr___visit_all_reverse;
32283 fra.me.has_broke = 0;
32284 fra.me.REG_size = 3;
32285 fra.me.REG[0] = NIT_NULL;
32286 fra.me.REG[1] = NIT_NULL;
32287 fra.me.REG[2] = NIT_NULL;
32288 fra.me.REG[0] = p0;
32289 fra.me.REG[1] = p1;
32290 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
32291 /* ./parser//parser_prod.nit:5683 */
32292 if (UNTAG_Bool(REGB0)) {
32293 } else {
32294 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
32295 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5683);
32296 nit_exit(1);
32297 }
32298 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
32299 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
32300 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
32301 /* ./parser//parser_prod.nit:5684 */
32302 if (UNTAG_Bool(REGB0)) {
32303 } else {
32304 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
32305 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5684);
32306 nit_exit(1);
32307 }
32308 fra.me.REG[0] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
32309 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
32310 stack_frame_head = fra.me.prev;
32311 return;
32312 }
32313 void parser_prod___ABinopExpr___empty_init(val_t p0, int* init_table){
32314 int itpos129 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ABinopExpr].i;
32315 struct {struct stack_frame_t me;} fra;
32316 val_t tmp;
32317 if (init_table[itpos129]) return;
32318 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32319 fra.me.file = LOCATE_parser_prod;
32320 fra.me.line = 5637;
32321 fra.me.meth = LOCATE_parser_prod___ABinopExpr___empty_init;
32322 fra.me.has_broke = 0;
32323 fra.me.REG_size = 1;
32324 fra.me.REG[0] = NIT_NULL;
32325 fra.me.REG[0] = p0;
32326 /* ./parser//parser_prod.nit:5637 */
32327 stack_frame_head = fra.me.prev;
32328 init_table[itpos129] = 1;
32329 return;
32330 }
32331 void parser_prod___ABinopExpr___init_abinopexpr(val_t p0, val_t p1, val_t p2, int* init_table){
32332 int itpos130 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ABinopExpr].i;
32333 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
32334 val_t REGB0;
32335 val_t tmp;
32336 if (init_table[itpos130]) return;
32337 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32338 fra.me.file = LOCATE_parser_prod;
32339 fra.me.line = 5639;
32340 fra.me.meth = LOCATE_parser_prod___ABinopExpr___init_abinopexpr;
32341 fra.me.has_broke = 0;
32342 fra.me.REG_size = 3;
32343 fra.me.REG[0] = NIT_NULL;
32344 fra.me.REG[1] = NIT_NULL;
32345 fra.me.REG[2] = NIT_NULL;
32346 fra.me.REG[0] = p0;
32347 fra.me.REG[1] = p1;
32348 fra.me.REG[2] = p2;
32349 /* ./parser//parser_prod.nit:5644 */
32350 CALL_parser_prod___ABinopExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
32351 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
32352 /* ./parser//parser_prod.nit:5645 */
32353 if (UNTAG_Bool(REGB0)) {
32354 } else {
32355 fprintf(stderr, "Cast failed");
32356 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5645);
32357 nit_exit(1);
32358 }
32359 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
32360 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
32361 /* ./parser//parser_prod.nit:5646 */
32362 if (UNTAG_Bool(REGB0)) {
32363 fprintf(stderr, "Reciever is null");
32364 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5646);
32365 nit_exit(1);
32366 }
32367 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
32368 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
32369 /* ./parser//parser_prod.nit:5647 */
32370 if (UNTAG_Bool(REGB0)) {
32371 } else {
32372 fprintf(stderr, "Cast failed");
32373 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5647);
32374 nit_exit(1);
32375 }
32376 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
32377 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
32378 /* ./parser//parser_prod.nit:5648 */
32379 if (UNTAG_Bool(REGB0)) {
32380 fprintf(stderr, "Reciever is null");
32381 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5648);
32382 nit_exit(1);
32383 }
32384 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
32385 stack_frame_head = fra.me.prev;
32386 init_table[itpos130] = 1;
32387 return;
32388 }
32389 void parser_prod___AOrExpr___n_expr__eq(val_t p0, val_t p1){
32390 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
32391 val_t tmp;
32392 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32393 fra.me.file = LOCATE_parser_prod;
32394 fra.me.line = 5688;
32395 fra.me.meth = LOCATE_parser_prod___AOrExpr___n_expr__eq;
32396 fra.me.has_broke = 0;
32397 fra.me.REG_size = 2;
32398 fra.me.REG[0] = NIT_NULL;
32399 fra.me.REG[1] = NIT_NULL;
32400 fra.me.REG[0] = p0;
32401 fra.me.REG[1] = p1;
32402 /* ./parser//parser_prod.nit:5690 */
32403 ATTR_parser_nodes___AOrExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
32404 /* ./parser//parser_prod.nit:5691 */
32405 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
32406 stack_frame_head = fra.me.prev;
32407 return;
32408 }
32409 void parser_prod___AOrExpr___n_expr2__eq(val_t p0, val_t p1){
32410 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
32411 val_t tmp;
32412 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32413 fra.me.file = LOCATE_parser_prod;
32414 fra.me.line = 5693;
32415 fra.me.meth = LOCATE_parser_prod___AOrExpr___n_expr2__eq;
32416 fra.me.has_broke = 0;
32417 fra.me.REG_size = 2;
32418 fra.me.REG[0] = NIT_NULL;
32419 fra.me.REG[1] = NIT_NULL;
32420 fra.me.REG[0] = p0;
32421 fra.me.REG[1] = p1;
32422 /* ./parser//parser_prod.nit:5695 */
32423 ATTR_parser_nodes___AOrExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[1];
32424 /* ./parser//parser_prod.nit:5696 */
32425 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
32426 stack_frame_head = fra.me.prev;
32427 return;
32428 }
32429 void parser_prod___AOrExpr___replace_child(val_t p0, val_t p1, val_t p2){
32430 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
32431 val_t REGB0;
32432 val_t REGB1;
32433 val_t tmp;
32434 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32435 fra.me.file = LOCATE_parser_prod;
32436 fra.me.line = 5713;
32437 fra.me.meth = LOCATE_parser_prod___AOrExpr___replace_child;
32438 fra.me.has_broke = 0;
32439 fra.me.REG_size = 4;
32440 fra.me.REG[0] = NIT_NULL;
32441 fra.me.REG[1] = NIT_NULL;
32442 fra.me.REG[2] = NIT_NULL;
32443 fra.me.REG[3] = NIT_NULL;
32444 fra.me.REG[0] = p0;
32445 fra.me.REG[1] = p1;
32446 fra.me.REG[2] = p2;
32447 REGB0 = TAG_Bool(ATTR_parser_nodes___AOrExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
32448 /* ./parser//parser_prod.nit:5715 */
32449 if (UNTAG_Bool(REGB0)) {
32450 } else {
32451 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
32452 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5715);
32453 nit_exit(1);
32454 }
32455 fra.me.REG[3] = ATTR_parser_nodes___AOrExpr____n_expr(fra.me.REG[0]);
32456 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
32457 if (UNTAG_Bool(REGB0)) {
32458 } else {
32459 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
32460 REGB0 = REGB1;
32461 }
32462 if (UNTAG_Bool(REGB0)) {
32463 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
32464 /* ./parser//parser_prod.nit:5716 */
32465 if (UNTAG_Bool(REGB0)) {
32466 } else {
32467 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
32468 if (UNTAG_Bool(REGB1)) {
32469 REGB1 = TAG_Bool(false);
32470 REGB0 = REGB1;
32471 } else {
32472 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
32473 REGB0 = REGB1;
32474 }
32475 }
32476 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
32477 if (UNTAG_Bool(REGB0)) {
32478 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
32479 /* ./parser//parser_prod.nit:5717 */
32480 if (UNTAG_Bool(REGB0)) {
32481 fprintf(stderr, "Reciever is null");
32482 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5717);
32483 nit_exit(1);
32484 }
32485 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
32486 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
32487 /* ./parser//parser_prod.nit:5718 */
32488 if (UNTAG_Bool(REGB0)) {
32489 } else {
32490 fprintf(stderr, "Assert failed");
32491 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5718);
32492 nit_exit(1);
32493 }
32494 /* ./parser//parser_prod.nit:5719 */
32495 ATTR_parser_nodes___AOrExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
32496 } else {
32497 /* ./parser//parser_prod.nit:5721 */
32498 fprintf(stderr, "Aborted");
32499 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5721);
32500 nit_exit(1);
32501 }
32502 /* ./parser//parser_prod.nit:5723 */
32503 goto label1;
32504 }
32505 REGB0 = TAG_Bool(ATTR_parser_nodes___AOrExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
32506 /* ./parser//parser_prod.nit:5725 */
32507 if (UNTAG_Bool(REGB0)) {
32508 } else {
32509 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
32510 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5725);
32511 nit_exit(1);
32512 }
32513 fra.me.REG[3] = ATTR_parser_nodes___AOrExpr____n_expr2(fra.me.REG[0]);
32514 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
32515 if (UNTAG_Bool(REGB0)) {
32516 } else {
32517 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
32518 REGB0 = REGB1;
32519 }
32520 if (UNTAG_Bool(REGB0)) {
32521 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
32522 /* ./parser//parser_prod.nit:5726 */
32523 if (UNTAG_Bool(REGB0)) {
32524 } else {
32525 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
32526 if (UNTAG_Bool(REGB1)) {
32527 REGB1 = TAG_Bool(false);
32528 REGB0 = REGB1;
32529 } else {
32530 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
32531 REGB0 = REGB1;
32532 }
32533 }
32534 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
32535 if (UNTAG_Bool(REGB0)) {
32536 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
32537 /* ./parser//parser_prod.nit:5727 */
32538 if (UNTAG_Bool(REGB0)) {
32539 fprintf(stderr, "Reciever is null");
32540 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5727);
32541 nit_exit(1);
32542 }
32543 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
32544 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
32545 /* ./parser//parser_prod.nit:5728 */
32546 if (UNTAG_Bool(REGB0)) {
32547 } else {
32548 fprintf(stderr, "Assert failed");
32549 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5728);
32550 nit_exit(1);
32551 }
32552 /* ./parser//parser_prod.nit:5729 */
32553 ATTR_parser_nodes___AOrExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
32554 } else {
32555 /* ./parser//parser_prod.nit:5731 */
32556 fprintf(stderr, "Aborted");
32557 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5731);
32558 nit_exit(1);
32559 }
32560 /* ./parser//parser_prod.nit:5733 */
32561 goto label1;
32562 }
32563 label1: while(0);
32564 stack_frame_head = fra.me.prev;
32565 return;
32566 }
32567 void parser_prod___AOrExpr___visit_all(val_t p0, val_t p1){
32568 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
32569 val_t REGB0;
32570 val_t tmp;
32571 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32572 fra.me.file = LOCATE_parser_prod;
32573 fra.me.line = 5737;
32574 fra.me.meth = LOCATE_parser_prod___AOrExpr___visit_all;
32575 fra.me.has_broke = 0;
32576 fra.me.REG_size = 3;
32577 fra.me.REG[0] = NIT_NULL;
32578 fra.me.REG[1] = NIT_NULL;
32579 fra.me.REG[2] = NIT_NULL;
32580 fra.me.REG[0] = p0;
32581 fra.me.REG[1] = p1;
32582 REGB0 = TAG_Bool(ATTR_parser_nodes___AOrExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
32583 /* ./parser//parser_prod.nit:5739 */
32584 if (UNTAG_Bool(REGB0)) {
32585 } else {
32586 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
32587 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5739);
32588 nit_exit(1);
32589 }
32590 fra.me.REG[2] = ATTR_parser_nodes___AOrExpr____n_expr(fra.me.REG[0]);
32591 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
32592 REGB0 = TAG_Bool(ATTR_parser_nodes___AOrExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
32593 /* ./parser//parser_prod.nit:5740 */
32594 if (UNTAG_Bool(REGB0)) {
32595 } else {
32596 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
32597 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5740);
32598 nit_exit(1);
32599 }
32600 fra.me.REG[0] = ATTR_parser_nodes___AOrExpr____n_expr2(fra.me.REG[0]);
32601 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
32602 stack_frame_head = fra.me.prev;
32603 return;
32604 }
32605 void parser_prod___AOrExpr___visit_all_reverse(val_t p0, val_t p1){
32606 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
32607 val_t REGB0;
32608 val_t tmp;
32609 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32610 fra.me.file = LOCATE_parser_prod;
32611 fra.me.line = 5743;
32612 fra.me.meth = LOCATE_parser_prod___AOrExpr___visit_all_reverse;
32613 fra.me.has_broke = 0;
32614 fra.me.REG_size = 3;
32615 fra.me.REG[0] = NIT_NULL;
32616 fra.me.REG[1] = NIT_NULL;
32617 fra.me.REG[2] = NIT_NULL;
32618 fra.me.REG[0] = p0;
32619 fra.me.REG[1] = p1;
32620 REGB0 = TAG_Bool(ATTR_parser_nodes___AOrExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
32621 /* ./parser//parser_prod.nit:5745 */
32622 if (UNTAG_Bool(REGB0)) {
32623 } else {
32624 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
32625 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5745);
32626 nit_exit(1);
32627 }
32628 fra.me.REG[2] = ATTR_parser_nodes___AOrExpr____n_expr(fra.me.REG[0]);
32629 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
32630 REGB0 = TAG_Bool(ATTR_parser_nodes___AOrExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
32631 /* ./parser//parser_prod.nit:5746 */
32632 if (UNTAG_Bool(REGB0)) {
32633 } else {
32634 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
32635 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5746);
32636 nit_exit(1);
32637 }
32638 fra.me.REG[0] = ATTR_parser_nodes___AOrExpr____n_expr2(fra.me.REG[0]);
32639 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
32640 stack_frame_head = fra.me.prev;
32641 return;
32642 }
32643 void parser_prod___AOrExpr___empty_init(val_t p0, int* init_table){
32644 int itpos131 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AOrExpr].i;
32645 struct {struct stack_frame_t me;} fra;
32646 val_t tmp;
32647 if (init_table[itpos131]) return;
32648 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32649 fra.me.file = LOCATE_parser_prod;
32650 fra.me.line = 5699;
32651 fra.me.meth = LOCATE_parser_prod___AOrExpr___empty_init;
32652 fra.me.has_broke = 0;
32653 fra.me.REG_size = 1;
32654 fra.me.REG[0] = NIT_NULL;
32655 fra.me.REG[0] = p0;
32656 /* ./parser//parser_prod.nit:5699 */
32657 stack_frame_head = fra.me.prev;
32658 init_table[itpos131] = 1;
32659 return;
32660 }
32661 void parser_prod___AOrExpr___init_aorexpr(val_t p0, val_t p1, val_t p2, int* init_table){
32662 int itpos132 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AOrExpr].i;
32663 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
32664 val_t REGB0;
32665 val_t tmp;
32666 if (init_table[itpos132]) return;
32667 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32668 fra.me.file = LOCATE_parser_prod;
32669 fra.me.line = 5701;
32670 fra.me.meth = LOCATE_parser_prod___AOrExpr___init_aorexpr;
32671 fra.me.has_broke = 0;
32672 fra.me.REG_size = 3;
32673 fra.me.REG[0] = NIT_NULL;
32674 fra.me.REG[1] = NIT_NULL;
32675 fra.me.REG[2] = NIT_NULL;
32676 fra.me.REG[0] = p0;
32677 fra.me.REG[1] = p1;
32678 fra.me.REG[2] = p2;
32679 /* ./parser//parser_prod.nit:5706 */
32680 CALL_parser_prod___AOrExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
32681 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
32682 /* ./parser//parser_prod.nit:5707 */
32683 if (UNTAG_Bool(REGB0)) {
32684 } else {
32685 fprintf(stderr, "Cast failed");
32686 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5707);
32687 nit_exit(1);
32688 }
32689 ATTR_parser_nodes___AOrExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
32690 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
32691 /* ./parser//parser_prod.nit:5708 */
32692 if (UNTAG_Bool(REGB0)) {
32693 fprintf(stderr, "Reciever is null");
32694 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5708);
32695 nit_exit(1);
32696 }
32697 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
32698 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
32699 /* ./parser//parser_prod.nit:5709 */
32700 if (UNTAG_Bool(REGB0)) {
32701 } else {
32702 fprintf(stderr, "Cast failed");
32703 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5709);
32704 nit_exit(1);
32705 }
32706 ATTR_parser_nodes___AOrExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
32707 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
32708 /* ./parser//parser_prod.nit:5710 */
32709 if (UNTAG_Bool(REGB0)) {
32710 fprintf(stderr, "Reciever is null");
32711 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5710);
32712 nit_exit(1);
32713 }
32714 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
32715 stack_frame_head = fra.me.prev;
32716 init_table[itpos132] = 1;
32717 return;
32718 }
32719 void parser_prod___AAndExpr___n_expr__eq(val_t p0, val_t p1){
32720 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
32721 val_t tmp;
32722 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32723 fra.me.file = LOCATE_parser_prod;
32724 fra.me.line = 5750;
32725 fra.me.meth = LOCATE_parser_prod___AAndExpr___n_expr__eq;
32726 fra.me.has_broke = 0;
32727 fra.me.REG_size = 2;
32728 fra.me.REG[0] = NIT_NULL;
32729 fra.me.REG[1] = NIT_NULL;
32730 fra.me.REG[0] = p0;
32731 fra.me.REG[1] = p1;
32732 /* ./parser//parser_prod.nit:5752 */
32733 ATTR_parser_nodes___AAndExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
32734 /* ./parser//parser_prod.nit:5753 */
32735 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
32736 stack_frame_head = fra.me.prev;
32737 return;
32738 }
32739 void parser_prod___AAndExpr___n_expr2__eq(val_t p0, val_t p1){
32740 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
32741 val_t tmp;
32742 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32743 fra.me.file = LOCATE_parser_prod;
32744 fra.me.line = 5755;
32745 fra.me.meth = LOCATE_parser_prod___AAndExpr___n_expr2__eq;
32746 fra.me.has_broke = 0;
32747 fra.me.REG_size = 2;
32748 fra.me.REG[0] = NIT_NULL;
32749 fra.me.REG[1] = NIT_NULL;
32750 fra.me.REG[0] = p0;
32751 fra.me.REG[1] = p1;
32752 /* ./parser//parser_prod.nit:5757 */
32753 ATTR_parser_nodes___AAndExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[1];
32754 /* ./parser//parser_prod.nit:5758 */
32755 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
32756 stack_frame_head = fra.me.prev;
32757 return;
32758 }
32759 void parser_prod___AAndExpr___replace_child(val_t p0, val_t p1, val_t p2){
32760 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
32761 val_t REGB0;
32762 val_t REGB1;
32763 val_t tmp;
32764 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32765 fra.me.file = LOCATE_parser_prod;
32766 fra.me.line = 5775;
32767 fra.me.meth = LOCATE_parser_prod___AAndExpr___replace_child;
32768 fra.me.has_broke = 0;
32769 fra.me.REG_size = 4;
32770 fra.me.REG[0] = NIT_NULL;
32771 fra.me.REG[1] = NIT_NULL;
32772 fra.me.REG[2] = NIT_NULL;
32773 fra.me.REG[3] = NIT_NULL;
32774 fra.me.REG[0] = p0;
32775 fra.me.REG[1] = p1;
32776 fra.me.REG[2] = p2;
32777 REGB0 = TAG_Bool(ATTR_parser_nodes___AAndExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
32778 /* ./parser//parser_prod.nit:5777 */
32779 if (UNTAG_Bool(REGB0)) {
32780 } else {
32781 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
32782 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5777);
32783 nit_exit(1);
32784 }
32785 fra.me.REG[3] = ATTR_parser_nodes___AAndExpr____n_expr(fra.me.REG[0]);
32786 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
32787 if (UNTAG_Bool(REGB0)) {
32788 } else {
32789 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
32790 REGB0 = REGB1;
32791 }
32792 if (UNTAG_Bool(REGB0)) {
32793 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
32794 /* ./parser//parser_prod.nit:5778 */
32795 if (UNTAG_Bool(REGB0)) {
32796 } else {
32797 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
32798 if (UNTAG_Bool(REGB1)) {
32799 REGB1 = TAG_Bool(false);
32800 REGB0 = REGB1;
32801 } else {
32802 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
32803 REGB0 = REGB1;
32804 }
32805 }
32806 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
32807 if (UNTAG_Bool(REGB0)) {
32808 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
32809 /* ./parser//parser_prod.nit:5779 */
32810 if (UNTAG_Bool(REGB0)) {
32811 fprintf(stderr, "Reciever is null");
32812 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5779);
32813 nit_exit(1);
32814 }
32815 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
32816 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
32817 /* ./parser//parser_prod.nit:5780 */
32818 if (UNTAG_Bool(REGB0)) {
32819 } else {
32820 fprintf(stderr, "Assert failed");
32821 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5780);
32822 nit_exit(1);
32823 }
32824 /* ./parser//parser_prod.nit:5781 */
32825 ATTR_parser_nodes___AAndExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
32826 } else {
32827 /* ./parser//parser_prod.nit:5783 */
32828 fprintf(stderr, "Aborted");
32829 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5783);
32830 nit_exit(1);
32831 }
32832 /* ./parser//parser_prod.nit:5785 */
32833 goto label1;
32834 }
32835 REGB0 = TAG_Bool(ATTR_parser_nodes___AAndExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
32836 /* ./parser//parser_prod.nit:5787 */
32837 if (UNTAG_Bool(REGB0)) {
32838 } else {
32839 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
32840 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5787);
32841 nit_exit(1);
32842 }
32843 fra.me.REG[3] = ATTR_parser_nodes___AAndExpr____n_expr2(fra.me.REG[0]);
32844 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
32845 if (UNTAG_Bool(REGB0)) {
32846 } else {
32847 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
32848 REGB0 = REGB1;
32849 }
32850 if (UNTAG_Bool(REGB0)) {
32851 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
32852 /* ./parser//parser_prod.nit:5788 */
32853 if (UNTAG_Bool(REGB0)) {
32854 } else {
32855 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
32856 if (UNTAG_Bool(REGB1)) {
32857 REGB1 = TAG_Bool(false);
32858 REGB0 = REGB1;
32859 } else {
32860 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
32861 REGB0 = REGB1;
32862 }
32863 }
32864 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
32865 if (UNTAG_Bool(REGB0)) {
32866 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
32867 /* ./parser//parser_prod.nit:5789 */
32868 if (UNTAG_Bool(REGB0)) {
32869 fprintf(stderr, "Reciever is null");
32870 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5789);
32871 nit_exit(1);
32872 }
32873 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
32874 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
32875 /* ./parser//parser_prod.nit:5790 */
32876 if (UNTAG_Bool(REGB0)) {
32877 } else {
32878 fprintf(stderr, "Assert failed");
32879 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5790);
32880 nit_exit(1);
32881 }
32882 /* ./parser//parser_prod.nit:5791 */
32883 ATTR_parser_nodes___AAndExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
32884 } else {
32885 /* ./parser//parser_prod.nit:5793 */
32886 fprintf(stderr, "Aborted");
32887 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5793);
32888 nit_exit(1);
32889 }
32890 /* ./parser//parser_prod.nit:5795 */
32891 goto label1;
32892 }
32893 label1: while(0);
32894 stack_frame_head = fra.me.prev;
32895 return;
32896 }
32897 void parser_prod___AAndExpr___visit_all(val_t p0, val_t p1){
32898 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
32899 val_t REGB0;
32900 val_t tmp;
32901 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32902 fra.me.file = LOCATE_parser_prod;
32903 fra.me.line = 5799;
32904 fra.me.meth = LOCATE_parser_prod___AAndExpr___visit_all;
32905 fra.me.has_broke = 0;
32906 fra.me.REG_size = 3;
32907 fra.me.REG[0] = NIT_NULL;
32908 fra.me.REG[1] = NIT_NULL;
32909 fra.me.REG[2] = NIT_NULL;
32910 fra.me.REG[0] = p0;
32911 fra.me.REG[1] = p1;
32912 REGB0 = TAG_Bool(ATTR_parser_nodes___AAndExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
32913 /* ./parser//parser_prod.nit:5801 */
32914 if (UNTAG_Bool(REGB0)) {
32915 } else {
32916 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
32917 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5801);
32918 nit_exit(1);
32919 }
32920 fra.me.REG[2] = ATTR_parser_nodes___AAndExpr____n_expr(fra.me.REG[0]);
32921 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
32922 REGB0 = TAG_Bool(ATTR_parser_nodes___AAndExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
32923 /* ./parser//parser_prod.nit:5802 */
32924 if (UNTAG_Bool(REGB0)) {
32925 } else {
32926 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
32927 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5802);
32928 nit_exit(1);
32929 }
32930 fra.me.REG[0] = ATTR_parser_nodes___AAndExpr____n_expr2(fra.me.REG[0]);
32931 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
32932 stack_frame_head = fra.me.prev;
32933 return;
32934 }
32935 void parser_prod___AAndExpr___visit_all_reverse(val_t p0, val_t p1){
32936 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
32937 val_t REGB0;
32938 val_t tmp;
32939 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32940 fra.me.file = LOCATE_parser_prod;
32941 fra.me.line = 5805;
32942 fra.me.meth = LOCATE_parser_prod___AAndExpr___visit_all_reverse;
32943 fra.me.has_broke = 0;
32944 fra.me.REG_size = 3;
32945 fra.me.REG[0] = NIT_NULL;
32946 fra.me.REG[1] = NIT_NULL;
32947 fra.me.REG[2] = NIT_NULL;
32948 fra.me.REG[0] = p0;
32949 fra.me.REG[1] = p1;
32950 REGB0 = TAG_Bool(ATTR_parser_nodes___AAndExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
32951 /* ./parser//parser_prod.nit:5807 */
32952 if (UNTAG_Bool(REGB0)) {
32953 } else {
32954 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
32955 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5807);
32956 nit_exit(1);
32957 }
32958 fra.me.REG[2] = ATTR_parser_nodes___AAndExpr____n_expr(fra.me.REG[0]);
32959 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
32960 REGB0 = TAG_Bool(ATTR_parser_nodes___AAndExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
32961 /* ./parser//parser_prod.nit:5808 */
32962 if (UNTAG_Bool(REGB0)) {
32963 } else {
32964 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
32965 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5808);
32966 nit_exit(1);
32967 }
32968 fra.me.REG[0] = ATTR_parser_nodes___AAndExpr____n_expr2(fra.me.REG[0]);
32969 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
32970 stack_frame_head = fra.me.prev;
32971 return;
32972 }
32973 void parser_prod___AAndExpr___empty_init(val_t p0, int* init_table){
32974 int itpos133 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AAndExpr].i;
32975 struct {struct stack_frame_t me;} fra;
32976 val_t tmp;
32977 if (init_table[itpos133]) return;
32978 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32979 fra.me.file = LOCATE_parser_prod;
32980 fra.me.line = 5761;
32981 fra.me.meth = LOCATE_parser_prod___AAndExpr___empty_init;
32982 fra.me.has_broke = 0;
32983 fra.me.REG_size = 1;
32984 fra.me.REG[0] = NIT_NULL;
32985 fra.me.REG[0] = p0;
32986 /* ./parser//parser_prod.nit:5761 */
32987 stack_frame_head = fra.me.prev;
32988 init_table[itpos133] = 1;
32989 return;
32990 }
32991 void parser_prod___AAndExpr___init_aandexpr(val_t p0, val_t p1, val_t p2, int* init_table){
32992 int itpos134 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AAndExpr].i;
32993 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
32994 val_t REGB0;
32995 val_t tmp;
32996 if (init_table[itpos134]) return;
32997 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
32998 fra.me.file = LOCATE_parser_prod;
32999 fra.me.line = 5763;
33000 fra.me.meth = LOCATE_parser_prod___AAndExpr___init_aandexpr;
33001 fra.me.has_broke = 0;
33002 fra.me.REG_size = 3;
33003 fra.me.REG[0] = NIT_NULL;
33004 fra.me.REG[1] = NIT_NULL;
33005 fra.me.REG[2] = NIT_NULL;
33006 fra.me.REG[0] = p0;
33007 fra.me.REG[1] = p1;
33008 fra.me.REG[2] = p2;
33009 /* ./parser//parser_prod.nit:5768 */
33010 CALL_parser_prod___AAndExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
33011 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
33012 /* ./parser//parser_prod.nit:5769 */
33013 if (UNTAG_Bool(REGB0)) {
33014 } else {
33015 fprintf(stderr, "Cast failed");
33016 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5769);
33017 nit_exit(1);
33018 }
33019 ATTR_parser_nodes___AAndExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
33020 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
33021 /* ./parser//parser_prod.nit:5770 */
33022 if (UNTAG_Bool(REGB0)) {
33023 fprintf(stderr, "Reciever is null");
33024 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5770);
33025 nit_exit(1);
33026 }
33027 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
33028 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
33029 /* ./parser//parser_prod.nit:5771 */
33030 if (UNTAG_Bool(REGB0)) {
33031 } else {
33032 fprintf(stderr, "Cast failed");
33033 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5771);
33034 nit_exit(1);
33035 }
33036 ATTR_parser_nodes___AAndExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
33037 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
33038 /* ./parser//parser_prod.nit:5772 */
33039 if (UNTAG_Bool(REGB0)) {
33040 fprintf(stderr, "Reciever is null");
33041 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5772);
33042 nit_exit(1);
33043 }
33044 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
33045 stack_frame_head = fra.me.prev;
33046 init_table[itpos134] = 1;
33047 return;
33048 }
33049 void parser_prod___ANotExpr___n_kwnot__eq(val_t p0, val_t p1){
33050 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
33051 val_t tmp;
33052 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33053 fra.me.file = LOCATE_parser_prod;
33054 fra.me.line = 5812;
33055 fra.me.meth = LOCATE_parser_prod___ANotExpr___n_kwnot__eq;
33056 fra.me.has_broke = 0;
33057 fra.me.REG_size = 2;
33058 fra.me.REG[0] = NIT_NULL;
33059 fra.me.REG[1] = NIT_NULL;
33060 fra.me.REG[0] = p0;
33061 fra.me.REG[1] = p1;
33062 /* ./parser//parser_prod.nit:5814 */
33063 ATTR_parser_nodes___ANotExpr____n_kwnot(fra.me.REG[0]) = fra.me.REG[1];
33064 /* ./parser//parser_prod.nit:5815 */
33065 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
33066 stack_frame_head = fra.me.prev;
33067 return;
33068 }
33069 void parser_prod___ANotExpr___n_expr__eq(val_t p0, val_t p1){
33070 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
33071 val_t tmp;
33072 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33073 fra.me.file = LOCATE_parser_prod;
33074 fra.me.line = 5817;
33075 fra.me.meth = LOCATE_parser_prod___ANotExpr___n_expr__eq;
33076 fra.me.has_broke = 0;
33077 fra.me.REG_size = 2;
33078 fra.me.REG[0] = NIT_NULL;
33079 fra.me.REG[1] = NIT_NULL;
33080 fra.me.REG[0] = p0;
33081 fra.me.REG[1] = p1;
33082 /* ./parser//parser_prod.nit:5819 */
33083 ATTR_parser_nodes___ANotExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
33084 /* ./parser//parser_prod.nit:5820 */
33085 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
33086 stack_frame_head = fra.me.prev;
33087 return;
33088 }
33089 void parser_prod___ANotExpr___replace_child(val_t p0, val_t p1, val_t p2){
33090 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
33091 val_t REGB0;
33092 val_t REGB1;
33093 val_t tmp;
33094 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33095 fra.me.file = LOCATE_parser_prod;
33096 fra.me.line = 5837;
33097 fra.me.meth = LOCATE_parser_prod___ANotExpr___replace_child;
33098 fra.me.has_broke = 0;
33099 fra.me.REG_size = 4;
33100 fra.me.REG[0] = NIT_NULL;
33101 fra.me.REG[1] = NIT_NULL;
33102 fra.me.REG[2] = NIT_NULL;
33103 fra.me.REG[3] = NIT_NULL;
33104 fra.me.REG[0] = p0;
33105 fra.me.REG[1] = p1;
33106 fra.me.REG[2] = p2;
33107 REGB0 = TAG_Bool(ATTR_parser_nodes___ANotExpr____n_kwnot(fra.me.REG[0])!=NIT_NULL);
33108 /* ./parser//parser_prod.nit:5839 */
33109 if (UNTAG_Bool(REGB0)) {
33110 } else {
33111 fprintf(stderr, "Uninitialized attribute %s", "_n_kwnot");
33112 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5839);
33113 nit_exit(1);
33114 }
33115 fra.me.REG[3] = ATTR_parser_nodes___ANotExpr____n_kwnot(fra.me.REG[0]);
33116 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
33117 if (UNTAG_Bool(REGB0)) {
33118 } else {
33119 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
33120 REGB0 = REGB1;
33121 }
33122 if (UNTAG_Bool(REGB0)) {
33123 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
33124 /* ./parser//parser_prod.nit:5840 */
33125 if (UNTAG_Bool(REGB0)) {
33126 } else {
33127 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
33128 if (UNTAG_Bool(REGB1)) {
33129 REGB1 = TAG_Bool(false);
33130 REGB0 = REGB1;
33131 } else {
33132 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
33133 REGB0 = REGB1;
33134 }
33135 }
33136 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
33137 if (UNTAG_Bool(REGB0)) {
33138 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
33139 /* ./parser//parser_prod.nit:5841 */
33140 if (UNTAG_Bool(REGB0)) {
33141 fprintf(stderr, "Reciever is null");
33142 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5841);
33143 nit_exit(1);
33144 }
33145 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
33146 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/;
33147 /* ./parser//parser_prod.nit:5842 */
33148 if (UNTAG_Bool(REGB0)) {
33149 } else {
33150 fprintf(stderr, "Assert failed");
33151 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5842);
33152 nit_exit(1);
33153 }
33154 /* ./parser//parser_prod.nit:5843 */
33155 ATTR_parser_nodes___ANotExpr____n_kwnot(fra.me.REG[0]) = fra.me.REG[2];
33156 } else {
33157 /* ./parser//parser_prod.nit:5845 */
33158 fprintf(stderr, "Aborted");
33159 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5845);
33160 nit_exit(1);
33161 }
33162 /* ./parser//parser_prod.nit:5847 */
33163 goto label1;
33164 }
33165 REGB0 = TAG_Bool(ATTR_parser_nodes___ANotExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
33166 /* ./parser//parser_prod.nit:5849 */
33167 if (UNTAG_Bool(REGB0)) {
33168 } else {
33169 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
33170 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5849);
33171 nit_exit(1);
33172 }
33173 fra.me.REG[3] = ATTR_parser_nodes___ANotExpr____n_expr(fra.me.REG[0]);
33174 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
33175 if (UNTAG_Bool(REGB0)) {
33176 } else {
33177 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
33178 REGB0 = REGB1;
33179 }
33180 if (UNTAG_Bool(REGB0)) {
33181 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
33182 /* ./parser//parser_prod.nit:5850 */
33183 if (UNTAG_Bool(REGB0)) {
33184 } else {
33185 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
33186 if (UNTAG_Bool(REGB1)) {
33187 REGB1 = TAG_Bool(false);
33188 REGB0 = REGB1;
33189 } else {
33190 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
33191 REGB0 = REGB1;
33192 }
33193 }
33194 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
33195 if (UNTAG_Bool(REGB0)) {
33196 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
33197 /* ./parser//parser_prod.nit:5851 */
33198 if (UNTAG_Bool(REGB0)) {
33199 fprintf(stderr, "Reciever is null");
33200 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5851);
33201 nit_exit(1);
33202 }
33203 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
33204 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
33205 /* ./parser//parser_prod.nit:5852 */
33206 if (UNTAG_Bool(REGB0)) {
33207 } else {
33208 fprintf(stderr, "Assert failed");
33209 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5852);
33210 nit_exit(1);
33211 }
33212 /* ./parser//parser_prod.nit:5853 */
33213 ATTR_parser_nodes___ANotExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
33214 } else {
33215 /* ./parser//parser_prod.nit:5855 */
33216 fprintf(stderr, "Aborted");
33217 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5855);
33218 nit_exit(1);
33219 }
33220 /* ./parser//parser_prod.nit:5857 */
33221 goto label1;
33222 }
33223 label1: while(0);
33224 stack_frame_head = fra.me.prev;
33225 return;
33226 }
33227 void parser_prod___ANotExpr___visit_all(val_t p0, val_t p1){
33228 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
33229 val_t REGB0;
33230 val_t tmp;
33231 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33232 fra.me.file = LOCATE_parser_prod;
33233 fra.me.line = 5861;
33234 fra.me.meth = LOCATE_parser_prod___ANotExpr___visit_all;
33235 fra.me.has_broke = 0;
33236 fra.me.REG_size = 3;
33237 fra.me.REG[0] = NIT_NULL;
33238 fra.me.REG[1] = NIT_NULL;
33239 fra.me.REG[2] = NIT_NULL;
33240 fra.me.REG[0] = p0;
33241 fra.me.REG[1] = p1;
33242 REGB0 = TAG_Bool(ATTR_parser_nodes___ANotExpr____n_kwnot(fra.me.REG[0])!=NIT_NULL);
33243 /* ./parser//parser_prod.nit:5863 */
33244 if (UNTAG_Bool(REGB0)) {
33245 } else {
33246 fprintf(stderr, "Uninitialized attribute %s", "_n_kwnot");
33247 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5863);
33248 nit_exit(1);
33249 }
33250 fra.me.REG[2] = ATTR_parser_nodes___ANotExpr____n_kwnot(fra.me.REG[0]);
33251 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
33252 REGB0 = TAG_Bool(ATTR_parser_nodes___ANotExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
33253 /* ./parser//parser_prod.nit:5864 */
33254 if (UNTAG_Bool(REGB0)) {
33255 } else {
33256 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
33257 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5864);
33258 nit_exit(1);
33259 }
33260 fra.me.REG[0] = ATTR_parser_nodes___ANotExpr____n_expr(fra.me.REG[0]);
33261 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
33262 stack_frame_head = fra.me.prev;
33263 return;
33264 }
33265 void parser_prod___ANotExpr___visit_all_reverse(val_t p0, val_t p1){
33266 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
33267 val_t REGB0;
33268 val_t tmp;
33269 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33270 fra.me.file = LOCATE_parser_prod;
33271 fra.me.line = 5867;
33272 fra.me.meth = LOCATE_parser_prod___ANotExpr___visit_all_reverse;
33273 fra.me.has_broke = 0;
33274 fra.me.REG_size = 3;
33275 fra.me.REG[0] = NIT_NULL;
33276 fra.me.REG[1] = NIT_NULL;
33277 fra.me.REG[2] = NIT_NULL;
33278 fra.me.REG[0] = p0;
33279 fra.me.REG[1] = p1;
33280 REGB0 = TAG_Bool(ATTR_parser_nodes___ANotExpr____n_kwnot(fra.me.REG[0])!=NIT_NULL);
33281 /* ./parser//parser_prod.nit:5869 */
33282 if (UNTAG_Bool(REGB0)) {
33283 } else {
33284 fprintf(stderr, "Uninitialized attribute %s", "_n_kwnot");
33285 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5869);
33286 nit_exit(1);
33287 }
33288 fra.me.REG[2] = ATTR_parser_nodes___ANotExpr____n_kwnot(fra.me.REG[0]);
33289 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
33290 REGB0 = TAG_Bool(ATTR_parser_nodes___ANotExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
33291 /* ./parser//parser_prod.nit:5870 */
33292 if (UNTAG_Bool(REGB0)) {
33293 } else {
33294 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
33295 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5870);
33296 nit_exit(1);
33297 }
33298 fra.me.REG[0] = ATTR_parser_nodes___ANotExpr____n_expr(fra.me.REG[0]);
33299 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
33300 stack_frame_head = fra.me.prev;
33301 return;
33302 }
33303 void parser_prod___ANotExpr___empty_init(val_t p0, int* init_table){
33304 int itpos135 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ANotExpr].i;
33305 struct {struct stack_frame_t me;} fra;
33306 val_t tmp;
33307 if (init_table[itpos135]) return;
33308 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33309 fra.me.file = LOCATE_parser_prod;
33310 fra.me.line = 5823;
33311 fra.me.meth = LOCATE_parser_prod___ANotExpr___empty_init;
33312 fra.me.has_broke = 0;
33313 fra.me.REG_size = 1;
33314 fra.me.REG[0] = NIT_NULL;
33315 fra.me.REG[0] = p0;
33316 /* ./parser//parser_prod.nit:5823 */
33317 stack_frame_head = fra.me.prev;
33318 init_table[itpos135] = 1;
33319 return;
33320 }
33321 void parser_prod___ANotExpr___init_anotexpr(val_t p0, val_t p1, val_t p2, int* init_table){
33322 int itpos136 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ANotExpr].i;
33323 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
33324 val_t REGB0;
33325 val_t tmp;
33326 if (init_table[itpos136]) return;
33327 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33328 fra.me.file = LOCATE_parser_prod;
33329 fra.me.line = 5825;
33330 fra.me.meth = LOCATE_parser_prod___ANotExpr___init_anotexpr;
33331 fra.me.has_broke = 0;
33332 fra.me.REG_size = 3;
33333 fra.me.REG[0] = NIT_NULL;
33334 fra.me.REG[1] = NIT_NULL;
33335 fra.me.REG[2] = NIT_NULL;
33336 fra.me.REG[0] = p0;
33337 fra.me.REG[1] = p1;
33338 fra.me.REG[2] = p2;
33339 /* ./parser//parser_prod.nit:5830 */
33340 CALL_parser_prod___ANotExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
33341 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
33342 /* ./parser//parser_prod.nit:5831 */
33343 if (UNTAG_Bool(REGB0)) {
33344 } else {
33345 fprintf(stderr, "Cast failed");
33346 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5831);
33347 nit_exit(1);
33348 }
33349 ATTR_parser_nodes___ANotExpr____n_kwnot(fra.me.REG[0]) = fra.me.REG[1];
33350 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
33351 /* ./parser//parser_prod.nit:5832 */
33352 if (UNTAG_Bool(REGB0)) {
33353 fprintf(stderr, "Reciever is null");
33354 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5832);
33355 nit_exit(1);
33356 }
33357 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
33358 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
33359 /* ./parser//parser_prod.nit:5833 */
33360 if (UNTAG_Bool(REGB0)) {
33361 } else {
33362 fprintf(stderr, "Cast failed");
33363 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5833);
33364 nit_exit(1);
33365 }
33366 ATTR_parser_nodes___ANotExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
33367 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
33368 /* ./parser//parser_prod.nit:5834 */
33369 if (UNTAG_Bool(REGB0)) {
33370 fprintf(stderr, "Reciever is null");
33371 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5834);
33372 nit_exit(1);
33373 }
33374 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
33375 stack_frame_head = fra.me.prev;
33376 init_table[itpos136] = 1;
33377 return;
33378 }
33379 void parser_prod___AEqExpr___n_expr__eq(val_t p0, val_t p1){
33380 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
33381 val_t tmp;
33382 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33383 fra.me.file = LOCATE_parser_prod;
33384 fra.me.line = 5874;
33385 fra.me.meth = LOCATE_parser_prod___AEqExpr___n_expr__eq;
33386 fra.me.has_broke = 0;
33387 fra.me.REG_size = 2;
33388 fra.me.REG[0] = NIT_NULL;
33389 fra.me.REG[1] = NIT_NULL;
33390 fra.me.REG[0] = p0;
33391 fra.me.REG[1] = p1;
33392 /* ./parser//parser_prod.nit:5876 */
33393 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
33394 /* ./parser//parser_prod.nit:5877 */
33395 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
33396 stack_frame_head = fra.me.prev;
33397 return;
33398 }
33399 void parser_prod___AEqExpr___n_expr2__eq(val_t p0, val_t p1){
33400 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
33401 val_t tmp;
33402 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33403 fra.me.file = LOCATE_parser_prod;
33404 fra.me.line = 5879;
33405 fra.me.meth = LOCATE_parser_prod___AEqExpr___n_expr2__eq;
33406 fra.me.has_broke = 0;
33407 fra.me.REG_size = 2;
33408 fra.me.REG[0] = NIT_NULL;
33409 fra.me.REG[1] = NIT_NULL;
33410 fra.me.REG[0] = p0;
33411 fra.me.REG[1] = p1;
33412 /* ./parser//parser_prod.nit:5881 */
33413 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[1];
33414 /* ./parser//parser_prod.nit:5882 */
33415 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
33416 stack_frame_head = fra.me.prev;
33417 return;
33418 }
33419 void parser_prod___AEqExpr___replace_child(val_t p0, val_t p1, val_t p2){
33420 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
33421 val_t REGB0;
33422 val_t REGB1;
33423 val_t tmp;
33424 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33425 fra.me.file = LOCATE_parser_prod;
33426 fra.me.line = 5899;
33427 fra.me.meth = LOCATE_parser_prod___AEqExpr___replace_child;
33428 fra.me.has_broke = 0;
33429 fra.me.REG_size = 4;
33430 fra.me.REG[0] = NIT_NULL;
33431 fra.me.REG[1] = NIT_NULL;
33432 fra.me.REG[2] = NIT_NULL;
33433 fra.me.REG[3] = NIT_NULL;
33434 fra.me.REG[0] = p0;
33435 fra.me.REG[1] = p1;
33436 fra.me.REG[2] = p2;
33437 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
33438 /* ./parser//parser_prod.nit:5901 */
33439 if (UNTAG_Bool(REGB0)) {
33440 } else {
33441 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
33442 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5901);
33443 nit_exit(1);
33444 }
33445 fra.me.REG[3] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
33446 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
33447 if (UNTAG_Bool(REGB0)) {
33448 } else {
33449 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
33450 REGB0 = REGB1;
33451 }
33452 if (UNTAG_Bool(REGB0)) {
33453 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
33454 /* ./parser//parser_prod.nit:5902 */
33455 if (UNTAG_Bool(REGB0)) {
33456 } else {
33457 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
33458 if (UNTAG_Bool(REGB1)) {
33459 REGB1 = TAG_Bool(false);
33460 REGB0 = REGB1;
33461 } else {
33462 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
33463 REGB0 = REGB1;
33464 }
33465 }
33466 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
33467 if (UNTAG_Bool(REGB0)) {
33468 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
33469 /* ./parser//parser_prod.nit:5903 */
33470 if (UNTAG_Bool(REGB0)) {
33471 fprintf(stderr, "Reciever is null");
33472 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5903);
33473 nit_exit(1);
33474 }
33475 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
33476 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
33477 /* ./parser//parser_prod.nit:5904 */
33478 if (UNTAG_Bool(REGB0)) {
33479 } else {
33480 fprintf(stderr, "Assert failed");
33481 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5904);
33482 nit_exit(1);
33483 }
33484 /* ./parser//parser_prod.nit:5905 */
33485 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
33486 } else {
33487 /* ./parser//parser_prod.nit:5907 */
33488 fprintf(stderr, "Aborted");
33489 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5907);
33490 nit_exit(1);
33491 }
33492 /* ./parser//parser_prod.nit:5909 */
33493 goto label1;
33494 }
33495 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
33496 /* ./parser//parser_prod.nit:5911 */
33497 if (UNTAG_Bool(REGB0)) {
33498 } else {
33499 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
33500 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5911);
33501 nit_exit(1);
33502 }
33503 fra.me.REG[3] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
33504 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
33505 if (UNTAG_Bool(REGB0)) {
33506 } else {
33507 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
33508 REGB0 = REGB1;
33509 }
33510 if (UNTAG_Bool(REGB0)) {
33511 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
33512 /* ./parser//parser_prod.nit:5912 */
33513 if (UNTAG_Bool(REGB0)) {
33514 } else {
33515 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
33516 if (UNTAG_Bool(REGB1)) {
33517 REGB1 = TAG_Bool(false);
33518 REGB0 = REGB1;
33519 } else {
33520 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
33521 REGB0 = REGB1;
33522 }
33523 }
33524 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
33525 if (UNTAG_Bool(REGB0)) {
33526 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
33527 /* ./parser//parser_prod.nit:5913 */
33528 if (UNTAG_Bool(REGB0)) {
33529 fprintf(stderr, "Reciever is null");
33530 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5913);
33531 nit_exit(1);
33532 }
33533 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
33534 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
33535 /* ./parser//parser_prod.nit:5914 */
33536 if (UNTAG_Bool(REGB0)) {
33537 } else {
33538 fprintf(stderr, "Assert failed");
33539 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5914);
33540 nit_exit(1);
33541 }
33542 /* ./parser//parser_prod.nit:5915 */
33543 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
33544 } else {
33545 /* ./parser//parser_prod.nit:5917 */
33546 fprintf(stderr, "Aborted");
33547 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5917);
33548 nit_exit(1);
33549 }
33550 /* ./parser//parser_prod.nit:5919 */
33551 goto label1;
33552 }
33553 label1: while(0);
33554 stack_frame_head = fra.me.prev;
33555 return;
33556 }
33557 void parser_prod___AEqExpr___visit_all(val_t p0, val_t p1){
33558 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
33559 val_t REGB0;
33560 val_t tmp;
33561 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33562 fra.me.file = LOCATE_parser_prod;
33563 fra.me.line = 5923;
33564 fra.me.meth = LOCATE_parser_prod___AEqExpr___visit_all;
33565 fra.me.has_broke = 0;
33566 fra.me.REG_size = 3;
33567 fra.me.REG[0] = NIT_NULL;
33568 fra.me.REG[1] = NIT_NULL;
33569 fra.me.REG[2] = NIT_NULL;
33570 fra.me.REG[0] = p0;
33571 fra.me.REG[1] = p1;
33572 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
33573 /* ./parser//parser_prod.nit:5925 */
33574 if (UNTAG_Bool(REGB0)) {
33575 } else {
33576 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
33577 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5925);
33578 nit_exit(1);
33579 }
33580 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
33581 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
33582 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
33583 /* ./parser//parser_prod.nit:5926 */
33584 if (UNTAG_Bool(REGB0)) {
33585 } else {
33586 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
33587 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5926);
33588 nit_exit(1);
33589 }
33590 fra.me.REG[0] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
33591 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
33592 stack_frame_head = fra.me.prev;
33593 return;
33594 }
33595 void parser_prod___AEqExpr___visit_all_reverse(val_t p0, val_t p1){
33596 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
33597 val_t REGB0;
33598 val_t tmp;
33599 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33600 fra.me.file = LOCATE_parser_prod;
33601 fra.me.line = 5929;
33602 fra.me.meth = LOCATE_parser_prod___AEqExpr___visit_all_reverse;
33603 fra.me.has_broke = 0;
33604 fra.me.REG_size = 3;
33605 fra.me.REG[0] = NIT_NULL;
33606 fra.me.REG[1] = NIT_NULL;
33607 fra.me.REG[2] = NIT_NULL;
33608 fra.me.REG[0] = p0;
33609 fra.me.REG[1] = p1;
33610 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
33611 /* ./parser//parser_prod.nit:5931 */
33612 if (UNTAG_Bool(REGB0)) {
33613 } else {
33614 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
33615 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5931);
33616 nit_exit(1);
33617 }
33618 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
33619 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
33620 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
33621 /* ./parser//parser_prod.nit:5932 */
33622 if (UNTAG_Bool(REGB0)) {
33623 } else {
33624 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
33625 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5932);
33626 nit_exit(1);
33627 }
33628 fra.me.REG[0] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
33629 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
33630 stack_frame_head = fra.me.prev;
33631 return;
33632 }
33633 void parser_prod___AEqExpr___empty_init(val_t p0, int* init_table){
33634 int itpos137 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AEqExpr].i;
33635 struct {struct stack_frame_t me;} fra;
33636 val_t tmp;
33637 if (init_table[itpos137]) return;
33638 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33639 fra.me.file = LOCATE_parser_prod;
33640 fra.me.line = 5885;
33641 fra.me.meth = LOCATE_parser_prod___AEqExpr___empty_init;
33642 fra.me.has_broke = 0;
33643 fra.me.REG_size = 1;
33644 fra.me.REG[0] = NIT_NULL;
33645 fra.me.REG[0] = p0;
33646 /* ./parser//parser_prod.nit:5885 */
33647 stack_frame_head = fra.me.prev;
33648 init_table[itpos137] = 1;
33649 return;
33650 }
33651 void parser_prod___AEqExpr___init_aeqexpr(val_t p0, val_t p1, val_t p2, int* init_table){
33652 int itpos138 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AEqExpr].i;
33653 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
33654 val_t REGB0;
33655 val_t tmp;
33656 if (init_table[itpos138]) return;
33657 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33658 fra.me.file = LOCATE_parser_prod;
33659 fra.me.line = 5887;
33660 fra.me.meth = LOCATE_parser_prod___AEqExpr___init_aeqexpr;
33661 fra.me.has_broke = 0;
33662 fra.me.REG_size = 3;
33663 fra.me.REG[0] = NIT_NULL;
33664 fra.me.REG[1] = NIT_NULL;
33665 fra.me.REG[2] = NIT_NULL;
33666 fra.me.REG[0] = p0;
33667 fra.me.REG[1] = p1;
33668 fra.me.REG[2] = p2;
33669 /* ./parser//parser_prod.nit:5892 */
33670 CALL_parser_prod___AEqExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
33671 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
33672 /* ./parser//parser_prod.nit:5893 */
33673 if (UNTAG_Bool(REGB0)) {
33674 } else {
33675 fprintf(stderr, "Cast failed");
33676 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5893);
33677 nit_exit(1);
33678 }
33679 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
33680 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
33681 /* ./parser//parser_prod.nit:5894 */
33682 if (UNTAG_Bool(REGB0)) {
33683 fprintf(stderr, "Reciever is null");
33684 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5894);
33685 nit_exit(1);
33686 }
33687 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
33688 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
33689 /* ./parser//parser_prod.nit:5895 */
33690 if (UNTAG_Bool(REGB0)) {
33691 } else {
33692 fprintf(stderr, "Cast failed");
33693 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5895);
33694 nit_exit(1);
33695 }
33696 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
33697 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
33698 /* ./parser//parser_prod.nit:5896 */
33699 if (UNTAG_Bool(REGB0)) {
33700 fprintf(stderr, "Reciever is null");
33701 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5896);
33702 nit_exit(1);
33703 }
33704 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
33705 stack_frame_head = fra.me.prev;
33706 init_table[itpos138] = 1;
33707 return;
33708 }
33709 void parser_prod___AEeExpr___n_expr__eq(val_t p0, val_t p1){
33710 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
33711 val_t tmp;
33712 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33713 fra.me.file = LOCATE_parser_prod;
33714 fra.me.line = 5936;
33715 fra.me.meth = LOCATE_parser_prod___AEeExpr___n_expr__eq;
33716 fra.me.has_broke = 0;
33717 fra.me.REG_size = 2;
33718 fra.me.REG[0] = NIT_NULL;
33719 fra.me.REG[1] = NIT_NULL;
33720 fra.me.REG[0] = p0;
33721 fra.me.REG[1] = p1;
33722 /* ./parser//parser_prod.nit:5938 */
33723 ATTR_parser_nodes___AEeExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
33724 /* ./parser//parser_prod.nit:5939 */
33725 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
33726 stack_frame_head = fra.me.prev;
33727 return;
33728 }
33729 void parser_prod___AEeExpr___n_expr2__eq(val_t p0, val_t p1){
33730 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
33731 val_t tmp;
33732 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33733 fra.me.file = LOCATE_parser_prod;
33734 fra.me.line = 5941;
33735 fra.me.meth = LOCATE_parser_prod___AEeExpr___n_expr2__eq;
33736 fra.me.has_broke = 0;
33737 fra.me.REG_size = 2;
33738 fra.me.REG[0] = NIT_NULL;
33739 fra.me.REG[1] = NIT_NULL;
33740 fra.me.REG[0] = p0;
33741 fra.me.REG[1] = p1;
33742 /* ./parser//parser_prod.nit:5943 */
33743 ATTR_parser_nodes___AEeExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[1];
33744 /* ./parser//parser_prod.nit:5944 */
33745 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
33746 stack_frame_head = fra.me.prev;
33747 return;
33748 }
33749 void parser_prod___AEeExpr___replace_child(val_t p0, val_t p1, val_t p2){
33750 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
33751 val_t REGB0;
33752 val_t REGB1;
33753 val_t tmp;
33754 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33755 fra.me.file = LOCATE_parser_prod;
33756 fra.me.line = 5961;
33757 fra.me.meth = LOCATE_parser_prod___AEeExpr___replace_child;
33758 fra.me.has_broke = 0;
33759 fra.me.REG_size = 4;
33760 fra.me.REG[0] = NIT_NULL;
33761 fra.me.REG[1] = NIT_NULL;
33762 fra.me.REG[2] = NIT_NULL;
33763 fra.me.REG[3] = NIT_NULL;
33764 fra.me.REG[0] = p0;
33765 fra.me.REG[1] = p1;
33766 fra.me.REG[2] = p2;
33767 REGB0 = TAG_Bool(ATTR_parser_nodes___AEeExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
33768 /* ./parser//parser_prod.nit:5963 */
33769 if (UNTAG_Bool(REGB0)) {
33770 } else {
33771 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
33772 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5963);
33773 nit_exit(1);
33774 }
33775 fra.me.REG[3] = ATTR_parser_nodes___AEeExpr____n_expr(fra.me.REG[0]);
33776 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
33777 if (UNTAG_Bool(REGB0)) {
33778 } else {
33779 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
33780 REGB0 = REGB1;
33781 }
33782 if (UNTAG_Bool(REGB0)) {
33783 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
33784 /* ./parser//parser_prod.nit:5964 */
33785 if (UNTAG_Bool(REGB0)) {
33786 } else {
33787 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
33788 if (UNTAG_Bool(REGB1)) {
33789 REGB1 = TAG_Bool(false);
33790 REGB0 = REGB1;
33791 } else {
33792 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
33793 REGB0 = REGB1;
33794 }
33795 }
33796 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
33797 if (UNTAG_Bool(REGB0)) {
33798 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
33799 /* ./parser//parser_prod.nit:5965 */
33800 if (UNTAG_Bool(REGB0)) {
33801 fprintf(stderr, "Reciever is null");
33802 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5965);
33803 nit_exit(1);
33804 }
33805 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
33806 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
33807 /* ./parser//parser_prod.nit:5966 */
33808 if (UNTAG_Bool(REGB0)) {
33809 } else {
33810 fprintf(stderr, "Assert failed");
33811 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5966);
33812 nit_exit(1);
33813 }
33814 /* ./parser//parser_prod.nit:5967 */
33815 ATTR_parser_nodes___AEeExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
33816 } else {
33817 /* ./parser//parser_prod.nit:5969 */
33818 fprintf(stderr, "Aborted");
33819 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5969);
33820 nit_exit(1);
33821 }
33822 /* ./parser//parser_prod.nit:5971 */
33823 goto label1;
33824 }
33825 REGB0 = TAG_Bool(ATTR_parser_nodes___AEeExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
33826 /* ./parser//parser_prod.nit:5973 */
33827 if (UNTAG_Bool(REGB0)) {
33828 } else {
33829 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
33830 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5973);
33831 nit_exit(1);
33832 }
33833 fra.me.REG[3] = ATTR_parser_nodes___AEeExpr____n_expr2(fra.me.REG[0]);
33834 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
33835 if (UNTAG_Bool(REGB0)) {
33836 } else {
33837 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
33838 REGB0 = REGB1;
33839 }
33840 if (UNTAG_Bool(REGB0)) {
33841 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
33842 /* ./parser//parser_prod.nit:5974 */
33843 if (UNTAG_Bool(REGB0)) {
33844 } else {
33845 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
33846 if (UNTAG_Bool(REGB1)) {
33847 REGB1 = TAG_Bool(false);
33848 REGB0 = REGB1;
33849 } else {
33850 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
33851 REGB0 = REGB1;
33852 }
33853 }
33854 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
33855 if (UNTAG_Bool(REGB0)) {
33856 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
33857 /* ./parser//parser_prod.nit:5975 */
33858 if (UNTAG_Bool(REGB0)) {
33859 fprintf(stderr, "Reciever is null");
33860 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5975);
33861 nit_exit(1);
33862 }
33863 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
33864 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
33865 /* ./parser//parser_prod.nit:5976 */
33866 if (UNTAG_Bool(REGB0)) {
33867 } else {
33868 fprintf(stderr, "Assert failed");
33869 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5976);
33870 nit_exit(1);
33871 }
33872 /* ./parser//parser_prod.nit:5977 */
33873 ATTR_parser_nodes___AEeExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
33874 } else {
33875 /* ./parser//parser_prod.nit:5979 */
33876 fprintf(stderr, "Aborted");
33877 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5979);
33878 nit_exit(1);
33879 }
33880 /* ./parser//parser_prod.nit:5981 */
33881 goto label1;
33882 }
33883 label1: while(0);
33884 stack_frame_head = fra.me.prev;
33885 return;
33886 }
33887 void parser_prod___AEeExpr___visit_all(val_t p0, val_t p1){
33888 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
33889 val_t REGB0;
33890 val_t tmp;
33891 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33892 fra.me.file = LOCATE_parser_prod;
33893 fra.me.line = 5985;
33894 fra.me.meth = LOCATE_parser_prod___AEeExpr___visit_all;
33895 fra.me.has_broke = 0;
33896 fra.me.REG_size = 3;
33897 fra.me.REG[0] = NIT_NULL;
33898 fra.me.REG[1] = NIT_NULL;
33899 fra.me.REG[2] = NIT_NULL;
33900 fra.me.REG[0] = p0;
33901 fra.me.REG[1] = p1;
33902 REGB0 = TAG_Bool(ATTR_parser_nodes___AEeExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
33903 /* ./parser//parser_prod.nit:5987 */
33904 if (UNTAG_Bool(REGB0)) {
33905 } else {
33906 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
33907 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5987);
33908 nit_exit(1);
33909 }
33910 fra.me.REG[2] = ATTR_parser_nodes___AEeExpr____n_expr(fra.me.REG[0]);
33911 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
33912 REGB0 = TAG_Bool(ATTR_parser_nodes___AEeExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
33913 /* ./parser//parser_prod.nit:5988 */
33914 if (UNTAG_Bool(REGB0)) {
33915 } else {
33916 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
33917 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5988);
33918 nit_exit(1);
33919 }
33920 fra.me.REG[0] = ATTR_parser_nodes___AEeExpr____n_expr2(fra.me.REG[0]);
33921 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
33922 stack_frame_head = fra.me.prev;
33923 return;
33924 }
33925 void parser_prod___AEeExpr___visit_all_reverse(val_t p0, val_t p1){
33926 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
33927 val_t REGB0;
33928 val_t tmp;
33929 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33930 fra.me.file = LOCATE_parser_prod;
33931 fra.me.line = 5991;
33932 fra.me.meth = LOCATE_parser_prod___AEeExpr___visit_all_reverse;
33933 fra.me.has_broke = 0;
33934 fra.me.REG_size = 3;
33935 fra.me.REG[0] = NIT_NULL;
33936 fra.me.REG[1] = NIT_NULL;
33937 fra.me.REG[2] = NIT_NULL;
33938 fra.me.REG[0] = p0;
33939 fra.me.REG[1] = p1;
33940 REGB0 = TAG_Bool(ATTR_parser_nodes___AEeExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
33941 /* ./parser//parser_prod.nit:5993 */
33942 if (UNTAG_Bool(REGB0)) {
33943 } else {
33944 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
33945 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5993);
33946 nit_exit(1);
33947 }
33948 fra.me.REG[2] = ATTR_parser_nodes___AEeExpr____n_expr(fra.me.REG[0]);
33949 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
33950 REGB0 = TAG_Bool(ATTR_parser_nodes___AEeExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
33951 /* ./parser//parser_prod.nit:5994 */
33952 if (UNTAG_Bool(REGB0)) {
33953 } else {
33954 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
33955 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5994);
33956 nit_exit(1);
33957 }
33958 fra.me.REG[0] = ATTR_parser_nodes___AEeExpr____n_expr2(fra.me.REG[0]);
33959 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
33960 stack_frame_head = fra.me.prev;
33961 return;
33962 }
33963 void parser_prod___AEeExpr___empty_init(val_t p0, int* init_table){
33964 int itpos139 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AEeExpr].i;
33965 struct {struct stack_frame_t me;} fra;
33966 val_t tmp;
33967 if (init_table[itpos139]) return;
33968 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33969 fra.me.file = LOCATE_parser_prod;
33970 fra.me.line = 5947;
33971 fra.me.meth = LOCATE_parser_prod___AEeExpr___empty_init;
33972 fra.me.has_broke = 0;
33973 fra.me.REG_size = 1;
33974 fra.me.REG[0] = NIT_NULL;
33975 fra.me.REG[0] = p0;
33976 /* ./parser//parser_prod.nit:5947 */
33977 stack_frame_head = fra.me.prev;
33978 init_table[itpos139] = 1;
33979 return;
33980 }
33981 void parser_prod___AEeExpr___init_aeeexpr(val_t p0, val_t p1, val_t p2, int* init_table){
33982 int itpos140 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AEeExpr].i;
33983 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
33984 val_t REGB0;
33985 val_t tmp;
33986 if (init_table[itpos140]) return;
33987 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33988 fra.me.file = LOCATE_parser_prod;
33989 fra.me.line = 5949;
33990 fra.me.meth = LOCATE_parser_prod___AEeExpr___init_aeeexpr;
33991 fra.me.has_broke = 0;
33992 fra.me.REG_size = 3;
33993 fra.me.REG[0] = NIT_NULL;
33994 fra.me.REG[1] = NIT_NULL;
33995 fra.me.REG[2] = NIT_NULL;
33996 fra.me.REG[0] = p0;
33997 fra.me.REG[1] = p1;
33998 fra.me.REG[2] = p2;
33999 /* ./parser//parser_prod.nit:5954 */
34000 CALL_parser_prod___AEeExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
34001 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
34002 /* ./parser//parser_prod.nit:5955 */
34003 if (UNTAG_Bool(REGB0)) {
34004 } else {
34005 fprintf(stderr, "Cast failed");
34006 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5955);
34007 nit_exit(1);
34008 }
34009 ATTR_parser_nodes___AEeExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
34010 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
34011 /* ./parser//parser_prod.nit:5956 */
34012 if (UNTAG_Bool(REGB0)) {
34013 fprintf(stderr, "Reciever is null");
34014 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5956);
34015 nit_exit(1);
34016 }
34017 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
34018 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
34019 /* ./parser//parser_prod.nit:5957 */
34020 if (UNTAG_Bool(REGB0)) {
34021 } else {
34022 fprintf(stderr, "Cast failed");
34023 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5957);
34024 nit_exit(1);
34025 }
34026 ATTR_parser_nodes___AEeExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
34027 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
34028 /* ./parser//parser_prod.nit:5958 */
34029 if (UNTAG_Bool(REGB0)) {
34030 fprintf(stderr, "Reciever is null");
34031 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 5958);
34032 nit_exit(1);
34033 }
34034 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
34035 stack_frame_head = fra.me.prev;
34036 init_table[itpos140] = 1;
34037 return;
34038 }
34039 void parser_prod___ANeExpr___n_expr__eq(val_t p0, val_t p1){
34040 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
34041 val_t tmp;
34042 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34043 fra.me.file = LOCATE_parser_prod;
34044 fra.me.line = 5998;
34045 fra.me.meth = LOCATE_parser_prod___ANeExpr___n_expr__eq;
34046 fra.me.has_broke = 0;
34047 fra.me.REG_size = 2;
34048 fra.me.REG[0] = NIT_NULL;
34049 fra.me.REG[1] = NIT_NULL;
34050 fra.me.REG[0] = p0;
34051 fra.me.REG[1] = p1;
34052 /* ./parser//parser_prod.nit:6000 */
34053 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
34054 /* ./parser//parser_prod.nit:6001 */
34055 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
34056 stack_frame_head = fra.me.prev;
34057 return;
34058 }
34059 void parser_prod___ANeExpr___n_expr2__eq(val_t p0, val_t p1){
34060 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
34061 val_t tmp;
34062 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34063 fra.me.file = LOCATE_parser_prod;
34064 fra.me.line = 6003;
34065 fra.me.meth = LOCATE_parser_prod___ANeExpr___n_expr2__eq;
34066 fra.me.has_broke = 0;
34067 fra.me.REG_size = 2;
34068 fra.me.REG[0] = NIT_NULL;
34069 fra.me.REG[1] = NIT_NULL;
34070 fra.me.REG[0] = p0;
34071 fra.me.REG[1] = p1;
34072 /* ./parser//parser_prod.nit:6005 */
34073 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[1];
34074 /* ./parser//parser_prod.nit:6006 */
34075 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
34076 stack_frame_head = fra.me.prev;
34077 return;
34078 }
34079 void parser_prod___ANeExpr___replace_child(val_t p0, val_t p1, val_t p2){
34080 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
34081 val_t REGB0;
34082 val_t REGB1;
34083 val_t tmp;
34084 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34085 fra.me.file = LOCATE_parser_prod;
34086 fra.me.line = 6023;
34087 fra.me.meth = LOCATE_parser_prod___ANeExpr___replace_child;
34088 fra.me.has_broke = 0;
34089 fra.me.REG_size = 4;
34090 fra.me.REG[0] = NIT_NULL;
34091 fra.me.REG[1] = NIT_NULL;
34092 fra.me.REG[2] = NIT_NULL;
34093 fra.me.REG[3] = NIT_NULL;
34094 fra.me.REG[0] = p0;
34095 fra.me.REG[1] = p1;
34096 fra.me.REG[2] = p2;
34097 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
34098 /* ./parser//parser_prod.nit:6025 */
34099 if (UNTAG_Bool(REGB0)) {
34100 } else {
34101 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
34102 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6025);
34103 nit_exit(1);
34104 }
34105 fra.me.REG[3] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
34106 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
34107 if (UNTAG_Bool(REGB0)) {
34108 } else {
34109 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
34110 REGB0 = REGB1;
34111 }
34112 if (UNTAG_Bool(REGB0)) {
34113 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
34114 /* ./parser//parser_prod.nit:6026 */
34115 if (UNTAG_Bool(REGB0)) {
34116 } else {
34117 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
34118 if (UNTAG_Bool(REGB1)) {
34119 REGB1 = TAG_Bool(false);
34120 REGB0 = REGB1;
34121 } else {
34122 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
34123 REGB0 = REGB1;
34124 }
34125 }
34126 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
34127 if (UNTAG_Bool(REGB0)) {
34128 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
34129 /* ./parser//parser_prod.nit:6027 */
34130 if (UNTAG_Bool(REGB0)) {
34131 fprintf(stderr, "Reciever is null");
34132 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6027);
34133 nit_exit(1);
34134 }
34135 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
34136 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
34137 /* ./parser//parser_prod.nit:6028 */
34138 if (UNTAG_Bool(REGB0)) {
34139 } else {
34140 fprintf(stderr, "Assert failed");
34141 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6028);
34142 nit_exit(1);
34143 }
34144 /* ./parser//parser_prod.nit:6029 */
34145 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
34146 } else {
34147 /* ./parser//parser_prod.nit:6031 */
34148 fprintf(stderr, "Aborted");
34149 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6031);
34150 nit_exit(1);
34151 }
34152 /* ./parser//parser_prod.nit:6033 */
34153 goto label1;
34154 }
34155 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
34156 /* ./parser//parser_prod.nit:6035 */
34157 if (UNTAG_Bool(REGB0)) {
34158 } else {
34159 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
34160 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6035);
34161 nit_exit(1);
34162 }
34163 fra.me.REG[3] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
34164 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
34165 if (UNTAG_Bool(REGB0)) {
34166 } else {
34167 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
34168 REGB0 = REGB1;
34169 }
34170 if (UNTAG_Bool(REGB0)) {
34171 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
34172 /* ./parser//parser_prod.nit:6036 */
34173 if (UNTAG_Bool(REGB0)) {
34174 } else {
34175 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
34176 if (UNTAG_Bool(REGB1)) {
34177 REGB1 = TAG_Bool(false);
34178 REGB0 = REGB1;
34179 } else {
34180 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
34181 REGB0 = REGB1;
34182 }
34183 }
34184 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
34185 if (UNTAG_Bool(REGB0)) {
34186 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
34187 /* ./parser//parser_prod.nit:6037 */
34188 if (UNTAG_Bool(REGB0)) {
34189 fprintf(stderr, "Reciever is null");
34190 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6037);
34191 nit_exit(1);
34192 }
34193 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
34194 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
34195 /* ./parser//parser_prod.nit:6038 */
34196 if (UNTAG_Bool(REGB0)) {
34197 } else {
34198 fprintf(stderr, "Assert failed");
34199 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6038);
34200 nit_exit(1);
34201 }
34202 /* ./parser//parser_prod.nit:6039 */
34203 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
34204 } else {
34205 /* ./parser//parser_prod.nit:6041 */
34206 fprintf(stderr, "Aborted");
34207 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6041);
34208 nit_exit(1);
34209 }
34210 /* ./parser//parser_prod.nit:6043 */
34211 goto label1;
34212 }
34213 label1: while(0);
34214 stack_frame_head = fra.me.prev;
34215 return;
34216 }
34217 void parser_prod___ANeExpr___visit_all(val_t p0, val_t p1){
34218 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
34219 val_t REGB0;
34220 val_t tmp;
34221 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34222 fra.me.file = LOCATE_parser_prod;
34223 fra.me.line = 6047;
34224 fra.me.meth = LOCATE_parser_prod___ANeExpr___visit_all;
34225 fra.me.has_broke = 0;
34226 fra.me.REG_size = 3;
34227 fra.me.REG[0] = NIT_NULL;
34228 fra.me.REG[1] = NIT_NULL;
34229 fra.me.REG[2] = NIT_NULL;
34230 fra.me.REG[0] = p0;
34231 fra.me.REG[1] = p1;
34232 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
34233 /* ./parser//parser_prod.nit:6049 */
34234 if (UNTAG_Bool(REGB0)) {
34235 } else {
34236 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
34237 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6049);
34238 nit_exit(1);
34239 }
34240 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
34241 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
34242 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
34243 /* ./parser//parser_prod.nit:6050 */
34244 if (UNTAG_Bool(REGB0)) {
34245 } else {
34246 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
34247 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6050);
34248 nit_exit(1);
34249 }
34250 fra.me.REG[0] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
34251 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
34252 stack_frame_head = fra.me.prev;
34253 return;
34254 }
34255 void parser_prod___ANeExpr___visit_all_reverse(val_t p0, val_t p1){
34256 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
34257 val_t REGB0;
34258 val_t tmp;
34259 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34260 fra.me.file = LOCATE_parser_prod;
34261 fra.me.line = 6053;
34262 fra.me.meth = LOCATE_parser_prod___ANeExpr___visit_all_reverse;
34263 fra.me.has_broke = 0;
34264 fra.me.REG_size = 3;
34265 fra.me.REG[0] = NIT_NULL;
34266 fra.me.REG[1] = NIT_NULL;
34267 fra.me.REG[2] = NIT_NULL;
34268 fra.me.REG[0] = p0;
34269 fra.me.REG[1] = p1;
34270 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
34271 /* ./parser//parser_prod.nit:6055 */
34272 if (UNTAG_Bool(REGB0)) {
34273 } else {
34274 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
34275 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6055);
34276 nit_exit(1);
34277 }
34278 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
34279 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
34280 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
34281 /* ./parser//parser_prod.nit:6056 */
34282 if (UNTAG_Bool(REGB0)) {
34283 } else {
34284 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
34285 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6056);
34286 nit_exit(1);
34287 }
34288 fra.me.REG[0] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
34289 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
34290 stack_frame_head = fra.me.prev;
34291 return;
34292 }
34293 void parser_prod___ANeExpr___empty_init(val_t p0, int* init_table){
34294 int itpos141 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ANeExpr].i;
34295 struct {struct stack_frame_t me;} fra;
34296 val_t tmp;
34297 if (init_table[itpos141]) return;
34298 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34299 fra.me.file = LOCATE_parser_prod;
34300 fra.me.line = 6009;
34301 fra.me.meth = LOCATE_parser_prod___ANeExpr___empty_init;
34302 fra.me.has_broke = 0;
34303 fra.me.REG_size = 1;
34304 fra.me.REG[0] = NIT_NULL;
34305 fra.me.REG[0] = p0;
34306 /* ./parser//parser_prod.nit:6009 */
34307 stack_frame_head = fra.me.prev;
34308 init_table[itpos141] = 1;
34309 return;
34310 }
34311 void parser_prod___ANeExpr___init_aneexpr(val_t p0, val_t p1, val_t p2, int* init_table){
34312 int itpos142 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ANeExpr].i;
34313 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
34314 val_t REGB0;
34315 val_t tmp;
34316 if (init_table[itpos142]) return;
34317 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34318 fra.me.file = LOCATE_parser_prod;
34319 fra.me.line = 6011;
34320 fra.me.meth = LOCATE_parser_prod___ANeExpr___init_aneexpr;
34321 fra.me.has_broke = 0;
34322 fra.me.REG_size = 3;
34323 fra.me.REG[0] = NIT_NULL;
34324 fra.me.REG[1] = NIT_NULL;
34325 fra.me.REG[2] = NIT_NULL;
34326 fra.me.REG[0] = p0;
34327 fra.me.REG[1] = p1;
34328 fra.me.REG[2] = p2;
34329 /* ./parser//parser_prod.nit:6016 */
34330 CALL_parser_prod___ANeExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
34331 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
34332 /* ./parser//parser_prod.nit:6017 */
34333 if (UNTAG_Bool(REGB0)) {
34334 } else {
34335 fprintf(stderr, "Cast failed");
34336 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6017);
34337 nit_exit(1);
34338 }
34339 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
34340 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
34341 /* ./parser//parser_prod.nit:6018 */
34342 if (UNTAG_Bool(REGB0)) {
34343 fprintf(stderr, "Reciever is null");
34344 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6018);
34345 nit_exit(1);
34346 }
34347 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
34348 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
34349 /* ./parser//parser_prod.nit:6019 */
34350 if (UNTAG_Bool(REGB0)) {
34351 } else {
34352 fprintf(stderr, "Cast failed");
34353 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6019);
34354 nit_exit(1);
34355 }
34356 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
34357 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
34358 /* ./parser//parser_prod.nit:6020 */
34359 if (UNTAG_Bool(REGB0)) {
34360 fprintf(stderr, "Reciever is null");
34361 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6020);
34362 nit_exit(1);
34363 }
34364 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
34365 stack_frame_head = fra.me.prev;
34366 init_table[itpos142] = 1;
34367 return;
34368 }
34369 void parser_prod___ALtExpr___n_expr__eq(val_t p0, val_t p1){
34370 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
34371 val_t tmp;
34372 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34373 fra.me.file = LOCATE_parser_prod;
34374 fra.me.line = 6060;
34375 fra.me.meth = LOCATE_parser_prod___ALtExpr___n_expr__eq;
34376 fra.me.has_broke = 0;
34377 fra.me.REG_size = 2;
34378 fra.me.REG[0] = NIT_NULL;
34379 fra.me.REG[1] = NIT_NULL;
34380 fra.me.REG[0] = p0;
34381 fra.me.REG[1] = p1;
34382 /* ./parser//parser_prod.nit:6062 */
34383 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
34384 /* ./parser//parser_prod.nit:6063 */
34385 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
34386 stack_frame_head = fra.me.prev;
34387 return;
34388 }
34389 void parser_prod___ALtExpr___n_expr2__eq(val_t p0, val_t p1){
34390 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
34391 val_t tmp;
34392 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34393 fra.me.file = LOCATE_parser_prod;
34394 fra.me.line = 6065;
34395 fra.me.meth = LOCATE_parser_prod___ALtExpr___n_expr2__eq;
34396 fra.me.has_broke = 0;
34397 fra.me.REG_size = 2;
34398 fra.me.REG[0] = NIT_NULL;
34399 fra.me.REG[1] = NIT_NULL;
34400 fra.me.REG[0] = p0;
34401 fra.me.REG[1] = p1;
34402 /* ./parser//parser_prod.nit:6067 */
34403 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[1];
34404 /* ./parser//parser_prod.nit:6068 */
34405 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
34406 stack_frame_head = fra.me.prev;
34407 return;
34408 }
34409 void parser_prod___ALtExpr___replace_child(val_t p0, val_t p1, val_t p2){
34410 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
34411 val_t REGB0;
34412 val_t REGB1;
34413 val_t tmp;
34414 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34415 fra.me.file = LOCATE_parser_prod;
34416 fra.me.line = 6085;
34417 fra.me.meth = LOCATE_parser_prod___ALtExpr___replace_child;
34418 fra.me.has_broke = 0;
34419 fra.me.REG_size = 4;
34420 fra.me.REG[0] = NIT_NULL;
34421 fra.me.REG[1] = NIT_NULL;
34422 fra.me.REG[2] = NIT_NULL;
34423 fra.me.REG[3] = NIT_NULL;
34424 fra.me.REG[0] = p0;
34425 fra.me.REG[1] = p1;
34426 fra.me.REG[2] = p2;
34427 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
34428 /* ./parser//parser_prod.nit:6087 */
34429 if (UNTAG_Bool(REGB0)) {
34430 } else {
34431 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
34432 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6087);
34433 nit_exit(1);
34434 }
34435 fra.me.REG[3] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
34436 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
34437 if (UNTAG_Bool(REGB0)) {
34438 } else {
34439 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
34440 REGB0 = REGB1;
34441 }
34442 if (UNTAG_Bool(REGB0)) {
34443 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
34444 /* ./parser//parser_prod.nit:6088 */
34445 if (UNTAG_Bool(REGB0)) {
34446 } else {
34447 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
34448 if (UNTAG_Bool(REGB1)) {
34449 REGB1 = TAG_Bool(false);
34450 REGB0 = REGB1;
34451 } else {
34452 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
34453 REGB0 = REGB1;
34454 }
34455 }
34456 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
34457 if (UNTAG_Bool(REGB0)) {
34458 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
34459 /* ./parser//parser_prod.nit:6089 */
34460 if (UNTAG_Bool(REGB0)) {
34461 fprintf(stderr, "Reciever is null");
34462 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6089);
34463 nit_exit(1);
34464 }
34465 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
34466 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
34467 /* ./parser//parser_prod.nit:6090 */
34468 if (UNTAG_Bool(REGB0)) {
34469 } else {
34470 fprintf(stderr, "Assert failed");
34471 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6090);
34472 nit_exit(1);
34473 }
34474 /* ./parser//parser_prod.nit:6091 */
34475 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
34476 } else {
34477 /* ./parser//parser_prod.nit:6093 */
34478 fprintf(stderr, "Aborted");
34479 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6093);
34480 nit_exit(1);
34481 }
34482 /* ./parser//parser_prod.nit:6095 */
34483 goto label1;
34484 }
34485 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
34486 /* ./parser//parser_prod.nit:6097 */
34487 if (UNTAG_Bool(REGB0)) {
34488 } else {
34489 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
34490 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6097);
34491 nit_exit(1);
34492 }
34493 fra.me.REG[3] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
34494 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
34495 if (UNTAG_Bool(REGB0)) {
34496 } else {
34497 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
34498 REGB0 = REGB1;
34499 }
34500 if (UNTAG_Bool(REGB0)) {
34501 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
34502 /* ./parser//parser_prod.nit:6098 */
34503 if (UNTAG_Bool(REGB0)) {
34504 } else {
34505 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
34506 if (UNTAG_Bool(REGB1)) {
34507 REGB1 = TAG_Bool(false);
34508 REGB0 = REGB1;
34509 } else {
34510 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
34511 REGB0 = REGB1;
34512 }
34513 }
34514 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
34515 if (UNTAG_Bool(REGB0)) {
34516 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
34517 /* ./parser//parser_prod.nit:6099 */
34518 if (UNTAG_Bool(REGB0)) {
34519 fprintf(stderr, "Reciever is null");
34520 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6099);
34521 nit_exit(1);
34522 }
34523 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
34524 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
34525 /* ./parser//parser_prod.nit:6100 */
34526 if (UNTAG_Bool(REGB0)) {
34527 } else {
34528 fprintf(stderr, "Assert failed");
34529 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6100);
34530 nit_exit(1);
34531 }
34532 /* ./parser//parser_prod.nit:6101 */
34533 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
34534 } else {
34535 /* ./parser//parser_prod.nit:6103 */
34536 fprintf(stderr, "Aborted");
34537 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6103);
34538 nit_exit(1);
34539 }
34540 /* ./parser//parser_prod.nit:6105 */
34541 goto label1;
34542 }
34543 label1: while(0);
34544 stack_frame_head = fra.me.prev;
34545 return;
34546 }
34547 void parser_prod___ALtExpr___visit_all(val_t p0, val_t p1){
34548 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
34549 val_t REGB0;
34550 val_t tmp;
34551 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34552 fra.me.file = LOCATE_parser_prod;
34553 fra.me.line = 6109;
34554 fra.me.meth = LOCATE_parser_prod___ALtExpr___visit_all;
34555 fra.me.has_broke = 0;
34556 fra.me.REG_size = 3;
34557 fra.me.REG[0] = NIT_NULL;
34558 fra.me.REG[1] = NIT_NULL;
34559 fra.me.REG[2] = NIT_NULL;
34560 fra.me.REG[0] = p0;
34561 fra.me.REG[1] = p1;
34562 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
34563 /* ./parser//parser_prod.nit:6111 */
34564 if (UNTAG_Bool(REGB0)) {
34565 } else {
34566 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
34567 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6111);
34568 nit_exit(1);
34569 }
34570 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
34571 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
34572 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
34573 /* ./parser//parser_prod.nit:6112 */
34574 if (UNTAG_Bool(REGB0)) {
34575 } else {
34576 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
34577 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6112);
34578 nit_exit(1);
34579 }
34580 fra.me.REG[0] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
34581 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
34582 stack_frame_head = fra.me.prev;
34583 return;
34584 }
34585 void parser_prod___ALtExpr___visit_all_reverse(val_t p0, val_t p1){
34586 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
34587 val_t REGB0;
34588 val_t tmp;
34589 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34590 fra.me.file = LOCATE_parser_prod;
34591 fra.me.line = 6115;
34592 fra.me.meth = LOCATE_parser_prod___ALtExpr___visit_all_reverse;
34593 fra.me.has_broke = 0;
34594 fra.me.REG_size = 3;
34595 fra.me.REG[0] = NIT_NULL;
34596 fra.me.REG[1] = NIT_NULL;
34597 fra.me.REG[2] = NIT_NULL;
34598 fra.me.REG[0] = p0;
34599 fra.me.REG[1] = p1;
34600 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
34601 /* ./parser//parser_prod.nit:6117 */
34602 if (UNTAG_Bool(REGB0)) {
34603 } else {
34604 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
34605 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6117);
34606 nit_exit(1);
34607 }
34608 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
34609 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
34610 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
34611 /* ./parser//parser_prod.nit:6118 */
34612 if (UNTAG_Bool(REGB0)) {
34613 } else {
34614 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
34615 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6118);
34616 nit_exit(1);
34617 }
34618 fra.me.REG[0] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
34619 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
34620 stack_frame_head = fra.me.prev;
34621 return;
34622 }
34623 void parser_prod___ALtExpr___empty_init(val_t p0, int* init_table){
34624 int itpos143 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ALtExpr].i;
34625 struct {struct stack_frame_t me;} fra;
34626 val_t tmp;
34627 if (init_table[itpos143]) return;
34628 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34629 fra.me.file = LOCATE_parser_prod;
34630 fra.me.line = 6071;
34631 fra.me.meth = LOCATE_parser_prod___ALtExpr___empty_init;
34632 fra.me.has_broke = 0;
34633 fra.me.REG_size = 1;
34634 fra.me.REG[0] = NIT_NULL;
34635 fra.me.REG[0] = p0;
34636 /* ./parser//parser_prod.nit:6071 */
34637 stack_frame_head = fra.me.prev;
34638 init_table[itpos143] = 1;
34639 return;
34640 }
34641 void parser_prod___ALtExpr___init_altexpr(val_t p0, val_t p1, val_t p2, int* init_table){
34642 int itpos144 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ALtExpr].i;
34643 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
34644 val_t REGB0;
34645 val_t tmp;
34646 if (init_table[itpos144]) return;
34647 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34648 fra.me.file = LOCATE_parser_prod;
34649 fra.me.line = 6073;
34650 fra.me.meth = LOCATE_parser_prod___ALtExpr___init_altexpr;
34651 fra.me.has_broke = 0;
34652 fra.me.REG_size = 3;
34653 fra.me.REG[0] = NIT_NULL;
34654 fra.me.REG[1] = NIT_NULL;
34655 fra.me.REG[2] = NIT_NULL;
34656 fra.me.REG[0] = p0;
34657 fra.me.REG[1] = p1;
34658 fra.me.REG[2] = p2;
34659 /* ./parser//parser_prod.nit:6078 */
34660 CALL_parser_prod___ALtExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
34661 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
34662 /* ./parser//parser_prod.nit:6079 */
34663 if (UNTAG_Bool(REGB0)) {
34664 } else {
34665 fprintf(stderr, "Cast failed");
34666 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6079);
34667 nit_exit(1);
34668 }
34669 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
34670 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
34671 /* ./parser//parser_prod.nit:6080 */
34672 if (UNTAG_Bool(REGB0)) {
34673 fprintf(stderr, "Reciever is null");
34674 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6080);
34675 nit_exit(1);
34676 }
34677 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
34678 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
34679 /* ./parser//parser_prod.nit:6081 */
34680 if (UNTAG_Bool(REGB0)) {
34681 } else {
34682 fprintf(stderr, "Cast failed");
34683 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6081);
34684 nit_exit(1);
34685 }
34686 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
34687 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
34688 /* ./parser//parser_prod.nit:6082 */
34689 if (UNTAG_Bool(REGB0)) {
34690 fprintf(stderr, "Reciever is null");
34691 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6082);
34692 nit_exit(1);
34693 }
34694 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
34695 stack_frame_head = fra.me.prev;
34696 init_table[itpos144] = 1;
34697 return;
34698 }
34699 void parser_prod___ALeExpr___n_expr__eq(val_t p0, val_t p1){
34700 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
34701 val_t tmp;
34702 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34703 fra.me.file = LOCATE_parser_prod;
34704 fra.me.line = 6122;
34705 fra.me.meth = LOCATE_parser_prod___ALeExpr___n_expr__eq;
34706 fra.me.has_broke = 0;
34707 fra.me.REG_size = 2;
34708 fra.me.REG[0] = NIT_NULL;
34709 fra.me.REG[1] = NIT_NULL;
34710 fra.me.REG[0] = p0;
34711 fra.me.REG[1] = p1;
34712 /* ./parser//parser_prod.nit:6124 */
34713 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
34714 /* ./parser//parser_prod.nit:6125 */
34715 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
34716 stack_frame_head = fra.me.prev;
34717 return;
34718 }
34719 void parser_prod___ALeExpr___n_expr2__eq(val_t p0, val_t p1){
34720 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
34721 val_t tmp;
34722 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34723 fra.me.file = LOCATE_parser_prod;
34724 fra.me.line = 6127;
34725 fra.me.meth = LOCATE_parser_prod___ALeExpr___n_expr2__eq;
34726 fra.me.has_broke = 0;
34727 fra.me.REG_size = 2;
34728 fra.me.REG[0] = NIT_NULL;
34729 fra.me.REG[1] = NIT_NULL;
34730 fra.me.REG[0] = p0;
34731 fra.me.REG[1] = p1;
34732 /* ./parser//parser_prod.nit:6129 */
34733 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[1];
34734 /* ./parser//parser_prod.nit:6130 */
34735 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
34736 stack_frame_head = fra.me.prev;
34737 return;
34738 }
34739 void parser_prod___ALeExpr___replace_child(val_t p0, val_t p1, val_t p2){
34740 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
34741 val_t REGB0;
34742 val_t REGB1;
34743 val_t tmp;
34744 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34745 fra.me.file = LOCATE_parser_prod;
34746 fra.me.line = 6147;
34747 fra.me.meth = LOCATE_parser_prod___ALeExpr___replace_child;
34748 fra.me.has_broke = 0;
34749 fra.me.REG_size = 4;
34750 fra.me.REG[0] = NIT_NULL;
34751 fra.me.REG[1] = NIT_NULL;
34752 fra.me.REG[2] = NIT_NULL;
34753 fra.me.REG[3] = NIT_NULL;
34754 fra.me.REG[0] = p0;
34755 fra.me.REG[1] = p1;
34756 fra.me.REG[2] = p2;
34757 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
34758 /* ./parser//parser_prod.nit:6149 */
34759 if (UNTAG_Bool(REGB0)) {
34760 } else {
34761 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
34762 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6149);
34763 nit_exit(1);
34764 }
34765 fra.me.REG[3] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
34766 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
34767 if (UNTAG_Bool(REGB0)) {
34768 } else {
34769 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
34770 REGB0 = REGB1;
34771 }
34772 if (UNTAG_Bool(REGB0)) {
34773 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
34774 /* ./parser//parser_prod.nit:6150 */
34775 if (UNTAG_Bool(REGB0)) {
34776 } else {
34777 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
34778 if (UNTAG_Bool(REGB1)) {
34779 REGB1 = TAG_Bool(false);
34780 REGB0 = REGB1;
34781 } else {
34782 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
34783 REGB0 = REGB1;
34784 }
34785 }
34786 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
34787 if (UNTAG_Bool(REGB0)) {
34788 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
34789 /* ./parser//parser_prod.nit:6151 */
34790 if (UNTAG_Bool(REGB0)) {
34791 fprintf(stderr, "Reciever is null");
34792 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6151);
34793 nit_exit(1);
34794 }
34795 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
34796 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
34797 /* ./parser//parser_prod.nit:6152 */
34798 if (UNTAG_Bool(REGB0)) {
34799 } else {
34800 fprintf(stderr, "Assert failed");
34801 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6152);
34802 nit_exit(1);
34803 }
34804 /* ./parser//parser_prod.nit:6153 */
34805 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
34806 } else {
34807 /* ./parser//parser_prod.nit:6155 */
34808 fprintf(stderr, "Aborted");
34809 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6155);
34810 nit_exit(1);
34811 }
34812 /* ./parser//parser_prod.nit:6157 */
34813 goto label1;
34814 }
34815 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
34816 /* ./parser//parser_prod.nit:6159 */
34817 if (UNTAG_Bool(REGB0)) {
34818 } else {
34819 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
34820 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6159);
34821 nit_exit(1);
34822 }
34823 fra.me.REG[3] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
34824 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
34825 if (UNTAG_Bool(REGB0)) {
34826 } else {
34827 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
34828 REGB0 = REGB1;
34829 }
34830 if (UNTAG_Bool(REGB0)) {
34831 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
34832 /* ./parser//parser_prod.nit:6160 */
34833 if (UNTAG_Bool(REGB0)) {
34834 } else {
34835 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
34836 if (UNTAG_Bool(REGB1)) {
34837 REGB1 = TAG_Bool(false);
34838 REGB0 = REGB1;
34839 } else {
34840 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
34841 REGB0 = REGB1;
34842 }
34843 }
34844 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
34845 if (UNTAG_Bool(REGB0)) {
34846 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
34847 /* ./parser//parser_prod.nit:6161 */
34848 if (UNTAG_Bool(REGB0)) {
34849 fprintf(stderr, "Reciever is null");
34850 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6161);
34851 nit_exit(1);
34852 }
34853 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
34854 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
34855 /* ./parser//parser_prod.nit:6162 */
34856 if (UNTAG_Bool(REGB0)) {
34857 } else {
34858 fprintf(stderr, "Assert failed");
34859 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6162);
34860 nit_exit(1);
34861 }
34862 /* ./parser//parser_prod.nit:6163 */
34863 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
34864 } else {
34865 /* ./parser//parser_prod.nit:6165 */
34866 fprintf(stderr, "Aborted");
34867 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6165);
34868 nit_exit(1);
34869 }
34870 /* ./parser//parser_prod.nit:6167 */
34871 goto label1;
34872 }
34873 label1: while(0);
34874 stack_frame_head = fra.me.prev;
34875 return;
34876 }
34877 void parser_prod___ALeExpr___visit_all(val_t p0, val_t p1){
34878 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
34879 val_t REGB0;
34880 val_t tmp;
34881 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34882 fra.me.file = LOCATE_parser_prod;
34883 fra.me.line = 6171;
34884 fra.me.meth = LOCATE_parser_prod___ALeExpr___visit_all;
34885 fra.me.has_broke = 0;
34886 fra.me.REG_size = 3;
34887 fra.me.REG[0] = NIT_NULL;
34888 fra.me.REG[1] = NIT_NULL;
34889 fra.me.REG[2] = NIT_NULL;
34890 fra.me.REG[0] = p0;
34891 fra.me.REG[1] = p1;
34892 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
34893 /* ./parser//parser_prod.nit:6173 */
34894 if (UNTAG_Bool(REGB0)) {
34895 } else {
34896 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
34897 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6173);
34898 nit_exit(1);
34899 }
34900 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
34901 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
34902 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
34903 /* ./parser//parser_prod.nit:6174 */
34904 if (UNTAG_Bool(REGB0)) {
34905 } else {
34906 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
34907 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6174);
34908 nit_exit(1);
34909 }
34910 fra.me.REG[0] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
34911 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
34912 stack_frame_head = fra.me.prev;
34913 return;
34914 }
34915 void parser_prod___ALeExpr___visit_all_reverse(val_t p0, val_t p1){
34916 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
34917 val_t REGB0;
34918 val_t tmp;
34919 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34920 fra.me.file = LOCATE_parser_prod;
34921 fra.me.line = 6177;
34922 fra.me.meth = LOCATE_parser_prod___ALeExpr___visit_all_reverse;
34923 fra.me.has_broke = 0;
34924 fra.me.REG_size = 3;
34925 fra.me.REG[0] = NIT_NULL;
34926 fra.me.REG[1] = NIT_NULL;
34927 fra.me.REG[2] = NIT_NULL;
34928 fra.me.REG[0] = p0;
34929 fra.me.REG[1] = p1;
34930 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
34931 /* ./parser//parser_prod.nit:6179 */
34932 if (UNTAG_Bool(REGB0)) {
34933 } else {
34934 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
34935 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6179);
34936 nit_exit(1);
34937 }
34938 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
34939 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
34940 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
34941 /* ./parser//parser_prod.nit:6180 */
34942 if (UNTAG_Bool(REGB0)) {
34943 } else {
34944 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
34945 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6180);
34946 nit_exit(1);
34947 }
34948 fra.me.REG[0] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
34949 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
34950 stack_frame_head = fra.me.prev;
34951 return;
34952 }
34953 void parser_prod___ALeExpr___empty_init(val_t p0, int* init_table){
34954 int itpos145 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ALeExpr].i;
34955 struct {struct stack_frame_t me;} fra;
34956 val_t tmp;
34957 if (init_table[itpos145]) return;
34958 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34959 fra.me.file = LOCATE_parser_prod;
34960 fra.me.line = 6133;
34961 fra.me.meth = LOCATE_parser_prod___ALeExpr___empty_init;
34962 fra.me.has_broke = 0;
34963 fra.me.REG_size = 1;
34964 fra.me.REG[0] = NIT_NULL;
34965 fra.me.REG[0] = p0;
34966 /* ./parser//parser_prod.nit:6133 */
34967 stack_frame_head = fra.me.prev;
34968 init_table[itpos145] = 1;
34969 return;
34970 }
34971 void parser_prod___ALeExpr___init_aleexpr(val_t p0, val_t p1, val_t p2, int* init_table){
34972 int itpos146 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ALeExpr].i;
34973 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
34974 val_t REGB0;
34975 val_t tmp;
34976 if (init_table[itpos146]) return;
34977 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
34978 fra.me.file = LOCATE_parser_prod;
34979 fra.me.line = 6135;
34980 fra.me.meth = LOCATE_parser_prod___ALeExpr___init_aleexpr;
34981 fra.me.has_broke = 0;
34982 fra.me.REG_size = 3;
34983 fra.me.REG[0] = NIT_NULL;
34984 fra.me.REG[1] = NIT_NULL;
34985 fra.me.REG[2] = NIT_NULL;
34986 fra.me.REG[0] = p0;
34987 fra.me.REG[1] = p1;
34988 fra.me.REG[2] = p2;
34989 /* ./parser//parser_prod.nit:6140 */
34990 CALL_parser_prod___ALeExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
34991 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
34992 /* ./parser//parser_prod.nit:6141 */
34993 if (UNTAG_Bool(REGB0)) {
34994 } else {
34995 fprintf(stderr, "Cast failed");
34996 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6141);
34997 nit_exit(1);
34998 }
34999 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
35000 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
35001 /* ./parser//parser_prod.nit:6142 */
35002 if (UNTAG_Bool(REGB0)) {
35003 fprintf(stderr, "Reciever is null");
35004 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6142);
35005 nit_exit(1);
35006 }
35007 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
35008 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
35009 /* ./parser//parser_prod.nit:6143 */
35010 if (UNTAG_Bool(REGB0)) {
35011 } else {
35012 fprintf(stderr, "Cast failed");
35013 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6143);
35014 nit_exit(1);
35015 }
35016 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
35017 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
35018 /* ./parser//parser_prod.nit:6144 */
35019 if (UNTAG_Bool(REGB0)) {
35020 fprintf(stderr, "Reciever is null");
35021 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6144);
35022 nit_exit(1);
35023 }
35024 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
35025 stack_frame_head = fra.me.prev;
35026 init_table[itpos146] = 1;
35027 return;
35028 }
35029 void parser_prod___AGtExpr___n_expr__eq(val_t p0, val_t p1){
35030 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
35031 val_t tmp;
35032 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35033 fra.me.file = LOCATE_parser_prod;
35034 fra.me.line = 6184;
35035 fra.me.meth = LOCATE_parser_prod___AGtExpr___n_expr__eq;
35036 fra.me.has_broke = 0;
35037 fra.me.REG_size = 2;
35038 fra.me.REG[0] = NIT_NULL;
35039 fra.me.REG[1] = NIT_NULL;
35040 fra.me.REG[0] = p0;
35041 fra.me.REG[1] = p1;
35042 /* ./parser//parser_prod.nit:6186 */
35043 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
35044 /* ./parser//parser_prod.nit:6187 */
35045 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
35046 stack_frame_head = fra.me.prev;
35047 return;
35048 }
35049 void parser_prod___AGtExpr___n_expr2__eq(val_t p0, val_t p1){
35050 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
35051 val_t tmp;
35052 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35053 fra.me.file = LOCATE_parser_prod;
35054 fra.me.line = 6189;
35055 fra.me.meth = LOCATE_parser_prod___AGtExpr___n_expr2__eq;
35056 fra.me.has_broke = 0;
35057 fra.me.REG_size = 2;
35058 fra.me.REG[0] = NIT_NULL;
35059 fra.me.REG[1] = NIT_NULL;
35060 fra.me.REG[0] = p0;
35061 fra.me.REG[1] = p1;
35062 /* ./parser//parser_prod.nit:6191 */
35063 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[1];
35064 /* ./parser//parser_prod.nit:6192 */
35065 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
35066 stack_frame_head = fra.me.prev;
35067 return;
35068 }
35069 void parser_prod___AGtExpr___replace_child(val_t p0, val_t p1, val_t p2){
35070 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
35071 val_t REGB0;
35072 val_t REGB1;
35073 val_t tmp;
35074 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35075 fra.me.file = LOCATE_parser_prod;
35076 fra.me.line = 6209;
35077 fra.me.meth = LOCATE_parser_prod___AGtExpr___replace_child;
35078 fra.me.has_broke = 0;
35079 fra.me.REG_size = 4;
35080 fra.me.REG[0] = NIT_NULL;
35081 fra.me.REG[1] = NIT_NULL;
35082 fra.me.REG[2] = NIT_NULL;
35083 fra.me.REG[3] = NIT_NULL;
35084 fra.me.REG[0] = p0;
35085 fra.me.REG[1] = p1;
35086 fra.me.REG[2] = p2;
35087 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
35088 /* ./parser//parser_prod.nit:6211 */
35089 if (UNTAG_Bool(REGB0)) {
35090 } else {
35091 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
35092 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6211);
35093 nit_exit(1);
35094 }
35095 fra.me.REG[3] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
35096 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
35097 if (UNTAG_Bool(REGB0)) {
35098 } else {
35099 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
35100 REGB0 = REGB1;
35101 }
35102 if (UNTAG_Bool(REGB0)) {
35103 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
35104 /* ./parser//parser_prod.nit:6212 */
35105 if (UNTAG_Bool(REGB0)) {
35106 } else {
35107 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
35108 if (UNTAG_Bool(REGB1)) {
35109 REGB1 = TAG_Bool(false);
35110 REGB0 = REGB1;
35111 } else {
35112 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
35113 REGB0 = REGB1;
35114 }
35115 }
35116 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
35117 if (UNTAG_Bool(REGB0)) {
35118 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
35119 /* ./parser//parser_prod.nit:6213 */
35120 if (UNTAG_Bool(REGB0)) {
35121 fprintf(stderr, "Reciever is null");
35122 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6213);
35123 nit_exit(1);
35124 }
35125 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
35126 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
35127 /* ./parser//parser_prod.nit:6214 */
35128 if (UNTAG_Bool(REGB0)) {
35129 } else {
35130 fprintf(stderr, "Assert failed");
35131 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6214);
35132 nit_exit(1);
35133 }
35134 /* ./parser//parser_prod.nit:6215 */
35135 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
35136 } else {
35137 /* ./parser//parser_prod.nit:6217 */
35138 fprintf(stderr, "Aborted");
35139 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6217);
35140 nit_exit(1);
35141 }
35142 /* ./parser//parser_prod.nit:6219 */
35143 goto label1;
35144 }
35145 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
35146 /* ./parser//parser_prod.nit:6221 */
35147 if (UNTAG_Bool(REGB0)) {
35148 } else {
35149 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
35150 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6221);
35151 nit_exit(1);
35152 }
35153 fra.me.REG[3] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
35154 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
35155 if (UNTAG_Bool(REGB0)) {
35156 } else {
35157 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
35158 REGB0 = REGB1;
35159 }
35160 if (UNTAG_Bool(REGB0)) {
35161 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
35162 /* ./parser//parser_prod.nit:6222 */
35163 if (UNTAG_Bool(REGB0)) {
35164 } else {
35165 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
35166 if (UNTAG_Bool(REGB1)) {
35167 REGB1 = TAG_Bool(false);
35168 REGB0 = REGB1;
35169 } else {
35170 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
35171 REGB0 = REGB1;
35172 }
35173 }
35174 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
35175 if (UNTAG_Bool(REGB0)) {
35176 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
35177 /* ./parser//parser_prod.nit:6223 */
35178 if (UNTAG_Bool(REGB0)) {
35179 fprintf(stderr, "Reciever is null");
35180 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6223);
35181 nit_exit(1);
35182 }
35183 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
35184 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
35185 /* ./parser//parser_prod.nit:6224 */
35186 if (UNTAG_Bool(REGB0)) {
35187 } else {
35188 fprintf(stderr, "Assert failed");
35189 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6224);
35190 nit_exit(1);
35191 }
35192 /* ./parser//parser_prod.nit:6225 */
35193 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
35194 } else {
35195 /* ./parser//parser_prod.nit:6227 */
35196 fprintf(stderr, "Aborted");
35197 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6227);
35198 nit_exit(1);
35199 }
35200 /* ./parser//parser_prod.nit:6229 */
35201 goto label1;
35202 }
35203 label1: while(0);
35204 stack_frame_head = fra.me.prev;
35205 return;
35206 }
35207 void parser_prod___AGtExpr___visit_all(val_t p0, val_t p1){
35208 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
35209 val_t REGB0;
35210 val_t tmp;
35211 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35212 fra.me.file = LOCATE_parser_prod;
35213 fra.me.line = 6233;
35214 fra.me.meth = LOCATE_parser_prod___AGtExpr___visit_all;
35215 fra.me.has_broke = 0;
35216 fra.me.REG_size = 3;
35217 fra.me.REG[0] = NIT_NULL;
35218 fra.me.REG[1] = NIT_NULL;
35219 fra.me.REG[2] = NIT_NULL;
35220 fra.me.REG[0] = p0;
35221 fra.me.REG[1] = p1;
35222 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
35223 /* ./parser//parser_prod.nit:6235 */
35224 if (UNTAG_Bool(REGB0)) {
35225 } else {
35226 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
35227 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6235);
35228 nit_exit(1);
35229 }
35230 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
35231 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
35232 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
35233 /* ./parser//parser_prod.nit:6236 */
35234 if (UNTAG_Bool(REGB0)) {
35235 } else {
35236 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
35237 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6236);
35238 nit_exit(1);
35239 }
35240 fra.me.REG[0] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
35241 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
35242 stack_frame_head = fra.me.prev;
35243 return;
35244 }
35245 void parser_prod___AGtExpr___visit_all_reverse(val_t p0, val_t p1){
35246 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
35247 val_t REGB0;
35248 val_t tmp;
35249 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35250 fra.me.file = LOCATE_parser_prod;
35251 fra.me.line = 6239;
35252 fra.me.meth = LOCATE_parser_prod___AGtExpr___visit_all_reverse;
35253 fra.me.has_broke = 0;
35254 fra.me.REG_size = 3;
35255 fra.me.REG[0] = NIT_NULL;
35256 fra.me.REG[1] = NIT_NULL;
35257 fra.me.REG[2] = NIT_NULL;
35258 fra.me.REG[0] = p0;
35259 fra.me.REG[1] = p1;
35260 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
35261 /* ./parser//parser_prod.nit:6241 */
35262 if (UNTAG_Bool(REGB0)) {
35263 } else {
35264 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
35265 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6241);
35266 nit_exit(1);
35267 }
35268 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
35269 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
35270 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
35271 /* ./parser//parser_prod.nit:6242 */
35272 if (UNTAG_Bool(REGB0)) {
35273 } else {
35274 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
35275 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6242);
35276 nit_exit(1);
35277 }
35278 fra.me.REG[0] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
35279 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
35280 stack_frame_head = fra.me.prev;
35281 return;
35282 }
35283 void parser_prod___AGtExpr___empty_init(val_t p0, int* init_table){
35284 int itpos147 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AGtExpr].i;
35285 struct {struct stack_frame_t me;} fra;
35286 val_t tmp;
35287 if (init_table[itpos147]) return;
35288 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35289 fra.me.file = LOCATE_parser_prod;
35290 fra.me.line = 6195;
35291 fra.me.meth = LOCATE_parser_prod___AGtExpr___empty_init;
35292 fra.me.has_broke = 0;
35293 fra.me.REG_size = 1;
35294 fra.me.REG[0] = NIT_NULL;
35295 fra.me.REG[0] = p0;
35296 /* ./parser//parser_prod.nit:6195 */
35297 stack_frame_head = fra.me.prev;
35298 init_table[itpos147] = 1;
35299 return;
35300 }
35301 void parser_prod___AGtExpr___init_agtexpr(val_t p0, val_t p1, val_t p2, int* init_table){
35302 int itpos148 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AGtExpr].i;
35303 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
35304 val_t REGB0;
35305 val_t tmp;
35306 if (init_table[itpos148]) return;
35307 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35308 fra.me.file = LOCATE_parser_prod;
35309 fra.me.line = 6197;
35310 fra.me.meth = LOCATE_parser_prod___AGtExpr___init_agtexpr;
35311 fra.me.has_broke = 0;
35312 fra.me.REG_size = 3;
35313 fra.me.REG[0] = NIT_NULL;
35314 fra.me.REG[1] = NIT_NULL;
35315 fra.me.REG[2] = NIT_NULL;
35316 fra.me.REG[0] = p0;
35317 fra.me.REG[1] = p1;
35318 fra.me.REG[2] = p2;
35319 /* ./parser//parser_prod.nit:6202 */
35320 CALL_parser_prod___AGtExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
35321 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
35322 /* ./parser//parser_prod.nit:6203 */
35323 if (UNTAG_Bool(REGB0)) {
35324 } else {
35325 fprintf(stderr, "Cast failed");
35326 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6203);
35327 nit_exit(1);
35328 }
35329 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
35330 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
35331 /* ./parser//parser_prod.nit:6204 */
35332 if (UNTAG_Bool(REGB0)) {
35333 fprintf(stderr, "Reciever is null");
35334 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6204);
35335 nit_exit(1);
35336 }
35337 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
35338 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
35339 /* ./parser//parser_prod.nit:6205 */
35340 if (UNTAG_Bool(REGB0)) {
35341 } else {
35342 fprintf(stderr, "Cast failed");
35343 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6205);
35344 nit_exit(1);
35345 }
35346 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
35347 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
35348 /* ./parser//parser_prod.nit:6206 */
35349 if (UNTAG_Bool(REGB0)) {
35350 fprintf(stderr, "Reciever is null");
35351 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6206);
35352 nit_exit(1);
35353 }
35354 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
35355 stack_frame_head = fra.me.prev;
35356 init_table[itpos148] = 1;
35357 return;
35358 }
35359 void parser_prod___AGeExpr___n_expr__eq(val_t p0, val_t p1){
35360 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
35361 val_t tmp;
35362 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35363 fra.me.file = LOCATE_parser_prod;
35364 fra.me.line = 6246;
35365 fra.me.meth = LOCATE_parser_prod___AGeExpr___n_expr__eq;
35366 fra.me.has_broke = 0;
35367 fra.me.REG_size = 2;
35368 fra.me.REG[0] = NIT_NULL;
35369 fra.me.REG[1] = NIT_NULL;
35370 fra.me.REG[0] = p0;
35371 fra.me.REG[1] = p1;
35372 /* ./parser//parser_prod.nit:6248 */
35373 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
35374 /* ./parser//parser_prod.nit:6249 */
35375 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
35376 stack_frame_head = fra.me.prev;
35377 return;
35378 }
35379 void parser_prod___AGeExpr___n_expr2__eq(val_t p0, val_t p1){
35380 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
35381 val_t tmp;
35382 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35383 fra.me.file = LOCATE_parser_prod;
35384 fra.me.line = 6251;
35385 fra.me.meth = LOCATE_parser_prod___AGeExpr___n_expr2__eq;
35386 fra.me.has_broke = 0;
35387 fra.me.REG_size = 2;
35388 fra.me.REG[0] = NIT_NULL;
35389 fra.me.REG[1] = NIT_NULL;
35390 fra.me.REG[0] = p0;
35391 fra.me.REG[1] = p1;
35392 /* ./parser//parser_prod.nit:6253 */
35393 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[1];
35394 /* ./parser//parser_prod.nit:6254 */
35395 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
35396 stack_frame_head = fra.me.prev;
35397 return;
35398 }
35399 void parser_prod___AGeExpr___replace_child(val_t p0, val_t p1, val_t p2){
35400 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
35401 val_t REGB0;
35402 val_t REGB1;
35403 val_t tmp;
35404 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35405 fra.me.file = LOCATE_parser_prod;
35406 fra.me.line = 6271;
35407 fra.me.meth = LOCATE_parser_prod___AGeExpr___replace_child;
35408 fra.me.has_broke = 0;
35409 fra.me.REG_size = 4;
35410 fra.me.REG[0] = NIT_NULL;
35411 fra.me.REG[1] = NIT_NULL;
35412 fra.me.REG[2] = NIT_NULL;
35413 fra.me.REG[3] = NIT_NULL;
35414 fra.me.REG[0] = p0;
35415 fra.me.REG[1] = p1;
35416 fra.me.REG[2] = p2;
35417 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
35418 /* ./parser//parser_prod.nit:6273 */
35419 if (UNTAG_Bool(REGB0)) {
35420 } else {
35421 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
35422 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6273);
35423 nit_exit(1);
35424 }
35425 fra.me.REG[3] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
35426 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
35427 if (UNTAG_Bool(REGB0)) {
35428 } else {
35429 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
35430 REGB0 = REGB1;
35431 }
35432 if (UNTAG_Bool(REGB0)) {
35433 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
35434 /* ./parser//parser_prod.nit:6274 */
35435 if (UNTAG_Bool(REGB0)) {
35436 } else {
35437 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
35438 if (UNTAG_Bool(REGB1)) {
35439 REGB1 = TAG_Bool(false);
35440 REGB0 = REGB1;
35441 } else {
35442 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
35443 REGB0 = REGB1;
35444 }
35445 }
35446 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
35447 if (UNTAG_Bool(REGB0)) {
35448 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
35449 /* ./parser//parser_prod.nit:6275 */
35450 if (UNTAG_Bool(REGB0)) {
35451 fprintf(stderr, "Reciever is null");
35452 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6275);
35453 nit_exit(1);
35454 }
35455 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
35456 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
35457 /* ./parser//parser_prod.nit:6276 */
35458 if (UNTAG_Bool(REGB0)) {
35459 } else {
35460 fprintf(stderr, "Assert failed");
35461 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6276);
35462 nit_exit(1);
35463 }
35464 /* ./parser//parser_prod.nit:6277 */
35465 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
35466 } else {
35467 /* ./parser//parser_prod.nit:6279 */
35468 fprintf(stderr, "Aborted");
35469 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6279);
35470 nit_exit(1);
35471 }
35472 /* ./parser//parser_prod.nit:6281 */
35473 goto label1;
35474 }
35475 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
35476 /* ./parser//parser_prod.nit:6283 */
35477 if (UNTAG_Bool(REGB0)) {
35478 } else {
35479 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
35480 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6283);
35481 nit_exit(1);
35482 }
35483 fra.me.REG[3] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
35484 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
35485 if (UNTAG_Bool(REGB0)) {
35486 } else {
35487 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
35488 REGB0 = REGB1;
35489 }
35490 if (UNTAG_Bool(REGB0)) {
35491 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
35492 /* ./parser//parser_prod.nit:6284 */
35493 if (UNTAG_Bool(REGB0)) {
35494 } else {
35495 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
35496 if (UNTAG_Bool(REGB1)) {
35497 REGB1 = TAG_Bool(false);
35498 REGB0 = REGB1;
35499 } else {
35500 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
35501 REGB0 = REGB1;
35502 }
35503 }
35504 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
35505 if (UNTAG_Bool(REGB0)) {
35506 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
35507 /* ./parser//parser_prod.nit:6285 */
35508 if (UNTAG_Bool(REGB0)) {
35509 fprintf(stderr, "Reciever is null");
35510 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6285);
35511 nit_exit(1);
35512 }
35513 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
35514 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
35515 /* ./parser//parser_prod.nit:6286 */
35516 if (UNTAG_Bool(REGB0)) {
35517 } else {
35518 fprintf(stderr, "Assert failed");
35519 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6286);
35520 nit_exit(1);
35521 }
35522 /* ./parser//parser_prod.nit:6287 */
35523 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
35524 } else {
35525 /* ./parser//parser_prod.nit:6289 */
35526 fprintf(stderr, "Aborted");
35527 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6289);
35528 nit_exit(1);
35529 }
35530 /* ./parser//parser_prod.nit:6291 */
35531 goto label1;
35532 }
35533 label1: while(0);
35534 stack_frame_head = fra.me.prev;
35535 return;
35536 }
35537 void parser_prod___AGeExpr___visit_all(val_t p0, val_t p1){
35538 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
35539 val_t REGB0;
35540 val_t tmp;
35541 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35542 fra.me.file = LOCATE_parser_prod;
35543 fra.me.line = 6295;
35544 fra.me.meth = LOCATE_parser_prod___AGeExpr___visit_all;
35545 fra.me.has_broke = 0;
35546 fra.me.REG_size = 3;
35547 fra.me.REG[0] = NIT_NULL;
35548 fra.me.REG[1] = NIT_NULL;
35549 fra.me.REG[2] = NIT_NULL;
35550 fra.me.REG[0] = p0;
35551 fra.me.REG[1] = p1;
35552 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
35553 /* ./parser//parser_prod.nit:6297 */
35554 if (UNTAG_Bool(REGB0)) {
35555 } else {
35556 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
35557 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6297);
35558 nit_exit(1);
35559 }
35560 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
35561 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
35562 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
35563 /* ./parser//parser_prod.nit:6298 */
35564 if (UNTAG_Bool(REGB0)) {
35565 } else {
35566 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
35567 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6298);
35568 nit_exit(1);
35569 }
35570 fra.me.REG[0] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
35571 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
35572 stack_frame_head = fra.me.prev;
35573 return;
35574 }
35575 void parser_prod___AGeExpr___visit_all_reverse(val_t p0, val_t p1){
35576 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
35577 val_t REGB0;
35578 val_t tmp;
35579 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35580 fra.me.file = LOCATE_parser_prod;
35581 fra.me.line = 6301;
35582 fra.me.meth = LOCATE_parser_prod___AGeExpr___visit_all_reverse;
35583 fra.me.has_broke = 0;
35584 fra.me.REG_size = 3;
35585 fra.me.REG[0] = NIT_NULL;
35586 fra.me.REG[1] = NIT_NULL;
35587 fra.me.REG[2] = NIT_NULL;
35588 fra.me.REG[0] = p0;
35589 fra.me.REG[1] = p1;
35590 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
35591 /* ./parser//parser_prod.nit:6303 */
35592 if (UNTAG_Bool(REGB0)) {
35593 } else {
35594 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
35595 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6303);
35596 nit_exit(1);
35597 }
35598 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
35599 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
35600 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
35601 /* ./parser//parser_prod.nit:6304 */
35602 if (UNTAG_Bool(REGB0)) {
35603 } else {
35604 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
35605 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6304);
35606 nit_exit(1);
35607 }
35608 fra.me.REG[0] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
35609 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
35610 stack_frame_head = fra.me.prev;
35611 return;
35612 }
35613 void parser_prod___AGeExpr___empty_init(val_t p0, int* init_table){
35614 int itpos149 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AGeExpr].i;
35615 struct {struct stack_frame_t me;} fra;
35616 val_t tmp;
35617 if (init_table[itpos149]) return;
35618 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35619 fra.me.file = LOCATE_parser_prod;
35620 fra.me.line = 6257;
35621 fra.me.meth = LOCATE_parser_prod___AGeExpr___empty_init;
35622 fra.me.has_broke = 0;
35623 fra.me.REG_size = 1;
35624 fra.me.REG[0] = NIT_NULL;
35625 fra.me.REG[0] = p0;
35626 /* ./parser//parser_prod.nit:6257 */
35627 stack_frame_head = fra.me.prev;
35628 init_table[itpos149] = 1;
35629 return;
35630 }
35631 void parser_prod___AGeExpr___init_ageexpr(val_t p0, val_t p1, val_t p2, int* init_table){
35632 int itpos150 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AGeExpr].i;
35633 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
35634 val_t REGB0;
35635 val_t tmp;
35636 if (init_table[itpos150]) return;
35637 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35638 fra.me.file = LOCATE_parser_prod;
35639 fra.me.line = 6259;
35640 fra.me.meth = LOCATE_parser_prod___AGeExpr___init_ageexpr;
35641 fra.me.has_broke = 0;
35642 fra.me.REG_size = 3;
35643 fra.me.REG[0] = NIT_NULL;
35644 fra.me.REG[1] = NIT_NULL;
35645 fra.me.REG[2] = NIT_NULL;
35646 fra.me.REG[0] = p0;
35647 fra.me.REG[1] = p1;
35648 fra.me.REG[2] = p2;
35649 /* ./parser//parser_prod.nit:6264 */
35650 CALL_parser_prod___AGeExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
35651 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
35652 /* ./parser//parser_prod.nit:6265 */
35653 if (UNTAG_Bool(REGB0)) {
35654 } else {
35655 fprintf(stderr, "Cast failed");
35656 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6265);
35657 nit_exit(1);
35658 }
35659 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
35660 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
35661 /* ./parser//parser_prod.nit:6266 */
35662 if (UNTAG_Bool(REGB0)) {
35663 fprintf(stderr, "Reciever is null");
35664 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6266);
35665 nit_exit(1);
35666 }
35667 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
35668 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
35669 /* ./parser//parser_prod.nit:6267 */
35670 if (UNTAG_Bool(REGB0)) {
35671 } else {
35672 fprintf(stderr, "Cast failed");
35673 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6267);
35674 nit_exit(1);
35675 }
35676 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
35677 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
35678 /* ./parser//parser_prod.nit:6268 */
35679 if (UNTAG_Bool(REGB0)) {
35680 fprintf(stderr, "Reciever is null");
35681 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6268);
35682 nit_exit(1);
35683 }
35684 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
35685 stack_frame_head = fra.me.prev;
35686 init_table[itpos150] = 1;
35687 return;
35688 }
35689 void parser_prod___AIsaExpr___n_expr__eq(val_t p0, val_t p1){
35690 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
35691 val_t tmp;
35692 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35693 fra.me.file = LOCATE_parser_prod;
35694 fra.me.line = 6308;
35695 fra.me.meth = LOCATE_parser_prod___AIsaExpr___n_expr__eq;
35696 fra.me.has_broke = 0;
35697 fra.me.REG_size = 2;
35698 fra.me.REG[0] = NIT_NULL;
35699 fra.me.REG[1] = NIT_NULL;
35700 fra.me.REG[0] = p0;
35701 fra.me.REG[1] = p1;
35702 /* ./parser//parser_prod.nit:6310 */
35703 ATTR_parser_nodes___AIsaExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
35704 /* ./parser//parser_prod.nit:6311 */
35705 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
35706 stack_frame_head = fra.me.prev;
35707 return;
35708 }
35709 void parser_prod___AIsaExpr___n_type__eq(val_t p0, val_t p1){
35710 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
35711 val_t tmp;
35712 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35713 fra.me.file = LOCATE_parser_prod;
35714 fra.me.line = 6313;
35715 fra.me.meth = LOCATE_parser_prod___AIsaExpr___n_type__eq;
35716 fra.me.has_broke = 0;
35717 fra.me.REG_size = 2;
35718 fra.me.REG[0] = NIT_NULL;
35719 fra.me.REG[1] = NIT_NULL;
35720 fra.me.REG[0] = p0;
35721 fra.me.REG[1] = p1;
35722 /* ./parser//parser_prod.nit:6315 */
35723 ATTR_parser_nodes___AIsaExpr____n_type(fra.me.REG[0]) = fra.me.REG[1];
35724 /* ./parser//parser_prod.nit:6316 */
35725 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
35726 stack_frame_head = fra.me.prev;
35727 return;
35728 }
35729 void parser_prod___AIsaExpr___replace_child(val_t p0, val_t p1, val_t p2){
35730 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
35731 val_t REGB0;
35732 val_t REGB1;
35733 val_t tmp;
35734 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35735 fra.me.file = LOCATE_parser_prod;
35736 fra.me.line = 6333;
35737 fra.me.meth = LOCATE_parser_prod___AIsaExpr___replace_child;
35738 fra.me.has_broke = 0;
35739 fra.me.REG_size = 4;
35740 fra.me.REG[0] = NIT_NULL;
35741 fra.me.REG[1] = NIT_NULL;
35742 fra.me.REG[2] = NIT_NULL;
35743 fra.me.REG[3] = NIT_NULL;
35744 fra.me.REG[0] = p0;
35745 fra.me.REG[1] = p1;
35746 fra.me.REG[2] = p2;
35747 REGB0 = TAG_Bool(ATTR_parser_nodes___AIsaExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
35748 /* ./parser//parser_prod.nit:6335 */
35749 if (UNTAG_Bool(REGB0)) {
35750 } else {
35751 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
35752 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6335);
35753 nit_exit(1);
35754 }
35755 fra.me.REG[3] = ATTR_parser_nodes___AIsaExpr____n_expr(fra.me.REG[0]);
35756 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
35757 if (UNTAG_Bool(REGB0)) {
35758 } else {
35759 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
35760 REGB0 = REGB1;
35761 }
35762 if (UNTAG_Bool(REGB0)) {
35763 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
35764 /* ./parser//parser_prod.nit:6336 */
35765 if (UNTAG_Bool(REGB0)) {
35766 } else {
35767 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
35768 if (UNTAG_Bool(REGB1)) {
35769 REGB1 = TAG_Bool(false);
35770 REGB0 = REGB1;
35771 } else {
35772 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
35773 REGB0 = REGB1;
35774 }
35775 }
35776 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
35777 if (UNTAG_Bool(REGB0)) {
35778 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
35779 /* ./parser//parser_prod.nit:6337 */
35780 if (UNTAG_Bool(REGB0)) {
35781 fprintf(stderr, "Reciever is null");
35782 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6337);
35783 nit_exit(1);
35784 }
35785 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
35786 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
35787 /* ./parser//parser_prod.nit:6338 */
35788 if (UNTAG_Bool(REGB0)) {
35789 } else {
35790 fprintf(stderr, "Assert failed");
35791 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6338);
35792 nit_exit(1);
35793 }
35794 /* ./parser//parser_prod.nit:6339 */
35795 ATTR_parser_nodes___AIsaExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
35796 } else {
35797 /* ./parser//parser_prod.nit:6341 */
35798 fprintf(stderr, "Aborted");
35799 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6341);
35800 nit_exit(1);
35801 }
35802 /* ./parser//parser_prod.nit:6343 */
35803 goto label1;
35804 }
35805 REGB0 = TAG_Bool(ATTR_parser_nodes___AIsaExpr____n_type(fra.me.REG[0])!=NIT_NULL);
35806 /* ./parser//parser_prod.nit:6345 */
35807 if (UNTAG_Bool(REGB0)) {
35808 } else {
35809 fprintf(stderr, "Uninitialized attribute %s", "_n_type");
35810 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6345);
35811 nit_exit(1);
35812 }
35813 fra.me.REG[3] = ATTR_parser_nodes___AIsaExpr____n_type(fra.me.REG[0]);
35814 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
35815 if (UNTAG_Bool(REGB0)) {
35816 } else {
35817 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
35818 REGB0 = REGB1;
35819 }
35820 if (UNTAG_Bool(REGB0)) {
35821 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
35822 /* ./parser//parser_prod.nit:6346 */
35823 if (UNTAG_Bool(REGB0)) {
35824 } else {
35825 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
35826 if (UNTAG_Bool(REGB1)) {
35827 REGB1 = TAG_Bool(false);
35828 REGB0 = REGB1;
35829 } else {
35830 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
35831 REGB0 = REGB1;
35832 }
35833 }
35834 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
35835 if (UNTAG_Bool(REGB0)) {
35836 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
35837 /* ./parser//parser_prod.nit:6347 */
35838 if (UNTAG_Bool(REGB0)) {
35839 fprintf(stderr, "Reciever is null");
35840 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6347);
35841 nit_exit(1);
35842 }
35843 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
35844 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast AType*/;
35845 /* ./parser//parser_prod.nit:6348 */
35846 if (UNTAG_Bool(REGB0)) {
35847 } else {
35848 fprintf(stderr, "Assert failed");
35849 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6348);
35850 nit_exit(1);
35851 }
35852 /* ./parser//parser_prod.nit:6349 */
35853 ATTR_parser_nodes___AIsaExpr____n_type(fra.me.REG[0]) = fra.me.REG[2];
35854 } else {
35855 /* ./parser//parser_prod.nit:6351 */
35856 fprintf(stderr, "Aborted");
35857 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6351);
35858 nit_exit(1);
35859 }
35860 /* ./parser//parser_prod.nit:6353 */
35861 goto label1;
35862 }
35863 label1: while(0);
35864 stack_frame_head = fra.me.prev;
35865 return;
35866 }
35867 void parser_prod___AIsaExpr___visit_all(val_t p0, val_t p1){
35868 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
35869 val_t REGB0;
35870 val_t tmp;
35871 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35872 fra.me.file = LOCATE_parser_prod;
35873 fra.me.line = 6357;
35874 fra.me.meth = LOCATE_parser_prod___AIsaExpr___visit_all;
35875 fra.me.has_broke = 0;
35876 fra.me.REG_size = 3;
35877 fra.me.REG[0] = NIT_NULL;
35878 fra.me.REG[1] = NIT_NULL;
35879 fra.me.REG[2] = NIT_NULL;
35880 fra.me.REG[0] = p0;
35881 fra.me.REG[1] = p1;
35882 REGB0 = TAG_Bool(ATTR_parser_nodes___AIsaExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
35883 /* ./parser//parser_prod.nit:6359 */
35884 if (UNTAG_Bool(REGB0)) {
35885 } else {
35886 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
35887 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6359);
35888 nit_exit(1);
35889 }
35890 fra.me.REG[2] = ATTR_parser_nodes___AIsaExpr____n_expr(fra.me.REG[0]);
35891 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
35892 REGB0 = TAG_Bool(ATTR_parser_nodes___AIsaExpr____n_type(fra.me.REG[0])!=NIT_NULL);
35893 /* ./parser//parser_prod.nit:6360 */
35894 if (UNTAG_Bool(REGB0)) {
35895 } else {
35896 fprintf(stderr, "Uninitialized attribute %s", "_n_type");
35897 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6360);
35898 nit_exit(1);
35899 }
35900 fra.me.REG[0] = ATTR_parser_nodes___AIsaExpr____n_type(fra.me.REG[0]);
35901 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
35902 stack_frame_head = fra.me.prev;
35903 return;
35904 }
35905 void parser_prod___AIsaExpr___visit_all_reverse(val_t p0, val_t p1){
35906 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
35907 val_t REGB0;
35908 val_t tmp;
35909 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35910 fra.me.file = LOCATE_parser_prod;
35911 fra.me.line = 6363;
35912 fra.me.meth = LOCATE_parser_prod___AIsaExpr___visit_all_reverse;
35913 fra.me.has_broke = 0;
35914 fra.me.REG_size = 3;
35915 fra.me.REG[0] = NIT_NULL;
35916 fra.me.REG[1] = NIT_NULL;
35917 fra.me.REG[2] = NIT_NULL;
35918 fra.me.REG[0] = p0;
35919 fra.me.REG[1] = p1;
35920 REGB0 = TAG_Bool(ATTR_parser_nodes___AIsaExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
35921 /* ./parser//parser_prod.nit:6365 */
35922 if (UNTAG_Bool(REGB0)) {
35923 } else {
35924 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
35925 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6365);
35926 nit_exit(1);
35927 }
35928 fra.me.REG[2] = ATTR_parser_nodes___AIsaExpr____n_expr(fra.me.REG[0]);
35929 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
35930 REGB0 = TAG_Bool(ATTR_parser_nodes___AIsaExpr____n_type(fra.me.REG[0])!=NIT_NULL);
35931 /* ./parser//parser_prod.nit:6366 */
35932 if (UNTAG_Bool(REGB0)) {
35933 } else {
35934 fprintf(stderr, "Uninitialized attribute %s", "_n_type");
35935 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6366);
35936 nit_exit(1);
35937 }
35938 fra.me.REG[0] = ATTR_parser_nodes___AIsaExpr____n_type(fra.me.REG[0]);
35939 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
35940 stack_frame_head = fra.me.prev;
35941 return;
35942 }
35943 void parser_prod___AIsaExpr___empty_init(val_t p0, int* init_table){
35944 int itpos151 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AIsaExpr].i;
35945 struct {struct stack_frame_t me;} fra;
35946 val_t tmp;
35947 if (init_table[itpos151]) return;
35948 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35949 fra.me.file = LOCATE_parser_prod;
35950 fra.me.line = 6319;
35951 fra.me.meth = LOCATE_parser_prod___AIsaExpr___empty_init;
35952 fra.me.has_broke = 0;
35953 fra.me.REG_size = 1;
35954 fra.me.REG[0] = NIT_NULL;
35955 fra.me.REG[0] = p0;
35956 /* ./parser//parser_prod.nit:6319 */
35957 stack_frame_head = fra.me.prev;
35958 init_table[itpos151] = 1;
35959 return;
35960 }
35961 void parser_prod___AIsaExpr___init_aisaexpr(val_t p0, val_t p1, val_t p2, int* init_table){
35962 int itpos152 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AIsaExpr].i;
35963 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
35964 val_t REGB0;
35965 val_t tmp;
35966 if (init_table[itpos152]) return;
35967 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
35968 fra.me.file = LOCATE_parser_prod;
35969 fra.me.line = 6321;
35970 fra.me.meth = LOCATE_parser_prod___AIsaExpr___init_aisaexpr;
35971 fra.me.has_broke = 0;
35972 fra.me.REG_size = 3;
35973 fra.me.REG[0] = NIT_NULL;
35974 fra.me.REG[1] = NIT_NULL;
35975 fra.me.REG[2] = NIT_NULL;
35976 fra.me.REG[0] = p0;
35977 fra.me.REG[1] = p1;
35978 fra.me.REG[2] = p2;
35979 /* ./parser//parser_prod.nit:6326 */
35980 CALL_parser_prod___AIsaExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
35981 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
35982 /* ./parser//parser_prod.nit:6327 */
35983 if (UNTAG_Bool(REGB0)) {
35984 } else {
35985 fprintf(stderr, "Cast failed");
35986 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6327);
35987 nit_exit(1);
35988 }
35989 ATTR_parser_nodes___AIsaExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
35990 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
35991 /* ./parser//parser_prod.nit:6328 */
35992 if (UNTAG_Bool(REGB0)) {
35993 fprintf(stderr, "Reciever is null");
35994 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6328);
35995 nit_exit(1);
35996 }
35997 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
35998 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
35999 /* ./parser//parser_prod.nit:6329 */
36000 if (UNTAG_Bool(REGB0)) {
36001 } else {
36002 fprintf(stderr, "Cast failed");
36003 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6329);
36004 nit_exit(1);
36005 }
36006 ATTR_parser_nodes___AIsaExpr____n_type(fra.me.REG[0]) = fra.me.REG[2];
36007 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
36008 /* ./parser//parser_prod.nit:6330 */
36009 if (UNTAG_Bool(REGB0)) {
36010 fprintf(stderr, "Reciever is null");
36011 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6330);
36012 nit_exit(1);
36013 }
36014 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
36015 stack_frame_head = fra.me.prev;
36016 init_table[itpos152] = 1;
36017 return;
36018 }
36019 void parser_prod___APlusExpr___n_expr__eq(val_t p0, val_t p1){
36020 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
36021 val_t tmp;
36022 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36023 fra.me.file = LOCATE_parser_prod;
36024 fra.me.line = 6370;
36025 fra.me.meth = LOCATE_parser_prod___APlusExpr___n_expr__eq;
36026 fra.me.has_broke = 0;
36027 fra.me.REG_size = 2;
36028 fra.me.REG[0] = NIT_NULL;
36029 fra.me.REG[1] = NIT_NULL;
36030 fra.me.REG[0] = p0;
36031 fra.me.REG[1] = p1;
36032 /* ./parser//parser_prod.nit:6372 */
36033 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
36034 /* ./parser//parser_prod.nit:6373 */
36035 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
36036 stack_frame_head = fra.me.prev;
36037 return;
36038 }
36039 void parser_prod___APlusExpr___n_expr2__eq(val_t p0, val_t p1){
36040 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
36041 val_t tmp;
36042 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36043 fra.me.file = LOCATE_parser_prod;
36044 fra.me.line = 6375;
36045 fra.me.meth = LOCATE_parser_prod___APlusExpr___n_expr2__eq;
36046 fra.me.has_broke = 0;
36047 fra.me.REG_size = 2;
36048 fra.me.REG[0] = NIT_NULL;
36049 fra.me.REG[1] = NIT_NULL;
36050 fra.me.REG[0] = p0;
36051 fra.me.REG[1] = p1;
36052 /* ./parser//parser_prod.nit:6377 */
36053 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[1];
36054 /* ./parser//parser_prod.nit:6378 */
36055 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
36056 stack_frame_head = fra.me.prev;
36057 return;
36058 }
36059 void parser_prod___APlusExpr___replace_child(val_t p0, val_t p1, val_t p2){
36060 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
36061 val_t REGB0;
36062 val_t REGB1;
36063 val_t tmp;
36064 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36065 fra.me.file = LOCATE_parser_prod;
36066 fra.me.line = 6395;
36067 fra.me.meth = LOCATE_parser_prod___APlusExpr___replace_child;
36068 fra.me.has_broke = 0;
36069 fra.me.REG_size = 4;
36070 fra.me.REG[0] = NIT_NULL;
36071 fra.me.REG[1] = NIT_NULL;
36072 fra.me.REG[2] = NIT_NULL;
36073 fra.me.REG[3] = NIT_NULL;
36074 fra.me.REG[0] = p0;
36075 fra.me.REG[1] = p1;
36076 fra.me.REG[2] = p2;
36077 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
36078 /* ./parser//parser_prod.nit:6397 */
36079 if (UNTAG_Bool(REGB0)) {
36080 } else {
36081 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
36082 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6397);
36083 nit_exit(1);
36084 }
36085 fra.me.REG[3] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
36086 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
36087 if (UNTAG_Bool(REGB0)) {
36088 } else {
36089 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
36090 REGB0 = REGB1;
36091 }
36092 if (UNTAG_Bool(REGB0)) {
36093 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
36094 /* ./parser//parser_prod.nit:6398 */
36095 if (UNTAG_Bool(REGB0)) {
36096 } else {
36097 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
36098 if (UNTAG_Bool(REGB1)) {
36099 REGB1 = TAG_Bool(false);
36100 REGB0 = REGB1;
36101 } else {
36102 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
36103 REGB0 = REGB1;
36104 }
36105 }
36106 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
36107 if (UNTAG_Bool(REGB0)) {
36108 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
36109 /* ./parser//parser_prod.nit:6399 */
36110 if (UNTAG_Bool(REGB0)) {
36111 fprintf(stderr, "Reciever is null");
36112 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6399);
36113 nit_exit(1);
36114 }
36115 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
36116 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
36117 /* ./parser//parser_prod.nit:6400 */
36118 if (UNTAG_Bool(REGB0)) {
36119 } else {
36120 fprintf(stderr, "Assert failed");
36121 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6400);
36122 nit_exit(1);
36123 }
36124 /* ./parser//parser_prod.nit:6401 */
36125 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
36126 } else {
36127 /* ./parser//parser_prod.nit:6403 */
36128 fprintf(stderr, "Aborted");
36129 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6403);
36130 nit_exit(1);
36131 }
36132 /* ./parser//parser_prod.nit:6405 */
36133 goto label1;
36134 }
36135 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
36136 /* ./parser//parser_prod.nit:6407 */
36137 if (UNTAG_Bool(REGB0)) {
36138 } else {
36139 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
36140 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6407);
36141 nit_exit(1);
36142 }
36143 fra.me.REG[3] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
36144 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
36145 if (UNTAG_Bool(REGB0)) {
36146 } else {
36147 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
36148 REGB0 = REGB1;
36149 }
36150 if (UNTAG_Bool(REGB0)) {
36151 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
36152 /* ./parser//parser_prod.nit:6408 */
36153 if (UNTAG_Bool(REGB0)) {
36154 } else {
36155 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
36156 if (UNTAG_Bool(REGB1)) {
36157 REGB1 = TAG_Bool(false);
36158 REGB0 = REGB1;
36159 } else {
36160 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
36161 REGB0 = REGB1;
36162 }
36163 }
36164 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
36165 if (UNTAG_Bool(REGB0)) {
36166 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
36167 /* ./parser//parser_prod.nit:6409 */
36168 if (UNTAG_Bool(REGB0)) {
36169 fprintf(stderr, "Reciever is null");
36170 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6409);
36171 nit_exit(1);
36172 }
36173 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
36174 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
36175 /* ./parser//parser_prod.nit:6410 */
36176 if (UNTAG_Bool(REGB0)) {
36177 } else {
36178 fprintf(stderr, "Assert failed");
36179 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6410);
36180 nit_exit(1);
36181 }
36182 /* ./parser//parser_prod.nit:6411 */
36183 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
36184 } else {
36185 /* ./parser//parser_prod.nit:6413 */
36186 fprintf(stderr, "Aborted");
36187 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6413);
36188 nit_exit(1);
36189 }
36190 /* ./parser//parser_prod.nit:6415 */
36191 goto label1;
36192 }
36193 label1: while(0);
36194 stack_frame_head = fra.me.prev;
36195 return;
36196 }
36197 void parser_prod___APlusExpr___visit_all(val_t p0, val_t p1){
36198 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
36199 val_t REGB0;
36200 val_t tmp;
36201 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36202 fra.me.file = LOCATE_parser_prod;
36203 fra.me.line = 6419;
36204 fra.me.meth = LOCATE_parser_prod___APlusExpr___visit_all;
36205 fra.me.has_broke = 0;
36206 fra.me.REG_size = 3;
36207 fra.me.REG[0] = NIT_NULL;
36208 fra.me.REG[1] = NIT_NULL;
36209 fra.me.REG[2] = NIT_NULL;
36210 fra.me.REG[0] = p0;
36211 fra.me.REG[1] = p1;
36212 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
36213 /* ./parser//parser_prod.nit:6421 */
36214 if (UNTAG_Bool(REGB0)) {
36215 } else {
36216 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
36217 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6421);
36218 nit_exit(1);
36219 }
36220 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
36221 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
36222 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
36223 /* ./parser//parser_prod.nit:6422 */
36224 if (UNTAG_Bool(REGB0)) {
36225 } else {
36226 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
36227 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6422);
36228 nit_exit(1);
36229 }
36230 fra.me.REG[0] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
36231 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
36232 stack_frame_head = fra.me.prev;
36233 return;
36234 }
36235 void parser_prod___APlusExpr___visit_all_reverse(val_t p0, val_t p1){
36236 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
36237 val_t REGB0;
36238 val_t tmp;
36239 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36240 fra.me.file = LOCATE_parser_prod;
36241 fra.me.line = 6425;
36242 fra.me.meth = LOCATE_parser_prod___APlusExpr___visit_all_reverse;
36243 fra.me.has_broke = 0;
36244 fra.me.REG_size = 3;
36245 fra.me.REG[0] = NIT_NULL;
36246 fra.me.REG[1] = NIT_NULL;
36247 fra.me.REG[2] = NIT_NULL;
36248 fra.me.REG[0] = p0;
36249 fra.me.REG[1] = p1;
36250 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
36251 /* ./parser//parser_prod.nit:6427 */
36252 if (UNTAG_Bool(REGB0)) {
36253 } else {
36254 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
36255 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6427);
36256 nit_exit(1);
36257 }
36258 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
36259 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
36260 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
36261 /* ./parser//parser_prod.nit:6428 */
36262 if (UNTAG_Bool(REGB0)) {
36263 } else {
36264 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
36265 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6428);
36266 nit_exit(1);
36267 }
36268 fra.me.REG[0] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
36269 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
36270 stack_frame_head = fra.me.prev;
36271 return;
36272 }
36273 void parser_prod___APlusExpr___empty_init(val_t p0, int* init_table){
36274 int itpos153 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_APlusExpr].i;
36275 struct {struct stack_frame_t me;} fra;
36276 val_t tmp;
36277 if (init_table[itpos153]) return;
36278 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36279 fra.me.file = LOCATE_parser_prod;
36280 fra.me.line = 6381;
36281 fra.me.meth = LOCATE_parser_prod___APlusExpr___empty_init;
36282 fra.me.has_broke = 0;
36283 fra.me.REG_size = 1;
36284 fra.me.REG[0] = NIT_NULL;
36285 fra.me.REG[0] = p0;
36286 /* ./parser//parser_prod.nit:6381 */
36287 stack_frame_head = fra.me.prev;
36288 init_table[itpos153] = 1;
36289 return;
36290 }
36291 void parser_prod___APlusExpr___init_aplusexpr(val_t p0, val_t p1, val_t p2, int* init_table){
36292 int itpos154 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_APlusExpr].i;
36293 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
36294 val_t REGB0;
36295 val_t tmp;
36296 if (init_table[itpos154]) return;
36297 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36298 fra.me.file = LOCATE_parser_prod;
36299 fra.me.line = 6383;
36300 fra.me.meth = LOCATE_parser_prod___APlusExpr___init_aplusexpr;
36301 fra.me.has_broke = 0;
36302 fra.me.REG_size = 3;
36303 fra.me.REG[0] = NIT_NULL;
36304 fra.me.REG[1] = NIT_NULL;
36305 fra.me.REG[2] = NIT_NULL;
36306 fra.me.REG[0] = p0;
36307 fra.me.REG[1] = p1;
36308 fra.me.REG[2] = p2;
36309 /* ./parser//parser_prod.nit:6388 */
36310 CALL_parser_prod___APlusExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
36311 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
36312 /* ./parser//parser_prod.nit:6389 */
36313 if (UNTAG_Bool(REGB0)) {
36314 } else {
36315 fprintf(stderr, "Cast failed");
36316 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6389);
36317 nit_exit(1);
36318 }
36319 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
36320 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
36321 /* ./parser//parser_prod.nit:6390 */
36322 if (UNTAG_Bool(REGB0)) {
36323 fprintf(stderr, "Reciever is null");
36324 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6390);
36325 nit_exit(1);
36326 }
36327 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
36328 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
36329 /* ./parser//parser_prod.nit:6391 */
36330 if (UNTAG_Bool(REGB0)) {
36331 } else {
36332 fprintf(stderr, "Cast failed");
36333 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6391);
36334 nit_exit(1);
36335 }
36336 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
36337 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
36338 /* ./parser//parser_prod.nit:6392 */
36339 if (UNTAG_Bool(REGB0)) {
36340 fprintf(stderr, "Reciever is null");
36341 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6392);
36342 nit_exit(1);
36343 }
36344 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
36345 stack_frame_head = fra.me.prev;
36346 init_table[itpos154] = 1;
36347 return;
36348 }
36349 void parser_prod___AMinusExpr___n_expr__eq(val_t p0, val_t p1){
36350 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
36351 val_t tmp;
36352 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36353 fra.me.file = LOCATE_parser_prod;
36354 fra.me.line = 6432;
36355 fra.me.meth = LOCATE_parser_prod___AMinusExpr___n_expr__eq;
36356 fra.me.has_broke = 0;
36357 fra.me.REG_size = 2;
36358 fra.me.REG[0] = NIT_NULL;
36359 fra.me.REG[1] = NIT_NULL;
36360 fra.me.REG[0] = p0;
36361 fra.me.REG[1] = p1;
36362 /* ./parser//parser_prod.nit:6434 */
36363 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
36364 /* ./parser//parser_prod.nit:6435 */
36365 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
36366 stack_frame_head = fra.me.prev;
36367 return;
36368 }
36369 void parser_prod___AMinusExpr___n_expr2__eq(val_t p0, val_t p1){
36370 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
36371 val_t tmp;
36372 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36373 fra.me.file = LOCATE_parser_prod;
36374 fra.me.line = 6437;
36375 fra.me.meth = LOCATE_parser_prod___AMinusExpr___n_expr2__eq;
36376 fra.me.has_broke = 0;
36377 fra.me.REG_size = 2;
36378 fra.me.REG[0] = NIT_NULL;
36379 fra.me.REG[1] = NIT_NULL;
36380 fra.me.REG[0] = p0;
36381 fra.me.REG[1] = p1;
36382 /* ./parser//parser_prod.nit:6439 */
36383 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[1];
36384 /* ./parser//parser_prod.nit:6440 */
36385 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
36386 stack_frame_head = fra.me.prev;
36387 return;
36388 }
36389 void parser_prod___AMinusExpr___replace_child(val_t p0, val_t p1, val_t p2){
36390 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
36391 val_t REGB0;
36392 val_t REGB1;
36393 val_t tmp;
36394 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36395 fra.me.file = LOCATE_parser_prod;
36396 fra.me.line = 6457;
36397 fra.me.meth = LOCATE_parser_prod___AMinusExpr___replace_child;
36398 fra.me.has_broke = 0;
36399 fra.me.REG_size = 4;
36400 fra.me.REG[0] = NIT_NULL;
36401 fra.me.REG[1] = NIT_NULL;
36402 fra.me.REG[2] = NIT_NULL;
36403 fra.me.REG[3] = NIT_NULL;
36404 fra.me.REG[0] = p0;
36405 fra.me.REG[1] = p1;
36406 fra.me.REG[2] = p2;
36407 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
36408 /* ./parser//parser_prod.nit:6459 */
36409 if (UNTAG_Bool(REGB0)) {
36410 } else {
36411 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
36412 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6459);
36413 nit_exit(1);
36414 }
36415 fra.me.REG[3] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
36416 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
36417 if (UNTAG_Bool(REGB0)) {
36418 } else {
36419 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
36420 REGB0 = REGB1;
36421 }
36422 if (UNTAG_Bool(REGB0)) {
36423 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
36424 /* ./parser//parser_prod.nit:6460 */
36425 if (UNTAG_Bool(REGB0)) {
36426 } else {
36427 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
36428 if (UNTAG_Bool(REGB1)) {
36429 REGB1 = TAG_Bool(false);
36430 REGB0 = REGB1;
36431 } else {
36432 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
36433 REGB0 = REGB1;
36434 }
36435 }
36436 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
36437 if (UNTAG_Bool(REGB0)) {
36438 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
36439 /* ./parser//parser_prod.nit:6461 */
36440 if (UNTAG_Bool(REGB0)) {
36441 fprintf(stderr, "Reciever is null");
36442 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6461);
36443 nit_exit(1);
36444 }
36445 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
36446 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
36447 /* ./parser//parser_prod.nit:6462 */
36448 if (UNTAG_Bool(REGB0)) {
36449 } else {
36450 fprintf(stderr, "Assert failed");
36451 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6462);
36452 nit_exit(1);
36453 }
36454 /* ./parser//parser_prod.nit:6463 */
36455 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
36456 } else {
36457 /* ./parser//parser_prod.nit:6465 */
36458 fprintf(stderr, "Aborted");
36459 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6465);
36460 nit_exit(1);
36461 }
36462 /* ./parser//parser_prod.nit:6467 */
36463 goto label1;
36464 }
36465 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
36466 /* ./parser//parser_prod.nit:6469 */
36467 if (UNTAG_Bool(REGB0)) {
36468 } else {
36469 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
36470 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6469);
36471 nit_exit(1);
36472 }
36473 fra.me.REG[3] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
36474 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
36475 if (UNTAG_Bool(REGB0)) {
36476 } else {
36477 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
36478 REGB0 = REGB1;
36479 }
36480 if (UNTAG_Bool(REGB0)) {
36481 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
36482 /* ./parser//parser_prod.nit:6470 */
36483 if (UNTAG_Bool(REGB0)) {
36484 } else {
36485 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
36486 if (UNTAG_Bool(REGB1)) {
36487 REGB1 = TAG_Bool(false);
36488 REGB0 = REGB1;
36489 } else {
36490 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
36491 REGB0 = REGB1;
36492 }
36493 }
36494 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
36495 if (UNTAG_Bool(REGB0)) {
36496 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
36497 /* ./parser//parser_prod.nit:6471 */
36498 if (UNTAG_Bool(REGB0)) {
36499 fprintf(stderr, "Reciever is null");
36500 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6471);
36501 nit_exit(1);
36502 }
36503 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
36504 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
36505 /* ./parser//parser_prod.nit:6472 */
36506 if (UNTAG_Bool(REGB0)) {
36507 } else {
36508 fprintf(stderr, "Assert failed");
36509 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6472);
36510 nit_exit(1);
36511 }
36512 /* ./parser//parser_prod.nit:6473 */
36513 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
36514 } else {
36515 /* ./parser//parser_prod.nit:6475 */
36516 fprintf(stderr, "Aborted");
36517 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6475);
36518 nit_exit(1);
36519 }
36520 /* ./parser//parser_prod.nit:6477 */
36521 goto label1;
36522 }
36523 label1: while(0);
36524 stack_frame_head = fra.me.prev;
36525 return;
36526 }
36527 void parser_prod___AMinusExpr___visit_all(val_t p0, val_t p1){
36528 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
36529 val_t REGB0;
36530 val_t tmp;
36531 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36532 fra.me.file = LOCATE_parser_prod;
36533 fra.me.line = 6481;
36534 fra.me.meth = LOCATE_parser_prod___AMinusExpr___visit_all;
36535 fra.me.has_broke = 0;
36536 fra.me.REG_size = 3;
36537 fra.me.REG[0] = NIT_NULL;
36538 fra.me.REG[1] = NIT_NULL;
36539 fra.me.REG[2] = NIT_NULL;
36540 fra.me.REG[0] = p0;
36541 fra.me.REG[1] = p1;
36542 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
36543 /* ./parser//parser_prod.nit:6483 */
36544 if (UNTAG_Bool(REGB0)) {
36545 } else {
36546 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
36547 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6483);
36548 nit_exit(1);
36549 }
36550 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
36551 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
36552 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
36553 /* ./parser//parser_prod.nit:6484 */
36554 if (UNTAG_Bool(REGB0)) {
36555 } else {
36556 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
36557 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6484);
36558 nit_exit(1);
36559 }
36560 fra.me.REG[0] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
36561 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
36562 stack_frame_head = fra.me.prev;
36563 return;
36564 }
36565 void parser_prod___AMinusExpr___visit_all_reverse(val_t p0, val_t p1){
36566 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
36567 val_t REGB0;
36568 val_t tmp;
36569 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36570 fra.me.file = LOCATE_parser_prod;
36571 fra.me.line = 6487;
36572 fra.me.meth = LOCATE_parser_prod___AMinusExpr___visit_all_reverse;
36573 fra.me.has_broke = 0;
36574 fra.me.REG_size = 3;
36575 fra.me.REG[0] = NIT_NULL;
36576 fra.me.REG[1] = NIT_NULL;
36577 fra.me.REG[2] = NIT_NULL;
36578 fra.me.REG[0] = p0;
36579 fra.me.REG[1] = p1;
36580 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
36581 /* ./parser//parser_prod.nit:6489 */
36582 if (UNTAG_Bool(REGB0)) {
36583 } else {
36584 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
36585 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6489);
36586 nit_exit(1);
36587 }
36588 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
36589 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
36590 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
36591 /* ./parser//parser_prod.nit:6490 */
36592 if (UNTAG_Bool(REGB0)) {
36593 } else {
36594 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
36595 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6490);
36596 nit_exit(1);
36597 }
36598 fra.me.REG[0] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
36599 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
36600 stack_frame_head = fra.me.prev;
36601 return;
36602 }
36603 void parser_prod___AMinusExpr___empty_init(val_t p0, int* init_table){
36604 int itpos155 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AMinusExpr].i;
36605 struct {struct stack_frame_t me;} fra;
36606 val_t tmp;
36607 if (init_table[itpos155]) return;
36608 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36609 fra.me.file = LOCATE_parser_prod;
36610 fra.me.line = 6443;
36611 fra.me.meth = LOCATE_parser_prod___AMinusExpr___empty_init;
36612 fra.me.has_broke = 0;
36613 fra.me.REG_size = 1;
36614 fra.me.REG[0] = NIT_NULL;
36615 fra.me.REG[0] = p0;
36616 /* ./parser//parser_prod.nit:6443 */
36617 stack_frame_head = fra.me.prev;
36618 init_table[itpos155] = 1;
36619 return;
36620 }
36621 void parser_prod___AMinusExpr___init_aminusexpr(val_t p0, val_t p1, val_t p2, int* init_table){
36622 int itpos156 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AMinusExpr].i;
36623 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
36624 val_t REGB0;
36625 val_t tmp;
36626 if (init_table[itpos156]) return;
36627 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36628 fra.me.file = LOCATE_parser_prod;
36629 fra.me.line = 6445;
36630 fra.me.meth = LOCATE_parser_prod___AMinusExpr___init_aminusexpr;
36631 fra.me.has_broke = 0;
36632 fra.me.REG_size = 3;
36633 fra.me.REG[0] = NIT_NULL;
36634 fra.me.REG[1] = NIT_NULL;
36635 fra.me.REG[2] = NIT_NULL;
36636 fra.me.REG[0] = p0;
36637 fra.me.REG[1] = p1;
36638 fra.me.REG[2] = p2;
36639 /* ./parser//parser_prod.nit:6450 */
36640 CALL_parser_prod___AMinusExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
36641 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
36642 /* ./parser//parser_prod.nit:6451 */
36643 if (UNTAG_Bool(REGB0)) {
36644 } else {
36645 fprintf(stderr, "Cast failed");
36646 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6451);
36647 nit_exit(1);
36648 }
36649 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
36650 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
36651 /* ./parser//parser_prod.nit:6452 */
36652 if (UNTAG_Bool(REGB0)) {
36653 fprintf(stderr, "Reciever is null");
36654 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6452);
36655 nit_exit(1);
36656 }
36657 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
36658 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
36659 /* ./parser//parser_prod.nit:6453 */
36660 if (UNTAG_Bool(REGB0)) {
36661 } else {
36662 fprintf(stderr, "Cast failed");
36663 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6453);
36664 nit_exit(1);
36665 }
36666 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
36667 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
36668 /* ./parser//parser_prod.nit:6454 */
36669 if (UNTAG_Bool(REGB0)) {
36670 fprintf(stderr, "Reciever is null");
36671 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6454);
36672 nit_exit(1);
36673 }
36674 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
36675 stack_frame_head = fra.me.prev;
36676 init_table[itpos156] = 1;
36677 return;
36678 }
36679 void parser_prod___AStarshipExpr___n_expr__eq(val_t p0, val_t p1){
36680 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
36681 val_t tmp;
36682 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36683 fra.me.file = LOCATE_parser_prod;
36684 fra.me.line = 6494;
36685 fra.me.meth = LOCATE_parser_prod___AStarshipExpr___n_expr__eq;
36686 fra.me.has_broke = 0;
36687 fra.me.REG_size = 2;
36688 fra.me.REG[0] = NIT_NULL;
36689 fra.me.REG[1] = NIT_NULL;
36690 fra.me.REG[0] = p0;
36691 fra.me.REG[1] = p1;
36692 /* ./parser//parser_prod.nit:6496 */
36693 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
36694 /* ./parser//parser_prod.nit:6497 */
36695 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
36696 stack_frame_head = fra.me.prev;
36697 return;
36698 }
36699 void parser_prod___AStarshipExpr___n_expr2__eq(val_t p0, val_t p1){
36700 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
36701 val_t tmp;
36702 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36703 fra.me.file = LOCATE_parser_prod;
36704 fra.me.line = 6499;
36705 fra.me.meth = LOCATE_parser_prod___AStarshipExpr___n_expr2__eq;
36706 fra.me.has_broke = 0;
36707 fra.me.REG_size = 2;
36708 fra.me.REG[0] = NIT_NULL;
36709 fra.me.REG[1] = NIT_NULL;
36710 fra.me.REG[0] = p0;
36711 fra.me.REG[1] = p1;
36712 /* ./parser//parser_prod.nit:6501 */
36713 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[1];
36714 /* ./parser//parser_prod.nit:6502 */
36715 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
36716 stack_frame_head = fra.me.prev;
36717 return;
36718 }
36719 void parser_prod___AStarshipExpr___replace_child(val_t p0, val_t p1, val_t p2){
36720 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
36721 val_t REGB0;
36722 val_t REGB1;
36723 val_t tmp;
36724 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36725 fra.me.file = LOCATE_parser_prod;
36726 fra.me.line = 6519;
36727 fra.me.meth = LOCATE_parser_prod___AStarshipExpr___replace_child;
36728 fra.me.has_broke = 0;
36729 fra.me.REG_size = 4;
36730 fra.me.REG[0] = NIT_NULL;
36731 fra.me.REG[1] = NIT_NULL;
36732 fra.me.REG[2] = NIT_NULL;
36733 fra.me.REG[3] = NIT_NULL;
36734 fra.me.REG[0] = p0;
36735 fra.me.REG[1] = p1;
36736 fra.me.REG[2] = p2;
36737 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
36738 /* ./parser//parser_prod.nit:6521 */
36739 if (UNTAG_Bool(REGB0)) {
36740 } else {
36741 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
36742 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6521);
36743 nit_exit(1);
36744 }
36745 fra.me.REG[3] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
36746 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
36747 if (UNTAG_Bool(REGB0)) {
36748 } else {
36749 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
36750 REGB0 = REGB1;
36751 }
36752 if (UNTAG_Bool(REGB0)) {
36753 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
36754 /* ./parser//parser_prod.nit:6522 */
36755 if (UNTAG_Bool(REGB0)) {
36756 } else {
36757 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
36758 if (UNTAG_Bool(REGB1)) {
36759 REGB1 = TAG_Bool(false);
36760 REGB0 = REGB1;
36761 } else {
36762 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
36763 REGB0 = REGB1;
36764 }
36765 }
36766 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
36767 if (UNTAG_Bool(REGB0)) {
36768 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
36769 /* ./parser//parser_prod.nit:6523 */
36770 if (UNTAG_Bool(REGB0)) {
36771 fprintf(stderr, "Reciever is null");
36772 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6523);
36773 nit_exit(1);
36774 }
36775 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
36776 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
36777 /* ./parser//parser_prod.nit:6524 */
36778 if (UNTAG_Bool(REGB0)) {
36779 } else {
36780 fprintf(stderr, "Assert failed");
36781 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6524);
36782 nit_exit(1);
36783 }
36784 /* ./parser//parser_prod.nit:6525 */
36785 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
36786 } else {
36787 /* ./parser//parser_prod.nit:6527 */
36788 fprintf(stderr, "Aborted");
36789 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6527);
36790 nit_exit(1);
36791 }
36792 /* ./parser//parser_prod.nit:6529 */
36793 goto label1;
36794 }
36795 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
36796 /* ./parser//parser_prod.nit:6531 */
36797 if (UNTAG_Bool(REGB0)) {
36798 } else {
36799 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
36800 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6531);
36801 nit_exit(1);
36802 }
36803 fra.me.REG[3] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
36804 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
36805 if (UNTAG_Bool(REGB0)) {
36806 } else {
36807 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
36808 REGB0 = REGB1;
36809 }
36810 if (UNTAG_Bool(REGB0)) {
36811 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
36812 /* ./parser//parser_prod.nit:6532 */
36813 if (UNTAG_Bool(REGB0)) {
36814 } else {
36815 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
36816 if (UNTAG_Bool(REGB1)) {
36817 REGB1 = TAG_Bool(false);
36818 REGB0 = REGB1;
36819 } else {
36820 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
36821 REGB0 = REGB1;
36822 }
36823 }
36824 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
36825 if (UNTAG_Bool(REGB0)) {
36826 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
36827 /* ./parser//parser_prod.nit:6533 */
36828 if (UNTAG_Bool(REGB0)) {
36829 fprintf(stderr, "Reciever is null");
36830 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6533);
36831 nit_exit(1);
36832 }
36833 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
36834 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
36835 /* ./parser//parser_prod.nit:6534 */
36836 if (UNTAG_Bool(REGB0)) {
36837 } else {
36838 fprintf(stderr, "Assert failed");
36839 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6534);
36840 nit_exit(1);
36841 }
36842 /* ./parser//parser_prod.nit:6535 */
36843 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
36844 } else {
36845 /* ./parser//parser_prod.nit:6537 */
36846 fprintf(stderr, "Aborted");
36847 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6537);
36848 nit_exit(1);
36849 }
36850 /* ./parser//parser_prod.nit:6539 */
36851 goto label1;
36852 }
36853 label1: while(0);
36854 stack_frame_head = fra.me.prev;
36855 return;
36856 }
36857 void parser_prod___AStarshipExpr___visit_all(val_t p0, val_t p1){
36858 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
36859 val_t REGB0;
36860 val_t tmp;
36861 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36862 fra.me.file = LOCATE_parser_prod;
36863 fra.me.line = 6543;
36864 fra.me.meth = LOCATE_parser_prod___AStarshipExpr___visit_all;
36865 fra.me.has_broke = 0;
36866 fra.me.REG_size = 3;
36867 fra.me.REG[0] = NIT_NULL;
36868 fra.me.REG[1] = NIT_NULL;
36869 fra.me.REG[2] = NIT_NULL;
36870 fra.me.REG[0] = p0;
36871 fra.me.REG[1] = p1;
36872 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
36873 /* ./parser//parser_prod.nit:6545 */
36874 if (UNTAG_Bool(REGB0)) {
36875 } else {
36876 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
36877 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6545);
36878 nit_exit(1);
36879 }
36880 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
36881 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
36882 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
36883 /* ./parser//parser_prod.nit:6546 */
36884 if (UNTAG_Bool(REGB0)) {
36885 } else {
36886 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
36887 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6546);
36888 nit_exit(1);
36889 }
36890 fra.me.REG[0] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
36891 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
36892 stack_frame_head = fra.me.prev;
36893 return;
36894 }
36895 void parser_prod___AStarshipExpr___visit_all_reverse(val_t p0, val_t p1){
36896 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
36897 val_t REGB0;
36898 val_t tmp;
36899 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36900 fra.me.file = LOCATE_parser_prod;
36901 fra.me.line = 6549;
36902 fra.me.meth = LOCATE_parser_prod___AStarshipExpr___visit_all_reverse;
36903 fra.me.has_broke = 0;
36904 fra.me.REG_size = 3;
36905 fra.me.REG[0] = NIT_NULL;
36906 fra.me.REG[1] = NIT_NULL;
36907 fra.me.REG[2] = NIT_NULL;
36908 fra.me.REG[0] = p0;
36909 fra.me.REG[1] = p1;
36910 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
36911 /* ./parser//parser_prod.nit:6551 */
36912 if (UNTAG_Bool(REGB0)) {
36913 } else {
36914 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
36915 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6551);
36916 nit_exit(1);
36917 }
36918 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
36919 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
36920 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
36921 /* ./parser//parser_prod.nit:6552 */
36922 if (UNTAG_Bool(REGB0)) {
36923 } else {
36924 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
36925 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6552);
36926 nit_exit(1);
36927 }
36928 fra.me.REG[0] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
36929 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
36930 stack_frame_head = fra.me.prev;
36931 return;
36932 }
36933 void parser_prod___AStarshipExpr___empty_init(val_t p0, int* init_table){
36934 int itpos157 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AStarshipExpr].i;
36935 struct {struct stack_frame_t me;} fra;
36936 val_t tmp;
36937 if (init_table[itpos157]) return;
36938 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36939 fra.me.file = LOCATE_parser_prod;
36940 fra.me.line = 6505;
36941 fra.me.meth = LOCATE_parser_prod___AStarshipExpr___empty_init;
36942 fra.me.has_broke = 0;
36943 fra.me.REG_size = 1;
36944 fra.me.REG[0] = NIT_NULL;
36945 fra.me.REG[0] = p0;
36946 /* ./parser//parser_prod.nit:6505 */
36947 stack_frame_head = fra.me.prev;
36948 init_table[itpos157] = 1;
36949 return;
36950 }
36951 void parser_prod___AStarshipExpr___init_astarshipexpr(val_t p0, val_t p1, val_t p2, int* init_table){
36952 int itpos158 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AStarshipExpr].i;
36953 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
36954 val_t REGB0;
36955 val_t tmp;
36956 if (init_table[itpos158]) return;
36957 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
36958 fra.me.file = LOCATE_parser_prod;
36959 fra.me.line = 6507;
36960 fra.me.meth = LOCATE_parser_prod___AStarshipExpr___init_astarshipexpr;
36961 fra.me.has_broke = 0;
36962 fra.me.REG_size = 3;
36963 fra.me.REG[0] = NIT_NULL;
36964 fra.me.REG[1] = NIT_NULL;
36965 fra.me.REG[2] = NIT_NULL;
36966 fra.me.REG[0] = p0;
36967 fra.me.REG[1] = p1;
36968 fra.me.REG[2] = p2;
36969 /* ./parser//parser_prod.nit:6512 */
36970 CALL_parser_prod___AStarshipExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
36971 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
36972 /* ./parser//parser_prod.nit:6513 */
36973 if (UNTAG_Bool(REGB0)) {
36974 } else {
36975 fprintf(stderr, "Cast failed");
36976 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6513);
36977 nit_exit(1);
36978 }
36979 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
36980 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
36981 /* ./parser//parser_prod.nit:6514 */
36982 if (UNTAG_Bool(REGB0)) {
36983 fprintf(stderr, "Reciever is null");
36984 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6514);
36985 nit_exit(1);
36986 }
36987 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
36988 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
36989 /* ./parser//parser_prod.nit:6515 */
36990 if (UNTAG_Bool(REGB0)) {
36991 } else {
36992 fprintf(stderr, "Cast failed");
36993 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6515);
36994 nit_exit(1);
36995 }
36996 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
36997 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
36998 /* ./parser//parser_prod.nit:6516 */
36999 if (UNTAG_Bool(REGB0)) {
37000 fprintf(stderr, "Reciever is null");
37001 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6516);
37002 nit_exit(1);
37003 }
37004 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
37005 stack_frame_head = fra.me.prev;
37006 init_table[itpos158] = 1;
37007 return;
37008 }
37009 void parser_prod___AStarExpr___n_expr__eq(val_t p0, val_t p1){
37010 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
37011 val_t tmp;
37012 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37013 fra.me.file = LOCATE_parser_prod;
37014 fra.me.line = 6556;
37015 fra.me.meth = LOCATE_parser_prod___AStarExpr___n_expr__eq;
37016 fra.me.has_broke = 0;
37017 fra.me.REG_size = 2;
37018 fra.me.REG[0] = NIT_NULL;
37019 fra.me.REG[1] = NIT_NULL;
37020 fra.me.REG[0] = p0;
37021 fra.me.REG[1] = p1;
37022 /* ./parser//parser_prod.nit:6558 */
37023 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
37024 /* ./parser//parser_prod.nit:6559 */
37025 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
37026 stack_frame_head = fra.me.prev;
37027 return;
37028 }
37029 void parser_prod___AStarExpr___n_expr2__eq(val_t p0, val_t p1){
37030 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
37031 val_t tmp;
37032 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37033 fra.me.file = LOCATE_parser_prod;
37034 fra.me.line = 6561;
37035 fra.me.meth = LOCATE_parser_prod___AStarExpr___n_expr2__eq;
37036 fra.me.has_broke = 0;
37037 fra.me.REG_size = 2;
37038 fra.me.REG[0] = NIT_NULL;
37039 fra.me.REG[1] = NIT_NULL;
37040 fra.me.REG[0] = p0;
37041 fra.me.REG[1] = p1;
37042 /* ./parser//parser_prod.nit:6563 */
37043 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[1];
37044 /* ./parser//parser_prod.nit:6564 */
37045 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
37046 stack_frame_head = fra.me.prev;
37047 return;
37048 }
37049 void parser_prod___AStarExpr___replace_child(val_t p0, val_t p1, val_t p2){
37050 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
37051 val_t REGB0;
37052 val_t REGB1;
37053 val_t tmp;
37054 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37055 fra.me.file = LOCATE_parser_prod;
37056 fra.me.line = 6581;
37057 fra.me.meth = LOCATE_parser_prod___AStarExpr___replace_child;
37058 fra.me.has_broke = 0;
37059 fra.me.REG_size = 4;
37060 fra.me.REG[0] = NIT_NULL;
37061 fra.me.REG[1] = NIT_NULL;
37062 fra.me.REG[2] = NIT_NULL;
37063 fra.me.REG[3] = NIT_NULL;
37064 fra.me.REG[0] = p0;
37065 fra.me.REG[1] = p1;
37066 fra.me.REG[2] = p2;
37067 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
37068 /* ./parser//parser_prod.nit:6583 */
37069 if (UNTAG_Bool(REGB0)) {
37070 } else {
37071 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
37072 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6583);
37073 nit_exit(1);
37074 }
37075 fra.me.REG[3] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
37076 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
37077 if (UNTAG_Bool(REGB0)) {
37078 } else {
37079 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
37080 REGB0 = REGB1;
37081 }
37082 if (UNTAG_Bool(REGB0)) {
37083 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
37084 /* ./parser//parser_prod.nit:6584 */
37085 if (UNTAG_Bool(REGB0)) {
37086 } else {
37087 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
37088 if (UNTAG_Bool(REGB1)) {
37089 REGB1 = TAG_Bool(false);
37090 REGB0 = REGB1;
37091 } else {
37092 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
37093 REGB0 = REGB1;
37094 }
37095 }
37096 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
37097 if (UNTAG_Bool(REGB0)) {
37098 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
37099 /* ./parser//parser_prod.nit:6585 */
37100 if (UNTAG_Bool(REGB0)) {
37101 fprintf(stderr, "Reciever is null");
37102 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6585);
37103 nit_exit(1);
37104 }
37105 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
37106 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
37107 /* ./parser//parser_prod.nit:6586 */
37108 if (UNTAG_Bool(REGB0)) {
37109 } else {
37110 fprintf(stderr, "Assert failed");
37111 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6586);
37112 nit_exit(1);
37113 }
37114 /* ./parser//parser_prod.nit:6587 */
37115 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
37116 } else {
37117 /* ./parser//parser_prod.nit:6589 */
37118 fprintf(stderr, "Aborted");
37119 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6589);
37120 nit_exit(1);
37121 }
37122 /* ./parser//parser_prod.nit:6591 */
37123 goto label1;
37124 }
37125 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
37126 /* ./parser//parser_prod.nit:6593 */
37127 if (UNTAG_Bool(REGB0)) {
37128 } else {
37129 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
37130 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6593);
37131 nit_exit(1);
37132 }
37133 fra.me.REG[3] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
37134 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
37135 if (UNTAG_Bool(REGB0)) {
37136 } else {
37137 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
37138 REGB0 = REGB1;
37139 }
37140 if (UNTAG_Bool(REGB0)) {
37141 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
37142 /* ./parser//parser_prod.nit:6594 */
37143 if (UNTAG_Bool(REGB0)) {
37144 } else {
37145 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
37146 if (UNTAG_Bool(REGB1)) {
37147 REGB1 = TAG_Bool(false);
37148 REGB0 = REGB1;
37149 } else {
37150 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
37151 REGB0 = REGB1;
37152 }
37153 }
37154 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
37155 if (UNTAG_Bool(REGB0)) {
37156 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
37157 /* ./parser//parser_prod.nit:6595 */
37158 if (UNTAG_Bool(REGB0)) {
37159 fprintf(stderr, "Reciever is null");
37160 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6595);
37161 nit_exit(1);
37162 }
37163 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
37164 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
37165 /* ./parser//parser_prod.nit:6596 */
37166 if (UNTAG_Bool(REGB0)) {
37167 } else {
37168 fprintf(stderr, "Assert failed");
37169 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6596);
37170 nit_exit(1);
37171 }
37172 /* ./parser//parser_prod.nit:6597 */
37173 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
37174 } else {
37175 /* ./parser//parser_prod.nit:6599 */
37176 fprintf(stderr, "Aborted");
37177 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6599);
37178 nit_exit(1);
37179 }
37180 /* ./parser//parser_prod.nit:6601 */
37181 goto label1;
37182 }
37183 label1: while(0);
37184 stack_frame_head = fra.me.prev;
37185 return;
37186 }
37187 void parser_prod___AStarExpr___visit_all(val_t p0, val_t p1){
37188 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
37189 val_t REGB0;
37190 val_t tmp;
37191 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37192 fra.me.file = LOCATE_parser_prod;
37193 fra.me.line = 6605;
37194 fra.me.meth = LOCATE_parser_prod___AStarExpr___visit_all;
37195 fra.me.has_broke = 0;
37196 fra.me.REG_size = 3;
37197 fra.me.REG[0] = NIT_NULL;
37198 fra.me.REG[1] = NIT_NULL;
37199 fra.me.REG[2] = NIT_NULL;
37200 fra.me.REG[0] = p0;
37201 fra.me.REG[1] = p1;
37202 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
37203 /* ./parser//parser_prod.nit:6607 */
37204 if (UNTAG_Bool(REGB0)) {
37205 } else {
37206 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
37207 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6607);
37208 nit_exit(1);
37209 }
37210 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
37211 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
37212 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
37213 /* ./parser//parser_prod.nit:6608 */
37214 if (UNTAG_Bool(REGB0)) {
37215 } else {
37216 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
37217 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6608);
37218 nit_exit(1);
37219 }
37220 fra.me.REG[0] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
37221 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
37222 stack_frame_head = fra.me.prev;
37223 return;
37224 }
37225 void parser_prod___AStarExpr___visit_all_reverse(val_t p0, val_t p1){
37226 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
37227 val_t REGB0;
37228 val_t tmp;
37229 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37230 fra.me.file = LOCATE_parser_prod;
37231 fra.me.line = 6611;
37232 fra.me.meth = LOCATE_parser_prod___AStarExpr___visit_all_reverse;
37233 fra.me.has_broke = 0;
37234 fra.me.REG_size = 3;
37235 fra.me.REG[0] = NIT_NULL;
37236 fra.me.REG[1] = NIT_NULL;
37237 fra.me.REG[2] = NIT_NULL;
37238 fra.me.REG[0] = p0;
37239 fra.me.REG[1] = p1;
37240 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
37241 /* ./parser//parser_prod.nit:6613 */
37242 if (UNTAG_Bool(REGB0)) {
37243 } else {
37244 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
37245 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6613);
37246 nit_exit(1);
37247 }
37248 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
37249 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
37250 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
37251 /* ./parser//parser_prod.nit:6614 */
37252 if (UNTAG_Bool(REGB0)) {
37253 } else {
37254 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
37255 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6614);
37256 nit_exit(1);
37257 }
37258 fra.me.REG[0] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
37259 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
37260 stack_frame_head = fra.me.prev;
37261 return;
37262 }
37263 void parser_prod___AStarExpr___empty_init(val_t p0, int* init_table){
37264 int itpos159 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AStarExpr].i;
37265 struct {struct stack_frame_t me;} fra;
37266 val_t tmp;
37267 if (init_table[itpos159]) return;
37268 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37269 fra.me.file = LOCATE_parser_prod;
37270 fra.me.line = 6567;
37271 fra.me.meth = LOCATE_parser_prod___AStarExpr___empty_init;
37272 fra.me.has_broke = 0;
37273 fra.me.REG_size = 1;
37274 fra.me.REG[0] = NIT_NULL;
37275 fra.me.REG[0] = p0;
37276 /* ./parser//parser_prod.nit:6567 */
37277 stack_frame_head = fra.me.prev;
37278 init_table[itpos159] = 1;
37279 return;
37280 }
37281 void parser_prod___AStarExpr___init_astarexpr(val_t p0, val_t p1, val_t p2, int* init_table){
37282 int itpos160 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AStarExpr].i;
37283 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
37284 val_t REGB0;
37285 val_t tmp;
37286 if (init_table[itpos160]) return;
37287 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37288 fra.me.file = LOCATE_parser_prod;
37289 fra.me.line = 6569;
37290 fra.me.meth = LOCATE_parser_prod___AStarExpr___init_astarexpr;
37291 fra.me.has_broke = 0;
37292 fra.me.REG_size = 3;
37293 fra.me.REG[0] = NIT_NULL;
37294 fra.me.REG[1] = NIT_NULL;
37295 fra.me.REG[2] = NIT_NULL;
37296 fra.me.REG[0] = p0;
37297 fra.me.REG[1] = p1;
37298 fra.me.REG[2] = p2;
37299 /* ./parser//parser_prod.nit:6574 */
37300 CALL_parser_prod___AStarExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
37301 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
37302 /* ./parser//parser_prod.nit:6575 */
37303 if (UNTAG_Bool(REGB0)) {
37304 } else {
37305 fprintf(stderr, "Cast failed");
37306 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6575);
37307 nit_exit(1);
37308 }
37309 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
37310 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
37311 /* ./parser//parser_prod.nit:6576 */
37312 if (UNTAG_Bool(REGB0)) {
37313 fprintf(stderr, "Reciever is null");
37314 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6576);
37315 nit_exit(1);
37316 }
37317 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
37318 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
37319 /* ./parser//parser_prod.nit:6577 */
37320 if (UNTAG_Bool(REGB0)) {
37321 } else {
37322 fprintf(stderr, "Cast failed");
37323 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6577);
37324 nit_exit(1);
37325 }
37326 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
37327 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
37328 /* ./parser//parser_prod.nit:6578 */
37329 if (UNTAG_Bool(REGB0)) {
37330 fprintf(stderr, "Reciever is null");
37331 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6578);
37332 nit_exit(1);
37333 }
37334 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
37335 stack_frame_head = fra.me.prev;
37336 init_table[itpos160] = 1;
37337 return;
37338 }
37339 void parser_prod___ASlashExpr___n_expr__eq(val_t p0, val_t p1){
37340 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
37341 val_t tmp;
37342 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37343 fra.me.file = LOCATE_parser_prod;
37344 fra.me.line = 6618;
37345 fra.me.meth = LOCATE_parser_prod___ASlashExpr___n_expr__eq;
37346 fra.me.has_broke = 0;
37347 fra.me.REG_size = 2;
37348 fra.me.REG[0] = NIT_NULL;
37349 fra.me.REG[1] = NIT_NULL;
37350 fra.me.REG[0] = p0;
37351 fra.me.REG[1] = p1;
37352 /* ./parser//parser_prod.nit:6620 */
37353 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
37354 /* ./parser//parser_prod.nit:6621 */
37355 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
37356 stack_frame_head = fra.me.prev;
37357 return;
37358 }
37359 void parser_prod___ASlashExpr___n_expr2__eq(val_t p0, val_t p1){
37360 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
37361 val_t tmp;
37362 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37363 fra.me.file = LOCATE_parser_prod;
37364 fra.me.line = 6623;
37365 fra.me.meth = LOCATE_parser_prod___ASlashExpr___n_expr2__eq;
37366 fra.me.has_broke = 0;
37367 fra.me.REG_size = 2;
37368 fra.me.REG[0] = NIT_NULL;
37369 fra.me.REG[1] = NIT_NULL;
37370 fra.me.REG[0] = p0;
37371 fra.me.REG[1] = p1;
37372 /* ./parser//parser_prod.nit:6625 */
37373 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[1];
37374 /* ./parser//parser_prod.nit:6626 */
37375 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
37376 stack_frame_head = fra.me.prev;
37377 return;
37378 }
37379 void parser_prod___ASlashExpr___replace_child(val_t p0, val_t p1, val_t p2){
37380 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
37381 val_t REGB0;
37382 val_t REGB1;
37383 val_t tmp;
37384 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37385 fra.me.file = LOCATE_parser_prod;
37386 fra.me.line = 6643;
37387 fra.me.meth = LOCATE_parser_prod___ASlashExpr___replace_child;
37388 fra.me.has_broke = 0;
37389 fra.me.REG_size = 4;
37390 fra.me.REG[0] = NIT_NULL;
37391 fra.me.REG[1] = NIT_NULL;
37392 fra.me.REG[2] = NIT_NULL;
37393 fra.me.REG[3] = NIT_NULL;
37394 fra.me.REG[0] = p0;
37395 fra.me.REG[1] = p1;
37396 fra.me.REG[2] = p2;
37397 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
37398 /* ./parser//parser_prod.nit:6645 */
37399 if (UNTAG_Bool(REGB0)) {
37400 } else {
37401 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
37402 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6645);
37403 nit_exit(1);
37404 }
37405 fra.me.REG[3] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
37406 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
37407 if (UNTAG_Bool(REGB0)) {
37408 } else {
37409 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
37410 REGB0 = REGB1;
37411 }
37412 if (UNTAG_Bool(REGB0)) {
37413 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
37414 /* ./parser//parser_prod.nit:6646 */
37415 if (UNTAG_Bool(REGB0)) {
37416 } else {
37417 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
37418 if (UNTAG_Bool(REGB1)) {
37419 REGB1 = TAG_Bool(false);
37420 REGB0 = REGB1;
37421 } else {
37422 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
37423 REGB0 = REGB1;
37424 }
37425 }
37426 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
37427 if (UNTAG_Bool(REGB0)) {
37428 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
37429 /* ./parser//parser_prod.nit:6647 */
37430 if (UNTAG_Bool(REGB0)) {
37431 fprintf(stderr, "Reciever is null");
37432 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6647);
37433 nit_exit(1);
37434 }
37435 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
37436 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
37437 /* ./parser//parser_prod.nit:6648 */
37438 if (UNTAG_Bool(REGB0)) {
37439 } else {
37440 fprintf(stderr, "Assert failed");
37441 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6648);
37442 nit_exit(1);
37443 }
37444 /* ./parser//parser_prod.nit:6649 */
37445 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
37446 } else {
37447 /* ./parser//parser_prod.nit:6651 */
37448 fprintf(stderr, "Aborted");
37449 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6651);
37450 nit_exit(1);
37451 }
37452 /* ./parser//parser_prod.nit:6653 */
37453 goto label1;
37454 }
37455 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
37456 /* ./parser//parser_prod.nit:6655 */
37457 if (UNTAG_Bool(REGB0)) {
37458 } else {
37459 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
37460 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6655);
37461 nit_exit(1);
37462 }
37463 fra.me.REG[3] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
37464 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
37465 if (UNTAG_Bool(REGB0)) {
37466 } else {
37467 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
37468 REGB0 = REGB1;
37469 }
37470 if (UNTAG_Bool(REGB0)) {
37471 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
37472 /* ./parser//parser_prod.nit:6656 */
37473 if (UNTAG_Bool(REGB0)) {
37474 } else {
37475 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
37476 if (UNTAG_Bool(REGB1)) {
37477 REGB1 = TAG_Bool(false);
37478 REGB0 = REGB1;
37479 } else {
37480 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
37481 REGB0 = REGB1;
37482 }
37483 }
37484 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
37485 if (UNTAG_Bool(REGB0)) {
37486 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
37487 /* ./parser//parser_prod.nit:6657 */
37488 if (UNTAG_Bool(REGB0)) {
37489 fprintf(stderr, "Reciever is null");
37490 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6657);
37491 nit_exit(1);
37492 }
37493 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
37494 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
37495 /* ./parser//parser_prod.nit:6658 */
37496 if (UNTAG_Bool(REGB0)) {
37497 } else {
37498 fprintf(stderr, "Assert failed");
37499 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6658);
37500 nit_exit(1);
37501 }
37502 /* ./parser//parser_prod.nit:6659 */
37503 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
37504 } else {
37505 /* ./parser//parser_prod.nit:6661 */
37506 fprintf(stderr, "Aborted");
37507 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6661);
37508 nit_exit(1);
37509 }
37510 /* ./parser//parser_prod.nit:6663 */
37511 goto label1;
37512 }
37513 label1: while(0);
37514 stack_frame_head = fra.me.prev;
37515 return;
37516 }
37517 void parser_prod___ASlashExpr___visit_all(val_t p0, val_t p1){
37518 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
37519 val_t REGB0;
37520 val_t tmp;
37521 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37522 fra.me.file = LOCATE_parser_prod;
37523 fra.me.line = 6667;
37524 fra.me.meth = LOCATE_parser_prod___ASlashExpr___visit_all;
37525 fra.me.has_broke = 0;
37526 fra.me.REG_size = 3;
37527 fra.me.REG[0] = NIT_NULL;
37528 fra.me.REG[1] = NIT_NULL;
37529 fra.me.REG[2] = NIT_NULL;
37530 fra.me.REG[0] = p0;
37531 fra.me.REG[1] = p1;
37532 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
37533 /* ./parser//parser_prod.nit:6669 */
37534 if (UNTAG_Bool(REGB0)) {
37535 } else {
37536 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
37537 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6669);
37538 nit_exit(1);
37539 }
37540 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
37541 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
37542 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
37543 /* ./parser//parser_prod.nit:6670 */
37544 if (UNTAG_Bool(REGB0)) {
37545 } else {
37546 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
37547 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6670);
37548 nit_exit(1);
37549 }
37550 fra.me.REG[0] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
37551 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
37552 stack_frame_head = fra.me.prev;
37553 return;
37554 }
37555 void parser_prod___ASlashExpr___visit_all_reverse(val_t p0, val_t p1){
37556 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
37557 val_t REGB0;
37558 val_t tmp;
37559 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37560 fra.me.file = LOCATE_parser_prod;
37561 fra.me.line = 6673;
37562 fra.me.meth = LOCATE_parser_prod___ASlashExpr___visit_all_reverse;
37563 fra.me.has_broke = 0;
37564 fra.me.REG_size = 3;
37565 fra.me.REG[0] = NIT_NULL;
37566 fra.me.REG[1] = NIT_NULL;
37567 fra.me.REG[2] = NIT_NULL;
37568 fra.me.REG[0] = p0;
37569 fra.me.REG[1] = p1;
37570 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
37571 /* ./parser//parser_prod.nit:6675 */
37572 if (UNTAG_Bool(REGB0)) {
37573 } else {
37574 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
37575 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6675);
37576 nit_exit(1);
37577 }
37578 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
37579 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
37580 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
37581 /* ./parser//parser_prod.nit:6676 */
37582 if (UNTAG_Bool(REGB0)) {
37583 } else {
37584 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
37585 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6676);
37586 nit_exit(1);
37587 }
37588 fra.me.REG[0] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
37589 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
37590 stack_frame_head = fra.me.prev;
37591 return;
37592 }
37593 void parser_prod___ASlashExpr___empty_init(val_t p0, int* init_table){
37594 int itpos161 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ASlashExpr].i;
37595 struct {struct stack_frame_t me;} fra;
37596 val_t tmp;
37597 if (init_table[itpos161]) return;
37598 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37599 fra.me.file = LOCATE_parser_prod;
37600 fra.me.line = 6629;
37601 fra.me.meth = LOCATE_parser_prod___ASlashExpr___empty_init;
37602 fra.me.has_broke = 0;
37603 fra.me.REG_size = 1;
37604 fra.me.REG[0] = NIT_NULL;
37605 fra.me.REG[0] = p0;
37606 /* ./parser//parser_prod.nit:6629 */
37607 stack_frame_head = fra.me.prev;
37608 init_table[itpos161] = 1;
37609 return;
37610 }
37611 void parser_prod___ASlashExpr___init_aslashexpr(val_t p0, val_t p1, val_t p2, int* init_table){
37612 int itpos162 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ASlashExpr].i;
37613 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
37614 val_t REGB0;
37615 val_t tmp;
37616 if (init_table[itpos162]) return;
37617 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37618 fra.me.file = LOCATE_parser_prod;
37619 fra.me.line = 6631;
37620 fra.me.meth = LOCATE_parser_prod___ASlashExpr___init_aslashexpr;
37621 fra.me.has_broke = 0;
37622 fra.me.REG_size = 3;
37623 fra.me.REG[0] = NIT_NULL;
37624 fra.me.REG[1] = NIT_NULL;
37625 fra.me.REG[2] = NIT_NULL;
37626 fra.me.REG[0] = p0;
37627 fra.me.REG[1] = p1;
37628 fra.me.REG[2] = p2;
37629 /* ./parser//parser_prod.nit:6636 */
37630 CALL_parser_prod___ASlashExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
37631 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
37632 /* ./parser//parser_prod.nit:6637 */
37633 if (UNTAG_Bool(REGB0)) {
37634 } else {
37635 fprintf(stderr, "Cast failed");
37636 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6637);
37637 nit_exit(1);
37638 }
37639 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
37640 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
37641 /* ./parser//parser_prod.nit:6638 */
37642 if (UNTAG_Bool(REGB0)) {
37643 fprintf(stderr, "Reciever is null");
37644 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6638);
37645 nit_exit(1);
37646 }
37647 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
37648 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
37649 /* ./parser//parser_prod.nit:6639 */
37650 if (UNTAG_Bool(REGB0)) {
37651 } else {
37652 fprintf(stderr, "Cast failed");
37653 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6639);
37654 nit_exit(1);
37655 }
37656 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
37657 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
37658 /* ./parser//parser_prod.nit:6640 */
37659 if (UNTAG_Bool(REGB0)) {
37660 fprintf(stderr, "Reciever is null");
37661 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6640);
37662 nit_exit(1);
37663 }
37664 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
37665 stack_frame_head = fra.me.prev;
37666 init_table[itpos162] = 1;
37667 return;
37668 }
37669 void parser_prod___APercentExpr___n_expr__eq(val_t p0, val_t p1){
37670 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
37671 val_t tmp;
37672 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37673 fra.me.file = LOCATE_parser_prod;
37674 fra.me.line = 6680;
37675 fra.me.meth = LOCATE_parser_prod___APercentExpr___n_expr__eq;
37676 fra.me.has_broke = 0;
37677 fra.me.REG_size = 2;
37678 fra.me.REG[0] = NIT_NULL;
37679 fra.me.REG[1] = NIT_NULL;
37680 fra.me.REG[0] = p0;
37681 fra.me.REG[1] = p1;
37682 /* ./parser//parser_prod.nit:6682 */
37683 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
37684 /* ./parser//parser_prod.nit:6683 */
37685 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
37686 stack_frame_head = fra.me.prev;
37687 return;
37688 }
37689 void parser_prod___APercentExpr___n_expr2__eq(val_t p0, val_t p1){
37690 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
37691 val_t tmp;
37692 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37693 fra.me.file = LOCATE_parser_prod;
37694 fra.me.line = 6685;
37695 fra.me.meth = LOCATE_parser_prod___APercentExpr___n_expr2__eq;
37696 fra.me.has_broke = 0;
37697 fra.me.REG_size = 2;
37698 fra.me.REG[0] = NIT_NULL;
37699 fra.me.REG[1] = NIT_NULL;
37700 fra.me.REG[0] = p0;
37701 fra.me.REG[1] = p1;
37702 /* ./parser//parser_prod.nit:6687 */
37703 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[1];
37704 /* ./parser//parser_prod.nit:6688 */
37705 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
37706 stack_frame_head = fra.me.prev;
37707 return;
37708 }
37709 void parser_prod___APercentExpr___replace_child(val_t p0, val_t p1, val_t p2){
37710 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
37711 val_t REGB0;
37712 val_t REGB1;
37713 val_t tmp;
37714 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37715 fra.me.file = LOCATE_parser_prod;
37716 fra.me.line = 6705;
37717 fra.me.meth = LOCATE_parser_prod___APercentExpr___replace_child;
37718 fra.me.has_broke = 0;
37719 fra.me.REG_size = 4;
37720 fra.me.REG[0] = NIT_NULL;
37721 fra.me.REG[1] = NIT_NULL;
37722 fra.me.REG[2] = NIT_NULL;
37723 fra.me.REG[3] = NIT_NULL;
37724 fra.me.REG[0] = p0;
37725 fra.me.REG[1] = p1;
37726 fra.me.REG[2] = p2;
37727 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
37728 /* ./parser//parser_prod.nit:6707 */
37729 if (UNTAG_Bool(REGB0)) {
37730 } else {
37731 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
37732 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6707);
37733 nit_exit(1);
37734 }
37735 fra.me.REG[3] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
37736 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
37737 if (UNTAG_Bool(REGB0)) {
37738 } else {
37739 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
37740 REGB0 = REGB1;
37741 }
37742 if (UNTAG_Bool(REGB0)) {
37743 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
37744 /* ./parser//parser_prod.nit:6708 */
37745 if (UNTAG_Bool(REGB0)) {
37746 } else {
37747 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
37748 if (UNTAG_Bool(REGB1)) {
37749 REGB1 = TAG_Bool(false);
37750 REGB0 = REGB1;
37751 } else {
37752 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
37753 REGB0 = REGB1;
37754 }
37755 }
37756 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
37757 if (UNTAG_Bool(REGB0)) {
37758 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
37759 /* ./parser//parser_prod.nit:6709 */
37760 if (UNTAG_Bool(REGB0)) {
37761 fprintf(stderr, "Reciever is null");
37762 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6709);
37763 nit_exit(1);
37764 }
37765 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
37766 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
37767 /* ./parser//parser_prod.nit:6710 */
37768 if (UNTAG_Bool(REGB0)) {
37769 } else {
37770 fprintf(stderr, "Assert failed");
37771 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6710);
37772 nit_exit(1);
37773 }
37774 /* ./parser//parser_prod.nit:6711 */
37775 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
37776 } else {
37777 /* ./parser//parser_prod.nit:6713 */
37778 fprintf(stderr, "Aborted");
37779 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6713);
37780 nit_exit(1);
37781 }
37782 /* ./parser//parser_prod.nit:6715 */
37783 goto label1;
37784 }
37785 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
37786 /* ./parser//parser_prod.nit:6717 */
37787 if (UNTAG_Bool(REGB0)) {
37788 } else {
37789 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
37790 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6717);
37791 nit_exit(1);
37792 }
37793 fra.me.REG[3] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
37794 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
37795 if (UNTAG_Bool(REGB0)) {
37796 } else {
37797 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
37798 REGB0 = REGB1;
37799 }
37800 if (UNTAG_Bool(REGB0)) {
37801 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
37802 /* ./parser//parser_prod.nit:6718 */
37803 if (UNTAG_Bool(REGB0)) {
37804 } else {
37805 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
37806 if (UNTAG_Bool(REGB1)) {
37807 REGB1 = TAG_Bool(false);
37808 REGB0 = REGB1;
37809 } else {
37810 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
37811 REGB0 = REGB1;
37812 }
37813 }
37814 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
37815 if (UNTAG_Bool(REGB0)) {
37816 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
37817 /* ./parser//parser_prod.nit:6719 */
37818 if (UNTAG_Bool(REGB0)) {
37819 fprintf(stderr, "Reciever is null");
37820 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6719);
37821 nit_exit(1);
37822 }
37823 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
37824 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
37825 /* ./parser//parser_prod.nit:6720 */
37826 if (UNTAG_Bool(REGB0)) {
37827 } else {
37828 fprintf(stderr, "Assert failed");
37829 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6720);
37830 nit_exit(1);
37831 }
37832 /* ./parser//parser_prod.nit:6721 */
37833 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
37834 } else {
37835 /* ./parser//parser_prod.nit:6723 */
37836 fprintf(stderr, "Aborted");
37837 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6723);
37838 nit_exit(1);
37839 }
37840 /* ./parser//parser_prod.nit:6725 */
37841 goto label1;
37842 }
37843 label1: while(0);
37844 stack_frame_head = fra.me.prev;
37845 return;
37846 }
37847 void parser_prod___APercentExpr___visit_all(val_t p0, val_t p1){
37848 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
37849 val_t REGB0;
37850 val_t tmp;
37851 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37852 fra.me.file = LOCATE_parser_prod;
37853 fra.me.line = 6729;
37854 fra.me.meth = LOCATE_parser_prod___APercentExpr___visit_all;
37855 fra.me.has_broke = 0;
37856 fra.me.REG_size = 3;
37857 fra.me.REG[0] = NIT_NULL;
37858 fra.me.REG[1] = NIT_NULL;
37859 fra.me.REG[2] = NIT_NULL;
37860 fra.me.REG[0] = p0;
37861 fra.me.REG[1] = p1;
37862 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
37863 /* ./parser//parser_prod.nit:6731 */
37864 if (UNTAG_Bool(REGB0)) {
37865 } else {
37866 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
37867 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6731);
37868 nit_exit(1);
37869 }
37870 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
37871 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
37872 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
37873 /* ./parser//parser_prod.nit:6732 */
37874 if (UNTAG_Bool(REGB0)) {
37875 } else {
37876 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
37877 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6732);
37878 nit_exit(1);
37879 }
37880 fra.me.REG[0] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
37881 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
37882 stack_frame_head = fra.me.prev;
37883 return;
37884 }
37885 void parser_prod___APercentExpr___visit_all_reverse(val_t p0, val_t p1){
37886 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
37887 val_t REGB0;
37888 val_t tmp;
37889 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37890 fra.me.file = LOCATE_parser_prod;
37891 fra.me.line = 6735;
37892 fra.me.meth = LOCATE_parser_prod___APercentExpr___visit_all_reverse;
37893 fra.me.has_broke = 0;
37894 fra.me.REG_size = 3;
37895 fra.me.REG[0] = NIT_NULL;
37896 fra.me.REG[1] = NIT_NULL;
37897 fra.me.REG[2] = NIT_NULL;
37898 fra.me.REG[0] = p0;
37899 fra.me.REG[1] = p1;
37900 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
37901 /* ./parser//parser_prod.nit:6737 */
37902 if (UNTAG_Bool(REGB0)) {
37903 } else {
37904 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
37905 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6737);
37906 nit_exit(1);
37907 }
37908 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
37909 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
37910 REGB0 = TAG_Bool(ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
37911 /* ./parser//parser_prod.nit:6738 */
37912 if (UNTAG_Bool(REGB0)) {
37913 } else {
37914 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
37915 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6738);
37916 nit_exit(1);
37917 }
37918 fra.me.REG[0] = ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]);
37919 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
37920 stack_frame_head = fra.me.prev;
37921 return;
37922 }
37923 void parser_prod___APercentExpr___empty_init(val_t p0, int* init_table){
37924 int itpos163 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_APercentExpr].i;
37925 struct {struct stack_frame_t me;} fra;
37926 val_t tmp;
37927 if (init_table[itpos163]) return;
37928 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37929 fra.me.file = LOCATE_parser_prod;
37930 fra.me.line = 6691;
37931 fra.me.meth = LOCATE_parser_prod___APercentExpr___empty_init;
37932 fra.me.has_broke = 0;
37933 fra.me.REG_size = 1;
37934 fra.me.REG[0] = NIT_NULL;
37935 fra.me.REG[0] = p0;
37936 /* ./parser//parser_prod.nit:6691 */
37937 stack_frame_head = fra.me.prev;
37938 init_table[itpos163] = 1;
37939 return;
37940 }
37941 void parser_prod___APercentExpr___init_apercentexpr(val_t p0, val_t p1, val_t p2, int* init_table){
37942 int itpos164 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_APercentExpr].i;
37943 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
37944 val_t REGB0;
37945 val_t tmp;
37946 if (init_table[itpos164]) return;
37947 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
37948 fra.me.file = LOCATE_parser_prod;
37949 fra.me.line = 6693;
37950 fra.me.meth = LOCATE_parser_prod___APercentExpr___init_apercentexpr;
37951 fra.me.has_broke = 0;
37952 fra.me.REG_size = 3;
37953 fra.me.REG[0] = NIT_NULL;
37954 fra.me.REG[1] = NIT_NULL;
37955 fra.me.REG[2] = NIT_NULL;
37956 fra.me.REG[0] = p0;
37957 fra.me.REG[1] = p1;
37958 fra.me.REG[2] = p2;
37959 /* ./parser//parser_prod.nit:6698 */
37960 CALL_parser_prod___APercentExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
37961 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
37962 /* ./parser//parser_prod.nit:6699 */
37963 if (UNTAG_Bool(REGB0)) {
37964 } else {
37965 fprintf(stderr, "Cast failed");
37966 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6699);
37967 nit_exit(1);
37968 }
37969 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
37970 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
37971 /* ./parser//parser_prod.nit:6700 */
37972 if (UNTAG_Bool(REGB0)) {
37973 fprintf(stderr, "Reciever is null");
37974 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6700);
37975 nit_exit(1);
37976 }
37977 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
37978 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
37979 /* ./parser//parser_prod.nit:6701 */
37980 if (UNTAG_Bool(REGB0)) {
37981 } else {
37982 fprintf(stderr, "Cast failed");
37983 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6701);
37984 nit_exit(1);
37985 }
37986 ATTR_parser_nodes___ABinopExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
37987 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
37988 /* ./parser//parser_prod.nit:6702 */
37989 if (UNTAG_Bool(REGB0)) {
37990 fprintf(stderr, "Reciever is null");
37991 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6702);
37992 nit_exit(1);
37993 }
37994 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
37995 stack_frame_head = fra.me.prev;
37996 init_table[itpos164] = 1;
37997 return;
37998 }
37999 void parser_prod___AUminusExpr___n_expr__eq(val_t p0, val_t p1){
38000 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
38001 val_t tmp;
38002 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38003 fra.me.file = LOCATE_parser_prod;
38004 fra.me.line = 6747;
38005 fra.me.meth = LOCATE_parser_prod___AUminusExpr___n_expr__eq;
38006 fra.me.has_broke = 0;
38007 fra.me.REG_size = 2;
38008 fra.me.REG[0] = NIT_NULL;
38009 fra.me.REG[1] = NIT_NULL;
38010 fra.me.REG[0] = p0;
38011 fra.me.REG[1] = p1;
38012 /* ./parser//parser_prod.nit:6749 */
38013 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
38014 /* ./parser//parser_prod.nit:6750 */
38015 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
38016 stack_frame_head = fra.me.prev;
38017 return;
38018 }
38019 void parser_prod___AUminusExpr___n_minus__eq(val_t p0, val_t p1){
38020 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
38021 val_t tmp;
38022 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38023 fra.me.file = LOCATE_parser_prod;
38024 fra.me.line = 6742;
38025 fra.me.meth = LOCATE_parser_prod___AUminusExpr___n_minus__eq;
38026 fra.me.has_broke = 0;
38027 fra.me.REG_size = 2;
38028 fra.me.REG[0] = NIT_NULL;
38029 fra.me.REG[1] = NIT_NULL;
38030 fra.me.REG[0] = p0;
38031 fra.me.REG[1] = p1;
38032 /* ./parser//parser_prod.nit:6744 */
38033 ATTR_parser_nodes___AUminusExpr____n_minus(fra.me.REG[0]) = fra.me.REG[1];
38034 /* ./parser//parser_prod.nit:6745 */
38035 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
38036 stack_frame_head = fra.me.prev;
38037 return;
38038 }
38039 void parser_prod___AUminusExpr___replace_child(val_t p0, val_t p1, val_t p2){
38040 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
38041 val_t REGB0;
38042 val_t REGB1;
38043 val_t tmp;
38044 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38045 fra.me.file = LOCATE_parser_prod;
38046 fra.me.line = 6767;
38047 fra.me.meth = LOCATE_parser_prod___AUminusExpr___replace_child;
38048 fra.me.has_broke = 0;
38049 fra.me.REG_size = 4;
38050 fra.me.REG[0] = NIT_NULL;
38051 fra.me.REG[1] = NIT_NULL;
38052 fra.me.REG[2] = NIT_NULL;
38053 fra.me.REG[3] = NIT_NULL;
38054 fra.me.REG[0] = p0;
38055 fra.me.REG[1] = p1;
38056 fra.me.REG[2] = p2;
38057 REGB0 = TAG_Bool(ATTR_parser_nodes___AUminusExpr____n_minus(fra.me.REG[0])!=NIT_NULL);
38058 /* ./parser//parser_prod.nit:6769 */
38059 if (UNTAG_Bool(REGB0)) {
38060 } else {
38061 fprintf(stderr, "Uninitialized attribute %s", "_n_minus");
38062 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6769);
38063 nit_exit(1);
38064 }
38065 fra.me.REG[3] = ATTR_parser_nodes___AUminusExpr____n_minus(fra.me.REG[0]);
38066 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
38067 if (UNTAG_Bool(REGB0)) {
38068 } else {
38069 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
38070 REGB0 = REGB1;
38071 }
38072 if (UNTAG_Bool(REGB0)) {
38073 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
38074 /* ./parser//parser_prod.nit:6770 */
38075 if (UNTAG_Bool(REGB0)) {
38076 } else {
38077 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
38078 if (UNTAG_Bool(REGB1)) {
38079 REGB1 = TAG_Bool(false);
38080 REGB0 = REGB1;
38081 } else {
38082 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
38083 REGB0 = REGB1;
38084 }
38085 }
38086 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
38087 if (UNTAG_Bool(REGB0)) {
38088 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
38089 /* ./parser//parser_prod.nit:6771 */
38090 if (UNTAG_Bool(REGB0)) {
38091 fprintf(stderr, "Reciever is null");
38092 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6771);
38093 nit_exit(1);
38094 }
38095 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
38096 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TMinus, ID_TMinus)) /*cast TMinus*/;
38097 /* ./parser//parser_prod.nit:6772 */
38098 if (UNTAG_Bool(REGB0)) {
38099 } else {
38100 fprintf(stderr, "Assert failed");
38101 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6772);
38102 nit_exit(1);
38103 }
38104 /* ./parser//parser_prod.nit:6773 */
38105 ATTR_parser_nodes___AUminusExpr____n_minus(fra.me.REG[0]) = fra.me.REG[2];
38106 } else {
38107 /* ./parser//parser_prod.nit:6775 */
38108 fprintf(stderr, "Aborted");
38109 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6775);
38110 nit_exit(1);
38111 }
38112 /* ./parser//parser_prod.nit:6777 */
38113 goto label1;
38114 }
38115 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
38116 /* ./parser//parser_prod.nit:6779 */
38117 if (UNTAG_Bool(REGB0)) {
38118 } else {
38119 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
38120 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6779);
38121 nit_exit(1);
38122 }
38123 fra.me.REG[3] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
38124 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
38125 if (UNTAG_Bool(REGB0)) {
38126 } else {
38127 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
38128 REGB0 = REGB1;
38129 }
38130 if (UNTAG_Bool(REGB0)) {
38131 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
38132 /* ./parser//parser_prod.nit:6780 */
38133 if (UNTAG_Bool(REGB0)) {
38134 } else {
38135 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
38136 if (UNTAG_Bool(REGB1)) {
38137 REGB1 = TAG_Bool(false);
38138 REGB0 = REGB1;
38139 } else {
38140 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
38141 REGB0 = REGB1;
38142 }
38143 }
38144 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
38145 if (UNTAG_Bool(REGB0)) {
38146 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
38147 /* ./parser//parser_prod.nit:6781 */
38148 if (UNTAG_Bool(REGB0)) {
38149 fprintf(stderr, "Reciever is null");
38150 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6781);
38151 nit_exit(1);
38152 }
38153 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
38154 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
38155 /* ./parser//parser_prod.nit:6782 */
38156 if (UNTAG_Bool(REGB0)) {
38157 } else {
38158 fprintf(stderr, "Assert failed");
38159 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6782);
38160 nit_exit(1);
38161 }
38162 /* ./parser//parser_prod.nit:6783 */
38163 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
38164 } else {
38165 /* ./parser//parser_prod.nit:6785 */
38166 fprintf(stderr, "Aborted");
38167 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6785);
38168 nit_exit(1);
38169 }
38170 /* ./parser//parser_prod.nit:6787 */
38171 goto label1;
38172 }
38173 label1: while(0);
38174 stack_frame_head = fra.me.prev;
38175 return;
38176 }
38177 void parser_prod___AUminusExpr___visit_all(val_t p0, val_t p1){
38178 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
38179 val_t REGB0;
38180 val_t tmp;
38181 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38182 fra.me.file = LOCATE_parser_prod;
38183 fra.me.line = 6791;
38184 fra.me.meth = LOCATE_parser_prod___AUminusExpr___visit_all;
38185 fra.me.has_broke = 0;
38186 fra.me.REG_size = 3;
38187 fra.me.REG[0] = NIT_NULL;
38188 fra.me.REG[1] = NIT_NULL;
38189 fra.me.REG[2] = NIT_NULL;
38190 fra.me.REG[0] = p0;
38191 fra.me.REG[1] = p1;
38192 REGB0 = TAG_Bool(ATTR_parser_nodes___AUminusExpr____n_minus(fra.me.REG[0])!=NIT_NULL);
38193 /* ./parser//parser_prod.nit:6793 */
38194 if (UNTAG_Bool(REGB0)) {
38195 } else {
38196 fprintf(stderr, "Uninitialized attribute %s", "_n_minus");
38197 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6793);
38198 nit_exit(1);
38199 }
38200 fra.me.REG[2] = ATTR_parser_nodes___AUminusExpr____n_minus(fra.me.REG[0]);
38201 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
38202 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
38203 /* ./parser//parser_prod.nit:6794 */
38204 if (UNTAG_Bool(REGB0)) {
38205 } else {
38206 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
38207 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6794);
38208 nit_exit(1);
38209 }
38210 fra.me.REG[0] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
38211 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
38212 stack_frame_head = fra.me.prev;
38213 return;
38214 }
38215 void parser_prod___AUminusExpr___visit_all_reverse(val_t p0, val_t p1){
38216 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
38217 val_t REGB0;
38218 val_t tmp;
38219 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38220 fra.me.file = LOCATE_parser_prod;
38221 fra.me.line = 6797;
38222 fra.me.meth = LOCATE_parser_prod___AUminusExpr___visit_all_reverse;
38223 fra.me.has_broke = 0;
38224 fra.me.REG_size = 3;
38225 fra.me.REG[0] = NIT_NULL;
38226 fra.me.REG[1] = NIT_NULL;
38227 fra.me.REG[2] = NIT_NULL;
38228 fra.me.REG[0] = p0;
38229 fra.me.REG[1] = p1;
38230 REGB0 = TAG_Bool(ATTR_parser_nodes___AUminusExpr____n_minus(fra.me.REG[0])!=NIT_NULL);
38231 /* ./parser//parser_prod.nit:6799 */
38232 if (UNTAG_Bool(REGB0)) {
38233 } else {
38234 fprintf(stderr, "Uninitialized attribute %s", "_n_minus");
38235 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6799);
38236 nit_exit(1);
38237 }
38238 fra.me.REG[2] = ATTR_parser_nodes___AUminusExpr____n_minus(fra.me.REG[0]);
38239 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
38240 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
38241 /* ./parser//parser_prod.nit:6800 */
38242 if (UNTAG_Bool(REGB0)) {
38243 } else {
38244 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
38245 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6800);
38246 nit_exit(1);
38247 }
38248 fra.me.REG[0] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
38249 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
38250 stack_frame_head = fra.me.prev;
38251 return;
38252 }
38253 void parser_prod___AUminusExpr___empty_init(val_t p0, int* init_table){
38254 int itpos165 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AUminusExpr].i;
38255 struct {struct stack_frame_t me;} fra;
38256 val_t tmp;
38257 if (init_table[itpos165]) return;
38258 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38259 fra.me.file = LOCATE_parser_prod;
38260 fra.me.line = 6753;
38261 fra.me.meth = LOCATE_parser_prod___AUminusExpr___empty_init;
38262 fra.me.has_broke = 0;
38263 fra.me.REG_size = 1;
38264 fra.me.REG[0] = NIT_NULL;
38265 fra.me.REG[0] = p0;
38266 /* ./parser//parser_prod.nit:6753 */
38267 stack_frame_head = fra.me.prev;
38268 init_table[itpos165] = 1;
38269 return;
38270 }
38271 void parser_prod___AUminusExpr___init_auminusexpr(val_t p0, val_t p1, val_t p2, int* init_table){
38272 int itpos166 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AUminusExpr].i;
38273 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
38274 val_t REGB0;
38275 val_t tmp;
38276 if (init_table[itpos166]) return;
38277 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38278 fra.me.file = LOCATE_parser_prod;
38279 fra.me.line = 6755;
38280 fra.me.meth = LOCATE_parser_prod___AUminusExpr___init_auminusexpr;
38281 fra.me.has_broke = 0;
38282 fra.me.REG_size = 3;
38283 fra.me.REG[0] = NIT_NULL;
38284 fra.me.REG[1] = NIT_NULL;
38285 fra.me.REG[2] = NIT_NULL;
38286 fra.me.REG[0] = p0;
38287 fra.me.REG[1] = p1;
38288 fra.me.REG[2] = p2;
38289 /* ./parser//parser_prod.nit:6760 */
38290 CALL_parser_prod___AUminusExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
38291 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
38292 /* ./parser//parser_prod.nit:6761 */
38293 if (UNTAG_Bool(REGB0)) {
38294 } else {
38295 fprintf(stderr, "Cast failed");
38296 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6761);
38297 nit_exit(1);
38298 }
38299 ATTR_parser_nodes___AUminusExpr____n_minus(fra.me.REG[0]) = fra.me.REG[1];
38300 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
38301 /* ./parser//parser_prod.nit:6762 */
38302 if (UNTAG_Bool(REGB0)) {
38303 fprintf(stderr, "Reciever is null");
38304 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6762);
38305 nit_exit(1);
38306 }
38307 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
38308 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
38309 /* ./parser//parser_prod.nit:6763 */
38310 if (UNTAG_Bool(REGB0)) {
38311 } else {
38312 fprintf(stderr, "Cast failed");
38313 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6763);
38314 nit_exit(1);
38315 }
38316 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
38317 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
38318 /* ./parser//parser_prod.nit:6764 */
38319 if (UNTAG_Bool(REGB0)) {
38320 fprintf(stderr, "Reciever is null");
38321 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6764);
38322 nit_exit(1);
38323 }
38324 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
38325 stack_frame_head = fra.me.prev;
38326 init_table[itpos166] = 1;
38327 return;
38328 }
38329 void parser_prod___ANewExpr___n_kwnew__eq(val_t p0, val_t p1){
38330 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
38331 val_t tmp;
38332 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38333 fra.me.file = LOCATE_parser_prod;
38334 fra.me.line = 6804;
38335 fra.me.meth = LOCATE_parser_prod___ANewExpr___n_kwnew__eq;
38336 fra.me.has_broke = 0;
38337 fra.me.REG_size = 2;
38338 fra.me.REG[0] = NIT_NULL;
38339 fra.me.REG[1] = NIT_NULL;
38340 fra.me.REG[0] = p0;
38341 fra.me.REG[1] = p1;
38342 /* ./parser//parser_prod.nit:6806 */
38343 ATTR_parser_nodes___ANewExpr____n_kwnew(fra.me.REG[0]) = fra.me.REG[1];
38344 /* ./parser//parser_prod.nit:6807 */
38345 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
38346 stack_frame_head = fra.me.prev;
38347 return;
38348 }
38349 void parser_prod___ANewExpr___n_type__eq(val_t p0, val_t p1){
38350 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
38351 val_t tmp;
38352 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38353 fra.me.file = LOCATE_parser_prod;
38354 fra.me.line = 6809;
38355 fra.me.meth = LOCATE_parser_prod___ANewExpr___n_type__eq;
38356 fra.me.has_broke = 0;
38357 fra.me.REG_size = 2;
38358 fra.me.REG[0] = NIT_NULL;
38359 fra.me.REG[1] = NIT_NULL;
38360 fra.me.REG[0] = p0;
38361 fra.me.REG[1] = p1;
38362 /* ./parser//parser_prod.nit:6811 */
38363 ATTR_parser_nodes___ANewExpr____n_type(fra.me.REG[0]) = fra.me.REG[1];
38364 /* ./parser//parser_prod.nit:6812 */
38365 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
38366 stack_frame_head = fra.me.prev;
38367 return;
38368 }
38369 void parser_prod___ANewExpr___n_id__eq(val_t p0, val_t p1){
38370 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
38371 val_t REGB0;
38372 val_t REGB1;
38373 val_t tmp;
38374 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38375 fra.me.file = LOCATE_parser_prod;
38376 fra.me.line = 6814;
38377 fra.me.meth = LOCATE_parser_prod___ANewExpr___n_id__eq;
38378 fra.me.has_broke = 0;
38379 fra.me.REG_size = 2;
38380 fra.me.REG[0] = NIT_NULL;
38381 fra.me.REG[1] = NIT_NULL;
38382 fra.me.REG[0] = p0;
38383 fra.me.REG[1] = p1;
38384 /* ./parser//parser_prod.nit:6816 */
38385 ATTR_parser_nodes___ANewExpr____n_id(fra.me.REG[0]) = fra.me.REG[1];
38386 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
38387 /* ./parser//parser_prod.nit:6817 */
38388 if (UNTAG_Bool(REGB0)) {
38389 } else {
38390 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
38391 if (UNTAG_Bool(REGB1)) {
38392 REGB1 = TAG_Bool(false);
38393 REGB0 = REGB1;
38394 } else {
38395 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
38396 REGB0 = REGB1;
38397 }
38398 }
38399 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
38400 if (UNTAG_Bool(REGB0)) {
38401 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
38402 /* ./parser//parser_prod.nit:6818 */
38403 if (UNTAG_Bool(REGB0)) {
38404 fprintf(stderr, "Reciever is null");
38405 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6818);
38406 nit_exit(1);
38407 }
38408 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
38409 }
38410 stack_frame_head = fra.me.prev;
38411 return;
38412 }
38413 void parser_prod___ANewExpr___replace_child(val_t p0, val_t p1, val_t p2){
38414 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
38415 val_t REGB0;
38416 val_t REGB1;
38417 val_t REGB2;
38418 val_t tmp;
38419 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38420 fra.me.file = LOCATE_parser_prod;
38421 fra.me.line = 6847;
38422 fra.me.meth = LOCATE_parser_prod___ANewExpr___replace_child;
38423 fra.me.has_broke = 0;
38424 fra.me.REG_size = 5;
38425 fra.me.REG[0] = NIT_NULL;
38426 fra.me.REG[1] = NIT_NULL;
38427 fra.me.REG[2] = NIT_NULL;
38428 fra.me.REG[3] = NIT_NULL;
38429 fra.me.REG[4] = NIT_NULL;
38430 fra.me.REG[0] = p0;
38431 fra.me.REG[1] = p1;
38432 fra.me.REG[2] = p2;
38433 REGB0 = TAG_Bool(ATTR_parser_nodes___ANewExpr____n_kwnew(fra.me.REG[0])!=NIT_NULL);
38434 /* ./parser//parser_prod.nit:6849 */
38435 if (UNTAG_Bool(REGB0)) {
38436 } else {
38437 fprintf(stderr, "Uninitialized attribute %s", "_n_kwnew");
38438 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6849);
38439 nit_exit(1);
38440 }
38441 fra.me.REG[3] = ATTR_parser_nodes___ANewExpr____n_kwnew(fra.me.REG[0]);
38442 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
38443 if (UNTAG_Bool(REGB0)) {
38444 } else {
38445 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
38446 REGB0 = REGB1;
38447 }
38448 if (UNTAG_Bool(REGB0)) {
38449 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
38450 /* ./parser//parser_prod.nit:6850 */
38451 if (UNTAG_Bool(REGB0)) {
38452 } else {
38453 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
38454 if (UNTAG_Bool(REGB1)) {
38455 REGB1 = TAG_Bool(false);
38456 REGB0 = REGB1;
38457 } else {
38458 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
38459 REGB0 = REGB1;
38460 }
38461 }
38462 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
38463 if (UNTAG_Bool(REGB0)) {
38464 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
38465 /* ./parser//parser_prod.nit:6851 */
38466 if (UNTAG_Bool(REGB0)) {
38467 fprintf(stderr, "Reciever is null");
38468 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6851);
38469 nit_exit(1);
38470 }
38471 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
38472 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwnew, ID_TKwnew)) /*cast TKwnew*/;
38473 /* ./parser//parser_prod.nit:6852 */
38474 if (UNTAG_Bool(REGB0)) {
38475 } else {
38476 fprintf(stderr, "Assert failed");
38477 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6852);
38478 nit_exit(1);
38479 }
38480 /* ./parser//parser_prod.nit:6853 */
38481 ATTR_parser_nodes___ANewExpr____n_kwnew(fra.me.REG[0]) = fra.me.REG[2];
38482 } else {
38483 /* ./parser//parser_prod.nit:6855 */
38484 fprintf(stderr, "Aborted");
38485 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6855);
38486 nit_exit(1);
38487 }
38488 /* ./parser//parser_prod.nit:6857 */
38489 goto label1;
38490 }
38491 REGB0 = TAG_Bool(ATTR_parser_nodes___ANewExpr____n_type(fra.me.REG[0])!=NIT_NULL);
38492 /* ./parser//parser_prod.nit:6859 */
38493 if (UNTAG_Bool(REGB0)) {
38494 } else {
38495 fprintf(stderr, "Uninitialized attribute %s", "_n_type");
38496 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6859);
38497 nit_exit(1);
38498 }
38499 fra.me.REG[3] = ATTR_parser_nodes___ANewExpr____n_type(fra.me.REG[0]);
38500 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
38501 if (UNTAG_Bool(REGB0)) {
38502 } else {
38503 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
38504 REGB0 = REGB1;
38505 }
38506 if (UNTAG_Bool(REGB0)) {
38507 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
38508 /* ./parser//parser_prod.nit:6860 */
38509 if (UNTAG_Bool(REGB0)) {
38510 } else {
38511 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
38512 if (UNTAG_Bool(REGB1)) {
38513 REGB1 = TAG_Bool(false);
38514 REGB0 = REGB1;
38515 } else {
38516 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
38517 REGB0 = REGB1;
38518 }
38519 }
38520 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
38521 if (UNTAG_Bool(REGB0)) {
38522 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
38523 /* ./parser//parser_prod.nit:6861 */
38524 if (UNTAG_Bool(REGB0)) {
38525 fprintf(stderr, "Reciever is null");
38526 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6861);
38527 nit_exit(1);
38528 }
38529 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
38530 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast AType*/;
38531 /* ./parser//parser_prod.nit:6862 */
38532 if (UNTAG_Bool(REGB0)) {
38533 } else {
38534 fprintf(stderr, "Assert failed");
38535 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6862);
38536 nit_exit(1);
38537 }
38538 /* ./parser//parser_prod.nit:6863 */
38539 ATTR_parser_nodes___ANewExpr____n_type(fra.me.REG[0]) = fra.me.REG[2];
38540 } else {
38541 /* ./parser//parser_prod.nit:6865 */
38542 fprintf(stderr, "Aborted");
38543 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6865);
38544 nit_exit(1);
38545 }
38546 /* ./parser//parser_prod.nit:6867 */
38547 goto label1;
38548 }
38549 fra.me.REG[3] = ATTR_parser_nodes___ANewExpr____n_id(fra.me.REG[0]);
38550 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
38551 /* ./parser//parser_prod.nit:6869 */
38552 if (UNTAG_Bool(REGB0)) {
38553 } else {
38554 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
38555 if (UNTAG_Bool(REGB1)) {
38556 REGB1 = TAG_Bool(false);
38557 REGB0 = REGB1;
38558 } else {
38559 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
38560 REGB0 = REGB1;
38561 }
38562 }
38563 if (UNTAG_Bool(REGB0)) {
38564 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
38565 /* ./parser//parser_prod.nit:6870 */
38566 if (UNTAG_Bool(REGB0)) {
38567 } else {
38568 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
38569 if (UNTAG_Bool(REGB1)) {
38570 REGB1 = TAG_Bool(false);
38571 REGB0 = REGB1;
38572 } else {
38573 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
38574 REGB0 = REGB1;
38575 }
38576 }
38577 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
38578 if (UNTAG_Bool(REGB0)) {
38579 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
38580 /* ./parser//parser_prod.nit:6871 */
38581 if (UNTAG_Bool(REGB0)) {
38582 fprintf(stderr, "Reciever is null");
38583 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6871);
38584 nit_exit(1);
38585 }
38586 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
38587 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast TId*/;
38588 /* ./parser//parser_prod.nit:6872 */
38589 if (UNTAG_Bool(REGB0)) {
38590 } else {
38591 fprintf(stderr, "Assert failed");
38592 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6872);
38593 nit_exit(1);
38594 }
38595 /* ./parser//parser_prod.nit:6873 */
38596 ATTR_parser_nodes___ANewExpr____n_id(fra.me.REG[0]) = fra.me.REG[2];
38597 } else {
38598 /* ./parser//parser_prod.nit:6875 */
38599 ATTR_parser_nodes___ANewExpr____n_id(fra.me.REG[0]) = NIT_NULL;
38600 }
38601 /* ./parser//parser_prod.nit:6877 */
38602 goto label1;
38603 }
38604 REGB0 = TAG_Int(0);
38605 REGB1 = TAG_Bool(ATTR_parser_nodes___ANewExpr____n_args(fra.me.REG[0])!=NIT_NULL);
38606 /* ./parser//parser_prod.nit:6879 */
38607 if (UNTAG_Bool(REGB1)) {
38608 } else {
38609 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
38610 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6879);
38611 nit_exit(1);
38612 }
38613 fra.me.REG[3] = ATTR_parser_nodes___ANewExpr____n_args(fra.me.REG[0]);
38614 REGB1 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
38615 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB0, REGB1);
38616 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
38617 while(1) {
38618 REGB1 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
38619 if (UNTAG_Bool(REGB1)) {
38620 REGB1 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
38621 REGB0 = TAG_Bool(ATTR_parser_nodes___ANewExpr____n_args(fra.me.REG[0])!=NIT_NULL);
38622 /* ./parser//parser_prod.nit:6880 */
38623 if (UNTAG_Bool(REGB0)) {
38624 } else {
38625 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
38626 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6880);
38627 nit_exit(1);
38628 }
38629 fra.me.REG[4] = ATTR_parser_nodes___ANewExpr____n_args(fra.me.REG[0]);
38630 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB1);
38631 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[4]));
38632 if (UNTAG_Bool(REGB0)) {
38633 } else {
38634 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
38635 if (UNTAG_Bool(REGB2)) {
38636 REGB2 = TAG_Bool(false);
38637 REGB0 = REGB2;
38638 } else {
38639 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
38640 REGB0 = REGB2;
38641 }
38642 }
38643 if (UNTAG_Bool(REGB0)) {
38644 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
38645 /* ./parser//parser_prod.nit:6881 */
38646 if (UNTAG_Bool(REGB0)) {
38647 } else {
38648 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
38649 if (UNTAG_Bool(REGB2)) {
38650 REGB2 = TAG_Bool(false);
38651 REGB0 = REGB2;
38652 } else {
38653 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
38654 REGB0 = REGB2;
38655 }
38656 }
38657 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
38658 if (UNTAG_Bool(REGB0)) {
38659 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
38660 /* ./parser//parser_prod.nit:6882 */
38661 if (UNTAG_Bool(REGB0)) {
38662 } else {
38663 fprintf(stderr, "Assert failed");
38664 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6882);
38665 nit_exit(1);
38666 }
38667 REGB0 = TAG_Bool(ATTR_parser_nodes___ANewExpr____n_args(fra.me.REG[0])!=NIT_NULL);
38668 /* ./parser//parser_prod.nit:6883 */
38669 if (UNTAG_Bool(REGB0)) {
38670 } else {
38671 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
38672 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6883);
38673 nit_exit(1);
38674 }
38675 fra.me.REG[4] = ATTR_parser_nodes___ANewExpr____n_args(fra.me.REG[0]);
38676 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], REGB1, fra.me.REG[2]);
38677 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
38678 /* ./parser//parser_prod.nit:6884 */
38679 if (UNTAG_Bool(REGB0)) {
38680 fprintf(stderr, "Reciever is null");
38681 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6884);
38682 nit_exit(1);
38683 }
38684 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
38685 } else {
38686 REGB0 = TAG_Bool(ATTR_parser_nodes___ANewExpr____n_args(fra.me.REG[0])!=NIT_NULL);
38687 /* ./parser//parser_prod.nit:6886 */
38688 if (UNTAG_Bool(REGB0)) {
38689 } else {
38690 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
38691 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6886);
38692 nit_exit(1);
38693 }
38694 fra.me.REG[4] = ATTR_parser_nodes___ANewExpr____n_args(fra.me.REG[0]);
38695 CALL_abstract_collection___Map___remove_at(fra.me.REG[4])(fra.me.REG[4], REGB1);
38696 }
38697 /* ./parser//parser_prod.nit:6888 */
38698 goto label1;
38699 }
38700 } else {
38701 /* ./parser//parser_prod.nit:6879 */
38702 goto label2;
38703 }
38704 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
38705 }
38706 label2: while(0);
38707 label1: while(0);
38708 stack_frame_head = fra.me.prev;
38709 return;
38710 }
38711 void parser_prod___ANewExpr___visit_all(val_t p0, val_t p1){
38712 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
38713 val_t REGB0;
38714 val_t REGB1;
38715 val_t tmp;
38716 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38717 fra.me.file = LOCATE_parser_prod;
38718 fra.me.line = 6893;
38719 fra.me.meth = LOCATE_parser_prod___ANewExpr___visit_all;
38720 fra.me.has_broke = 0;
38721 fra.me.REG_size = 3;
38722 fra.me.REG[0] = NIT_NULL;
38723 fra.me.REG[1] = NIT_NULL;
38724 fra.me.REG[2] = NIT_NULL;
38725 fra.me.REG[0] = p0;
38726 fra.me.REG[1] = p1;
38727 REGB0 = TAG_Bool(ATTR_parser_nodes___ANewExpr____n_kwnew(fra.me.REG[0])!=NIT_NULL);
38728 /* ./parser//parser_prod.nit:6895 */
38729 if (UNTAG_Bool(REGB0)) {
38730 } else {
38731 fprintf(stderr, "Uninitialized attribute %s", "_n_kwnew");
38732 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6895);
38733 nit_exit(1);
38734 }
38735 fra.me.REG[2] = ATTR_parser_nodes___ANewExpr____n_kwnew(fra.me.REG[0]);
38736 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
38737 REGB0 = TAG_Bool(ATTR_parser_nodes___ANewExpr____n_type(fra.me.REG[0])!=NIT_NULL);
38738 /* ./parser//parser_prod.nit:6896 */
38739 if (UNTAG_Bool(REGB0)) {
38740 } else {
38741 fprintf(stderr, "Uninitialized attribute %s", "_n_type");
38742 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6896);
38743 nit_exit(1);
38744 }
38745 fra.me.REG[2] = ATTR_parser_nodes___ANewExpr____n_type(fra.me.REG[0]);
38746 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
38747 fra.me.REG[2] = ATTR_parser_nodes___ANewExpr____n_id(fra.me.REG[0]);
38748 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
38749 /* ./parser//parser_prod.nit:6897 */
38750 if (UNTAG_Bool(REGB0)) {
38751 } else {
38752 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
38753 if (UNTAG_Bool(REGB1)) {
38754 REGB1 = TAG_Bool(false);
38755 REGB0 = REGB1;
38756 } else {
38757 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
38758 REGB0 = REGB1;
38759 }
38760 }
38761 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
38762 if (UNTAG_Bool(REGB0)) {
38763 fra.me.REG[2] = ATTR_parser_nodes___ANewExpr____n_id(fra.me.REG[0]);
38764 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast TId*/;
38765 /* ./parser//parser_prod.nit:6898 */
38766 if (UNTAG_Bool(REGB0)) {
38767 } else {
38768 fprintf(stderr, "Cast failed");
38769 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6898);
38770 nit_exit(1);
38771 }
38772 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
38773 }
38774 REGB0 = TAG_Bool(ATTR_parser_nodes___ANewExpr____n_args(fra.me.REG[0])!=NIT_NULL);
38775 /* ./parser//parser_prod.nit:6900 */
38776 if (UNTAG_Bool(REGB0)) {
38777 } else {
38778 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
38779 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6900);
38780 nit_exit(1);
38781 }
38782 fra.me.REG[0] = ATTR_parser_nodes___ANewExpr____n_args(fra.me.REG[0]);
38783 fra.me.REG[0] = CALL_abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
38784 while(1) {
38785 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
38786 if (UNTAG_Bool(REGB0)) {
38787 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
38788 /* ./parser//parser_prod.nit:6901 */
38789 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
38790 } else {
38791 /* ./parser//parser_prod.nit:6900 */
38792 goto label1;
38793 }
38794 CALL_abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
38795 }
38796 label1: while(0);
38797 stack_frame_head = fra.me.prev;
38798 return;
38799 }
38800 void parser_prod___ANewExpr___visit_all_reverse(val_t p0, val_t p1){
38801 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
38802 val_t REGB0;
38803 val_t REGB1;
38804 val_t tmp;
38805 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38806 fra.me.file = LOCATE_parser_prod;
38807 fra.me.line = 6905;
38808 fra.me.meth = LOCATE_parser_prod___ANewExpr___visit_all_reverse;
38809 fra.me.has_broke = 0;
38810 fra.me.REG_size = 3;
38811 fra.me.REG[0] = NIT_NULL;
38812 fra.me.REG[1] = NIT_NULL;
38813 fra.me.REG[2] = NIT_NULL;
38814 fra.me.REG[0] = p0;
38815 fra.me.REG[1] = p1;
38816 REGB0 = TAG_Bool(ATTR_parser_nodes___ANewExpr____n_kwnew(fra.me.REG[0])!=NIT_NULL);
38817 /* ./parser//parser_prod.nit:6907 */
38818 if (UNTAG_Bool(REGB0)) {
38819 } else {
38820 fprintf(stderr, "Uninitialized attribute %s", "_n_kwnew");
38821 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6907);
38822 nit_exit(1);
38823 }
38824 fra.me.REG[2] = ATTR_parser_nodes___ANewExpr____n_kwnew(fra.me.REG[0]);
38825 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
38826 REGB0 = TAG_Bool(ATTR_parser_nodes___ANewExpr____n_type(fra.me.REG[0])!=NIT_NULL);
38827 /* ./parser//parser_prod.nit:6908 */
38828 if (UNTAG_Bool(REGB0)) {
38829 } else {
38830 fprintf(stderr, "Uninitialized attribute %s", "_n_type");
38831 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6908);
38832 nit_exit(1);
38833 }
38834 fra.me.REG[2] = ATTR_parser_nodes___ANewExpr____n_type(fra.me.REG[0]);
38835 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
38836 fra.me.REG[2] = ATTR_parser_nodes___ANewExpr____n_id(fra.me.REG[0]);
38837 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
38838 /* ./parser//parser_prod.nit:6909 */
38839 if (UNTAG_Bool(REGB0)) {
38840 } else {
38841 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
38842 if (UNTAG_Bool(REGB1)) {
38843 REGB1 = TAG_Bool(false);
38844 REGB0 = REGB1;
38845 } else {
38846 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
38847 REGB0 = REGB1;
38848 }
38849 }
38850 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
38851 if (UNTAG_Bool(REGB0)) {
38852 fra.me.REG[2] = ATTR_parser_nodes___ANewExpr____n_id(fra.me.REG[0]);
38853 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast TId*/;
38854 /* ./parser//parser_prod.nit:6910 */
38855 if (UNTAG_Bool(REGB0)) {
38856 } else {
38857 fprintf(stderr, "Cast failed");
38858 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6910);
38859 nit_exit(1);
38860 }
38861 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
38862 }
38863 REGB0 = TAG_Bool(ATTR_parser_nodes___ANewExpr____n_args(fra.me.REG[0])!=NIT_NULL);
38864 /* ./parser//parser_prod.nit:6913 */
38865 if (UNTAG_Bool(REGB0)) {
38866 } else {
38867 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
38868 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6913);
38869 nit_exit(1);
38870 }
38871 fra.me.REG[2] = ATTR_parser_nodes___ANewExpr____n_args(fra.me.REG[0]);
38872 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
38873 /* ./parser//parser_prod.nit:6914 */
38874 while(1) {
38875 REGB1 = TAG_Int(0);
38876 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
38877 /* ./parser//parser_prod.nit:6914 */
38878 if (UNTAG_Bool(REGB1)) {
38879 REGB1 = TAG_Bool(ATTR_parser_nodes___ANewExpr____n_args(fra.me.REG[0])!=NIT_NULL);
38880 /* ./parser//parser_prod.nit:6915 */
38881 if (UNTAG_Bool(REGB1)) {
38882 } else {
38883 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
38884 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6915);
38885 nit_exit(1);
38886 }
38887 fra.me.REG[2] = ATTR_parser_nodes___ANewExpr____n_args(fra.me.REG[0]);
38888 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
38889 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
38890 REGB1 = TAG_Int(1);
38891 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
38892 REGB0 = REGB1;
38893 /* ./parser//parser_prod.nit:6916 */
38894 } else {
38895 /* ./parser//parser_prod.nit:6914 */
38896 goto label1;
38897 }
38898 }
38899 label1: while(0);
38900 stack_frame_head = fra.me.prev;
38901 return;
38902 }
38903 void parser_prod___ANewExpr___empty_init(val_t p0, int* init_table){
38904 int itpos167 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ANewExpr].i;
38905 struct {struct stack_frame_t me;} fra;
38906 val_t tmp;
38907 if (init_table[itpos167]) return;
38908 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38909 fra.me.file = LOCATE_parser_prod;
38910 fra.me.line = 6822;
38911 fra.me.meth = LOCATE_parser_prod___ANewExpr___empty_init;
38912 fra.me.has_broke = 0;
38913 fra.me.REG_size = 1;
38914 fra.me.REG[0] = NIT_NULL;
38915 fra.me.REG[0] = p0;
38916 /* ./parser//parser_prod.nit:6822 */
38917 stack_frame_head = fra.me.prev;
38918 init_table[itpos167] = 1;
38919 return;
38920 }
38921 void parser_prod___ANewExpr___init_anewexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, int* init_table){
38922 int itpos168 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ANewExpr].i;
38923 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
38924 val_t REGB0;
38925 val_t REGB1;
38926 val_t tmp;
38927 if (init_table[itpos168]) return;
38928 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
38929 fra.me.file = LOCATE_parser_prod;
38930 fra.me.line = 6824;
38931 fra.me.meth = LOCATE_parser_prod___ANewExpr___init_anewexpr;
38932 fra.me.has_broke = 0;
38933 fra.me.REG_size = 5;
38934 fra.me.REG[0] = NIT_NULL;
38935 fra.me.REG[1] = NIT_NULL;
38936 fra.me.REG[2] = NIT_NULL;
38937 fra.me.REG[3] = NIT_NULL;
38938 fra.me.REG[4] = NIT_NULL;
38939 fra.me.REG[0] = p0;
38940 fra.me.REG[1] = p1;
38941 fra.me.REG[2] = p2;
38942 fra.me.REG[3] = p3;
38943 fra.me.REG[4] = p4;
38944 /* ./parser//parser_prod.nit:6831 */
38945 CALL_parser_prod___ANewExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
38946 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
38947 /* ./parser//parser_prod.nit:6832 */
38948 if (UNTAG_Bool(REGB0)) {
38949 } else {
38950 fprintf(stderr, "Cast failed");
38951 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6832);
38952 nit_exit(1);
38953 }
38954 ATTR_parser_nodes___ANewExpr____n_kwnew(fra.me.REG[0]) = fra.me.REG[1];
38955 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
38956 /* ./parser//parser_prod.nit:6833 */
38957 if (UNTAG_Bool(REGB0)) {
38958 fprintf(stderr, "Reciever is null");
38959 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6833);
38960 nit_exit(1);
38961 }
38962 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
38963 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
38964 /* ./parser//parser_prod.nit:6834 */
38965 if (UNTAG_Bool(REGB0)) {
38966 } else {
38967 fprintf(stderr, "Cast failed");
38968 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6834);
38969 nit_exit(1);
38970 }
38971 ATTR_parser_nodes___ANewExpr____n_type(fra.me.REG[0]) = fra.me.REG[2];
38972 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
38973 /* ./parser//parser_prod.nit:6835 */
38974 if (UNTAG_Bool(REGB0)) {
38975 fprintf(stderr, "Reciever is null");
38976 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6835);
38977 nit_exit(1);
38978 }
38979 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
38980 /* ./parser//parser_prod.nit:6836 */
38981 ATTR_parser_nodes___ANewExpr____n_id(fra.me.REG[0]) = fra.me.REG[3];
38982 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
38983 /* ./parser//parser_prod.nit:6837 */
38984 if (UNTAG_Bool(REGB0)) {
38985 } else {
38986 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
38987 if (UNTAG_Bool(REGB1)) {
38988 REGB1 = TAG_Bool(false);
38989 REGB0 = REGB1;
38990 } else {
38991 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
38992 REGB0 = REGB1;
38993 }
38994 }
38995 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
38996 if (UNTAG_Bool(REGB0)) {
38997 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
38998 /* ./parser//parser_prod.nit:6838 */
38999 if (UNTAG_Bool(REGB0)) {
39000 fprintf(stderr, "Reciever is null");
39001 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6838);
39002 nit_exit(1);
39003 }
39004 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
39005 }
39006 fra.me.REG[4] = CALL_abstract_collection___Collection___iterator(fra.me.REG[4])(fra.me.REG[4]);
39007 /* ./parser//parser_prod.nit:6840 */
39008 while(1) {
39009 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[4])(fra.me.REG[4]);
39010 if (UNTAG_Bool(REGB0)) {
39011 fra.me.REG[3] = CALL_abstract_collection___Iterator___item(fra.me.REG[4])(fra.me.REG[4]);
39012 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[3], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
39013 /* ./parser//parser_prod.nit:6841 */
39014 if (UNTAG_Bool(REGB0)) {
39015 } else {
39016 fprintf(stderr, "Assert failed");
39017 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6841);
39018 nit_exit(1);
39019 }
39020 REGB0 = TAG_Bool(ATTR_parser_nodes___ANewExpr____n_args(fra.me.REG[0])!=NIT_NULL);
39021 /* ./parser//parser_prod.nit:6842 */
39022 if (UNTAG_Bool(REGB0)) {
39023 } else {
39024 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
39025 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6842);
39026 nit_exit(1);
39027 }
39028 fra.me.REG[2] = ATTR_parser_nodes___ANewExpr____n_args(fra.me.REG[0]);
39029 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
39030 /* ./parser//parser_prod.nit:6843 */
39031 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
39032 } else {
39033 /* ./parser//parser_prod.nit:6840 */
39034 goto label1;
39035 }
39036 CALL_abstract_collection___Iterator___next(fra.me.REG[4])(fra.me.REG[4]);
39037 }
39038 label1: while(0);
39039 stack_frame_head = fra.me.prev;
39040 init_table[itpos168] = 1;
39041 return;
39042 }
39043 void parser_prod___AAttrExpr___n_expr__eq(val_t p0, val_t p1){
39044 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
39045 val_t tmp;
39046 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39047 fra.me.file = LOCATE_parser_prod;
39048 fra.me.line = 6922;
39049 fra.me.meth = LOCATE_parser_prod___AAttrExpr___n_expr__eq;
39050 fra.me.has_broke = 0;
39051 fra.me.REG_size = 2;
39052 fra.me.REG[0] = NIT_NULL;
39053 fra.me.REG[1] = NIT_NULL;
39054 fra.me.REG[0] = p0;
39055 fra.me.REG[1] = p1;
39056 /* ./parser//parser_prod.nit:6924 */
39057 ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
39058 /* ./parser//parser_prod.nit:6925 */
39059 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
39060 stack_frame_head = fra.me.prev;
39061 return;
39062 }
39063 void parser_prod___AAttrExpr___n_id__eq(val_t p0, val_t p1){
39064 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
39065 val_t tmp;
39066 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39067 fra.me.file = LOCATE_parser_prod;
39068 fra.me.line = 6927;
39069 fra.me.meth = LOCATE_parser_prod___AAttrExpr___n_id__eq;
39070 fra.me.has_broke = 0;
39071 fra.me.REG_size = 2;
39072 fra.me.REG[0] = NIT_NULL;
39073 fra.me.REG[1] = NIT_NULL;
39074 fra.me.REG[0] = p0;
39075 fra.me.REG[1] = p1;
39076 /* ./parser//parser_prod.nit:6929 */
39077 ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[1];
39078 /* ./parser//parser_prod.nit:6930 */
39079 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
39080 stack_frame_head = fra.me.prev;
39081 return;
39082 }
39083 void parser_prod___AAttrExpr___replace_child(val_t p0, val_t p1, val_t p2){
39084 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
39085 val_t REGB0;
39086 val_t REGB1;
39087 val_t tmp;
39088 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39089 fra.me.file = LOCATE_parser_prod;
39090 fra.me.line = 6947;
39091 fra.me.meth = LOCATE_parser_prod___AAttrExpr___replace_child;
39092 fra.me.has_broke = 0;
39093 fra.me.REG_size = 4;
39094 fra.me.REG[0] = NIT_NULL;
39095 fra.me.REG[1] = NIT_NULL;
39096 fra.me.REG[2] = NIT_NULL;
39097 fra.me.REG[3] = NIT_NULL;
39098 fra.me.REG[0] = p0;
39099 fra.me.REG[1] = p1;
39100 fra.me.REG[2] = p2;
39101 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
39102 /* ./parser//parser_prod.nit:6949 */
39103 if (UNTAG_Bool(REGB0)) {
39104 } else {
39105 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
39106 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6949);
39107 nit_exit(1);
39108 }
39109 fra.me.REG[3] = ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0]);
39110 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
39111 if (UNTAG_Bool(REGB0)) {
39112 } else {
39113 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
39114 REGB0 = REGB1;
39115 }
39116 if (UNTAG_Bool(REGB0)) {
39117 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
39118 /* ./parser//parser_prod.nit:6950 */
39119 if (UNTAG_Bool(REGB0)) {
39120 } else {
39121 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
39122 if (UNTAG_Bool(REGB1)) {
39123 REGB1 = TAG_Bool(false);
39124 REGB0 = REGB1;
39125 } else {
39126 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
39127 REGB0 = REGB1;
39128 }
39129 }
39130 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
39131 if (UNTAG_Bool(REGB0)) {
39132 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
39133 /* ./parser//parser_prod.nit:6951 */
39134 if (UNTAG_Bool(REGB0)) {
39135 fprintf(stderr, "Reciever is null");
39136 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6951);
39137 nit_exit(1);
39138 }
39139 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
39140 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
39141 /* ./parser//parser_prod.nit:6952 */
39142 if (UNTAG_Bool(REGB0)) {
39143 } else {
39144 fprintf(stderr, "Assert failed");
39145 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6952);
39146 nit_exit(1);
39147 }
39148 /* ./parser//parser_prod.nit:6953 */
39149 ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
39150 } else {
39151 /* ./parser//parser_prod.nit:6955 */
39152 fprintf(stderr, "Aborted");
39153 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6955);
39154 nit_exit(1);
39155 }
39156 /* ./parser//parser_prod.nit:6957 */
39157 goto label1;
39158 }
39159 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
39160 /* ./parser//parser_prod.nit:6959 */
39161 if (UNTAG_Bool(REGB0)) {
39162 } else {
39163 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
39164 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6959);
39165 nit_exit(1);
39166 }
39167 fra.me.REG[3] = ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0]);
39168 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
39169 if (UNTAG_Bool(REGB0)) {
39170 } else {
39171 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
39172 REGB0 = REGB1;
39173 }
39174 if (UNTAG_Bool(REGB0)) {
39175 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
39176 /* ./parser//parser_prod.nit:6960 */
39177 if (UNTAG_Bool(REGB0)) {
39178 } else {
39179 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
39180 if (UNTAG_Bool(REGB1)) {
39181 REGB1 = TAG_Bool(false);
39182 REGB0 = REGB1;
39183 } else {
39184 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
39185 REGB0 = REGB1;
39186 }
39187 }
39188 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
39189 if (UNTAG_Bool(REGB0)) {
39190 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
39191 /* ./parser//parser_prod.nit:6961 */
39192 if (UNTAG_Bool(REGB0)) {
39193 fprintf(stderr, "Reciever is null");
39194 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6961);
39195 nit_exit(1);
39196 }
39197 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
39198 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
39199 /* ./parser//parser_prod.nit:6962 */
39200 if (UNTAG_Bool(REGB0)) {
39201 } else {
39202 fprintf(stderr, "Assert failed");
39203 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6962);
39204 nit_exit(1);
39205 }
39206 /* ./parser//parser_prod.nit:6963 */
39207 ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[2];
39208 } else {
39209 /* ./parser//parser_prod.nit:6965 */
39210 fprintf(stderr, "Aborted");
39211 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6965);
39212 nit_exit(1);
39213 }
39214 /* ./parser//parser_prod.nit:6967 */
39215 goto label1;
39216 }
39217 label1: while(0);
39218 stack_frame_head = fra.me.prev;
39219 return;
39220 }
39221 void parser_prod___AAttrExpr___visit_all(val_t p0, val_t p1){
39222 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
39223 val_t REGB0;
39224 val_t tmp;
39225 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39226 fra.me.file = LOCATE_parser_prod;
39227 fra.me.line = 6971;
39228 fra.me.meth = LOCATE_parser_prod___AAttrExpr___visit_all;
39229 fra.me.has_broke = 0;
39230 fra.me.REG_size = 3;
39231 fra.me.REG[0] = NIT_NULL;
39232 fra.me.REG[1] = NIT_NULL;
39233 fra.me.REG[2] = NIT_NULL;
39234 fra.me.REG[0] = p0;
39235 fra.me.REG[1] = p1;
39236 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
39237 /* ./parser//parser_prod.nit:6973 */
39238 if (UNTAG_Bool(REGB0)) {
39239 } else {
39240 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
39241 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6973);
39242 nit_exit(1);
39243 }
39244 fra.me.REG[2] = ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0]);
39245 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
39246 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
39247 /* ./parser//parser_prod.nit:6974 */
39248 if (UNTAG_Bool(REGB0)) {
39249 } else {
39250 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
39251 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6974);
39252 nit_exit(1);
39253 }
39254 fra.me.REG[0] = ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0]);
39255 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
39256 stack_frame_head = fra.me.prev;
39257 return;
39258 }
39259 void parser_prod___AAttrExpr___visit_all_reverse(val_t p0, val_t p1){
39260 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
39261 val_t REGB0;
39262 val_t tmp;
39263 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39264 fra.me.file = LOCATE_parser_prod;
39265 fra.me.line = 6977;
39266 fra.me.meth = LOCATE_parser_prod___AAttrExpr___visit_all_reverse;
39267 fra.me.has_broke = 0;
39268 fra.me.REG_size = 3;
39269 fra.me.REG[0] = NIT_NULL;
39270 fra.me.REG[1] = NIT_NULL;
39271 fra.me.REG[2] = NIT_NULL;
39272 fra.me.REG[0] = p0;
39273 fra.me.REG[1] = p1;
39274 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
39275 /* ./parser//parser_prod.nit:6979 */
39276 if (UNTAG_Bool(REGB0)) {
39277 } else {
39278 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
39279 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6979);
39280 nit_exit(1);
39281 }
39282 fra.me.REG[2] = ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0]);
39283 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
39284 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
39285 /* ./parser//parser_prod.nit:6980 */
39286 if (UNTAG_Bool(REGB0)) {
39287 } else {
39288 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
39289 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6980);
39290 nit_exit(1);
39291 }
39292 fra.me.REG[0] = ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0]);
39293 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
39294 stack_frame_head = fra.me.prev;
39295 return;
39296 }
39297 void parser_prod___AAttrExpr___empty_init(val_t p0, int* init_table){
39298 int itpos169 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AAttrExpr].i;
39299 struct {struct stack_frame_t me;} fra;
39300 val_t tmp;
39301 if (init_table[itpos169]) return;
39302 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39303 fra.me.file = LOCATE_parser_prod;
39304 fra.me.line = 6933;
39305 fra.me.meth = LOCATE_parser_prod___AAttrExpr___empty_init;
39306 fra.me.has_broke = 0;
39307 fra.me.REG_size = 1;
39308 fra.me.REG[0] = NIT_NULL;
39309 fra.me.REG[0] = p0;
39310 /* ./parser//parser_prod.nit:6933 */
39311 stack_frame_head = fra.me.prev;
39312 init_table[itpos169] = 1;
39313 return;
39314 }
39315 void parser_prod___AAttrExpr___init_aattrexpr(val_t p0, val_t p1, val_t p2, int* init_table){
39316 int itpos170 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AAttrExpr].i;
39317 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
39318 val_t REGB0;
39319 val_t tmp;
39320 if (init_table[itpos170]) return;
39321 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39322 fra.me.file = LOCATE_parser_prod;
39323 fra.me.line = 6935;
39324 fra.me.meth = LOCATE_parser_prod___AAttrExpr___init_aattrexpr;
39325 fra.me.has_broke = 0;
39326 fra.me.REG_size = 3;
39327 fra.me.REG[0] = NIT_NULL;
39328 fra.me.REG[1] = NIT_NULL;
39329 fra.me.REG[2] = NIT_NULL;
39330 fra.me.REG[0] = p0;
39331 fra.me.REG[1] = p1;
39332 fra.me.REG[2] = p2;
39333 /* ./parser//parser_prod.nit:6940 */
39334 CALL_parser_prod___AAttrExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
39335 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
39336 /* ./parser//parser_prod.nit:6941 */
39337 if (UNTAG_Bool(REGB0)) {
39338 } else {
39339 fprintf(stderr, "Cast failed");
39340 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6941);
39341 nit_exit(1);
39342 }
39343 ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
39344 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
39345 /* ./parser//parser_prod.nit:6942 */
39346 if (UNTAG_Bool(REGB0)) {
39347 fprintf(stderr, "Reciever is null");
39348 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6942);
39349 nit_exit(1);
39350 }
39351 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
39352 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
39353 /* ./parser//parser_prod.nit:6943 */
39354 if (UNTAG_Bool(REGB0)) {
39355 } else {
39356 fprintf(stderr, "Cast failed");
39357 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6943);
39358 nit_exit(1);
39359 }
39360 ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[2];
39361 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
39362 /* ./parser//parser_prod.nit:6944 */
39363 if (UNTAG_Bool(REGB0)) {
39364 fprintf(stderr, "Reciever is null");
39365 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 6944);
39366 nit_exit(1);
39367 }
39368 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
39369 stack_frame_head = fra.me.prev;
39370 init_table[itpos170] = 1;
39371 return;
39372 }
39373 void parser_prod___AAttrAssignExpr___n_expr__eq(val_t p0, val_t p1){
39374 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
39375 val_t tmp;
39376 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39377 fra.me.file = LOCATE_parser_prod;
39378 fra.me.line = 6984;
39379 fra.me.meth = LOCATE_parser_prod___AAttrAssignExpr___n_expr__eq;
39380 fra.me.has_broke = 0;
39381 fra.me.REG_size = 2;
39382 fra.me.REG[0] = NIT_NULL;
39383 fra.me.REG[1] = NIT_NULL;
39384 fra.me.REG[0] = p0;
39385 fra.me.REG[1] = p1;
39386 /* ./parser//parser_prod.nit:6986 */
39387 ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
39388 /* ./parser//parser_prod.nit:6987 */
39389 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
39390 stack_frame_head = fra.me.prev;
39391 return;
39392 }
39393 void parser_prod___AAttrAssignExpr___n_id__eq(val_t p0, val_t p1){
39394 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
39395 val_t tmp;
39396 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39397 fra.me.file = LOCATE_parser_prod;
39398 fra.me.line = 6989;
39399 fra.me.meth = LOCATE_parser_prod___AAttrAssignExpr___n_id__eq;
39400 fra.me.has_broke = 0;
39401 fra.me.REG_size = 2;
39402 fra.me.REG[0] = NIT_NULL;
39403 fra.me.REG[1] = NIT_NULL;
39404 fra.me.REG[0] = p0;
39405 fra.me.REG[1] = p1;
39406 /* ./parser//parser_prod.nit:6991 */
39407 ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[1];
39408 /* ./parser//parser_prod.nit:6992 */
39409 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
39410 stack_frame_head = fra.me.prev;
39411 return;
39412 }
39413 void parser_prod___AAttrAssignExpr___n_assign__eq(val_t p0, val_t p1){
39414 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
39415 val_t tmp;
39416 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39417 fra.me.file = LOCATE_parser_prod;
39418 fra.me.line = 6994;
39419 fra.me.meth = LOCATE_parser_prod___AAttrAssignExpr___n_assign__eq;
39420 fra.me.has_broke = 0;
39421 fra.me.REG_size = 2;
39422 fra.me.REG[0] = NIT_NULL;
39423 fra.me.REG[1] = NIT_NULL;
39424 fra.me.REG[0] = p0;
39425 fra.me.REG[1] = p1;
39426 /* ./parser//parser_prod.nit:6996 */
39427 ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0]) = fra.me.REG[1];
39428 /* ./parser//parser_prod.nit:6997 */
39429 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
39430 stack_frame_head = fra.me.prev;
39431 return;
39432 }
39433 void parser_prod___AAttrAssignExpr___n_value__eq(val_t p0, val_t p1){
39434 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
39435 val_t tmp;
39436 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39437 fra.me.file = LOCATE_parser_prod;
39438 fra.me.line = 6999;
39439 fra.me.meth = LOCATE_parser_prod___AAttrAssignExpr___n_value__eq;
39440 fra.me.has_broke = 0;
39441 fra.me.REG_size = 2;
39442 fra.me.REG[0] = NIT_NULL;
39443 fra.me.REG[1] = NIT_NULL;
39444 fra.me.REG[0] = p0;
39445 fra.me.REG[1] = p1;
39446 /* ./parser//parser_prod.nit:7001 */
39447 ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0]) = fra.me.REG[1];
39448 /* ./parser//parser_prod.nit:7002 */
39449 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
39450 stack_frame_head = fra.me.prev;
39451 return;
39452 }
39453 void parser_prod___AAttrAssignExpr___replace_child(val_t p0, val_t p1, val_t p2){
39454 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
39455 val_t REGB0;
39456 val_t REGB1;
39457 val_t tmp;
39458 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39459 fra.me.file = LOCATE_parser_prod;
39460 fra.me.line = 7025;
39461 fra.me.meth = LOCATE_parser_prod___AAttrAssignExpr___replace_child;
39462 fra.me.has_broke = 0;
39463 fra.me.REG_size = 4;
39464 fra.me.REG[0] = NIT_NULL;
39465 fra.me.REG[1] = NIT_NULL;
39466 fra.me.REG[2] = NIT_NULL;
39467 fra.me.REG[3] = NIT_NULL;
39468 fra.me.REG[0] = p0;
39469 fra.me.REG[1] = p1;
39470 fra.me.REG[2] = p2;
39471 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
39472 /* ./parser//parser_prod.nit:7027 */
39473 if (UNTAG_Bool(REGB0)) {
39474 } else {
39475 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
39476 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7027);
39477 nit_exit(1);
39478 }
39479 fra.me.REG[3] = ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0]);
39480 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
39481 if (UNTAG_Bool(REGB0)) {
39482 } else {
39483 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
39484 REGB0 = REGB1;
39485 }
39486 if (UNTAG_Bool(REGB0)) {
39487 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
39488 /* ./parser//parser_prod.nit:7028 */
39489 if (UNTAG_Bool(REGB0)) {
39490 } else {
39491 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
39492 if (UNTAG_Bool(REGB1)) {
39493 REGB1 = TAG_Bool(false);
39494 REGB0 = REGB1;
39495 } else {
39496 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
39497 REGB0 = REGB1;
39498 }
39499 }
39500 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
39501 if (UNTAG_Bool(REGB0)) {
39502 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
39503 /* ./parser//parser_prod.nit:7029 */
39504 if (UNTAG_Bool(REGB0)) {
39505 fprintf(stderr, "Reciever is null");
39506 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7029);
39507 nit_exit(1);
39508 }
39509 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
39510 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
39511 /* ./parser//parser_prod.nit:7030 */
39512 if (UNTAG_Bool(REGB0)) {
39513 } else {
39514 fprintf(stderr, "Assert failed");
39515 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7030);
39516 nit_exit(1);
39517 }
39518 /* ./parser//parser_prod.nit:7031 */
39519 ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
39520 } else {
39521 /* ./parser//parser_prod.nit:7033 */
39522 fprintf(stderr, "Aborted");
39523 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7033);
39524 nit_exit(1);
39525 }
39526 /* ./parser//parser_prod.nit:7035 */
39527 goto label1;
39528 }
39529 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
39530 /* ./parser//parser_prod.nit:7037 */
39531 if (UNTAG_Bool(REGB0)) {
39532 } else {
39533 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
39534 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7037);
39535 nit_exit(1);
39536 }
39537 fra.me.REG[3] = ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0]);
39538 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
39539 if (UNTAG_Bool(REGB0)) {
39540 } else {
39541 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
39542 REGB0 = REGB1;
39543 }
39544 if (UNTAG_Bool(REGB0)) {
39545 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
39546 /* ./parser//parser_prod.nit:7038 */
39547 if (UNTAG_Bool(REGB0)) {
39548 } else {
39549 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
39550 if (UNTAG_Bool(REGB1)) {
39551 REGB1 = TAG_Bool(false);
39552 REGB0 = REGB1;
39553 } else {
39554 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
39555 REGB0 = REGB1;
39556 }
39557 }
39558 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
39559 if (UNTAG_Bool(REGB0)) {
39560 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
39561 /* ./parser//parser_prod.nit:7039 */
39562 if (UNTAG_Bool(REGB0)) {
39563 fprintf(stderr, "Reciever is null");
39564 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7039);
39565 nit_exit(1);
39566 }
39567 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
39568 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
39569 /* ./parser//parser_prod.nit:7040 */
39570 if (UNTAG_Bool(REGB0)) {
39571 } else {
39572 fprintf(stderr, "Assert failed");
39573 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7040);
39574 nit_exit(1);
39575 }
39576 /* ./parser//parser_prod.nit:7041 */
39577 ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[2];
39578 } else {
39579 /* ./parser//parser_prod.nit:7043 */
39580 fprintf(stderr, "Aborted");
39581 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7043);
39582 nit_exit(1);
39583 }
39584 /* ./parser//parser_prod.nit:7045 */
39585 goto label1;
39586 }
39587 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0])!=NIT_NULL);
39588 /* ./parser//parser_prod.nit:7047 */
39589 if (UNTAG_Bool(REGB0)) {
39590 } else {
39591 fprintf(stderr, "Uninitialized attribute %s", "_n_assign");
39592 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7047);
39593 nit_exit(1);
39594 }
39595 fra.me.REG[3] = ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0]);
39596 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
39597 if (UNTAG_Bool(REGB0)) {
39598 } else {
39599 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
39600 REGB0 = REGB1;
39601 }
39602 if (UNTAG_Bool(REGB0)) {
39603 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
39604 /* ./parser//parser_prod.nit:7048 */
39605 if (UNTAG_Bool(REGB0)) {
39606 } else {
39607 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
39608 if (UNTAG_Bool(REGB1)) {
39609 REGB1 = TAG_Bool(false);
39610 REGB0 = REGB1;
39611 } else {
39612 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
39613 REGB0 = REGB1;
39614 }
39615 }
39616 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
39617 if (UNTAG_Bool(REGB0)) {
39618 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
39619 /* ./parser//parser_prod.nit:7049 */
39620 if (UNTAG_Bool(REGB0)) {
39621 fprintf(stderr, "Reciever is null");
39622 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7049);
39623 nit_exit(1);
39624 }
39625 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
39626 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
39627 /* ./parser//parser_prod.nit:7050 */
39628 if (UNTAG_Bool(REGB0)) {
39629 } else {
39630 fprintf(stderr, "Assert failed");
39631 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7050);
39632 nit_exit(1);
39633 }
39634 /* ./parser//parser_prod.nit:7051 */
39635 ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0]) = fra.me.REG[2];
39636 } else {
39637 /* ./parser//parser_prod.nit:7053 */
39638 fprintf(stderr, "Aborted");
39639 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7053);
39640 nit_exit(1);
39641 }
39642 /* ./parser//parser_prod.nit:7055 */
39643 goto label1;
39644 }
39645 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0])!=NIT_NULL);
39646 /* ./parser//parser_prod.nit:7057 */
39647 if (UNTAG_Bool(REGB0)) {
39648 } else {
39649 fprintf(stderr, "Uninitialized attribute %s", "_n_value");
39650 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7057);
39651 nit_exit(1);
39652 }
39653 fra.me.REG[3] = ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0]);
39654 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
39655 if (UNTAG_Bool(REGB0)) {
39656 } else {
39657 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
39658 REGB0 = REGB1;
39659 }
39660 if (UNTAG_Bool(REGB0)) {
39661 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
39662 /* ./parser//parser_prod.nit:7058 */
39663 if (UNTAG_Bool(REGB0)) {
39664 } else {
39665 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
39666 if (UNTAG_Bool(REGB1)) {
39667 REGB1 = TAG_Bool(false);
39668 REGB0 = REGB1;
39669 } else {
39670 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
39671 REGB0 = REGB1;
39672 }
39673 }
39674 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
39675 if (UNTAG_Bool(REGB0)) {
39676 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
39677 /* ./parser//parser_prod.nit:7059 */
39678 if (UNTAG_Bool(REGB0)) {
39679 fprintf(stderr, "Reciever is null");
39680 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7059);
39681 nit_exit(1);
39682 }
39683 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
39684 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
39685 /* ./parser//parser_prod.nit:7060 */
39686 if (UNTAG_Bool(REGB0)) {
39687 } else {
39688 fprintf(stderr, "Assert failed");
39689 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7060);
39690 nit_exit(1);
39691 }
39692 /* ./parser//parser_prod.nit:7061 */
39693 ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0]) = fra.me.REG[2];
39694 } else {
39695 /* ./parser//parser_prod.nit:7063 */
39696 fprintf(stderr, "Aborted");
39697 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7063);
39698 nit_exit(1);
39699 }
39700 /* ./parser//parser_prod.nit:7065 */
39701 goto label1;
39702 }
39703 label1: while(0);
39704 stack_frame_head = fra.me.prev;
39705 return;
39706 }
39707 void parser_prod___AAttrAssignExpr___visit_all(val_t p0, val_t p1){
39708 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
39709 val_t REGB0;
39710 val_t tmp;
39711 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39712 fra.me.file = LOCATE_parser_prod;
39713 fra.me.line = 7069;
39714 fra.me.meth = LOCATE_parser_prod___AAttrAssignExpr___visit_all;
39715 fra.me.has_broke = 0;
39716 fra.me.REG_size = 3;
39717 fra.me.REG[0] = NIT_NULL;
39718 fra.me.REG[1] = NIT_NULL;
39719 fra.me.REG[2] = NIT_NULL;
39720 fra.me.REG[0] = p0;
39721 fra.me.REG[1] = p1;
39722 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
39723 /* ./parser//parser_prod.nit:7071 */
39724 if (UNTAG_Bool(REGB0)) {
39725 } else {
39726 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
39727 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7071);
39728 nit_exit(1);
39729 }
39730 fra.me.REG[2] = ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0]);
39731 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
39732 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
39733 /* ./parser//parser_prod.nit:7072 */
39734 if (UNTAG_Bool(REGB0)) {
39735 } else {
39736 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
39737 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7072);
39738 nit_exit(1);
39739 }
39740 fra.me.REG[2] = ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0]);
39741 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
39742 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0])!=NIT_NULL);
39743 /* ./parser//parser_prod.nit:7073 */
39744 if (UNTAG_Bool(REGB0)) {
39745 } else {
39746 fprintf(stderr, "Uninitialized attribute %s", "_n_assign");
39747 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7073);
39748 nit_exit(1);
39749 }
39750 fra.me.REG[2] = ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0]);
39751 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
39752 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0])!=NIT_NULL);
39753 /* ./parser//parser_prod.nit:7074 */
39754 if (UNTAG_Bool(REGB0)) {
39755 } else {
39756 fprintf(stderr, "Uninitialized attribute %s", "_n_value");
39757 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7074);
39758 nit_exit(1);
39759 }
39760 fra.me.REG[0] = ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0]);
39761 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
39762 stack_frame_head = fra.me.prev;
39763 return;
39764 }
39765 void parser_prod___AAttrAssignExpr___visit_all_reverse(val_t p0, val_t p1){
39766 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
39767 val_t REGB0;
39768 val_t tmp;
39769 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39770 fra.me.file = LOCATE_parser_prod;
39771 fra.me.line = 7077;
39772 fra.me.meth = LOCATE_parser_prod___AAttrAssignExpr___visit_all_reverse;
39773 fra.me.has_broke = 0;
39774 fra.me.REG_size = 3;
39775 fra.me.REG[0] = NIT_NULL;
39776 fra.me.REG[1] = NIT_NULL;
39777 fra.me.REG[2] = NIT_NULL;
39778 fra.me.REG[0] = p0;
39779 fra.me.REG[1] = p1;
39780 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
39781 /* ./parser//parser_prod.nit:7079 */
39782 if (UNTAG_Bool(REGB0)) {
39783 } else {
39784 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
39785 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7079);
39786 nit_exit(1);
39787 }
39788 fra.me.REG[2] = ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0]);
39789 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
39790 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
39791 /* ./parser//parser_prod.nit:7080 */
39792 if (UNTAG_Bool(REGB0)) {
39793 } else {
39794 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
39795 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7080);
39796 nit_exit(1);
39797 }
39798 fra.me.REG[2] = ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0]);
39799 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
39800 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0])!=NIT_NULL);
39801 /* ./parser//parser_prod.nit:7081 */
39802 if (UNTAG_Bool(REGB0)) {
39803 } else {
39804 fprintf(stderr, "Uninitialized attribute %s", "_n_assign");
39805 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7081);
39806 nit_exit(1);
39807 }
39808 fra.me.REG[2] = ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0]);
39809 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
39810 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0])!=NIT_NULL);
39811 /* ./parser//parser_prod.nit:7082 */
39812 if (UNTAG_Bool(REGB0)) {
39813 } else {
39814 fprintf(stderr, "Uninitialized attribute %s", "_n_value");
39815 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7082);
39816 nit_exit(1);
39817 }
39818 fra.me.REG[0] = ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0]);
39819 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
39820 stack_frame_head = fra.me.prev;
39821 return;
39822 }
39823 void parser_prod___AAttrAssignExpr___empty_init(val_t p0, int* init_table){
39824 int itpos171 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AAttrAssignExpr].i;
39825 struct {struct stack_frame_t me;} fra;
39826 val_t tmp;
39827 if (init_table[itpos171]) return;
39828 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39829 fra.me.file = LOCATE_parser_prod;
39830 fra.me.line = 7005;
39831 fra.me.meth = LOCATE_parser_prod___AAttrAssignExpr___empty_init;
39832 fra.me.has_broke = 0;
39833 fra.me.REG_size = 1;
39834 fra.me.REG[0] = NIT_NULL;
39835 fra.me.REG[0] = p0;
39836 /* ./parser//parser_prod.nit:7005 */
39837 stack_frame_head = fra.me.prev;
39838 init_table[itpos171] = 1;
39839 return;
39840 }
39841 void parser_prod___AAttrAssignExpr___init_aattrassignexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, int* init_table){
39842 int itpos172 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AAttrAssignExpr].i;
39843 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
39844 val_t REGB0;
39845 val_t tmp;
39846 if (init_table[itpos172]) return;
39847 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39848 fra.me.file = LOCATE_parser_prod;
39849 fra.me.line = 7007;
39850 fra.me.meth = LOCATE_parser_prod___AAttrAssignExpr___init_aattrassignexpr;
39851 fra.me.has_broke = 0;
39852 fra.me.REG_size = 5;
39853 fra.me.REG[0] = NIT_NULL;
39854 fra.me.REG[1] = NIT_NULL;
39855 fra.me.REG[2] = NIT_NULL;
39856 fra.me.REG[3] = NIT_NULL;
39857 fra.me.REG[4] = NIT_NULL;
39858 fra.me.REG[0] = p0;
39859 fra.me.REG[1] = p1;
39860 fra.me.REG[2] = p2;
39861 fra.me.REG[3] = p3;
39862 fra.me.REG[4] = p4;
39863 /* ./parser//parser_prod.nit:7014 */
39864 CALL_parser_prod___AAttrAssignExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
39865 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
39866 /* ./parser//parser_prod.nit:7015 */
39867 if (UNTAG_Bool(REGB0)) {
39868 } else {
39869 fprintf(stderr, "Cast failed");
39870 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7015);
39871 nit_exit(1);
39872 }
39873 ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
39874 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
39875 /* ./parser//parser_prod.nit:7016 */
39876 if (UNTAG_Bool(REGB0)) {
39877 fprintf(stderr, "Reciever is null");
39878 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7016);
39879 nit_exit(1);
39880 }
39881 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
39882 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
39883 /* ./parser//parser_prod.nit:7017 */
39884 if (UNTAG_Bool(REGB0)) {
39885 } else {
39886 fprintf(stderr, "Cast failed");
39887 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7017);
39888 nit_exit(1);
39889 }
39890 ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[2];
39891 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
39892 /* ./parser//parser_prod.nit:7018 */
39893 if (UNTAG_Bool(REGB0)) {
39894 fprintf(stderr, "Reciever is null");
39895 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7018);
39896 nit_exit(1);
39897 }
39898 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
39899 REGB0 = TAG_Bool(fra.me.REG[3]!=NIT_NULL);
39900 /* ./parser//parser_prod.nit:7019 */
39901 if (UNTAG_Bool(REGB0)) {
39902 } else {
39903 fprintf(stderr, "Cast failed");
39904 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7019);
39905 nit_exit(1);
39906 }
39907 ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0]) = fra.me.REG[3];
39908 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
39909 /* ./parser//parser_prod.nit:7020 */
39910 if (UNTAG_Bool(REGB0)) {
39911 fprintf(stderr, "Reciever is null");
39912 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7020);
39913 nit_exit(1);
39914 }
39915 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
39916 REGB0 = TAG_Bool(fra.me.REG[4]!=NIT_NULL);
39917 /* ./parser//parser_prod.nit:7021 */
39918 if (UNTAG_Bool(REGB0)) {
39919 } else {
39920 fprintf(stderr, "Cast failed");
39921 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7021);
39922 nit_exit(1);
39923 }
39924 ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0]) = fra.me.REG[4];
39925 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
39926 /* ./parser//parser_prod.nit:7022 */
39927 if (UNTAG_Bool(REGB0)) {
39928 fprintf(stderr, "Reciever is null");
39929 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7022);
39930 nit_exit(1);
39931 }
39932 CALL_parser_prod___ANode___parent__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
39933 stack_frame_head = fra.me.prev;
39934 init_table[itpos172] = 1;
39935 return;
39936 }
39937 void parser_prod___AAttrReassignExpr___n_expr__eq(val_t p0, val_t p1){
39938 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
39939 val_t tmp;
39940 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39941 fra.me.file = LOCATE_parser_prod;
39942 fra.me.line = 7086;
39943 fra.me.meth = LOCATE_parser_prod___AAttrReassignExpr___n_expr__eq;
39944 fra.me.has_broke = 0;
39945 fra.me.REG_size = 2;
39946 fra.me.REG[0] = NIT_NULL;
39947 fra.me.REG[1] = NIT_NULL;
39948 fra.me.REG[0] = p0;
39949 fra.me.REG[1] = p1;
39950 /* ./parser//parser_prod.nit:7088 */
39951 ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
39952 /* ./parser//parser_prod.nit:7089 */
39953 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
39954 stack_frame_head = fra.me.prev;
39955 return;
39956 }
39957 void parser_prod___AAttrReassignExpr___n_id__eq(val_t p0, val_t p1){
39958 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
39959 val_t tmp;
39960 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39961 fra.me.file = LOCATE_parser_prod;
39962 fra.me.line = 7091;
39963 fra.me.meth = LOCATE_parser_prod___AAttrReassignExpr___n_id__eq;
39964 fra.me.has_broke = 0;
39965 fra.me.REG_size = 2;
39966 fra.me.REG[0] = NIT_NULL;
39967 fra.me.REG[1] = NIT_NULL;
39968 fra.me.REG[0] = p0;
39969 fra.me.REG[1] = p1;
39970 /* ./parser//parser_prod.nit:7093 */
39971 ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[1];
39972 /* ./parser//parser_prod.nit:7094 */
39973 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
39974 stack_frame_head = fra.me.prev;
39975 return;
39976 }
39977 void parser_prod___AAttrReassignExpr___n_assign_op__eq(val_t p0, val_t p1){
39978 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
39979 val_t tmp;
39980 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
39981 fra.me.file = LOCATE_parser_prod;
39982 fra.me.line = 7096;
39983 fra.me.meth = LOCATE_parser_prod___AAttrReassignExpr___n_assign_op__eq;
39984 fra.me.has_broke = 0;
39985 fra.me.REG_size = 2;
39986 fra.me.REG[0] = NIT_NULL;
39987 fra.me.REG[1] = NIT_NULL;
39988 fra.me.REG[0] = p0;
39989 fra.me.REG[1] = p1;
39990 /* ./parser//parser_prod.nit:7098 */
39991 ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0]) = fra.me.REG[1];
39992 /* ./parser//parser_prod.nit:7099 */
39993 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
39994 stack_frame_head = fra.me.prev;
39995 return;
39996 }
39997 void parser_prod___AAttrReassignExpr___n_value__eq(val_t p0, val_t p1){
39998 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
39999 val_t tmp;
40000 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40001 fra.me.file = LOCATE_parser_prod;
40002 fra.me.line = 7101;
40003 fra.me.meth = LOCATE_parser_prod___AAttrReassignExpr___n_value__eq;
40004 fra.me.has_broke = 0;
40005 fra.me.REG_size = 2;
40006 fra.me.REG[0] = NIT_NULL;
40007 fra.me.REG[1] = NIT_NULL;
40008 fra.me.REG[0] = p0;
40009 fra.me.REG[1] = p1;
40010 /* ./parser//parser_prod.nit:7103 */
40011 ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0]) = fra.me.REG[1];
40012 /* ./parser//parser_prod.nit:7104 */
40013 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
40014 stack_frame_head = fra.me.prev;
40015 return;
40016 }
40017 void parser_prod___AAttrReassignExpr___replace_child(val_t p0, val_t p1, val_t p2){
40018 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
40019 val_t REGB0;
40020 val_t REGB1;
40021 val_t tmp;
40022 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40023 fra.me.file = LOCATE_parser_prod;
40024 fra.me.line = 7127;
40025 fra.me.meth = LOCATE_parser_prod___AAttrReassignExpr___replace_child;
40026 fra.me.has_broke = 0;
40027 fra.me.REG_size = 4;
40028 fra.me.REG[0] = NIT_NULL;
40029 fra.me.REG[1] = NIT_NULL;
40030 fra.me.REG[2] = NIT_NULL;
40031 fra.me.REG[3] = NIT_NULL;
40032 fra.me.REG[0] = p0;
40033 fra.me.REG[1] = p1;
40034 fra.me.REG[2] = p2;
40035 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
40036 /* ./parser//parser_prod.nit:7129 */
40037 if (UNTAG_Bool(REGB0)) {
40038 } else {
40039 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
40040 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7129);
40041 nit_exit(1);
40042 }
40043 fra.me.REG[3] = ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0]);
40044 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
40045 if (UNTAG_Bool(REGB0)) {
40046 } else {
40047 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
40048 REGB0 = REGB1;
40049 }
40050 if (UNTAG_Bool(REGB0)) {
40051 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
40052 /* ./parser//parser_prod.nit:7130 */
40053 if (UNTAG_Bool(REGB0)) {
40054 } else {
40055 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
40056 if (UNTAG_Bool(REGB1)) {
40057 REGB1 = TAG_Bool(false);
40058 REGB0 = REGB1;
40059 } else {
40060 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
40061 REGB0 = REGB1;
40062 }
40063 }
40064 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
40065 if (UNTAG_Bool(REGB0)) {
40066 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
40067 /* ./parser//parser_prod.nit:7131 */
40068 if (UNTAG_Bool(REGB0)) {
40069 fprintf(stderr, "Reciever is null");
40070 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7131);
40071 nit_exit(1);
40072 }
40073 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
40074 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
40075 /* ./parser//parser_prod.nit:7132 */
40076 if (UNTAG_Bool(REGB0)) {
40077 } else {
40078 fprintf(stderr, "Assert failed");
40079 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7132);
40080 nit_exit(1);
40081 }
40082 /* ./parser//parser_prod.nit:7133 */
40083 ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
40084 } else {
40085 /* ./parser//parser_prod.nit:7135 */
40086 fprintf(stderr, "Aborted");
40087 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7135);
40088 nit_exit(1);
40089 }
40090 /* ./parser//parser_prod.nit:7137 */
40091 goto label1;
40092 }
40093 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
40094 /* ./parser//parser_prod.nit:7139 */
40095 if (UNTAG_Bool(REGB0)) {
40096 } else {
40097 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
40098 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7139);
40099 nit_exit(1);
40100 }
40101 fra.me.REG[3] = ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0]);
40102 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
40103 if (UNTAG_Bool(REGB0)) {
40104 } else {
40105 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
40106 REGB0 = REGB1;
40107 }
40108 if (UNTAG_Bool(REGB0)) {
40109 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
40110 /* ./parser//parser_prod.nit:7140 */
40111 if (UNTAG_Bool(REGB0)) {
40112 } else {
40113 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
40114 if (UNTAG_Bool(REGB1)) {
40115 REGB1 = TAG_Bool(false);
40116 REGB0 = REGB1;
40117 } else {
40118 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
40119 REGB0 = REGB1;
40120 }
40121 }
40122 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
40123 if (UNTAG_Bool(REGB0)) {
40124 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
40125 /* ./parser//parser_prod.nit:7141 */
40126 if (UNTAG_Bool(REGB0)) {
40127 fprintf(stderr, "Reciever is null");
40128 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7141);
40129 nit_exit(1);
40130 }
40131 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
40132 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
40133 /* ./parser//parser_prod.nit:7142 */
40134 if (UNTAG_Bool(REGB0)) {
40135 } else {
40136 fprintf(stderr, "Assert failed");
40137 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7142);
40138 nit_exit(1);
40139 }
40140 /* ./parser//parser_prod.nit:7143 */
40141 ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[2];
40142 } else {
40143 /* ./parser//parser_prod.nit:7145 */
40144 fprintf(stderr, "Aborted");
40145 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7145);
40146 nit_exit(1);
40147 }
40148 /* ./parser//parser_prod.nit:7147 */
40149 goto label1;
40150 }
40151 REGB0 = TAG_Bool(ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0])!=NIT_NULL);
40152 /* ./parser//parser_prod.nit:7149 */
40153 if (UNTAG_Bool(REGB0)) {
40154 } else {
40155 fprintf(stderr, "Uninitialized attribute %s", "_n_assign_op");
40156 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7149);
40157 nit_exit(1);
40158 }
40159 fra.me.REG[3] = ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0]);
40160 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
40161 if (UNTAG_Bool(REGB0)) {
40162 } else {
40163 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
40164 REGB0 = REGB1;
40165 }
40166 if (UNTAG_Bool(REGB0)) {
40167 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
40168 /* ./parser//parser_prod.nit:7150 */
40169 if (UNTAG_Bool(REGB0)) {
40170 } else {
40171 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
40172 if (UNTAG_Bool(REGB1)) {
40173 REGB1 = TAG_Bool(false);
40174 REGB0 = REGB1;
40175 } else {
40176 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
40177 REGB0 = REGB1;
40178 }
40179 }
40180 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
40181 if (UNTAG_Bool(REGB0)) {
40182 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
40183 /* ./parser//parser_prod.nit:7151 */
40184 if (UNTAG_Bool(REGB0)) {
40185 fprintf(stderr, "Reciever is null");
40186 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7151);
40187 nit_exit(1);
40188 }
40189 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
40190 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AAssignOp, ID_AAssignOp)) /*cast AAssignOp*/;
40191 /* ./parser//parser_prod.nit:7152 */
40192 if (UNTAG_Bool(REGB0)) {
40193 } else {
40194 fprintf(stderr, "Assert failed");
40195 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7152);
40196 nit_exit(1);
40197 }
40198 /* ./parser//parser_prod.nit:7153 */
40199 ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0]) = fra.me.REG[2];
40200 } else {
40201 /* ./parser//parser_prod.nit:7155 */
40202 fprintf(stderr, "Aborted");
40203 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7155);
40204 nit_exit(1);
40205 }
40206 /* ./parser//parser_prod.nit:7157 */
40207 goto label1;
40208 }
40209 REGB0 = TAG_Bool(ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0])!=NIT_NULL);
40210 /* ./parser//parser_prod.nit:7159 */
40211 if (UNTAG_Bool(REGB0)) {
40212 } else {
40213 fprintf(stderr, "Uninitialized attribute %s", "_n_value");
40214 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7159);
40215 nit_exit(1);
40216 }
40217 fra.me.REG[3] = ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0]);
40218 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
40219 if (UNTAG_Bool(REGB0)) {
40220 } else {
40221 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
40222 REGB0 = REGB1;
40223 }
40224 if (UNTAG_Bool(REGB0)) {
40225 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
40226 /* ./parser//parser_prod.nit:7160 */
40227 if (UNTAG_Bool(REGB0)) {
40228 } else {
40229 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
40230 if (UNTAG_Bool(REGB1)) {
40231 REGB1 = TAG_Bool(false);
40232 REGB0 = REGB1;
40233 } else {
40234 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
40235 REGB0 = REGB1;
40236 }
40237 }
40238 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
40239 if (UNTAG_Bool(REGB0)) {
40240 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
40241 /* ./parser//parser_prod.nit:7161 */
40242 if (UNTAG_Bool(REGB0)) {
40243 fprintf(stderr, "Reciever is null");
40244 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7161);
40245 nit_exit(1);
40246 }
40247 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
40248 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
40249 /* ./parser//parser_prod.nit:7162 */
40250 if (UNTAG_Bool(REGB0)) {
40251 } else {
40252 fprintf(stderr, "Assert failed");
40253 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7162);
40254 nit_exit(1);
40255 }
40256 /* ./parser//parser_prod.nit:7163 */
40257 ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0]) = fra.me.REG[2];
40258 } else {
40259 /* ./parser//parser_prod.nit:7165 */
40260 fprintf(stderr, "Aborted");
40261 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7165);
40262 nit_exit(1);
40263 }
40264 /* ./parser//parser_prod.nit:7167 */
40265 goto label1;
40266 }
40267 label1: while(0);
40268 stack_frame_head = fra.me.prev;
40269 return;
40270 }
40271 void parser_prod___AAttrReassignExpr___visit_all(val_t p0, val_t p1){
40272 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
40273 val_t REGB0;
40274 val_t tmp;
40275 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40276 fra.me.file = LOCATE_parser_prod;
40277 fra.me.line = 7171;
40278 fra.me.meth = LOCATE_parser_prod___AAttrReassignExpr___visit_all;
40279 fra.me.has_broke = 0;
40280 fra.me.REG_size = 3;
40281 fra.me.REG[0] = NIT_NULL;
40282 fra.me.REG[1] = NIT_NULL;
40283 fra.me.REG[2] = NIT_NULL;
40284 fra.me.REG[0] = p0;
40285 fra.me.REG[1] = p1;
40286 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
40287 /* ./parser//parser_prod.nit:7173 */
40288 if (UNTAG_Bool(REGB0)) {
40289 } else {
40290 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
40291 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7173);
40292 nit_exit(1);
40293 }
40294 fra.me.REG[2] = ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0]);
40295 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
40296 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
40297 /* ./parser//parser_prod.nit:7174 */
40298 if (UNTAG_Bool(REGB0)) {
40299 } else {
40300 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
40301 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7174);
40302 nit_exit(1);
40303 }
40304 fra.me.REG[2] = ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0]);
40305 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
40306 REGB0 = TAG_Bool(ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0])!=NIT_NULL);
40307 /* ./parser//parser_prod.nit:7175 */
40308 if (UNTAG_Bool(REGB0)) {
40309 } else {
40310 fprintf(stderr, "Uninitialized attribute %s", "_n_assign_op");
40311 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7175);
40312 nit_exit(1);
40313 }
40314 fra.me.REG[2] = ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0]);
40315 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
40316 REGB0 = TAG_Bool(ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0])!=NIT_NULL);
40317 /* ./parser//parser_prod.nit:7176 */
40318 if (UNTAG_Bool(REGB0)) {
40319 } else {
40320 fprintf(stderr, "Uninitialized attribute %s", "_n_value");
40321 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7176);
40322 nit_exit(1);
40323 }
40324 fra.me.REG[0] = ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0]);
40325 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
40326 stack_frame_head = fra.me.prev;
40327 return;
40328 }
40329 void parser_prod___AAttrReassignExpr___visit_all_reverse(val_t p0, val_t p1){
40330 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
40331 val_t REGB0;
40332 val_t tmp;
40333 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40334 fra.me.file = LOCATE_parser_prod;
40335 fra.me.line = 7179;
40336 fra.me.meth = LOCATE_parser_prod___AAttrReassignExpr___visit_all_reverse;
40337 fra.me.has_broke = 0;
40338 fra.me.REG_size = 3;
40339 fra.me.REG[0] = NIT_NULL;
40340 fra.me.REG[1] = NIT_NULL;
40341 fra.me.REG[2] = NIT_NULL;
40342 fra.me.REG[0] = p0;
40343 fra.me.REG[1] = p1;
40344 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
40345 /* ./parser//parser_prod.nit:7181 */
40346 if (UNTAG_Bool(REGB0)) {
40347 } else {
40348 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
40349 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7181);
40350 nit_exit(1);
40351 }
40352 fra.me.REG[2] = ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0]);
40353 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
40354 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
40355 /* ./parser//parser_prod.nit:7182 */
40356 if (UNTAG_Bool(REGB0)) {
40357 } else {
40358 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
40359 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7182);
40360 nit_exit(1);
40361 }
40362 fra.me.REG[2] = ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0]);
40363 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
40364 REGB0 = TAG_Bool(ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0])!=NIT_NULL);
40365 /* ./parser//parser_prod.nit:7183 */
40366 if (UNTAG_Bool(REGB0)) {
40367 } else {
40368 fprintf(stderr, "Uninitialized attribute %s", "_n_assign_op");
40369 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7183);
40370 nit_exit(1);
40371 }
40372 fra.me.REG[2] = ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0]);
40373 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
40374 REGB0 = TAG_Bool(ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0])!=NIT_NULL);
40375 /* ./parser//parser_prod.nit:7184 */
40376 if (UNTAG_Bool(REGB0)) {
40377 } else {
40378 fprintf(stderr, "Uninitialized attribute %s", "_n_value");
40379 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7184);
40380 nit_exit(1);
40381 }
40382 fra.me.REG[0] = ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0]);
40383 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
40384 stack_frame_head = fra.me.prev;
40385 return;
40386 }
40387 void parser_prod___AAttrReassignExpr___empty_init(val_t p0, int* init_table){
40388 int itpos173 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AAttrReassignExpr].i;
40389 struct {struct stack_frame_t me;} fra;
40390 val_t tmp;
40391 if (init_table[itpos173]) return;
40392 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40393 fra.me.file = LOCATE_parser_prod;
40394 fra.me.line = 7107;
40395 fra.me.meth = LOCATE_parser_prod___AAttrReassignExpr___empty_init;
40396 fra.me.has_broke = 0;
40397 fra.me.REG_size = 1;
40398 fra.me.REG[0] = NIT_NULL;
40399 fra.me.REG[0] = p0;
40400 /* ./parser//parser_prod.nit:7107 */
40401 stack_frame_head = fra.me.prev;
40402 init_table[itpos173] = 1;
40403 return;
40404 }
40405 void parser_prod___AAttrReassignExpr___init_aattrreassignexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, int* init_table){
40406 int itpos174 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AAttrReassignExpr].i;
40407 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
40408 val_t REGB0;
40409 val_t tmp;
40410 if (init_table[itpos174]) return;
40411 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40412 fra.me.file = LOCATE_parser_prod;
40413 fra.me.line = 7109;
40414 fra.me.meth = LOCATE_parser_prod___AAttrReassignExpr___init_aattrreassignexpr;
40415 fra.me.has_broke = 0;
40416 fra.me.REG_size = 5;
40417 fra.me.REG[0] = NIT_NULL;
40418 fra.me.REG[1] = NIT_NULL;
40419 fra.me.REG[2] = NIT_NULL;
40420 fra.me.REG[3] = NIT_NULL;
40421 fra.me.REG[4] = NIT_NULL;
40422 fra.me.REG[0] = p0;
40423 fra.me.REG[1] = p1;
40424 fra.me.REG[2] = p2;
40425 fra.me.REG[3] = p3;
40426 fra.me.REG[4] = p4;
40427 /* ./parser//parser_prod.nit:7116 */
40428 CALL_parser_prod___AAttrReassignExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
40429 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
40430 /* ./parser//parser_prod.nit:7117 */
40431 if (UNTAG_Bool(REGB0)) {
40432 } else {
40433 fprintf(stderr, "Cast failed");
40434 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7117);
40435 nit_exit(1);
40436 }
40437 ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
40438 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
40439 /* ./parser//parser_prod.nit:7118 */
40440 if (UNTAG_Bool(REGB0)) {
40441 fprintf(stderr, "Reciever is null");
40442 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7118);
40443 nit_exit(1);
40444 }
40445 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
40446 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
40447 /* ./parser//parser_prod.nit:7119 */
40448 if (UNTAG_Bool(REGB0)) {
40449 } else {
40450 fprintf(stderr, "Cast failed");
40451 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7119);
40452 nit_exit(1);
40453 }
40454 ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[2];
40455 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
40456 /* ./parser//parser_prod.nit:7120 */
40457 if (UNTAG_Bool(REGB0)) {
40458 fprintf(stderr, "Reciever is null");
40459 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7120);
40460 nit_exit(1);
40461 }
40462 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
40463 REGB0 = TAG_Bool(fra.me.REG[3]!=NIT_NULL);
40464 /* ./parser//parser_prod.nit:7121 */
40465 if (UNTAG_Bool(REGB0)) {
40466 } else {
40467 fprintf(stderr, "Cast failed");
40468 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7121);
40469 nit_exit(1);
40470 }
40471 ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0]) = fra.me.REG[3];
40472 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
40473 /* ./parser//parser_prod.nit:7122 */
40474 if (UNTAG_Bool(REGB0)) {
40475 fprintf(stderr, "Reciever is null");
40476 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7122);
40477 nit_exit(1);
40478 }
40479 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
40480 REGB0 = TAG_Bool(fra.me.REG[4]!=NIT_NULL);
40481 /* ./parser//parser_prod.nit:7123 */
40482 if (UNTAG_Bool(REGB0)) {
40483 } else {
40484 fprintf(stderr, "Cast failed");
40485 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7123);
40486 nit_exit(1);
40487 }
40488 ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0]) = fra.me.REG[4];
40489 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
40490 /* ./parser//parser_prod.nit:7124 */
40491 if (UNTAG_Bool(REGB0)) {
40492 fprintf(stderr, "Reciever is null");
40493 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7124);
40494 nit_exit(1);
40495 }
40496 CALL_parser_prod___ANode___parent__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
40497 stack_frame_head = fra.me.prev;
40498 init_table[itpos174] = 1;
40499 return;
40500 }
40501 void parser_prod___ACallExpr___n_expr__eq(val_t p0, val_t p1){
40502 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
40503 val_t tmp;
40504 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40505 fra.me.file = LOCATE_parser_prod;
40506 fra.me.line = 7188;
40507 fra.me.meth = LOCATE_parser_prod___ACallExpr___n_expr__eq;
40508 fra.me.has_broke = 0;
40509 fra.me.REG_size = 2;
40510 fra.me.REG[0] = NIT_NULL;
40511 fra.me.REG[1] = NIT_NULL;
40512 fra.me.REG[0] = p0;
40513 fra.me.REG[1] = p1;
40514 /* ./parser//parser_prod.nit:7190 */
40515 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
40516 /* ./parser//parser_prod.nit:7191 */
40517 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
40518 stack_frame_head = fra.me.prev;
40519 return;
40520 }
40521 void parser_prod___ACallExpr___n_id__eq(val_t p0, val_t p1){
40522 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
40523 val_t tmp;
40524 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40525 fra.me.file = LOCATE_parser_prod;
40526 fra.me.line = 7193;
40527 fra.me.meth = LOCATE_parser_prod___ACallExpr___n_id__eq;
40528 fra.me.has_broke = 0;
40529 fra.me.REG_size = 2;
40530 fra.me.REG[0] = NIT_NULL;
40531 fra.me.REG[1] = NIT_NULL;
40532 fra.me.REG[0] = p0;
40533 fra.me.REG[1] = p1;
40534 /* ./parser//parser_prod.nit:7195 */
40535 ATTR_parser_nodes___ACallFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[1];
40536 /* ./parser//parser_prod.nit:7196 */
40537 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
40538 stack_frame_head = fra.me.prev;
40539 return;
40540 }
40541 void parser_prod___ACallExpr___replace_child(val_t p0, val_t p1, val_t p2){
40542 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
40543 val_t REGB0;
40544 val_t REGB1;
40545 val_t REGB2;
40546 val_t tmp;
40547 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40548 fra.me.file = LOCATE_parser_prod;
40549 fra.me.line = 7225;
40550 fra.me.meth = LOCATE_parser_prod___ACallExpr___replace_child;
40551 fra.me.has_broke = 0;
40552 fra.me.REG_size = 5;
40553 fra.me.REG[0] = NIT_NULL;
40554 fra.me.REG[1] = NIT_NULL;
40555 fra.me.REG[2] = NIT_NULL;
40556 fra.me.REG[3] = NIT_NULL;
40557 fra.me.REG[4] = NIT_NULL;
40558 fra.me.REG[0] = p0;
40559 fra.me.REG[1] = p1;
40560 fra.me.REG[2] = p2;
40561 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
40562 /* ./parser//parser_prod.nit:7227 */
40563 if (UNTAG_Bool(REGB0)) {
40564 } else {
40565 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
40566 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7227);
40567 nit_exit(1);
40568 }
40569 fra.me.REG[3] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
40570 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
40571 if (UNTAG_Bool(REGB0)) {
40572 } else {
40573 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
40574 REGB0 = REGB1;
40575 }
40576 if (UNTAG_Bool(REGB0)) {
40577 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
40578 /* ./parser//parser_prod.nit:7228 */
40579 if (UNTAG_Bool(REGB0)) {
40580 } else {
40581 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
40582 if (UNTAG_Bool(REGB1)) {
40583 REGB1 = TAG_Bool(false);
40584 REGB0 = REGB1;
40585 } else {
40586 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
40587 REGB0 = REGB1;
40588 }
40589 }
40590 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
40591 if (UNTAG_Bool(REGB0)) {
40592 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
40593 /* ./parser//parser_prod.nit:7229 */
40594 if (UNTAG_Bool(REGB0)) {
40595 fprintf(stderr, "Reciever is null");
40596 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7229);
40597 nit_exit(1);
40598 }
40599 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
40600 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
40601 /* ./parser//parser_prod.nit:7230 */
40602 if (UNTAG_Bool(REGB0)) {
40603 } else {
40604 fprintf(stderr, "Assert failed");
40605 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7230);
40606 nit_exit(1);
40607 }
40608 /* ./parser//parser_prod.nit:7231 */
40609 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
40610 } else {
40611 /* ./parser//parser_prod.nit:7233 */
40612 fprintf(stderr, "Aborted");
40613 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7233);
40614 nit_exit(1);
40615 }
40616 /* ./parser//parser_prod.nit:7235 */
40617 goto label1;
40618 }
40619 REGB0 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
40620 /* ./parser//parser_prod.nit:7237 */
40621 if (UNTAG_Bool(REGB0)) {
40622 } else {
40623 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
40624 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7237);
40625 nit_exit(1);
40626 }
40627 fra.me.REG[3] = ATTR_parser_nodes___ACallFormExpr____n_id(fra.me.REG[0]);
40628 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
40629 if (UNTAG_Bool(REGB0)) {
40630 } else {
40631 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
40632 REGB0 = REGB1;
40633 }
40634 if (UNTAG_Bool(REGB0)) {
40635 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
40636 /* ./parser//parser_prod.nit:7238 */
40637 if (UNTAG_Bool(REGB0)) {
40638 } else {
40639 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
40640 if (UNTAG_Bool(REGB1)) {
40641 REGB1 = TAG_Bool(false);
40642 REGB0 = REGB1;
40643 } else {
40644 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
40645 REGB0 = REGB1;
40646 }
40647 }
40648 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
40649 if (UNTAG_Bool(REGB0)) {
40650 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
40651 /* ./parser//parser_prod.nit:7239 */
40652 if (UNTAG_Bool(REGB0)) {
40653 fprintf(stderr, "Reciever is null");
40654 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7239);
40655 nit_exit(1);
40656 }
40657 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
40658 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast TId*/;
40659 /* ./parser//parser_prod.nit:7240 */
40660 if (UNTAG_Bool(REGB0)) {
40661 } else {
40662 fprintf(stderr, "Assert failed");
40663 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7240);
40664 nit_exit(1);
40665 }
40666 /* ./parser//parser_prod.nit:7241 */
40667 ATTR_parser_nodes___ACallFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[2];
40668 } else {
40669 /* ./parser//parser_prod.nit:7243 */
40670 fprintf(stderr, "Aborted");
40671 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7243);
40672 nit_exit(1);
40673 }
40674 /* ./parser//parser_prod.nit:7245 */
40675 goto label1;
40676 }
40677 REGB0 = TAG_Int(0);
40678 REGB1 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
40679 /* ./parser//parser_prod.nit:7247 */
40680 if (UNTAG_Bool(REGB1)) {
40681 } else {
40682 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
40683 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7247);
40684 nit_exit(1);
40685 }
40686 fra.me.REG[3] = ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0]);
40687 REGB1 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
40688 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB0, REGB1);
40689 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
40690 while(1) {
40691 REGB1 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
40692 if (UNTAG_Bool(REGB1)) {
40693 REGB1 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
40694 REGB0 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
40695 /* ./parser//parser_prod.nit:7248 */
40696 if (UNTAG_Bool(REGB0)) {
40697 } else {
40698 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
40699 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7248);
40700 nit_exit(1);
40701 }
40702 fra.me.REG[4] = ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0]);
40703 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB1);
40704 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[4]));
40705 if (UNTAG_Bool(REGB0)) {
40706 } else {
40707 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
40708 if (UNTAG_Bool(REGB2)) {
40709 REGB2 = TAG_Bool(false);
40710 REGB0 = REGB2;
40711 } else {
40712 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
40713 REGB0 = REGB2;
40714 }
40715 }
40716 if (UNTAG_Bool(REGB0)) {
40717 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
40718 /* ./parser//parser_prod.nit:7249 */
40719 if (UNTAG_Bool(REGB0)) {
40720 } else {
40721 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
40722 if (UNTAG_Bool(REGB2)) {
40723 REGB2 = TAG_Bool(false);
40724 REGB0 = REGB2;
40725 } else {
40726 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
40727 REGB0 = REGB2;
40728 }
40729 }
40730 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
40731 if (UNTAG_Bool(REGB0)) {
40732 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
40733 /* ./parser//parser_prod.nit:7250 */
40734 if (UNTAG_Bool(REGB0)) {
40735 } else {
40736 fprintf(stderr, "Assert failed");
40737 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7250);
40738 nit_exit(1);
40739 }
40740 REGB0 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
40741 /* ./parser//parser_prod.nit:7251 */
40742 if (UNTAG_Bool(REGB0)) {
40743 } else {
40744 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
40745 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7251);
40746 nit_exit(1);
40747 }
40748 fra.me.REG[4] = ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0]);
40749 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], REGB1, fra.me.REG[2]);
40750 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
40751 /* ./parser//parser_prod.nit:7252 */
40752 if (UNTAG_Bool(REGB0)) {
40753 fprintf(stderr, "Reciever is null");
40754 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7252);
40755 nit_exit(1);
40756 }
40757 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
40758 } else {
40759 REGB0 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
40760 /* ./parser//parser_prod.nit:7254 */
40761 if (UNTAG_Bool(REGB0)) {
40762 } else {
40763 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
40764 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7254);
40765 nit_exit(1);
40766 }
40767 fra.me.REG[4] = ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0]);
40768 CALL_abstract_collection___Map___remove_at(fra.me.REG[4])(fra.me.REG[4], REGB1);
40769 }
40770 /* ./parser//parser_prod.nit:7256 */
40771 goto label1;
40772 }
40773 } else {
40774 /* ./parser//parser_prod.nit:7247 */
40775 goto label2;
40776 }
40777 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
40778 }
40779 label2: while(0);
40780 REGB1 = TAG_Int(0);
40781 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0])!=NIT_NULL);
40782 /* ./parser//parser_prod.nit:7259 */
40783 if (UNTAG_Bool(REGB0)) {
40784 } else {
40785 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_defs");
40786 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7259);
40787 nit_exit(1);
40788 }
40789 fra.me.REG[3] = ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0]);
40790 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
40791 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB1, REGB0);
40792 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
40793 while(1) {
40794 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
40795 if (UNTAG_Bool(REGB0)) {
40796 REGB0 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
40797 REGB1 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0])!=NIT_NULL);
40798 /* ./parser//parser_prod.nit:7260 */
40799 if (UNTAG_Bool(REGB1)) {
40800 } else {
40801 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_defs");
40802 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7260);
40803 nit_exit(1);
40804 }
40805 fra.me.REG[4] = ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0]);
40806 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB0);
40807 REGB1 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[4]));
40808 if (UNTAG_Bool(REGB1)) {
40809 } else {
40810 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
40811 if (UNTAG_Bool(REGB2)) {
40812 REGB2 = TAG_Bool(false);
40813 REGB1 = REGB2;
40814 } else {
40815 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
40816 REGB1 = REGB2;
40817 }
40818 }
40819 if (UNTAG_Bool(REGB1)) {
40820 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
40821 /* ./parser//parser_prod.nit:7261 */
40822 if (UNTAG_Bool(REGB1)) {
40823 } else {
40824 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
40825 if (UNTAG_Bool(REGB2)) {
40826 REGB2 = TAG_Bool(false);
40827 REGB1 = REGB2;
40828 } else {
40829 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
40830 REGB1 = REGB2;
40831 }
40832 }
40833 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
40834 if (UNTAG_Bool(REGB1)) {
40835 REGB1 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AClosureDef, ID_AClosureDef)) /*cast AClosureDef*/;
40836 /* ./parser//parser_prod.nit:7262 */
40837 if (UNTAG_Bool(REGB1)) {
40838 } else {
40839 fprintf(stderr, "Assert failed");
40840 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7262);
40841 nit_exit(1);
40842 }
40843 REGB1 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0])!=NIT_NULL);
40844 /* ./parser//parser_prod.nit:7263 */
40845 if (UNTAG_Bool(REGB1)) {
40846 } else {
40847 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_defs");
40848 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7263);
40849 nit_exit(1);
40850 }
40851 fra.me.REG[4] = ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0]);
40852 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], REGB0, fra.me.REG[2]);
40853 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
40854 /* ./parser//parser_prod.nit:7264 */
40855 if (UNTAG_Bool(REGB1)) {
40856 fprintf(stderr, "Reciever is null");
40857 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7264);
40858 nit_exit(1);
40859 }
40860 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
40861 } else {
40862 REGB1 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0])!=NIT_NULL);
40863 /* ./parser//parser_prod.nit:7266 */
40864 if (UNTAG_Bool(REGB1)) {
40865 } else {
40866 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_defs");
40867 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7266);
40868 nit_exit(1);
40869 }
40870 fra.me.REG[4] = ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0]);
40871 CALL_abstract_collection___Map___remove_at(fra.me.REG[4])(fra.me.REG[4], REGB0);
40872 }
40873 /* ./parser//parser_prod.nit:7268 */
40874 goto label1;
40875 }
40876 } else {
40877 /* ./parser//parser_prod.nit:7259 */
40878 goto label3;
40879 }
40880 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
40881 }
40882 label3: while(0);
40883 label1: while(0);
40884 stack_frame_head = fra.me.prev;
40885 return;
40886 }
40887 void parser_prod___ACallExpr___visit_all(val_t p0, val_t p1){
40888 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
40889 val_t REGB0;
40890 val_t tmp;
40891 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40892 fra.me.file = LOCATE_parser_prod;
40893 fra.me.line = 7273;
40894 fra.me.meth = LOCATE_parser_prod___ACallExpr___visit_all;
40895 fra.me.has_broke = 0;
40896 fra.me.REG_size = 4;
40897 fra.me.REG[0] = NIT_NULL;
40898 fra.me.REG[1] = NIT_NULL;
40899 fra.me.REG[2] = NIT_NULL;
40900 fra.me.REG[3] = NIT_NULL;
40901 fra.me.REG[0] = p0;
40902 fra.me.REG[1] = p1;
40903 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
40904 /* ./parser//parser_prod.nit:7275 */
40905 if (UNTAG_Bool(REGB0)) {
40906 } else {
40907 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
40908 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7275);
40909 nit_exit(1);
40910 }
40911 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
40912 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
40913 REGB0 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
40914 /* ./parser//parser_prod.nit:7276 */
40915 if (UNTAG_Bool(REGB0)) {
40916 } else {
40917 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
40918 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7276);
40919 nit_exit(1);
40920 }
40921 fra.me.REG[2] = ATTR_parser_nodes___ACallFormExpr____n_id(fra.me.REG[0]);
40922 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
40923 REGB0 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
40924 /* ./parser//parser_prod.nit:7277 */
40925 if (UNTAG_Bool(REGB0)) {
40926 } else {
40927 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
40928 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7277);
40929 nit_exit(1);
40930 }
40931 fra.me.REG[2] = ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0]);
40932 fra.me.REG[2] = CALL_abstract_collection___Collection___iterator(fra.me.REG[2])(fra.me.REG[2]);
40933 while(1) {
40934 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[2])(fra.me.REG[2]);
40935 if (UNTAG_Bool(REGB0)) {
40936 fra.me.REG[3] = CALL_abstract_collection___Iterator___item(fra.me.REG[2])(fra.me.REG[2]);
40937 /* ./parser//parser_prod.nit:7278 */
40938 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
40939 } else {
40940 /* ./parser//parser_prod.nit:7277 */
40941 goto label1;
40942 }
40943 CALL_abstract_collection___Iterator___next(fra.me.REG[2])(fra.me.REG[2]);
40944 }
40945 label1: while(0);
40946 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0])!=NIT_NULL);
40947 /* ./parser//parser_prod.nit:7280 */
40948 if (UNTAG_Bool(REGB0)) {
40949 } else {
40950 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_defs");
40951 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7280);
40952 nit_exit(1);
40953 }
40954 fra.me.REG[0] = ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0]);
40955 fra.me.REG[0] = CALL_abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
40956 while(1) {
40957 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
40958 if (UNTAG_Bool(REGB0)) {
40959 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
40960 /* ./parser//parser_prod.nit:7281 */
40961 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
40962 } else {
40963 /* ./parser//parser_prod.nit:7280 */
40964 goto label2;
40965 }
40966 CALL_abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
40967 }
40968 label2: while(0);
40969 stack_frame_head = fra.me.prev;
40970 return;
40971 }
40972 void parser_prod___ACallExpr___visit_all_reverse(val_t p0, val_t p1){
40973 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
40974 val_t REGB0;
40975 val_t REGB1;
40976 val_t tmp;
40977 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
40978 fra.me.file = LOCATE_parser_prod;
40979 fra.me.line = 7285;
40980 fra.me.meth = LOCATE_parser_prod___ACallExpr___visit_all_reverse;
40981 fra.me.has_broke = 0;
40982 fra.me.REG_size = 3;
40983 fra.me.REG[0] = NIT_NULL;
40984 fra.me.REG[1] = NIT_NULL;
40985 fra.me.REG[2] = NIT_NULL;
40986 fra.me.REG[0] = p0;
40987 fra.me.REG[1] = p1;
40988 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
40989 /* ./parser//parser_prod.nit:7287 */
40990 if (UNTAG_Bool(REGB0)) {
40991 } else {
40992 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
40993 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7287);
40994 nit_exit(1);
40995 }
40996 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
40997 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
40998 REGB0 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
40999 /* ./parser//parser_prod.nit:7288 */
41000 if (UNTAG_Bool(REGB0)) {
41001 } else {
41002 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
41003 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7288);
41004 nit_exit(1);
41005 }
41006 fra.me.REG[2] = ATTR_parser_nodes___ACallFormExpr____n_id(fra.me.REG[0]);
41007 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
41008 REGB0 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
41009 /* ./parser//parser_prod.nit:7290 */
41010 if (UNTAG_Bool(REGB0)) {
41011 } else {
41012 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
41013 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7290);
41014 nit_exit(1);
41015 }
41016 fra.me.REG[2] = ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0]);
41017 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
41018 /* ./parser//parser_prod.nit:7291 */
41019 while(1) {
41020 REGB1 = TAG_Int(0);
41021 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
41022 /* ./parser//parser_prod.nit:7291 */
41023 if (UNTAG_Bool(REGB1)) {
41024 REGB1 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
41025 /* ./parser//parser_prod.nit:7292 */
41026 if (UNTAG_Bool(REGB1)) {
41027 } else {
41028 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
41029 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7292);
41030 nit_exit(1);
41031 }
41032 fra.me.REG[2] = ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0]);
41033 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
41034 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
41035 REGB1 = TAG_Int(1);
41036 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
41037 REGB0 = REGB1;
41038 /* ./parser//parser_prod.nit:7293 */
41039 } else {
41040 /* ./parser//parser_prod.nit:7291 */
41041 goto label1;
41042 }
41043 }
41044 label1: while(0);
41045 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0])!=NIT_NULL);
41046 /* ./parser//parser_prod.nit:7297 */
41047 if (UNTAG_Bool(REGB0)) {
41048 } else {
41049 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_defs");
41050 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7297);
41051 nit_exit(1);
41052 }
41053 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0]);
41054 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
41055 /* ./parser//parser_prod.nit:7298 */
41056 while(1) {
41057 REGB1 = TAG_Int(0);
41058 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
41059 /* ./parser//parser_prod.nit:7298 */
41060 if (UNTAG_Bool(REGB1)) {
41061 REGB1 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0])!=NIT_NULL);
41062 /* ./parser//parser_prod.nit:7299 */
41063 if (UNTAG_Bool(REGB1)) {
41064 } else {
41065 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_defs");
41066 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7299);
41067 nit_exit(1);
41068 }
41069 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0]);
41070 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
41071 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
41072 REGB1 = TAG_Int(1);
41073 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
41074 REGB0 = REGB1;
41075 /* ./parser//parser_prod.nit:7300 */
41076 } else {
41077 /* ./parser//parser_prod.nit:7298 */
41078 goto label2;
41079 }
41080 }
41081 label2: while(0);
41082 stack_frame_head = fra.me.prev;
41083 return;
41084 }
41085 void parser_prod___ACallExpr___empty_init(val_t p0, int* init_table){
41086 int itpos175 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ACallExpr].i;
41087 struct {struct stack_frame_t me;} fra;
41088 val_t tmp;
41089 if (init_table[itpos175]) return;
41090 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41091 fra.me.file = LOCATE_parser_prod;
41092 fra.me.line = 7199;
41093 fra.me.meth = LOCATE_parser_prod___ACallExpr___empty_init;
41094 fra.me.has_broke = 0;
41095 fra.me.REG_size = 1;
41096 fra.me.REG[0] = NIT_NULL;
41097 fra.me.REG[0] = p0;
41098 /* ./parser//parser_prod.nit:7199 */
41099 stack_frame_head = fra.me.prev;
41100 init_table[itpos175] = 1;
41101 return;
41102 }
41103 void parser_prod___ACallExpr___init_acallexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, int* init_table){
41104 int itpos176 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ACallExpr].i;
41105 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
41106 val_t REGB0;
41107 val_t tmp;
41108 if (init_table[itpos176]) return;
41109 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41110 fra.me.file = LOCATE_parser_prod;
41111 fra.me.line = 7201;
41112 fra.me.meth = LOCATE_parser_prod___ACallExpr___init_acallexpr;
41113 fra.me.has_broke = 0;
41114 fra.me.REG_size = 5;
41115 fra.me.REG[0] = NIT_NULL;
41116 fra.me.REG[1] = NIT_NULL;
41117 fra.me.REG[2] = NIT_NULL;
41118 fra.me.REG[3] = NIT_NULL;
41119 fra.me.REG[4] = NIT_NULL;
41120 fra.me.REG[0] = p0;
41121 fra.me.REG[1] = p1;
41122 fra.me.REG[2] = p2;
41123 fra.me.REG[3] = p3;
41124 fra.me.REG[4] = p4;
41125 /* ./parser//parser_prod.nit:7208 */
41126 CALL_parser_prod___ACallExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
41127 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
41128 /* ./parser//parser_prod.nit:7209 */
41129 if (UNTAG_Bool(REGB0)) {
41130 } else {
41131 fprintf(stderr, "Cast failed");
41132 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7209);
41133 nit_exit(1);
41134 }
41135 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
41136 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
41137 /* ./parser//parser_prod.nit:7210 */
41138 if (UNTAG_Bool(REGB0)) {
41139 fprintf(stderr, "Reciever is null");
41140 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7210);
41141 nit_exit(1);
41142 }
41143 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
41144 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
41145 /* ./parser//parser_prod.nit:7211 */
41146 if (UNTAG_Bool(REGB0)) {
41147 } else {
41148 fprintf(stderr, "Cast failed");
41149 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7211);
41150 nit_exit(1);
41151 }
41152 ATTR_parser_nodes___ACallFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[2];
41153 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
41154 /* ./parser//parser_prod.nit:7212 */
41155 if (UNTAG_Bool(REGB0)) {
41156 fprintf(stderr, "Reciever is null");
41157 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7212);
41158 nit_exit(1);
41159 }
41160 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
41161 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
41162 /* ./parser//parser_prod.nit:7213 */
41163 while(1) {
41164 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
41165 if (UNTAG_Bool(REGB0)) {
41166 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
41167 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
41168 /* ./parser//parser_prod.nit:7214 */
41169 if (UNTAG_Bool(REGB0)) {
41170 } else {
41171 fprintf(stderr, "Assert failed");
41172 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7214);
41173 nit_exit(1);
41174 }
41175 REGB0 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
41176 /* ./parser//parser_prod.nit:7215 */
41177 if (UNTAG_Bool(REGB0)) {
41178 } else {
41179 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
41180 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7215);
41181 nit_exit(1);
41182 }
41183 fra.me.REG[1] = ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0]);
41184 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
41185 /* ./parser//parser_prod.nit:7216 */
41186 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
41187 } else {
41188 /* ./parser//parser_prod.nit:7213 */
41189 goto label1;
41190 }
41191 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
41192 }
41193 label1: while(0);
41194 fra.me.REG[4] = CALL_abstract_collection___Collection___iterator(fra.me.REG[4])(fra.me.REG[4]);
41195 /* ./parser//parser_prod.nit:7218 */
41196 while(1) {
41197 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[4])(fra.me.REG[4]);
41198 if (UNTAG_Bool(REGB0)) {
41199 fra.me.REG[3] = CALL_abstract_collection___Iterator___item(fra.me.REG[4])(fra.me.REG[4]);
41200 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[3], COLOR_AClosureDef, ID_AClosureDef)) /*cast AClosureDef*/;
41201 /* ./parser//parser_prod.nit:7219 */
41202 if (UNTAG_Bool(REGB0)) {
41203 } else {
41204 fprintf(stderr, "Assert failed");
41205 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7219);
41206 nit_exit(1);
41207 }
41208 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0])!=NIT_NULL);
41209 /* ./parser//parser_prod.nit:7220 */
41210 if (UNTAG_Bool(REGB0)) {
41211 } else {
41212 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_defs");
41213 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7220);
41214 nit_exit(1);
41215 }
41216 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0]);
41217 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
41218 /* ./parser//parser_prod.nit:7221 */
41219 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
41220 } else {
41221 /* ./parser//parser_prod.nit:7218 */
41222 goto label2;
41223 }
41224 CALL_abstract_collection___Iterator___next(fra.me.REG[4])(fra.me.REG[4]);
41225 }
41226 label2: while(0);
41227 stack_frame_head = fra.me.prev;
41228 init_table[itpos176] = 1;
41229 return;
41230 }
41231 void parser_prod___ACallAssignExpr___n_expr__eq(val_t p0, val_t p1){
41232 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
41233 val_t tmp;
41234 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41235 fra.me.file = LOCATE_parser_prod;
41236 fra.me.line = 7306;
41237 fra.me.meth = LOCATE_parser_prod___ACallAssignExpr___n_expr__eq;
41238 fra.me.has_broke = 0;
41239 fra.me.REG_size = 2;
41240 fra.me.REG[0] = NIT_NULL;
41241 fra.me.REG[1] = NIT_NULL;
41242 fra.me.REG[0] = p0;
41243 fra.me.REG[1] = p1;
41244 /* ./parser//parser_prod.nit:7308 */
41245 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
41246 /* ./parser//parser_prod.nit:7309 */
41247 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
41248 stack_frame_head = fra.me.prev;
41249 return;
41250 }
41251 void parser_prod___ACallAssignExpr___n_id__eq(val_t p0, val_t p1){
41252 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
41253 val_t tmp;
41254 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41255 fra.me.file = LOCATE_parser_prod;
41256 fra.me.line = 7311;
41257 fra.me.meth = LOCATE_parser_prod___ACallAssignExpr___n_id__eq;
41258 fra.me.has_broke = 0;
41259 fra.me.REG_size = 2;
41260 fra.me.REG[0] = NIT_NULL;
41261 fra.me.REG[1] = NIT_NULL;
41262 fra.me.REG[0] = p0;
41263 fra.me.REG[1] = p1;
41264 /* ./parser//parser_prod.nit:7313 */
41265 ATTR_parser_nodes___ACallFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[1];
41266 /* ./parser//parser_prod.nit:7314 */
41267 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
41268 stack_frame_head = fra.me.prev;
41269 return;
41270 }
41271 void parser_prod___ACallAssignExpr___n_assign__eq(val_t p0, val_t p1){
41272 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
41273 val_t tmp;
41274 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41275 fra.me.file = LOCATE_parser_prod;
41276 fra.me.line = 7316;
41277 fra.me.meth = LOCATE_parser_prod___ACallAssignExpr___n_assign__eq;
41278 fra.me.has_broke = 0;
41279 fra.me.REG_size = 2;
41280 fra.me.REG[0] = NIT_NULL;
41281 fra.me.REG[1] = NIT_NULL;
41282 fra.me.REG[0] = p0;
41283 fra.me.REG[1] = p1;
41284 /* ./parser//parser_prod.nit:7318 */
41285 ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0]) = fra.me.REG[1];
41286 /* ./parser//parser_prod.nit:7319 */
41287 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
41288 stack_frame_head = fra.me.prev;
41289 return;
41290 }
41291 void parser_prod___ACallAssignExpr___n_value__eq(val_t p0, val_t p1){
41292 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
41293 val_t tmp;
41294 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41295 fra.me.file = LOCATE_parser_prod;
41296 fra.me.line = 7321;
41297 fra.me.meth = LOCATE_parser_prod___ACallAssignExpr___n_value__eq;
41298 fra.me.has_broke = 0;
41299 fra.me.REG_size = 2;
41300 fra.me.REG[0] = NIT_NULL;
41301 fra.me.REG[1] = NIT_NULL;
41302 fra.me.REG[0] = p0;
41303 fra.me.REG[1] = p1;
41304 /* ./parser//parser_prod.nit:7323 */
41305 ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0]) = fra.me.REG[1];
41306 /* ./parser//parser_prod.nit:7324 */
41307 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
41308 stack_frame_head = fra.me.prev;
41309 return;
41310 }
41311 void parser_prod___ACallAssignExpr___replace_child(val_t p0, val_t p1, val_t p2){
41312 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
41313 val_t REGB0;
41314 val_t REGB1;
41315 val_t REGB2;
41316 val_t tmp;
41317 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41318 fra.me.file = LOCATE_parser_prod;
41319 fra.me.line = 7353;
41320 fra.me.meth = LOCATE_parser_prod___ACallAssignExpr___replace_child;
41321 fra.me.has_broke = 0;
41322 fra.me.REG_size = 5;
41323 fra.me.REG[0] = NIT_NULL;
41324 fra.me.REG[1] = NIT_NULL;
41325 fra.me.REG[2] = NIT_NULL;
41326 fra.me.REG[3] = NIT_NULL;
41327 fra.me.REG[4] = NIT_NULL;
41328 fra.me.REG[0] = p0;
41329 fra.me.REG[1] = p1;
41330 fra.me.REG[2] = p2;
41331 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
41332 /* ./parser//parser_prod.nit:7355 */
41333 if (UNTAG_Bool(REGB0)) {
41334 } else {
41335 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
41336 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7355);
41337 nit_exit(1);
41338 }
41339 fra.me.REG[3] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
41340 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
41341 if (UNTAG_Bool(REGB0)) {
41342 } else {
41343 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
41344 REGB0 = REGB1;
41345 }
41346 if (UNTAG_Bool(REGB0)) {
41347 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
41348 /* ./parser//parser_prod.nit:7356 */
41349 if (UNTAG_Bool(REGB0)) {
41350 } else {
41351 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
41352 if (UNTAG_Bool(REGB1)) {
41353 REGB1 = TAG_Bool(false);
41354 REGB0 = REGB1;
41355 } else {
41356 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
41357 REGB0 = REGB1;
41358 }
41359 }
41360 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
41361 if (UNTAG_Bool(REGB0)) {
41362 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
41363 /* ./parser//parser_prod.nit:7357 */
41364 if (UNTAG_Bool(REGB0)) {
41365 fprintf(stderr, "Reciever is null");
41366 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7357);
41367 nit_exit(1);
41368 }
41369 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
41370 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
41371 /* ./parser//parser_prod.nit:7358 */
41372 if (UNTAG_Bool(REGB0)) {
41373 } else {
41374 fprintf(stderr, "Assert failed");
41375 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7358);
41376 nit_exit(1);
41377 }
41378 /* ./parser//parser_prod.nit:7359 */
41379 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
41380 } else {
41381 /* ./parser//parser_prod.nit:7361 */
41382 fprintf(stderr, "Aborted");
41383 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7361);
41384 nit_exit(1);
41385 }
41386 /* ./parser//parser_prod.nit:7363 */
41387 goto label1;
41388 }
41389 REGB0 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
41390 /* ./parser//parser_prod.nit:7365 */
41391 if (UNTAG_Bool(REGB0)) {
41392 } else {
41393 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
41394 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7365);
41395 nit_exit(1);
41396 }
41397 fra.me.REG[3] = ATTR_parser_nodes___ACallFormExpr____n_id(fra.me.REG[0]);
41398 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
41399 if (UNTAG_Bool(REGB0)) {
41400 } else {
41401 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
41402 REGB0 = REGB1;
41403 }
41404 if (UNTAG_Bool(REGB0)) {
41405 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
41406 /* ./parser//parser_prod.nit:7366 */
41407 if (UNTAG_Bool(REGB0)) {
41408 } else {
41409 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
41410 if (UNTAG_Bool(REGB1)) {
41411 REGB1 = TAG_Bool(false);
41412 REGB0 = REGB1;
41413 } else {
41414 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
41415 REGB0 = REGB1;
41416 }
41417 }
41418 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
41419 if (UNTAG_Bool(REGB0)) {
41420 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
41421 /* ./parser//parser_prod.nit:7367 */
41422 if (UNTAG_Bool(REGB0)) {
41423 fprintf(stderr, "Reciever is null");
41424 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7367);
41425 nit_exit(1);
41426 }
41427 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
41428 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast TId*/;
41429 /* ./parser//parser_prod.nit:7368 */
41430 if (UNTAG_Bool(REGB0)) {
41431 } else {
41432 fprintf(stderr, "Assert failed");
41433 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7368);
41434 nit_exit(1);
41435 }
41436 /* ./parser//parser_prod.nit:7369 */
41437 ATTR_parser_nodes___ACallFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[2];
41438 } else {
41439 /* ./parser//parser_prod.nit:7371 */
41440 fprintf(stderr, "Aborted");
41441 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7371);
41442 nit_exit(1);
41443 }
41444 /* ./parser//parser_prod.nit:7373 */
41445 goto label1;
41446 }
41447 REGB0 = TAG_Int(0);
41448 REGB1 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
41449 /* ./parser//parser_prod.nit:7375 */
41450 if (UNTAG_Bool(REGB1)) {
41451 } else {
41452 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
41453 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7375);
41454 nit_exit(1);
41455 }
41456 fra.me.REG[3] = ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0]);
41457 REGB1 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
41458 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB0, REGB1);
41459 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
41460 while(1) {
41461 REGB1 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
41462 if (UNTAG_Bool(REGB1)) {
41463 REGB1 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
41464 REGB0 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
41465 /* ./parser//parser_prod.nit:7376 */
41466 if (UNTAG_Bool(REGB0)) {
41467 } else {
41468 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
41469 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7376);
41470 nit_exit(1);
41471 }
41472 fra.me.REG[4] = ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0]);
41473 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB1);
41474 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[4]));
41475 if (UNTAG_Bool(REGB0)) {
41476 } else {
41477 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
41478 if (UNTAG_Bool(REGB2)) {
41479 REGB2 = TAG_Bool(false);
41480 REGB0 = REGB2;
41481 } else {
41482 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
41483 REGB0 = REGB2;
41484 }
41485 }
41486 if (UNTAG_Bool(REGB0)) {
41487 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
41488 /* ./parser//parser_prod.nit:7377 */
41489 if (UNTAG_Bool(REGB0)) {
41490 } else {
41491 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
41492 if (UNTAG_Bool(REGB2)) {
41493 REGB2 = TAG_Bool(false);
41494 REGB0 = REGB2;
41495 } else {
41496 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
41497 REGB0 = REGB2;
41498 }
41499 }
41500 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
41501 if (UNTAG_Bool(REGB0)) {
41502 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
41503 /* ./parser//parser_prod.nit:7378 */
41504 if (UNTAG_Bool(REGB0)) {
41505 } else {
41506 fprintf(stderr, "Assert failed");
41507 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7378);
41508 nit_exit(1);
41509 }
41510 REGB0 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
41511 /* ./parser//parser_prod.nit:7379 */
41512 if (UNTAG_Bool(REGB0)) {
41513 } else {
41514 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
41515 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7379);
41516 nit_exit(1);
41517 }
41518 fra.me.REG[4] = ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0]);
41519 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], REGB1, fra.me.REG[2]);
41520 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
41521 /* ./parser//parser_prod.nit:7380 */
41522 if (UNTAG_Bool(REGB0)) {
41523 fprintf(stderr, "Reciever is null");
41524 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7380);
41525 nit_exit(1);
41526 }
41527 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
41528 } else {
41529 REGB0 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
41530 /* ./parser//parser_prod.nit:7382 */
41531 if (UNTAG_Bool(REGB0)) {
41532 } else {
41533 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
41534 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7382);
41535 nit_exit(1);
41536 }
41537 fra.me.REG[4] = ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0]);
41538 CALL_abstract_collection___Map___remove_at(fra.me.REG[4])(fra.me.REG[4], REGB1);
41539 }
41540 /* ./parser//parser_prod.nit:7384 */
41541 goto label1;
41542 }
41543 } else {
41544 /* ./parser//parser_prod.nit:7375 */
41545 goto label2;
41546 }
41547 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
41548 }
41549 label2: while(0);
41550 REGB1 = TAG_Bool(ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0])!=NIT_NULL);
41551 /* ./parser//parser_prod.nit:7387 */
41552 if (UNTAG_Bool(REGB1)) {
41553 } else {
41554 fprintf(stderr, "Uninitialized attribute %s", "_n_assign");
41555 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7387);
41556 nit_exit(1);
41557 }
41558 fra.me.REG[3] = ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0]);
41559 REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
41560 if (UNTAG_Bool(REGB1)) {
41561 } else {
41562 REGB0 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
41563 REGB1 = REGB0;
41564 }
41565 if (UNTAG_Bool(REGB1)) {
41566 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
41567 /* ./parser//parser_prod.nit:7388 */
41568 if (UNTAG_Bool(REGB1)) {
41569 } else {
41570 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
41571 if (UNTAG_Bool(REGB0)) {
41572 REGB0 = TAG_Bool(false);
41573 REGB1 = REGB0;
41574 } else {
41575 REGB0 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
41576 REGB1 = REGB0;
41577 }
41578 }
41579 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
41580 if (UNTAG_Bool(REGB1)) {
41581 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
41582 /* ./parser//parser_prod.nit:7389 */
41583 if (UNTAG_Bool(REGB1)) {
41584 fprintf(stderr, "Reciever is null");
41585 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7389);
41586 nit_exit(1);
41587 }
41588 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
41589 REGB1 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
41590 /* ./parser//parser_prod.nit:7390 */
41591 if (UNTAG_Bool(REGB1)) {
41592 } else {
41593 fprintf(stderr, "Assert failed");
41594 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7390);
41595 nit_exit(1);
41596 }
41597 /* ./parser//parser_prod.nit:7391 */
41598 ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0]) = fra.me.REG[2];
41599 } else {
41600 /* ./parser//parser_prod.nit:7393 */
41601 fprintf(stderr, "Aborted");
41602 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7393);
41603 nit_exit(1);
41604 }
41605 /* ./parser//parser_prod.nit:7395 */
41606 goto label1;
41607 }
41608 REGB1 = TAG_Bool(ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0])!=NIT_NULL);
41609 /* ./parser//parser_prod.nit:7397 */
41610 if (UNTAG_Bool(REGB1)) {
41611 } else {
41612 fprintf(stderr, "Uninitialized attribute %s", "_n_value");
41613 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7397);
41614 nit_exit(1);
41615 }
41616 fra.me.REG[3] = ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0]);
41617 REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
41618 if (UNTAG_Bool(REGB1)) {
41619 } else {
41620 REGB0 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
41621 REGB1 = REGB0;
41622 }
41623 if (UNTAG_Bool(REGB1)) {
41624 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
41625 /* ./parser//parser_prod.nit:7398 */
41626 if (UNTAG_Bool(REGB1)) {
41627 } else {
41628 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
41629 if (UNTAG_Bool(REGB0)) {
41630 REGB0 = TAG_Bool(false);
41631 REGB1 = REGB0;
41632 } else {
41633 REGB0 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
41634 REGB1 = REGB0;
41635 }
41636 }
41637 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
41638 if (UNTAG_Bool(REGB1)) {
41639 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
41640 /* ./parser//parser_prod.nit:7399 */
41641 if (UNTAG_Bool(REGB1)) {
41642 fprintf(stderr, "Reciever is null");
41643 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7399);
41644 nit_exit(1);
41645 }
41646 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
41647 REGB1 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
41648 /* ./parser//parser_prod.nit:7400 */
41649 if (UNTAG_Bool(REGB1)) {
41650 } else {
41651 fprintf(stderr, "Assert failed");
41652 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7400);
41653 nit_exit(1);
41654 }
41655 /* ./parser//parser_prod.nit:7401 */
41656 ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0]) = fra.me.REG[2];
41657 } else {
41658 /* ./parser//parser_prod.nit:7403 */
41659 fprintf(stderr, "Aborted");
41660 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7403);
41661 nit_exit(1);
41662 }
41663 /* ./parser//parser_prod.nit:7405 */
41664 goto label1;
41665 }
41666 label1: while(0);
41667 stack_frame_head = fra.me.prev;
41668 return;
41669 }
41670 void parser_prod___ACallAssignExpr___visit_all(val_t p0, val_t p1){
41671 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
41672 val_t REGB0;
41673 val_t tmp;
41674 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41675 fra.me.file = LOCATE_parser_prod;
41676 fra.me.line = 7409;
41677 fra.me.meth = LOCATE_parser_prod___ACallAssignExpr___visit_all;
41678 fra.me.has_broke = 0;
41679 fra.me.REG_size = 4;
41680 fra.me.REG[0] = NIT_NULL;
41681 fra.me.REG[1] = NIT_NULL;
41682 fra.me.REG[2] = NIT_NULL;
41683 fra.me.REG[3] = NIT_NULL;
41684 fra.me.REG[0] = p0;
41685 fra.me.REG[1] = p1;
41686 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
41687 /* ./parser//parser_prod.nit:7411 */
41688 if (UNTAG_Bool(REGB0)) {
41689 } else {
41690 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
41691 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7411);
41692 nit_exit(1);
41693 }
41694 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
41695 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
41696 REGB0 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
41697 /* ./parser//parser_prod.nit:7412 */
41698 if (UNTAG_Bool(REGB0)) {
41699 } else {
41700 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
41701 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7412);
41702 nit_exit(1);
41703 }
41704 fra.me.REG[2] = ATTR_parser_nodes___ACallFormExpr____n_id(fra.me.REG[0]);
41705 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
41706 REGB0 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
41707 /* ./parser//parser_prod.nit:7413 */
41708 if (UNTAG_Bool(REGB0)) {
41709 } else {
41710 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
41711 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7413);
41712 nit_exit(1);
41713 }
41714 fra.me.REG[2] = ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0]);
41715 fra.me.REG[2] = CALL_abstract_collection___Collection___iterator(fra.me.REG[2])(fra.me.REG[2]);
41716 while(1) {
41717 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[2])(fra.me.REG[2]);
41718 if (UNTAG_Bool(REGB0)) {
41719 fra.me.REG[3] = CALL_abstract_collection___Iterator___item(fra.me.REG[2])(fra.me.REG[2]);
41720 /* ./parser//parser_prod.nit:7414 */
41721 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
41722 } else {
41723 /* ./parser//parser_prod.nit:7413 */
41724 goto label1;
41725 }
41726 CALL_abstract_collection___Iterator___next(fra.me.REG[2])(fra.me.REG[2]);
41727 }
41728 label1: while(0);
41729 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0])!=NIT_NULL);
41730 /* ./parser//parser_prod.nit:7416 */
41731 if (UNTAG_Bool(REGB0)) {
41732 } else {
41733 fprintf(stderr, "Uninitialized attribute %s", "_n_assign");
41734 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7416);
41735 nit_exit(1);
41736 }
41737 fra.me.REG[2] = ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0]);
41738 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
41739 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0])!=NIT_NULL);
41740 /* ./parser//parser_prod.nit:7417 */
41741 if (UNTAG_Bool(REGB0)) {
41742 } else {
41743 fprintf(stderr, "Uninitialized attribute %s", "_n_value");
41744 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7417);
41745 nit_exit(1);
41746 }
41747 fra.me.REG[0] = ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0]);
41748 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
41749 stack_frame_head = fra.me.prev;
41750 return;
41751 }
41752 void parser_prod___ACallAssignExpr___visit_all_reverse(val_t p0, val_t p1){
41753 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
41754 val_t REGB0;
41755 val_t REGB1;
41756 val_t tmp;
41757 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41758 fra.me.file = LOCATE_parser_prod;
41759 fra.me.line = 7420;
41760 fra.me.meth = LOCATE_parser_prod___ACallAssignExpr___visit_all_reverse;
41761 fra.me.has_broke = 0;
41762 fra.me.REG_size = 3;
41763 fra.me.REG[0] = NIT_NULL;
41764 fra.me.REG[1] = NIT_NULL;
41765 fra.me.REG[2] = NIT_NULL;
41766 fra.me.REG[0] = p0;
41767 fra.me.REG[1] = p1;
41768 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
41769 /* ./parser//parser_prod.nit:7422 */
41770 if (UNTAG_Bool(REGB0)) {
41771 } else {
41772 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
41773 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7422);
41774 nit_exit(1);
41775 }
41776 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
41777 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
41778 REGB0 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
41779 /* ./parser//parser_prod.nit:7423 */
41780 if (UNTAG_Bool(REGB0)) {
41781 } else {
41782 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
41783 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7423);
41784 nit_exit(1);
41785 }
41786 fra.me.REG[2] = ATTR_parser_nodes___ACallFormExpr____n_id(fra.me.REG[0]);
41787 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
41788 REGB0 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
41789 /* ./parser//parser_prod.nit:7425 */
41790 if (UNTAG_Bool(REGB0)) {
41791 } else {
41792 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
41793 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7425);
41794 nit_exit(1);
41795 }
41796 fra.me.REG[2] = ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0]);
41797 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
41798 /* ./parser//parser_prod.nit:7426 */
41799 while(1) {
41800 REGB1 = TAG_Int(0);
41801 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
41802 /* ./parser//parser_prod.nit:7426 */
41803 if (UNTAG_Bool(REGB1)) {
41804 REGB1 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
41805 /* ./parser//parser_prod.nit:7427 */
41806 if (UNTAG_Bool(REGB1)) {
41807 } else {
41808 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
41809 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7427);
41810 nit_exit(1);
41811 }
41812 fra.me.REG[2] = ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0]);
41813 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
41814 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
41815 REGB1 = TAG_Int(1);
41816 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
41817 REGB0 = REGB1;
41818 /* ./parser//parser_prod.nit:7428 */
41819 } else {
41820 /* ./parser//parser_prod.nit:7426 */
41821 goto label1;
41822 }
41823 }
41824 label1: while(0);
41825 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0])!=NIT_NULL);
41826 /* ./parser//parser_prod.nit:7431 */
41827 if (UNTAG_Bool(REGB0)) {
41828 } else {
41829 fprintf(stderr, "Uninitialized attribute %s", "_n_assign");
41830 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7431);
41831 nit_exit(1);
41832 }
41833 fra.me.REG[2] = ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0]);
41834 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
41835 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0])!=NIT_NULL);
41836 /* ./parser//parser_prod.nit:7432 */
41837 if (UNTAG_Bool(REGB0)) {
41838 } else {
41839 fprintf(stderr, "Uninitialized attribute %s", "_n_value");
41840 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7432);
41841 nit_exit(1);
41842 }
41843 fra.me.REG[0] = ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0]);
41844 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
41845 stack_frame_head = fra.me.prev;
41846 return;
41847 }
41848 void parser_prod___ACallAssignExpr___empty_init(val_t p0, int* init_table){
41849 int itpos177 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ACallAssignExpr].i;
41850 struct {struct stack_frame_t me;} fra;
41851 val_t tmp;
41852 if (init_table[itpos177]) return;
41853 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41854 fra.me.file = LOCATE_parser_prod;
41855 fra.me.line = 7327;
41856 fra.me.meth = LOCATE_parser_prod___ACallAssignExpr___empty_init;
41857 fra.me.has_broke = 0;
41858 fra.me.REG_size = 1;
41859 fra.me.REG[0] = NIT_NULL;
41860 fra.me.REG[0] = p0;
41861 /* ./parser//parser_prod.nit:7327 */
41862 stack_frame_head = fra.me.prev;
41863 init_table[itpos177] = 1;
41864 return;
41865 }
41866 void parser_prod___ACallAssignExpr___init_acallassignexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, int* init_table){
41867 int itpos178 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ACallAssignExpr].i;
41868 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
41869 val_t REGB0;
41870 val_t tmp;
41871 if (init_table[itpos178]) return;
41872 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
41873 fra.me.file = LOCATE_parser_prod;
41874 fra.me.line = 7329;
41875 fra.me.meth = LOCATE_parser_prod___ACallAssignExpr___init_acallassignexpr;
41876 fra.me.has_broke = 0;
41877 fra.me.REG_size = 6;
41878 fra.me.REG[0] = NIT_NULL;
41879 fra.me.REG[1] = NIT_NULL;
41880 fra.me.REG[2] = NIT_NULL;
41881 fra.me.REG[3] = NIT_NULL;
41882 fra.me.REG[4] = NIT_NULL;
41883 fra.me.REG[5] = NIT_NULL;
41884 fra.me.REG[0] = p0;
41885 fra.me.REG[1] = p1;
41886 fra.me.REG[2] = p2;
41887 fra.me.REG[3] = p3;
41888 fra.me.REG[4] = p4;
41889 fra.me.REG[5] = p5;
41890 /* ./parser//parser_prod.nit:7337 */
41891 CALL_parser_prod___ACallAssignExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
41892 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
41893 /* ./parser//parser_prod.nit:7338 */
41894 if (UNTAG_Bool(REGB0)) {
41895 } else {
41896 fprintf(stderr, "Cast failed");
41897 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7338);
41898 nit_exit(1);
41899 }
41900 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
41901 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
41902 /* ./parser//parser_prod.nit:7339 */
41903 if (UNTAG_Bool(REGB0)) {
41904 fprintf(stderr, "Reciever is null");
41905 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7339);
41906 nit_exit(1);
41907 }
41908 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
41909 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
41910 /* ./parser//parser_prod.nit:7340 */
41911 if (UNTAG_Bool(REGB0)) {
41912 } else {
41913 fprintf(stderr, "Cast failed");
41914 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7340);
41915 nit_exit(1);
41916 }
41917 ATTR_parser_nodes___ACallFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[2];
41918 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
41919 /* ./parser//parser_prod.nit:7341 */
41920 if (UNTAG_Bool(REGB0)) {
41921 fprintf(stderr, "Reciever is null");
41922 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7341);
41923 nit_exit(1);
41924 }
41925 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
41926 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
41927 /* ./parser//parser_prod.nit:7342 */
41928 while(1) {
41929 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
41930 if (UNTAG_Bool(REGB0)) {
41931 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
41932 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
41933 /* ./parser//parser_prod.nit:7343 */
41934 if (UNTAG_Bool(REGB0)) {
41935 } else {
41936 fprintf(stderr, "Assert failed");
41937 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7343);
41938 nit_exit(1);
41939 }
41940 REGB0 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
41941 /* ./parser//parser_prod.nit:7344 */
41942 if (UNTAG_Bool(REGB0)) {
41943 } else {
41944 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
41945 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7344);
41946 nit_exit(1);
41947 }
41948 fra.me.REG[1] = ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0]);
41949 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
41950 /* ./parser//parser_prod.nit:7345 */
41951 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
41952 } else {
41953 /* ./parser//parser_prod.nit:7342 */
41954 goto label1;
41955 }
41956 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
41957 }
41958 label1: while(0);
41959 REGB0 = TAG_Bool(fra.me.REG[4]!=NIT_NULL);
41960 /* ./parser//parser_prod.nit:7347 */
41961 if (UNTAG_Bool(REGB0)) {
41962 } else {
41963 fprintf(stderr, "Cast failed");
41964 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7347);
41965 nit_exit(1);
41966 }
41967 ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0]) = fra.me.REG[4];
41968 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
41969 /* ./parser//parser_prod.nit:7348 */
41970 if (UNTAG_Bool(REGB0)) {
41971 fprintf(stderr, "Reciever is null");
41972 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7348);
41973 nit_exit(1);
41974 }
41975 CALL_parser_prod___ANode___parent__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
41976 REGB0 = TAG_Bool(fra.me.REG[5]!=NIT_NULL);
41977 /* ./parser//parser_prod.nit:7349 */
41978 if (UNTAG_Bool(REGB0)) {
41979 } else {
41980 fprintf(stderr, "Cast failed");
41981 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7349);
41982 nit_exit(1);
41983 }
41984 ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0]) = fra.me.REG[5];
41985 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
41986 /* ./parser//parser_prod.nit:7350 */
41987 if (UNTAG_Bool(REGB0)) {
41988 fprintf(stderr, "Reciever is null");
41989 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7350);
41990 nit_exit(1);
41991 }
41992 CALL_parser_prod___ANode___parent__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[0]);
41993 stack_frame_head = fra.me.prev;
41994 init_table[itpos178] = 1;
41995 return;
41996 }
41997 void parser_prod___ACallReassignExpr___n_expr__eq(val_t p0, val_t p1){
41998 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
41999 val_t tmp;
42000 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42001 fra.me.file = LOCATE_parser_prod;
42002 fra.me.line = 7436;
42003 fra.me.meth = LOCATE_parser_prod___ACallReassignExpr___n_expr__eq;
42004 fra.me.has_broke = 0;
42005 fra.me.REG_size = 2;
42006 fra.me.REG[0] = NIT_NULL;
42007 fra.me.REG[1] = NIT_NULL;
42008 fra.me.REG[0] = p0;
42009 fra.me.REG[1] = p1;
42010 /* ./parser//parser_prod.nit:7438 */
42011 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
42012 /* ./parser//parser_prod.nit:7439 */
42013 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
42014 stack_frame_head = fra.me.prev;
42015 return;
42016 }
42017 void parser_prod___ACallReassignExpr___n_id__eq(val_t p0, val_t p1){
42018 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
42019 val_t tmp;
42020 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42021 fra.me.file = LOCATE_parser_prod;
42022 fra.me.line = 7441;
42023 fra.me.meth = LOCATE_parser_prod___ACallReassignExpr___n_id__eq;
42024 fra.me.has_broke = 0;
42025 fra.me.REG_size = 2;
42026 fra.me.REG[0] = NIT_NULL;
42027 fra.me.REG[1] = NIT_NULL;
42028 fra.me.REG[0] = p0;
42029 fra.me.REG[1] = p1;
42030 /* ./parser//parser_prod.nit:7443 */
42031 ATTR_parser_nodes___ACallFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[1];
42032 /* ./parser//parser_prod.nit:7444 */
42033 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
42034 stack_frame_head = fra.me.prev;
42035 return;
42036 }
42037 void parser_prod___ACallReassignExpr___n_assign_op__eq(val_t p0, val_t p1){
42038 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
42039 val_t tmp;
42040 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42041 fra.me.file = LOCATE_parser_prod;
42042 fra.me.line = 7446;
42043 fra.me.meth = LOCATE_parser_prod___ACallReassignExpr___n_assign_op__eq;
42044 fra.me.has_broke = 0;
42045 fra.me.REG_size = 2;
42046 fra.me.REG[0] = NIT_NULL;
42047 fra.me.REG[1] = NIT_NULL;
42048 fra.me.REG[0] = p0;
42049 fra.me.REG[1] = p1;
42050 /* ./parser//parser_prod.nit:7448 */
42051 ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0]) = fra.me.REG[1];
42052 /* ./parser//parser_prod.nit:7449 */
42053 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
42054 stack_frame_head = fra.me.prev;
42055 return;
42056 }
42057 void parser_prod___ACallReassignExpr___n_value__eq(val_t p0, val_t p1){
42058 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
42059 val_t tmp;
42060 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42061 fra.me.file = LOCATE_parser_prod;
42062 fra.me.line = 7451;
42063 fra.me.meth = LOCATE_parser_prod___ACallReassignExpr___n_value__eq;
42064 fra.me.has_broke = 0;
42065 fra.me.REG_size = 2;
42066 fra.me.REG[0] = NIT_NULL;
42067 fra.me.REG[1] = NIT_NULL;
42068 fra.me.REG[0] = p0;
42069 fra.me.REG[1] = p1;
42070 /* ./parser//parser_prod.nit:7453 */
42071 ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0]) = fra.me.REG[1];
42072 /* ./parser//parser_prod.nit:7454 */
42073 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
42074 stack_frame_head = fra.me.prev;
42075 return;
42076 }
42077 void parser_prod___ACallReassignExpr___replace_child(val_t p0, val_t p1, val_t p2){
42078 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
42079 val_t REGB0;
42080 val_t REGB1;
42081 val_t REGB2;
42082 val_t tmp;
42083 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42084 fra.me.file = LOCATE_parser_prod;
42085 fra.me.line = 7483;
42086 fra.me.meth = LOCATE_parser_prod___ACallReassignExpr___replace_child;
42087 fra.me.has_broke = 0;
42088 fra.me.REG_size = 5;
42089 fra.me.REG[0] = NIT_NULL;
42090 fra.me.REG[1] = NIT_NULL;
42091 fra.me.REG[2] = NIT_NULL;
42092 fra.me.REG[3] = NIT_NULL;
42093 fra.me.REG[4] = NIT_NULL;
42094 fra.me.REG[0] = p0;
42095 fra.me.REG[1] = p1;
42096 fra.me.REG[2] = p2;
42097 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
42098 /* ./parser//parser_prod.nit:7485 */
42099 if (UNTAG_Bool(REGB0)) {
42100 } else {
42101 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
42102 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7485);
42103 nit_exit(1);
42104 }
42105 fra.me.REG[3] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
42106 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
42107 if (UNTAG_Bool(REGB0)) {
42108 } else {
42109 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
42110 REGB0 = REGB1;
42111 }
42112 if (UNTAG_Bool(REGB0)) {
42113 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
42114 /* ./parser//parser_prod.nit:7486 */
42115 if (UNTAG_Bool(REGB0)) {
42116 } else {
42117 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
42118 if (UNTAG_Bool(REGB1)) {
42119 REGB1 = TAG_Bool(false);
42120 REGB0 = REGB1;
42121 } else {
42122 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
42123 REGB0 = REGB1;
42124 }
42125 }
42126 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
42127 if (UNTAG_Bool(REGB0)) {
42128 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
42129 /* ./parser//parser_prod.nit:7487 */
42130 if (UNTAG_Bool(REGB0)) {
42131 fprintf(stderr, "Reciever is null");
42132 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7487);
42133 nit_exit(1);
42134 }
42135 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
42136 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
42137 /* ./parser//parser_prod.nit:7488 */
42138 if (UNTAG_Bool(REGB0)) {
42139 } else {
42140 fprintf(stderr, "Assert failed");
42141 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7488);
42142 nit_exit(1);
42143 }
42144 /* ./parser//parser_prod.nit:7489 */
42145 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
42146 } else {
42147 /* ./parser//parser_prod.nit:7491 */
42148 fprintf(stderr, "Aborted");
42149 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7491);
42150 nit_exit(1);
42151 }
42152 /* ./parser//parser_prod.nit:7493 */
42153 goto label1;
42154 }
42155 REGB0 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
42156 /* ./parser//parser_prod.nit:7495 */
42157 if (UNTAG_Bool(REGB0)) {
42158 } else {
42159 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
42160 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7495);
42161 nit_exit(1);
42162 }
42163 fra.me.REG[3] = ATTR_parser_nodes___ACallFormExpr____n_id(fra.me.REG[0]);
42164 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
42165 if (UNTAG_Bool(REGB0)) {
42166 } else {
42167 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
42168 REGB0 = REGB1;
42169 }
42170 if (UNTAG_Bool(REGB0)) {
42171 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
42172 /* ./parser//parser_prod.nit:7496 */
42173 if (UNTAG_Bool(REGB0)) {
42174 } else {
42175 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
42176 if (UNTAG_Bool(REGB1)) {
42177 REGB1 = TAG_Bool(false);
42178 REGB0 = REGB1;
42179 } else {
42180 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
42181 REGB0 = REGB1;
42182 }
42183 }
42184 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
42185 if (UNTAG_Bool(REGB0)) {
42186 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
42187 /* ./parser//parser_prod.nit:7497 */
42188 if (UNTAG_Bool(REGB0)) {
42189 fprintf(stderr, "Reciever is null");
42190 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7497);
42191 nit_exit(1);
42192 }
42193 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
42194 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast TId*/;
42195 /* ./parser//parser_prod.nit:7498 */
42196 if (UNTAG_Bool(REGB0)) {
42197 } else {
42198 fprintf(stderr, "Assert failed");
42199 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7498);
42200 nit_exit(1);
42201 }
42202 /* ./parser//parser_prod.nit:7499 */
42203 ATTR_parser_nodes___ACallFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[2];
42204 } else {
42205 /* ./parser//parser_prod.nit:7501 */
42206 fprintf(stderr, "Aborted");
42207 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7501);
42208 nit_exit(1);
42209 }
42210 /* ./parser//parser_prod.nit:7503 */
42211 goto label1;
42212 }
42213 REGB0 = TAG_Int(0);
42214 REGB1 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
42215 /* ./parser//parser_prod.nit:7505 */
42216 if (UNTAG_Bool(REGB1)) {
42217 } else {
42218 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
42219 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7505);
42220 nit_exit(1);
42221 }
42222 fra.me.REG[3] = ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0]);
42223 REGB1 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
42224 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB0, REGB1);
42225 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
42226 while(1) {
42227 REGB1 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
42228 if (UNTAG_Bool(REGB1)) {
42229 REGB1 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
42230 REGB0 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
42231 /* ./parser//parser_prod.nit:7506 */
42232 if (UNTAG_Bool(REGB0)) {
42233 } else {
42234 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
42235 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7506);
42236 nit_exit(1);
42237 }
42238 fra.me.REG[4] = ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0]);
42239 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB1);
42240 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[4]));
42241 if (UNTAG_Bool(REGB0)) {
42242 } else {
42243 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
42244 if (UNTAG_Bool(REGB2)) {
42245 REGB2 = TAG_Bool(false);
42246 REGB0 = REGB2;
42247 } else {
42248 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
42249 REGB0 = REGB2;
42250 }
42251 }
42252 if (UNTAG_Bool(REGB0)) {
42253 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
42254 /* ./parser//parser_prod.nit:7507 */
42255 if (UNTAG_Bool(REGB0)) {
42256 } else {
42257 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
42258 if (UNTAG_Bool(REGB2)) {
42259 REGB2 = TAG_Bool(false);
42260 REGB0 = REGB2;
42261 } else {
42262 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
42263 REGB0 = REGB2;
42264 }
42265 }
42266 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
42267 if (UNTAG_Bool(REGB0)) {
42268 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
42269 /* ./parser//parser_prod.nit:7508 */
42270 if (UNTAG_Bool(REGB0)) {
42271 } else {
42272 fprintf(stderr, "Assert failed");
42273 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7508);
42274 nit_exit(1);
42275 }
42276 REGB0 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
42277 /* ./parser//parser_prod.nit:7509 */
42278 if (UNTAG_Bool(REGB0)) {
42279 } else {
42280 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
42281 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7509);
42282 nit_exit(1);
42283 }
42284 fra.me.REG[4] = ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0]);
42285 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], REGB1, fra.me.REG[2]);
42286 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
42287 /* ./parser//parser_prod.nit:7510 */
42288 if (UNTAG_Bool(REGB0)) {
42289 fprintf(stderr, "Reciever is null");
42290 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7510);
42291 nit_exit(1);
42292 }
42293 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
42294 } else {
42295 REGB0 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
42296 /* ./parser//parser_prod.nit:7512 */
42297 if (UNTAG_Bool(REGB0)) {
42298 } else {
42299 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
42300 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7512);
42301 nit_exit(1);
42302 }
42303 fra.me.REG[4] = ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0]);
42304 CALL_abstract_collection___Map___remove_at(fra.me.REG[4])(fra.me.REG[4], REGB1);
42305 }
42306 /* ./parser//parser_prod.nit:7514 */
42307 goto label1;
42308 }
42309 } else {
42310 /* ./parser//parser_prod.nit:7505 */
42311 goto label2;
42312 }
42313 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
42314 }
42315 label2: while(0);
42316 REGB1 = TAG_Bool(ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0])!=NIT_NULL);
42317 /* ./parser//parser_prod.nit:7517 */
42318 if (UNTAG_Bool(REGB1)) {
42319 } else {
42320 fprintf(stderr, "Uninitialized attribute %s", "_n_assign_op");
42321 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7517);
42322 nit_exit(1);
42323 }
42324 fra.me.REG[3] = ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0]);
42325 REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
42326 if (UNTAG_Bool(REGB1)) {
42327 } else {
42328 REGB0 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
42329 REGB1 = REGB0;
42330 }
42331 if (UNTAG_Bool(REGB1)) {
42332 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
42333 /* ./parser//parser_prod.nit:7518 */
42334 if (UNTAG_Bool(REGB1)) {
42335 } else {
42336 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
42337 if (UNTAG_Bool(REGB0)) {
42338 REGB0 = TAG_Bool(false);
42339 REGB1 = REGB0;
42340 } else {
42341 REGB0 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
42342 REGB1 = REGB0;
42343 }
42344 }
42345 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
42346 if (UNTAG_Bool(REGB1)) {
42347 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
42348 /* ./parser//parser_prod.nit:7519 */
42349 if (UNTAG_Bool(REGB1)) {
42350 fprintf(stderr, "Reciever is null");
42351 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7519);
42352 nit_exit(1);
42353 }
42354 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
42355 REGB1 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AAssignOp, ID_AAssignOp)) /*cast AAssignOp*/;
42356 /* ./parser//parser_prod.nit:7520 */
42357 if (UNTAG_Bool(REGB1)) {
42358 } else {
42359 fprintf(stderr, "Assert failed");
42360 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7520);
42361 nit_exit(1);
42362 }
42363 /* ./parser//parser_prod.nit:7521 */
42364 ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0]) = fra.me.REG[2];
42365 } else {
42366 /* ./parser//parser_prod.nit:7523 */
42367 fprintf(stderr, "Aborted");
42368 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7523);
42369 nit_exit(1);
42370 }
42371 /* ./parser//parser_prod.nit:7525 */
42372 goto label1;
42373 }
42374 REGB1 = TAG_Bool(ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0])!=NIT_NULL);
42375 /* ./parser//parser_prod.nit:7527 */
42376 if (UNTAG_Bool(REGB1)) {
42377 } else {
42378 fprintf(stderr, "Uninitialized attribute %s", "_n_value");
42379 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7527);
42380 nit_exit(1);
42381 }
42382 fra.me.REG[3] = ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0]);
42383 REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
42384 if (UNTAG_Bool(REGB1)) {
42385 } else {
42386 REGB0 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
42387 REGB1 = REGB0;
42388 }
42389 if (UNTAG_Bool(REGB1)) {
42390 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
42391 /* ./parser//parser_prod.nit:7528 */
42392 if (UNTAG_Bool(REGB1)) {
42393 } else {
42394 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
42395 if (UNTAG_Bool(REGB0)) {
42396 REGB0 = TAG_Bool(false);
42397 REGB1 = REGB0;
42398 } else {
42399 REGB0 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
42400 REGB1 = REGB0;
42401 }
42402 }
42403 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
42404 if (UNTAG_Bool(REGB1)) {
42405 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
42406 /* ./parser//parser_prod.nit:7529 */
42407 if (UNTAG_Bool(REGB1)) {
42408 fprintf(stderr, "Reciever is null");
42409 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7529);
42410 nit_exit(1);
42411 }
42412 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
42413 REGB1 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
42414 /* ./parser//parser_prod.nit:7530 */
42415 if (UNTAG_Bool(REGB1)) {
42416 } else {
42417 fprintf(stderr, "Assert failed");
42418 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7530);
42419 nit_exit(1);
42420 }
42421 /* ./parser//parser_prod.nit:7531 */
42422 ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0]) = fra.me.REG[2];
42423 } else {
42424 /* ./parser//parser_prod.nit:7533 */
42425 fprintf(stderr, "Aborted");
42426 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7533);
42427 nit_exit(1);
42428 }
42429 /* ./parser//parser_prod.nit:7535 */
42430 goto label1;
42431 }
42432 label1: while(0);
42433 stack_frame_head = fra.me.prev;
42434 return;
42435 }
42436 void parser_prod___ACallReassignExpr___visit_all(val_t p0, val_t p1){
42437 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
42438 val_t REGB0;
42439 val_t tmp;
42440 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42441 fra.me.file = LOCATE_parser_prod;
42442 fra.me.line = 7539;
42443 fra.me.meth = LOCATE_parser_prod___ACallReassignExpr___visit_all;
42444 fra.me.has_broke = 0;
42445 fra.me.REG_size = 4;
42446 fra.me.REG[0] = NIT_NULL;
42447 fra.me.REG[1] = NIT_NULL;
42448 fra.me.REG[2] = NIT_NULL;
42449 fra.me.REG[3] = NIT_NULL;
42450 fra.me.REG[0] = p0;
42451 fra.me.REG[1] = p1;
42452 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
42453 /* ./parser//parser_prod.nit:7541 */
42454 if (UNTAG_Bool(REGB0)) {
42455 } else {
42456 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
42457 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7541);
42458 nit_exit(1);
42459 }
42460 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
42461 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
42462 REGB0 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
42463 /* ./parser//parser_prod.nit:7542 */
42464 if (UNTAG_Bool(REGB0)) {
42465 } else {
42466 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
42467 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7542);
42468 nit_exit(1);
42469 }
42470 fra.me.REG[2] = ATTR_parser_nodes___ACallFormExpr____n_id(fra.me.REG[0]);
42471 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
42472 REGB0 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
42473 /* ./parser//parser_prod.nit:7543 */
42474 if (UNTAG_Bool(REGB0)) {
42475 } else {
42476 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
42477 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7543);
42478 nit_exit(1);
42479 }
42480 fra.me.REG[2] = ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0]);
42481 fra.me.REG[2] = CALL_abstract_collection___Collection___iterator(fra.me.REG[2])(fra.me.REG[2]);
42482 while(1) {
42483 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[2])(fra.me.REG[2]);
42484 if (UNTAG_Bool(REGB0)) {
42485 fra.me.REG[3] = CALL_abstract_collection___Iterator___item(fra.me.REG[2])(fra.me.REG[2]);
42486 /* ./parser//parser_prod.nit:7544 */
42487 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
42488 } else {
42489 /* ./parser//parser_prod.nit:7543 */
42490 goto label1;
42491 }
42492 CALL_abstract_collection___Iterator___next(fra.me.REG[2])(fra.me.REG[2]);
42493 }
42494 label1: while(0);
42495 REGB0 = TAG_Bool(ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0])!=NIT_NULL);
42496 /* ./parser//parser_prod.nit:7546 */
42497 if (UNTAG_Bool(REGB0)) {
42498 } else {
42499 fprintf(stderr, "Uninitialized attribute %s", "_n_assign_op");
42500 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7546);
42501 nit_exit(1);
42502 }
42503 fra.me.REG[2] = ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0]);
42504 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
42505 REGB0 = TAG_Bool(ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0])!=NIT_NULL);
42506 /* ./parser//parser_prod.nit:7547 */
42507 if (UNTAG_Bool(REGB0)) {
42508 } else {
42509 fprintf(stderr, "Uninitialized attribute %s", "_n_value");
42510 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7547);
42511 nit_exit(1);
42512 }
42513 fra.me.REG[0] = ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0]);
42514 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
42515 stack_frame_head = fra.me.prev;
42516 return;
42517 }
42518 void parser_prod___ACallReassignExpr___visit_all_reverse(val_t p0, val_t p1){
42519 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
42520 val_t REGB0;
42521 val_t REGB1;
42522 val_t tmp;
42523 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42524 fra.me.file = LOCATE_parser_prod;
42525 fra.me.line = 7550;
42526 fra.me.meth = LOCATE_parser_prod___ACallReassignExpr___visit_all_reverse;
42527 fra.me.has_broke = 0;
42528 fra.me.REG_size = 3;
42529 fra.me.REG[0] = NIT_NULL;
42530 fra.me.REG[1] = NIT_NULL;
42531 fra.me.REG[2] = NIT_NULL;
42532 fra.me.REG[0] = p0;
42533 fra.me.REG[1] = p1;
42534 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
42535 /* ./parser//parser_prod.nit:7552 */
42536 if (UNTAG_Bool(REGB0)) {
42537 } else {
42538 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
42539 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7552);
42540 nit_exit(1);
42541 }
42542 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
42543 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
42544 REGB0 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
42545 /* ./parser//parser_prod.nit:7553 */
42546 if (UNTAG_Bool(REGB0)) {
42547 } else {
42548 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
42549 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7553);
42550 nit_exit(1);
42551 }
42552 fra.me.REG[2] = ATTR_parser_nodes___ACallFormExpr____n_id(fra.me.REG[0]);
42553 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
42554 REGB0 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
42555 /* ./parser//parser_prod.nit:7555 */
42556 if (UNTAG_Bool(REGB0)) {
42557 } else {
42558 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
42559 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7555);
42560 nit_exit(1);
42561 }
42562 fra.me.REG[2] = ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0]);
42563 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
42564 /* ./parser//parser_prod.nit:7556 */
42565 while(1) {
42566 REGB1 = TAG_Int(0);
42567 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
42568 /* ./parser//parser_prod.nit:7556 */
42569 if (UNTAG_Bool(REGB1)) {
42570 REGB1 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
42571 /* ./parser//parser_prod.nit:7557 */
42572 if (UNTAG_Bool(REGB1)) {
42573 } else {
42574 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
42575 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7557);
42576 nit_exit(1);
42577 }
42578 fra.me.REG[2] = ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0]);
42579 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
42580 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
42581 REGB1 = TAG_Int(1);
42582 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
42583 REGB0 = REGB1;
42584 /* ./parser//parser_prod.nit:7558 */
42585 } else {
42586 /* ./parser//parser_prod.nit:7556 */
42587 goto label1;
42588 }
42589 }
42590 label1: while(0);
42591 REGB0 = TAG_Bool(ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0])!=NIT_NULL);
42592 /* ./parser//parser_prod.nit:7561 */
42593 if (UNTAG_Bool(REGB0)) {
42594 } else {
42595 fprintf(stderr, "Uninitialized attribute %s", "_n_assign_op");
42596 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7561);
42597 nit_exit(1);
42598 }
42599 fra.me.REG[2] = ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0]);
42600 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
42601 REGB0 = TAG_Bool(ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0])!=NIT_NULL);
42602 /* ./parser//parser_prod.nit:7562 */
42603 if (UNTAG_Bool(REGB0)) {
42604 } else {
42605 fprintf(stderr, "Uninitialized attribute %s", "_n_value");
42606 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7562);
42607 nit_exit(1);
42608 }
42609 fra.me.REG[0] = ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0]);
42610 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
42611 stack_frame_head = fra.me.prev;
42612 return;
42613 }
42614 void parser_prod___ACallReassignExpr___empty_init(val_t p0, int* init_table){
42615 int itpos179 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ACallReassignExpr].i;
42616 struct {struct stack_frame_t me;} fra;
42617 val_t tmp;
42618 if (init_table[itpos179]) return;
42619 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42620 fra.me.file = LOCATE_parser_prod;
42621 fra.me.line = 7457;
42622 fra.me.meth = LOCATE_parser_prod___ACallReassignExpr___empty_init;
42623 fra.me.has_broke = 0;
42624 fra.me.REG_size = 1;
42625 fra.me.REG[0] = NIT_NULL;
42626 fra.me.REG[0] = p0;
42627 /* ./parser//parser_prod.nit:7457 */
42628 stack_frame_head = fra.me.prev;
42629 init_table[itpos179] = 1;
42630 return;
42631 }
42632 void parser_prod___ACallReassignExpr___init_acallreassignexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, int* init_table){
42633 int itpos180 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ACallReassignExpr].i;
42634 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
42635 val_t REGB0;
42636 val_t tmp;
42637 if (init_table[itpos180]) return;
42638 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42639 fra.me.file = LOCATE_parser_prod;
42640 fra.me.line = 7459;
42641 fra.me.meth = LOCATE_parser_prod___ACallReassignExpr___init_acallreassignexpr;
42642 fra.me.has_broke = 0;
42643 fra.me.REG_size = 6;
42644 fra.me.REG[0] = NIT_NULL;
42645 fra.me.REG[1] = NIT_NULL;
42646 fra.me.REG[2] = NIT_NULL;
42647 fra.me.REG[3] = NIT_NULL;
42648 fra.me.REG[4] = NIT_NULL;
42649 fra.me.REG[5] = NIT_NULL;
42650 fra.me.REG[0] = p0;
42651 fra.me.REG[1] = p1;
42652 fra.me.REG[2] = p2;
42653 fra.me.REG[3] = p3;
42654 fra.me.REG[4] = p4;
42655 fra.me.REG[5] = p5;
42656 /* ./parser//parser_prod.nit:7467 */
42657 CALL_parser_prod___ACallReassignExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
42658 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
42659 /* ./parser//parser_prod.nit:7468 */
42660 if (UNTAG_Bool(REGB0)) {
42661 } else {
42662 fprintf(stderr, "Cast failed");
42663 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7468);
42664 nit_exit(1);
42665 }
42666 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
42667 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
42668 /* ./parser//parser_prod.nit:7469 */
42669 if (UNTAG_Bool(REGB0)) {
42670 fprintf(stderr, "Reciever is null");
42671 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7469);
42672 nit_exit(1);
42673 }
42674 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
42675 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
42676 /* ./parser//parser_prod.nit:7470 */
42677 if (UNTAG_Bool(REGB0)) {
42678 } else {
42679 fprintf(stderr, "Cast failed");
42680 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7470);
42681 nit_exit(1);
42682 }
42683 ATTR_parser_nodes___ACallFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[2];
42684 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
42685 /* ./parser//parser_prod.nit:7471 */
42686 if (UNTAG_Bool(REGB0)) {
42687 fprintf(stderr, "Reciever is null");
42688 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7471);
42689 nit_exit(1);
42690 }
42691 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
42692 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
42693 /* ./parser//parser_prod.nit:7472 */
42694 while(1) {
42695 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
42696 if (UNTAG_Bool(REGB0)) {
42697 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
42698 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
42699 /* ./parser//parser_prod.nit:7473 */
42700 if (UNTAG_Bool(REGB0)) {
42701 } else {
42702 fprintf(stderr, "Assert failed");
42703 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7473);
42704 nit_exit(1);
42705 }
42706 REGB0 = TAG_Bool(ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
42707 /* ./parser//parser_prod.nit:7474 */
42708 if (UNTAG_Bool(REGB0)) {
42709 } else {
42710 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
42711 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7474);
42712 nit_exit(1);
42713 }
42714 fra.me.REG[1] = ATTR_parser_nodes___ACallFormExpr____n_args(fra.me.REG[0]);
42715 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
42716 /* ./parser//parser_prod.nit:7475 */
42717 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
42718 } else {
42719 /* ./parser//parser_prod.nit:7472 */
42720 goto label1;
42721 }
42722 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
42723 }
42724 label1: while(0);
42725 REGB0 = TAG_Bool(fra.me.REG[4]!=NIT_NULL);
42726 /* ./parser//parser_prod.nit:7477 */
42727 if (UNTAG_Bool(REGB0)) {
42728 } else {
42729 fprintf(stderr, "Cast failed");
42730 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7477);
42731 nit_exit(1);
42732 }
42733 ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0]) = fra.me.REG[4];
42734 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
42735 /* ./parser//parser_prod.nit:7478 */
42736 if (UNTAG_Bool(REGB0)) {
42737 fprintf(stderr, "Reciever is null");
42738 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7478);
42739 nit_exit(1);
42740 }
42741 CALL_parser_prod___ANode___parent__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
42742 REGB0 = TAG_Bool(fra.me.REG[5]!=NIT_NULL);
42743 /* ./parser//parser_prod.nit:7479 */
42744 if (UNTAG_Bool(REGB0)) {
42745 } else {
42746 fprintf(stderr, "Cast failed");
42747 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7479);
42748 nit_exit(1);
42749 }
42750 ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0]) = fra.me.REG[5];
42751 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
42752 /* ./parser//parser_prod.nit:7480 */
42753 if (UNTAG_Bool(REGB0)) {
42754 fprintf(stderr, "Reciever is null");
42755 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7480);
42756 nit_exit(1);
42757 }
42758 CALL_parser_prod___ANode___parent__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[0]);
42759 stack_frame_head = fra.me.prev;
42760 init_table[itpos180] = 1;
42761 return;
42762 }
42763 void parser_prod___ASuperExpr___n_qualified__eq(val_t p0, val_t p1){
42764 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
42765 val_t REGB0;
42766 val_t REGB1;
42767 val_t tmp;
42768 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42769 fra.me.file = LOCATE_parser_prod;
42770 fra.me.line = 7566;
42771 fra.me.meth = LOCATE_parser_prod___ASuperExpr___n_qualified__eq;
42772 fra.me.has_broke = 0;
42773 fra.me.REG_size = 2;
42774 fra.me.REG[0] = NIT_NULL;
42775 fra.me.REG[1] = NIT_NULL;
42776 fra.me.REG[0] = p0;
42777 fra.me.REG[1] = p1;
42778 /* ./parser//parser_prod.nit:7568 */
42779 ATTR_parser_nodes___ASuperExpr____n_qualified(fra.me.REG[0]) = fra.me.REG[1];
42780 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
42781 /* ./parser//parser_prod.nit:7569 */
42782 if (UNTAG_Bool(REGB0)) {
42783 } else {
42784 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
42785 if (UNTAG_Bool(REGB1)) {
42786 REGB1 = TAG_Bool(false);
42787 REGB0 = REGB1;
42788 } else {
42789 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
42790 REGB0 = REGB1;
42791 }
42792 }
42793 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
42794 if (UNTAG_Bool(REGB0)) {
42795 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
42796 /* ./parser//parser_prod.nit:7570 */
42797 if (UNTAG_Bool(REGB0)) {
42798 fprintf(stderr, "Reciever is null");
42799 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7570);
42800 nit_exit(1);
42801 }
42802 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
42803 }
42804 stack_frame_head = fra.me.prev;
42805 return;
42806 }
42807 void parser_prod___ASuperExpr___n_kwsuper__eq(val_t p0, val_t p1){
42808 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
42809 val_t tmp;
42810 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42811 fra.me.file = LOCATE_parser_prod;
42812 fra.me.line = 7573;
42813 fra.me.meth = LOCATE_parser_prod___ASuperExpr___n_kwsuper__eq;
42814 fra.me.has_broke = 0;
42815 fra.me.REG_size = 2;
42816 fra.me.REG[0] = NIT_NULL;
42817 fra.me.REG[1] = NIT_NULL;
42818 fra.me.REG[0] = p0;
42819 fra.me.REG[1] = p1;
42820 /* ./parser//parser_prod.nit:7575 */
42821 ATTR_parser_nodes___ASuperExpr____n_kwsuper(fra.me.REG[0]) = fra.me.REG[1];
42822 /* ./parser//parser_prod.nit:7576 */
42823 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
42824 stack_frame_head = fra.me.prev;
42825 return;
42826 }
42827 void parser_prod___ASuperExpr___replace_child(val_t p0, val_t p1, val_t p2){
42828 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
42829 val_t REGB0;
42830 val_t REGB1;
42831 val_t REGB2;
42832 val_t tmp;
42833 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
42834 fra.me.file = LOCATE_parser_prod;
42835 fra.me.line = 7601;
42836 fra.me.meth = LOCATE_parser_prod___ASuperExpr___replace_child;
42837 fra.me.has_broke = 0;
42838 fra.me.REG_size = 5;
42839 fra.me.REG[0] = NIT_NULL;
42840 fra.me.REG[1] = NIT_NULL;
42841 fra.me.REG[2] = NIT_NULL;
42842 fra.me.REG[3] = NIT_NULL;
42843 fra.me.REG[4] = NIT_NULL;
42844 fra.me.REG[0] = p0;
42845 fra.me.REG[1] = p1;
42846 fra.me.REG[2] = p2;
42847 fra.me.REG[3] = ATTR_parser_nodes___ASuperExpr____n_qualified(fra.me.REG[0]);
42848 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
42849 /* ./parser//parser_prod.nit:7603 */
42850 if (UNTAG_Bool(REGB0)) {
42851 } else {
42852 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
42853 if (UNTAG_Bool(REGB1)) {
42854 REGB1 = TAG_Bool(false);
42855 REGB0 = REGB1;
42856 } else {
42857 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
42858 REGB0 = REGB1;
42859 }
42860 }
42861 if (UNTAG_Bool(REGB0)) {
42862 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
42863 /* ./parser//parser_prod.nit:7604 */
42864 if (UNTAG_Bool(REGB0)) {
42865 } else {
42866 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
42867 if (UNTAG_Bool(REGB1)) {
42868 REGB1 = TAG_Bool(false);
42869 REGB0 = REGB1;
42870 } else {
42871 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
42872 REGB0 = REGB1;
42873 }
42874 }
42875 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
42876 if (UNTAG_Bool(REGB0)) {
42877 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
42878 /* ./parser//parser_prod.nit:7605 */
42879 if (UNTAG_Bool(REGB0)) {
42880 fprintf(stderr, "Reciever is null");
42881 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7605);
42882 nit_exit(1);
42883 }
42884 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
42885 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AQualified, ID_AQualified)) /*cast AQualified*/;
42886 /* ./parser//parser_prod.nit:7606 */
42887 if (UNTAG_Bool(REGB0)) {
42888 } else {
42889 fprintf(stderr, "Assert failed");
42890 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7606);
42891 nit_exit(1);
42892 }
42893 /* ./parser//parser_prod.nit:7607 */
42894 ATTR_parser_nodes___ASuperExpr____n_qualified(fra.me.REG[0]) = fra.me.REG[2];
42895 } else {
42896 /* ./parser//parser_prod.nit:7609 */
42897 ATTR_parser_nodes___ASuperExpr____n_qualified(fra.me.REG[0]) = NIT_NULL;
42898 }
42899 /* ./parser//parser_prod.nit:7611 */
42900 goto label1;
42901 }
42902 REGB0 = TAG_Bool(ATTR_parser_nodes___ASuperExpr____n_kwsuper(fra.me.REG[0])!=NIT_NULL);
42903 /* ./parser//parser_prod.nit:7613 */
42904 if (UNTAG_Bool(REGB0)) {
42905 } else {
42906 fprintf(stderr, "Uninitialized attribute %s", "_n_kwsuper");
42907 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7613);
42908 nit_exit(1);
42909 }
42910 fra.me.REG[3] = ATTR_parser_nodes___ASuperExpr____n_kwsuper(fra.me.REG[0]);
42911 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
42912 if (UNTAG_Bool(REGB0)) {
42913 } else {
42914 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
42915 REGB0 = REGB1;
42916 }
42917 if (UNTAG_Bool(REGB0)) {
42918 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
42919 /* ./parser//parser_prod.nit:7614 */
42920 if (UNTAG_Bool(REGB0)) {
42921 } else {
42922 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
42923 if (UNTAG_Bool(REGB1)) {
42924 REGB1 = TAG_Bool(false);
42925 REGB0 = REGB1;
42926 } else {
42927 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
42928 REGB0 = REGB1;
42929 }
42930 }
42931 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
42932 if (UNTAG_Bool(REGB0)) {
42933 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
42934 /* ./parser//parser_prod.nit:7615 */
42935 if (UNTAG_Bool(REGB0)) {
42936 fprintf(stderr, "Reciever is null");
42937 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7615);
42938 nit_exit(1);
42939 }
42940 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
42941 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwsuper, ID_TKwsuper)) /*cast TKwsuper*/;
42942 /* ./parser//parser_prod.nit:7616 */
42943 if (UNTAG_Bool(REGB0)) {
42944 } else {
42945 fprintf(stderr, "Assert failed");
42946 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7616);
42947 nit_exit(1);
42948 }
42949 /* ./parser//parser_prod.nit:7617 */
42950 ATTR_parser_nodes___ASuperExpr____n_kwsuper(fra.me.REG[0]) = fra.me.REG[2];
42951 } else {
42952 /* ./parser//parser_prod.nit:7619 */
42953 fprintf(stderr, "Aborted");
42954 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7619);
42955 nit_exit(1);
42956 }
42957 /* ./parser//parser_prod.nit:7621 */
42958 goto label1;
42959 }
42960 REGB0 = TAG_Int(0);
42961 REGB1 = TAG_Bool(ATTR_parser_nodes___ASuperExpr____n_args(fra.me.REG[0])!=NIT_NULL);
42962 /* ./parser//parser_prod.nit:7623 */
42963 if (UNTAG_Bool(REGB1)) {
42964 } else {
42965 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
42966 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7623);
42967 nit_exit(1);
42968 }
42969 fra.me.REG[3] = ATTR_parser_nodes___ASuperExpr____n_args(fra.me.REG[0]);
42970 REGB1 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
42971 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB0, REGB1);
42972 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
42973 while(1) {
42974 REGB1 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
42975 if (UNTAG_Bool(REGB1)) {
42976 REGB1 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
42977 REGB0 = TAG_Bool(ATTR_parser_nodes___ASuperExpr____n_args(fra.me.REG[0])!=NIT_NULL);
42978 /* ./parser//parser_prod.nit:7624 */
42979 if (UNTAG_Bool(REGB0)) {
42980 } else {
42981 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
42982 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7624);
42983 nit_exit(1);
42984 }
42985 fra.me.REG[4] = ATTR_parser_nodes___ASuperExpr____n_args(fra.me.REG[0]);
42986 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB1);
42987 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[4]));
42988 if (UNTAG_Bool(REGB0)) {
42989 } else {
42990 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
42991 if (UNTAG_Bool(REGB2)) {
42992 REGB2 = TAG_Bool(false);
42993 REGB0 = REGB2;
42994 } else {
42995 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
42996 REGB0 = REGB2;
42997 }
42998 }
42999 if (UNTAG_Bool(REGB0)) {
43000 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
43001 /* ./parser//parser_prod.nit:7625 */
43002 if (UNTAG_Bool(REGB0)) {
43003 } else {
43004 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
43005 if (UNTAG_Bool(REGB2)) {
43006 REGB2 = TAG_Bool(false);
43007 REGB0 = REGB2;
43008 } else {
43009 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
43010 REGB0 = REGB2;
43011 }
43012 }
43013 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
43014 if (UNTAG_Bool(REGB0)) {
43015 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
43016 /* ./parser//parser_prod.nit:7626 */
43017 if (UNTAG_Bool(REGB0)) {
43018 } else {
43019 fprintf(stderr, "Assert failed");
43020 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7626);
43021 nit_exit(1);
43022 }
43023 REGB0 = TAG_Bool(ATTR_parser_nodes___ASuperExpr____n_args(fra.me.REG[0])!=NIT_NULL);
43024 /* ./parser//parser_prod.nit:7627 */
43025 if (UNTAG_Bool(REGB0)) {
43026 } else {
43027 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
43028 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7627);
43029 nit_exit(1);
43030 }
43031 fra.me.REG[4] = ATTR_parser_nodes___ASuperExpr____n_args(fra.me.REG[0]);
43032 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], REGB1, fra.me.REG[2]);
43033 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
43034 /* ./parser//parser_prod.nit:7628 */
43035 if (UNTAG_Bool(REGB0)) {
43036 fprintf(stderr, "Reciever is null");
43037 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7628);
43038 nit_exit(1);
43039 }
43040 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
43041 } else {
43042 REGB0 = TAG_Bool(ATTR_parser_nodes___ASuperExpr____n_args(fra.me.REG[0])!=NIT_NULL);
43043 /* ./parser//parser_prod.nit:7630 */
43044 if (UNTAG_Bool(REGB0)) {
43045 } else {
43046 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
43047 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7630);
43048 nit_exit(1);
43049 }
43050 fra.me.REG[4] = ATTR_parser_nodes___ASuperExpr____n_args(fra.me.REG[0]);
43051 CALL_abstract_collection___Map___remove_at(fra.me.REG[4])(fra.me.REG[4], REGB1);
43052 }
43053 /* ./parser//parser_prod.nit:7632 */
43054 goto label1;
43055 }
43056 } else {
43057 /* ./parser//parser_prod.nit:7623 */
43058 goto label2;
43059 }
43060 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
43061 }
43062 label2: while(0);
43063 label1: while(0);
43064 stack_frame_head = fra.me.prev;
43065 return;
43066 }
43067 void parser_prod___ASuperExpr___visit_all(val_t p0, val_t p1){
43068 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
43069 val_t REGB0;
43070 val_t REGB1;
43071 val_t tmp;
43072 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43073 fra.me.file = LOCATE_parser_prod;
43074 fra.me.line = 7637;
43075 fra.me.meth = LOCATE_parser_prod___ASuperExpr___visit_all;
43076 fra.me.has_broke = 0;
43077 fra.me.REG_size = 3;
43078 fra.me.REG[0] = NIT_NULL;
43079 fra.me.REG[1] = NIT_NULL;
43080 fra.me.REG[2] = NIT_NULL;
43081 fra.me.REG[0] = p0;
43082 fra.me.REG[1] = p1;
43083 fra.me.REG[2] = ATTR_parser_nodes___ASuperExpr____n_qualified(fra.me.REG[0]);
43084 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
43085 /* ./parser//parser_prod.nit:7639 */
43086 if (UNTAG_Bool(REGB0)) {
43087 } else {
43088 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
43089 if (UNTAG_Bool(REGB1)) {
43090 REGB1 = TAG_Bool(false);
43091 REGB0 = REGB1;
43092 } else {
43093 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
43094 REGB0 = REGB1;
43095 }
43096 }
43097 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
43098 if (UNTAG_Bool(REGB0)) {
43099 fra.me.REG[2] = ATTR_parser_nodes___ASuperExpr____n_qualified(fra.me.REG[0]);
43100 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AQualified, ID_AQualified)) /*cast AQualified*/;
43101 /* ./parser//parser_prod.nit:7640 */
43102 if (UNTAG_Bool(REGB0)) {
43103 } else {
43104 fprintf(stderr, "Cast failed");
43105 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7640);
43106 nit_exit(1);
43107 }
43108 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
43109 }
43110 REGB0 = TAG_Bool(ATTR_parser_nodes___ASuperExpr____n_kwsuper(fra.me.REG[0])!=NIT_NULL);
43111 /* ./parser//parser_prod.nit:7642 */
43112 if (UNTAG_Bool(REGB0)) {
43113 } else {
43114 fprintf(stderr, "Uninitialized attribute %s", "_n_kwsuper");
43115 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7642);
43116 nit_exit(1);
43117 }
43118 fra.me.REG[2] = ATTR_parser_nodes___ASuperExpr____n_kwsuper(fra.me.REG[0]);
43119 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
43120 REGB0 = TAG_Bool(ATTR_parser_nodes___ASuperExpr____n_args(fra.me.REG[0])!=NIT_NULL);
43121 /* ./parser//parser_prod.nit:7643 */
43122 if (UNTAG_Bool(REGB0)) {
43123 } else {
43124 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
43125 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7643);
43126 nit_exit(1);
43127 }
43128 fra.me.REG[0] = ATTR_parser_nodes___ASuperExpr____n_args(fra.me.REG[0]);
43129 fra.me.REG[0] = CALL_abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
43130 while(1) {
43131 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
43132 if (UNTAG_Bool(REGB0)) {
43133 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
43134 /* ./parser//parser_prod.nit:7644 */
43135 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
43136 } else {
43137 /* ./parser//parser_prod.nit:7643 */
43138 goto label1;
43139 }
43140 CALL_abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
43141 }
43142 label1: while(0);
43143 stack_frame_head = fra.me.prev;
43144 return;
43145 }
43146 void parser_prod___ASuperExpr___visit_all_reverse(val_t p0, val_t p1){
43147 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
43148 val_t REGB0;
43149 val_t REGB1;
43150 val_t tmp;
43151 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43152 fra.me.file = LOCATE_parser_prod;
43153 fra.me.line = 7648;
43154 fra.me.meth = LOCATE_parser_prod___ASuperExpr___visit_all_reverse;
43155 fra.me.has_broke = 0;
43156 fra.me.REG_size = 3;
43157 fra.me.REG[0] = NIT_NULL;
43158 fra.me.REG[1] = NIT_NULL;
43159 fra.me.REG[2] = NIT_NULL;
43160 fra.me.REG[0] = p0;
43161 fra.me.REG[1] = p1;
43162 fra.me.REG[2] = ATTR_parser_nodes___ASuperExpr____n_qualified(fra.me.REG[0]);
43163 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
43164 /* ./parser//parser_prod.nit:7650 */
43165 if (UNTAG_Bool(REGB0)) {
43166 } else {
43167 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
43168 if (UNTAG_Bool(REGB1)) {
43169 REGB1 = TAG_Bool(false);
43170 REGB0 = REGB1;
43171 } else {
43172 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
43173 REGB0 = REGB1;
43174 }
43175 }
43176 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
43177 if (UNTAG_Bool(REGB0)) {
43178 fra.me.REG[2] = ATTR_parser_nodes___ASuperExpr____n_qualified(fra.me.REG[0]);
43179 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AQualified, ID_AQualified)) /*cast AQualified*/;
43180 /* ./parser//parser_prod.nit:7651 */
43181 if (UNTAG_Bool(REGB0)) {
43182 } else {
43183 fprintf(stderr, "Cast failed");
43184 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7651);
43185 nit_exit(1);
43186 }
43187 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
43188 }
43189 REGB0 = TAG_Bool(ATTR_parser_nodes___ASuperExpr____n_kwsuper(fra.me.REG[0])!=NIT_NULL);
43190 /* ./parser//parser_prod.nit:7653 */
43191 if (UNTAG_Bool(REGB0)) {
43192 } else {
43193 fprintf(stderr, "Uninitialized attribute %s", "_n_kwsuper");
43194 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7653);
43195 nit_exit(1);
43196 }
43197 fra.me.REG[2] = ATTR_parser_nodes___ASuperExpr____n_kwsuper(fra.me.REG[0]);
43198 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
43199 REGB0 = TAG_Bool(ATTR_parser_nodes___ASuperExpr____n_args(fra.me.REG[0])!=NIT_NULL);
43200 /* ./parser//parser_prod.nit:7655 */
43201 if (UNTAG_Bool(REGB0)) {
43202 } else {
43203 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
43204 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7655);
43205 nit_exit(1);
43206 }
43207 fra.me.REG[2] = ATTR_parser_nodes___ASuperExpr____n_args(fra.me.REG[0]);
43208 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
43209 /* ./parser//parser_prod.nit:7656 */
43210 while(1) {
43211 REGB1 = TAG_Int(0);
43212 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
43213 /* ./parser//parser_prod.nit:7656 */
43214 if (UNTAG_Bool(REGB1)) {
43215 REGB1 = TAG_Bool(ATTR_parser_nodes___ASuperExpr____n_args(fra.me.REG[0])!=NIT_NULL);
43216 /* ./parser//parser_prod.nit:7657 */
43217 if (UNTAG_Bool(REGB1)) {
43218 } else {
43219 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
43220 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7657);
43221 nit_exit(1);
43222 }
43223 fra.me.REG[2] = ATTR_parser_nodes___ASuperExpr____n_args(fra.me.REG[0]);
43224 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
43225 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
43226 REGB1 = TAG_Int(1);
43227 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
43228 REGB0 = REGB1;
43229 /* ./parser//parser_prod.nit:7658 */
43230 } else {
43231 /* ./parser//parser_prod.nit:7656 */
43232 goto label1;
43233 }
43234 }
43235 label1: while(0);
43236 stack_frame_head = fra.me.prev;
43237 return;
43238 }
43239 void parser_prod___ASuperExpr___empty_init(val_t p0, int* init_table){
43240 int itpos181 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ASuperExpr].i;
43241 struct {struct stack_frame_t me;} fra;
43242 val_t tmp;
43243 if (init_table[itpos181]) return;
43244 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43245 fra.me.file = LOCATE_parser_prod;
43246 fra.me.line = 7579;
43247 fra.me.meth = LOCATE_parser_prod___ASuperExpr___empty_init;
43248 fra.me.has_broke = 0;
43249 fra.me.REG_size = 1;
43250 fra.me.REG[0] = NIT_NULL;
43251 fra.me.REG[0] = p0;
43252 /* ./parser//parser_prod.nit:7579 */
43253 stack_frame_head = fra.me.prev;
43254 init_table[itpos181] = 1;
43255 return;
43256 }
43257 void parser_prod___ASuperExpr___init_asuperexpr(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
43258 int itpos182 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ASuperExpr].i;
43259 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
43260 val_t REGB0;
43261 val_t REGB1;
43262 val_t tmp;
43263 if (init_table[itpos182]) return;
43264 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43265 fra.me.file = LOCATE_parser_prod;
43266 fra.me.line = 7581;
43267 fra.me.meth = LOCATE_parser_prod___ASuperExpr___init_asuperexpr;
43268 fra.me.has_broke = 0;
43269 fra.me.REG_size = 4;
43270 fra.me.REG[0] = NIT_NULL;
43271 fra.me.REG[1] = NIT_NULL;
43272 fra.me.REG[2] = NIT_NULL;
43273 fra.me.REG[3] = NIT_NULL;
43274 fra.me.REG[0] = p0;
43275 fra.me.REG[1] = p1;
43276 fra.me.REG[2] = p2;
43277 fra.me.REG[3] = p3;
43278 /* ./parser//parser_prod.nit:7587 */
43279 CALL_parser_prod___ASuperExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
43280 /* ./parser//parser_prod.nit:7588 */
43281 ATTR_parser_nodes___ASuperExpr____n_qualified(fra.me.REG[0]) = fra.me.REG[1];
43282 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
43283 /* ./parser//parser_prod.nit:7589 */
43284 if (UNTAG_Bool(REGB0)) {
43285 } else {
43286 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
43287 if (UNTAG_Bool(REGB1)) {
43288 REGB1 = TAG_Bool(false);
43289 REGB0 = REGB1;
43290 } else {
43291 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
43292 REGB0 = REGB1;
43293 }
43294 }
43295 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
43296 if (UNTAG_Bool(REGB0)) {
43297 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
43298 /* ./parser//parser_prod.nit:7590 */
43299 if (UNTAG_Bool(REGB0)) {
43300 fprintf(stderr, "Reciever is null");
43301 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7590);
43302 nit_exit(1);
43303 }
43304 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
43305 }
43306 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
43307 /* ./parser//parser_prod.nit:7592 */
43308 if (UNTAG_Bool(REGB0)) {
43309 } else {
43310 fprintf(stderr, "Cast failed");
43311 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7592);
43312 nit_exit(1);
43313 }
43314 ATTR_parser_nodes___ASuperExpr____n_kwsuper(fra.me.REG[0]) = fra.me.REG[2];
43315 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
43316 /* ./parser//parser_prod.nit:7593 */
43317 if (UNTAG_Bool(REGB0)) {
43318 fprintf(stderr, "Reciever is null");
43319 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7593);
43320 nit_exit(1);
43321 }
43322 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
43323 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
43324 /* ./parser//parser_prod.nit:7594 */
43325 while(1) {
43326 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
43327 if (UNTAG_Bool(REGB0)) {
43328 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
43329 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
43330 /* ./parser//parser_prod.nit:7595 */
43331 if (UNTAG_Bool(REGB0)) {
43332 } else {
43333 fprintf(stderr, "Assert failed");
43334 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7595);
43335 nit_exit(1);
43336 }
43337 REGB0 = TAG_Bool(ATTR_parser_nodes___ASuperExpr____n_args(fra.me.REG[0])!=NIT_NULL);
43338 /* ./parser//parser_prod.nit:7596 */
43339 if (UNTAG_Bool(REGB0)) {
43340 } else {
43341 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
43342 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7596);
43343 nit_exit(1);
43344 }
43345 fra.me.REG[1] = ATTR_parser_nodes___ASuperExpr____n_args(fra.me.REG[0]);
43346 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
43347 /* ./parser//parser_prod.nit:7597 */
43348 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
43349 } else {
43350 /* ./parser//parser_prod.nit:7594 */
43351 goto label1;
43352 }
43353 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
43354 }
43355 label1: while(0);
43356 stack_frame_head = fra.me.prev;
43357 init_table[itpos182] = 1;
43358 return;
43359 }
43360 void parser_prod___AInitExpr___n_expr__eq(val_t p0, val_t p1){
43361 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
43362 val_t tmp;
43363 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43364 fra.me.file = LOCATE_parser_prod;
43365 fra.me.line = 7664;
43366 fra.me.meth = LOCATE_parser_prod___AInitExpr___n_expr__eq;
43367 fra.me.has_broke = 0;
43368 fra.me.REG_size = 2;
43369 fra.me.REG[0] = NIT_NULL;
43370 fra.me.REG[1] = NIT_NULL;
43371 fra.me.REG[0] = p0;
43372 fra.me.REG[1] = p1;
43373 /* ./parser//parser_prod.nit:7666 */
43374 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
43375 /* ./parser//parser_prod.nit:7667 */
43376 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
43377 stack_frame_head = fra.me.prev;
43378 return;
43379 }
43380 void parser_prod___AInitExpr___n_kwinit__eq(val_t p0, val_t p1){
43381 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
43382 val_t tmp;
43383 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43384 fra.me.file = LOCATE_parser_prod;
43385 fra.me.line = 7669;
43386 fra.me.meth = LOCATE_parser_prod___AInitExpr___n_kwinit__eq;
43387 fra.me.has_broke = 0;
43388 fra.me.REG_size = 2;
43389 fra.me.REG[0] = NIT_NULL;
43390 fra.me.REG[1] = NIT_NULL;
43391 fra.me.REG[0] = p0;
43392 fra.me.REG[1] = p1;
43393 /* ./parser//parser_prod.nit:7671 */
43394 ATTR_parser_nodes___AInitExpr____n_kwinit(fra.me.REG[0]) = fra.me.REG[1];
43395 /* ./parser//parser_prod.nit:7672 */
43396 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
43397 stack_frame_head = fra.me.prev;
43398 return;
43399 }
43400 void parser_prod___AInitExpr___replace_child(val_t p0, val_t p1, val_t p2){
43401 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
43402 val_t REGB0;
43403 val_t REGB1;
43404 val_t REGB2;
43405 val_t tmp;
43406 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43407 fra.me.file = LOCATE_parser_prod;
43408 fra.me.line = 7695;
43409 fra.me.meth = LOCATE_parser_prod___AInitExpr___replace_child;
43410 fra.me.has_broke = 0;
43411 fra.me.REG_size = 5;
43412 fra.me.REG[0] = NIT_NULL;
43413 fra.me.REG[1] = NIT_NULL;
43414 fra.me.REG[2] = NIT_NULL;
43415 fra.me.REG[3] = NIT_NULL;
43416 fra.me.REG[4] = NIT_NULL;
43417 fra.me.REG[0] = p0;
43418 fra.me.REG[1] = p1;
43419 fra.me.REG[2] = p2;
43420 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
43421 /* ./parser//parser_prod.nit:7697 */
43422 if (UNTAG_Bool(REGB0)) {
43423 } else {
43424 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
43425 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7697);
43426 nit_exit(1);
43427 }
43428 fra.me.REG[3] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
43429 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
43430 if (UNTAG_Bool(REGB0)) {
43431 } else {
43432 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
43433 REGB0 = REGB1;
43434 }
43435 if (UNTAG_Bool(REGB0)) {
43436 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
43437 /* ./parser//parser_prod.nit:7698 */
43438 if (UNTAG_Bool(REGB0)) {
43439 } else {
43440 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
43441 if (UNTAG_Bool(REGB1)) {
43442 REGB1 = TAG_Bool(false);
43443 REGB0 = REGB1;
43444 } else {
43445 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
43446 REGB0 = REGB1;
43447 }
43448 }
43449 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
43450 if (UNTAG_Bool(REGB0)) {
43451 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
43452 /* ./parser//parser_prod.nit:7699 */
43453 if (UNTAG_Bool(REGB0)) {
43454 fprintf(stderr, "Reciever is null");
43455 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7699);
43456 nit_exit(1);
43457 }
43458 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
43459 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
43460 /* ./parser//parser_prod.nit:7700 */
43461 if (UNTAG_Bool(REGB0)) {
43462 } else {
43463 fprintf(stderr, "Assert failed");
43464 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7700);
43465 nit_exit(1);
43466 }
43467 /* ./parser//parser_prod.nit:7701 */
43468 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
43469 } else {
43470 /* ./parser//parser_prod.nit:7703 */
43471 fprintf(stderr, "Aborted");
43472 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7703);
43473 nit_exit(1);
43474 }
43475 /* ./parser//parser_prod.nit:7705 */
43476 goto label1;
43477 }
43478 REGB0 = TAG_Bool(ATTR_parser_nodes___AInitExpr____n_kwinit(fra.me.REG[0])!=NIT_NULL);
43479 /* ./parser//parser_prod.nit:7707 */
43480 if (UNTAG_Bool(REGB0)) {
43481 } else {
43482 fprintf(stderr, "Uninitialized attribute %s", "_n_kwinit");
43483 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7707);
43484 nit_exit(1);
43485 }
43486 fra.me.REG[3] = ATTR_parser_nodes___AInitExpr____n_kwinit(fra.me.REG[0]);
43487 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
43488 if (UNTAG_Bool(REGB0)) {
43489 } else {
43490 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
43491 REGB0 = REGB1;
43492 }
43493 if (UNTAG_Bool(REGB0)) {
43494 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
43495 /* ./parser//parser_prod.nit:7708 */
43496 if (UNTAG_Bool(REGB0)) {
43497 } else {
43498 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
43499 if (UNTAG_Bool(REGB1)) {
43500 REGB1 = TAG_Bool(false);
43501 REGB0 = REGB1;
43502 } else {
43503 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
43504 REGB0 = REGB1;
43505 }
43506 }
43507 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
43508 if (UNTAG_Bool(REGB0)) {
43509 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
43510 /* ./parser//parser_prod.nit:7709 */
43511 if (UNTAG_Bool(REGB0)) {
43512 fprintf(stderr, "Reciever is null");
43513 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7709);
43514 nit_exit(1);
43515 }
43516 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
43517 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwinit, ID_TKwinit)) /*cast TKwinit*/;
43518 /* ./parser//parser_prod.nit:7710 */
43519 if (UNTAG_Bool(REGB0)) {
43520 } else {
43521 fprintf(stderr, "Assert failed");
43522 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7710);
43523 nit_exit(1);
43524 }
43525 /* ./parser//parser_prod.nit:7711 */
43526 ATTR_parser_nodes___AInitExpr____n_kwinit(fra.me.REG[0]) = fra.me.REG[2];
43527 } else {
43528 /* ./parser//parser_prod.nit:7713 */
43529 fprintf(stderr, "Aborted");
43530 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7713);
43531 nit_exit(1);
43532 }
43533 /* ./parser//parser_prod.nit:7715 */
43534 goto label1;
43535 }
43536 REGB0 = TAG_Int(0);
43537 REGB1 = TAG_Bool(ATTR_parser_nodes___AInitExpr____n_args(fra.me.REG[0])!=NIT_NULL);
43538 /* ./parser//parser_prod.nit:7717 */
43539 if (UNTAG_Bool(REGB1)) {
43540 } else {
43541 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
43542 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7717);
43543 nit_exit(1);
43544 }
43545 fra.me.REG[3] = ATTR_parser_nodes___AInitExpr____n_args(fra.me.REG[0]);
43546 REGB1 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
43547 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB0, REGB1);
43548 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
43549 while(1) {
43550 REGB1 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
43551 if (UNTAG_Bool(REGB1)) {
43552 REGB1 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
43553 REGB0 = TAG_Bool(ATTR_parser_nodes___AInitExpr____n_args(fra.me.REG[0])!=NIT_NULL);
43554 /* ./parser//parser_prod.nit:7718 */
43555 if (UNTAG_Bool(REGB0)) {
43556 } else {
43557 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
43558 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7718);
43559 nit_exit(1);
43560 }
43561 fra.me.REG[4] = ATTR_parser_nodes___AInitExpr____n_args(fra.me.REG[0]);
43562 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB1);
43563 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[4]));
43564 if (UNTAG_Bool(REGB0)) {
43565 } else {
43566 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
43567 if (UNTAG_Bool(REGB2)) {
43568 REGB2 = TAG_Bool(false);
43569 REGB0 = REGB2;
43570 } else {
43571 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
43572 REGB0 = REGB2;
43573 }
43574 }
43575 if (UNTAG_Bool(REGB0)) {
43576 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
43577 /* ./parser//parser_prod.nit:7719 */
43578 if (UNTAG_Bool(REGB0)) {
43579 } else {
43580 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
43581 if (UNTAG_Bool(REGB2)) {
43582 REGB2 = TAG_Bool(false);
43583 REGB0 = REGB2;
43584 } else {
43585 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
43586 REGB0 = REGB2;
43587 }
43588 }
43589 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
43590 if (UNTAG_Bool(REGB0)) {
43591 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
43592 /* ./parser//parser_prod.nit:7720 */
43593 if (UNTAG_Bool(REGB0)) {
43594 } else {
43595 fprintf(stderr, "Assert failed");
43596 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7720);
43597 nit_exit(1);
43598 }
43599 REGB0 = TAG_Bool(ATTR_parser_nodes___AInitExpr____n_args(fra.me.REG[0])!=NIT_NULL);
43600 /* ./parser//parser_prod.nit:7721 */
43601 if (UNTAG_Bool(REGB0)) {
43602 } else {
43603 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
43604 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7721);
43605 nit_exit(1);
43606 }
43607 fra.me.REG[4] = ATTR_parser_nodes___AInitExpr____n_args(fra.me.REG[0]);
43608 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], REGB1, fra.me.REG[2]);
43609 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
43610 /* ./parser//parser_prod.nit:7722 */
43611 if (UNTAG_Bool(REGB0)) {
43612 fprintf(stderr, "Reciever is null");
43613 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7722);
43614 nit_exit(1);
43615 }
43616 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
43617 } else {
43618 REGB0 = TAG_Bool(ATTR_parser_nodes___AInitExpr____n_args(fra.me.REG[0])!=NIT_NULL);
43619 /* ./parser//parser_prod.nit:7724 */
43620 if (UNTAG_Bool(REGB0)) {
43621 } else {
43622 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
43623 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7724);
43624 nit_exit(1);
43625 }
43626 fra.me.REG[4] = ATTR_parser_nodes___AInitExpr____n_args(fra.me.REG[0]);
43627 CALL_abstract_collection___Map___remove_at(fra.me.REG[4])(fra.me.REG[4], REGB1);
43628 }
43629 /* ./parser//parser_prod.nit:7726 */
43630 goto label1;
43631 }
43632 } else {
43633 /* ./parser//parser_prod.nit:7717 */
43634 goto label2;
43635 }
43636 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
43637 }
43638 label2: while(0);
43639 label1: while(0);
43640 stack_frame_head = fra.me.prev;
43641 return;
43642 }
43643 void parser_prod___AInitExpr___visit_all(val_t p0, val_t p1){
43644 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
43645 val_t REGB0;
43646 val_t tmp;
43647 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43648 fra.me.file = LOCATE_parser_prod;
43649 fra.me.line = 7731;
43650 fra.me.meth = LOCATE_parser_prod___AInitExpr___visit_all;
43651 fra.me.has_broke = 0;
43652 fra.me.REG_size = 3;
43653 fra.me.REG[0] = NIT_NULL;
43654 fra.me.REG[1] = NIT_NULL;
43655 fra.me.REG[2] = NIT_NULL;
43656 fra.me.REG[0] = p0;
43657 fra.me.REG[1] = p1;
43658 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
43659 /* ./parser//parser_prod.nit:7733 */
43660 if (UNTAG_Bool(REGB0)) {
43661 } else {
43662 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
43663 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7733);
43664 nit_exit(1);
43665 }
43666 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
43667 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
43668 REGB0 = TAG_Bool(ATTR_parser_nodes___AInitExpr____n_kwinit(fra.me.REG[0])!=NIT_NULL);
43669 /* ./parser//parser_prod.nit:7734 */
43670 if (UNTAG_Bool(REGB0)) {
43671 } else {
43672 fprintf(stderr, "Uninitialized attribute %s", "_n_kwinit");
43673 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7734);
43674 nit_exit(1);
43675 }
43676 fra.me.REG[2] = ATTR_parser_nodes___AInitExpr____n_kwinit(fra.me.REG[0]);
43677 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
43678 REGB0 = TAG_Bool(ATTR_parser_nodes___AInitExpr____n_args(fra.me.REG[0])!=NIT_NULL);
43679 /* ./parser//parser_prod.nit:7735 */
43680 if (UNTAG_Bool(REGB0)) {
43681 } else {
43682 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
43683 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7735);
43684 nit_exit(1);
43685 }
43686 fra.me.REG[0] = ATTR_parser_nodes___AInitExpr____n_args(fra.me.REG[0]);
43687 fra.me.REG[0] = CALL_abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
43688 while(1) {
43689 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
43690 if (UNTAG_Bool(REGB0)) {
43691 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
43692 /* ./parser//parser_prod.nit:7736 */
43693 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
43694 } else {
43695 /* ./parser//parser_prod.nit:7735 */
43696 goto label1;
43697 }
43698 CALL_abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
43699 }
43700 label1: while(0);
43701 stack_frame_head = fra.me.prev;
43702 return;
43703 }
43704 void parser_prod___AInitExpr___visit_all_reverse(val_t p0, val_t p1){
43705 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
43706 val_t REGB0;
43707 val_t REGB1;
43708 val_t tmp;
43709 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43710 fra.me.file = LOCATE_parser_prod;
43711 fra.me.line = 7740;
43712 fra.me.meth = LOCATE_parser_prod___AInitExpr___visit_all_reverse;
43713 fra.me.has_broke = 0;
43714 fra.me.REG_size = 3;
43715 fra.me.REG[0] = NIT_NULL;
43716 fra.me.REG[1] = NIT_NULL;
43717 fra.me.REG[2] = NIT_NULL;
43718 fra.me.REG[0] = p0;
43719 fra.me.REG[1] = p1;
43720 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
43721 /* ./parser//parser_prod.nit:7742 */
43722 if (UNTAG_Bool(REGB0)) {
43723 } else {
43724 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
43725 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7742);
43726 nit_exit(1);
43727 }
43728 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
43729 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
43730 REGB0 = TAG_Bool(ATTR_parser_nodes___AInitExpr____n_kwinit(fra.me.REG[0])!=NIT_NULL);
43731 /* ./parser//parser_prod.nit:7743 */
43732 if (UNTAG_Bool(REGB0)) {
43733 } else {
43734 fprintf(stderr, "Uninitialized attribute %s", "_n_kwinit");
43735 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7743);
43736 nit_exit(1);
43737 }
43738 fra.me.REG[2] = ATTR_parser_nodes___AInitExpr____n_kwinit(fra.me.REG[0]);
43739 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
43740 REGB0 = TAG_Bool(ATTR_parser_nodes___AInitExpr____n_args(fra.me.REG[0])!=NIT_NULL);
43741 /* ./parser//parser_prod.nit:7745 */
43742 if (UNTAG_Bool(REGB0)) {
43743 } else {
43744 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
43745 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7745);
43746 nit_exit(1);
43747 }
43748 fra.me.REG[2] = ATTR_parser_nodes___AInitExpr____n_args(fra.me.REG[0]);
43749 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
43750 /* ./parser//parser_prod.nit:7746 */
43751 while(1) {
43752 REGB1 = TAG_Int(0);
43753 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
43754 /* ./parser//parser_prod.nit:7746 */
43755 if (UNTAG_Bool(REGB1)) {
43756 REGB1 = TAG_Bool(ATTR_parser_nodes___AInitExpr____n_args(fra.me.REG[0])!=NIT_NULL);
43757 /* ./parser//parser_prod.nit:7747 */
43758 if (UNTAG_Bool(REGB1)) {
43759 } else {
43760 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
43761 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7747);
43762 nit_exit(1);
43763 }
43764 fra.me.REG[2] = ATTR_parser_nodes___AInitExpr____n_args(fra.me.REG[0]);
43765 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
43766 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
43767 REGB1 = TAG_Int(1);
43768 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
43769 REGB0 = REGB1;
43770 /* ./parser//parser_prod.nit:7748 */
43771 } else {
43772 /* ./parser//parser_prod.nit:7746 */
43773 goto label1;
43774 }
43775 }
43776 label1: while(0);
43777 stack_frame_head = fra.me.prev;
43778 return;
43779 }
43780 void parser_prod___AInitExpr___empty_init(val_t p0, int* init_table){
43781 int itpos183 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AInitExpr].i;
43782 struct {struct stack_frame_t me;} fra;
43783 val_t tmp;
43784 if (init_table[itpos183]) return;
43785 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43786 fra.me.file = LOCATE_parser_prod;
43787 fra.me.line = 7675;
43788 fra.me.meth = LOCATE_parser_prod___AInitExpr___empty_init;
43789 fra.me.has_broke = 0;
43790 fra.me.REG_size = 1;
43791 fra.me.REG[0] = NIT_NULL;
43792 fra.me.REG[0] = p0;
43793 /* ./parser//parser_prod.nit:7675 */
43794 stack_frame_head = fra.me.prev;
43795 init_table[itpos183] = 1;
43796 return;
43797 }
43798 void parser_prod___AInitExpr___init_ainitexpr(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
43799 int itpos184 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AInitExpr].i;
43800 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
43801 val_t REGB0;
43802 val_t tmp;
43803 if (init_table[itpos184]) return;
43804 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43805 fra.me.file = LOCATE_parser_prod;
43806 fra.me.line = 7677;
43807 fra.me.meth = LOCATE_parser_prod___AInitExpr___init_ainitexpr;
43808 fra.me.has_broke = 0;
43809 fra.me.REG_size = 4;
43810 fra.me.REG[0] = NIT_NULL;
43811 fra.me.REG[1] = NIT_NULL;
43812 fra.me.REG[2] = NIT_NULL;
43813 fra.me.REG[3] = NIT_NULL;
43814 fra.me.REG[0] = p0;
43815 fra.me.REG[1] = p1;
43816 fra.me.REG[2] = p2;
43817 fra.me.REG[3] = p3;
43818 /* ./parser//parser_prod.nit:7683 */
43819 CALL_parser_prod___AInitExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
43820 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
43821 /* ./parser//parser_prod.nit:7684 */
43822 if (UNTAG_Bool(REGB0)) {
43823 } else {
43824 fprintf(stderr, "Cast failed");
43825 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7684);
43826 nit_exit(1);
43827 }
43828 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
43829 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
43830 /* ./parser//parser_prod.nit:7685 */
43831 if (UNTAG_Bool(REGB0)) {
43832 fprintf(stderr, "Reciever is null");
43833 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7685);
43834 nit_exit(1);
43835 }
43836 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
43837 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
43838 /* ./parser//parser_prod.nit:7686 */
43839 if (UNTAG_Bool(REGB0)) {
43840 } else {
43841 fprintf(stderr, "Cast failed");
43842 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7686);
43843 nit_exit(1);
43844 }
43845 ATTR_parser_nodes___AInitExpr____n_kwinit(fra.me.REG[0]) = fra.me.REG[2];
43846 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
43847 /* ./parser//parser_prod.nit:7687 */
43848 if (UNTAG_Bool(REGB0)) {
43849 fprintf(stderr, "Reciever is null");
43850 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7687);
43851 nit_exit(1);
43852 }
43853 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
43854 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
43855 /* ./parser//parser_prod.nit:7688 */
43856 while(1) {
43857 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
43858 if (UNTAG_Bool(REGB0)) {
43859 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
43860 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
43861 /* ./parser//parser_prod.nit:7689 */
43862 if (UNTAG_Bool(REGB0)) {
43863 } else {
43864 fprintf(stderr, "Assert failed");
43865 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7689);
43866 nit_exit(1);
43867 }
43868 REGB0 = TAG_Bool(ATTR_parser_nodes___AInitExpr____n_args(fra.me.REG[0])!=NIT_NULL);
43869 /* ./parser//parser_prod.nit:7690 */
43870 if (UNTAG_Bool(REGB0)) {
43871 } else {
43872 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
43873 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7690);
43874 nit_exit(1);
43875 }
43876 fra.me.REG[1] = ATTR_parser_nodes___AInitExpr____n_args(fra.me.REG[0]);
43877 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
43878 /* ./parser//parser_prod.nit:7691 */
43879 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
43880 } else {
43881 /* ./parser//parser_prod.nit:7688 */
43882 goto label1;
43883 }
43884 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
43885 }
43886 label1: while(0);
43887 stack_frame_head = fra.me.prev;
43888 init_table[itpos184] = 1;
43889 return;
43890 }
43891 void parser_prod___ABraExpr___n_expr__eq(val_t p0, val_t p1){
43892 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
43893 val_t tmp;
43894 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43895 fra.me.file = LOCATE_parser_prod;
43896 fra.me.line = 7754;
43897 fra.me.meth = LOCATE_parser_prod___ABraExpr___n_expr__eq;
43898 fra.me.has_broke = 0;
43899 fra.me.REG_size = 2;
43900 fra.me.REG[0] = NIT_NULL;
43901 fra.me.REG[1] = NIT_NULL;
43902 fra.me.REG[0] = p0;
43903 fra.me.REG[1] = p1;
43904 /* ./parser//parser_prod.nit:7756 */
43905 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
43906 /* ./parser//parser_prod.nit:7757 */
43907 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
43908 stack_frame_head = fra.me.prev;
43909 return;
43910 }
43911 void parser_prod___ABraExpr___replace_child(val_t p0, val_t p1, val_t p2){
43912 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
43913 val_t REGB0;
43914 val_t REGB1;
43915 val_t REGB2;
43916 val_t tmp;
43917 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
43918 fra.me.file = LOCATE_parser_prod;
43919 fra.me.line = 7783;
43920 fra.me.meth = LOCATE_parser_prod___ABraExpr___replace_child;
43921 fra.me.has_broke = 0;
43922 fra.me.REG_size = 5;
43923 fra.me.REG[0] = NIT_NULL;
43924 fra.me.REG[1] = NIT_NULL;
43925 fra.me.REG[2] = NIT_NULL;
43926 fra.me.REG[3] = NIT_NULL;
43927 fra.me.REG[4] = NIT_NULL;
43928 fra.me.REG[0] = p0;
43929 fra.me.REG[1] = p1;
43930 fra.me.REG[2] = p2;
43931 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
43932 /* ./parser//parser_prod.nit:7785 */
43933 if (UNTAG_Bool(REGB0)) {
43934 } else {
43935 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
43936 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7785);
43937 nit_exit(1);
43938 }
43939 fra.me.REG[3] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
43940 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
43941 if (UNTAG_Bool(REGB0)) {
43942 } else {
43943 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
43944 REGB0 = REGB1;
43945 }
43946 if (UNTAG_Bool(REGB0)) {
43947 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
43948 /* ./parser//parser_prod.nit:7786 */
43949 if (UNTAG_Bool(REGB0)) {
43950 } else {
43951 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
43952 if (UNTAG_Bool(REGB1)) {
43953 REGB1 = TAG_Bool(false);
43954 REGB0 = REGB1;
43955 } else {
43956 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
43957 REGB0 = REGB1;
43958 }
43959 }
43960 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
43961 if (UNTAG_Bool(REGB0)) {
43962 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
43963 /* ./parser//parser_prod.nit:7787 */
43964 if (UNTAG_Bool(REGB0)) {
43965 fprintf(stderr, "Reciever is null");
43966 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7787);
43967 nit_exit(1);
43968 }
43969 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
43970 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
43971 /* ./parser//parser_prod.nit:7788 */
43972 if (UNTAG_Bool(REGB0)) {
43973 } else {
43974 fprintf(stderr, "Assert failed");
43975 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7788);
43976 nit_exit(1);
43977 }
43978 /* ./parser//parser_prod.nit:7789 */
43979 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
43980 } else {
43981 /* ./parser//parser_prod.nit:7791 */
43982 fprintf(stderr, "Aborted");
43983 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7791);
43984 nit_exit(1);
43985 }
43986 /* ./parser//parser_prod.nit:7793 */
43987 goto label1;
43988 }
43989 REGB0 = TAG_Int(0);
43990 REGB1 = TAG_Bool(ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
43991 /* ./parser//parser_prod.nit:7795 */
43992 if (UNTAG_Bool(REGB1)) {
43993 } else {
43994 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
43995 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7795);
43996 nit_exit(1);
43997 }
43998 fra.me.REG[3] = ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0]);
43999 REGB1 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
44000 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB0, REGB1);
44001 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
44002 while(1) {
44003 REGB1 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
44004 if (UNTAG_Bool(REGB1)) {
44005 REGB1 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
44006 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
44007 /* ./parser//parser_prod.nit:7796 */
44008 if (UNTAG_Bool(REGB0)) {
44009 } else {
44010 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
44011 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7796);
44012 nit_exit(1);
44013 }
44014 fra.me.REG[4] = ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0]);
44015 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB1);
44016 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[4]));
44017 if (UNTAG_Bool(REGB0)) {
44018 } else {
44019 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
44020 if (UNTAG_Bool(REGB2)) {
44021 REGB2 = TAG_Bool(false);
44022 REGB0 = REGB2;
44023 } else {
44024 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
44025 REGB0 = REGB2;
44026 }
44027 }
44028 if (UNTAG_Bool(REGB0)) {
44029 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
44030 /* ./parser//parser_prod.nit:7797 */
44031 if (UNTAG_Bool(REGB0)) {
44032 } else {
44033 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
44034 if (UNTAG_Bool(REGB2)) {
44035 REGB2 = TAG_Bool(false);
44036 REGB0 = REGB2;
44037 } else {
44038 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
44039 REGB0 = REGB2;
44040 }
44041 }
44042 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
44043 if (UNTAG_Bool(REGB0)) {
44044 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
44045 /* ./parser//parser_prod.nit:7798 */
44046 if (UNTAG_Bool(REGB0)) {
44047 } else {
44048 fprintf(stderr, "Assert failed");
44049 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7798);
44050 nit_exit(1);
44051 }
44052 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
44053 /* ./parser//parser_prod.nit:7799 */
44054 if (UNTAG_Bool(REGB0)) {
44055 } else {
44056 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
44057 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7799);
44058 nit_exit(1);
44059 }
44060 fra.me.REG[4] = ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0]);
44061 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], REGB1, fra.me.REG[2]);
44062 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
44063 /* ./parser//parser_prod.nit:7800 */
44064 if (UNTAG_Bool(REGB0)) {
44065 fprintf(stderr, "Reciever is null");
44066 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7800);
44067 nit_exit(1);
44068 }
44069 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
44070 } else {
44071 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
44072 /* ./parser//parser_prod.nit:7802 */
44073 if (UNTAG_Bool(REGB0)) {
44074 } else {
44075 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
44076 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7802);
44077 nit_exit(1);
44078 }
44079 fra.me.REG[4] = ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0]);
44080 CALL_abstract_collection___Map___remove_at(fra.me.REG[4])(fra.me.REG[4], REGB1);
44081 }
44082 /* ./parser//parser_prod.nit:7804 */
44083 goto label1;
44084 }
44085 } else {
44086 /* ./parser//parser_prod.nit:7795 */
44087 goto label2;
44088 }
44089 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
44090 }
44091 label2: while(0);
44092 REGB1 = TAG_Int(0);
44093 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0])!=NIT_NULL);
44094 /* ./parser//parser_prod.nit:7807 */
44095 if (UNTAG_Bool(REGB0)) {
44096 } else {
44097 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_defs");
44098 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7807);
44099 nit_exit(1);
44100 }
44101 fra.me.REG[3] = ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0]);
44102 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
44103 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB1, REGB0);
44104 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
44105 while(1) {
44106 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
44107 if (UNTAG_Bool(REGB0)) {
44108 REGB0 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
44109 REGB1 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0])!=NIT_NULL);
44110 /* ./parser//parser_prod.nit:7808 */
44111 if (UNTAG_Bool(REGB1)) {
44112 } else {
44113 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_defs");
44114 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7808);
44115 nit_exit(1);
44116 }
44117 fra.me.REG[4] = ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0]);
44118 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB0);
44119 REGB1 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[4]));
44120 if (UNTAG_Bool(REGB1)) {
44121 } else {
44122 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
44123 if (UNTAG_Bool(REGB2)) {
44124 REGB2 = TAG_Bool(false);
44125 REGB1 = REGB2;
44126 } else {
44127 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
44128 REGB1 = REGB2;
44129 }
44130 }
44131 if (UNTAG_Bool(REGB1)) {
44132 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
44133 /* ./parser//parser_prod.nit:7809 */
44134 if (UNTAG_Bool(REGB1)) {
44135 } else {
44136 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
44137 if (UNTAG_Bool(REGB2)) {
44138 REGB2 = TAG_Bool(false);
44139 REGB1 = REGB2;
44140 } else {
44141 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
44142 REGB1 = REGB2;
44143 }
44144 }
44145 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
44146 if (UNTAG_Bool(REGB1)) {
44147 REGB1 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AClosureDef, ID_AClosureDef)) /*cast AClosureDef*/;
44148 /* ./parser//parser_prod.nit:7810 */
44149 if (UNTAG_Bool(REGB1)) {
44150 } else {
44151 fprintf(stderr, "Assert failed");
44152 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7810);
44153 nit_exit(1);
44154 }
44155 REGB1 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0])!=NIT_NULL);
44156 /* ./parser//parser_prod.nit:7811 */
44157 if (UNTAG_Bool(REGB1)) {
44158 } else {
44159 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_defs");
44160 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7811);
44161 nit_exit(1);
44162 }
44163 fra.me.REG[4] = ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0]);
44164 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], REGB0, fra.me.REG[2]);
44165 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
44166 /* ./parser//parser_prod.nit:7812 */
44167 if (UNTAG_Bool(REGB1)) {
44168 fprintf(stderr, "Reciever is null");
44169 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7812);
44170 nit_exit(1);
44171 }
44172 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
44173 } else {
44174 REGB1 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0])!=NIT_NULL);
44175 /* ./parser//parser_prod.nit:7814 */
44176 if (UNTAG_Bool(REGB1)) {
44177 } else {
44178 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_defs");
44179 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7814);
44180 nit_exit(1);
44181 }
44182 fra.me.REG[4] = ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0]);
44183 CALL_abstract_collection___Map___remove_at(fra.me.REG[4])(fra.me.REG[4], REGB0);
44184 }
44185 /* ./parser//parser_prod.nit:7816 */
44186 goto label1;
44187 }
44188 } else {
44189 /* ./parser//parser_prod.nit:7807 */
44190 goto label3;
44191 }
44192 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
44193 }
44194 label3: while(0);
44195 label1: while(0);
44196 stack_frame_head = fra.me.prev;
44197 return;
44198 }
44199 void parser_prod___ABraExpr___visit_all(val_t p0, val_t p1){
44200 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
44201 val_t REGB0;
44202 val_t tmp;
44203 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44204 fra.me.file = LOCATE_parser_prod;
44205 fra.me.line = 7821;
44206 fra.me.meth = LOCATE_parser_prod___ABraExpr___visit_all;
44207 fra.me.has_broke = 0;
44208 fra.me.REG_size = 4;
44209 fra.me.REG[0] = NIT_NULL;
44210 fra.me.REG[1] = NIT_NULL;
44211 fra.me.REG[2] = NIT_NULL;
44212 fra.me.REG[3] = NIT_NULL;
44213 fra.me.REG[0] = p0;
44214 fra.me.REG[1] = p1;
44215 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
44216 /* ./parser//parser_prod.nit:7823 */
44217 if (UNTAG_Bool(REGB0)) {
44218 } else {
44219 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
44220 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7823);
44221 nit_exit(1);
44222 }
44223 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
44224 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
44225 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
44226 /* ./parser//parser_prod.nit:7824 */
44227 if (UNTAG_Bool(REGB0)) {
44228 } else {
44229 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
44230 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7824);
44231 nit_exit(1);
44232 }
44233 fra.me.REG[2] = ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0]);
44234 fra.me.REG[2] = CALL_abstract_collection___Collection___iterator(fra.me.REG[2])(fra.me.REG[2]);
44235 while(1) {
44236 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[2])(fra.me.REG[2]);
44237 if (UNTAG_Bool(REGB0)) {
44238 fra.me.REG[3] = CALL_abstract_collection___Iterator___item(fra.me.REG[2])(fra.me.REG[2]);
44239 /* ./parser//parser_prod.nit:7825 */
44240 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
44241 } else {
44242 /* ./parser//parser_prod.nit:7824 */
44243 goto label1;
44244 }
44245 CALL_abstract_collection___Iterator___next(fra.me.REG[2])(fra.me.REG[2]);
44246 }
44247 label1: while(0);
44248 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0])!=NIT_NULL);
44249 /* ./parser//parser_prod.nit:7827 */
44250 if (UNTAG_Bool(REGB0)) {
44251 } else {
44252 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_defs");
44253 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7827);
44254 nit_exit(1);
44255 }
44256 fra.me.REG[0] = ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0]);
44257 fra.me.REG[0] = CALL_abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
44258 while(1) {
44259 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
44260 if (UNTAG_Bool(REGB0)) {
44261 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
44262 /* ./parser//parser_prod.nit:7828 */
44263 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
44264 } else {
44265 /* ./parser//parser_prod.nit:7827 */
44266 goto label2;
44267 }
44268 CALL_abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
44269 }
44270 label2: while(0);
44271 stack_frame_head = fra.me.prev;
44272 return;
44273 }
44274 void parser_prod___ABraExpr___visit_all_reverse(val_t p0, val_t p1){
44275 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
44276 val_t REGB0;
44277 val_t REGB1;
44278 val_t tmp;
44279 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44280 fra.me.file = LOCATE_parser_prod;
44281 fra.me.line = 7832;
44282 fra.me.meth = LOCATE_parser_prod___ABraExpr___visit_all_reverse;
44283 fra.me.has_broke = 0;
44284 fra.me.REG_size = 3;
44285 fra.me.REG[0] = NIT_NULL;
44286 fra.me.REG[1] = NIT_NULL;
44287 fra.me.REG[2] = NIT_NULL;
44288 fra.me.REG[0] = p0;
44289 fra.me.REG[1] = p1;
44290 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
44291 /* ./parser//parser_prod.nit:7834 */
44292 if (UNTAG_Bool(REGB0)) {
44293 } else {
44294 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
44295 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7834);
44296 nit_exit(1);
44297 }
44298 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
44299 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
44300 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
44301 /* ./parser//parser_prod.nit:7836 */
44302 if (UNTAG_Bool(REGB0)) {
44303 } else {
44304 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
44305 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7836);
44306 nit_exit(1);
44307 }
44308 fra.me.REG[2] = ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0]);
44309 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
44310 /* ./parser//parser_prod.nit:7837 */
44311 while(1) {
44312 REGB1 = TAG_Int(0);
44313 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
44314 /* ./parser//parser_prod.nit:7837 */
44315 if (UNTAG_Bool(REGB1)) {
44316 REGB1 = TAG_Bool(ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
44317 /* ./parser//parser_prod.nit:7838 */
44318 if (UNTAG_Bool(REGB1)) {
44319 } else {
44320 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
44321 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7838);
44322 nit_exit(1);
44323 }
44324 fra.me.REG[2] = ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0]);
44325 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
44326 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
44327 REGB1 = TAG_Int(1);
44328 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
44329 REGB0 = REGB1;
44330 /* ./parser//parser_prod.nit:7839 */
44331 } else {
44332 /* ./parser//parser_prod.nit:7837 */
44333 goto label1;
44334 }
44335 }
44336 label1: while(0);
44337 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0])!=NIT_NULL);
44338 /* ./parser//parser_prod.nit:7843 */
44339 if (UNTAG_Bool(REGB0)) {
44340 } else {
44341 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_defs");
44342 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7843);
44343 nit_exit(1);
44344 }
44345 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0]);
44346 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
44347 /* ./parser//parser_prod.nit:7844 */
44348 while(1) {
44349 REGB1 = TAG_Int(0);
44350 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
44351 /* ./parser//parser_prod.nit:7844 */
44352 if (UNTAG_Bool(REGB1)) {
44353 REGB1 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0])!=NIT_NULL);
44354 /* ./parser//parser_prod.nit:7845 */
44355 if (UNTAG_Bool(REGB1)) {
44356 } else {
44357 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_defs");
44358 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7845);
44359 nit_exit(1);
44360 }
44361 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0]);
44362 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
44363 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
44364 REGB1 = TAG_Int(1);
44365 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
44366 REGB0 = REGB1;
44367 /* ./parser//parser_prod.nit:7846 */
44368 } else {
44369 /* ./parser//parser_prod.nit:7844 */
44370 goto label2;
44371 }
44372 }
44373 label2: while(0);
44374 stack_frame_head = fra.me.prev;
44375 return;
44376 }
44377 void parser_prod___ABraExpr___empty_init(val_t p0, int* init_table){
44378 int itpos185 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ABraExpr].i;
44379 struct {struct stack_frame_t me;} fra;
44380 val_t tmp;
44381 if (init_table[itpos185]) return;
44382 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44383 fra.me.file = LOCATE_parser_prod;
44384 fra.me.line = 7760;
44385 fra.me.meth = LOCATE_parser_prod___ABraExpr___empty_init;
44386 fra.me.has_broke = 0;
44387 fra.me.REG_size = 1;
44388 fra.me.REG[0] = NIT_NULL;
44389 fra.me.REG[0] = p0;
44390 /* ./parser//parser_prod.nit:7760 */
44391 stack_frame_head = fra.me.prev;
44392 init_table[itpos185] = 1;
44393 return;
44394 }
44395 void parser_prod___ABraExpr___init_abraexpr(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
44396 int itpos186 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ABraExpr].i;
44397 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
44398 val_t REGB0;
44399 val_t tmp;
44400 if (init_table[itpos186]) return;
44401 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44402 fra.me.file = LOCATE_parser_prod;
44403 fra.me.line = 7762;
44404 fra.me.meth = LOCATE_parser_prod___ABraExpr___init_abraexpr;
44405 fra.me.has_broke = 0;
44406 fra.me.REG_size = 5;
44407 fra.me.REG[0] = NIT_NULL;
44408 fra.me.REG[1] = NIT_NULL;
44409 fra.me.REG[2] = NIT_NULL;
44410 fra.me.REG[3] = NIT_NULL;
44411 fra.me.REG[4] = NIT_NULL;
44412 fra.me.REG[0] = p0;
44413 fra.me.REG[1] = p1;
44414 fra.me.REG[2] = p2;
44415 fra.me.REG[3] = p3;
44416 /* ./parser//parser_prod.nit:7768 */
44417 CALL_parser_prod___ABraExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
44418 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
44419 /* ./parser//parser_prod.nit:7769 */
44420 if (UNTAG_Bool(REGB0)) {
44421 } else {
44422 fprintf(stderr, "Cast failed");
44423 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7769);
44424 nit_exit(1);
44425 }
44426 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
44427 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
44428 /* ./parser//parser_prod.nit:7770 */
44429 if (UNTAG_Bool(REGB0)) {
44430 fprintf(stderr, "Reciever is null");
44431 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7770);
44432 nit_exit(1);
44433 }
44434 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
44435 fra.me.REG[2] = CALL_abstract_collection___Collection___iterator(fra.me.REG[2])(fra.me.REG[2]);
44436 /* ./parser//parser_prod.nit:7771 */
44437 while(1) {
44438 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[2])(fra.me.REG[2]);
44439 if (UNTAG_Bool(REGB0)) {
44440 fra.me.REG[1] = CALL_abstract_collection___Iterator___item(fra.me.REG[2])(fra.me.REG[2]);
44441 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[1], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
44442 /* ./parser//parser_prod.nit:7772 */
44443 if (UNTAG_Bool(REGB0)) {
44444 } else {
44445 fprintf(stderr, "Assert failed");
44446 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7772);
44447 nit_exit(1);
44448 }
44449 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
44450 /* ./parser//parser_prod.nit:7773 */
44451 if (UNTAG_Bool(REGB0)) {
44452 } else {
44453 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
44454 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7773);
44455 nit_exit(1);
44456 }
44457 fra.me.REG[4] = ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0]);
44458 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
44459 /* ./parser//parser_prod.nit:7774 */
44460 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
44461 } else {
44462 /* ./parser//parser_prod.nit:7771 */
44463 goto label1;
44464 }
44465 CALL_abstract_collection___Iterator___next(fra.me.REG[2])(fra.me.REG[2]);
44466 }
44467 label1: while(0);
44468 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
44469 /* ./parser//parser_prod.nit:7776 */
44470 while(1) {
44471 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
44472 if (UNTAG_Bool(REGB0)) {
44473 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
44474 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_AClosureDef, ID_AClosureDef)) /*cast AClosureDef*/;
44475 /* ./parser//parser_prod.nit:7777 */
44476 if (UNTAG_Bool(REGB0)) {
44477 } else {
44478 fprintf(stderr, "Assert failed");
44479 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7777);
44480 nit_exit(1);
44481 }
44482 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0])!=NIT_NULL);
44483 /* ./parser//parser_prod.nit:7778 */
44484 if (UNTAG_Bool(REGB0)) {
44485 } else {
44486 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_defs");
44487 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7778);
44488 nit_exit(1);
44489 }
44490 fra.me.REG[1] = ATTR_parser_nodes___ASendExpr____n_closure_defs(fra.me.REG[0]);
44491 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
44492 /* ./parser//parser_prod.nit:7779 */
44493 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
44494 } else {
44495 /* ./parser//parser_prod.nit:7776 */
44496 goto label2;
44497 }
44498 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
44499 }
44500 label2: while(0);
44501 stack_frame_head = fra.me.prev;
44502 init_table[itpos186] = 1;
44503 return;
44504 }
44505 void parser_prod___ABraAssignExpr___n_expr__eq(val_t p0, val_t p1){
44506 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
44507 val_t tmp;
44508 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44509 fra.me.file = LOCATE_parser_prod;
44510 fra.me.line = 7852;
44511 fra.me.meth = LOCATE_parser_prod___ABraAssignExpr___n_expr__eq;
44512 fra.me.has_broke = 0;
44513 fra.me.REG_size = 2;
44514 fra.me.REG[0] = NIT_NULL;
44515 fra.me.REG[1] = NIT_NULL;
44516 fra.me.REG[0] = p0;
44517 fra.me.REG[1] = p1;
44518 /* ./parser//parser_prod.nit:7854 */
44519 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
44520 /* ./parser//parser_prod.nit:7855 */
44521 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
44522 stack_frame_head = fra.me.prev;
44523 return;
44524 }
44525 void parser_prod___ABraAssignExpr___n_assign__eq(val_t p0, val_t p1){
44526 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
44527 val_t tmp;
44528 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44529 fra.me.file = LOCATE_parser_prod;
44530 fra.me.line = 7857;
44531 fra.me.meth = LOCATE_parser_prod___ABraAssignExpr___n_assign__eq;
44532 fra.me.has_broke = 0;
44533 fra.me.REG_size = 2;
44534 fra.me.REG[0] = NIT_NULL;
44535 fra.me.REG[1] = NIT_NULL;
44536 fra.me.REG[0] = p0;
44537 fra.me.REG[1] = p1;
44538 /* ./parser//parser_prod.nit:7859 */
44539 ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0]) = fra.me.REG[1];
44540 /* ./parser//parser_prod.nit:7860 */
44541 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
44542 stack_frame_head = fra.me.prev;
44543 return;
44544 }
44545 void parser_prod___ABraAssignExpr___n_value__eq(val_t p0, val_t p1){
44546 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
44547 val_t tmp;
44548 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44549 fra.me.file = LOCATE_parser_prod;
44550 fra.me.line = 7862;
44551 fra.me.meth = LOCATE_parser_prod___ABraAssignExpr___n_value__eq;
44552 fra.me.has_broke = 0;
44553 fra.me.REG_size = 2;
44554 fra.me.REG[0] = NIT_NULL;
44555 fra.me.REG[1] = NIT_NULL;
44556 fra.me.REG[0] = p0;
44557 fra.me.REG[1] = p1;
44558 /* ./parser//parser_prod.nit:7864 */
44559 ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0]) = fra.me.REG[1];
44560 /* ./parser//parser_prod.nit:7865 */
44561 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
44562 stack_frame_head = fra.me.prev;
44563 return;
44564 }
44565 void parser_prod___ABraAssignExpr___replace_child(val_t p0, val_t p1, val_t p2){
44566 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
44567 val_t REGB0;
44568 val_t REGB1;
44569 val_t REGB2;
44570 val_t tmp;
44571 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44572 fra.me.file = LOCATE_parser_prod;
44573 fra.me.line = 7891;
44574 fra.me.meth = LOCATE_parser_prod___ABraAssignExpr___replace_child;
44575 fra.me.has_broke = 0;
44576 fra.me.REG_size = 5;
44577 fra.me.REG[0] = NIT_NULL;
44578 fra.me.REG[1] = NIT_NULL;
44579 fra.me.REG[2] = NIT_NULL;
44580 fra.me.REG[3] = NIT_NULL;
44581 fra.me.REG[4] = NIT_NULL;
44582 fra.me.REG[0] = p0;
44583 fra.me.REG[1] = p1;
44584 fra.me.REG[2] = p2;
44585 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
44586 /* ./parser//parser_prod.nit:7893 */
44587 if (UNTAG_Bool(REGB0)) {
44588 } else {
44589 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
44590 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7893);
44591 nit_exit(1);
44592 }
44593 fra.me.REG[3] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
44594 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
44595 if (UNTAG_Bool(REGB0)) {
44596 } else {
44597 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
44598 REGB0 = REGB1;
44599 }
44600 if (UNTAG_Bool(REGB0)) {
44601 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
44602 /* ./parser//parser_prod.nit:7894 */
44603 if (UNTAG_Bool(REGB0)) {
44604 } else {
44605 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
44606 if (UNTAG_Bool(REGB1)) {
44607 REGB1 = TAG_Bool(false);
44608 REGB0 = REGB1;
44609 } else {
44610 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
44611 REGB0 = REGB1;
44612 }
44613 }
44614 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
44615 if (UNTAG_Bool(REGB0)) {
44616 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
44617 /* ./parser//parser_prod.nit:7895 */
44618 if (UNTAG_Bool(REGB0)) {
44619 fprintf(stderr, "Reciever is null");
44620 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7895);
44621 nit_exit(1);
44622 }
44623 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
44624 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
44625 /* ./parser//parser_prod.nit:7896 */
44626 if (UNTAG_Bool(REGB0)) {
44627 } else {
44628 fprintf(stderr, "Assert failed");
44629 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7896);
44630 nit_exit(1);
44631 }
44632 /* ./parser//parser_prod.nit:7897 */
44633 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
44634 } else {
44635 /* ./parser//parser_prod.nit:7899 */
44636 fprintf(stderr, "Aborted");
44637 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7899);
44638 nit_exit(1);
44639 }
44640 /* ./parser//parser_prod.nit:7901 */
44641 goto label1;
44642 }
44643 REGB0 = TAG_Int(0);
44644 REGB1 = TAG_Bool(ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
44645 /* ./parser//parser_prod.nit:7903 */
44646 if (UNTAG_Bool(REGB1)) {
44647 } else {
44648 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
44649 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7903);
44650 nit_exit(1);
44651 }
44652 fra.me.REG[3] = ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0]);
44653 REGB1 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
44654 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB0, REGB1);
44655 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
44656 while(1) {
44657 REGB1 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
44658 if (UNTAG_Bool(REGB1)) {
44659 REGB1 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
44660 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
44661 /* ./parser//parser_prod.nit:7904 */
44662 if (UNTAG_Bool(REGB0)) {
44663 } else {
44664 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
44665 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7904);
44666 nit_exit(1);
44667 }
44668 fra.me.REG[4] = ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0]);
44669 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB1);
44670 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[4]));
44671 if (UNTAG_Bool(REGB0)) {
44672 } else {
44673 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
44674 if (UNTAG_Bool(REGB2)) {
44675 REGB2 = TAG_Bool(false);
44676 REGB0 = REGB2;
44677 } else {
44678 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
44679 REGB0 = REGB2;
44680 }
44681 }
44682 if (UNTAG_Bool(REGB0)) {
44683 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
44684 /* ./parser//parser_prod.nit:7905 */
44685 if (UNTAG_Bool(REGB0)) {
44686 } else {
44687 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
44688 if (UNTAG_Bool(REGB2)) {
44689 REGB2 = TAG_Bool(false);
44690 REGB0 = REGB2;
44691 } else {
44692 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
44693 REGB0 = REGB2;
44694 }
44695 }
44696 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
44697 if (UNTAG_Bool(REGB0)) {
44698 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
44699 /* ./parser//parser_prod.nit:7906 */
44700 if (UNTAG_Bool(REGB0)) {
44701 } else {
44702 fprintf(stderr, "Assert failed");
44703 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7906);
44704 nit_exit(1);
44705 }
44706 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
44707 /* ./parser//parser_prod.nit:7907 */
44708 if (UNTAG_Bool(REGB0)) {
44709 } else {
44710 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
44711 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7907);
44712 nit_exit(1);
44713 }
44714 fra.me.REG[4] = ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0]);
44715 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], REGB1, fra.me.REG[2]);
44716 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
44717 /* ./parser//parser_prod.nit:7908 */
44718 if (UNTAG_Bool(REGB0)) {
44719 fprintf(stderr, "Reciever is null");
44720 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7908);
44721 nit_exit(1);
44722 }
44723 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
44724 } else {
44725 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
44726 /* ./parser//parser_prod.nit:7910 */
44727 if (UNTAG_Bool(REGB0)) {
44728 } else {
44729 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
44730 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7910);
44731 nit_exit(1);
44732 }
44733 fra.me.REG[4] = ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0]);
44734 CALL_abstract_collection___Map___remove_at(fra.me.REG[4])(fra.me.REG[4], REGB1);
44735 }
44736 /* ./parser//parser_prod.nit:7912 */
44737 goto label1;
44738 }
44739 } else {
44740 /* ./parser//parser_prod.nit:7903 */
44741 goto label2;
44742 }
44743 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
44744 }
44745 label2: while(0);
44746 REGB1 = TAG_Bool(ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0])!=NIT_NULL);
44747 /* ./parser//parser_prod.nit:7915 */
44748 if (UNTAG_Bool(REGB1)) {
44749 } else {
44750 fprintf(stderr, "Uninitialized attribute %s", "_n_assign");
44751 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7915);
44752 nit_exit(1);
44753 }
44754 fra.me.REG[3] = ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0]);
44755 REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
44756 if (UNTAG_Bool(REGB1)) {
44757 } else {
44758 REGB0 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
44759 REGB1 = REGB0;
44760 }
44761 if (UNTAG_Bool(REGB1)) {
44762 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
44763 /* ./parser//parser_prod.nit:7916 */
44764 if (UNTAG_Bool(REGB1)) {
44765 } else {
44766 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
44767 if (UNTAG_Bool(REGB0)) {
44768 REGB0 = TAG_Bool(false);
44769 REGB1 = REGB0;
44770 } else {
44771 REGB0 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
44772 REGB1 = REGB0;
44773 }
44774 }
44775 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
44776 if (UNTAG_Bool(REGB1)) {
44777 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
44778 /* ./parser//parser_prod.nit:7917 */
44779 if (UNTAG_Bool(REGB1)) {
44780 fprintf(stderr, "Reciever is null");
44781 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7917);
44782 nit_exit(1);
44783 }
44784 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
44785 REGB1 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
44786 /* ./parser//parser_prod.nit:7918 */
44787 if (UNTAG_Bool(REGB1)) {
44788 } else {
44789 fprintf(stderr, "Assert failed");
44790 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7918);
44791 nit_exit(1);
44792 }
44793 /* ./parser//parser_prod.nit:7919 */
44794 ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0]) = fra.me.REG[2];
44795 } else {
44796 /* ./parser//parser_prod.nit:7921 */
44797 fprintf(stderr, "Aborted");
44798 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7921);
44799 nit_exit(1);
44800 }
44801 /* ./parser//parser_prod.nit:7923 */
44802 goto label1;
44803 }
44804 REGB1 = TAG_Bool(ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0])!=NIT_NULL);
44805 /* ./parser//parser_prod.nit:7925 */
44806 if (UNTAG_Bool(REGB1)) {
44807 } else {
44808 fprintf(stderr, "Uninitialized attribute %s", "_n_value");
44809 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7925);
44810 nit_exit(1);
44811 }
44812 fra.me.REG[3] = ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0]);
44813 REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
44814 if (UNTAG_Bool(REGB1)) {
44815 } else {
44816 REGB0 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
44817 REGB1 = REGB0;
44818 }
44819 if (UNTAG_Bool(REGB1)) {
44820 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
44821 /* ./parser//parser_prod.nit:7926 */
44822 if (UNTAG_Bool(REGB1)) {
44823 } else {
44824 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
44825 if (UNTAG_Bool(REGB0)) {
44826 REGB0 = TAG_Bool(false);
44827 REGB1 = REGB0;
44828 } else {
44829 REGB0 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
44830 REGB1 = REGB0;
44831 }
44832 }
44833 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
44834 if (UNTAG_Bool(REGB1)) {
44835 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
44836 /* ./parser//parser_prod.nit:7927 */
44837 if (UNTAG_Bool(REGB1)) {
44838 fprintf(stderr, "Reciever is null");
44839 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7927);
44840 nit_exit(1);
44841 }
44842 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
44843 REGB1 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
44844 /* ./parser//parser_prod.nit:7928 */
44845 if (UNTAG_Bool(REGB1)) {
44846 } else {
44847 fprintf(stderr, "Assert failed");
44848 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7928);
44849 nit_exit(1);
44850 }
44851 /* ./parser//parser_prod.nit:7929 */
44852 ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0]) = fra.me.REG[2];
44853 } else {
44854 /* ./parser//parser_prod.nit:7931 */
44855 fprintf(stderr, "Aborted");
44856 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7931);
44857 nit_exit(1);
44858 }
44859 /* ./parser//parser_prod.nit:7933 */
44860 goto label1;
44861 }
44862 label1: while(0);
44863 stack_frame_head = fra.me.prev;
44864 return;
44865 }
44866 void parser_prod___ABraAssignExpr___visit_all(val_t p0, val_t p1){
44867 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
44868 val_t REGB0;
44869 val_t tmp;
44870 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44871 fra.me.file = LOCATE_parser_prod;
44872 fra.me.line = 7937;
44873 fra.me.meth = LOCATE_parser_prod___ABraAssignExpr___visit_all;
44874 fra.me.has_broke = 0;
44875 fra.me.REG_size = 4;
44876 fra.me.REG[0] = NIT_NULL;
44877 fra.me.REG[1] = NIT_NULL;
44878 fra.me.REG[2] = NIT_NULL;
44879 fra.me.REG[3] = NIT_NULL;
44880 fra.me.REG[0] = p0;
44881 fra.me.REG[1] = p1;
44882 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
44883 /* ./parser//parser_prod.nit:7939 */
44884 if (UNTAG_Bool(REGB0)) {
44885 } else {
44886 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
44887 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7939);
44888 nit_exit(1);
44889 }
44890 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
44891 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
44892 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
44893 /* ./parser//parser_prod.nit:7940 */
44894 if (UNTAG_Bool(REGB0)) {
44895 } else {
44896 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
44897 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7940);
44898 nit_exit(1);
44899 }
44900 fra.me.REG[2] = ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0]);
44901 fra.me.REG[2] = CALL_abstract_collection___Collection___iterator(fra.me.REG[2])(fra.me.REG[2]);
44902 while(1) {
44903 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[2])(fra.me.REG[2]);
44904 if (UNTAG_Bool(REGB0)) {
44905 fra.me.REG[3] = CALL_abstract_collection___Iterator___item(fra.me.REG[2])(fra.me.REG[2]);
44906 /* ./parser//parser_prod.nit:7941 */
44907 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
44908 } else {
44909 /* ./parser//parser_prod.nit:7940 */
44910 goto label1;
44911 }
44912 CALL_abstract_collection___Iterator___next(fra.me.REG[2])(fra.me.REG[2]);
44913 }
44914 label1: while(0);
44915 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0])!=NIT_NULL);
44916 /* ./parser//parser_prod.nit:7943 */
44917 if (UNTAG_Bool(REGB0)) {
44918 } else {
44919 fprintf(stderr, "Uninitialized attribute %s", "_n_assign");
44920 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7943);
44921 nit_exit(1);
44922 }
44923 fra.me.REG[2] = ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0]);
44924 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
44925 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0])!=NIT_NULL);
44926 /* ./parser//parser_prod.nit:7944 */
44927 if (UNTAG_Bool(REGB0)) {
44928 } else {
44929 fprintf(stderr, "Uninitialized attribute %s", "_n_value");
44930 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7944);
44931 nit_exit(1);
44932 }
44933 fra.me.REG[0] = ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0]);
44934 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
44935 stack_frame_head = fra.me.prev;
44936 return;
44937 }
44938 void parser_prod___ABraAssignExpr___visit_all_reverse(val_t p0, val_t p1){
44939 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
44940 val_t REGB0;
44941 val_t REGB1;
44942 val_t tmp;
44943 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
44944 fra.me.file = LOCATE_parser_prod;
44945 fra.me.line = 7947;
44946 fra.me.meth = LOCATE_parser_prod___ABraAssignExpr___visit_all_reverse;
44947 fra.me.has_broke = 0;
44948 fra.me.REG_size = 3;
44949 fra.me.REG[0] = NIT_NULL;
44950 fra.me.REG[1] = NIT_NULL;
44951 fra.me.REG[2] = NIT_NULL;
44952 fra.me.REG[0] = p0;
44953 fra.me.REG[1] = p1;
44954 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
44955 /* ./parser//parser_prod.nit:7949 */
44956 if (UNTAG_Bool(REGB0)) {
44957 } else {
44958 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
44959 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7949);
44960 nit_exit(1);
44961 }
44962 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
44963 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
44964 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
44965 /* ./parser//parser_prod.nit:7951 */
44966 if (UNTAG_Bool(REGB0)) {
44967 } else {
44968 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
44969 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7951);
44970 nit_exit(1);
44971 }
44972 fra.me.REG[2] = ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0]);
44973 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
44974 /* ./parser//parser_prod.nit:7952 */
44975 while(1) {
44976 REGB1 = TAG_Int(0);
44977 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
44978 /* ./parser//parser_prod.nit:7952 */
44979 if (UNTAG_Bool(REGB1)) {
44980 REGB1 = TAG_Bool(ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
44981 /* ./parser//parser_prod.nit:7953 */
44982 if (UNTAG_Bool(REGB1)) {
44983 } else {
44984 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
44985 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7953);
44986 nit_exit(1);
44987 }
44988 fra.me.REG[2] = ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0]);
44989 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
44990 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
44991 REGB1 = TAG_Int(1);
44992 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
44993 REGB0 = REGB1;
44994 /* ./parser//parser_prod.nit:7954 */
44995 } else {
44996 /* ./parser//parser_prod.nit:7952 */
44997 goto label1;
44998 }
44999 }
45000 label1: while(0);
45001 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0])!=NIT_NULL);
45002 /* ./parser//parser_prod.nit:7957 */
45003 if (UNTAG_Bool(REGB0)) {
45004 } else {
45005 fprintf(stderr, "Uninitialized attribute %s", "_n_assign");
45006 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7957);
45007 nit_exit(1);
45008 }
45009 fra.me.REG[2] = ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0]);
45010 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
45011 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0])!=NIT_NULL);
45012 /* ./parser//parser_prod.nit:7958 */
45013 if (UNTAG_Bool(REGB0)) {
45014 } else {
45015 fprintf(stderr, "Uninitialized attribute %s", "_n_value");
45016 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7958);
45017 nit_exit(1);
45018 }
45019 fra.me.REG[0] = ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0]);
45020 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
45021 stack_frame_head = fra.me.prev;
45022 return;
45023 }
45024 void parser_prod___ABraAssignExpr___empty_init(val_t p0, int* init_table){
45025 int itpos187 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ABraAssignExpr].i;
45026 struct {struct stack_frame_t me;} fra;
45027 val_t tmp;
45028 if (init_table[itpos187]) return;
45029 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45030 fra.me.file = LOCATE_parser_prod;
45031 fra.me.line = 7868;
45032 fra.me.meth = LOCATE_parser_prod___ABraAssignExpr___empty_init;
45033 fra.me.has_broke = 0;
45034 fra.me.REG_size = 1;
45035 fra.me.REG[0] = NIT_NULL;
45036 fra.me.REG[0] = p0;
45037 /* ./parser//parser_prod.nit:7868 */
45038 stack_frame_head = fra.me.prev;
45039 init_table[itpos187] = 1;
45040 return;
45041 }
45042 void parser_prod___ABraAssignExpr___init_abraassignexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, int* init_table){
45043 int itpos188 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ABraAssignExpr].i;
45044 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
45045 val_t REGB0;
45046 val_t tmp;
45047 if (init_table[itpos188]) return;
45048 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45049 fra.me.file = LOCATE_parser_prod;
45050 fra.me.line = 7870;
45051 fra.me.meth = LOCATE_parser_prod___ABraAssignExpr___init_abraassignexpr;
45052 fra.me.has_broke = 0;
45053 fra.me.REG_size = 6;
45054 fra.me.REG[0] = NIT_NULL;
45055 fra.me.REG[1] = NIT_NULL;
45056 fra.me.REG[2] = NIT_NULL;
45057 fra.me.REG[3] = NIT_NULL;
45058 fra.me.REG[4] = NIT_NULL;
45059 fra.me.REG[5] = NIT_NULL;
45060 fra.me.REG[0] = p0;
45061 fra.me.REG[1] = p1;
45062 fra.me.REG[2] = p2;
45063 fra.me.REG[3] = p3;
45064 fra.me.REG[4] = p4;
45065 /* ./parser//parser_prod.nit:7877 */
45066 CALL_parser_prod___ABraAssignExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
45067 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
45068 /* ./parser//parser_prod.nit:7878 */
45069 if (UNTAG_Bool(REGB0)) {
45070 } else {
45071 fprintf(stderr, "Cast failed");
45072 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7878);
45073 nit_exit(1);
45074 }
45075 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
45076 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
45077 /* ./parser//parser_prod.nit:7879 */
45078 if (UNTAG_Bool(REGB0)) {
45079 fprintf(stderr, "Reciever is null");
45080 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7879);
45081 nit_exit(1);
45082 }
45083 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
45084 fra.me.REG[2] = CALL_abstract_collection___Collection___iterator(fra.me.REG[2])(fra.me.REG[2]);
45085 /* ./parser//parser_prod.nit:7880 */
45086 while(1) {
45087 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[2])(fra.me.REG[2]);
45088 if (UNTAG_Bool(REGB0)) {
45089 fra.me.REG[1] = CALL_abstract_collection___Iterator___item(fra.me.REG[2])(fra.me.REG[2]);
45090 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[1], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
45091 /* ./parser//parser_prod.nit:7881 */
45092 if (UNTAG_Bool(REGB0)) {
45093 } else {
45094 fprintf(stderr, "Assert failed");
45095 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7881);
45096 nit_exit(1);
45097 }
45098 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
45099 /* ./parser//parser_prod.nit:7882 */
45100 if (UNTAG_Bool(REGB0)) {
45101 } else {
45102 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
45103 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7882);
45104 nit_exit(1);
45105 }
45106 fra.me.REG[5] = ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0]);
45107 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[1]);
45108 /* ./parser//parser_prod.nit:7883 */
45109 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
45110 } else {
45111 /* ./parser//parser_prod.nit:7880 */
45112 goto label1;
45113 }
45114 CALL_abstract_collection___Iterator___next(fra.me.REG[2])(fra.me.REG[2]);
45115 }
45116 label1: while(0);
45117 REGB0 = TAG_Bool(fra.me.REG[3]!=NIT_NULL);
45118 /* ./parser//parser_prod.nit:7885 */
45119 if (UNTAG_Bool(REGB0)) {
45120 } else {
45121 fprintf(stderr, "Cast failed");
45122 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7885);
45123 nit_exit(1);
45124 }
45125 ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0]) = fra.me.REG[3];
45126 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
45127 /* ./parser//parser_prod.nit:7886 */
45128 if (UNTAG_Bool(REGB0)) {
45129 fprintf(stderr, "Reciever is null");
45130 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7886);
45131 nit_exit(1);
45132 }
45133 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
45134 REGB0 = TAG_Bool(fra.me.REG[4]!=NIT_NULL);
45135 /* ./parser//parser_prod.nit:7887 */
45136 if (UNTAG_Bool(REGB0)) {
45137 } else {
45138 fprintf(stderr, "Cast failed");
45139 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7887);
45140 nit_exit(1);
45141 }
45142 ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0]) = fra.me.REG[4];
45143 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
45144 /* ./parser//parser_prod.nit:7888 */
45145 if (UNTAG_Bool(REGB0)) {
45146 fprintf(stderr, "Reciever is null");
45147 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7888);
45148 nit_exit(1);
45149 }
45150 CALL_parser_prod___ANode___parent__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
45151 stack_frame_head = fra.me.prev;
45152 init_table[itpos188] = 1;
45153 return;
45154 }
45155 void parser_prod___ABraReassignExpr___n_expr__eq(val_t p0, val_t p1){
45156 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
45157 val_t tmp;
45158 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45159 fra.me.file = LOCATE_parser_prod;
45160 fra.me.line = 7962;
45161 fra.me.meth = LOCATE_parser_prod___ABraReassignExpr___n_expr__eq;
45162 fra.me.has_broke = 0;
45163 fra.me.REG_size = 2;
45164 fra.me.REG[0] = NIT_NULL;
45165 fra.me.REG[1] = NIT_NULL;
45166 fra.me.REG[0] = p0;
45167 fra.me.REG[1] = p1;
45168 /* ./parser//parser_prod.nit:7964 */
45169 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
45170 /* ./parser//parser_prod.nit:7965 */
45171 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
45172 stack_frame_head = fra.me.prev;
45173 return;
45174 }
45175 void parser_prod___ABraReassignExpr___n_assign_op__eq(val_t p0, val_t p1){
45176 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
45177 val_t tmp;
45178 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45179 fra.me.file = LOCATE_parser_prod;
45180 fra.me.line = 7967;
45181 fra.me.meth = LOCATE_parser_prod___ABraReassignExpr___n_assign_op__eq;
45182 fra.me.has_broke = 0;
45183 fra.me.REG_size = 2;
45184 fra.me.REG[0] = NIT_NULL;
45185 fra.me.REG[1] = NIT_NULL;
45186 fra.me.REG[0] = p0;
45187 fra.me.REG[1] = p1;
45188 /* ./parser//parser_prod.nit:7969 */
45189 ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0]) = fra.me.REG[1];
45190 /* ./parser//parser_prod.nit:7970 */
45191 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
45192 stack_frame_head = fra.me.prev;
45193 return;
45194 }
45195 void parser_prod___ABraReassignExpr___n_value__eq(val_t p0, val_t p1){
45196 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
45197 val_t tmp;
45198 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45199 fra.me.file = LOCATE_parser_prod;
45200 fra.me.line = 7972;
45201 fra.me.meth = LOCATE_parser_prod___ABraReassignExpr___n_value__eq;
45202 fra.me.has_broke = 0;
45203 fra.me.REG_size = 2;
45204 fra.me.REG[0] = NIT_NULL;
45205 fra.me.REG[1] = NIT_NULL;
45206 fra.me.REG[0] = p0;
45207 fra.me.REG[1] = p1;
45208 /* ./parser//parser_prod.nit:7974 */
45209 ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0]) = fra.me.REG[1];
45210 /* ./parser//parser_prod.nit:7975 */
45211 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
45212 stack_frame_head = fra.me.prev;
45213 return;
45214 }
45215 void parser_prod___ABraReassignExpr___replace_child(val_t p0, val_t p1, val_t p2){
45216 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
45217 val_t REGB0;
45218 val_t REGB1;
45219 val_t REGB2;
45220 val_t tmp;
45221 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45222 fra.me.file = LOCATE_parser_prod;
45223 fra.me.line = 8001;
45224 fra.me.meth = LOCATE_parser_prod___ABraReassignExpr___replace_child;
45225 fra.me.has_broke = 0;
45226 fra.me.REG_size = 5;
45227 fra.me.REG[0] = NIT_NULL;
45228 fra.me.REG[1] = NIT_NULL;
45229 fra.me.REG[2] = NIT_NULL;
45230 fra.me.REG[3] = NIT_NULL;
45231 fra.me.REG[4] = NIT_NULL;
45232 fra.me.REG[0] = p0;
45233 fra.me.REG[1] = p1;
45234 fra.me.REG[2] = p2;
45235 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
45236 /* ./parser//parser_prod.nit:8003 */
45237 if (UNTAG_Bool(REGB0)) {
45238 } else {
45239 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
45240 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8003);
45241 nit_exit(1);
45242 }
45243 fra.me.REG[3] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
45244 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
45245 if (UNTAG_Bool(REGB0)) {
45246 } else {
45247 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
45248 REGB0 = REGB1;
45249 }
45250 if (UNTAG_Bool(REGB0)) {
45251 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
45252 /* ./parser//parser_prod.nit:8004 */
45253 if (UNTAG_Bool(REGB0)) {
45254 } else {
45255 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
45256 if (UNTAG_Bool(REGB1)) {
45257 REGB1 = TAG_Bool(false);
45258 REGB0 = REGB1;
45259 } else {
45260 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
45261 REGB0 = REGB1;
45262 }
45263 }
45264 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
45265 if (UNTAG_Bool(REGB0)) {
45266 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
45267 /* ./parser//parser_prod.nit:8005 */
45268 if (UNTAG_Bool(REGB0)) {
45269 fprintf(stderr, "Reciever is null");
45270 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8005);
45271 nit_exit(1);
45272 }
45273 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
45274 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
45275 /* ./parser//parser_prod.nit:8006 */
45276 if (UNTAG_Bool(REGB0)) {
45277 } else {
45278 fprintf(stderr, "Assert failed");
45279 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8006);
45280 nit_exit(1);
45281 }
45282 /* ./parser//parser_prod.nit:8007 */
45283 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
45284 } else {
45285 /* ./parser//parser_prod.nit:8009 */
45286 fprintf(stderr, "Aborted");
45287 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8009);
45288 nit_exit(1);
45289 }
45290 /* ./parser//parser_prod.nit:8011 */
45291 goto label1;
45292 }
45293 REGB0 = TAG_Int(0);
45294 REGB1 = TAG_Bool(ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
45295 /* ./parser//parser_prod.nit:8013 */
45296 if (UNTAG_Bool(REGB1)) {
45297 } else {
45298 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
45299 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8013);
45300 nit_exit(1);
45301 }
45302 fra.me.REG[3] = ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0]);
45303 REGB1 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
45304 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB0, REGB1);
45305 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
45306 while(1) {
45307 REGB1 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
45308 if (UNTAG_Bool(REGB1)) {
45309 REGB1 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
45310 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
45311 /* ./parser//parser_prod.nit:8014 */
45312 if (UNTAG_Bool(REGB0)) {
45313 } else {
45314 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
45315 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8014);
45316 nit_exit(1);
45317 }
45318 fra.me.REG[4] = ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0]);
45319 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB1);
45320 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[4]));
45321 if (UNTAG_Bool(REGB0)) {
45322 } else {
45323 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
45324 if (UNTAG_Bool(REGB2)) {
45325 REGB2 = TAG_Bool(false);
45326 REGB0 = REGB2;
45327 } else {
45328 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
45329 REGB0 = REGB2;
45330 }
45331 }
45332 if (UNTAG_Bool(REGB0)) {
45333 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
45334 /* ./parser//parser_prod.nit:8015 */
45335 if (UNTAG_Bool(REGB0)) {
45336 } else {
45337 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
45338 if (UNTAG_Bool(REGB2)) {
45339 REGB2 = TAG_Bool(false);
45340 REGB0 = REGB2;
45341 } else {
45342 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
45343 REGB0 = REGB2;
45344 }
45345 }
45346 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
45347 if (UNTAG_Bool(REGB0)) {
45348 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
45349 /* ./parser//parser_prod.nit:8016 */
45350 if (UNTAG_Bool(REGB0)) {
45351 } else {
45352 fprintf(stderr, "Assert failed");
45353 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8016);
45354 nit_exit(1);
45355 }
45356 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
45357 /* ./parser//parser_prod.nit:8017 */
45358 if (UNTAG_Bool(REGB0)) {
45359 } else {
45360 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
45361 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8017);
45362 nit_exit(1);
45363 }
45364 fra.me.REG[4] = ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0]);
45365 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], REGB1, fra.me.REG[2]);
45366 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
45367 /* ./parser//parser_prod.nit:8018 */
45368 if (UNTAG_Bool(REGB0)) {
45369 fprintf(stderr, "Reciever is null");
45370 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8018);
45371 nit_exit(1);
45372 }
45373 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
45374 } else {
45375 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
45376 /* ./parser//parser_prod.nit:8020 */
45377 if (UNTAG_Bool(REGB0)) {
45378 } else {
45379 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
45380 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8020);
45381 nit_exit(1);
45382 }
45383 fra.me.REG[4] = ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0]);
45384 CALL_abstract_collection___Map___remove_at(fra.me.REG[4])(fra.me.REG[4], REGB1);
45385 }
45386 /* ./parser//parser_prod.nit:8022 */
45387 goto label1;
45388 }
45389 } else {
45390 /* ./parser//parser_prod.nit:8013 */
45391 goto label2;
45392 }
45393 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
45394 }
45395 label2: while(0);
45396 REGB1 = TAG_Bool(ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0])!=NIT_NULL);
45397 /* ./parser//parser_prod.nit:8025 */
45398 if (UNTAG_Bool(REGB1)) {
45399 } else {
45400 fprintf(stderr, "Uninitialized attribute %s", "_n_assign_op");
45401 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8025);
45402 nit_exit(1);
45403 }
45404 fra.me.REG[3] = ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0]);
45405 REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
45406 if (UNTAG_Bool(REGB1)) {
45407 } else {
45408 REGB0 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
45409 REGB1 = REGB0;
45410 }
45411 if (UNTAG_Bool(REGB1)) {
45412 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
45413 /* ./parser//parser_prod.nit:8026 */
45414 if (UNTAG_Bool(REGB1)) {
45415 } else {
45416 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
45417 if (UNTAG_Bool(REGB0)) {
45418 REGB0 = TAG_Bool(false);
45419 REGB1 = REGB0;
45420 } else {
45421 REGB0 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
45422 REGB1 = REGB0;
45423 }
45424 }
45425 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
45426 if (UNTAG_Bool(REGB1)) {
45427 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
45428 /* ./parser//parser_prod.nit:8027 */
45429 if (UNTAG_Bool(REGB1)) {
45430 fprintf(stderr, "Reciever is null");
45431 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8027);
45432 nit_exit(1);
45433 }
45434 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
45435 REGB1 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AAssignOp, ID_AAssignOp)) /*cast AAssignOp*/;
45436 /* ./parser//parser_prod.nit:8028 */
45437 if (UNTAG_Bool(REGB1)) {
45438 } else {
45439 fprintf(stderr, "Assert failed");
45440 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8028);
45441 nit_exit(1);
45442 }
45443 /* ./parser//parser_prod.nit:8029 */
45444 ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0]) = fra.me.REG[2];
45445 } else {
45446 /* ./parser//parser_prod.nit:8031 */
45447 fprintf(stderr, "Aborted");
45448 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8031);
45449 nit_exit(1);
45450 }
45451 /* ./parser//parser_prod.nit:8033 */
45452 goto label1;
45453 }
45454 REGB1 = TAG_Bool(ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0])!=NIT_NULL);
45455 /* ./parser//parser_prod.nit:8035 */
45456 if (UNTAG_Bool(REGB1)) {
45457 } else {
45458 fprintf(stderr, "Uninitialized attribute %s", "_n_value");
45459 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8035);
45460 nit_exit(1);
45461 }
45462 fra.me.REG[3] = ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0]);
45463 REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
45464 if (UNTAG_Bool(REGB1)) {
45465 } else {
45466 REGB0 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
45467 REGB1 = REGB0;
45468 }
45469 if (UNTAG_Bool(REGB1)) {
45470 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
45471 /* ./parser//parser_prod.nit:8036 */
45472 if (UNTAG_Bool(REGB1)) {
45473 } else {
45474 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
45475 if (UNTAG_Bool(REGB0)) {
45476 REGB0 = TAG_Bool(false);
45477 REGB1 = REGB0;
45478 } else {
45479 REGB0 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
45480 REGB1 = REGB0;
45481 }
45482 }
45483 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
45484 if (UNTAG_Bool(REGB1)) {
45485 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
45486 /* ./parser//parser_prod.nit:8037 */
45487 if (UNTAG_Bool(REGB1)) {
45488 fprintf(stderr, "Reciever is null");
45489 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8037);
45490 nit_exit(1);
45491 }
45492 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
45493 REGB1 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
45494 /* ./parser//parser_prod.nit:8038 */
45495 if (UNTAG_Bool(REGB1)) {
45496 } else {
45497 fprintf(stderr, "Assert failed");
45498 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8038);
45499 nit_exit(1);
45500 }
45501 /* ./parser//parser_prod.nit:8039 */
45502 ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0]) = fra.me.REG[2];
45503 } else {
45504 /* ./parser//parser_prod.nit:8041 */
45505 fprintf(stderr, "Aborted");
45506 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8041);
45507 nit_exit(1);
45508 }
45509 /* ./parser//parser_prod.nit:8043 */
45510 goto label1;
45511 }
45512 label1: while(0);
45513 stack_frame_head = fra.me.prev;
45514 return;
45515 }
45516 void parser_prod___ABraReassignExpr___visit_all(val_t p0, val_t p1){
45517 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
45518 val_t REGB0;
45519 val_t tmp;
45520 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45521 fra.me.file = LOCATE_parser_prod;
45522 fra.me.line = 8047;
45523 fra.me.meth = LOCATE_parser_prod___ABraReassignExpr___visit_all;
45524 fra.me.has_broke = 0;
45525 fra.me.REG_size = 4;
45526 fra.me.REG[0] = NIT_NULL;
45527 fra.me.REG[1] = NIT_NULL;
45528 fra.me.REG[2] = NIT_NULL;
45529 fra.me.REG[3] = NIT_NULL;
45530 fra.me.REG[0] = p0;
45531 fra.me.REG[1] = p1;
45532 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
45533 /* ./parser//parser_prod.nit:8049 */
45534 if (UNTAG_Bool(REGB0)) {
45535 } else {
45536 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
45537 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8049);
45538 nit_exit(1);
45539 }
45540 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
45541 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
45542 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
45543 /* ./parser//parser_prod.nit:8050 */
45544 if (UNTAG_Bool(REGB0)) {
45545 } else {
45546 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
45547 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8050);
45548 nit_exit(1);
45549 }
45550 fra.me.REG[2] = ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0]);
45551 fra.me.REG[2] = CALL_abstract_collection___Collection___iterator(fra.me.REG[2])(fra.me.REG[2]);
45552 while(1) {
45553 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[2])(fra.me.REG[2]);
45554 if (UNTAG_Bool(REGB0)) {
45555 fra.me.REG[3] = CALL_abstract_collection___Iterator___item(fra.me.REG[2])(fra.me.REG[2]);
45556 /* ./parser//parser_prod.nit:8051 */
45557 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
45558 } else {
45559 /* ./parser//parser_prod.nit:8050 */
45560 goto label1;
45561 }
45562 CALL_abstract_collection___Iterator___next(fra.me.REG[2])(fra.me.REG[2]);
45563 }
45564 label1: while(0);
45565 REGB0 = TAG_Bool(ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0])!=NIT_NULL);
45566 /* ./parser//parser_prod.nit:8053 */
45567 if (UNTAG_Bool(REGB0)) {
45568 } else {
45569 fprintf(stderr, "Uninitialized attribute %s", "_n_assign_op");
45570 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8053);
45571 nit_exit(1);
45572 }
45573 fra.me.REG[2] = ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0]);
45574 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
45575 REGB0 = TAG_Bool(ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0])!=NIT_NULL);
45576 /* ./parser//parser_prod.nit:8054 */
45577 if (UNTAG_Bool(REGB0)) {
45578 } else {
45579 fprintf(stderr, "Uninitialized attribute %s", "_n_value");
45580 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8054);
45581 nit_exit(1);
45582 }
45583 fra.me.REG[0] = ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0]);
45584 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
45585 stack_frame_head = fra.me.prev;
45586 return;
45587 }
45588 void parser_prod___ABraReassignExpr___visit_all_reverse(val_t p0, val_t p1){
45589 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
45590 val_t REGB0;
45591 val_t REGB1;
45592 val_t tmp;
45593 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45594 fra.me.file = LOCATE_parser_prod;
45595 fra.me.line = 8057;
45596 fra.me.meth = LOCATE_parser_prod___ABraReassignExpr___visit_all_reverse;
45597 fra.me.has_broke = 0;
45598 fra.me.REG_size = 3;
45599 fra.me.REG[0] = NIT_NULL;
45600 fra.me.REG[1] = NIT_NULL;
45601 fra.me.REG[2] = NIT_NULL;
45602 fra.me.REG[0] = p0;
45603 fra.me.REG[1] = p1;
45604 REGB0 = TAG_Bool(ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
45605 /* ./parser//parser_prod.nit:8059 */
45606 if (UNTAG_Bool(REGB0)) {
45607 } else {
45608 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
45609 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8059);
45610 nit_exit(1);
45611 }
45612 fra.me.REG[2] = ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]);
45613 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
45614 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
45615 /* ./parser//parser_prod.nit:8061 */
45616 if (UNTAG_Bool(REGB0)) {
45617 } else {
45618 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
45619 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8061);
45620 nit_exit(1);
45621 }
45622 fra.me.REG[2] = ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0]);
45623 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
45624 /* ./parser//parser_prod.nit:8062 */
45625 while(1) {
45626 REGB1 = TAG_Int(0);
45627 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
45628 /* ./parser//parser_prod.nit:8062 */
45629 if (UNTAG_Bool(REGB1)) {
45630 REGB1 = TAG_Bool(ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
45631 /* ./parser//parser_prod.nit:8063 */
45632 if (UNTAG_Bool(REGB1)) {
45633 } else {
45634 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
45635 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8063);
45636 nit_exit(1);
45637 }
45638 fra.me.REG[2] = ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0]);
45639 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
45640 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
45641 REGB1 = TAG_Int(1);
45642 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
45643 REGB0 = REGB1;
45644 /* ./parser//parser_prod.nit:8064 */
45645 } else {
45646 /* ./parser//parser_prod.nit:8062 */
45647 goto label1;
45648 }
45649 }
45650 label1: while(0);
45651 REGB0 = TAG_Bool(ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0])!=NIT_NULL);
45652 /* ./parser//parser_prod.nit:8067 */
45653 if (UNTAG_Bool(REGB0)) {
45654 } else {
45655 fprintf(stderr, "Uninitialized attribute %s", "_n_assign_op");
45656 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8067);
45657 nit_exit(1);
45658 }
45659 fra.me.REG[2] = ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0]);
45660 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
45661 REGB0 = TAG_Bool(ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0])!=NIT_NULL);
45662 /* ./parser//parser_prod.nit:8068 */
45663 if (UNTAG_Bool(REGB0)) {
45664 } else {
45665 fprintf(stderr, "Uninitialized attribute %s", "_n_value");
45666 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8068);
45667 nit_exit(1);
45668 }
45669 fra.me.REG[0] = ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0]);
45670 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
45671 stack_frame_head = fra.me.prev;
45672 return;
45673 }
45674 void parser_prod___ABraReassignExpr___empty_init(val_t p0, int* init_table){
45675 int itpos189 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ABraReassignExpr].i;
45676 struct {struct stack_frame_t me;} fra;
45677 val_t tmp;
45678 if (init_table[itpos189]) return;
45679 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45680 fra.me.file = LOCATE_parser_prod;
45681 fra.me.line = 7978;
45682 fra.me.meth = LOCATE_parser_prod___ABraReassignExpr___empty_init;
45683 fra.me.has_broke = 0;
45684 fra.me.REG_size = 1;
45685 fra.me.REG[0] = NIT_NULL;
45686 fra.me.REG[0] = p0;
45687 /* ./parser//parser_prod.nit:7978 */
45688 stack_frame_head = fra.me.prev;
45689 init_table[itpos189] = 1;
45690 return;
45691 }
45692 void parser_prod___ABraReassignExpr___init_abrareassignexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, int* init_table){
45693 int itpos190 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ABraReassignExpr].i;
45694 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
45695 val_t REGB0;
45696 val_t tmp;
45697 if (init_table[itpos190]) return;
45698 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45699 fra.me.file = LOCATE_parser_prod;
45700 fra.me.line = 7980;
45701 fra.me.meth = LOCATE_parser_prod___ABraReassignExpr___init_abrareassignexpr;
45702 fra.me.has_broke = 0;
45703 fra.me.REG_size = 6;
45704 fra.me.REG[0] = NIT_NULL;
45705 fra.me.REG[1] = NIT_NULL;
45706 fra.me.REG[2] = NIT_NULL;
45707 fra.me.REG[3] = NIT_NULL;
45708 fra.me.REG[4] = NIT_NULL;
45709 fra.me.REG[5] = NIT_NULL;
45710 fra.me.REG[0] = p0;
45711 fra.me.REG[1] = p1;
45712 fra.me.REG[2] = p2;
45713 fra.me.REG[3] = p3;
45714 fra.me.REG[4] = p4;
45715 /* ./parser//parser_prod.nit:7987 */
45716 CALL_parser_prod___ABraReassignExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
45717 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
45718 /* ./parser//parser_prod.nit:7988 */
45719 if (UNTAG_Bool(REGB0)) {
45720 } else {
45721 fprintf(stderr, "Cast failed");
45722 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7988);
45723 nit_exit(1);
45724 }
45725 ATTR_parser_nodes___ASendExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
45726 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
45727 /* ./parser//parser_prod.nit:7989 */
45728 if (UNTAG_Bool(REGB0)) {
45729 fprintf(stderr, "Reciever is null");
45730 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7989);
45731 nit_exit(1);
45732 }
45733 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
45734 fra.me.REG[2] = CALL_abstract_collection___Collection___iterator(fra.me.REG[2])(fra.me.REG[2]);
45735 /* ./parser//parser_prod.nit:7990 */
45736 while(1) {
45737 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[2])(fra.me.REG[2]);
45738 if (UNTAG_Bool(REGB0)) {
45739 fra.me.REG[1] = CALL_abstract_collection___Iterator___item(fra.me.REG[2])(fra.me.REG[2]);
45740 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[1], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
45741 /* ./parser//parser_prod.nit:7991 */
45742 if (UNTAG_Bool(REGB0)) {
45743 } else {
45744 fprintf(stderr, "Assert failed");
45745 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7991);
45746 nit_exit(1);
45747 }
45748 REGB0 = TAG_Bool(ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0])!=NIT_NULL);
45749 /* ./parser//parser_prod.nit:7992 */
45750 if (UNTAG_Bool(REGB0)) {
45751 } else {
45752 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
45753 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7992);
45754 nit_exit(1);
45755 }
45756 fra.me.REG[5] = ATTR_parser_nodes___ABraFormExpr____n_args(fra.me.REG[0]);
45757 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[1]);
45758 /* ./parser//parser_prod.nit:7993 */
45759 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
45760 } else {
45761 /* ./parser//parser_prod.nit:7990 */
45762 goto label1;
45763 }
45764 CALL_abstract_collection___Iterator___next(fra.me.REG[2])(fra.me.REG[2]);
45765 }
45766 label1: while(0);
45767 REGB0 = TAG_Bool(fra.me.REG[3]!=NIT_NULL);
45768 /* ./parser//parser_prod.nit:7995 */
45769 if (UNTAG_Bool(REGB0)) {
45770 } else {
45771 fprintf(stderr, "Cast failed");
45772 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7995);
45773 nit_exit(1);
45774 }
45775 ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0]) = fra.me.REG[3];
45776 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
45777 /* ./parser//parser_prod.nit:7996 */
45778 if (UNTAG_Bool(REGB0)) {
45779 fprintf(stderr, "Reciever is null");
45780 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7996);
45781 nit_exit(1);
45782 }
45783 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
45784 REGB0 = TAG_Bool(fra.me.REG[4]!=NIT_NULL);
45785 /* ./parser//parser_prod.nit:7997 */
45786 if (UNTAG_Bool(REGB0)) {
45787 } else {
45788 fprintf(stderr, "Cast failed");
45789 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7997);
45790 nit_exit(1);
45791 }
45792 ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0]) = fra.me.REG[4];
45793 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
45794 /* ./parser//parser_prod.nit:7998 */
45795 if (UNTAG_Bool(REGB0)) {
45796 fprintf(stderr, "Reciever is null");
45797 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 7998);
45798 nit_exit(1);
45799 }
45800 CALL_parser_prod___ANode___parent__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
45801 stack_frame_head = fra.me.prev;
45802 init_table[itpos190] = 1;
45803 return;
45804 }
45805 void parser_prod___AClosureCallExpr___n_id__eq(val_t p0, val_t p1){
45806 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
45807 val_t tmp;
45808 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45809 fra.me.file = LOCATE_parser_prod;
45810 fra.me.line = 8072;
45811 fra.me.meth = LOCATE_parser_prod___AClosureCallExpr___n_id__eq;
45812 fra.me.has_broke = 0;
45813 fra.me.REG_size = 2;
45814 fra.me.REG[0] = NIT_NULL;
45815 fra.me.REG[1] = NIT_NULL;
45816 fra.me.REG[0] = p0;
45817 fra.me.REG[1] = p1;
45818 /* ./parser//parser_prod.nit:8074 */
45819 ATTR_parser_nodes___AClosureCallExpr____n_id(fra.me.REG[0]) = fra.me.REG[1];
45820 /* ./parser//parser_prod.nit:8075 */
45821 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
45822 stack_frame_head = fra.me.prev;
45823 return;
45824 }
45825 void parser_prod___AClosureCallExpr___replace_child(val_t p0, val_t p1, val_t p2){
45826 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
45827 val_t REGB0;
45828 val_t REGB1;
45829 val_t REGB2;
45830 val_t tmp;
45831 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
45832 fra.me.file = LOCATE_parser_prod;
45833 fra.me.line = 8101;
45834 fra.me.meth = LOCATE_parser_prod___AClosureCallExpr___replace_child;
45835 fra.me.has_broke = 0;
45836 fra.me.REG_size = 5;
45837 fra.me.REG[0] = NIT_NULL;
45838 fra.me.REG[1] = NIT_NULL;
45839 fra.me.REG[2] = NIT_NULL;
45840 fra.me.REG[3] = NIT_NULL;
45841 fra.me.REG[4] = NIT_NULL;
45842 fra.me.REG[0] = p0;
45843 fra.me.REG[1] = p1;
45844 fra.me.REG[2] = p2;
45845 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureCallExpr____n_id(fra.me.REG[0])!=NIT_NULL);
45846 /* ./parser//parser_prod.nit:8103 */
45847 if (UNTAG_Bool(REGB0)) {
45848 } else {
45849 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
45850 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8103);
45851 nit_exit(1);
45852 }
45853 fra.me.REG[3] = ATTR_parser_nodes___AClosureCallExpr____n_id(fra.me.REG[0]);
45854 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
45855 if (UNTAG_Bool(REGB0)) {
45856 } else {
45857 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
45858 REGB0 = REGB1;
45859 }
45860 if (UNTAG_Bool(REGB0)) {
45861 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
45862 /* ./parser//parser_prod.nit:8104 */
45863 if (UNTAG_Bool(REGB0)) {
45864 } else {
45865 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
45866 if (UNTAG_Bool(REGB1)) {
45867 REGB1 = TAG_Bool(false);
45868 REGB0 = REGB1;
45869 } else {
45870 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
45871 REGB0 = REGB1;
45872 }
45873 }
45874 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
45875 if (UNTAG_Bool(REGB0)) {
45876 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
45877 /* ./parser//parser_prod.nit:8105 */
45878 if (UNTAG_Bool(REGB0)) {
45879 fprintf(stderr, "Reciever is null");
45880 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8105);
45881 nit_exit(1);
45882 }
45883 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
45884 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast TId*/;
45885 /* ./parser//parser_prod.nit:8106 */
45886 if (UNTAG_Bool(REGB0)) {
45887 } else {
45888 fprintf(stderr, "Assert failed");
45889 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8106);
45890 nit_exit(1);
45891 }
45892 /* ./parser//parser_prod.nit:8107 */
45893 ATTR_parser_nodes___AClosureCallExpr____n_id(fra.me.REG[0]) = fra.me.REG[2];
45894 } else {
45895 /* ./parser//parser_prod.nit:8109 */
45896 fprintf(stderr, "Aborted");
45897 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8109);
45898 nit_exit(1);
45899 }
45900 /* ./parser//parser_prod.nit:8111 */
45901 goto label1;
45902 }
45903 REGB0 = TAG_Int(0);
45904 REGB1 = TAG_Bool(ATTR_parser_nodes___AClosureCallExpr____n_args(fra.me.REG[0])!=NIT_NULL);
45905 /* ./parser//parser_prod.nit:8113 */
45906 if (UNTAG_Bool(REGB1)) {
45907 } else {
45908 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
45909 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8113);
45910 nit_exit(1);
45911 }
45912 fra.me.REG[3] = ATTR_parser_nodes___AClosureCallExpr____n_args(fra.me.REG[0]);
45913 REGB1 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
45914 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB0, REGB1);
45915 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
45916 while(1) {
45917 REGB1 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
45918 if (UNTAG_Bool(REGB1)) {
45919 REGB1 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
45920 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureCallExpr____n_args(fra.me.REG[0])!=NIT_NULL);
45921 /* ./parser//parser_prod.nit:8114 */
45922 if (UNTAG_Bool(REGB0)) {
45923 } else {
45924 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
45925 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8114);
45926 nit_exit(1);
45927 }
45928 fra.me.REG[4] = ATTR_parser_nodes___AClosureCallExpr____n_args(fra.me.REG[0]);
45929 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB1);
45930 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[4]));
45931 if (UNTAG_Bool(REGB0)) {
45932 } else {
45933 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
45934 if (UNTAG_Bool(REGB2)) {
45935 REGB2 = TAG_Bool(false);
45936 REGB0 = REGB2;
45937 } else {
45938 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
45939 REGB0 = REGB2;
45940 }
45941 }
45942 if (UNTAG_Bool(REGB0)) {
45943 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
45944 /* ./parser//parser_prod.nit:8115 */
45945 if (UNTAG_Bool(REGB0)) {
45946 } else {
45947 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
45948 if (UNTAG_Bool(REGB2)) {
45949 REGB2 = TAG_Bool(false);
45950 REGB0 = REGB2;
45951 } else {
45952 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
45953 REGB0 = REGB2;
45954 }
45955 }
45956 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
45957 if (UNTAG_Bool(REGB0)) {
45958 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
45959 /* ./parser//parser_prod.nit:8116 */
45960 if (UNTAG_Bool(REGB0)) {
45961 } else {
45962 fprintf(stderr, "Assert failed");
45963 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8116);
45964 nit_exit(1);
45965 }
45966 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureCallExpr____n_args(fra.me.REG[0])!=NIT_NULL);
45967 /* ./parser//parser_prod.nit:8117 */
45968 if (UNTAG_Bool(REGB0)) {
45969 } else {
45970 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
45971 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8117);
45972 nit_exit(1);
45973 }
45974 fra.me.REG[4] = ATTR_parser_nodes___AClosureCallExpr____n_args(fra.me.REG[0]);
45975 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], REGB1, fra.me.REG[2]);
45976 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
45977 /* ./parser//parser_prod.nit:8118 */
45978 if (UNTAG_Bool(REGB0)) {
45979 fprintf(stderr, "Reciever is null");
45980 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8118);
45981 nit_exit(1);
45982 }
45983 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
45984 } else {
45985 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureCallExpr____n_args(fra.me.REG[0])!=NIT_NULL);
45986 /* ./parser//parser_prod.nit:8120 */
45987 if (UNTAG_Bool(REGB0)) {
45988 } else {
45989 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
45990 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8120);
45991 nit_exit(1);
45992 }
45993 fra.me.REG[4] = ATTR_parser_nodes___AClosureCallExpr____n_args(fra.me.REG[0]);
45994 CALL_abstract_collection___Map___remove_at(fra.me.REG[4])(fra.me.REG[4], REGB1);
45995 }
45996 /* ./parser//parser_prod.nit:8122 */
45997 goto label1;
45998 }
45999 } else {
46000 /* ./parser//parser_prod.nit:8113 */
46001 goto label2;
46002 }
46003 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
46004 }
46005 label2: while(0);
46006 REGB1 = TAG_Int(0);
46007 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureCallExpr____n_closure_defs(fra.me.REG[0])!=NIT_NULL);
46008 /* ./parser//parser_prod.nit:8125 */
46009 if (UNTAG_Bool(REGB0)) {
46010 } else {
46011 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_defs");
46012 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8125);
46013 nit_exit(1);
46014 }
46015 fra.me.REG[3] = ATTR_parser_nodes___AClosureCallExpr____n_closure_defs(fra.me.REG[0]);
46016 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
46017 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB1, REGB0);
46018 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
46019 while(1) {
46020 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
46021 if (UNTAG_Bool(REGB0)) {
46022 REGB0 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
46023 REGB1 = TAG_Bool(ATTR_parser_nodes___AClosureCallExpr____n_closure_defs(fra.me.REG[0])!=NIT_NULL);
46024 /* ./parser//parser_prod.nit:8126 */
46025 if (UNTAG_Bool(REGB1)) {
46026 } else {
46027 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_defs");
46028 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8126);
46029 nit_exit(1);
46030 }
46031 fra.me.REG[4] = ATTR_parser_nodes___AClosureCallExpr____n_closure_defs(fra.me.REG[0]);
46032 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB0);
46033 REGB1 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[4]));
46034 if (UNTAG_Bool(REGB1)) {
46035 } else {
46036 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
46037 if (UNTAG_Bool(REGB2)) {
46038 REGB2 = TAG_Bool(false);
46039 REGB1 = REGB2;
46040 } else {
46041 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
46042 REGB1 = REGB2;
46043 }
46044 }
46045 if (UNTAG_Bool(REGB1)) {
46046 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
46047 /* ./parser//parser_prod.nit:8127 */
46048 if (UNTAG_Bool(REGB1)) {
46049 } else {
46050 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
46051 if (UNTAG_Bool(REGB2)) {
46052 REGB2 = TAG_Bool(false);
46053 REGB1 = REGB2;
46054 } else {
46055 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
46056 REGB1 = REGB2;
46057 }
46058 }
46059 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
46060 if (UNTAG_Bool(REGB1)) {
46061 REGB1 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AClosureDef, ID_AClosureDef)) /*cast AClosureDef*/;
46062 /* ./parser//parser_prod.nit:8128 */
46063 if (UNTAG_Bool(REGB1)) {
46064 } else {
46065 fprintf(stderr, "Assert failed");
46066 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8128);
46067 nit_exit(1);
46068 }
46069 REGB1 = TAG_Bool(ATTR_parser_nodes___AClosureCallExpr____n_closure_defs(fra.me.REG[0])!=NIT_NULL);
46070 /* ./parser//parser_prod.nit:8129 */
46071 if (UNTAG_Bool(REGB1)) {
46072 } else {
46073 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_defs");
46074 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8129);
46075 nit_exit(1);
46076 }
46077 fra.me.REG[4] = ATTR_parser_nodes___AClosureCallExpr____n_closure_defs(fra.me.REG[0]);
46078 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], REGB0, fra.me.REG[2]);
46079 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
46080 /* ./parser//parser_prod.nit:8130 */
46081 if (UNTAG_Bool(REGB1)) {
46082 fprintf(stderr, "Reciever is null");
46083 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8130);
46084 nit_exit(1);
46085 }
46086 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
46087 } else {
46088 REGB1 = TAG_Bool(ATTR_parser_nodes___AClosureCallExpr____n_closure_defs(fra.me.REG[0])!=NIT_NULL);
46089 /* ./parser//parser_prod.nit:8132 */
46090 if (UNTAG_Bool(REGB1)) {
46091 } else {
46092 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_defs");
46093 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8132);
46094 nit_exit(1);
46095 }
46096 fra.me.REG[4] = ATTR_parser_nodes___AClosureCallExpr____n_closure_defs(fra.me.REG[0]);
46097 CALL_abstract_collection___Map___remove_at(fra.me.REG[4])(fra.me.REG[4], REGB0);
46098 }
46099 /* ./parser//parser_prod.nit:8134 */
46100 goto label1;
46101 }
46102 } else {
46103 /* ./parser//parser_prod.nit:8125 */
46104 goto label3;
46105 }
46106 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
46107 }
46108 label3: while(0);
46109 label1: while(0);
46110 stack_frame_head = fra.me.prev;
46111 return;
46112 }
46113 void parser_prod___AClosureCallExpr___visit_all(val_t p0, val_t p1){
46114 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
46115 val_t REGB0;
46116 val_t tmp;
46117 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46118 fra.me.file = LOCATE_parser_prod;
46119 fra.me.line = 8139;
46120 fra.me.meth = LOCATE_parser_prod___AClosureCallExpr___visit_all;
46121 fra.me.has_broke = 0;
46122 fra.me.REG_size = 4;
46123 fra.me.REG[0] = NIT_NULL;
46124 fra.me.REG[1] = NIT_NULL;
46125 fra.me.REG[2] = NIT_NULL;
46126 fra.me.REG[3] = NIT_NULL;
46127 fra.me.REG[0] = p0;
46128 fra.me.REG[1] = p1;
46129 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureCallExpr____n_id(fra.me.REG[0])!=NIT_NULL);
46130 /* ./parser//parser_prod.nit:8141 */
46131 if (UNTAG_Bool(REGB0)) {
46132 } else {
46133 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
46134 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8141);
46135 nit_exit(1);
46136 }
46137 fra.me.REG[2] = ATTR_parser_nodes___AClosureCallExpr____n_id(fra.me.REG[0]);
46138 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
46139 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureCallExpr____n_args(fra.me.REG[0])!=NIT_NULL);
46140 /* ./parser//parser_prod.nit:8142 */
46141 if (UNTAG_Bool(REGB0)) {
46142 } else {
46143 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
46144 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8142);
46145 nit_exit(1);
46146 }
46147 fra.me.REG[2] = ATTR_parser_nodes___AClosureCallExpr____n_args(fra.me.REG[0]);
46148 fra.me.REG[2] = CALL_abstract_collection___Collection___iterator(fra.me.REG[2])(fra.me.REG[2]);
46149 while(1) {
46150 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[2])(fra.me.REG[2]);
46151 if (UNTAG_Bool(REGB0)) {
46152 fra.me.REG[3] = CALL_abstract_collection___Iterator___item(fra.me.REG[2])(fra.me.REG[2]);
46153 /* ./parser//parser_prod.nit:8143 */
46154 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
46155 } else {
46156 /* ./parser//parser_prod.nit:8142 */
46157 goto label1;
46158 }
46159 CALL_abstract_collection___Iterator___next(fra.me.REG[2])(fra.me.REG[2]);
46160 }
46161 label1: while(0);
46162 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureCallExpr____n_closure_defs(fra.me.REG[0])!=NIT_NULL);
46163 /* ./parser//parser_prod.nit:8145 */
46164 if (UNTAG_Bool(REGB0)) {
46165 } else {
46166 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_defs");
46167 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8145);
46168 nit_exit(1);
46169 }
46170 fra.me.REG[0] = ATTR_parser_nodes___AClosureCallExpr____n_closure_defs(fra.me.REG[0]);
46171 fra.me.REG[0] = CALL_abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
46172 while(1) {
46173 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
46174 if (UNTAG_Bool(REGB0)) {
46175 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
46176 /* ./parser//parser_prod.nit:8146 */
46177 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
46178 } else {
46179 /* ./parser//parser_prod.nit:8145 */
46180 goto label2;
46181 }
46182 CALL_abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
46183 }
46184 label2: while(0);
46185 stack_frame_head = fra.me.prev;
46186 return;
46187 }
46188 void parser_prod___AClosureCallExpr___visit_all_reverse(val_t p0, val_t p1){
46189 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
46190 val_t REGB0;
46191 val_t REGB1;
46192 val_t tmp;
46193 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46194 fra.me.file = LOCATE_parser_prod;
46195 fra.me.line = 8150;
46196 fra.me.meth = LOCATE_parser_prod___AClosureCallExpr___visit_all_reverse;
46197 fra.me.has_broke = 0;
46198 fra.me.REG_size = 3;
46199 fra.me.REG[0] = NIT_NULL;
46200 fra.me.REG[1] = NIT_NULL;
46201 fra.me.REG[2] = NIT_NULL;
46202 fra.me.REG[0] = p0;
46203 fra.me.REG[1] = p1;
46204 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureCallExpr____n_id(fra.me.REG[0])!=NIT_NULL);
46205 /* ./parser//parser_prod.nit:8152 */
46206 if (UNTAG_Bool(REGB0)) {
46207 } else {
46208 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
46209 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8152);
46210 nit_exit(1);
46211 }
46212 fra.me.REG[2] = ATTR_parser_nodes___AClosureCallExpr____n_id(fra.me.REG[0]);
46213 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
46214 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureCallExpr____n_args(fra.me.REG[0])!=NIT_NULL);
46215 /* ./parser//parser_prod.nit:8154 */
46216 if (UNTAG_Bool(REGB0)) {
46217 } else {
46218 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
46219 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8154);
46220 nit_exit(1);
46221 }
46222 fra.me.REG[2] = ATTR_parser_nodes___AClosureCallExpr____n_args(fra.me.REG[0]);
46223 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
46224 /* ./parser//parser_prod.nit:8155 */
46225 while(1) {
46226 REGB1 = TAG_Int(0);
46227 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
46228 /* ./parser//parser_prod.nit:8155 */
46229 if (UNTAG_Bool(REGB1)) {
46230 REGB1 = TAG_Bool(ATTR_parser_nodes___AClosureCallExpr____n_args(fra.me.REG[0])!=NIT_NULL);
46231 /* ./parser//parser_prod.nit:8156 */
46232 if (UNTAG_Bool(REGB1)) {
46233 } else {
46234 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
46235 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8156);
46236 nit_exit(1);
46237 }
46238 fra.me.REG[2] = ATTR_parser_nodes___AClosureCallExpr____n_args(fra.me.REG[0]);
46239 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
46240 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
46241 REGB1 = TAG_Int(1);
46242 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
46243 REGB0 = REGB1;
46244 /* ./parser//parser_prod.nit:8157 */
46245 } else {
46246 /* ./parser//parser_prod.nit:8155 */
46247 goto label1;
46248 }
46249 }
46250 label1: while(0);
46251 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureCallExpr____n_closure_defs(fra.me.REG[0])!=NIT_NULL);
46252 /* ./parser//parser_prod.nit:8161 */
46253 if (UNTAG_Bool(REGB0)) {
46254 } else {
46255 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_defs");
46256 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8161);
46257 nit_exit(1);
46258 }
46259 fra.me.REG[2] = ATTR_parser_nodes___AClosureCallExpr____n_closure_defs(fra.me.REG[0]);
46260 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
46261 /* ./parser//parser_prod.nit:8162 */
46262 while(1) {
46263 REGB1 = TAG_Int(0);
46264 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
46265 /* ./parser//parser_prod.nit:8162 */
46266 if (UNTAG_Bool(REGB1)) {
46267 REGB1 = TAG_Bool(ATTR_parser_nodes___AClosureCallExpr____n_closure_defs(fra.me.REG[0])!=NIT_NULL);
46268 /* ./parser//parser_prod.nit:8163 */
46269 if (UNTAG_Bool(REGB1)) {
46270 } else {
46271 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_defs");
46272 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8163);
46273 nit_exit(1);
46274 }
46275 fra.me.REG[2] = ATTR_parser_nodes___AClosureCallExpr____n_closure_defs(fra.me.REG[0]);
46276 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
46277 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
46278 REGB1 = TAG_Int(1);
46279 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
46280 REGB0 = REGB1;
46281 /* ./parser//parser_prod.nit:8164 */
46282 } else {
46283 /* ./parser//parser_prod.nit:8162 */
46284 goto label2;
46285 }
46286 }
46287 label2: while(0);
46288 stack_frame_head = fra.me.prev;
46289 return;
46290 }
46291 void parser_prod___AClosureCallExpr___empty_init(val_t p0, int* init_table){
46292 int itpos191 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AClosureCallExpr].i;
46293 struct {struct stack_frame_t me;} fra;
46294 val_t tmp;
46295 if (init_table[itpos191]) return;
46296 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46297 fra.me.file = LOCATE_parser_prod;
46298 fra.me.line = 8078;
46299 fra.me.meth = LOCATE_parser_prod___AClosureCallExpr___empty_init;
46300 fra.me.has_broke = 0;
46301 fra.me.REG_size = 1;
46302 fra.me.REG[0] = NIT_NULL;
46303 fra.me.REG[0] = p0;
46304 /* ./parser//parser_prod.nit:8078 */
46305 stack_frame_head = fra.me.prev;
46306 init_table[itpos191] = 1;
46307 return;
46308 }
46309 void parser_prod___AClosureCallExpr___init_aclosurecallexpr(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
46310 int itpos192 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AClosureCallExpr].i;
46311 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
46312 val_t REGB0;
46313 val_t tmp;
46314 if (init_table[itpos192]) return;
46315 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46316 fra.me.file = LOCATE_parser_prod;
46317 fra.me.line = 8080;
46318 fra.me.meth = LOCATE_parser_prod___AClosureCallExpr___init_aclosurecallexpr;
46319 fra.me.has_broke = 0;
46320 fra.me.REG_size = 5;
46321 fra.me.REG[0] = NIT_NULL;
46322 fra.me.REG[1] = NIT_NULL;
46323 fra.me.REG[2] = NIT_NULL;
46324 fra.me.REG[3] = NIT_NULL;
46325 fra.me.REG[4] = NIT_NULL;
46326 fra.me.REG[0] = p0;
46327 fra.me.REG[1] = p1;
46328 fra.me.REG[2] = p2;
46329 fra.me.REG[3] = p3;
46330 /* ./parser//parser_prod.nit:8086 */
46331 CALL_parser_prod___AClosureCallExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
46332 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
46333 /* ./parser//parser_prod.nit:8087 */
46334 if (UNTAG_Bool(REGB0)) {
46335 } else {
46336 fprintf(stderr, "Cast failed");
46337 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8087);
46338 nit_exit(1);
46339 }
46340 ATTR_parser_nodes___AClosureCallExpr____n_id(fra.me.REG[0]) = fra.me.REG[1];
46341 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
46342 /* ./parser//parser_prod.nit:8088 */
46343 if (UNTAG_Bool(REGB0)) {
46344 fprintf(stderr, "Reciever is null");
46345 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8088);
46346 nit_exit(1);
46347 }
46348 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
46349 fra.me.REG[2] = CALL_abstract_collection___Collection___iterator(fra.me.REG[2])(fra.me.REG[2]);
46350 /* ./parser//parser_prod.nit:8089 */
46351 while(1) {
46352 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[2])(fra.me.REG[2]);
46353 if (UNTAG_Bool(REGB0)) {
46354 fra.me.REG[1] = CALL_abstract_collection___Iterator___item(fra.me.REG[2])(fra.me.REG[2]);
46355 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[1], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
46356 /* ./parser//parser_prod.nit:8090 */
46357 if (UNTAG_Bool(REGB0)) {
46358 } else {
46359 fprintf(stderr, "Assert failed");
46360 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8090);
46361 nit_exit(1);
46362 }
46363 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureCallExpr____n_args(fra.me.REG[0])!=NIT_NULL);
46364 /* ./parser//parser_prod.nit:8091 */
46365 if (UNTAG_Bool(REGB0)) {
46366 } else {
46367 fprintf(stderr, "Uninitialized attribute %s", "_n_args");
46368 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8091);
46369 nit_exit(1);
46370 }
46371 fra.me.REG[4] = ATTR_parser_nodes___AClosureCallExpr____n_args(fra.me.REG[0]);
46372 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
46373 /* ./parser//parser_prod.nit:8092 */
46374 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
46375 } else {
46376 /* ./parser//parser_prod.nit:8089 */
46377 goto label1;
46378 }
46379 CALL_abstract_collection___Iterator___next(fra.me.REG[2])(fra.me.REG[2]);
46380 }
46381 label1: while(0);
46382 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
46383 /* ./parser//parser_prod.nit:8094 */
46384 while(1) {
46385 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
46386 if (UNTAG_Bool(REGB0)) {
46387 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
46388 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_AClosureDef, ID_AClosureDef)) /*cast AClosureDef*/;
46389 /* ./parser//parser_prod.nit:8095 */
46390 if (UNTAG_Bool(REGB0)) {
46391 } else {
46392 fprintf(stderr, "Assert failed");
46393 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8095);
46394 nit_exit(1);
46395 }
46396 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureCallExpr____n_closure_defs(fra.me.REG[0])!=NIT_NULL);
46397 /* ./parser//parser_prod.nit:8096 */
46398 if (UNTAG_Bool(REGB0)) {
46399 } else {
46400 fprintf(stderr, "Uninitialized attribute %s", "_n_closure_defs");
46401 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8096);
46402 nit_exit(1);
46403 }
46404 fra.me.REG[1] = ATTR_parser_nodes___AClosureCallExpr____n_closure_defs(fra.me.REG[0]);
46405 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
46406 /* ./parser//parser_prod.nit:8097 */
46407 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
46408 } else {
46409 /* ./parser//parser_prod.nit:8094 */
46410 goto label2;
46411 }
46412 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
46413 }
46414 label2: while(0);
46415 stack_frame_head = fra.me.prev;
46416 init_table[itpos192] = 1;
46417 return;
46418 }
46419 void parser_prod___AVarExpr___n_id__eq(val_t p0, val_t p1){
46420 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
46421 val_t tmp;
46422 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46423 fra.me.file = LOCATE_parser_prod;
46424 fra.me.line = 8170;
46425 fra.me.meth = LOCATE_parser_prod___AVarExpr___n_id__eq;
46426 fra.me.has_broke = 0;
46427 fra.me.REG_size = 2;
46428 fra.me.REG[0] = NIT_NULL;
46429 fra.me.REG[1] = NIT_NULL;
46430 fra.me.REG[0] = p0;
46431 fra.me.REG[1] = p1;
46432 /* ./parser//parser_prod.nit:8172 */
46433 ATTR_parser_nodes___AVarFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[1];
46434 /* ./parser//parser_prod.nit:8173 */
46435 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
46436 stack_frame_head = fra.me.prev;
46437 return;
46438 }
46439 void parser_prod___AVarExpr___replace_child(val_t p0, val_t p1, val_t p2){
46440 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
46441 val_t REGB0;
46442 val_t REGB1;
46443 val_t tmp;
46444 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46445 fra.me.file = LOCATE_parser_prod;
46446 fra.me.line = 8187;
46447 fra.me.meth = LOCATE_parser_prod___AVarExpr___replace_child;
46448 fra.me.has_broke = 0;
46449 fra.me.REG_size = 4;
46450 fra.me.REG[0] = NIT_NULL;
46451 fra.me.REG[1] = NIT_NULL;
46452 fra.me.REG[2] = NIT_NULL;
46453 fra.me.REG[3] = NIT_NULL;
46454 fra.me.REG[0] = p0;
46455 fra.me.REG[1] = p1;
46456 fra.me.REG[2] = p2;
46457 REGB0 = TAG_Bool(ATTR_parser_nodes___AVarFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
46458 /* ./parser//parser_prod.nit:8189 */
46459 if (UNTAG_Bool(REGB0)) {
46460 } else {
46461 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
46462 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8189);
46463 nit_exit(1);
46464 }
46465 fra.me.REG[3] = ATTR_parser_nodes___AVarFormExpr____n_id(fra.me.REG[0]);
46466 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
46467 if (UNTAG_Bool(REGB0)) {
46468 } else {
46469 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
46470 REGB0 = REGB1;
46471 }
46472 if (UNTAG_Bool(REGB0)) {
46473 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
46474 /* ./parser//parser_prod.nit:8190 */
46475 if (UNTAG_Bool(REGB0)) {
46476 } else {
46477 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
46478 if (UNTAG_Bool(REGB1)) {
46479 REGB1 = TAG_Bool(false);
46480 REGB0 = REGB1;
46481 } else {
46482 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
46483 REGB0 = REGB1;
46484 }
46485 }
46486 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
46487 if (UNTAG_Bool(REGB0)) {
46488 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
46489 /* ./parser//parser_prod.nit:8191 */
46490 if (UNTAG_Bool(REGB0)) {
46491 fprintf(stderr, "Reciever is null");
46492 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8191);
46493 nit_exit(1);
46494 }
46495 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
46496 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast TId*/;
46497 /* ./parser//parser_prod.nit:8192 */
46498 if (UNTAG_Bool(REGB0)) {
46499 } else {
46500 fprintf(stderr, "Assert failed");
46501 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8192);
46502 nit_exit(1);
46503 }
46504 /* ./parser//parser_prod.nit:8193 */
46505 ATTR_parser_nodes___AVarFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[2];
46506 } else {
46507 /* ./parser//parser_prod.nit:8195 */
46508 fprintf(stderr, "Aborted");
46509 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8195);
46510 nit_exit(1);
46511 }
46512 /* ./parser//parser_prod.nit:8197 */
46513 goto label1;
46514 }
46515 label1: while(0);
46516 stack_frame_head = fra.me.prev;
46517 return;
46518 }
46519 void parser_prod___AVarExpr___visit_all(val_t p0, val_t p1){
46520 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
46521 val_t REGB0;
46522 val_t tmp;
46523 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46524 fra.me.file = LOCATE_parser_prod;
46525 fra.me.line = 8201;
46526 fra.me.meth = LOCATE_parser_prod___AVarExpr___visit_all;
46527 fra.me.has_broke = 0;
46528 fra.me.REG_size = 2;
46529 fra.me.REG[0] = NIT_NULL;
46530 fra.me.REG[1] = NIT_NULL;
46531 fra.me.REG[0] = p0;
46532 fra.me.REG[1] = p1;
46533 REGB0 = TAG_Bool(ATTR_parser_nodes___AVarFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
46534 /* ./parser//parser_prod.nit:8203 */
46535 if (UNTAG_Bool(REGB0)) {
46536 } else {
46537 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
46538 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8203);
46539 nit_exit(1);
46540 }
46541 fra.me.REG[0] = ATTR_parser_nodes___AVarFormExpr____n_id(fra.me.REG[0]);
46542 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
46543 stack_frame_head = fra.me.prev;
46544 return;
46545 }
46546 void parser_prod___AVarExpr___visit_all_reverse(val_t p0, val_t p1){
46547 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
46548 val_t REGB0;
46549 val_t tmp;
46550 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46551 fra.me.file = LOCATE_parser_prod;
46552 fra.me.line = 8206;
46553 fra.me.meth = LOCATE_parser_prod___AVarExpr___visit_all_reverse;
46554 fra.me.has_broke = 0;
46555 fra.me.REG_size = 2;
46556 fra.me.REG[0] = NIT_NULL;
46557 fra.me.REG[1] = NIT_NULL;
46558 fra.me.REG[0] = p0;
46559 fra.me.REG[1] = p1;
46560 REGB0 = TAG_Bool(ATTR_parser_nodes___AVarFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
46561 /* ./parser//parser_prod.nit:8208 */
46562 if (UNTAG_Bool(REGB0)) {
46563 } else {
46564 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
46565 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8208);
46566 nit_exit(1);
46567 }
46568 fra.me.REG[0] = ATTR_parser_nodes___AVarFormExpr____n_id(fra.me.REG[0]);
46569 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
46570 stack_frame_head = fra.me.prev;
46571 return;
46572 }
46573 void parser_prod___AVarExpr___empty_init(val_t p0, int* init_table){
46574 int itpos193 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AVarExpr].i;
46575 struct {struct stack_frame_t me;} fra;
46576 val_t tmp;
46577 if (init_table[itpos193]) return;
46578 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46579 fra.me.file = LOCATE_parser_prod;
46580 fra.me.line = 8176;
46581 fra.me.meth = LOCATE_parser_prod___AVarExpr___empty_init;
46582 fra.me.has_broke = 0;
46583 fra.me.REG_size = 1;
46584 fra.me.REG[0] = NIT_NULL;
46585 fra.me.REG[0] = p0;
46586 /* ./parser//parser_prod.nit:8176 */
46587 stack_frame_head = fra.me.prev;
46588 init_table[itpos193] = 1;
46589 return;
46590 }
46591 void parser_prod___AVarExpr___init_avarexpr(val_t p0, val_t p1, int* init_table){
46592 int itpos194 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AVarExpr].i;
46593 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
46594 val_t REGB0;
46595 val_t tmp;
46596 if (init_table[itpos194]) return;
46597 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46598 fra.me.file = LOCATE_parser_prod;
46599 fra.me.line = 8178;
46600 fra.me.meth = LOCATE_parser_prod___AVarExpr___init_avarexpr;
46601 fra.me.has_broke = 0;
46602 fra.me.REG_size = 2;
46603 fra.me.REG[0] = NIT_NULL;
46604 fra.me.REG[1] = NIT_NULL;
46605 fra.me.REG[0] = p0;
46606 fra.me.REG[1] = p1;
46607 /* ./parser//parser_prod.nit:8182 */
46608 CALL_parser_prod___AVarExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
46609 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
46610 /* ./parser//parser_prod.nit:8183 */
46611 if (UNTAG_Bool(REGB0)) {
46612 } else {
46613 fprintf(stderr, "Cast failed");
46614 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8183);
46615 nit_exit(1);
46616 }
46617 ATTR_parser_nodes___AVarFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[1];
46618 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
46619 /* ./parser//parser_prod.nit:8184 */
46620 if (UNTAG_Bool(REGB0)) {
46621 fprintf(stderr, "Reciever is null");
46622 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8184);
46623 nit_exit(1);
46624 }
46625 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
46626 stack_frame_head = fra.me.prev;
46627 init_table[itpos194] = 1;
46628 return;
46629 }
46630 void parser_prod___AVarAssignExpr___n_id__eq(val_t p0, val_t p1){
46631 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
46632 val_t tmp;
46633 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46634 fra.me.file = LOCATE_parser_prod;
46635 fra.me.line = 8212;
46636 fra.me.meth = LOCATE_parser_prod___AVarAssignExpr___n_id__eq;
46637 fra.me.has_broke = 0;
46638 fra.me.REG_size = 2;
46639 fra.me.REG[0] = NIT_NULL;
46640 fra.me.REG[1] = NIT_NULL;
46641 fra.me.REG[0] = p0;
46642 fra.me.REG[1] = p1;
46643 /* ./parser//parser_prod.nit:8214 */
46644 ATTR_parser_nodes___AVarFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[1];
46645 /* ./parser//parser_prod.nit:8215 */
46646 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
46647 stack_frame_head = fra.me.prev;
46648 return;
46649 }
46650 void parser_prod___AVarAssignExpr___n_assign__eq(val_t p0, val_t p1){
46651 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
46652 val_t tmp;
46653 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46654 fra.me.file = LOCATE_parser_prod;
46655 fra.me.line = 8217;
46656 fra.me.meth = LOCATE_parser_prod___AVarAssignExpr___n_assign__eq;
46657 fra.me.has_broke = 0;
46658 fra.me.REG_size = 2;
46659 fra.me.REG[0] = NIT_NULL;
46660 fra.me.REG[1] = NIT_NULL;
46661 fra.me.REG[0] = p0;
46662 fra.me.REG[1] = p1;
46663 /* ./parser//parser_prod.nit:8219 */
46664 ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0]) = fra.me.REG[1];
46665 /* ./parser//parser_prod.nit:8220 */
46666 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
46667 stack_frame_head = fra.me.prev;
46668 return;
46669 }
46670 void parser_prod___AVarAssignExpr___n_value__eq(val_t p0, val_t p1){
46671 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
46672 val_t tmp;
46673 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46674 fra.me.file = LOCATE_parser_prod;
46675 fra.me.line = 8222;
46676 fra.me.meth = LOCATE_parser_prod___AVarAssignExpr___n_value__eq;
46677 fra.me.has_broke = 0;
46678 fra.me.REG_size = 2;
46679 fra.me.REG[0] = NIT_NULL;
46680 fra.me.REG[1] = NIT_NULL;
46681 fra.me.REG[0] = p0;
46682 fra.me.REG[1] = p1;
46683 /* ./parser//parser_prod.nit:8224 */
46684 ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0]) = fra.me.REG[1];
46685 /* ./parser//parser_prod.nit:8225 */
46686 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
46687 stack_frame_head = fra.me.prev;
46688 return;
46689 }
46690 void parser_prod___AVarAssignExpr___replace_child(val_t p0, val_t p1, val_t p2){
46691 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
46692 val_t REGB0;
46693 val_t REGB1;
46694 val_t tmp;
46695 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46696 fra.me.file = LOCATE_parser_prod;
46697 fra.me.line = 8245;
46698 fra.me.meth = LOCATE_parser_prod___AVarAssignExpr___replace_child;
46699 fra.me.has_broke = 0;
46700 fra.me.REG_size = 4;
46701 fra.me.REG[0] = NIT_NULL;
46702 fra.me.REG[1] = NIT_NULL;
46703 fra.me.REG[2] = NIT_NULL;
46704 fra.me.REG[3] = NIT_NULL;
46705 fra.me.REG[0] = p0;
46706 fra.me.REG[1] = p1;
46707 fra.me.REG[2] = p2;
46708 REGB0 = TAG_Bool(ATTR_parser_nodes___AVarFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
46709 /* ./parser//parser_prod.nit:8247 */
46710 if (UNTAG_Bool(REGB0)) {
46711 } else {
46712 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
46713 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8247);
46714 nit_exit(1);
46715 }
46716 fra.me.REG[3] = ATTR_parser_nodes___AVarFormExpr____n_id(fra.me.REG[0]);
46717 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
46718 if (UNTAG_Bool(REGB0)) {
46719 } else {
46720 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
46721 REGB0 = REGB1;
46722 }
46723 if (UNTAG_Bool(REGB0)) {
46724 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
46725 /* ./parser//parser_prod.nit:8248 */
46726 if (UNTAG_Bool(REGB0)) {
46727 } else {
46728 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
46729 if (UNTAG_Bool(REGB1)) {
46730 REGB1 = TAG_Bool(false);
46731 REGB0 = REGB1;
46732 } else {
46733 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
46734 REGB0 = REGB1;
46735 }
46736 }
46737 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
46738 if (UNTAG_Bool(REGB0)) {
46739 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
46740 /* ./parser//parser_prod.nit:8249 */
46741 if (UNTAG_Bool(REGB0)) {
46742 fprintf(stderr, "Reciever is null");
46743 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8249);
46744 nit_exit(1);
46745 }
46746 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
46747 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast TId*/;
46748 /* ./parser//parser_prod.nit:8250 */
46749 if (UNTAG_Bool(REGB0)) {
46750 } else {
46751 fprintf(stderr, "Assert failed");
46752 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8250);
46753 nit_exit(1);
46754 }
46755 /* ./parser//parser_prod.nit:8251 */
46756 ATTR_parser_nodes___AVarFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[2];
46757 } else {
46758 /* ./parser//parser_prod.nit:8253 */
46759 fprintf(stderr, "Aborted");
46760 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8253);
46761 nit_exit(1);
46762 }
46763 /* ./parser//parser_prod.nit:8255 */
46764 goto label1;
46765 }
46766 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0])!=NIT_NULL);
46767 /* ./parser//parser_prod.nit:8257 */
46768 if (UNTAG_Bool(REGB0)) {
46769 } else {
46770 fprintf(stderr, "Uninitialized attribute %s", "_n_assign");
46771 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8257);
46772 nit_exit(1);
46773 }
46774 fra.me.REG[3] = ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0]);
46775 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
46776 if (UNTAG_Bool(REGB0)) {
46777 } else {
46778 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
46779 REGB0 = REGB1;
46780 }
46781 if (UNTAG_Bool(REGB0)) {
46782 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
46783 /* ./parser//parser_prod.nit:8258 */
46784 if (UNTAG_Bool(REGB0)) {
46785 } else {
46786 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
46787 if (UNTAG_Bool(REGB1)) {
46788 REGB1 = TAG_Bool(false);
46789 REGB0 = REGB1;
46790 } else {
46791 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
46792 REGB0 = REGB1;
46793 }
46794 }
46795 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
46796 if (UNTAG_Bool(REGB0)) {
46797 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
46798 /* ./parser//parser_prod.nit:8259 */
46799 if (UNTAG_Bool(REGB0)) {
46800 fprintf(stderr, "Reciever is null");
46801 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8259);
46802 nit_exit(1);
46803 }
46804 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
46805 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TAssign, ID_TAssign)) /*cast TAssign*/;
46806 /* ./parser//parser_prod.nit:8260 */
46807 if (UNTAG_Bool(REGB0)) {
46808 } else {
46809 fprintf(stderr, "Assert failed");
46810 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8260);
46811 nit_exit(1);
46812 }
46813 /* ./parser//parser_prod.nit:8261 */
46814 ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0]) = fra.me.REG[2];
46815 } else {
46816 /* ./parser//parser_prod.nit:8263 */
46817 fprintf(stderr, "Aborted");
46818 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8263);
46819 nit_exit(1);
46820 }
46821 /* ./parser//parser_prod.nit:8265 */
46822 goto label1;
46823 }
46824 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0])!=NIT_NULL);
46825 /* ./parser//parser_prod.nit:8267 */
46826 if (UNTAG_Bool(REGB0)) {
46827 } else {
46828 fprintf(stderr, "Uninitialized attribute %s", "_n_value");
46829 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8267);
46830 nit_exit(1);
46831 }
46832 fra.me.REG[3] = ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0]);
46833 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
46834 if (UNTAG_Bool(REGB0)) {
46835 } else {
46836 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
46837 REGB0 = REGB1;
46838 }
46839 if (UNTAG_Bool(REGB0)) {
46840 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
46841 /* ./parser//parser_prod.nit:8268 */
46842 if (UNTAG_Bool(REGB0)) {
46843 } else {
46844 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
46845 if (UNTAG_Bool(REGB1)) {
46846 REGB1 = TAG_Bool(false);
46847 REGB0 = REGB1;
46848 } else {
46849 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
46850 REGB0 = REGB1;
46851 }
46852 }
46853 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
46854 if (UNTAG_Bool(REGB0)) {
46855 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
46856 /* ./parser//parser_prod.nit:8269 */
46857 if (UNTAG_Bool(REGB0)) {
46858 fprintf(stderr, "Reciever is null");
46859 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8269);
46860 nit_exit(1);
46861 }
46862 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
46863 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
46864 /* ./parser//parser_prod.nit:8270 */
46865 if (UNTAG_Bool(REGB0)) {
46866 } else {
46867 fprintf(stderr, "Assert failed");
46868 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8270);
46869 nit_exit(1);
46870 }
46871 /* ./parser//parser_prod.nit:8271 */
46872 ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0]) = fra.me.REG[2];
46873 } else {
46874 /* ./parser//parser_prod.nit:8273 */
46875 fprintf(stderr, "Aborted");
46876 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8273);
46877 nit_exit(1);
46878 }
46879 /* ./parser//parser_prod.nit:8275 */
46880 goto label1;
46881 }
46882 label1: while(0);
46883 stack_frame_head = fra.me.prev;
46884 return;
46885 }
46886 void parser_prod___AVarAssignExpr___visit_all(val_t p0, val_t p1){
46887 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
46888 val_t REGB0;
46889 val_t tmp;
46890 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46891 fra.me.file = LOCATE_parser_prod;
46892 fra.me.line = 8279;
46893 fra.me.meth = LOCATE_parser_prod___AVarAssignExpr___visit_all;
46894 fra.me.has_broke = 0;
46895 fra.me.REG_size = 3;
46896 fra.me.REG[0] = NIT_NULL;
46897 fra.me.REG[1] = NIT_NULL;
46898 fra.me.REG[2] = NIT_NULL;
46899 fra.me.REG[0] = p0;
46900 fra.me.REG[1] = p1;
46901 REGB0 = TAG_Bool(ATTR_parser_nodes___AVarFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
46902 /* ./parser//parser_prod.nit:8281 */
46903 if (UNTAG_Bool(REGB0)) {
46904 } else {
46905 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
46906 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8281);
46907 nit_exit(1);
46908 }
46909 fra.me.REG[2] = ATTR_parser_nodes___AVarFormExpr____n_id(fra.me.REG[0]);
46910 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
46911 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0])!=NIT_NULL);
46912 /* ./parser//parser_prod.nit:8282 */
46913 if (UNTAG_Bool(REGB0)) {
46914 } else {
46915 fprintf(stderr, "Uninitialized attribute %s", "_n_assign");
46916 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8282);
46917 nit_exit(1);
46918 }
46919 fra.me.REG[2] = ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0]);
46920 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
46921 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0])!=NIT_NULL);
46922 /* ./parser//parser_prod.nit:8283 */
46923 if (UNTAG_Bool(REGB0)) {
46924 } else {
46925 fprintf(stderr, "Uninitialized attribute %s", "_n_value");
46926 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8283);
46927 nit_exit(1);
46928 }
46929 fra.me.REG[0] = ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0]);
46930 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
46931 stack_frame_head = fra.me.prev;
46932 return;
46933 }
46934 void parser_prod___AVarAssignExpr___visit_all_reverse(val_t p0, val_t p1){
46935 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
46936 val_t REGB0;
46937 val_t tmp;
46938 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46939 fra.me.file = LOCATE_parser_prod;
46940 fra.me.line = 8286;
46941 fra.me.meth = LOCATE_parser_prod___AVarAssignExpr___visit_all_reverse;
46942 fra.me.has_broke = 0;
46943 fra.me.REG_size = 3;
46944 fra.me.REG[0] = NIT_NULL;
46945 fra.me.REG[1] = NIT_NULL;
46946 fra.me.REG[2] = NIT_NULL;
46947 fra.me.REG[0] = p0;
46948 fra.me.REG[1] = p1;
46949 REGB0 = TAG_Bool(ATTR_parser_nodes___AVarFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
46950 /* ./parser//parser_prod.nit:8288 */
46951 if (UNTAG_Bool(REGB0)) {
46952 } else {
46953 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
46954 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8288);
46955 nit_exit(1);
46956 }
46957 fra.me.REG[2] = ATTR_parser_nodes___AVarFormExpr____n_id(fra.me.REG[0]);
46958 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
46959 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0])!=NIT_NULL);
46960 /* ./parser//parser_prod.nit:8289 */
46961 if (UNTAG_Bool(REGB0)) {
46962 } else {
46963 fprintf(stderr, "Uninitialized attribute %s", "_n_assign");
46964 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8289);
46965 nit_exit(1);
46966 }
46967 fra.me.REG[2] = ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0]);
46968 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
46969 REGB0 = TAG_Bool(ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0])!=NIT_NULL);
46970 /* ./parser//parser_prod.nit:8290 */
46971 if (UNTAG_Bool(REGB0)) {
46972 } else {
46973 fprintf(stderr, "Uninitialized attribute %s", "_n_value");
46974 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8290);
46975 nit_exit(1);
46976 }
46977 fra.me.REG[0] = ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0]);
46978 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
46979 stack_frame_head = fra.me.prev;
46980 return;
46981 }
46982 void parser_prod___AVarAssignExpr___empty_init(val_t p0, int* init_table){
46983 int itpos195 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AVarAssignExpr].i;
46984 struct {struct stack_frame_t me;} fra;
46985 val_t tmp;
46986 if (init_table[itpos195]) return;
46987 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
46988 fra.me.file = LOCATE_parser_prod;
46989 fra.me.line = 8228;
46990 fra.me.meth = LOCATE_parser_prod___AVarAssignExpr___empty_init;
46991 fra.me.has_broke = 0;
46992 fra.me.REG_size = 1;
46993 fra.me.REG[0] = NIT_NULL;
46994 fra.me.REG[0] = p0;
46995 /* ./parser//parser_prod.nit:8228 */
46996 stack_frame_head = fra.me.prev;
46997 init_table[itpos195] = 1;
46998 return;
46999 }
47000 void parser_prod___AVarAssignExpr___init_avarassignexpr(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
47001 int itpos196 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AVarAssignExpr].i;
47002 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
47003 val_t REGB0;
47004 val_t tmp;
47005 if (init_table[itpos196]) return;
47006 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47007 fra.me.file = LOCATE_parser_prod;
47008 fra.me.line = 8230;
47009 fra.me.meth = LOCATE_parser_prod___AVarAssignExpr___init_avarassignexpr;
47010 fra.me.has_broke = 0;
47011 fra.me.REG_size = 4;
47012 fra.me.REG[0] = NIT_NULL;
47013 fra.me.REG[1] = NIT_NULL;
47014 fra.me.REG[2] = NIT_NULL;
47015 fra.me.REG[3] = NIT_NULL;
47016 fra.me.REG[0] = p0;
47017 fra.me.REG[1] = p1;
47018 fra.me.REG[2] = p2;
47019 fra.me.REG[3] = p3;
47020 /* ./parser//parser_prod.nit:8236 */
47021 CALL_parser_prod___AVarAssignExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
47022 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
47023 /* ./parser//parser_prod.nit:8237 */
47024 if (UNTAG_Bool(REGB0)) {
47025 } else {
47026 fprintf(stderr, "Cast failed");
47027 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8237);
47028 nit_exit(1);
47029 }
47030 ATTR_parser_nodes___AVarFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[1];
47031 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
47032 /* ./parser//parser_prod.nit:8238 */
47033 if (UNTAG_Bool(REGB0)) {
47034 fprintf(stderr, "Reciever is null");
47035 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8238);
47036 nit_exit(1);
47037 }
47038 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
47039 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
47040 /* ./parser//parser_prod.nit:8239 */
47041 if (UNTAG_Bool(REGB0)) {
47042 } else {
47043 fprintf(stderr, "Cast failed");
47044 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8239);
47045 nit_exit(1);
47046 }
47047 ATTR_parser_nodes___AAssignFormExpr____n_assign(fra.me.REG[0]) = fra.me.REG[2];
47048 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
47049 /* ./parser//parser_prod.nit:8240 */
47050 if (UNTAG_Bool(REGB0)) {
47051 fprintf(stderr, "Reciever is null");
47052 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8240);
47053 nit_exit(1);
47054 }
47055 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
47056 REGB0 = TAG_Bool(fra.me.REG[3]!=NIT_NULL);
47057 /* ./parser//parser_prod.nit:8241 */
47058 if (UNTAG_Bool(REGB0)) {
47059 } else {
47060 fprintf(stderr, "Cast failed");
47061 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8241);
47062 nit_exit(1);
47063 }
47064 ATTR_parser_nodes___AAssignFormExpr____n_value(fra.me.REG[0]) = fra.me.REG[3];
47065 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
47066 /* ./parser//parser_prod.nit:8242 */
47067 if (UNTAG_Bool(REGB0)) {
47068 fprintf(stderr, "Reciever is null");
47069 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8242);
47070 nit_exit(1);
47071 }
47072 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
47073 stack_frame_head = fra.me.prev;
47074 init_table[itpos196] = 1;
47075 return;
47076 }
47077 void parser_prod___AVarReassignExpr___n_id__eq(val_t p0, val_t p1){
47078 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
47079 val_t tmp;
47080 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47081 fra.me.file = LOCATE_parser_prod;
47082 fra.me.line = 8294;
47083 fra.me.meth = LOCATE_parser_prod___AVarReassignExpr___n_id__eq;
47084 fra.me.has_broke = 0;
47085 fra.me.REG_size = 2;
47086 fra.me.REG[0] = NIT_NULL;
47087 fra.me.REG[1] = NIT_NULL;
47088 fra.me.REG[0] = p0;
47089 fra.me.REG[1] = p1;
47090 /* ./parser//parser_prod.nit:8296 */
47091 ATTR_parser_nodes___AVarFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[1];
47092 /* ./parser//parser_prod.nit:8297 */
47093 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
47094 stack_frame_head = fra.me.prev;
47095 return;
47096 }
47097 void parser_prod___AVarReassignExpr___n_assign_op__eq(val_t p0, val_t p1){
47098 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
47099 val_t tmp;
47100 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47101 fra.me.file = LOCATE_parser_prod;
47102 fra.me.line = 8299;
47103 fra.me.meth = LOCATE_parser_prod___AVarReassignExpr___n_assign_op__eq;
47104 fra.me.has_broke = 0;
47105 fra.me.REG_size = 2;
47106 fra.me.REG[0] = NIT_NULL;
47107 fra.me.REG[1] = NIT_NULL;
47108 fra.me.REG[0] = p0;
47109 fra.me.REG[1] = p1;
47110 /* ./parser//parser_prod.nit:8301 */
47111 ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0]) = fra.me.REG[1];
47112 /* ./parser//parser_prod.nit:8302 */
47113 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
47114 stack_frame_head = fra.me.prev;
47115 return;
47116 }
47117 void parser_prod___AVarReassignExpr___n_value__eq(val_t p0, val_t p1){
47118 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
47119 val_t tmp;
47120 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47121 fra.me.file = LOCATE_parser_prod;
47122 fra.me.line = 8304;
47123 fra.me.meth = LOCATE_parser_prod___AVarReassignExpr___n_value__eq;
47124 fra.me.has_broke = 0;
47125 fra.me.REG_size = 2;
47126 fra.me.REG[0] = NIT_NULL;
47127 fra.me.REG[1] = NIT_NULL;
47128 fra.me.REG[0] = p0;
47129 fra.me.REG[1] = p1;
47130 /* ./parser//parser_prod.nit:8306 */
47131 ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0]) = fra.me.REG[1];
47132 /* ./parser//parser_prod.nit:8307 */
47133 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
47134 stack_frame_head = fra.me.prev;
47135 return;
47136 }
47137 void parser_prod___AVarReassignExpr___replace_child(val_t p0, val_t p1, val_t p2){
47138 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
47139 val_t REGB0;
47140 val_t REGB1;
47141 val_t tmp;
47142 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47143 fra.me.file = LOCATE_parser_prod;
47144 fra.me.line = 8327;
47145 fra.me.meth = LOCATE_parser_prod___AVarReassignExpr___replace_child;
47146 fra.me.has_broke = 0;
47147 fra.me.REG_size = 4;
47148 fra.me.REG[0] = NIT_NULL;
47149 fra.me.REG[1] = NIT_NULL;
47150 fra.me.REG[2] = NIT_NULL;
47151 fra.me.REG[3] = NIT_NULL;
47152 fra.me.REG[0] = p0;
47153 fra.me.REG[1] = p1;
47154 fra.me.REG[2] = p2;
47155 REGB0 = TAG_Bool(ATTR_parser_nodes___AVarFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
47156 /* ./parser//parser_prod.nit:8329 */
47157 if (UNTAG_Bool(REGB0)) {
47158 } else {
47159 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
47160 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8329);
47161 nit_exit(1);
47162 }
47163 fra.me.REG[3] = ATTR_parser_nodes___AVarFormExpr____n_id(fra.me.REG[0]);
47164 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
47165 if (UNTAG_Bool(REGB0)) {
47166 } else {
47167 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
47168 REGB0 = REGB1;
47169 }
47170 if (UNTAG_Bool(REGB0)) {
47171 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
47172 /* ./parser//parser_prod.nit:8330 */
47173 if (UNTAG_Bool(REGB0)) {
47174 } else {
47175 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
47176 if (UNTAG_Bool(REGB1)) {
47177 REGB1 = TAG_Bool(false);
47178 REGB0 = REGB1;
47179 } else {
47180 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
47181 REGB0 = REGB1;
47182 }
47183 }
47184 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
47185 if (UNTAG_Bool(REGB0)) {
47186 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
47187 /* ./parser//parser_prod.nit:8331 */
47188 if (UNTAG_Bool(REGB0)) {
47189 fprintf(stderr, "Reciever is null");
47190 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8331);
47191 nit_exit(1);
47192 }
47193 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
47194 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast TId*/;
47195 /* ./parser//parser_prod.nit:8332 */
47196 if (UNTAG_Bool(REGB0)) {
47197 } else {
47198 fprintf(stderr, "Assert failed");
47199 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8332);
47200 nit_exit(1);
47201 }
47202 /* ./parser//parser_prod.nit:8333 */
47203 ATTR_parser_nodes___AVarFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[2];
47204 } else {
47205 /* ./parser//parser_prod.nit:8335 */
47206 fprintf(stderr, "Aborted");
47207 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8335);
47208 nit_exit(1);
47209 }
47210 /* ./parser//parser_prod.nit:8337 */
47211 goto label1;
47212 }
47213 REGB0 = TAG_Bool(ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0])!=NIT_NULL);
47214 /* ./parser//parser_prod.nit:8339 */
47215 if (UNTAG_Bool(REGB0)) {
47216 } else {
47217 fprintf(stderr, "Uninitialized attribute %s", "_n_assign_op");
47218 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8339);
47219 nit_exit(1);
47220 }
47221 fra.me.REG[3] = ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0]);
47222 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
47223 if (UNTAG_Bool(REGB0)) {
47224 } else {
47225 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
47226 REGB0 = REGB1;
47227 }
47228 if (UNTAG_Bool(REGB0)) {
47229 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
47230 /* ./parser//parser_prod.nit:8340 */
47231 if (UNTAG_Bool(REGB0)) {
47232 } else {
47233 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
47234 if (UNTAG_Bool(REGB1)) {
47235 REGB1 = TAG_Bool(false);
47236 REGB0 = REGB1;
47237 } else {
47238 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
47239 REGB0 = REGB1;
47240 }
47241 }
47242 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
47243 if (UNTAG_Bool(REGB0)) {
47244 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
47245 /* ./parser//parser_prod.nit:8341 */
47246 if (UNTAG_Bool(REGB0)) {
47247 fprintf(stderr, "Reciever is null");
47248 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8341);
47249 nit_exit(1);
47250 }
47251 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
47252 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AAssignOp, ID_AAssignOp)) /*cast AAssignOp*/;
47253 /* ./parser//parser_prod.nit:8342 */
47254 if (UNTAG_Bool(REGB0)) {
47255 } else {
47256 fprintf(stderr, "Assert failed");
47257 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8342);
47258 nit_exit(1);
47259 }
47260 /* ./parser//parser_prod.nit:8343 */
47261 ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0]) = fra.me.REG[2];
47262 } else {
47263 /* ./parser//parser_prod.nit:8345 */
47264 fprintf(stderr, "Aborted");
47265 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8345);
47266 nit_exit(1);
47267 }
47268 /* ./parser//parser_prod.nit:8347 */
47269 goto label1;
47270 }
47271 REGB0 = TAG_Bool(ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0])!=NIT_NULL);
47272 /* ./parser//parser_prod.nit:8349 */
47273 if (UNTAG_Bool(REGB0)) {
47274 } else {
47275 fprintf(stderr, "Uninitialized attribute %s", "_n_value");
47276 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8349);
47277 nit_exit(1);
47278 }
47279 fra.me.REG[3] = ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0]);
47280 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
47281 if (UNTAG_Bool(REGB0)) {
47282 } else {
47283 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
47284 REGB0 = REGB1;
47285 }
47286 if (UNTAG_Bool(REGB0)) {
47287 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
47288 /* ./parser//parser_prod.nit:8350 */
47289 if (UNTAG_Bool(REGB0)) {
47290 } else {
47291 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
47292 if (UNTAG_Bool(REGB1)) {
47293 REGB1 = TAG_Bool(false);
47294 REGB0 = REGB1;
47295 } else {
47296 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
47297 REGB0 = REGB1;
47298 }
47299 }
47300 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
47301 if (UNTAG_Bool(REGB0)) {
47302 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
47303 /* ./parser//parser_prod.nit:8351 */
47304 if (UNTAG_Bool(REGB0)) {
47305 fprintf(stderr, "Reciever is null");
47306 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8351);
47307 nit_exit(1);
47308 }
47309 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
47310 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
47311 /* ./parser//parser_prod.nit:8352 */
47312 if (UNTAG_Bool(REGB0)) {
47313 } else {
47314 fprintf(stderr, "Assert failed");
47315 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8352);
47316 nit_exit(1);
47317 }
47318 /* ./parser//parser_prod.nit:8353 */
47319 ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0]) = fra.me.REG[2];
47320 } else {
47321 /* ./parser//parser_prod.nit:8355 */
47322 fprintf(stderr, "Aborted");
47323 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8355);
47324 nit_exit(1);
47325 }
47326 /* ./parser//parser_prod.nit:8357 */
47327 goto label1;
47328 }
47329 label1: while(0);
47330 stack_frame_head = fra.me.prev;
47331 return;
47332 }
47333 void parser_prod___AVarReassignExpr___visit_all(val_t p0, val_t p1){
47334 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
47335 val_t REGB0;
47336 val_t tmp;
47337 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47338 fra.me.file = LOCATE_parser_prod;
47339 fra.me.line = 8361;
47340 fra.me.meth = LOCATE_parser_prod___AVarReassignExpr___visit_all;
47341 fra.me.has_broke = 0;
47342 fra.me.REG_size = 3;
47343 fra.me.REG[0] = NIT_NULL;
47344 fra.me.REG[1] = NIT_NULL;
47345 fra.me.REG[2] = NIT_NULL;
47346 fra.me.REG[0] = p0;
47347 fra.me.REG[1] = p1;
47348 REGB0 = TAG_Bool(ATTR_parser_nodes___AVarFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
47349 /* ./parser//parser_prod.nit:8363 */
47350 if (UNTAG_Bool(REGB0)) {
47351 } else {
47352 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
47353 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8363);
47354 nit_exit(1);
47355 }
47356 fra.me.REG[2] = ATTR_parser_nodes___AVarFormExpr____n_id(fra.me.REG[0]);
47357 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
47358 REGB0 = TAG_Bool(ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0])!=NIT_NULL);
47359 /* ./parser//parser_prod.nit:8364 */
47360 if (UNTAG_Bool(REGB0)) {
47361 } else {
47362 fprintf(stderr, "Uninitialized attribute %s", "_n_assign_op");
47363 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8364);
47364 nit_exit(1);
47365 }
47366 fra.me.REG[2] = ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0]);
47367 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
47368 REGB0 = TAG_Bool(ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0])!=NIT_NULL);
47369 /* ./parser//parser_prod.nit:8365 */
47370 if (UNTAG_Bool(REGB0)) {
47371 } else {
47372 fprintf(stderr, "Uninitialized attribute %s", "_n_value");
47373 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8365);
47374 nit_exit(1);
47375 }
47376 fra.me.REG[0] = ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0]);
47377 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
47378 stack_frame_head = fra.me.prev;
47379 return;
47380 }
47381 void parser_prod___AVarReassignExpr___visit_all_reverse(val_t p0, val_t p1){
47382 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
47383 val_t REGB0;
47384 val_t tmp;
47385 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47386 fra.me.file = LOCATE_parser_prod;
47387 fra.me.line = 8368;
47388 fra.me.meth = LOCATE_parser_prod___AVarReassignExpr___visit_all_reverse;
47389 fra.me.has_broke = 0;
47390 fra.me.REG_size = 3;
47391 fra.me.REG[0] = NIT_NULL;
47392 fra.me.REG[1] = NIT_NULL;
47393 fra.me.REG[2] = NIT_NULL;
47394 fra.me.REG[0] = p0;
47395 fra.me.REG[1] = p1;
47396 REGB0 = TAG_Bool(ATTR_parser_nodes___AVarFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
47397 /* ./parser//parser_prod.nit:8370 */
47398 if (UNTAG_Bool(REGB0)) {
47399 } else {
47400 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
47401 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8370);
47402 nit_exit(1);
47403 }
47404 fra.me.REG[2] = ATTR_parser_nodes___AVarFormExpr____n_id(fra.me.REG[0]);
47405 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
47406 REGB0 = TAG_Bool(ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0])!=NIT_NULL);
47407 /* ./parser//parser_prod.nit:8371 */
47408 if (UNTAG_Bool(REGB0)) {
47409 } else {
47410 fprintf(stderr, "Uninitialized attribute %s", "_n_assign_op");
47411 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8371);
47412 nit_exit(1);
47413 }
47414 fra.me.REG[2] = ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0]);
47415 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
47416 REGB0 = TAG_Bool(ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0])!=NIT_NULL);
47417 /* ./parser//parser_prod.nit:8372 */
47418 if (UNTAG_Bool(REGB0)) {
47419 } else {
47420 fprintf(stderr, "Uninitialized attribute %s", "_n_value");
47421 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8372);
47422 nit_exit(1);
47423 }
47424 fra.me.REG[0] = ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0]);
47425 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
47426 stack_frame_head = fra.me.prev;
47427 return;
47428 }
47429 void parser_prod___AVarReassignExpr___empty_init(val_t p0, int* init_table){
47430 int itpos197 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AVarReassignExpr].i;
47431 struct {struct stack_frame_t me;} fra;
47432 val_t tmp;
47433 if (init_table[itpos197]) return;
47434 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47435 fra.me.file = LOCATE_parser_prod;
47436 fra.me.line = 8310;
47437 fra.me.meth = LOCATE_parser_prod___AVarReassignExpr___empty_init;
47438 fra.me.has_broke = 0;
47439 fra.me.REG_size = 1;
47440 fra.me.REG[0] = NIT_NULL;
47441 fra.me.REG[0] = p0;
47442 /* ./parser//parser_prod.nit:8310 */
47443 stack_frame_head = fra.me.prev;
47444 init_table[itpos197] = 1;
47445 return;
47446 }
47447 void parser_prod___AVarReassignExpr___init_avarreassignexpr(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
47448 int itpos198 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AVarReassignExpr].i;
47449 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
47450 val_t REGB0;
47451 val_t tmp;
47452 if (init_table[itpos198]) return;
47453 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47454 fra.me.file = LOCATE_parser_prod;
47455 fra.me.line = 8312;
47456 fra.me.meth = LOCATE_parser_prod___AVarReassignExpr___init_avarreassignexpr;
47457 fra.me.has_broke = 0;
47458 fra.me.REG_size = 4;
47459 fra.me.REG[0] = NIT_NULL;
47460 fra.me.REG[1] = NIT_NULL;
47461 fra.me.REG[2] = NIT_NULL;
47462 fra.me.REG[3] = NIT_NULL;
47463 fra.me.REG[0] = p0;
47464 fra.me.REG[1] = p1;
47465 fra.me.REG[2] = p2;
47466 fra.me.REG[3] = p3;
47467 /* ./parser//parser_prod.nit:8318 */
47468 CALL_parser_prod___AVarReassignExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
47469 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
47470 /* ./parser//parser_prod.nit:8319 */
47471 if (UNTAG_Bool(REGB0)) {
47472 } else {
47473 fprintf(stderr, "Cast failed");
47474 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8319);
47475 nit_exit(1);
47476 }
47477 ATTR_parser_nodes___AVarFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[1];
47478 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
47479 /* ./parser//parser_prod.nit:8320 */
47480 if (UNTAG_Bool(REGB0)) {
47481 fprintf(stderr, "Reciever is null");
47482 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8320);
47483 nit_exit(1);
47484 }
47485 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
47486 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
47487 /* ./parser//parser_prod.nit:8321 */
47488 if (UNTAG_Bool(REGB0)) {
47489 } else {
47490 fprintf(stderr, "Cast failed");
47491 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8321);
47492 nit_exit(1);
47493 }
47494 ATTR_parser_nodes___AReassignFormExpr____n_assign_op(fra.me.REG[0]) = fra.me.REG[2];
47495 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
47496 /* ./parser//parser_prod.nit:8322 */
47497 if (UNTAG_Bool(REGB0)) {
47498 fprintf(stderr, "Reciever is null");
47499 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8322);
47500 nit_exit(1);
47501 }
47502 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
47503 REGB0 = TAG_Bool(fra.me.REG[3]!=NIT_NULL);
47504 /* ./parser//parser_prod.nit:8323 */
47505 if (UNTAG_Bool(REGB0)) {
47506 } else {
47507 fprintf(stderr, "Cast failed");
47508 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8323);
47509 nit_exit(1);
47510 }
47511 ATTR_parser_nodes___AReassignFormExpr____n_value(fra.me.REG[0]) = fra.me.REG[3];
47512 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
47513 /* ./parser//parser_prod.nit:8324 */
47514 if (UNTAG_Bool(REGB0)) {
47515 fprintf(stderr, "Reciever is null");
47516 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8324);
47517 nit_exit(1);
47518 }
47519 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
47520 stack_frame_head = fra.me.prev;
47521 init_table[itpos198] = 1;
47522 return;
47523 }
47524 void parser_prod___ARangeExpr___n_expr__eq(val_t p0, val_t p1){
47525 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
47526 val_t tmp;
47527 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47528 fra.me.file = LOCATE_parser_prod;
47529 fra.me.line = 8376;
47530 fra.me.meth = LOCATE_parser_prod___ARangeExpr___n_expr__eq;
47531 fra.me.has_broke = 0;
47532 fra.me.REG_size = 2;
47533 fra.me.REG[0] = NIT_NULL;
47534 fra.me.REG[1] = NIT_NULL;
47535 fra.me.REG[0] = p0;
47536 fra.me.REG[1] = p1;
47537 /* ./parser//parser_prod.nit:8378 */
47538 ATTR_parser_nodes___ARangeExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
47539 /* ./parser//parser_prod.nit:8379 */
47540 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
47541 stack_frame_head = fra.me.prev;
47542 return;
47543 }
47544 void parser_prod___ARangeExpr___n_expr2__eq(val_t p0, val_t p1){
47545 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
47546 val_t tmp;
47547 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47548 fra.me.file = LOCATE_parser_prod;
47549 fra.me.line = 8381;
47550 fra.me.meth = LOCATE_parser_prod___ARangeExpr___n_expr2__eq;
47551 fra.me.has_broke = 0;
47552 fra.me.REG_size = 2;
47553 fra.me.REG[0] = NIT_NULL;
47554 fra.me.REG[1] = NIT_NULL;
47555 fra.me.REG[0] = p0;
47556 fra.me.REG[1] = p1;
47557 /* ./parser//parser_prod.nit:8383 */
47558 ATTR_parser_nodes___ARangeExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[1];
47559 /* ./parser//parser_prod.nit:8384 */
47560 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
47561 stack_frame_head = fra.me.prev;
47562 return;
47563 }
47564 void parser_prod___ARangeExpr___replace_child(val_t p0, val_t p1, val_t p2){
47565 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
47566 val_t REGB0;
47567 val_t REGB1;
47568 val_t tmp;
47569 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47570 fra.me.file = LOCATE_parser_prod;
47571 fra.me.line = 8401;
47572 fra.me.meth = LOCATE_parser_prod___ARangeExpr___replace_child;
47573 fra.me.has_broke = 0;
47574 fra.me.REG_size = 4;
47575 fra.me.REG[0] = NIT_NULL;
47576 fra.me.REG[1] = NIT_NULL;
47577 fra.me.REG[2] = NIT_NULL;
47578 fra.me.REG[3] = NIT_NULL;
47579 fra.me.REG[0] = p0;
47580 fra.me.REG[1] = p1;
47581 fra.me.REG[2] = p2;
47582 REGB0 = TAG_Bool(ATTR_parser_nodes___ARangeExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
47583 /* ./parser//parser_prod.nit:8403 */
47584 if (UNTAG_Bool(REGB0)) {
47585 } else {
47586 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
47587 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8403);
47588 nit_exit(1);
47589 }
47590 fra.me.REG[3] = ATTR_parser_nodes___ARangeExpr____n_expr(fra.me.REG[0]);
47591 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
47592 if (UNTAG_Bool(REGB0)) {
47593 } else {
47594 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
47595 REGB0 = REGB1;
47596 }
47597 if (UNTAG_Bool(REGB0)) {
47598 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
47599 /* ./parser//parser_prod.nit:8404 */
47600 if (UNTAG_Bool(REGB0)) {
47601 } else {
47602 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
47603 if (UNTAG_Bool(REGB1)) {
47604 REGB1 = TAG_Bool(false);
47605 REGB0 = REGB1;
47606 } else {
47607 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
47608 REGB0 = REGB1;
47609 }
47610 }
47611 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
47612 if (UNTAG_Bool(REGB0)) {
47613 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
47614 /* ./parser//parser_prod.nit:8405 */
47615 if (UNTAG_Bool(REGB0)) {
47616 fprintf(stderr, "Reciever is null");
47617 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8405);
47618 nit_exit(1);
47619 }
47620 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
47621 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
47622 /* ./parser//parser_prod.nit:8406 */
47623 if (UNTAG_Bool(REGB0)) {
47624 } else {
47625 fprintf(stderr, "Assert failed");
47626 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8406);
47627 nit_exit(1);
47628 }
47629 /* ./parser//parser_prod.nit:8407 */
47630 ATTR_parser_nodes___ARangeExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
47631 } else {
47632 /* ./parser//parser_prod.nit:8409 */
47633 fprintf(stderr, "Aborted");
47634 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8409);
47635 nit_exit(1);
47636 }
47637 /* ./parser//parser_prod.nit:8411 */
47638 goto label1;
47639 }
47640 REGB0 = TAG_Bool(ATTR_parser_nodes___ARangeExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
47641 /* ./parser//parser_prod.nit:8413 */
47642 if (UNTAG_Bool(REGB0)) {
47643 } else {
47644 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
47645 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8413);
47646 nit_exit(1);
47647 }
47648 fra.me.REG[3] = ATTR_parser_nodes___ARangeExpr____n_expr2(fra.me.REG[0]);
47649 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
47650 if (UNTAG_Bool(REGB0)) {
47651 } else {
47652 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
47653 REGB0 = REGB1;
47654 }
47655 if (UNTAG_Bool(REGB0)) {
47656 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
47657 /* ./parser//parser_prod.nit:8414 */
47658 if (UNTAG_Bool(REGB0)) {
47659 } else {
47660 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
47661 if (UNTAG_Bool(REGB1)) {
47662 REGB1 = TAG_Bool(false);
47663 REGB0 = REGB1;
47664 } else {
47665 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
47666 REGB0 = REGB1;
47667 }
47668 }
47669 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
47670 if (UNTAG_Bool(REGB0)) {
47671 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
47672 /* ./parser//parser_prod.nit:8415 */
47673 if (UNTAG_Bool(REGB0)) {
47674 fprintf(stderr, "Reciever is null");
47675 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8415);
47676 nit_exit(1);
47677 }
47678 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
47679 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
47680 /* ./parser//parser_prod.nit:8416 */
47681 if (UNTAG_Bool(REGB0)) {
47682 } else {
47683 fprintf(stderr, "Assert failed");
47684 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8416);
47685 nit_exit(1);
47686 }
47687 /* ./parser//parser_prod.nit:8417 */
47688 ATTR_parser_nodes___ARangeExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
47689 } else {
47690 /* ./parser//parser_prod.nit:8419 */
47691 fprintf(stderr, "Aborted");
47692 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8419);
47693 nit_exit(1);
47694 }
47695 /* ./parser//parser_prod.nit:8421 */
47696 goto label1;
47697 }
47698 label1: while(0);
47699 stack_frame_head = fra.me.prev;
47700 return;
47701 }
47702 void parser_prod___ARangeExpr___visit_all(val_t p0, val_t p1){
47703 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
47704 val_t REGB0;
47705 val_t tmp;
47706 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47707 fra.me.file = LOCATE_parser_prod;
47708 fra.me.line = 8425;
47709 fra.me.meth = LOCATE_parser_prod___ARangeExpr___visit_all;
47710 fra.me.has_broke = 0;
47711 fra.me.REG_size = 3;
47712 fra.me.REG[0] = NIT_NULL;
47713 fra.me.REG[1] = NIT_NULL;
47714 fra.me.REG[2] = NIT_NULL;
47715 fra.me.REG[0] = p0;
47716 fra.me.REG[1] = p1;
47717 REGB0 = TAG_Bool(ATTR_parser_nodes___ARangeExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
47718 /* ./parser//parser_prod.nit:8427 */
47719 if (UNTAG_Bool(REGB0)) {
47720 } else {
47721 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
47722 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8427);
47723 nit_exit(1);
47724 }
47725 fra.me.REG[2] = ATTR_parser_nodes___ARangeExpr____n_expr(fra.me.REG[0]);
47726 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
47727 REGB0 = TAG_Bool(ATTR_parser_nodes___ARangeExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
47728 /* ./parser//parser_prod.nit:8428 */
47729 if (UNTAG_Bool(REGB0)) {
47730 } else {
47731 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
47732 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8428);
47733 nit_exit(1);
47734 }
47735 fra.me.REG[0] = ATTR_parser_nodes___ARangeExpr____n_expr2(fra.me.REG[0]);
47736 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
47737 stack_frame_head = fra.me.prev;
47738 return;
47739 }
47740 void parser_prod___ARangeExpr___visit_all_reverse(val_t p0, val_t p1){
47741 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
47742 val_t REGB0;
47743 val_t tmp;
47744 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47745 fra.me.file = LOCATE_parser_prod;
47746 fra.me.line = 8431;
47747 fra.me.meth = LOCATE_parser_prod___ARangeExpr___visit_all_reverse;
47748 fra.me.has_broke = 0;
47749 fra.me.REG_size = 3;
47750 fra.me.REG[0] = NIT_NULL;
47751 fra.me.REG[1] = NIT_NULL;
47752 fra.me.REG[2] = NIT_NULL;
47753 fra.me.REG[0] = p0;
47754 fra.me.REG[1] = p1;
47755 REGB0 = TAG_Bool(ATTR_parser_nodes___ARangeExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
47756 /* ./parser//parser_prod.nit:8433 */
47757 if (UNTAG_Bool(REGB0)) {
47758 } else {
47759 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
47760 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8433);
47761 nit_exit(1);
47762 }
47763 fra.me.REG[2] = ATTR_parser_nodes___ARangeExpr____n_expr(fra.me.REG[0]);
47764 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
47765 REGB0 = TAG_Bool(ATTR_parser_nodes___ARangeExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
47766 /* ./parser//parser_prod.nit:8434 */
47767 if (UNTAG_Bool(REGB0)) {
47768 } else {
47769 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
47770 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8434);
47771 nit_exit(1);
47772 }
47773 fra.me.REG[0] = ATTR_parser_nodes___ARangeExpr____n_expr2(fra.me.REG[0]);
47774 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
47775 stack_frame_head = fra.me.prev;
47776 return;
47777 }
47778 void parser_prod___ARangeExpr___empty_init(val_t p0, int* init_table){
47779 int itpos199 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ARangeExpr].i;
47780 struct {struct stack_frame_t me;} fra;
47781 val_t tmp;
47782 if (init_table[itpos199]) return;
47783 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47784 fra.me.file = LOCATE_parser_prod;
47785 fra.me.line = 8387;
47786 fra.me.meth = LOCATE_parser_prod___ARangeExpr___empty_init;
47787 fra.me.has_broke = 0;
47788 fra.me.REG_size = 1;
47789 fra.me.REG[0] = NIT_NULL;
47790 fra.me.REG[0] = p0;
47791 /* ./parser//parser_prod.nit:8387 */
47792 stack_frame_head = fra.me.prev;
47793 init_table[itpos199] = 1;
47794 return;
47795 }
47796 void parser_prod___ARangeExpr___init_arangeexpr(val_t p0, val_t p1, val_t p2, int* init_table){
47797 int itpos200 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ARangeExpr].i;
47798 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
47799 val_t REGB0;
47800 val_t tmp;
47801 if (init_table[itpos200]) return;
47802 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47803 fra.me.file = LOCATE_parser_prod;
47804 fra.me.line = 8389;
47805 fra.me.meth = LOCATE_parser_prod___ARangeExpr___init_arangeexpr;
47806 fra.me.has_broke = 0;
47807 fra.me.REG_size = 3;
47808 fra.me.REG[0] = NIT_NULL;
47809 fra.me.REG[1] = NIT_NULL;
47810 fra.me.REG[2] = NIT_NULL;
47811 fra.me.REG[0] = p0;
47812 fra.me.REG[1] = p1;
47813 fra.me.REG[2] = p2;
47814 /* ./parser//parser_prod.nit:8394 */
47815 CALL_parser_prod___ARangeExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
47816 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
47817 /* ./parser//parser_prod.nit:8395 */
47818 if (UNTAG_Bool(REGB0)) {
47819 } else {
47820 fprintf(stderr, "Cast failed");
47821 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8395);
47822 nit_exit(1);
47823 }
47824 ATTR_parser_nodes___ARangeExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
47825 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
47826 /* ./parser//parser_prod.nit:8396 */
47827 if (UNTAG_Bool(REGB0)) {
47828 fprintf(stderr, "Reciever is null");
47829 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8396);
47830 nit_exit(1);
47831 }
47832 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
47833 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
47834 /* ./parser//parser_prod.nit:8397 */
47835 if (UNTAG_Bool(REGB0)) {
47836 } else {
47837 fprintf(stderr, "Cast failed");
47838 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8397);
47839 nit_exit(1);
47840 }
47841 ATTR_parser_nodes___ARangeExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
47842 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
47843 /* ./parser//parser_prod.nit:8398 */
47844 if (UNTAG_Bool(REGB0)) {
47845 fprintf(stderr, "Reciever is null");
47846 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8398);
47847 nit_exit(1);
47848 }
47849 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
47850 stack_frame_head = fra.me.prev;
47851 init_table[itpos200] = 1;
47852 return;
47853 }
47854 void parser_prod___ACrangeExpr___n_expr__eq(val_t p0, val_t p1){
47855 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
47856 val_t tmp;
47857 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47858 fra.me.file = LOCATE_parser_prod;
47859 fra.me.line = 8438;
47860 fra.me.meth = LOCATE_parser_prod___ACrangeExpr___n_expr__eq;
47861 fra.me.has_broke = 0;
47862 fra.me.REG_size = 2;
47863 fra.me.REG[0] = NIT_NULL;
47864 fra.me.REG[1] = NIT_NULL;
47865 fra.me.REG[0] = p0;
47866 fra.me.REG[1] = p1;
47867 /* ./parser//parser_prod.nit:8440 */
47868 ATTR_parser_nodes___ARangeExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
47869 /* ./parser//parser_prod.nit:8441 */
47870 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
47871 stack_frame_head = fra.me.prev;
47872 return;
47873 }
47874 void parser_prod___ACrangeExpr___n_expr2__eq(val_t p0, val_t p1){
47875 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
47876 val_t tmp;
47877 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47878 fra.me.file = LOCATE_parser_prod;
47879 fra.me.line = 8443;
47880 fra.me.meth = LOCATE_parser_prod___ACrangeExpr___n_expr2__eq;
47881 fra.me.has_broke = 0;
47882 fra.me.REG_size = 2;
47883 fra.me.REG[0] = NIT_NULL;
47884 fra.me.REG[1] = NIT_NULL;
47885 fra.me.REG[0] = p0;
47886 fra.me.REG[1] = p1;
47887 /* ./parser//parser_prod.nit:8445 */
47888 ATTR_parser_nodes___ARangeExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[1];
47889 /* ./parser//parser_prod.nit:8446 */
47890 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
47891 stack_frame_head = fra.me.prev;
47892 return;
47893 }
47894 void parser_prod___ACrangeExpr___replace_child(val_t p0, val_t p1, val_t p2){
47895 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
47896 val_t REGB0;
47897 val_t REGB1;
47898 val_t tmp;
47899 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
47900 fra.me.file = LOCATE_parser_prod;
47901 fra.me.line = 8463;
47902 fra.me.meth = LOCATE_parser_prod___ACrangeExpr___replace_child;
47903 fra.me.has_broke = 0;
47904 fra.me.REG_size = 4;
47905 fra.me.REG[0] = NIT_NULL;
47906 fra.me.REG[1] = NIT_NULL;
47907 fra.me.REG[2] = NIT_NULL;
47908 fra.me.REG[3] = NIT_NULL;
47909 fra.me.REG[0] = p0;
47910 fra.me.REG[1] = p1;
47911 fra.me.REG[2] = p2;
47912 REGB0 = TAG_Bool(ATTR_parser_nodes___ARangeExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
47913 /* ./parser//parser_prod.nit:8465 */
47914 if (UNTAG_Bool(REGB0)) {
47915 } else {
47916 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
47917 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8465);
47918 nit_exit(1);
47919 }
47920 fra.me.REG[3] = ATTR_parser_nodes___ARangeExpr____n_expr(fra.me.REG[0]);
47921 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
47922 if (UNTAG_Bool(REGB0)) {
47923 } else {
47924 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
47925 REGB0 = REGB1;
47926 }
47927 if (UNTAG_Bool(REGB0)) {
47928 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
47929 /* ./parser//parser_prod.nit:8466 */
47930 if (UNTAG_Bool(REGB0)) {
47931 } else {
47932 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
47933 if (UNTAG_Bool(REGB1)) {
47934 REGB1 = TAG_Bool(false);
47935 REGB0 = REGB1;
47936 } else {
47937 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
47938 REGB0 = REGB1;
47939 }
47940 }
47941 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
47942 if (UNTAG_Bool(REGB0)) {
47943 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
47944 /* ./parser//parser_prod.nit:8467 */
47945 if (UNTAG_Bool(REGB0)) {
47946 fprintf(stderr, "Reciever is null");
47947 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8467);
47948 nit_exit(1);
47949 }
47950 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
47951 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
47952 /* ./parser//parser_prod.nit:8468 */
47953 if (UNTAG_Bool(REGB0)) {
47954 } else {
47955 fprintf(stderr, "Assert failed");
47956 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8468);
47957 nit_exit(1);
47958 }
47959 /* ./parser//parser_prod.nit:8469 */
47960 ATTR_parser_nodes___ARangeExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
47961 } else {
47962 /* ./parser//parser_prod.nit:8471 */
47963 fprintf(stderr, "Aborted");
47964 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8471);
47965 nit_exit(1);
47966 }
47967 /* ./parser//parser_prod.nit:8473 */
47968 goto label1;
47969 }
47970 REGB0 = TAG_Bool(ATTR_parser_nodes___ARangeExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
47971 /* ./parser//parser_prod.nit:8475 */
47972 if (UNTAG_Bool(REGB0)) {
47973 } else {
47974 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
47975 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8475);
47976 nit_exit(1);
47977 }
47978 fra.me.REG[3] = ATTR_parser_nodes___ARangeExpr____n_expr2(fra.me.REG[0]);
47979 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
47980 if (UNTAG_Bool(REGB0)) {
47981 } else {
47982 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
47983 REGB0 = REGB1;
47984 }
47985 if (UNTAG_Bool(REGB0)) {
47986 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
47987 /* ./parser//parser_prod.nit:8476 */
47988 if (UNTAG_Bool(REGB0)) {
47989 } else {
47990 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
47991 if (UNTAG_Bool(REGB1)) {
47992 REGB1 = TAG_Bool(false);
47993 REGB0 = REGB1;
47994 } else {
47995 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
47996 REGB0 = REGB1;
47997 }
47998 }
47999 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
48000 if (UNTAG_Bool(REGB0)) {
48001 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
48002 /* ./parser//parser_prod.nit:8477 */
48003 if (UNTAG_Bool(REGB0)) {
48004 fprintf(stderr, "Reciever is null");
48005 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8477);
48006 nit_exit(1);
48007 }
48008 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
48009 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
48010 /* ./parser//parser_prod.nit:8478 */
48011 if (UNTAG_Bool(REGB0)) {
48012 } else {
48013 fprintf(stderr, "Assert failed");
48014 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8478);
48015 nit_exit(1);
48016 }
48017 /* ./parser//parser_prod.nit:8479 */
48018 ATTR_parser_nodes___ARangeExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
48019 } else {
48020 /* ./parser//parser_prod.nit:8481 */
48021 fprintf(stderr, "Aborted");
48022 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8481);
48023 nit_exit(1);
48024 }
48025 /* ./parser//parser_prod.nit:8483 */
48026 goto label1;
48027 }
48028 label1: while(0);
48029 stack_frame_head = fra.me.prev;
48030 return;
48031 }
48032 void parser_prod___ACrangeExpr___visit_all(val_t p0, val_t p1){
48033 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
48034 val_t REGB0;
48035 val_t tmp;
48036 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48037 fra.me.file = LOCATE_parser_prod;
48038 fra.me.line = 8487;
48039 fra.me.meth = LOCATE_parser_prod___ACrangeExpr___visit_all;
48040 fra.me.has_broke = 0;
48041 fra.me.REG_size = 3;
48042 fra.me.REG[0] = NIT_NULL;
48043 fra.me.REG[1] = NIT_NULL;
48044 fra.me.REG[2] = NIT_NULL;
48045 fra.me.REG[0] = p0;
48046 fra.me.REG[1] = p1;
48047 REGB0 = TAG_Bool(ATTR_parser_nodes___ARangeExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
48048 /* ./parser//parser_prod.nit:8489 */
48049 if (UNTAG_Bool(REGB0)) {
48050 } else {
48051 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
48052 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8489);
48053 nit_exit(1);
48054 }
48055 fra.me.REG[2] = ATTR_parser_nodes___ARangeExpr____n_expr(fra.me.REG[0]);
48056 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
48057 REGB0 = TAG_Bool(ATTR_parser_nodes___ARangeExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
48058 /* ./parser//parser_prod.nit:8490 */
48059 if (UNTAG_Bool(REGB0)) {
48060 } else {
48061 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
48062 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8490);
48063 nit_exit(1);
48064 }
48065 fra.me.REG[0] = ATTR_parser_nodes___ARangeExpr____n_expr2(fra.me.REG[0]);
48066 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
48067 stack_frame_head = fra.me.prev;
48068 return;
48069 }
48070 void parser_prod___ACrangeExpr___visit_all_reverse(val_t p0, val_t p1){
48071 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
48072 val_t REGB0;
48073 val_t tmp;
48074 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48075 fra.me.file = LOCATE_parser_prod;
48076 fra.me.line = 8493;
48077 fra.me.meth = LOCATE_parser_prod___ACrangeExpr___visit_all_reverse;
48078 fra.me.has_broke = 0;
48079 fra.me.REG_size = 3;
48080 fra.me.REG[0] = NIT_NULL;
48081 fra.me.REG[1] = NIT_NULL;
48082 fra.me.REG[2] = NIT_NULL;
48083 fra.me.REG[0] = p0;
48084 fra.me.REG[1] = p1;
48085 REGB0 = TAG_Bool(ATTR_parser_nodes___ARangeExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
48086 /* ./parser//parser_prod.nit:8495 */
48087 if (UNTAG_Bool(REGB0)) {
48088 } else {
48089 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
48090 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8495);
48091 nit_exit(1);
48092 }
48093 fra.me.REG[2] = ATTR_parser_nodes___ARangeExpr____n_expr(fra.me.REG[0]);
48094 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
48095 REGB0 = TAG_Bool(ATTR_parser_nodes___ARangeExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
48096 /* ./parser//parser_prod.nit:8496 */
48097 if (UNTAG_Bool(REGB0)) {
48098 } else {
48099 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
48100 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8496);
48101 nit_exit(1);
48102 }
48103 fra.me.REG[0] = ATTR_parser_nodes___ARangeExpr____n_expr2(fra.me.REG[0]);
48104 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
48105 stack_frame_head = fra.me.prev;
48106 return;
48107 }
48108 void parser_prod___ACrangeExpr___empty_init(val_t p0, int* init_table){
48109 int itpos201 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ACrangeExpr].i;
48110 struct {struct stack_frame_t me;} fra;
48111 val_t tmp;
48112 if (init_table[itpos201]) return;
48113 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48114 fra.me.file = LOCATE_parser_prod;
48115 fra.me.line = 8449;
48116 fra.me.meth = LOCATE_parser_prod___ACrangeExpr___empty_init;
48117 fra.me.has_broke = 0;
48118 fra.me.REG_size = 1;
48119 fra.me.REG[0] = NIT_NULL;
48120 fra.me.REG[0] = p0;
48121 /* ./parser//parser_prod.nit:8449 */
48122 stack_frame_head = fra.me.prev;
48123 init_table[itpos201] = 1;
48124 return;
48125 }
48126 void parser_prod___ACrangeExpr___init_acrangeexpr(val_t p0, val_t p1, val_t p2, int* init_table){
48127 int itpos202 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ACrangeExpr].i;
48128 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
48129 val_t REGB0;
48130 val_t tmp;
48131 if (init_table[itpos202]) return;
48132 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48133 fra.me.file = LOCATE_parser_prod;
48134 fra.me.line = 8451;
48135 fra.me.meth = LOCATE_parser_prod___ACrangeExpr___init_acrangeexpr;
48136 fra.me.has_broke = 0;
48137 fra.me.REG_size = 3;
48138 fra.me.REG[0] = NIT_NULL;
48139 fra.me.REG[1] = NIT_NULL;
48140 fra.me.REG[2] = NIT_NULL;
48141 fra.me.REG[0] = p0;
48142 fra.me.REG[1] = p1;
48143 fra.me.REG[2] = p2;
48144 /* ./parser//parser_prod.nit:8456 */
48145 CALL_parser_prod___ACrangeExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
48146 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
48147 /* ./parser//parser_prod.nit:8457 */
48148 if (UNTAG_Bool(REGB0)) {
48149 } else {
48150 fprintf(stderr, "Cast failed");
48151 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8457);
48152 nit_exit(1);
48153 }
48154 ATTR_parser_nodes___ARangeExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
48155 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
48156 /* ./parser//parser_prod.nit:8458 */
48157 if (UNTAG_Bool(REGB0)) {
48158 fprintf(stderr, "Reciever is null");
48159 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8458);
48160 nit_exit(1);
48161 }
48162 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
48163 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
48164 /* ./parser//parser_prod.nit:8459 */
48165 if (UNTAG_Bool(REGB0)) {
48166 } else {
48167 fprintf(stderr, "Cast failed");
48168 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8459);
48169 nit_exit(1);
48170 }
48171 ATTR_parser_nodes___ARangeExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
48172 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
48173 /* ./parser//parser_prod.nit:8460 */
48174 if (UNTAG_Bool(REGB0)) {
48175 fprintf(stderr, "Reciever is null");
48176 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8460);
48177 nit_exit(1);
48178 }
48179 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
48180 stack_frame_head = fra.me.prev;
48181 init_table[itpos202] = 1;
48182 return;
48183 }
48184 void parser_prod___AOrangeExpr___n_expr__eq(val_t p0, val_t p1){
48185 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
48186 val_t tmp;
48187 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48188 fra.me.file = LOCATE_parser_prod;
48189 fra.me.line = 8500;
48190 fra.me.meth = LOCATE_parser_prod___AOrangeExpr___n_expr__eq;
48191 fra.me.has_broke = 0;
48192 fra.me.REG_size = 2;
48193 fra.me.REG[0] = NIT_NULL;
48194 fra.me.REG[1] = NIT_NULL;
48195 fra.me.REG[0] = p0;
48196 fra.me.REG[1] = p1;
48197 /* ./parser//parser_prod.nit:8502 */
48198 ATTR_parser_nodes___ARangeExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
48199 /* ./parser//parser_prod.nit:8503 */
48200 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
48201 stack_frame_head = fra.me.prev;
48202 return;
48203 }
48204 void parser_prod___AOrangeExpr___n_expr2__eq(val_t p0, val_t p1){
48205 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
48206 val_t tmp;
48207 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48208 fra.me.file = LOCATE_parser_prod;
48209 fra.me.line = 8505;
48210 fra.me.meth = LOCATE_parser_prod___AOrangeExpr___n_expr2__eq;
48211 fra.me.has_broke = 0;
48212 fra.me.REG_size = 2;
48213 fra.me.REG[0] = NIT_NULL;
48214 fra.me.REG[1] = NIT_NULL;
48215 fra.me.REG[0] = p0;
48216 fra.me.REG[1] = p1;
48217 /* ./parser//parser_prod.nit:8507 */
48218 ATTR_parser_nodes___ARangeExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[1];
48219 /* ./parser//parser_prod.nit:8508 */
48220 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
48221 stack_frame_head = fra.me.prev;
48222 return;
48223 }
48224 void parser_prod___AOrangeExpr___replace_child(val_t p0, val_t p1, val_t p2){
48225 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
48226 val_t REGB0;
48227 val_t REGB1;
48228 val_t tmp;
48229 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48230 fra.me.file = LOCATE_parser_prod;
48231 fra.me.line = 8525;
48232 fra.me.meth = LOCATE_parser_prod___AOrangeExpr___replace_child;
48233 fra.me.has_broke = 0;
48234 fra.me.REG_size = 4;
48235 fra.me.REG[0] = NIT_NULL;
48236 fra.me.REG[1] = NIT_NULL;
48237 fra.me.REG[2] = NIT_NULL;
48238 fra.me.REG[3] = NIT_NULL;
48239 fra.me.REG[0] = p0;
48240 fra.me.REG[1] = p1;
48241 fra.me.REG[2] = p2;
48242 REGB0 = TAG_Bool(ATTR_parser_nodes___ARangeExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
48243 /* ./parser//parser_prod.nit:8527 */
48244 if (UNTAG_Bool(REGB0)) {
48245 } else {
48246 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
48247 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8527);
48248 nit_exit(1);
48249 }
48250 fra.me.REG[3] = ATTR_parser_nodes___ARangeExpr____n_expr(fra.me.REG[0]);
48251 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
48252 if (UNTAG_Bool(REGB0)) {
48253 } else {
48254 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
48255 REGB0 = REGB1;
48256 }
48257 if (UNTAG_Bool(REGB0)) {
48258 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
48259 /* ./parser//parser_prod.nit:8528 */
48260 if (UNTAG_Bool(REGB0)) {
48261 } else {
48262 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
48263 if (UNTAG_Bool(REGB1)) {
48264 REGB1 = TAG_Bool(false);
48265 REGB0 = REGB1;
48266 } else {
48267 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
48268 REGB0 = REGB1;
48269 }
48270 }
48271 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
48272 if (UNTAG_Bool(REGB0)) {
48273 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
48274 /* ./parser//parser_prod.nit:8529 */
48275 if (UNTAG_Bool(REGB0)) {
48276 fprintf(stderr, "Reciever is null");
48277 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8529);
48278 nit_exit(1);
48279 }
48280 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
48281 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
48282 /* ./parser//parser_prod.nit:8530 */
48283 if (UNTAG_Bool(REGB0)) {
48284 } else {
48285 fprintf(stderr, "Assert failed");
48286 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8530);
48287 nit_exit(1);
48288 }
48289 /* ./parser//parser_prod.nit:8531 */
48290 ATTR_parser_nodes___ARangeExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
48291 } else {
48292 /* ./parser//parser_prod.nit:8533 */
48293 fprintf(stderr, "Aborted");
48294 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8533);
48295 nit_exit(1);
48296 }
48297 /* ./parser//parser_prod.nit:8535 */
48298 goto label1;
48299 }
48300 REGB0 = TAG_Bool(ATTR_parser_nodes___ARangeExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
48301 /* ./parser//parser_prod.nit:8537 */
48302 if (UNTAG_Bool(REGB0)) {
48303 } else {
48304 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
48305 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8537);
48306 nit_exit(1);
48307 }
48308 fra.me.REG[3] = ATTR_parser_nodes___ARangeExpr____n_expr2(fra.me.REG[0]);
48309 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
48310 if (UNTAG_Bool(REGB0)) {
48311 } else {
48312 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
48313 REGB0 = REGB1;
48314 }
48315 if (UNTAG_Bool(REGB0)) {
48316 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
48317 /* ./parser//parser_prod.nit:8538 */
48318 if (UNTAG_Bool(REGB0)) {
48319 } else {
48320 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
48321 if (UNTAG_Bool(REGB1)) {
48322 REGB1 = TAG_Bool(false);
48323 REGB0 = REGB1;
48324 } else {
48325 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
48326 REGB0 = REGB1;
48327 }
48328 }
48329 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
48330 if (UNTAG_Bool(REGB0)) {
48331 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
48332 /* ./parser//parser_prod.nit:8539 */
48333 if (UNTAG_Bool(REGB0)) {
48334 fprintf(stderr, "Reciever is null");
48335 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8539);
48336 nit_exit(1);
48337 }
48338 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
48339 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
48340 /* ./parser//parser_prod.nit:8540 */
48341 if (UNTAG_Bool(REGB0)) {
48342 } else {
48343 fprintf(stderr, "Assert failed");
48344 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8540);
48345 nit_exit(1);
48346 }
48347 /* ./parser//parser_prod.nit:8541 */
48348 ATTR_parser_nodes___ARangeExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
48349 } else {
48350 /* ./parser//parser_prod.nit:8543 */
48351 fprintf(stderr, "Aborted");
48352 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8543);
48353 nit_exit(1);
48354 }
48355 /* ./parser//parser_prod.nit:8545 */
48356 goto label1;
48357 }
48358 label1: while(0);
48359 stack_frame_head = fra.me.prev;
48360 return;
48361 }
48362 void parser_prod___AOrangeExpr___visit_all(val_t p0, val_t p1){
48363 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
48364 val_t REGB0;
48365 val_t tmp;
48366 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48367 fra.me.file = LOCATE_parser_prod;
48368 fra.me.line = 8549;
48369 fra.me.meth = LOCATE_parser_prod___AOrangeExpr___visit_all;
48370 fra.me.has_broke = 0;
48371 fra.me.REG_size = 3;
48372 fra.me.REG[0] = NIT_NULL;
48373 fra.me.REG[1] = NIT_NULL;
48374 fra.me.REG[2] = NIT_NULL;
48375 fra.me.REG[0] = p0;
48376 fra.me.REG[1] = p1;
48377 REGB0 = TAG_Bool(ATTR_parser_nodes___ARangeExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
48378 /* ./parser//parser_prod.nit:8551 */
48379 if (UNTAG_Bool(REGB0)) {
48380 } else {
48381 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
48382 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8551);
48383 nit_exit(1);
48384 }
48385 fra.me.REG[2] = ATTR_parser_nodes___ARangeExpr____n_expr(fra.me.REG[0]);
48386 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
48387 REGB0 = TAG_Bool(ATTR_parser_nodes___ARangeExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
48388 /* ./parser//parser_prod.nit:8552 */
48389 if (UNTAG_Bool(REGB0)) {
48390 } else {
48391 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
48392 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8552);
48393 nit_exit(1);
48394 }
48395 fra.me.REG[0] = ATTR_parser_nodes___ARangeExpr____n_expr2(fra.me.REG[0]);
48396 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
48397 stack_frame_head = fra.me.prev;
48398 return;
48399 }
48400 void parser_prod___AOrangeExpr___visit_all_reverse(val_t p0, val_t p1){
48401 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
48402 val_t REGB0;
48403 val_t tmp;
48404 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48405 fra.me.file = LOCATE_parser_prod;
48406 fra.me.line = 8555;
48407 fra.me.meth = LOCATE_parser_prod___AOrangeExpr___visit_all_reverse;
48408 fra.me.has_broke = 0;
48409 fra.me.REG_size = 3;
48410 fra.me.REG[0] = NIT_NULL;
48411 fra.me.REG[1] = NIT_NULL;
48412 fra.me.REG[2] = NIT_NULL;
48413 fra.me.REG[0] = p0;
48414 fra.me.REG[1] = p1;
48415 REGB0 = TAG_Bool(ATTR_parser_nodes___ARangeExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
48416 /* ./parser//parser_prod.nit:8557 */
48417 if (UNTAG_Bool(REGB0)) {
48418 } else {
48419 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
48420 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8557);
48421 nit_exit(1);
48422 }
48423 fra.me.REG[2] = ATTR_parser_nodes___ARangeExpr____n_expr(fra.me.REG[0]);
48424 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
48425 REGB0 = TAG_Bool(ATTR_parser_nodes___ARangeExpr____n_expr2(fra.me.REG[0])!=NIT_NULL);
48426 /* ./parser//parser_prod.nit:8558 */
48427 if (UNTAG_Bool(REGB0)) {
48428 } else {
48429 fprintf(stderr, "Uninitialized attribute %s", "_n_expr2");
48430 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8558);
48431 nit_exit(1);
48432 }
48433 fra.me.REG[0] = ATTR_parser_nodes___ARangeExpr____n_expr2(fra.me.REG[0]);
48434 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
48435 stack_frame_head = fra.me.prev;
48436 return;
48437 }
48438 void parser_prod___AOrangeExpr___empty_init(val_t p0, int* init_table){
48439 int itpos203 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AOrangeExpr].i;
48440 struct {struct stack_frame_t me;} fra;
48441 val_t tmp;
48442 if (init_table[itpos203]) return;
48443 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48444 fra.me.file = LOCATE_parser_prod;
48445 fra.me.line = 8511;
48446 fra.me.meth = LOCATE_parser_prod___AOrangeExpr___empty_init;
48447 fra.me.has_broke = 0;
48448 fra.me.REG_size = 1;
48449 fra.me.REG[0] = NIT_NULL;
48450 fra.me.REG[0] = p0;
48451 /* ./parser//parser_prod.nit:8511 */
48452 stack_frame_head = fra.me.prev;
48453 init_table[itpos203] = 1;
48454 return;
48455 }
48456 void parser_prod___AOrangeExpr___init_aorangeexpr(val_t p0, val_t p1, val_t p2, int* init_table){
48457 int itpos204 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AOrangeExpr].i;
48458 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
48459 val_t REGB0;
48460 val_t tmp;
48461 if (init_table[itpos204]) return;
48462 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48463 fra.me.file = LOCATE_parser_prod;
48464 fra.me.line = 8513;
48465 fra.me.meth = LOCATE_parser_prod___AOrangeExpr___init_aorangeexpr;
48466 fra.me.has_broke = 0;
48467 fra.me.REG_size = 3;
48468 fra.me.REG[0] = NIT_NULL;
48469 fra.me.REG[1] = NIT_NULL;
48470 fra.me.REG[2] = NIT_NULL;
48471 fra.me.REG[0] = p0;
48472 fra.me.REG[1] = p1;
48473 fra.me.REG[2] = p2;
48474 /* ./parser//parser_prod.nit:8518 */
48475 CALL_parser_prod___AOrangeExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
48476 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
48477 /* ./parser//parser_prod.nit:8519 */
48478 if (UNTAG_Bool(REGB0)) {
48479 } else {
48480 fprintf(stderr, "Cast failed");
48481 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8519);
48482 nit_exit(1);
48483 }
48484 ATTR_parser_nodes___ARangeExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
48485 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
48486 /* ./parser//parser_prod.nit:8520 */
48487 if (UNTAG_Bool(REGB0)) {
48488 fprintf(stderr, "Reciever is null");
48489 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8520);
48490 nit_exit(1);
48491 }
48492 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
48493 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
48494 /* ./parser//parser_prod.nit:8521 */
48495 if (UNTAG_Bool(REGB0)) {
48496 } else {
48497 fprintf(stderr, "Cast failed");
48498 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8521);
48499 nit_exit(1);
48500 }
48501 ATTR_parser_nodes___ARangeExpr____n_expr2(fra.me.REG[0]) = fra.me.REG[2];
48502 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
48503 /* ./parser//parser_prod.nit:8522 */
48504 if (UNTAG_Bool(REGB0)) {
48505 fprintf(stderr, "Reciever is null");
48506 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8522);
48507 nit_exit(1);
48508 }
48509 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
48510 stack_frame_head = fra.me.prev;
48511 init_table[itpos204] = 1;
48512 return;
48513 }
48514 void parser_prod___AArrayExpr___replace_child(val_t p0, val_t p1, val_t p2){
48515 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
48516 val_t REGB0;
48517 val_t REGB1;
48518 val_t REGB2;
48519 val_t tmp;
48520 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48521 fra.me.file = LOCATE_parser_prod;
48522 fra.me.line = 8577;
48523 fra.me.meth = LOCATE_parser_prod___AArrayExpr___replace_child;
48524 fra.me.has_broke = 0;
48525 fra.me.REG_size = 5;
48526 fra.me.REG[0] = NIT_NULL;
48527 fra.me.REG[1] = NIT_NULL;
48528 fra.me.REG[2] = NIT_NULL;
48529 fra.me.REG[3] = NIT_NULL;
48530 fra.me.REG[4] = NIT_NULL;
48531 fra.me.REG[0] = p0;
48532 fra.me.REG[1] = p1;
48533 fra.me.REG[2] = p2;
48534 REGB0 = TAG_Int(0);
48535 REGB1 = TAG_Bool(ATTR_parser_nodes___AArrayExpr____n_exprs(fra.me.REG[0])!=NIT_NULL);
48536 /* ./parser//parser_prod.nit:8579 */
48537 if (UNTAG_Bool(REGB1)) {
48538 } else {
48539 fprintf(stderr, "Uninitialized attribute %s", "_n_exprs");
48540 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8579);
48541 nit_exit(1);
48542 }
48543 fra.me.REG[3] = ATTR_parser_nodes___AArrayExpr____n_exprs(fra.me.REG[0]);
48544 REGB1 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
48545 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB0, REGB1);
48546 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
48547 while(1) {
48548 REGB1 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
48549 if (UNTAG_Bool(REGB1)) {
48550 REGB1 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
48551 REGB0 = TAG_Bool(ATTR_parser_nodes___AArrayExpr____n_exprs(fra.me.REG[0])!=NIT_NULL);
48552 /* ./parser//parser_prod.nit:8580 */
48553 if (UNTAG_Bool(REGB0)) {
48554 } else {
48555 fprintf(stderr, "Uninitialized attribute %s", "_n_exprs");
48556 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8580);
48557 nit_exit(1);
48558 }
48559 fra.me.REG[4] = ATTR_parser_nodes___AArrayExpr____n_exprs(fra.me.REG[0]);
48560 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB1);
48561 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[4]));
48562 if (UNTAG_Bool(REGB0)) {
48563 } else {
48564 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
48565 if (UNTAG_Bool(REGB2)) {
48566 REGB2 = TAG_Bool(false);
48567 REGB0 = REGB2;
48568 } else {
48569 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
48570 REGB0 = REGB2;
48571 }
48572 }
48573 if (UNTAG_Bool(REGB0)) {
48574 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
48575 /* ./parser//parser_prod.nit:8581 */
48576 if (UNTAG_Bool(REGB0)) {
48577 } else {
48578 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
48579 if (UNTAG_Bool(REGB2)) {
48580 REGB2 = TAG_Bool(false);
48581 REGB0 = REGB2;
48582 } else {
48583 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
48584 REGB0 = REGB2;
48585 }
48586 }
48587 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
48588 if (UNTAG_Bool(REGB0)) {
48589 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
48590 /* ./parser//parser_prod.nit:8582 */
48591 if (UNTAG_Bool(REGB0)) {
48592 } else {
48593 fprintf(stderr, "Assert failed");
48594 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8582);
48595 nit_exit(1);
48596 }
48597 REGB0 = TAG_Bool(ATTR_parser_nodes___AArrayExpr____n_exprs(fra.me.REG[0])!=NIT_NULL);
48598 /* ./parser//parser_prod.nit:8583 */
48599 if (UNTAG_Bool(REGB0)) {
48600 } else {
48601 fprintf(stderr, "Uninitialized attribute %s", "_n_exprs");
48602 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8583);
48603 nit_exit(1);
48604 }
48605 fra.me.REG[4] = ATTR_parser_nodes___AArrayExpr____n_exprs(fra.me.REG[0]);
48606 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], REGB1, fra.me.REG[2]);
48607 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
48608 /* ./parser//parser_prod.nit:8584 */
48609 if (UNTAG_Bool(REGB0)) {
48610 fprintf(stderr, "Reciever is null");
48611 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8584);
48612 nit_exit(1);
48613 }
48614 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
48615 } else {
48616 REGB0 = TAG_Bool(ATTR_parser_nodes___AArrayExpr____n_exprs(fra.me.REG[0])!=NIT_NULL);
48617 /* ./parser//parser_prod.nit:8586 */
48618 if (UNTAG_Bool(REGB0)) {
48619 } else {
48620 fprintf(stderr, "Uninitialized attribute %s", "_n_exprs");
48621 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8586);
48622 nit_exit(1);
48623 }
48624 fra.me.REG[4] = ATTR_parser_nodes___AArrayExpr____n_exprs(fra.me.REG[0]);
48625 CALL_abstract_collection___Map___remove_at(fra.me.REG[4])(fra.me.REG[4], REGB1);
48626 }
48627 /* ./parser//parser_prod.nit:8588 */
48628 goto label1;
48629 }
48630 } else {
48631 /* ./parser//parser_prod.nit:8579 */
48632 goto label2;
48633 }
48634 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
48635 }
48636 label2: while(0);
48637 label1: while(0);
48638 stack_frame_head = fra.me.prev;
48639 return;
48640 }
48641 void parser_prod___AArrayExpr___visit_all(val_t p0, val_t p1){
48642 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
48643 val_t REGB0;
48644 val_t tmp;
48645 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48646 fra.me.file = LOCATE_parser_prod;
48647 fra.me.line = 8593;
48648 fra.me.meth = LOCATE_parser_prod___AArrayExpr___visit_all;
48649 fra.me.has_broke = 0;
48650 fra.me.REG_size = 3;
48651 fra.me.REG[0] = NIT_NULL;
48652 fra.me.REG[1] = NIT_NULL;
48653 fra.me.REG[2] = NIT_NULL;
48654 fra.me.REG[0] = p0;
48655 fra.me.REG[1] = p1;
48656 REGB0 = TAG_Bool(ATTR_parser_nodes___AArrayExpr____n_exprs(fra.me.REG[0])!=NIT_NULL);
48657 /* ./parser//parser_prod.nit:8595 */
48658 if (UNTAG_Bool(REGB0)) {
48659 } else {
48660 fprintf(stderr, "Uninitialized attribute %s", "_n_exprs");
48661 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8595);
48662 nit_exit(1);
48663 }
48664 fra.me.REG[0] = ATTR_parser_nodes___AArrayExpr____n_exprs(fra.me.REG[0]);
48665 fra.me.REG[0] = CALL_abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
48666 while(1) {
48667 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
48668 if (UNTAG_Bool(REGB0)) {
48669 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
48670 /* ./parser//parser_prod.nit:8596 */
48671 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
48672 } else {
48673 /* ./parser//parser_prod.nit:8595 */
48674 goto label1;
48675 }
48676 CALL_abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
48677 }
48678 label1: while(0);
48679 stack_frame_head = fra.me.prev;
48680 return;
48681 }
48682 void parser_prod___AArrayExpr___visit_all_reverse(val_t p0, val_t p1){
48683 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
48684 val_t REGB0;
48685 val_t REGB1;
48686 val_t tmp;
48687 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48688 fra.me.file = LOCATE_parser_prod;
48689 fra.me.line = 8600;
48690 fra.me.meth = LOCATE_parser_prod___AArrayExpr___visit_all_reverse;
48691 fra.me.has_broke = 0;
48692 fra.me.REG_size = 3;
48693 fra.me.REG[0] = NIT_NULL;
48694 fra.me.REG[1] = NIT_NULL;
48695 fra.me.REG[2] = NIT_NULL;
48696 fra.me.REG[0] = p0;
48697 fra.me.REG[1] = p1;
48698 REGB0 = TAG_Bool(ATTR_parser_nodes___AArrayExpr____n_exprs(fra.me.REG[0])!=NIT_NULL);
48699 /* ./parser//parser_prod.nit:8603 */
48700 if (UNTAG_Bool(REGB0)) {
48701 } else {
48702 fprintf(stderr, "Uninitialized attribute %s", "_n_exprs");
48703 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8603);
48704 nit_exit(1);
48705 }
48706 fra.me.REG[2] = ATTR_parser_nodes___AArrayExpr____n_exprs(fra.me.REG[0]);
48707 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
48708 /* ./parser//parser_prod.nit:8604 */
48709 while(1) {
48710 REGB1 = TAG_Int(0);
48711 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
48712 /* ./parser//parser_prod.nit:8604 */
48713 if (UNTAG_Bool(REGB1)) {
48714 REGB1 = TAG_Bool(ATTR_parser_nodes___AArrayExpr____n_exprs(fra.me.REG[0])!=NIT_NULL);
48715 /* ./parser//parser_prod.nit:8605 */
48716 if (UNTAG_Bool(REGB1)) {
48717 } else {
48718 fprintf(stderr, "Uninitialized attribute %s", "_n_exprs");
48719 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8605);
48720 nit_exit(1);
48721 }
48722 fra.me.REG[2] = ATTR_parser_nodes___AArrayExpr____n_exprs(fra.me.REG[0]);
48723 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
48724 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
48725 REGB1 = TAG_Int(1);
48726 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
48727 REGB0 = REGB1;
48728 /* ./parser//parser_prod.nit:8606 */
48729 } else {
48730 /* ./parser//parser_prod.nit:8604 */
48731 goto label1;
48732 }
48733 }
48734 label1: while(0);
48735 stack_frame_head = fra.me.prev;
48736 return;
48737 }
48738 void parser_prod___AArrayExpr___empty_init(val_t p0, int* init_table){
48739 int itpos205 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AArrayExpr].i;
48740 struct {struct stack_frame_t me;} fra;
48741 val_t tmp;
48742 if (init_table[itpos205]) return;
48743 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48744 fra.me.file = LOCATE_parser_prod;
48745 fra.me.line = 8563;
48746 fra.me.meth = LOCATE_parser_prod___AArrayExpr___empty_init;
48747 fra.me.has_broke = 0;
48748 fra.me.REG_size = 1;
48749 fra.me.REG[0] = NIT_NULL;
48750 fra.me.REG[0] = p0;
48751 /* ./parser//parser_prod.nit:8563 */
48752 stack_frame_head = fra.me.prev;
48753 init_table[itpos205] = 1;
48754 return;
48755 }
48756 void parser_prod___AArrayExpr___init_aarrayexpr(val_t p0, val_t p1, int* init_table){
48757 int itpos206 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AArrayExpr].i;
48758 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
48759 val_t REGB0;
48760 val_t tmp;
48761 if (init_table[itpos206]) return;
48762 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48763 fra.me.file = LOCATE_parser_prod;
48764 fra.me.line = 8565;
48765 fra.me.meth = LOCATE_parser_prod___AArrayExpr___init_aarrayexpr;
48766 fra.me.has_broke = 0;
48767 fra.me.REG_size = 4;
48768 fra.me.REG[0] = NIT_NULL;
48769 fra.me.REG[1] = NIT_NULL;
48770 fra.me.REG[2] = NIT_NULL;
48771 fra.me.REG[3] = NIT_NULL;
48772 fra.me.REG[0] = p0;
48773 fra.me.REG[1] = p1;
48774 /* ./parser//parser_prod.nit:8569 */
48775 CALL_parser_prod___AArrayExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
48776 fra.me.REG[1] = CALL_abstract_collection___Collection___iterator(fra.me.REG[1])(fra.me.REG[1]);
48777 /* ./parser//parser_prod.nit:8570 */
48778 while(1) {
48779 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[1])(fra.me.REG[1]);
48780 if (UNTAG_Bool(REGB0)) {
48781 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[1])(fra.me.REG[1]);
48782 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
48783 /* ./parser//parser_prod.nit:8571 */
48784 if (UNTAG_Bool(REGB0)) {
48785 } else {
48786 fprintf(stderr, "Assert failed");
48787 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8571);
48788 nit_exit(1);
48789 }
48790 REGB0 = TAG_Bool(ATTR_parser_nodes___AArrayExpr____n_exprs(fra.me.REG[0])!=NIT_NULL);
48791 /* ./parser//parser_prod.nit:8572 */
48792 if (UNTAG_Bool(REGB0)) {
48793 } else {
48794 fprintf(stderr, "Uninitialized attribute %s", "_n_exprs");
48795 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8572);
48796 nit_exit(1);
48797 }
48798 fra.me.REG[3] = ATTR_parser_nodes___AArrayExpr____n_exprs(fra.me.REG[0]);
48799 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
48800 /* ./parser//parser_prod.nit:8573 */
48801 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
48802 } else {
48803 /* ./parser//parser_prod.nit:8570 */
48804 goto label1;
48805 }
48806 CALL_abstract_collection___Iterator___next(fra.me.REG[1])(fra.me.REG[1]);
48807 }
48808 label1: while(0);
48809 stack_frame_head = fra.me.prev;
48810 init_table[itpos206] = 1;
48811 return;
48812 }
48813 void parser_prod___ASelfExpr___n_kwself__eq(val_t p0, val_t p1){
48814 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
48815 val_t REGB0;
48816 val_t tmp;
48817 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48818 fra.me.file = LOCATE_parser_prod;
48819 fra.me.line = 8612;
48820 fra.me.meth = LOCATE_parser_prod___ASelfExpr___n_kwself__eq;
48821 fra.me.has_broke = 0;
48822 fra.me.REG_size = 2;
48823 fra.me.REG[0] = NIT_NULL;
48824 fra.me.REG[1] = NIT_NULL;
48825 fra.me.REG[0] = p0;
48826 fra.me.REG[1] = p1;
48827 /* ./parser//parser_prod.nit:8614 */
48828 ATTR_parser_nodes___ASelfExpr____n_kwself(fra.me.REG[0]) = fra.me.REG[1];
48829 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
48830 /* ./parser//parser_prod.nit:8615 */
48831 if (UNTAG_Bool(REGB0)) {
48832 fprintf(stderr, "Reciever is null");
48833 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8615);
48834 nit_exit(1);
48835 }
48836 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
48837 stack_frame_head = fra.me.prev;
48838 return;
48839 }
48840 void parser_prod___ASelfExpr___replace_child(val_t p0, val_t p1, val_t p2){
48841 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
48842 val_t REGB0;
48843 val_t REGB1;
48844 val_t tmp;
48845 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48846 fra.me.file = LOCATE_parser_prod;
48847 fra.me.line = 8629;
48848 fra.me.meth = LOCATE_parser_prod___ASelfExpr___replace_child;
48849 fra.me.has_broke = 0;
48850 fra.me.REG_size = 4;
48851 fra.me.REG[0] = NIT_NULL;
48852 fra.me.REG[1] = NIT_NULL;
48853 fra.me.REG[2] = NIT_NULL;
48854 fra.me.REG[3] = NIT_NULL;
48855 fra.me.REG[0] = p0;
48856 fra.me.REG[1] = p1;
48857 fra.me.REG[2] = p2;
48858 fra.me.REG[3] = ATTR_parser_nodes___ASelfExpr____n_kwself(fra.me.REG[0]);
48859 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
48860 /* ./parser//parser_prod.nit:8631 */
48861 if (UNTAG_Bool(REGB0)) {
48862 } else {
48863 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
48864 if (UNTAG_Bool(REGB1)) {
48865 REGB1 = TAG_Bool(false);
48866 REGB0 = REGB1;
48867 } else {
48868 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
48869 REGB0 = REGB1;
48870 }
48871 }
48872 if (UNTAG_Bool(REGB0)) {
48873 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
48874 /* ./parser//parser_prod.nit:8632 */
48875 if (UNTAG_Bool(REGB0)) {
48876 } else {
48877 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
48878 if (UNTAG_Bool(REGB1)) {
48879 REGB1 = TAG_Bool(false);
48880 REGB0 = REGB1;
48881 } else {
48882 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
48883 REGB0 = REGB1;
48884 }
48885 }
48886 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
48887 if (UNTAG_Bool(REGB0)) {
48888 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
48889 /* ./parser//parser_prod.nit:8633 */
48890 if (UNTAG_Bool(REGB0)) {
48891 fprintf(stderr, "Reciever is null");
48892 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8633);
48893 nit_exit(1);
48894 }
48895 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
48896 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwself, ID_TKwself)) /*cast TKwself*/;
48897 /* ./parser//parser_prod.nit:8634 */
48898 if (UNTAG_Bool(REGB0)) {
48899 } else {
48900 fprintf(stderr, "Assert failed");
48901 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8634);
48902 nit_exit(1);
48903 }
48904 /* ./parser//parser_prod.nit:8635 */
48905 ATTR_parser_nodes___ASelfExpr____n_kwself(fra.me.REG[0]) = fra.me.REG[2];
48906 } else {
48907 /* ./parser//parser_prod.nit:8637 */
48908 fprintf(stderr, "Aborted");
48909 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8637);
48910 nit_exit(1);
48911 }
48912 /* ./parser//parser_prod.nit:8639 */
48913 goto label1;
48914 }
48915 label1: while(0);
48916 stack_frame_head = fra.me.prev;
48917 return;
48918 }
48919 void parser_prod___ASelfExpr___visit_all(val_t p0, val_t p1){
48920 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
48921 val_t tmp;
48922 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48923 fra.me.file = LOCATE_parser_prod;
48924 fra.me.line = 8643;
48925 fra.me.meth = LOCATE_parser_prod___ASelfExpr___visit_all;
48926 fra.me.has_broke = 0;
48927 fra.me.REG_size = 2;
48928 fra.me.REG[0] = NIT_NULL;
48929 fra.me.REG[1] = NIT_NULL;
48930 fra.me.REG[0] = p0;
48931 fra.me.REG[1] = p1;
48932 fra.me.REG[0] = ATTR_parser_nodes___ASelfExpr____n_kwself(fra.me.REG[0]);
48933 /* ./parser//parser_prod.nit:8645 */
48934 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
48935 stack_frame_head = fra.me.prev;
48936 return;
48937 }
48938 void parser_prod___ASelfExpr___visit_all_reverse(val_t p0, val_t p1){
48939 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
48940 val_t tmp;
48941 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48942 fra.me.file = LOCATE_parser_prod;
48943 fra.me.line = 8648;
48944 fra.me.meth = LOCATE_parser_prod___ASelfExpr___visit_all_reverse;
48945 fra.me.has_broke = 0;
48946 fra.me.REG_size = 2;
48947 fra.me.REG[0] = NIT_NULL;
48948 fra.me.REG[1] = NIT_NULL;
48949 fra.me.REG[0] = p0;
48950 fra.me.REG[1] = p1;
48951 fra.me.REG[0] = ATTR_parser_nodes___ASelfExpr____n_kwself(fra.me.REG[0]);
48952 /* ./parser//parser_prod.nit:8650 */
48953 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
48954 stack_frame_head = fra.me.prev;
48955 return;
48956 }
48957 void parser_prod___ASelfExpr___empty_init(val_t p0, int* init_table){
48958 int itpos207 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ASelfExpr].i;
48959 struct {struct stack_frame_t me;} fra;
48960 val_t tmp;
48961 if (init_table[itpos207]) return;
48962 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48963 fra.me.file = LOCATE_parser_prod;
48964 fra.me.line = 8618;
48965 fra.me.meth = LOCATE_parser_prod___ASelfExpr___empty_init;
48966 fra.me.has_broke = 0;
48967 fra.me.REG_size = 1;
48968 fra.me.REG[0] = NIT_NULL;
48969 fra.me.REG[0] = p0;
48970 /* ./parser//parser_prod.nit:8618 */
48971 stack_frame_head = fra.me.prev;
48972 init_table[itpos207] = 1;
48973 return;
48974 }
48975 void parser_prod___ASelfExpr___init_aselfexpr(val_t p0, val_t p1, int* init_table){
48976 int itpos208 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ASelfExpr].i;
48977 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
48978 val_t REGB0;
48979 val_t tmp;
48980 if (init_table[itpos208]) return;
48981 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
48982 fra.me.file = LOCATE_parser_prod;
48983 fra.me.line = 8620;
48984 fra.me.meth = LOCATE_parser_prod___ASelfExpr___init_aselfexpr;
48985 fra.me.has_broke = 0;
48986 fra.me.REG_size = 2;
48987 fra.me.REG[0] = NIT_NULL;
48988 fra.me.REG[1] = NIT_NULL;
48989 fra.me.REG[0] = p0;
48990 fra.me.REG[1] = p1;
48991 /* ./parser//parser_prod.nit:8624 */
48992 CALL_parser_prod___ASelfExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
48993 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
48994 /* ./parser//parser_prod.nit:8625 */
48995 if (UNTAG_Bool(REGB0)) {
48996 } else {
48997 fprintf(stderr, "Cast failed");
48998 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8625);
48999 nit_exit(1);
49000 }
49001 ATTR_parser_nodes___ASelfExpr____n_kwself(fra.me.REG[0]) = fra.me.REG[1];
49002 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
49003 /* ./parser//parser_prod.nit:8626 */
49004 if (UNTAG_Bool(REGB0)) {
49005 fprintf(stderr, "Reciever is null");
49006 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8626);
49007 nit_exit(1);
49008 }
49009 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
49010 stack_frame_head = fra.me.prev;
49011 init_table[itpos208] = 1;
49012 return;
49013 }
49014 void parser_prod___AImplicitSelfExpr___replace_child(val_t p0, val_t p1, val_t p2){
49015 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
49016 val_t tmp;
49017 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49018 fra.me.file = LOCATE_parser_prod;
49019 fra.me.line = 8662;
49020 fra.me.meth = LOCATE_parser_prod___AImplicitSelfExpr___replace_child;
49021 fra.me.has_broke = 0;
49022 fra.me.REG_size = 3;
49023 fra.me.REG[0] = NIT_NULL;
49024 fra.me.REG[1] = NIT_NULL;
49025 fra.me.REG[2] = NIT_NULL;
49026 fra.me.REG[0] = p0;
49027 fra.me.REG[1] = p1;
49028 fra.me.REG[2] = p2;
49029 /* ./parser//parser_prod.nit:8662 */
49030 stack_frame_head = fra.me.prev;
49031 return;
49032 }
49033 void parser_prod___AImplicitSelfExpr___visit_all(val_t p0, val_t p1){
49034 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
49035 val_t tmp;
49036 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49037 fra.me.file = LOCATE_parser_prod;
49038 fra.me.line = 8666;
49039 fra.me.meth = LOCATE_parser_prod___AImplicitSelfExpr___visit_all;
49040 fra.me.has_broke = 0;
49041 fra.me.REG_size = 2;
49042 fra.me.REG[0] = NIT_NULL;
49043 fra.me.REG[1] = NIT_NULL;
49044 fra.me.REG[0] = p0;
49045 fra.me.REG[1] = p1;
49046 /* ./parser//parser_prod.nit:8666 */
49047 stack_frame_head = fra.me.prev;
49048 return;
49049 }
49050 void parser_prod___AImplicitSelfExpr___visit_all_reverse(val_t p0, val_t p1){
49051 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
49052 val_t tmp;
49053 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49054 fra.me.file = LOCATE_parser_prod;
49055 fra.me.line = 8670;
49056 fra.me.meth = LOCATE_parser_prod___AImplicitSelfExpr___visit_all_reverse;
49057 fra.me.has_broke = 0;
49058 fra.me.REG_size = 2;
49059 fra.me.REG[0] = NIT_NULL;
49060 fra.me.REG[1] = NIT_NULL;
49061 fra.me.REG[0] = p0;
49062 fra.me.REG[1] = p1;
49063 /* ./parser//parser_prod.nit:8670 */
49064 stack_frame_head = fra.me.prev;
49065 return;
49066 }
49067 void parser_prod___AImplicitSelfExpr___empty_init(val_t p0, int* init_table){
49068 int itpos209 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AImplicitSelfExpr].i;
49069 struct {struct stack_frame_t me;} fra;
49070 val_t tmp;
49071 if (init_table[itpos209]) return;
49072 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49073 fra.me.file = LOCATE_parser_prod;
49074 fra.me.line = 8655;
49075 fra.me.meth = LOCATE_parser_prod___AImplicitSelfExpr___empty_init;
49076 fra.me.has_broke = 0;
49077 fra.me.REG_size = 1;
49078 fra.me.REG[0] = NIT_NULL;
49079 fra.me.REG[0] = p0;
49080 /* ./parser//parser_prod.nit:8655 */
49081 stack_frame_head = fra.me.prev;
49082 init_table[itpos209] = 1;
49083 return;
49084 }
49085 void parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(val_t p0, int* init_table){
49086 int itpos210 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AImplicitSelfExpr].i;
49087 struct {struct stack_frame_t me;} fra;
49088 val_t tmp;
49089 if (init_table[itpos210]) return;
49090 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49091 fra.me.file = LOCATE_parser_prod;
49092 fra.me.line = 8657;
49093 fra.me.meth = LOCATE_parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr;
49094 fra.me.has_broke = 0;
49095 fra.me.REG_size = 1;
49096 fra.me.REG[0] = NIT_NULL;
49097 fra.me.REG[0] = p0;
49098 /* ./parser//parser_prod.nit:8659 */
49099 CALL_parser_prod___AImplicitSelfExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
49100 stack_frame_head = fra.me.prev;
49101 init_table[itpos210] = 1;
49102 return;
49103 }
49104 void parser_prod___ATrueExpr___n_kwtrue__eq(val_t p0, val_t p1){
49105 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
49106 val_t tmp;
49107 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49108 fra.me.file = LOCATE_parser_prod;
49109 fra.me.line = 8675;
49110 fra.me.meth = LOCATE_parser_prod___ATrueExpr___n_kwtrue__eq;
49111 fra.me.has_broke = 0;
49112 fra.me.REG_size = 2;
49113 fra.me.REG[0] = NIT_NULL;
49114 fra.me.REG[1] = NIT_NULL;
49115 fra.me.REG[0] = p0;
49116 fra.me.REG[1] = p1;
49117 /* ./parser//parser_prod.nit:8677 */
49118 ATTR_parser_nodes___ATrueExpr____n_kwtrue(fra.me.REG[0]) = fra.me.REG[1];
49119 /* ./parser//parser_prod.nit:8678 */
49120 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
49121 stack_frame_head = fra.me.prev;
49122 return;
49123 }
49124 void parser_prod___ATrueExpr___replace_child(val_t p0, val_t p1, val_t p2){
49125 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
49126 val_t REGB0;
49127 val_t REGB1;
49128 val_t tmp;
49129 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49130 fra.me.file = LOCATE_parser_prod;
49131 fra.me.line = 8692;
49132 fra.me.meth = LOCATE_parser_prod___ATrueExpr___replace_child;
49133 fra.me.has_broke = 0;
49134 fra.me.REG_size = 4;
49135 fra.me.REG[0] = NIT_NULL;
49136 fra.me.REG[1] = NIT_NULL;
49137 fra.me.REG[2] = NIT_NULL;
49138 fra.me.REG[3] = NIT_NULL;
49139 fra.me.REG[0] = p0;
49140 fra.me.REG[1] = p1;
49141 fra.me.REG[2] = p2;
49142 REGB0 = TAG_Bool(ATTR_parser_nodes___ATrueExpr____n_kwtrue(fra.me.REG[0])!=NIT_NULL);
49143 /* ./parser//parser_prod.nit:8694 */
49144 if (UNTAG_Bool(REGB0)) {
49145 } else {
49146 fprintf(stderr, "Uninitialized attribute %s", "_n_kwtrue");
49147 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8694);
49148 nit_exit(1);
49149 }
49150 fra.me.REG[3] = ATTR_parser_nodes___ATrueExpr____n_kwtrue(fra.me.REG[0]);
49151 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
49152 if (UNTAG_Bool(REGB0)) {
49153 } else {
49154 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
49155 REGB0 = REGB1;
49156 }
49157 if (UNTAG_Bool(REGB0)) {
49158 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
49159 /* ./parser//parser_prod.nit:8695 */
49160 if (UNTAG_Bool(REGB0)) {
49161 } else {
49162 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
49163 if (UNTAG_Bool(REGB1)) {
49164 REGB1 = TAG_Bool(false);
49165 REGB0 = REGB1;
49166 } else {
49167 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
49168 REGB0 = REGB1;
49169 }
49170 }
49171 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
49172 if (UNTAG_Bool(REGB0)) {
49173 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
49174 /* ./parser//parser_prod.nit:8696 */
49175 if (UNTAG_Bool(REGB0)) {
49176 fprintf(stderr, "Reciever is null");
49177 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8696);
49178 nit_exit(1);
49179 }
49180 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
49181 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwtrue, ID_TKwtrue)) /*cast TKwtrue*/;
49182 /* ./parser//parser_prod.nit:8697 */
49183 if (UNTAG_Bool(REGB0)) {
49184 } else {
49185 fprintf(stderr, "Assert failed");
49186 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8697);
49187 nit_exit(1);
49188 }
49189 /* ./parser//parser_prod.nit:8698 */
49190 ATTR_parser_nodes___ATrueExpr____n_kwtrue(fra.me.REG[0]) = fra.me.REG[2];
49191 } else {
49192 /* ./parser//parser_prod.nit:8700 */
49193 fprintf(stderr, "Aborted");
49194 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8700);
49195 nit_exit(1);
49196 }
49197 /* ./parser//parser_prod.nit:8702 */
49198 goto label1;
49199 }
49200 label1: while(0);
49201 stack_frame_head = fra.me.prev;
49202 return;
49203 }
49204 void parser_prod___ATrueExpr___visit_all(val_t p0, val_t p1){
49205 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
49206 val_t REGB0;
49207 val_t tmp;
49208 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49209 fra.me.file = LOCATE_parser_prod;
49210 fra.me.line = 8706;
49211 fra.me.meth = LOCATE_parser_prod___ATrueExpr___visit_all;
49212 fra.me.has_broke = 0;
49213 fra.me.REG_size = 2;
49214 fra.me.REG[0] = NIT_NULL;
49215 fra.me.REG[1] = NIT_NULL;
49216 fra.me.REG[0] = p0;
49217 fra.me.REG[1] = p1;
49218 REGB0 = TAG_Bool(ATTR_parser_nodes___ATrueExpr____n_kwtrue(fra.me.REG[0])!=NIT_NULL);
49219 /* ./parser//parser_prod.nit:8708 */
49220 if (UNTAG_Bool(REGB0)) {
49221 } else {
49222 fprintf(stderr, "Uninitialized attribute %s", "_n_kwtrue");
49223 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8708);
49224 nit_exit(1);
49225 }
49226 fra.me.REG[0] = ATTR_parser_nodes___ATrueExpr____n_kwtrue(fra.me.REG[0]);
49227 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
49228 stack_frame_head = fra.me.prev;
49229 return;
49230 }
49231 void parser_prod___ATrueExpr___visit_all_reverse(val_t p0, val_t p1){
49232 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
49233 val_t REGB0;
49234 val_t tmp;
49235 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49236 fra.me.file = LOCATE_parser_prod;
49237 fra.me.line = 8711;
49238 fra.me.meth = LOCATE_parser_prod___ATrueExpr___visit_all_reverse;
49239 fra.me.has_broke = 0;
49240 fra.me.REG_size = 2;
49241 fra.me.REG[0] = NIT_NULL;
49242 fra.me.REG[1] = NIT_NULL;
49243 fra.me.REG[0] = p0;
49244 fra.me.REG[1] = p1;
49245 REGB0 = TAG_Bool(ATTR_parser_nodes___ATrueExpr____n_kwtrue(fra.me.REG[0])!=NIT_NULL);
49246 /* ./parser//parser_prod.nit:8713 */
49247 if (UNTAG_Bool(REGB0)) {
49248 } else {
49249 fprintf(stderr, "Uninitialized attribute %s", "_n_kwtrue");
49250 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8713);
49251 nit_exit(1);
49252 }
49253 fra.me.REG[0] = ATTR_parser_nodes___ATrueExpr____n_kwtrue(fra.me.REG[0]);
49254 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
49255 stack_frame_head = fra.me.prev;
49256 return;
49257 }
49258 void parser_prod___ATrueExpr___empty_init(val_t p0, int* init_table){
49259 int itpos211 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ATrueExpr].i;
49260 struct {struct stack_frame_t me;} fra;
49261 val_t tmp;
49262 if (init_table[itpos211]) return;
49263 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49264 fra.me.file = LOCATE_parser_prod;
49265 fra.me.line = 8681;
49266 fra.me.meth = LOCATE_parser_prod___ATrueExpr___empty_init;
49267 fra.me.has_broke = 0;
49268 fra.me.REG_size = 1;
49269 fra.me.REG[0] = NIT_NULL;
49270 fra.me.REG[0] = p0;
49271 /* ./parser//parser_prod.nit:8681 */
49272 stack_frame_head = fra.me.prev;
49273 init_table[itpos211] = 1;
49274 return;
49275 }
49276 void parser_prod___ATrueExpr___init_atrueexpr(val_t p0, val_t p1, int* init_table){
49277 int itpos212 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ATrueExpr].i;
49278 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
49279 val_t REGB0;
49280 val_t tmp;
49281 if (init_table[itpos212]) return;
49282 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49283 fra.me.file = LOCATE_parser_prod;
49284 fra.me.line = 8683;
49285 fra.me.meth = LOCATE_parser_prod___ATrueExpr___init_atrueexpr;
49286 fra.me.has_broke = 0;
49287 fra.me.REG_size = 2;
49288 fra.me.REG[0] = NIT_NULL;
49289 fra.me.REG[1] = NIT_NULL;
49290 fra.me.REG[0] = p0;
49291 fra.me.REG[1] = p1;
49292 /* ./parser//parser_prod.nit:8687 */
49293 CALL_parser_prod___ATrueExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
49294 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
49295 /* ./parser//parser_prod.nit:8688 */
49296 if (UNTAG_Bool(REGB0)) {
49297 } else {
49298 fprintf(stderr, "Cast failed");
49299 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8688);
49300 nit_exit(1);
49301 }
49302 ATTR_parser_nodes___ATrueExpr____n_kwtrue(fra.me.REG[0]) = fra.me.REG[1];
49303 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
49304 /* ./parser//parser_prod.nit:8689 */
49305 if (UNTAG_Bool(REGB0)) {
49306 fprintf(stderr, "Reciever is null");
49307 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8689);
49308 nit_exit(1);
49309 }
49310 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
49311 stack_frame_head = fra.me.prev;
49312 init_table[itpos212] = 1;
49313 return;
49314 }
49315 void parser_prod___AFalseExpr___n_kwfalse__eq(val_t p0, val_t p1){
49316 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
49317 val_t tmp;
49318 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49319 fra.me.file = LOCATE_parser_prod;
49320 fra.me.line = 8717;
49321 fra.me.meth = LOCATE_parser_prod___AFalseExpr___n_kwfalse__eq;
49322 fra.me.has_broke = 0;
49323 fra.me.REG_size = 2;
49324 fra.me.REG[0] = NIT_NULL;
49325 fra.me.REG[1] = NIT_NULL;
49326 fra.me.REG[0] = p0;
49327 fra.me.REG[1] = p1;
49328 /* ./parser//parser_prod.nit:8719 */
49329 ATTR_parser_nodes___AFalseExpr____n_kwfalse(fra.me.REG[0]) = fra.me.REG[1];
49330 /* ./parser//parser_prod.nit:8720 */
49331 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
49332 stack_frame_head = fra.me.prev;
49333 return;
49334 }
49335 void parser_prod___AFalseExpr___replace_child(val_t p0, val_t p1, val_t p2){
49336 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
49337 val_t REGB0;
49338 val_t REGB1;
49339 val_t tmp;
49340 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49341 fra.me.file = LOCATE_parser_prod;
49342 fra.me.line = 8734;
49343 fra.me.meth = LOCATE_parser_prod___AFalseExpr___replace_child;
49344 fra.me.has_broke = 0;
49345 fra.me.REG_size = 4;
49346 fra.me.REG[0] = NIT_NULL;
49347 fra.me.REG[1] = NIT_NULL;
49348 fra.me.REG[2] = NIT_NULL;
49349 fra.me.REG[3] = NIT_NULL;
49350 fra.me.REG[0] = p0;
49351 fra.me.REG[1] = p1;
49352 fra.me.REG[2] = p2;
49353 REGB0 = TAG_Bool(ATTR_parser_nodes___AFalseExpr____n_kwfalse(fra.me.REG[0])!=NIT_NULL);
49354 /* ./parser//parser_prod.nit:8736 */
49355 if (UNTAG_Bool(REGB0)) {
49356 } else {
49357 fprintf(stderr, "Uninitialized attribute %s", "_n_kwfalse");
49358 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8736);
49359 nit_exit(1);
49360 }
49361 fra.me.REG[3] = ATTR_parser_nodes___AFalseExpr____n_kwfalse(fra.me.REG[0]);
49362 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
49363 if (UNTAG_Bool(REGB0)) {
49364 } else {
49365 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
49366 REGB0 = REGB1;
49367 }
49368 if (UNTAG_Bool(REGB0)) {
49369 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
49370 /* ./parser//parser_prod.nit:8737 */
49371 if (UNTAG_Bool(REGB0)) {
49372 } else {
49373 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
49374 if (UNTAG_Bool(REGB1)) {
49375 REGB1 = TAG_Bool(false);
49376 REGB0 = REGB1;
49377 } else {
49378 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
49379 REGB0 = REGB1;
49380 }
49381 }
49382 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
49383 if (UNTAG_Bool(REGB0)) {
49384 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
49385 /* ./parser//parser_prod.nit:8738 */
49386 if (UNTAG_Bool(REGB0)) {
49387 fprintf(stderr, "Reciever is null");
49388 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8738);
49389 nit_exit(1);
49390 }
49391 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
49392 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwfalse, ID_TKwfalse)) /*cast TKwfalse*/;
49393 /* ./parser//parser_prod.nit:8739 */
49394 if (UNTAG_Bool(REGB0)) {
49395 } else {
49396 fprintf(stderr, "Assert failed");
49397 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8739);
49398 nit_exit(1);
49399 }
49400 /* ./parser//parser_prod.nit:8740 */
49401 ATTR_parser_nodes___AFalseExpr____n_kwfalse(fra.me.REG[0]) = fra.me.REG[2];
49402 } else {
49403 /* ./parser//parser_prod.nit:8742 */
49404 fprintf(stderr, "Aborted");
49405 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8742);
49406 nit_exit(1);
49407 }
49408 /* ./parser//parser_prod.nit:8744 */
49409 goto label1;
49410 }
49411 label1: while(0);
49412 stack_frame_head = fra.me.prev;
49413 return;
49414 }
49415 void parser_prod___AFalseExpr___visit_all(val_t p0, val_t p1){
49416 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
49417 val_t REGB0;
49418 val_t tmp;
49419 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49420 fra.me.file = LOCATE_parser_prod;
49421 fra.me.line = 8748;
49422 fra.me.meth = LOCATE_parser_prod___AFalseExpr___visit_all;
49423 fra.me.has_broke = 0;
49424 fra.me.REG_size = 2;
49425 fra.me.REG[0] = NIT_NULL;
49426 fra.me.REG[1] = NIT_NULL;
49427 fra.me.REG[0] = p0;
49428 fra.me.REG[1] = p1;
49429 REGB0 = TAG_Bool(ATTR_parser_nodes___AFalseExpr____n_kwfalse(fra.me.REG[0])!=NIT_NULL);
49430 /* ./parser//parser_prod.nit:8750 */
49431 if (UNTAG_Bool(REGB0)) {
49432 } else {
49433 fprintf(stderr, "Uninitialized attribute %s", "_n_kwfalse");
49434 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8750);
49435 nit_exit(1);
49436 }
49437 fra.me.REG[0] = ATTR_parser_nodes___AFalseExpr____n_kwfalse(fra.me.REG[0]);
49438 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
49439 stack_frame_head = fra.me.prev;
49440 return;
49441 }
49442 void parser_prod___AFalseExpr___visit_all_reverse(val_t p0, val_t p1){
49443 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
49444 val_t REGB0;
49445 val_t tmp;
49446 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49447 fra.me.file = LOCATE_parser_prod;
49448 fra.me.line = 8753;
49449 fra.me.meth = LOCATE_parser_prod___AFalseExpr___visit_all_reverse;
49450 fra.me.has_broke = 0;
49451 fra.me.REG_size = 2;
49452 fra.me.REG[0] = NIT_NULL;
49453 fra.me.REG[1] = NIT_NULL;
49454 fra.me.REG[0] = p0;
49455 fra.me.REG[1] = p1;
49456 REGB0 = TAG_Bool(ATTR_parser_nodes___AFalseExpr____n_kwfalse(fra.me.REG[0])!=NIT_NULL);
49457 /* ./parser//parser_prod.nit:8755 */
49458 if (UNTAG_Bool(REGB0)) {
49459 } else {
49460 fprintf(stderr, "Uninitialized attribute %s", "_n_kwfalse");
49461 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8755);
49462 nit_exit(1);
49463 }
49464 fra.me.REG[0] = ATTR_parser_nodes___AFalseExpr____n_kwfalse(fra.me.REG[0]);
49465 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
49466 stack_frame_head = fra.me.prev;
49467 return;
49468 }
49469 void parser_prod___AFalseExpr___empty_init(val_t p0, int* init_table){
49470 int itpos213 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AFalseExpr].i;
49471 struct {struct stack_frame_t me;} fra;
49472 val_t tmp;
49473 if (init_table[itpos213]) return;
49474 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49475 fra.me.file = LOCATE_parser_prod;
49476 fra.me.line = 8723;
49477 fra.me.meth = LOCATE_parser_prod___AFalseExpr___empty_init;
49478 fra.me.has_broke = 0;
49479 fra.me.REG_size = 1;
49480 fra.me.REG[0] = NIT_NULL;
49481 fra.me.REG[0] = p0;
49482 /* ./parser//parser_prod.nit:8723 */
49483 stack_frame_head = fra.me.prev;
49484 init_table[itpos213] = 1;
49485 return;
49486 }
49487 void parser_prod___AFalseExpr___init_afalseexpr(val_t p0, val_t p1, int* init_table){
49488 int itpos214 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AFalseExpr].i;
49489 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
49490 val_t REGB0;
49491 val_t tmp;
49492 if (init_table[itpos214]) return;
49493 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49494 fra.me.file = LOCATE_parser_prod;
49495 fra.me.line = 8725;
49496 fra.me.meth = LOCATE_parser_prod___AFalseExpr___init_afalseexpr;
49497 fra.me.has_broke = 0;
49498 fra.me.REG_size = 2;
49499 fra.me.REG[0] = NIT_NULL;
49500 fra.me.REG[1] = NIT_NULL;
49501 fra.me.REG[0] = p0;
49502 fra.me.REG[1] = p1;
49503 /* ./parser//parser_prod.nit:8729 */
49504 CALL_parser_prod___AFalseExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
49505 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
49506 /* ./parser//parser_prod.nit:8730 */
49507 if (UNTAG_Bool(REGB0)) {
49508 } else {
49509 fprintf(stderr, "Cast failed");
49510 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8730);
49511 nit_exit(1);
49512 }
49513 ATTR_parser_nodes___AFalseExpr____n_kwfalse(fra.me.REG[0]) = fra.me.REG[1];
49514 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
49515 /* ./parser//parser_prod.nit:8731 */
49516 if (UNTAG_Bool(REGB0)) {
49517 fprintf(stderr, "Reciever is null");
49518 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8731);
49519 nit_exit(1);
49520 }
49521 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
49522 stack_frame_head = fra.me.prev;
49523 init_table[itpos214] = 1;
49524 return;
49525 }
49526 void parser_prod___ANullExpr___n_kwnull__eq(val_t p0, val_t p1){
49527 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
49528 val_t tmp;
49529 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49530 fra.me.file = LOCATE_parser_prod;
49531 fra.me.line = 8759;
49532 fra.me.meth = LOCATE_parser_prod___ANullExpr___n_kwnull__eq;
49533 fra.me.has_broke = 0;
49534 fra.me.REG_size = 2;
49535 fra.me.REG[0] = NIT_NULL;
49536 fra.me.REG[1] = NIT_NULL;
49537 fra.me.REG[0] = p0;
49538 fra.me.REG[1] = p1;
49539 /* ./parser//parser_prod.nit:8761 */
49540 ATTR_parser_nodes___ANullExpr____n_kwnull(fra.me.REG[0]) = fra.me.REG[1];
49541 /* ./parser//parser_prod.nit:8762 */
49542 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
49543 stack_frame_head = fra.me.prev;
49544 return;
49545 }
49546 void parser_prod___ANullExpr___replace_child(val_t p0, val_t p1, val_t p2){
49547 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
49548 val_t REGB0;
49549 val_t REGB1;
49550 val_t tmp;
49551 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49552 fra.me.file = LOCATE_parser_prod;
49553 fra.me.line = 8776;
49554 fra.me.meth = LOCATE_parser_prod___ANullExpr___replace_child;
49555 fra.me.has_broke = 0;
49556 fra.me.REG_size = 4;
49557 fra.me.REG[0] = NIT_NULL;
49558 fra.me.REG[1] = NIT_NULL;
49559 fra.me.REG[2] = NIT_NULL;
49560 fra.me.REG[3] = NIT_NULL;
49561 fra.me.REG[0] = p0;
49562 fra.me.REG[1] = p1;
49563 fra.me.REG[2] = p2;
49564 REGB0 = TAG_Bool(ATTR_parser_nodes___ANullExpr____n_kwnull(fra.me.REG[0])!=NIT_NULL);
49565 /* ./parser//parser_prod.nit:8778 */
49566 if (UNTAG_Bool(REGB0)) {
49567 } else {
49568 fprintf(stderr, "Uninitialized attribute %s", "_n_kwnull");
49569 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8778);
49570 nit_exit(1);
49571 }
49572 fra.me.REG[3] = ATTR_parser_nodes___ANullExpr____n_kwnull(fra.me.REG[0]);
49573 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
49574 if (UNTAG_Bool(REGB0)) {
49575 } else {
49576 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
49577 REGB0 = REGB1;
49578 }
49579 if (UNTAG_Bool(REGB0)) {
49580 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
49581 /* ./parser//parser_prod.nit:8779 */
49582 if (UNTAG_Bool(REGB0)) {
49583 } else {
49584 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
49585 if (UNTAG_Bool(REGB1)) {
49586 REGB1 = TAG_Bool(false);
49587 REGB0 = REGB1;
49588 } else {
49589 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
49590 REGB0 = REGB1;
49591 }
49592 }
49593 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
49594 if (UNTAG_Bool(REGB0)) {
49595 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
49596 /* ./parser//parser_prod.nit:8780 */
49597 if (UNTAG_Bool(REGB0)) {
49598 fprintf(stderr, "Reciever is null");
49599 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8780);
49600 nit_exit(1);
49601 }
49602 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
49603 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/;
49604 /* ./parser//parser_prod.nit:8781 */
49605 if (UNTAG_Bool(REGB0)) {
49606 } else {
49607 fprintf(stderr, "Assert failed");
49608 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8781);
49609 nit_exit(1);
49610 }
49611 /* ./parser//parser_prod.nit:8782 */
49612 ATTR_parser_nodes___ANullExpr____n_kwnull(fra.me.REG[0]) = fra.me.REG[2];
49613 } else {
49614 /* ./parser//parser_prod.nit:8784 */
49615 fprintf(stderr, "Aborted");
49616 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8784);
49617 nit_exit(1);
49618 }
49619 /* ./parser//parser_prod.nit:8786 */
49620 goto label1;
49621 }
49622 label1: while(0);
49623 stack_frame_head = fra.me.prev;
49624 return;
49625 }
49626 void parser_prod___ANullExpr___visit_all(val_t p0, val_t p1){
49627 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
49628 val_t REGB0;
49629 val_t tmp;
49630 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49631 fra.me.file = LOCATE_parser_prod;
49632 fra.me.line = 8790;
49633 fra.me.meth = LOCATE_parser_prod___ANullExpr___visit_all;
49634 fra.me.has_broke = 0;
49635 fra.me.REG_size = 2;
49636 fra.me.REG[0] = NIT_NULL;
49637 fra.me.REG[1] = NIT_NULL;
49638 fra.me.REG[0] = p0;
49639 fra.me.REG[1] = p1;
49640 REGB0 = TAG_Bool(ATTR_parser_nodes___ANullExpr____n_kwnull(fra.me.REG[0])!=NIT_NULL);
49641 /* ./parser//parser_prod.nit:8792 */
49642 if (UNTAG_Bool(REGB0)) {
49643 } else {
49644 fprintf(stderr, "Uninitialized attribute %s", "_n_kwnull");
49645 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8792);
49646 nit_exit(1);
49647 }
49648 fra.me.REG[0] = ATTR_parser_nodes___ANullExpr____n_kwnull(fra.me.REG[0]);
49649 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
49650 stack_frame_head = fra.me.prev;
49651 return;
49652 }
49653 void parser_prod___ANullExpr___visit_all_reverse(val_t p0, val_t p1){
49654 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
49655 val_t REGB0;
49656 val_t tmp;
49657 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49658 fra.me.file = LOCATE_parser_prod;
49659 fra.me.line = 8795;
49660 fra.me.meth = LOCATE_parser_prod___ANullExpr___visit_all_reverse;
49661 fra.me.has_broke = 0;
49662 fra.me.REG_size = 2;
49663 fra.me.REG[0] = NIT_NULL;
49664 fra.me.REG[1] = NIT_NULL;
49665 fra.me.REG[0] = p0;
49666 fra.me.REG[1] = p1;
49667 REGB0 = TAG_Bool(ATTR_parser_nodes___ANullExpr____n_kwnull(fra.me.REG[0])!=NIT_NULL);
49668 /* ./parser//parser_prod.nit:8797 */
49669 if (UNTAG_Bool(REGB0)) {
49670 } else {
49671 fprintf(stderr, "Uninitialized attribute %s", "_n_kwnull");
49672 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8797);
49673 nit_exit(1);
49674 }
49675 fra.me.REG[0] = ATTR_parser_nodes___ANullExpr____n_kwnull(fra.me.REG[0]);
49676 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
49677 stack_frame_head = fra.me.prev;
49678 return;
49679 }
49680 void parser_prod___ANullExpr___empty_init(val_t p0, int* init_table){
49681 int itpos215 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ANullExpr].i;
49682 struct {struct stack_frame_t me;} fra;
49683 val_t tmp;
49684 if (init_table[itpos215]) return;
49685 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49686 fra.me.file = LOCATE_parser_prod;
49687 fra.me.line = 8765;
49688 fra.me.meth = LOCATE_parser_prod___ANullExpr___empty_init;
49689 fra.me.has_broke = 0;
49690 fra.me.REG_size = 1;
49691 fra.me.REG[0] = NIT_NULL;
49692 fra.me.REG[0] = p0;
49693 /* ./parser//parser_prod.nit:8765 */
49694 stack_frame_head = fra.me.prev;
49695 init_table[itpos215] = 1;
49696 return;
49697 }
49698 void parser_prod___ANullExpr___init_anullexpr(val_t p0, val_t p1, int* init_table){
49699 int itpos216 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ANullExpr].i;
49700 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
49701 val_t REGB0;
49702 val_t tmp;
49703 if (init_table[itpos216]) return;
49704 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49705 fra.me.file = LOCATE_parser_prod;
49706 fra.me.line = 8767;
49707 fra.me.meth = LOCATE_parser_prod___ANullExpr___init_anullexpr;
49708 fra.me.has_broke = 0;
49709 fra.me.REG_size = 2;
49710 fra.me.REG[0] = NIT_NULL;
49711 fra.me.REG[1] = NIT_NULL;
49712 fra.me.REG[0] = p0;
49713 fra.me.REG[1] = p1;
49714 /* ./parser//parser_prod.nit:8771 */
49715 CALL_parser_prod___ANullExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
49716 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
49717 /* ./parser//parser_prod.nit:8772 */
49718 if (UNTAG_Bool(REGB0)) {
49719 } else {
49720 fprintf(stderr, "Cast failed");
49721 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8772);
49722 nit_exit(1);
49723 }
49724 ATTR_parser_nodes___ANullExpr____n_kwnull(fra.me.REG[0]) = fra.me.REG[1];
49725 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
49726 /* ./parser//parser_prod.nit:8773 */
49727 if (UNTAG_Bool(REGB0)) {
49728 fprintf(stderr, "Reciever is null");
49729 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8773);
49730 nit_exit(1);
49731 }
49732 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
49733 stack_frame_head = fra.me.prev;
49734 init_table[itpos216] = 1;
49735 return;
49736 }
49737 void parser_prod___AIntExpr___n_number__eq(val_t p0, val_t p1){
49738 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
49739 val_t tmp;
49740 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49741 fra.me.file = LOCATE_parser_prod;
49742 fra.me.line = 8801;
49743 fra.me.meth = LOCATE_parser_prod___AIntExpr___n_number__eq;
49744 fra.me.has_broke = 0;
49745 fra.me.REG_size = 2;
49746 fra.me.REG[0] = NIT_NULL;
49747 fra.me.REG[1] = NIT_NULL;
49748 fra.me.REG[0] = p0;
49749 fra.me.REG[1] = p1;
49750 /* ./parser//parser_prod.nit:8803 */
49751 ATTR_parser_nodes___AIntExpr____n_number(fra.me.REG[0]) = fra.me.REG[1];
49752 /* ./parser//parser_prod.nit:8804 */
49753 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
49754 stack_frame_head = fra.me.prev;
49755 return;
49756 }
49757 void parser_prod___AIntExpr___replace_child(val_t p0, val_t p1, val_t p2){
49758 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
49759 val_t REGB0;
49760 val_t REGB1;
49761 val_t tmp;
49762 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49763 fra.me.file = LOCATE_parser_prod;
49764 fra.me.line = 8818;
49765 fra.me.meth = LOCATE_parser_prod___AIntExpr___replace_child;
49766 fra.me.has_broke = 0;
49767 fra.me.REG_size = 4;
49768 fra.me.REG[0] = NIT_NULL;
49769 fra.me.REG[1] = NIT_NULL;
49770 fra.me.REG[2] = NIT_NULL;
49771 fra.me.REG[3] = NIT_NULL;
49772 fra.me.REG[0] = p0;
49773 fra.me.REG[1] = p1;
49774 fra.me.REG[2] = p2;
49775 REGB0 = TAG_Bool(ATTR_parser_nodes___AIntExpr____n_number(fra.me.REG[0])!=NIT_NULL);
49776 /* ./parser//parser_prod.nit:8820 */
49777 if (UNTAG_Bool(REGB0)) {
49778 } else {
49779 fprintf(stderr, "Uninitialized attribute %s", "_n_number");
49780 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8820);
49781 nit_exit(1);
49782 }
49783 fra.me.REG[3] = ATTR_parser_nodes___AIntExpr____n_number(fra.me.REG[0]);
49784 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
49785 if (UNTAG_Bool(REGB0)) {
49786 } else {
49787 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
49788 REGB0 = REGB1;
49789 }
49790 if (UNTAG_Bool(REGB0)) {
49791 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
49792 /* ./parser//parser_prod.nit:8821 */
49793 if (UNTAG_Bool(REGB0)) {
49794 } else {
49795 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
49796 if (UNTAG_Bool(REGB1)) {
49797 REGB1 = TAG_Bool(false);
49798 REGB0 = REGB1;
49799 } else {
49800 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
49801 REGB0 = REGB1;
49802 }
49803 }
49804 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
49805 if (UNTAG_Bool(REGB0)) {
49806 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
49807 /* ./parser//parser_prod.nit:8822 */
49808 if (UNTAG_Bool(REGB0)) {
49809 fprintf(stderr, "Reciever is null");
49810 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8822);
49811 nit_exit(1);
49812 }
49813 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
49814 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TNumber, ID_TNumber)) /*cast TNumber*/;
49815 /* ./parser//parser_prod.nit:8823 */
49816 if (UNTAG_Bool(REGB0)) {
49817 } else {
49818 fprintf(stderr, "Assert failed");
49819 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8823);
49820 nit_exit(1);
49821 }
49822 /* ./parser//parser_prod.nit:8824 */
49823 ATTR_parser_nodes___AIntExpr____n_number(fra.me.REG[0]) = fra.me.REG[2];
49824 } else {
49825 /* ./parser//parser_prod.nit:8826 */
49826 fprintf(stderr, "Aborted");
49827 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8826);
49828 nit_exit(1);
49829 }
49830 /* ./parser//parser_prod.nit:8828 */
49831 goto label1;
49832 }
49833 label1: while(0);
49834 stack_frame_head = fra.me.prev;
49835 return;
49836 }
49837 void parser_prod___AIntExpr___visit_all(val_t p0, val_t p1){
49838 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
49839 val_t REGB0;
49840 val_t tmp;
49841 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49842 fra.me.file = LOCATE_parser_prod;
49843 fra.me.line = 8832;
49844 fra.me.meth = LOCATE_parser_prod___AIntExpr___visit_all;
49845 fra.me.has_broke = 0;
49846 fra.me.REG_size = 2;
49847 fra.me.REG[0] = NIT_NULL;
49848 fra.me.REG[1] = NIT_NULL;
49849 fra.me.REG[0] = p0;
49850 fra.me.REG[1] = p1;
49851 REGB0 = TAG_Bool(ATTR_parser_nodes___AIntExpr____n_number(fra.me.REG[0])!=NIT_NULL);
49852 /* ./parser//parser_prod.nit:8834 */
49853 if (UNTAG_Bool(REGB0)) {
49854 } else {
49855 fprintf(stderr, "Uninitialized attribute %s", "_n_number");
49856 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8834);
49857 nit_exit(1);
49858 }
49859 fra.me.REG[0] = ATTR_parser_nodes___AIntExpr____n_number(fra.me.REG[0]);
49860 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
49861 stack_frame_head = fra.me.prev;
49862 return;
49863 }
49864 void parser_prod___AIntExpr___visit_all_reverse(val_t p0, val_t p1){
49865 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
49866 val_t REGB0;
49867 val_t tmp;
49868 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49869 fra.me.file = LOCATE_parser_prod;
49870 fra.me.line = 8837;
49871 fra.me.meth = LOCATE_parser_prod___AIntExpr___visit_all_reverse;
49872 fra.me.has_broke = 0;
49873 fra.me.REG_size = 2;
49874 fra.me.REG[0] = NIT_NULL;
49875 fra.me.REG[1] = NIT_NULL;
49876 fra.me.REG[0] = p0;
49877 fra.me.REG[1] = p1;
49878 REGB0 = TAG_Bool(ATTR_parser_nodes___AIntExpr____n_number(fra.me.REG[0])!=NIT_NULL);
49879 /* ./parser//parser_prod.nit:8839 */
49880 if (UNTAG_Bool(REGB0)) {
49881 } else {
49882 fprintf(stderr, "Uninitialized attribute %s", "_n_number");
49883 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8839);
49884 nit_exit(1);
49885 }
49886 fra.me.REG[0] = ATTR_parser_nodes___AIntExpr____n_number(fra.me.REG[0]);
49887 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
49888 stack_frame_head = fra.me.prev;
49889 return;
49890 }
49891 void parser_prod___AIntExpr___empty_init(val_t p0, int* init_table){
49892 int itpos217 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AIntExpr].i;
49893 struct {struct stack_frame_t me;} fra;
49894 val_t tmp;
49895 if (init_table[itpos217]) return;
49896 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49897 fra.me.file = LOCATE_parser_prod;
49898 fra.me.line = 8807;
49899 fra.me.meth = LOCATE_parser_prod___AIntExpr___empty_init;
49900 fra.me.has_broke = 0;
49901 fra.me.REG_size = 1;
49902 fra.me.REG[0] = NIT_NULL;
49903 fra.me.REG[0] = p0;
49904 /* ./parser//parser_prod.nit:8807 */
49905 stack_frame_head = fra.me.prev;
49906 init_table[itpos217] = 1;
49907 return;
49908 }
49909 void parser_prod___AIntExpr___init_aintexpr(val_t p0, val_t p1, int* init_table){
49910 int itpos218 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AIntExpr].i;
49911 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
49912 val_t REGB0;
49913 val_t tmp;
49914 if (init_table[itpos218]) return;
49915 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49916 fra.me.file = LOCATE_parser_prod;
49917 fra.me.line = 8809;
49918 fra.me.meth = LOCATE_parser_prod___AIntExpr___init_aintexpr;
49919 fra.me.has_broke = 0;
49920 fra.me.REG_size = 2;
49921 fra.me.REG[0] = NIT_NULL;
49922 fra.me.REG[1] = NIT_NULL;
49923 fra.me.REG[0] = p0;
49924 fra.me.REG[1] = p1;
49925 /* ./parser//parser_prod.nit:8813 */
49926 CALL_parser_prod___AIntExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
49927 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
49928 /* ./parser//parser_prod.nit:8814 */
49929 if (UNTAG_Bool(REGB0)) {
49930 } else {
49931 fprintf(stderr, "Cast failed");
49932 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8814);
49933 nit_exit(1);
49934 }
49935 ATTR_parser_nodes___AIntExpr____n_number(fra.me.REG[0]) = fra.me.REG[1];
49936 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
49937 /* ./parser//parser_prod.nit:8815 */
49938 if (UNTAG_Bool(REGB0)) {
49939 fprintf(stderr, "Reciever is null");
49940 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8815);
49941 nit_exit(1);
49942 }
49943 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
49944 stack_frame_head = fra.me.prev;
49945 init_table[itpos218] = 1;
49946 return;
49947 }
49948 void parser_prod___AFloatExpr___n_float__eq(val_t p0, val_t p1){
49949 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
49950 val_t tmp;
49951 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49952 fra.me.file = LOCATE_parser_prod;
49953 fra.me.line = 8843;
49954 fra.me.meth = LOCATE_parser_prod___AFloatExpr___n_float__eq;
49955 fra.me.has_broke = 0;
49956 fra.me.REG_size = 2;
49957 fra.me.REG[0] = NIT_NULL;
49958 fra.me.REG[1] = NIT_NULL;
49959 fra.me.REG[0] = p0;
49960 fra.me.REG[1] = p1;
49961 /* ./parser//parser_prod.nit:8845 */
49962 ATTR_parser_nodes___AFloatExpr____n_float(fra.me.REG[0]) = fra.me.REG[1];
49963 /* ./parser//parser_prod.nit:8846 */
49964 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
49965 stack_frame_head = fra.me.prev;
49966 return;
49967 }
49968 void parser_prod___AFloatExpr___replace_child(val_t p0, val_t p1, val_t p2){
49969 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
49970 val_t REGB0;
49971 val_t REGB1;
49972 val_t tmp;
49973 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
49974 fra.me.file = LOCATE_parser_prod;
49975 fra.me.line = 8860;
49976 fra.me.meth = LOCATE_parser_prod___AFloatExpr___replace_child;
49977 fra.me.has_broke = 0;
49978 fra.me.REG_size = 4;
49979 fra.me.REG[0] = NIT_NULL;
49980 fra.me.REG[1] = NIT_NULL;
49981 fra.me.REG[2] = NIT_NULL;
49982 fra.me.REG[3] = NIT_NULL;
49983 fra.me.REG[0] = p0;
49984 fra.me.REG[1] = p1;
49985 fra.me.REG[2] = p2;
49986 REGB0 = TAG_Bool(ATTR_parser_nodes___AFloatExpr____n_float(fra.me.REG[0])!=NIT_NULL);
49987 /* ./parser//parser_prod.nit:8862 */
49988 if (UNTAG_Bool(REGB0)) {
49989 } else {
49990 fprintf(stderr, "Uninitialized attribute %s", "_n_float");
49991 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8862);
49992 nit_exit(1);
49993 }
49994 fra.me.REG[3] = ATTR_parser_nodes___AFloatExpr____n_float(fra.me.REG[0]);
49995 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
49996 if (UNTAG_Bool(REGB0)) {
49997 } else {
49998 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
49999 REGB0 = REGB1;
50000 }
50001 if (UNTAG_Bool(REGB0)) {
50002 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
50003 /* ./parser//parser_prod.nit:8863 */
50004 if (UNTAG_Bool(REGB0)) {
50005 } else {
50006 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
50007 if (UNTAG_Bool(REGB1)) {
50008 REGB1 = TAG_Bool(false);
50009 REGB0 = REGB1;
50010 } else {
50011 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
50012 REGB0 = REGB1;
50013 }
50014 }
50015 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
50016 if (UNTAG_Bool(REGB0)) {
50017 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
50018 /* ./parser//parser_prod.nit:8864 */
50019 if (UNTAG_Bool(REGB0)) {
50020 fprintf(stderr, "Reciever is null");
50021 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8864);
50022 nit_exit(1);
50023 }
50024 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
50025 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TFloat, ID_TFloat)) /*cast TFloat*/;
50026 /* ./parser//parser_prod.nit:8865 */
50027 if (UNTAG_Bool(REGB0)) {
50028 } else {
50029 fprintf(stderr, "Assert failed");
50030 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8865);
50031 nit_exit(1);
50032 }
50033 /* ./parser//parser_prod.nit:8866 */
50034 ATTR_parser_nodes___AFloatExpr____n_float(fra.me.REG[0]) = fra.me.REG[2];
50035 } else {
50036 /* ./parser//parser_prod.nit:8868 */
50037 fprintf(stderr, "Aborted");
50038 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8868);
50039 nit_exit(1);
50040 }
50041 /* ./parser//parser_prod.nit:8870 */
50042 goto label1;
50043 }
50044 label1: while(0);
50045 stack_frame_head = fra.me.prev;
50046 return;
50047 }
50048 void parser_prod___AFloatExpr___visit_all(val_t p0, val_t p1){
50049 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
50050 val_t REGB0;
50051 val_t tmp;
50052 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50053 fra.me.file = LOCATE_parser_prod;
50054 fra.me.line = 8874;
50055 fra.me.meth = LOCATE_parser_prod___AFloatExpr___visit_all;
50056 fra.me.has_broke = 0;
50057 fra.me.REG_size = 2;
50058 fra.me.REG[0] = NIT_NULL;
50059 fra.me.REG[1] = NIT_NULL;
50060 fra.me.REG[0] = p0;
50061 fra.me.REG[1] = p1;
50062 REGB0 = TAG_Bool(ATTR_parser_nodes___AFloatExpr____n_float(fra.me.REG[0])!=NIT_NULL);
50063 /* ./parser//parser_prod.nit:8876 */
50064 if (UNTAG_Bool(REGB0)) {
50065 } else {
50066 fprintf(stderr, "Uninitialized attribute %s", "_n_float");
50067 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8876);
50068 nit_exit(1);
50069 }
50070 fra.me.REG[0] = ATTR_parser_nodes___AFloatExpr____n_float(fra.me.REG[0]);
50071 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
50072 stack_frame_head = fra.me.prev;
50073 return;
50074 }
50075 void parser_prod___AFloatExpr___visit_all_reverse(val_t p0, val_t p1){
50076 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
50077 val_t REGB0;
50078 val_t tmp;
50079 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50080 fra.me.file = LOCATE_parser_prod;
50081 fra.me.line = 8879;
50082 fra.me.meth = LOCATE_parser_prod___AFloatExpr___visit_all_reverse;
50083 fra.me.has_broke = 0;
50084 fra.me.REG_size = 2;
50085 fra.me.REG[0] = NIT_NULL;
50086 fra.me.REG[1] = NIT_NULL;
50087 fra.me.REG[0] = p0;
50088 fra.me.REG[1] = p1;
50089 REGB0 = TAG_Bool(ATTR_parser_nodes___AFloatExpr____n_float(fra.me.REG[0])!=NIT_NULL);
50090 /* ./parser//parser_prod.nit:8881 */
50091 if (UNTAG_Bool(REGB0)) {
50092 } else {
50093 fprintf(stderr, "Uninitialized attribute %s", "_n_float");
50094 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8881);
50095 nit_exit(1);
50096 }
50097 fra.me.REG[0] = ATTR_parser_nodes___AFloatExpr____n_float(fra.me.REG[0]);
50098 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
50099 stack_frame_head = fra.me.prev;
50100 return;
50101 }
50102 void parser_prod___AFloatExpr___empty_init(val_t p0, int* init_table){
50103 int itpos219 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AFloatExpr].i;
50104 struct {struct stack_frame_t me;} fra;
50105 val_t tmp;
50106 if (init_table[itpos219]) return;
50107 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50108 fra.me.file = LOCATE_parser_prod;
50109 fra.me.line = 8849;
50110 fra.me.meth = LOCATE_parser_prod___AFloatExpr___empty_init;
50111 fra.me.has_broke = 0;
50112 fra.me.REG_size = 1;
50113 fra.me.REG[0] = NIT_NULL;
50114 fra.me.REG[0] = p0;
50115 /* ./parser//parser_prod.nit:8849 */
50116 stack_frame_head = fra.me.prev;
50117 init_table[itpos219] = 1;
50118 return;
50119 }
50120 void parser_prod___AFloatExpr___init_afloatexpr(val_t p0, val_t p1, int* init_table){
50121 int itpos220 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AFloatExpr].i;
50122 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
50123 val_t REGB0;
50124 val_t tmp;
50125 if (init_table[itpos220]) return;
50126 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50127 fra.me.file = LOCATE_parser_prod;
50128 fra.me.line = 8851;
50129 fra.me.meth = LOCATE_parser_prod___AFloatExpr___init_afloatexpr;
50130 fra.me.has_broke = 0;
50131 fra.me.REG_size = 2;
50132 fra.me.REG[0] = NIT_NULL;
50133 fra.me.REG[1] = NIT_NULL;
50134 fra.me.REG[0] = p0;
50135 fra.me.REG[1] = p1;
50136 /* ./parser//parser_prod.nit:8855 */
50137 CALL_parser_prod___AFloatExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
50138 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
50139 /* ./parser//parser_prod.nit:8856 */
50140 if (UNTAG_Bool(REGB0)) {
50141 } else {
50142 fprintf(stderr, "Cast failed");
50143 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8856);
50144 nit_exit(1);
50145 }
50146 ATTR_parser_nodes___AFloatExpr____n_float(fra.me.REG[0]) = fra.me.REG[1];
50147 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
50148 /* ./parser//parser_prod.nit:8857 */
50149 if (UNTAG_Bool(REGB0)) {
50150 fprintf(stderr, "Reciever is null");
50151 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8857);
50152 nit_exit(1);
50153 }
50154 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
50155 stack_frame_head = fra.me.prev;
50156 init_table[itpos220] = 1;
50157 return;
50158 }
50159 void parser_prod___ACharExpr___n_char__eq(val_t p0, val_t p1){
50160 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
50161 val_t tmp;
50162 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50163 fra.me.file = LOCATE_parser_prod;
50164 fra.me.line = 8885;
50165 fra.me.meth = LOCATE_parser_prod___ACharExpr___n_char__eq;
50166 fra.me.has_broke = 0;
50167 fra.me.REG_size = 2;
50168 fra.me.REG[0] = NIT_NULL;
50169 fra.me.REG[1] = NIT_NULL;
50170 fra.me.REG[0] = p0;
50171 fra.me.REG[1] = p1;
50172 /* ./parser//parser_prod.nit:8887 */
50173 ATTR_parser_nodes___ACharExpr____n_char(fra.me.REG[0]) = fra.me.REG[1];
50174 /* ./parser//parser_prod.nit:8888 */
50175 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
50176 stack_frame_head = fra.me.prev;
50177 return;
50178 }
50179 void parser_prod___ACharExpr___replace_child(val_t p0, val_t p1, val_t p2){
50180 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
50181 val_t REGB0;
50182 val_t REGB1;
50183 val_t tmp;
50184 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50185 fra.me.file = LOCATE_parser_prod;
50186 fra.me.line = 8902;
50187 fra.me.meth = LOCATE_parser_prod___ACharExpr___replace_child;
50188 fra.me.has_broke = 0;
50189 fra.me.REG_size = 4;
50190 fra.me.REG[0] = NIT_NULL;
50191 fra.me.REG[1] = NIT_NULL;
50192 fra.me.REG[2] = NIT_NULL;
50193 fra.me.REG[3] = NIT_NULL;
50194 fra.me.REG[0] = p0;
50195 fra.me.REG[1] = p1;
50196 fra.me.REG[2] = p2;
50197 REGB0 = TAG_Bool(ATTR_parser_nodes___ACharExpr____n_char(fra.me.REG[0])!=NIT_NULL);
50198 /* ./parser//parser_prod.nit:8904 */
50199 if (UNTAG_Bool(REGB0)) {
50200 } else {
50201 fprintf(stderr, "Uninitialized attribute %s", "_n_char");
50202 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8904);
50203 nit_exit(1);
50204 }
50205 fra.me.REG[3] = ATTR_parser_nodes___ACharExpr____n_char(fra.me.REG[0]);
50206 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
50207 if (UNTAG_Bool(REGB0)) {
50208 } else {
50209 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
50210 REGB0 = REGB1;
50211 }
50212 if (UNTAG_Bool(REGB0)) {
50213 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
50214 /* ./parser//parser_prod.nit:8905 */
50215 if (UNTAG_Bool(REGB0)) {
50216 } else {
50217 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
50218 if (UNTAG_Bool(REGB1)) {
50219 REGB1 = TAG_Bool(false);
50220 REGB0 = REGB1;
50221 } else {
50222 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
50223 REGB0 = REGB1;
50224 }
50225 }
50226 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
50227 if (UNTAG_Bool(REGB0)) {
50228 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
50229 /* ./parser//parser_prod.nit:8906 */
50230 if (UNTAG_Bool(REGB0)) {
50231 fprintf(stderr, "Reciever is null");
50232 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8906);
50233 nit_exit(1);
50234 }
50235 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
50236 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TChar, ID_TChar)) /*cast TChar*/;
50237 /* ./parser//parser_prod.nit:8907 */
50238 if (UNTAG_Bool(REGB0)) {
50239 } else {
50240 fprintf(stderr, "Assert failed");
50241 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8907);
50242 nit_exit(1);
50243 }
50244 /* ./parser//parser_prod.nit:8908 */
50245 ATTR_parser_nodes___ACharExpr____n_char(fra.me.REG[0]) = fra.me.REG[2];
50246 } else {
50247 /* ./parser//parser_prod.nit:8910 */
50248 fprintf(stderr, "Aborted");
50249 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8910);
50250 nit_exit(1);
50251 }
50252 /* ./parser//parser_prod.nit:8912 */
50253 goto label1;
50254 }
50255 label1: while(0);
50256 stack_frame_head = fra.me.prev;
50257 return;
50258 }
50259 void parser_prod___ACharExpr___visit_all(val_t p0, val_t p1){
50260 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
50261 val_t REGB0;
50262 val_t tmp;
50263 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50264 fra.me.file = LOCATE_parser_prod;
50265 fra.me.line = 8916;
50266 fra.me.meth = LOCATE_parser_prod___ACharExpr___visit_all;
50267 fra.me.has_broke = 0;
50268 fra.me.REG_size = 2;
50269 fra.me.REG[0] = NIT_NULL;
50270 fra.me.REG[1] = NIT_NULL;
50271 fra.me.REG[0] = p0;
50272 fra.me.REG[1] = p1;
50273 REGB0 = TAG_Bool(ATTR_parser_nodes___ACharExpr____n_char(fra.me.REG[0])!=NIT_NULL);
50274 /* ./parser//parser_prod.nit:8918 */
50275 if (UNTAG_Bool(REGB0)) {
50276 } else {
50277 fprintf(stderr, "Uninitialized attribute %s", "_n_char");
50278 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8918);
50279 nit_exit(1);
50280 }
50281 fra.me.REG[0] = ATTR_parser_nodes___ACharExpr____n_char(fra.me.REG[0]);
50282 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
50283 stack_frame_head = fra.me.prev;
50284 return;
50285 }
50286 void parser_prod___ACharExpr___visit_all_reverse(val_t p0, val_t p1){
50287 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
50288 val_t REGB0;
50289 val_t tmp;
50290 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50291 fra.me.file = LOCATE_parser_prod;
50292 fra.me.line = 8921;
50293 fra.me.meth = LOCATE_parser_prod___ACharExpr___visit_all_reverse;
50294 fra.me.has_broke = 0;
50295 fra.me.REG_size = 2;
50296 fra.me.REG[0] = NIT_NULL;
50297 fra.me.REG[1] = NIT_NULL;
50298 fra.me.REG[0] = p0;
50299 fra.me.REG[1] = p1;
50300 REGB0 = TAG_Bool(ATTR_parser_nodes___ACharExpr____n_char(fra.me.REG[0])!=NIT_NULL);
50301 /* ./parser//parser_prod.nit:8923 */
50302 if (UNTAG_Bool(REGB0)) {
50303 } else {
50304 fprintf(stderr, "Uninitialized attribute %s", "_n_char");
50305 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8923);
50306 nit_exit(1);
50307 }
50308 fra.me.REG[0] = ATTR_parser_nodes___ACharExpr____n_char(fra.me.REG[0]);
50309 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
50310 stack_frame_head = fra.me.prev;
50311 return;
50312 }
50313 void parser_prod___ACharExpr___empty_init(val_t p0, int* init_table){
50314 int itpos221 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ACharExpr].i;
50315 struct {struct stack_frame_t me;} fra;
50316 val_t tmp;
50317 if (init_table[itpos221]) return;
50318 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50319 fra.me.file = LOCATE_parser_prod;
50320 fra.me.line = 8891;
50321 fra.me.meth = LOCATE_parser_prod___ACharExpr___empty_init;
50322 fra.me.has_broke = 0;
50323 fra.me.REG_size = 1;
50324 fra.me.REG[0] = NIT_NULL;
50325 fra.me.REG[0] = p0;
50326 /* ./parser//parser_prod.nit:8891 */
50327 stack_frame_head = fra.me.prev;
50328 init_table[itpos221] = 1;
50329 return;
50330 }
50331 void parser_prod___ACharExpr___init_acharexpr(val_t p0, val_t p1, int* init_table){
50332 int itpos222 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ACharExpr].i;
50333 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
50334 val_t REGB0;
50335 val_t tmp;
50336 if (init_table[itpos222]) return;
50337 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50338 fra.me.file = LOCATE_parser_prod;
50339 fra.me.line = 8893;
50340 fra.me.meth = LOCATE_parser_prod___ACharExpr___init_acharexpr;
50341 fra.me.has_broke = 0;
50342 fra.me.REG_size = 2;
50343 fra.me.REG[0] = NIT_NULL;
50344 fra.me.REG[1] = NIT_NULL;
50345 fra.me.REG[0] = p0;
50346 fra.me.REG[1] = p1;
50347 /* ./parser//parser_prod.nit:8897 */
50348 CALL_parser_prod___ACharExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
50349 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
50350 /* ./parser//parser_prod.nit:8898 */
50351 if (UNTAG_Bool(REGB0)) {
50352 } else {
50353 fprintf(stderr, "Cast failed");
50354 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8898);
50355 nit_exit(1);
50356 }
50357 ATTR_parser_nodes___ACharExpr____n_char(fra.me.REG[0]) = fra.me.REG[1];
50358 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
50359 /* ./parser//parser_prod.nit:8899 */
50360 if (UNTAG_Bool(REGB0)) {
50361 fprintf(stderr, "Reciever is null");
50362 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8899);
50363 nit_exit(1);
50364 }
50365 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
50366 stack_frame_head = fra.me.prev;
50367 init_table[itpos222] = 1;
50368 return;
50369 }
50370 void parser_prod___AStringExpr___n_string__eq(val_t p0, val_t p1){
50371 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
50372 val_t tmp;
50373 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50374 fra.me.file = LOCATE_parser_prod;
50375 fra.me.line = 8927;
50376 fra.me.meth = LOCATE_parser_prod___AStringExpr___n_string__eq;
50377 fra.me.has_broke = 0;
50378 fra.me.REG_size = 2;
50379 fra.me.REG[0] = NIT_NULL;
50380 fra.me.REG[1] = NIT_NULL;
50381 fra.me.REG[0] = p0;
50382 fra.me.REG[1] = p1;
50383 /* ./parser//parser_prod.nit:8929 */
50384 ATTR_parser_nodes___AStringExpr____n_string(fra.me.REG[0]) = fra.me.REG[1];
50385 /* ./parser//parser_prod.nit:8930 */
50386 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
50387 stack_frame_head = fra.me.prev;
50388 return;
50389 }
50390 void parser_prod___AStringExpr___replace_child(val_t p0, val_t p1, val_t p2){
50391 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
50392 val_t REGB0;
50393 val_t REGB1;
50394 val_t tmp;
50395 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50396 fra.me.file = LOCATE_parser_prod;
50397 fra.me.line = 8944;
50398 fra.me.meth = LOCATE_parser_prod___AStringExpr___replace_child;
50399 fra.me.has_broke = 0;
50400 fra.me.REG_size = 4;
50401 fra.me.REG[0] = NIT_NULL;
50402 fra.me.REG[1] = NIT_NULL;
50403 fra.me.REG[2] = NIT_NULL;
50404 fra.me.REG[3] = NIT_NULL;
50405 fra.me.REG[0] = p0;
50406 fra.me.REG[1] = p1;
50407 fra.me.REG[2] = p2;
50408 REGB0 = TAG_Bool(ATTR_parser_nodes___AStringExpr____n_string(fra.me.REG[0])!=NIT_NULL);
50409 /* ./parser//parser_prod.nit:8946 */
50410 if (UNTAG_Bool(REGB0)) {
50411 } else {
50412 fprintf(stderr, "Uninitialized attribute %s", "_n_string");
50413 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8946);
50414 nit_exit(1);
50415 }
50416 fra.me.REG[3] = ATTR_parser_nodes___AStringExpr____n_string(fra.me.REG[0]);
50417 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
50418 if (UNTAG_Bool(REGB0)) {
50419 } else {
50420 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
50421 REGB0 = REGB1;
50422 }
50423 if (UNTAG_Bool(REGB0)) {
50424 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
50425 /* ./parser//parser_prod.nit:8947 */
50426 if (UNTAG_Bool(REGB0)) {
50427 } else {
50428 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
50429 if (UNTAG_Bool(REGB1)) {
50430 REGB1 = TAG_Bool(false);
50431 REGB0 = REGB1;
50432 } else {
50433 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
50434 REGB0 = REGB1;
50435 }
50436 }
50437 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
50438 if (UNTAG_Bool(REGB0)) {
50439 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
50440 /* ./parser//parser_prod.nit:8948 */
50441 if (UNTAG_Bool(REGB0)) {
50442 fprintf(stderr, "Reciever is null");
50443 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8948);
50444 nit_exit(1);
50445 }
50446 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
50447 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TString, ID_TString)) /*cast TString*/;
50448 /* ./parser//parser_prod.nit:8949 */
50449 if (UNTAG_Bool(REGB0)) {
50450 } else {
50451 fprintf(stderr, "Assert failed");
50452 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8949);
50453 nit_exit(1);
50454 }
50455 /* ./parser//parser_prod.nit:8950 */
50456 ATTR_parser_nodes___AStringExpr____n_string(fra.me.REG[0]) = fra.me.REG[2];
50457 } else {
50458 /* ./parser//parser_prod.nit:8952 */
50459 fprintf(stderr, "Aborted");
50460 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8952);
50461 nit_exit(1);
50462 }
50463 /* ./parser//parser_prod.nit:8954 */
50464 goto label1;
50465 }
50466 label1: while(0);
50467 stack_frame_head = fra.me.prev;
50468 return;
50469 }
50470 void parser_prod___AStringExpr___visit_all(val_t p0, val_t p1){
50471 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
50472 val_t REGB0;
50473 val_t tmp;
50474 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50475 fra.me.file = LOCATE_parser_prod;
50476 fra.me.line = 8958;
50477 fra.me.meth = LOCATE_parser_prod___AStringExpr___visit_all;
50478 fra.me.has_broke = 0;
50479 fra.me.REG_size = 2;
50480 fra.me.REG[0] = NIT_NULL;
50481 fra.me.REG[1] = NIT_NULL;
50482 fra.me.REG[0] = p0;
50483 fra.me.REG[1] = p1;
50484 REGB0 = TAG_Bool(ATTR_parser_nodes___AStringExpr____n_string(fra.me.REG[0])!=NIT_NULL);
50485 /* ./parser//parser_prod.nit:8960 */
50486 if (UNTAG_Bool(REGB0)) {
50487 } else {
50488 fprintf(stderr, "Uninitialized attribute %s", "_n_string");
50489 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8960);
50490 nit_exit(1);
50491 }
50492 fra.me.REG[0] = ATTR_parser_nodes___AStringExpr____n_string(fra.me.REG[0]);
50493 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
50494 stack_frame_head = fra.me.prev;
50495 return;
50496 }
50497 void parser_prod___AStringExpr___visit_all_reverse(val_t p0, val_t p1){
50498 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
50499 val_t REGB0;
50500 val_t tmp;
50501 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50502 fra.me.file = LOCATE_parser_prod;
50503 fra.me.line = 8963;
50504 fra.me.meth = LOCATE_parser_prod___AStringExpr___visit_all_reverse;
50505 fra.me.has_broke = 0;
50506 fra.me.REG_size = 2;
50507 fra.me.REG[0] = NIT_NULL;
50508 fra.me.REG[1] = NIT_NULL;
50509 fra.me.REG[0] = p0;
50510 fra.me.REG[1] = p1;
50511 REGB0 = TAG_Bool(ATTR_parser_nodes___AStringExpr____n_string(fra.me.REG[0])!=NIT_NULL);
50512 /* ./parser//parser_prod.nit:8965 */
50513 if (UNTAG_Bool(REGB0)) {
50514 } else {
50515 fprintf(stderr, "Uninitialized attribute %s", "_n_string");
50516 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8965);
50517 nit_exit(1);
50518 }
50519 fra.me.REG[0] = ATTR_parser_nodes___AStringExpr____n_string(fra.me.REG[0]);
50520 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
50521 stack_frame_head = fra.me.prev;
50522 return;
50523 }
50524 void parser_prod___AStringExpr___empty_init(val_t p0, int* init_table){
50525 int itpos223 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AStringExpr].i;
50526 struct {struct stack_frame_t me;} fra;
50527 val_t tmp;
50528 if (init_table[itpos223]) return;
50529 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50530 fra.me.file = LOCATE_parser_prod;
50531 fra.me.line = 8933;
50532 fra.me.meth = LOCATE_parser_prod___AStringExpr___empty_init;
50533 fra.me.has_broke = 0;
50534 fra.me.REG_size = 1;
50535 fra.me.REG[0] = NIT_NULL;
50536 fra.me.REG[0] = p0;
50537 /* ./parser//parser_prod.nit:8933 */
50538 stack_frame_head = fra.me.prev;
50539 init_table[itpos223] = 1;
50540 return;
50541 }
50542 void parser_prod___AStringExpr___init_astringexpr(val_t p0, val_t p1, int* init_table){
50543 int itpos224 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AStringExpr].i;
50544 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
50545 val_t REGB0;
50546 val_t tmp;
50547 if (init_table[itpos224]) return;
50548 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50549 fra.me.file = LOCATE_parser_prod;
50550 fra.me.line = 8935;
50551 fra.me.meth = LOCATE_parser_prod___AStringExpr___init_astringexpr;
50552 fra.me.has_broke = 0;
50553 fra.me.REG_size = 2;
50554 fra.me.REG[0] = NIT_NULL;
50555 fra.me.REG[1] = NIT_NULL;
50556 fra.me.REG[0] = p0;
50557 fra.me.REG[1] = p1;
50558 /* ./parser//parser_prod.nit:8939 */
50559 CALL_parser_prod___AStringExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
50560 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
50561 /* ./parser//parser_prod.nit:8940 */
50562 if (UNTAG_Bool(REGB0)) {
50563 } else {
50564 fprintf(stderr, "Cast failed");
50565 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8940);
50566 nit_exit(1);
50567 }
50568 ATTR_parser_nodes___AStringExpr____n_string(fra.me.REG[0]) = fra.me.REG[1];
50569 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
50570 /* ./parser//parser_prod.nit:8941 */
50571 if (UNTAG_Bool(REGB0)) {
50572 fprintf(stderr, "Reciever is null");
50573 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8941);
50574 nit_exit(1);
50575 }
50576 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
50577 stack_frame_head = fra.me.prev;
50578 init_table[itpos224] = 1;
50579 return;
50580 }
50581 void parser_prod___AStartStringExpr___n_string__eq(val_t p0, val_t p1){
50582 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
50583 val_t tmp;
50584 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50585 fra.me.file = LOCATE_parser_prod;
50586 fra.me.line = 8969;
50587 fra.me.meth = LOCATE_parser_prod___AStartStringExpr___n_string__eq;
50588 fra.me.has_broke = 0;
50589 fra.me.REG_size = 2;
50590 fra.me.REG[0] = NIT_NULL;
50591 fra.me.REG[1] = NIT_NULL;
50592 fra.me.REG[0] = p0;
50593 fra.me.REG[1] = p1;
50594 /* ./parser//parser_prod.nit:8971 */
50595 ATTR_parser_nodes___AStartStringExpr____n_string(fra.me.REG[0]) = fra.me.REG[1];
50596 /* ./parser//parser_prod.nit:8972 */
50597 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
50598 stack_frame_head = fra.me.prev;
50599 return;
50600 }
50601 void parser_prod___AStartStringExpr___replace_child(val_t p0, val_t p1, val_t p2){
50602 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
50603 val_t REGB0;
50604 val_t REGB1;
50605 val_t tmp;
50606 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50607 fra.me.file = LOCATE_parser_prod;
50608 fra.me.line = 8986;
50609 fra.me.meth = LOCATE_parser_prod___AStartStringExpr___replace_child;
50610 fra.me.has_broke = 0;
50611 fra.me.REG_size = 4;
50612 fra.me.REG[0] = NIT_NULL;
50613 fra.me.REG[1] = NIT_NULL;
50614 fra.me.REG[2] = NIT_NULL;
50615 fra.me.REG[3] = NIT_NULL;
50616 fra.me.REG[0] = p0;
50617 fra.me.REG[1] = p1;
50618 fra.me.REG[2] = p2;
50619 REGB0 = TAG_Bool(ATTR_parser_nodes___AStartStringExpr____n_string(fra.me.REG[0])!=NIT_NULL);
50620 /* ./parser//parser_prod.nit:8988 */
50621 if (UNTAG_Bool(REGB0)) {
50622 } else {
50623 fprintf(stderr, "Uninitialized attribute %s", "_n_string");
50624 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8988);
50625 nit_exit(1);
50626 }
50627 fra.me.REG[3] = ATTR_parser_nodes___AStartStringExpr____n_string(fra.me.REG[0]);
50628 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
50629 if (UNTAG_Bool(REGB0)) {
50630 } else {
50631 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
50632 REGB0 = REGB1;
50633 }
50634 if (UNTAG_Bool(REGB0)) {
50635 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
50636 /* ./parser//parser_prod.nit:8989 */
50637 if (UNTAG_Bool(REGB0)) {
50638 } else {
50639 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
50640 if (UNTAG_Bool(REGB1)) {
50641 REGB1 = TAG_Bool(false);
50642 REGB0 = REGB1;
50643 } else {
50644 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
50645 REGB0 = REGB1;
50646 }
50647 }
50648 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
50649 if (UNTAG_Bool(REGB0)) {
50650 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
50651 /* ./parser//parser_prod.nit:8990 */
50652 if (UNTAG_Bool(REGB0)) {
50653 fprintf(stderr, "Reciever is null");
50654 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8990);
50655 nit_exit(1);
50656 }
50657 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
50658 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TStartString, ID_TStartString)) /*cast TStartString*/;
50659 /* ./parser//parser_prod.nit:8991 */
50660 if (UNTAG_Bool(REGB0)) {
50661 } else {
50662 fprintf(stderr, "Assert failed");
50663 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8991);
50664 nit_exit(1);
50665 }
50666 /* ./parser//parser_prod.nit:8992 */
50667 ATTR_parser_nodes___AStartStringExpr____n_string(fra.me.REG[0]) = fra.me.REG[2];
50668 } else {
50669 /* ./parser//parser_prod.nit:8994 */
50670 fprintf(stderr, "Aborted");
50671 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8994);
50672 nit_exit(1);
50673 }
50674 /* ./parser//parser_prod.nit:8996 */
50675 goto label1;
50676 }
50677 label1: while(0);
50678 stack_frame_head = fra.me.prev;
50679 return;
50680 }
50681 void parser_prod___AStartStringExpr___visit_all(val_t p0, val_t p1){
50682 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
50683 val_t REGB0;
50684 val_t tmp;
50685 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50686 fra.me.file = LOCATE_parser_prod;
50687 fra.me.line = 9000;
50688 fra.me.meth = LOCATE_parser_prod___AStartStringExpr___visit_all;
50689 fra.me.has_broke = 0;
50690 fra.me.REG_size = 2;
50691 fra.me.REG[0] = NIT_NULL;
50692 fra.me.REG[1] = NIT_NULL;
50693 fra.me.REG[0] = p0;
50694 fra.me.REG[1] = p1;
50695 REGB0 = TAG_Bool(ATTR_parser_nodes___AStartStringExpr____n_string(fra.me.REG[0])!=NIT_NULL);
50696 /* ./parser//parser_prod.nit:9002 */
50697 if (UNTAG_Bool(REGB0)) {
50698 } else {
50699 fprintf(stderr, "Uninitialized attribute %s", "_n_string");
50700 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9002);
50701 nit_exit(1);
50702 }
50703 fra.me.REG[0] = ATTR_parser_nodes___AStartStringExpr____n_string(fra.me.REG[0]);
50704 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
50705 stack_frame_head = fra.me.prev;
50706 return;
50707 }
50708 void parser_prod___AStartStringExpr___visit_all_reverse(val_t p0, val_t p1){
50709 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
50710 val_t REGB0;
50711 val_t tmp;
50712 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50713 fra.me.file = LOCATE_parser_prod;
50714 fra.me.line = 9005;
50715 fra.me.meth = LOCATE_parser_prod___AStartStringExpr___visit_all_reverse;
50716 fra.me.has_broke = 0;
50717 fra.me.REG_size = 2;
50718 fra.me.REG[0] = NIT_NULL;
50719 fra.me.REG[1] = NIT_NULL;
50720 fra.me.REG[0] = p0;
50721 fra.me.REG[1] = p1;
50722 REGB0 = TAG_Bool(ATTR_parser_nodes___AStartStringExpr____n_string(fra.me.REG[0])!=NIT_NULL);
50723 /* ./parser//parser_prod.nit:9007 */
50724 if (UNTAG_Bool(REGB0)) {
50725 } else {
50726 fprintf(stderr, "Uninitialized attribute %s", "_n_string");
50727 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9007);
50728 nit_exit(1);
50729 }
50730 fra.me.REG[0] = ATTR_parser_nodes___AStartStringExpr____n_string(fra.me.REG[0]);
50731 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
50732 stack_frame_head = fra.me.prev;
50733 return;
50734 }
50735 void parser_prod___AStartStringExpr___empty_init(val_t p0, int* init_table){
50736 int itpos225 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AStartStringExpr].i;
50737 struct {struct stack_frame_t me;} fra;
50738 val_t tmp;
50739 if (init_table[itpos225]) return;
50740 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50741 fra.me.file = LOCATE_parser_prod;
50742 fra.me.line = 8975;
50743 fra.me.meth = LOCATE_parser_prod___AStartStringExpr___empty_init;
50744 fra.me.has_broke = 0;
50745 fra.me.REG_size = 1;
50746 fra.me.REG[0] = NIT_NULL;
50747 fra.me.REG[0] = p0;
50748 /* ./parser//parser_prod.nit:8975 */
50749 stack_frame_head = fra.me.prev;
50750 init_table[itpos225] = 1;
50751 return;
50752 }
50753 void parser_prod___AStartStringExpr___init_astartstringexpr(val_t p0, val_t p1, int* init_table){
50754 int itpos226 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AStartStringExpr].i;
50755 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
50756 val_t REGB0;
50757 val_t tmp;
50758 if (init_table[itpos226]) return;
50759 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50760 fra.me.file = LOCATE_parser_prod;
50761 fra.me.line = 8977;
50762 fra.me.meth = LOCATE_parser_prod___AStartStringExpr___init_astartstringexpr;
50763 fra.me.has_broke = 0;
50764 fra.me.REG_size = 2;
50765 fra.me.REG[0] = NIT_NULL;
50766 fra.me.REG[1] = NIT_NULL;
50767 fra.me.REG[0] = p0;
50768 fra.me.REG[1] = p1;
50769 /* ./parser//parser_prod.nit:8981 */
50770 CALL_parser_prod___AStartStringExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
50771 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
50772 /* ./parser//parser_prod.nit:8982 */
50773 if (UNTAG_Bool(REGB0)) {
50774 } else {
50775 fprintf(stderr, "Cast failed");
50776 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8982);
50777 nit_exit(1);
50778 }
50779 ATTR_parser_nodes___AStartStringExpr____n_string(fra.me.REG[0]) = fra.me.REG[1];
50780 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
50781 /* ./parser//parser_prod.nit:8983 */
50782 if (UNTAG_Bool(REGB0)) {
50783 fprintf(stderr, "Reciever is null");
50784 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 8983);
50785 nit_exit(1);
50786 }
50787 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
50788 stack_frame_head = fra.me.prev;
50789 init_table[itpos226] = 1;
50790 return;
50791 }
50792 void parser_prod___AMidStringExpr___n_string__eq(val_t p0, val_t p1){
50793 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
50794 val_t tmp;
50795 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50796 fra.me.file = LOCATE_parser_prod;
50797 fra.me.line = 9011;
50798 fra.me.meth = LOCATE_parser_prod___AMidStringExpr___n_string__eq;
50799 fra.me.has_broke = 0;
50800 fra.me.REG_size = 2;
50801 fra.me.REG[0] = NIT_NULL;
50802 fra.me.REG[1] = NIT_NULL;
50803 fra.me.REG[0] = p0;
50804 fra.me.REG[1] = p1;
50805 /* ./parser//parser_prod.nit:9013 */
50806 ATTR_parser_nodes___AMidStringExpr____n_string(fra.me.REG[0]) = fra.me.REG[1];
50807 /* ./parser//parser_prod.nit:9014 */
50808 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
50809 stack_frame_head = fra.me.prev;
50810 return;
50811 }
50812 void parser_prod___AMidStringExpr___replace_child(val_t p0, val_t p1, val_t p2){
50813 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
50814 val_t REGB0;
50815 val_t REGB1;
50816 val_t tmp;
50817 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50818 fra.me.file = LOCATE_parser_prod;
50819 fra.me.line = 9028;
50820 fra.me.meth = LOCATE_parser_prod___AMidStringExpr___replace_child;
50821 fra.me.has_broke = 0;
50822 fra.me.REG_size = 4;
50823 fra.me.REG[0] = NIT_NULL;
50824 fra.me.REG[1] = NIT_NULL;
50825 fra.me.REG[2] = NIT_NULL;
50826 fra.me.REG[3] = NIT_NULL;
50827 fra.me.REG[0] = p0;
50828 fra.me.REG[1] = p1;
50829 fra.me.REG[2] = p2;
50830 REGB0 = TAG_Bool(ATTR_parser_nodes___AMidStringExpr____n_string(fra.me.REG[0])!=NIT_NULL);
50831 /* ./parser//parser_prod.nit:9030 */
50832 if (UNTAG_Bool(REGB0)) {
50833 } else {
50834 fprintf(stderr, "Uninitialized attribute %s", "_n_string");
50835 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9030);
50836 nit_exit(1);
50837 }
50838 fra.me.REG[3] = ATTR_parser_nodes___AMidStringExpr____n_string(fra.me.REG[0]);
50839 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
50840 if (UNTAG_Bool(REGB0)) {
50841 } else {
50842 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
50843 REGB0 = REGB1;
50844 }
50845 if (UNTAG_Bool(REGB0)) {
50846 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
50847 /* ./parser//parser_prod.nit:9031 */
50848 if (UNTAG_Bool(REGB0)) {
50849 } else {
50850 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
50851 if (UNTAG_Bool(REGB1)) {
50852 REGB1 = TAG_Bool(false);
50853 REGB0 = REGB1;
50854 } else {
50855 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
50856 REGB0 = REGB1;
50857 }
50858 }
50859 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
50860 if (UNTAG_Bool(REGB0)) {
50861 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
50862 /* ./parser//parser_prod.nit:9032 */
50863 if (UNTAG_Bool(REGB0)) {
50864 fprintf(stderr, "Reciever is null");
50865 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9032);
50866 nit_exit(1);
50867 }
50868 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
50869 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TMidString, ID_TMidString)) /*cast TMidString*/;
50870 /* ./parser//parser_prod.nit:9033 */
50871 if (UNTAG_Bool(REGB0)) {
50872 } else {
50873 fprintf(stderr, "Assert failed");
50874 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9033);
50875 nit_exit(1);
50876 }
50877 /* ./parser//parser_prod.nit:9034 */
50878 ATTR_parser_nodes___AMidStringExpr____n_string(fra.me.REG[0]) = fra.me.REG[2];
50879 } else {
50880 /* ./parser//parser_prod.nit:9036 */
50881 fprintf(stderr, "Aborted");
50882 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9036);
50883 nit_exit(1);
50884 }
50885 /* ./parser//parser_prod.nit:9038 */
50886 goto label1;
50887 }
50888 label1: while(0);
50889 stack_frame_head = fra.me.prev;
50890 return;
50891 }
50892 void parser_prod___AMidStringExpr___visit_all(val_t p0, val_t p1){
50893 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
50894 val_t REGB0;
50895 val_t tmp;
50896 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50897 fra.me.file = LOCATE_parser_prod;
50898 fra.me.line = 9042;
50899 fra.me.meth = LOCATE_parser_prod___AMidStringExpr___visit_all;
50900 fra.me.has_broke = 0;
50901 fra.me.REG_size = 2;
50902 fra.me.REG[0] = NIT_NULL;
50903 fra.me.REG[1] = NIT_NULL;
50904 fra.me.REG[0] = p0;
50905 fra.me.REG[1] = p1;
50906 REGB0 = TAG_Bool(ATTR_parser_nodes___AMidStringExpr____n_string(fra.me.REG[0])!=NIT_NULL);
50907 /* ./parser//parser_prod.nit:9044 */
50908 if (UNTAG_Bool(REGB0)) {
50909 } else {
50910 fprintf(stderr, "Uninitialized attribute %s", "_n_string");
50911 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9044);
50912 nit_exit(1);
50913 }
50914 fra.me.REG[0] = ATTR_parser_nodes___AMidStringExpr____n_string(fra.me.REG[0]);
50915 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
50916 stack_frame_head = fra.me.prev;
50917 return;
50918 }
50919 void parser_prod___AMidStringExpr___visit_all_reverse(val_t p0, val_t p1){
50920 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
50921 val_t REGB0;
50922 val_t tmp;
50923 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50924 fra.me.file = LOCATE_parser_prod;
50925 fra.me.line = 9047;
50926 fra.me.meth = LOCATE_parser_prod___AMidStringExpr___visit_all_reverse;
50927 fra.me.has_broke = 0;
50928 fra.me.REG_size = 2;
50929 fra.me.REG[0] = NIT_NULL;
50930 fra.me.REG[1] = NIT_NULL;
50931 fra.me.REG[0] = p0;
50932 fra.me.REG[1] = p1;
50933 REGB0 = TAG_Bool(ATTR_parser_nodes___AMidStringExpr____n_string(fra.me.REG[0])!=NIT_NULL);
50934 /* ./parser//parser_prod.nit:9049 */
50935 if (UNTAG_Bool(REGB0)) {
50936 } else {
50937 fprintf(stderr, "Uninitialized attribute %s", "_n_string");
50938 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9049);
50939 nit_exit(1);
50940 }
50941 fra.me.REG[0] = ATTR_parser_nodes___AMidStringExpr____n_string(fra.me.REG[0]);
50942 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
50943 stack_frame_head = fra.me.prev;
50944 return;
50945 }
50946 void parser_prod___AMidStringExpr___empty_init(val_t p0, int* init_table){
50947 int itpos227 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AMidStringExpr].i;
50948 struct {struct stack_frame_t me;} fra;
50949 val_t tmp;
50950 if (init_table[itpos227]) return;
50951 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50952 fra.me.file = LOCATE_parser_prod;
50953 fra.me.line = 9017;
50954 fra.me.meth = LOCATE_parser_prod___AMidStringExpr___empty_init;
50955 fra.me.has_broke = 0;
50956 fra.me.REG_size = 1;
50957 fra.me.REG[0] = NIT_NULL;
50958 fra.me.REG[0] = p0;
50959 /* ./parser//parser_prod.nit:9017 */
50960 stack_frame_head = fra.me.prev;
50961 init_table[itpos227] = 1;
50962 return;
50963 }
50964 void parser_prod___AMidStringExpr___init_amidstringexpr(val_t p0, val_t p1, int* init_table){
50965 int itpos228 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AMidStringExpr].i;
50966 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
50967 val_t REGB0;
50968 val_t tmp;
50969 if (init_table[itpos228]) return;
50970 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50971 fra.me.file = LOCATE_parser_prod;
50972 fra.me.line = 9019;
50973 fra.me.meth = LOCATE_parser_prod___AMidStringExpr___init_amidstringexpr;
50974 fra.me.has_broke = 0;
50975 fra.me.REG_size = 2;
50976 fra.me.REG[0] = NIT_NULL;
50977 fra.me.REG[1] = NIT_NULL;
50978 fra.me.REG[0] = p0;
50979 fra.me.REG[1] = p1;
50980 /* ./parser//parser_prod.nit:9023 */
50981 CALL_parser_prod___AMidStringExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
50982 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
50983 /* ./parser//parser_prod.nit:9024 */
50984 if (UNTAG_Bool(REGB0)) {
50985 } else {
50986 fprintf(stderr, "Cast failed");
50987 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9024);
50988 nit_exit(1);
50989 }
50990 ATTR_parser_nodes___AMidStringExpr____n_string(fra.me.REG[0]) = fra.me.REG[1];
50991 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
50992 /* ./parser//parser_prod.nit:9025 */
50993 if (UNTAG_Bool(REGB0)) {
50994 fprintf(stderr, "Reciever is null");
50995 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9025);
50996 nit_exit(1);
50997 }
50998 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
50999 stack_frame_head = fra.me.prev;
51000 init_table[itpos228] = 1;
51001 return;
51002 }
51003 void parser_prod___AEndStringExpr___n_string__eq(val_t p0, val_t p1){
51004 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
51005 val_t tmp;
51006 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51007 fra.me.file = LOCATE_parser_prod;
51008 fra.me.line = 9053;
51009 fra.me.meth = LOCATE_parser_prod___AEndStringExpr___n_string__eq;
51010 fra.me.has_broke = 0;
51011 fra.me.REG_size = 2;
51012 fra.me.REG[0] = NIT_NULL;
51013 fra.me.REG[1] = NIT_NULL;
51014 fra.me.REG[0] = p0;
51015 fra.me.REG[1] = p1;
51016 /* ./parser//parser_prod.nit:9055 */
51017 ATTR_parser_nodes___AEndStringExpr____n_string(fra.me.REG[0]) = fra.me.REG[1];
51018 /* ./parser//parser_prod.nit:9056 */
51019 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
51020 stack_frame_head = fra.me.prev;
51021 return;
51022 }
51023 void parser_prod___AEndStringExpr___replace_child(val_t p0, val_t p1, val_t p2){
51024 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
51025 val_t REGB0;
51026 val_t REGB1;
51027 val_t tmp;
51028 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51029 fra.me.file = LOCATE_parser_prod;
51030 fra.me.line = 9070;
51031 fra.me.meth = LOCATE_parser_prod___AEndStringExpr___replace_child;
51032 fra.me.has_broke = 0;
51033 fra.me.REG_size = 4;
51034 fra.me.REG[0] = NIT_NULL;
51035 fra.me.REG[1] = NIT_NULL;
51036 fra.me.REG[2] = NIT_NULL;
51037 fra.me.REG[3] = NIT_NULL;
51038 fra.me.REG[0] = p0;
51039 fra.me.REG[1] = p1;
51040 fra.me.REG[2] = p2;
51041 REGB0 = TAG_Bool(ATTR_parser_nodes___AEndStringExpr____n_string(fra.me.REG[0])!=NIT_NULL);
51042 /* ./parser//parser_prod.nit:9072 */
51043 if (UNTAG_Bool(REGB0)) {
51044 } else {
51045 fprintf(stderr, "Uninitialized attribute %s", "_n_string");
51046 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9072);
51047 nit_exit(1);
51048 }
51049 fra.me.REG[3] = ATTR_parser_nodes___AEndStringExpr____n_string(fra.me.REG[0]);
51050 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
51051 if (UNTAG_Bool(REGB0)) {
51052 } else {
51053 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
51054 REGB0 = REGB1;
51055 }
51056 if (UNTAG_Bool(REGB0)) {
51057 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
51058 /* ./parser//parser_prod.nit:9073 */
51059 if (UNTAG_Bool(REGB0)) {
51060 } else {
51061 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
51062 if (UNTAG_Bool(REGB1)) {
51063 REGB1 = TAG_Bool(false);
51064 REGB0 = REGB1;
51065 } else {
51066 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
51067 REGB0 = REGB1;
51068 }
51069 }
51070 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
51071 if (UNTAG_Bool(REGB0)) {
51072 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
51073 /* ./parser//parser_prod.nit:9074 */
51074 if (UNTAG_Bool(REGB0)) {
51075 fprintf(stderr, "Reciever is null");
51076 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9074);
51077 nit_exit(1);
51078 }
51079 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
51080 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TEndString, ID_TEndString)) /*cast TEndString*/;
51081 /* ./parser//parser_prod.nit:9075 */
51082 if (UNTAG_Bool(REGB0)) {
51083 } else {
51084 fprintf(stderr, "Assert failed");
51085 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9075);
51086 nit_exit(1);
51087 }
51088 /* ./parser//parser_prod.nit:9076 */
51089 ATTR_parser_nodes___AEndStringExpr____n_string(fra.me.REG[0]) = fra.me.REG[2];
51090 } else {
51091 /* ./parser//parser_prod.nit:9078 */
51092 fprintf(stderr, "Aborted");
51093 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9078);
51094 nit_exit(1);
51095 }
51096 /* ./parser//parser_prod.nit:9080 */
51097 goto label1;
51098 }
51099 label1: while(0);
51100 stack_frame_head = fra.me.prev;
51101 return;
51102 }
51103 void parser_prod___AEndStringExpr___visit_all(val_t p0, val_t p1){
51104 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
51105 val_t REGB0;
51106 val_t tmp;
51107 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51108 fra.me.file = LOCATE_parser_prod;
51109 fra.me.line = 9084;
51110 fra.me.meth = LOCATE_parser_prod___AEndStringExpr___visit_all;
51111 fra.me.has_broke = 0;
51112 fra.me.REG_size = 2;
51113 fra.me.REG[0] = NIT_NULL;
51114 fra.me.REG[1] = NIT_NULL;
51115 fra.me.REG[0] = p0;
51116 fra.me.REG[1] = p1;
51117 REGB0 = TAG_Bool(ATTR_parser_nodes___AEndStringExpr____n_string(fra.me.REG[0])!=NIT_NULL);
51118 /* ./parser//parser_prod.nit:9086 */
51119 if (UNTAG_Bool(REGB0)) {
51120 } else {
51121 fprintf(stderr, "Uninitialized attribute %s", "_n_string");
51122 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9086);
51123 nit_exit(1);
51124 }
51125 fra.me.REG[0] = ATTR_parser_nodes___AEndStringExpr____n_string(fra.me.REG[0]);
51126 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
51127 stack_frame_head = fra.me.prev;
51128 return;
51129 }
51130 void parser_prod___AEndStringExpr___visit_all_reverse(val_t p0, val_t p1){
51131 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
51132 val_t REGB0;
51133 val_t tmp;
51134 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51135 fra.me.file = LOCATE_parser_prod;
51136 fra.me.line = 9089;
51137 fra.me.meth = LOCATE_parser_prod___AEndStringExpr___visit_all_reverse;
51138 fra.me.has_broke = 0;
51139 fra.me.REG_size = 2;
51140 fra.me.REG[0] = NIT_NULL;
51141 fra.me.REG[1] = NIT_NULL;
51142 fra.me.REG[0] = p0;
51143 fra.me.REG[1] = p1;
51144 REGB0 = TAG_Bool(ATTR_parser_nodes___AEndStringExpr____n_string(fra.me.REG[0])!=NIT_NULL);
51145 /* ./parser//parser_prod.nit:9091 */
51146 if (UNTAG_Bool(REGB0)) {
51147 } else {
51148 fprintf(stderr, "Uninitialized attribute %s", "_n_string");
51149 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9091);
51150 nit_exit(1);
51151 }
51152 fra.me.REG[0] = ATTR_parser_nodes___AEndStringExpr____n_string(fra.me.REG[0]);
51153 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
51154 stack_frame_head = fra.me.prev;
51155 return;
51156 }
51157 void parser_prod___AEndStringExpr___empty_init(val_t p0, int* init_table){
51158 int itpos229 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AEndStringExpr].i;
51159 struct {struct stack_frame_t me;} fra;
51160 val_t tmp;
51161 if (init_table[itpos229]) return;
51162 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51163 fra.me.file = LOCATE_parser_prod;
51164 fra.me.line = 9059;
51165 fra.me.meth = LOCATE_parser_prod___AEndStringExpr___empty_init;
51166 fra.me.has_broke = 0;
51167 fra.me.REG_size = 1;
51168 fra.me.REG[0] = NIT_NULL;
51169 fra.me.REG[0] = p0;
51170 /* ./parser//parser_prod.nit:9059 */
51171 stack_frame_head = fra.me.prev;
51172 init_table[itpos229] = 1;
51173 return;
51174 }
51175 void parser_prod___AEndStringExpr___init_aendstringexpr(val_t p0, val_t p1, int* init_table){
51176 int itpos230 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AEndStringExpr].i;
51177 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
51178 val_t REGB0;
51179 val_t tmp;
51180 if (init_table[itpos230]) return;
51181 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51182 fra.me.file = LOCATE_parser_prod;
51183 fra.me.line = 9061;
51184 fra.me.meth = LOCATE_parser_prod___AEndStringExpr___init_aendstringexpr;
51185 fra.me.has_broke = 0;
51186 fra.me.REG_size = 2;
51187 fra.me.REG[0] = NIT_NULL;
51188 fra.me.REG[1] = NIT_NULL;
51189 fra.me.REG[0] = p0;
51190 fra.me.REG[1] = p1;
51191 /* ./parser//parser_prod.nit:9065 */
51192 CALL_parser_prod___AEndStringExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
51193 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
51194 /* ./parser//parser_prod.nit:9066 */
51195 if (UNTAG_Bool(REGB0)) {
51196 } else {
51197 fprintf(stderr, "Cast failed");
51198 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9066);
51199 nit_exit(1);
51200 }
51201 ATTR_parser_nodes___AEndStringExpr____n_string(fra.me.REG[0]) = fra.me.REG[1];
51202 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
51203 /* ./parser//parser_prod.nit:9067 */
51204 if (UNTAG_Bool(REGB0)) {
51205 fprintf(stderr, "Reciever is null");
51206 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9067);
51207 nit_exit(1);
51208 }
51209 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
51210 stack_frame_head = fra.me.prev;
51211 init_table[itpos230] = 1;
51212 return;
51213 }
51214 void parser_prod___ASuperstringExpr___replace_child(val_t p0, val_t p1, val_t p2){
51215 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
51216 val_t REGB0;
51217 val_t REGB1;
51218 val_t REGB2;
51219 val_t tmp;
51220 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51221 fra.me.file = LOCATE_parser_prod;
51222 fra.me.line = 9110;
51223 fra.me.meth = LOCATE_parser_prod___ASuperstringExpr___replace_child;
51224 fra.me.has_broke = 0;
51225 fra.me.REG_size = 5;
51226 fra.me.REG[0] = NIT_NULL;
51227 fra.me.REG[1] = NIT_NULL;
51228 fra.me.REG[2] = NIT_NULL;
51229 fra.me.REG[3] = NIT_NULL;
51230 fra.me.REG[4] = NIT_NULL;
51231 fra.me.REG[0] = p0;
51232 fra.me.REG[1] = p1;
51233 fra.me.REG[2] = p2;
51234 REGB0 = TAG_Int(0);
51235 REGB1 = TAG_Bool(ATTR_parser_nodes___ASuperstringExpr____n_exprs(fra.me.REG[0])!=NIT_NULL);
51236 /* ./parser//parser_prod.nit:9112 */
51237 if (UNTAG_Bool(REGB1)) {
51238 } else {
51239 fprintf(stderr, "Uninitialized attribute %s", "_n_exprs");
51240 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9112);
51241 nit_exit(1);
51242 }
51243 fra.me.REG[3] = ATTR_parser_nodes___ASuperstringExpr____n_exprs(fra.me.REG[0]);
51244 REGB1 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
51245 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB0, REGB1);
51246 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
51247 while(1) {
51248 REGB1 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
51249 if (UNTAG_Bool(REGB1)) {
51250 REGB1 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
51251 REGB0 = TAG_Bool(ATTR_parser_nodes___ASuperstringExpr____n_exprs(fra.me.REG[0])!=NIT_NULL);
51252 /* ./parser//parser_prod.nit:9113 */
51253 if (UNTAG_Bool(REGB0)) {
51254 } else {
51255 fprintf(stderr, "Uninitialized attribute %s", "_n_exprs");
51256 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9113);
51257 nit_exit(1);
51258 }
51259 fra.me.REG[4] = ATTR_parser_nodes___ASuperstringExpr____n_exprs(fra.me.REG[0]);
51260 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB1);
51261 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[4]));
51262 if (UNTAG_Bool(REGB0)) {
51263 } else {
51264 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
51265 if (UNTAG_Bool(REGB2)) {
51266 REGB2 = TAG_Bool(false);
51267 REGB0 = REGB2;
51268 } else {
51269 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
51270 REGB0 = REGB2;
51271 }
51272 }
51273 if (UNTAG_Bool(REGB0)) {
51274 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
51275 /* ./parser//parser_prod.nit:9114 */
51276 if (UNTAG_Bool(REGB0)) {
51277 } else {
51278 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
51279 if (UNTAG_Bool(REGB2)) {
51280 REGB2 = TAG_Bool(false);
51281 REGB0 = REGB2;
51282 } else {
51283 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
51284 REGB0 = REGB2;
51285 }
51286 }
51287 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
51288 if (UNTAG_Bool(REGB0)) {
51289 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
51290 /* ./parser//parser_prod.nit:9115 */
51291 if (UNTAG_Bool(REGB0)) {
51292 } else {
51293 fprintf(stderr, "Assert failed");
51294 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9115);
51295 nit_exit(1);
51296 }
51297 REGB0 = TAG_Bool(ATTR_parser_nodes___ASuperstringExpr____n_exprs(fra.me.REG[0])!=NIT_NULL);
51298 /* ./parser//parser_prod.nit:9116 */
51299 if (UNTAG_Bool(REGB0)) {
51300 } else {
51301 fprintf(stderr, "Uninitialized attribute %s", "_n_exprs");
51302 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9116);
51303 nit_exit(1);
51304 }
51305 fra.me.REG[4] = ATTR_parser_nodes___ASuperstringExpr____n_exprs(fra.me.REG[0]);
51306 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], REGB1, fra.me.REG[2]);
51307 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
51308 /* ./parser//parser_prod.nit:9117 */
51309 if (UNTAG_Bool(REGB0)) {
51310 fprintf(stderr, "Reciever is null");
51311 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9117);
51312 nit_exit(1);
51313 }
51314 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
51315 } else {
51316 REGB0 = TAG_Bool(ATTR_parser_nodes___ASuperstringExpr____n_exprs(fra.me.REG[0])!=NIT_NULL);
51317 /* ./parser//parser_prod.nit:9119 */
51318 if (UNTAG_Bool(REGB0)) {
51319 } else {
51320 fprintf(stderr, "Uninitialized attribute %s", "_n_exprs");
51321 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9119);
51322 nit_exit(1);
51323 }
51324 fra.me.REG[4] = ATTR_parser_nodes___ASuperstringExpr____n_exprs(fra.me.REG[0]);
51325 CALL_abstract_collection___Map___remove_at(fra.me.REG[4])(fra.me.REG[4], REGB1);
51326 }
51327 /* ./parser//parser_prod.nit:9121 */
51328 goto label1;
51329 }
51330 } else {
51331 /* ./parser//parser_prod.nit:9112 */
51332 goto label2;
51333 }
51334 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
51335 }
51336 label2: while(0);
51337 label1: while(0);
51338 stack_frame_head = fra.me.prev;
51339 return;
51340 }
51341 void parser_prod___ASuperstringExpr___visit_all(val_t p0, val_t p1){
51342 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
51343 val_t REGB0;
51344 val_t tmp;
51345 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51346 fra.me.file = LOCATE_parser_prod;
51347 fra.me.line = 9126;
51348 fra.me.meth = LOCATE_parser_prod___ASuperstringExpr___visit_all;
51349 fra.me.has_broke = 0;
51350 fra.me.REG_size = 3;
51351 fra.me.REG[0] = NIT_NULL;
51352 fra.me.REG[1] = NIT_NULL;
51353 fra.me.REG[2] = NIT_NULL;
51354 fra.me.REG[0] = p0;
51355 fra.me.REG[1] = p1;
51356 REGB0 = TAG_Bool(ATTR_parser_nodes___ASuperstringExpr____n_exprs(fra.me.REG[0])!=NIT_NULL);
51357 /* ./parser//parser_prod.nit:9128 */
51358 if (UNTAG_Bool(REGB0)) {
51359 } else {
51360 fprintf(stderr, "Uninitialized attribute %s", "_n_exprs");
51361 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9128);
51362 nit_exit(1);
51363 }
51364 fra.me.REG[0] = ATTR_parser_nodes___ASuperstringExpr____n_exprs(fra.me.REG[0]);
51365 fra.me.REG[0] = CALL_abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
51366 while(1) {
51367 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
51368 if (UNTAG_Bool(REGB0)) {
51369 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
51370 /* ./parser//parser_prod.nit:9129 */
51371 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
51372 } else {
51373 /* ./parser//parser_prod.nit:9128 */
51374 goto label1;
51375 }
51376 CALL_abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
51377 }
51378 label1: while(0);
51379 stack_frame_head = fra.me.prev;
51380 return;
51381 }
51382 void parser_prod___ASuperstringExpr___visit_all_reverse(val_t p0, val_t p1){
51383 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
51384 val_t REGB0;
51385 val_t REGB1;
51386 val_t tmp;
51387 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51388 fra.me.file = LOCATE_parser_prod;
51389 fra.me.line = 9133;
51390 fra.me.meth = LOCATE_parser_prod___ASuperstringExpr___visit_all_reverse;
51391 fra.me.has_broke = 0;
51392 fra.me.REG_size = 3;
51393 fra.me.REG[0] = NIT_NULL;
51394 fra.me.REG[1] = NIT_NULL;
51395 fra.me.REG[2] = NIT_NULL;
51396 fra.me.REG[0] = p0;
51397 fra.me.REG[1] = p1;
51398 REGB0 = TAG_Bool(ATTR_parser_nodes___ASuperstringExpr____n_exprs(fra.me.REG[0])!=NIT_NULL);
51399 /* ./parser//parser_prod.nit:9136 */
51400 if (UNTAG_Bool(REGB0)) {
51401 } else {
51402 fprintf(stderr, "Uninitialized attribute %s", "_n_exprs");
51403 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9136);
51404 nit_exit(1);
51405 }
51406 fra.me.REG[2] = ATTR_parser_nodes___ASuperstringExpr____n_exprs(fra.me.REG[0]);
51407 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
51408 /* ./parser//parser_prod.nit:9137 */
51409 while(1) {
51410 REGB1 = TAG_Int(0);
51411 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
51412 /* ./parser//parser_prod.nit:9137 */
51413 if (UNTAG_Bool(REGB1)) {
51414 REGB1 = TAG_Bool(ATTR_parser_nodes___ASuperstringExpr____n_exprs(fra.me.REG[0])!=NIT_NULL);
51415 /* ./parser//parser_prod.nit:9138 */
51416 if (UNTAG_Bool(REGB1)) {
51417 } else {
51418 fprintf(stderr, "Uninitialized attribute %s", "_n_exprs");
51419 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9138);
51420 nit_exit(1);
51421 }
51422 fra.me.REG[2] = ATTR_parser_nodes___ASuperstringExpr____n_exprs(fra.me.REG[0]);
51423 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
51424 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
51425 REGB1 = TAG_Int(1);
51426 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
51427 REGB0 = REGB1;
51428 /* ./parser//parser_prod.nit:9139 */
51429 } else {
51430 /* ./parser//parser_prod.nit:9137 */
51431 goto label1;
51432 }
51433 }
51434 label1: while(0);
51435 stack_frame_head = fra.me.prev;
51436 return;
51437 }
51438 void parser_prod___ASuperstringExpr___empty_init(val_t p0, int* init_table){
51439 int itpos231 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ASuperstringExpr].i;
51440 struct {struct stack_frame_t me;} fra;
51441 val_t tmp;
51442 if (init_table[itpos231]) return;
51443 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51444 fra.me.file = LOCATE_parser_prod;
51445 fra.me.line = 9096;
51446 fra.me.meth = LOCATE_parser_prod___ASuperstringExpr___empty_init;
51447 fra.me.has_broke = 0;
51448 fra.me.REG_size = 1;
51449 fra.me.REG[0] = NIT_NULL;
51450 fra.me.REG[0] = p0;
51451 /* ./parser//parser_prod.nit:9096 */
51452 stack_frame_head = fra.me.prev;
51453 init_table[itpos231] = 1;
51454 return;
51455 }
51456 void parser_prod___ASuperstringExpr___init_asuperstringexpr(val_t p0, val_t p1, int* init_table){
51457 int itpos232 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ASuperstringExpr].i;
51458 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
51459 val_t REGB0;
51460 val_t tmp;
51461 if (init_table[itpos232]) return;
51462 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51463 fra.me.file = LOCATE_parser_prod;
51464 fra.me.line = 9098;
51465 fra.me.meth = LOCATE_parser_prod___ASuperstringExpr___init_asuperstringexpr;
51466 fra.me.has_broke = 0;
51467 fra.me.REG_size = 4;
51468 fra.me.REG[0] = NIT_NULL;
51469 fra.me.REG[1] = NIT_NULL;
51470 fra.me.REG[2] = NIT_NULL;
51471 fra.me.REG[3] = NIT_NULL;
51472 fra.me.REG[0] = p0;
51473 fra.me.REG[1] = p1;
51474 /* ./parser//parser_prod.nit:9102 */
51475 CALL_parser_prod___ASuperstringExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
51476 fra.me.REG[1] = CALL_abstract_collection___Collection___iterator(fra.me.REG[1])(fra.me.REG[1]);
51477 /* ./parser//parser_prod.nit:9103 */
51478 while(1) {
51479 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[1])(fra.me.REG[1]);
51480 if (UNTAG_Bool(REGB0)) {
51481 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[1])(fra.me.REG[1]);
51482 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
51483 /* ./parser//parser_prod.nit:9104 */
51484 if (UNTAG_Bool(REGB0)) {
51485 } else {
51486 fprintf(stderr, "Assert failed");
51487 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9104);
51488 nit_exit(1);
51489 }
51490 REGB0 = TAG_Bool(ATTR_parser_nodes___ASuperstringExpr____n_exprs(fra.me.REG[0])!=NIT_NULL);
51491 /* ./parser//parser_prod.nit:9105 */
51492 if (UNTAG_Bool(REGB0)) {
51493 } else {
51494 fprintf(stderr, "Uninitialized attribute %s", "_n_exprs");
51495 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9105);
51496 nit_exit(1);
51497 }
51498 fra.me.REG[3] = ATTR_parser_nodes___ASuperstringExpr____n_exprs(fra.me.REG[0]);
51499 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
51500 /* ./parser//parser_prod.nit:9106 */
51501 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
51502 } else {
51503 /* ./parser//parser_prod.nit:9103 */
51504 goto label1;
51505 }
51506 CALL_abstract_collection___Iterator___next(fra.me.REG[1])(fra.me.REG[1]);
51507 }
51508 label1: while(0);
51509 stack_frame_head = fra.me.prev;
51510 init_table[itpos232] = 1;
51511 return;
51512 }
51513 void parser_prod___AParExpr___n_expr__eq(val_t p0, val_t p1){
51514 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
51515 val_t tmp;
51516 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51517 fra.me.file = LOCATE_parser_prod;
51518 fra.me.line = 9145;
51519 fra.me.meth = LOCATE_parser_prod___AParExpr___n_expr__eq;
51520 fra.me.has_broke = 0;
51521 fra.me.REG_size = 2;
51522 fra.me.REG[0] = NIT_NULL;
51523 fra.me.REG[1] = NIT_NULL;
51524 fra.me.REG[0] = p0;
51525 fra.me.REG[1] = p1;
51526 /* ./parser//parser_prod.nit:9147 */
51527 ATTR_parser_nodes___AProxyExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
51528 /* ./parser//parser_prod.nit:9148 */
51529 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
51530 stack_frame_head = fra.me.prev;
51531 return;
51532 }
51533 void parser_prod___AParExpr___replace_child(val_t p0, val_t p1, val_t p2){
51534 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
51535 val_t REGB0;
51536 val_t REGB1;
51537 val_t tmp;
51538 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51539 fra.me.file = LOCATE_parser_prod;
51540 fra.me.line = 9162;
51541 fra.me.meth = LOCATE_parser_prod___AParExpr___replace_child;
51542 fra.me.has_broke = 0;
51543 fra.me.REG_size = 4;
51544 fra.me.REG[0] = NIT_NULL;
51545 fra.me.REG[1] = NIT_NULL;
51546 fra.me.REG[2] = NIT_NULL;
51547 fra.me.REG[3] = NIT_NULL;
51548 fra.me.REG[0] = p0;
51549 fra.me.REG[1] = p1;
51550 fra.me.REG[2] = p2;
51551 REGB0 = TAG_Bool(ATTR_parser_nodes___AProxyExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
51552 /* ./parser//parser_prod.nit:9164 */
51553 if (UNTAG_Bool(REGB0)) {
51554 } else {
51555 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
51556 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9164);
51557 nit_exit(1);
51558 }
51559 fra.me.REG[3] = ATTR_parser_nodes___AProxyExpr____n_expr(fra.me.REG[0]);
51560 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
51561 if (UNTAG_Bool(REGB0)) {
51562 } else {
51563 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
51564 REGB0 = REGB1;
51565 }
51566 if (UNTAG_Bool(REGB0)) {
51567 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
51568 /* ./parser//parser_prod.nit:9165 */
51569 if (UNTAG_Bool(REGB0)) {
51570 } else {
51571 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
51572 if (UNTAG_Bool(REGB1)) {
51573 REGB1 = TAG_Bool(false);
51574 REGB0 = REGB1;
51575 } else {
51576 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
51577 REGB0 = REGB1;
51578 }
51579 }
51580 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
51581 if (UNTAG_Bool(REGB0)) {
51582 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
51583 /* ./parser//parser_prod.nit:9166 */
51584 if (UNTAG_Bool(REGB0)) {
51585 fprintf(stderr, "Reciever is null");
51586 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9166);
51587 nit_exit(1);
51588 }
51589 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
51590 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
51591 /* ./parser//parser_prod.nit:9167 */
51592 if (UNTAG_Bool(REGB0)) {
51593 } else {
51594 fprintf(stderr, "Assert failed");
51595 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9167);
51596 nit_exit(1);
51597 }
51598 /* ./parser//parser_prod.nit:9168 */
51599 ATTR_parser_nodes___AProxyExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
51600 } else {
51601 /* ./parser//parser_prod.nit:9170 */
51602 fprintf(stderr, "Aborted");
51603 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9170);
51604 nit_exit(1);
51605 }
51606 /* ./parser//parser_prod.nit:9172 */
51607 goto label1;
51608 }
51609 label1: while(0);
51610 stack_frame_head = fra.me.prev;
51611 return;
51612 }
51613 void parser_prod___AParExpr___visit_all(val_t p0, val_t p1){
51614 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
51615 val_t REGB0;
51616 val_t tmp;
51617 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51618 fra.me.file = LOCATE_parser_prod;
51619 fra.me.line = 9176;
51620 fra.me.meth = LOCATE_parser_prod___AParExpr___visit_all;
51621 fra.me.has_broke = 0;
51622 fra.me.REG_size = 2;
51623 fra.me.REG[0] = NIT_NULL;
51624 fra.me.REG[1] = NIT_NULL;
51625 fra.me.REG[0] = p0;
51626 fra.me.REG[1] = p1;
51627 REGB0 = TAG_Bool(ATTR_parser_nodes___AProxyExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
51628 /* ./parser//parser_prod.nit:9178 */
51629 if (UNTAG_Bool(REGB0)) {
51630 } else {
51631 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
51632 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9178);
51633 nit_exit(1);
51634 }
51635 fra.me.REG[0] = ATTR_parser_nodes___AProxyExpr____n_expr(fra.me.REG[0]);
51636 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
51637 stack_frame_head = fra.me.prev;
51638 return;
51639 }
51640 void parser_prod___AParExpr___visit_all_reverse(val_t p0, val_t p1){
51641 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
51642 val_t REGB0;
51643 val_t tmp;
51644 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51645 fra.me.file = LOCATE_parser_prod;
51646 fra.me.line = 9181;
51647 fra.me.meth = LOCATE_parser_prod___AParExpr___visit_all_reverse;
51648 fra.me.has_broke = 0;
51649 fra.me.REG_size = 2;
51650 fra.me.REG[0] = NIT_NULL;
51651 fra.me.REG[1] = NIT_NULL;
51652 fra.me.REG[0] = p0;
51653 fra.me.REG[1] = p1;
51654 REGB0 = TAG_Bool(ATTR_parser_nodes___AProxyExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
51655 /* ./parser//parser_prod.nit:9183 */
51656 if (UNTAG_Bool(REGB0)) {
51657 } else {
51658 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
51659 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9183);
51660 nit_exit(1);
51661 }
51662 fra.me.REG[0] = ATTR_parser_nodes___AProxyExpr____n_expr(fra.me.REG[0]);
51663 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
51664 stack_frame_head = fra.me.prev;
51665 return;
51666 }
51667 void parser_prod___AParExpr___empty_init(val_t p0, int* init_table){
51668 int itpos233 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AParExpr].i;
51669 struct {struct stack_frame_t me;} fra;
51670 val_t tmp;
51671 if (init_table[itpos233]) return;
51672 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51673 fra.me.file = LOCATE_parser_prod;
51674 fra.me.line = 9151;
51675 fra.me.meth = LOCATE_parser_prod___AParExpr___empty_init;
51676 fra.me.has_broke = 0;
51677 fra.me.REG_size = 1;
51678 fra.me.REG[0] = NIT_NULL;
51679 fra.me.REG[0] = p0;
51680 /* ./parser//parser_prod.nit:9151 */
51681 stack_frame_head = fra.me.prev;
51682 init_table[itpos233] = 1;
51683 return;
51684 }
51685 void parser_prod___AParExpr___init_aparexpr(val_t p0, val_t p1, int* init_table){
51686 int itpos234 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AParExpr].i;
51687 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
51688 val_t REGB0;
51689 val_t tmp;
51690 if (init_table[itpos234]) return;
51691 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51692 fra.me.file = LOCATE_parser_prod;
51693 fra.me.line = 9153;
51694 fra.me.meth = LOCATE_parser_prod___AParExpr___init_aparexpr;
51695 fra.me.has_broke = 0;
51696 fra.me.REG_size = 2;
51697 fra.me.REG[0] = NIT_NULL;
51698 fra.me.REG[1] = NIT_NULL;
51699 fra.me.REG[0] = p0;
51700 fra.me.REG[1] = p1;
51701 /* ./parser//parser_prod.nit:9157 */
51702 CALL_parser_prod___AParExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
51703 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
51704 /* ./parser//parser_prod.nit:9158 */
51705 if (UNTAG_Bool(REGB0)) {
51706 } else {
51707 fprintf(stderr, "Cast failed");
51708 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9158);
51709 nit_exit(1);
51710 }
51711 ATTR_parser_nodes___AProxyExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
51712 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
51713 /* ./parser//parser_prod.nit:9159 */
51714 if (UNTAG_Bool(REGB0)) {
51715 fprintf(stderr, "Reciever is null");
51716 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9159);
51717 nit_exit(1);
51718 }
51719 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
51720 stack_frame_head = fra.me.prev;
51721 init_table[itpos234] = 1;
51722 return;
51723 }
51724 void parser_prod___AAsCastExpr___n_expr__eq(val_t p0, val_t p1){
51725 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
51726 val_t tmp;
51727 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51728 fra.me.file = LOCATE_parser_prod;
51729 fra.me.line = 9187;
51730 fra.me.meth = LOCATE_parser_prod___AAsCastExpr___n_expr__eq;
51731 fra.me.has_broke = 0;
51732 fra.me.REG_size = 2;
51733 fra.me.REG[0] = NIT_NULL;
51734 fra.me.REG[1] = NIT_NULL;
51735 fra.me.REG[0] = p0;
51736 fra.me.REG[1] = p1;
51737 /* ./parser//parser_prod.nit:9189 */
51738 ATTR_parser_nodes___AAsCastExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
51739 /* ./parser//parser_prod.nit:9190 */
51740 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
51741 stack_frame_head = fra.me.prev;
51742 return;
51743 }
51744 void parser_prod___AAsCastExpr___n_kwas__eq(val_t p0, val_t p1){
51745 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
51746 val_t tmp;
51747 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51748 fra.me.file = LOCATE_parser_prod;
51749 fra.me.line = 9192;
51750 fra.me.meth = LOCATE_parser_prod___AAsCastExpr___n_kwas__eq;
51751 fra.me.has_broke = 0;
51752 fra.me.REG_size = 2;
51753 fra.me.REG[0] = NIT_NULL;
51754 fra.me.REG[1] = NIT_NULL;
51755 fra.me.REG[0] = p0;
51756 fra.me.REG[1] = p1;
51757 /* ./parser//parser_prod.nit:9194 */
51758 ATTR_parser_nodes___AAsCastExpr____n_kwas(fra.me.REG[0]) = fra.me.REG[1];
51759 /* ./parser//parser_prod.nit:9195 */
51760 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
51761 stack_frame_head = fra.me.prev;
51762 return;
51763 }
51764 void parser_prod___AAsCastExpr___n_type__eq(val_t p0, val_t p1){
51765 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
51766 val_t tmp;
51767 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51768 fra.me.file = LOCATE_parser_prod;
51769 fra.me.line = 9197;
51770 fra.me.meth = LOCATE_parser_prod___AAsCastExpr___n_type__eq;
51771 fra.me.has_broke = 0;
51772 fra.me.REG_size = 2;
51773 fra.me.REG[0] = NIT_NULL;
51774 fra.me.REG[1] = NIT_NULL;
51775 fra.me.REG[0] = p0;
51776 fra.me.REG[1] = p1;
51777 /* ./parser//parser_prod.nit:9199 */
51778 ATTR_parser_nodes___AAsCastExpr____n_type(fra.me.REG[0]) = fra.me.REG[1];
51779 /* ./parser//parser_prod.nit:9200 */
51780 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
51781 stack_frame_head = fra.me.prev;
51782 return;
51783 }
51784 void parser_prod___AAsCastExpr___replace_child(val_t p0, val_t p1, val_t p2){
51785 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
51786 val_t REGB0;
51787 val_t REGB1;
51788 val_t tmp;
51789 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51790 fra.me.file = LOCATE_parser_prod;
51791 fra.me.line = 9220;
51792 fra.me.meth = LOCATE_parser_prod___AAsCastExpr___replace_child;
51793 fra.me.has_broke = 0;
51794 fra.me.REG_size = 4;
51795 fra.me.REG[0] = NIT_NULL;
51796 fra.me.REG[1] = NIT_NULL;
51797 fra.me.REG[2] = NIT_NULL;
51798 fra.me.REG[3] = NIT_NULL;
51799 fra.me.REG[0] = p0;
51800 fra.me.REG[1] = p1;
51801 fra.me.REG[2] = p2;
51802 REGB0 = TAG_Bool(ATTR_parser_nodes___AAsCastExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
51803 /* ./parser//parser_prod.nit:9222 */
51804 if (UNTAG_Bool(REGB0)) {
51805 } else {
51806 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
51807 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9222);
51808 nit_exit(1);
51809 }
51810 fra.me.REG[3] = ATTR_parser_nodes___AAsCastExpr____n_expr(fra.me.REG[0]);
51811 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
51812 if (UNTAG_Bool(REGB0)) {
51813 } else {
51814 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
51815 REGB0 = REGB1;
51816 }
51817 if (UNTAG_Bool(REGB0)) {
51818 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
51819 /* ./parser//parser_prod.nit:9223 */
51820 if (UNTAG_Bool(REGB0)) {
51821 } else {
51822 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
51823 if (UNTAG_Bool(REGB1)) {
51824 REGB1 = TAG_Bool(false);
51825 REGB0 = REGB1;
51826 } else {
51827 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
51828 REGB0 = REGB1;
51829 }
51830 }
51831 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
51832 if (UNTAG_Bool(REGB0)) {
51833 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
51834 /* ./parser//parser_prod.nit:9224 */
51835 if (UNTAG_Bool(REGB0)) {
51836 fprintf(stderr, "Reciever is null");
51837 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9224);
51838 nit_exit(1);
51839 }
51840 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
51841 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
51842 /* ./parser//parser_prod.nit:9225 */
51843 if (UNTAG_Bool(REGB0)) {
51844 } else {
51845 fprintf(stderr, "Assert failed");
51846 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9225);
51847 nit_exit(1);
51848 }
51849 /* ./parser//parser_prod.nit:9226 */
51850 ATTR_parser_nodes___AAsCastExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
51851 } else {
51852 /* ./parser//parser_prod.nit:9228 */
51853 fprintf(stderr, "Aborted");
51854 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9228);
51855 nit_exit(1);
51856 }
51857 /* ./parser//parser_prod.nit:9230 */
51858 goto label1;
51859 }
51860 REGB0 = TAG_Bool(ATTR_parser_nodes___AAsCastExpr____n_kwas(fra.me.REG[0])!=NIT_NULL);
51861 /* ./parser//parser_prod.nit:9232 */
51862 if (UNTAG_Bool(REGB0)) {
51863 } else {
51864 fprintf(stderr, "Uninitialized attribute %s", "_n_kwas");
51865 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9232);
51866 nit_exit(1);
51867 }
51868 fra.me.REG[3] = ATTR_parser_nodes___AAsCastExpr____n_kwas(fra.me.REG[0]);
51869 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
51870 if (UNTAG_Bool(REGB0)) {
51871 } else {
51872 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
51873 REGB0 = REGB1;
51874 }
51875 if (UNTAG_Bool(REGB0)) {
51876 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
51877 /* ./parser//parser_prod.nit:9233 */
51878 if (UNTAG_Bool(REGB0)) {
51879 } else {
51880 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
51881 if (UNTAG_Bool(REGB1)) {
51882 REGB1 = TAG_Bool(false);
51883 REGB0 = REGB1;
51884 } else {
51885 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
51886 REGB0 = REGB1;
51887 }
51888 }
51889 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
51890 if (UNTAG_Bool(REGB0)) {
51891 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
51892 /* ./parser//parser_prod.nit:9234 */
51893 if (UNTAG_Bool(REGB0)) {
51894 fprintf(stderr, "Reciever is null");
51895 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9234);
51896 nit_exit(1);
51897 }
51898 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
51899 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwas, ID_TKwas)) /*cast TKwas*/;
51900 /* ./parser//parser_prod.nit:9235 */
51901 if (UNTAG_Bool(REGB0)) {
51902 } else {
51903 fprintf(stderr, "Assert failed");
51904 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9235);
51905 nit_exit(1);
51906 }
51907 /* ./parser//parser_prod.nit:9236 */
51908 ATTR_parser_nodes___AAsCastExpr____n_kwas(fra.me.REG[0]) = fra.me.REG[2];
51909 } else {
51910 /* ./parser//parser_prod.nit:9238 */
51911 fprintf(stderr, "Aborted");
51912 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9238);
51913 nit_exit(1);
51914 }
51915 /* ./parser//parser_prod.nit:9240 */
51916 goto label1;
51917 }
51918 REGB0 = TAG_Bool(ATTR_parser_nodes___AAsCastExpr____n_type(fra.me.REG[0])!=NIT_NULL);
51919 /* ./parser//parser_prod.nit:9242 */
51920 if (UNTAG_Bool(REGB0)) {
51921 } else {
51922 fprintf(stderr, "Uninitialized attribute %s", "_n_type");
51923 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9242);
51924 nit_exit(1);
51925 }
51926 fra.me.REG[3] = ATTR_parser_nodes___AAsCastExpr____n_type(fra.me.REG[0]);
51927 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
51928 if (UNTAG_Bool(REGB0)) {
51929 } else {
51930 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
51931 REGB0 = REGB1;
51932 }
51933 if (UNTAG_Bool(REGB0)) {
51934 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
51935 /* ./parser//parser_prod.nit:9243 */
51936 if (UNTAG_Bool(REGB0)) {
51937 } else {
51938 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
51939 if (UNTAG_Bool(REGB1)) {
51940 REGB1 = TAG_Bool(false);
51941 REGB0 = REGB1;
51942 } else {
51943 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
51944 REGB0 = REGB1;
51945 }
51946 }
51947 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
51948 if (UNTAG_Bool(REGB0)) {
51949 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
51950 /* ./parser//parser_prod.nit:9244 */
51951 if (UNTAG_Bool(REGB0)) {
51952 fprintf(stderr, "Reciever is null");
51953 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9244);
51954 nit_exit(1);
51955 }
51956 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
51957 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AType, ID_AType)) /*cast AType*/;
51958 /* ./parser//parser_prod.nit:9245 */
51959 if (UNTAG_Bool(REGB0)) {
51960 } else {
51961 fprintf(stderr, "Assert failed");
51962 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9245);
51963 nit_exit(1);
51964 }
51965 /* ./parser//parser_prod.nit:9246 */
51966 ATTR_parser_nodes___AAsCastExpr____n_type(fra.me.REG[0]) = fra.me.REG[2];
51967 } else {
51968 /* ./parser//parser_prod.nit:9248 */
51969 fprintf(stderr, "Aborted");
51970 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9248);
51971 nit_exit(1);
51972 }
51973 /* ./parser//parser_prod.nit:9250 */
51974 goto label1;
51975 }
51976 label1: while(0);
51977 stack_frame_head = fra.me.prev;
51978 return;
51979 }
51980 void parser_prod___AAsCastExpr___visit_all(val_t p0, val_t p1){
51981 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
51982 val_t REGB0;
51983 val_t tmp;
51984 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
51985 fra.me.file = LOCATE_parser_prod;
51986 fra.me.line = 9254;
51987 fra.me.meth = LOCATE_parser_prod___AAsCastExpr___visit_all;
51988 fra.me.has_broke = 0;
51989 fra.me.REG_size = 3;
51990 fra.me.REG[0] = NIT_NULL;
51991 fra.me.REG[1] = NIT_NULL;
51992 fra.me.REG[2] = NIT_NULL;
51993 fra.me.REG[0] = p0;
51994 fra.me.REG[1] = p1;
51995 REGB0 = TAG_Bool(ATTR_parser_nodes___AAsCastExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
51996 /* ./parser//parser_prod.nit:9256 */
51997 if (UNTAG_Bool(REGB0)) {
51998 } else {
51999 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
52000 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9256);
52001 nit_exit(1);
52002 }
52003 fra.me.REG[2] = ATTR_parser_nodes___AAsCastExpr____n_expr(fra.me.REG[0]);
52004 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
52005 REGB0 = TAG_Bool(ATTR_parser_nodes___AAsCastExpr____n_kwas(fra.me.REG[0])!=NIT_NULL);
52006 /* ./parser//parser_prod.nit:9257 */
52007 if (UNTAG_Bool(REGB0)) {
52008 } else {
52009 fprintf(stderr, "Uninitialized attribute %s", "_n_kwas");
52010 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9257);
52011 nit_exit(1);
52012 }
52013 fra.me.REG[2] = ATTR_parser_nodes___AAsCastExpr____n_kwas(fra.me.REG[0]);
52014 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
52015 REGB0 = TAG_Bool(ATTR_parser_nodes___AAsCastExpr____n_type(fra.me.REG[0])!=NIT_NULL);
52016 /* ./parser//parser_prod.nit:9258 */
52017 if (UNTAG_Bool(REGB0)) {
52018 } else {
52019 fprintf(stderr, "Uninitialized attribute %s", "_n_type");
52020 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9258);
52021 nit_exit(1);
52022 }
52023 fra.me.REG[0] = ATTR_parser_nodes___AAsCastExpr____n_type(fra.me.REG[0]);
52024 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
52025 stack_frame_head = fra.me.prev;
52026 return;
52027 }
52028 void parser_prod___AAsCastExpr___visit_all_reverse(val_t p0, val_t p1){
52029 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
52030 val_t REGB0;
52031 val_t tmp;
52032 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52033 fra.me.file = LOCATE_parser_prod;
52034 fra.me.line = 9261;
52035 fra.me.meth = LOCATE_parser_prod___AAsCastExpr___visit_all_reverse;
52036 fra.me.has_broke = 0;
52037 fra.me.REG_size = 3;
52038 fra.me.REG[0] = NIT_NULL;
52039 fra.me.REG[1] = NIT_NULL;
52040 fra.me.REG[2] = NIT_NULL;
52041 fra.me.REG[0] = p0;
52042 fra.me.REG[1] = p1;
52043 REGB0 = TAG_Bool(ATTR_parser_nodes___AAsCastExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
52044 /* ./parser//parser_prod.nit:9263 */
52045 if (UNTAG_Bool(REGB0)) {
52046 } else {
52047 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
52048 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9263);
52049 nit_exit(1);
52050 }
52051 fra.me.REG[2] = ATTR_parser_nodes___AAsCastExpr____n_expr(fra.me.REG[0]);
52052 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
52053 REGB0 = TAG_Bool(ATTR_parser_nodes___AAsCastExpr____n_kwas(fra.me.REG[0])!=NIT_NULL);
52054 /* ./parser//parser_prod.nit:9264 */
52055 if (UNTAG_Bool(REGB0)) {
52056 } else {
52057 fprintf(stderr, "Uninitialized attribute %s", "_n_kwas");
52058 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9264);
52059 nit_exit(1);
52060 }
52061 fra.me.REG[2] = ATTR_parser_nodes___AAsCastExpr____n_kwas(fra.me.REG[0]);
52062 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
52063 REGB0 = TAG_Bool(ATTR_parser_nodes___AAsCastExpr____n_type(fra.me.REG[0])!=NIT_NULL);
52064 /* ./parser//parser_prod.nit:9265 */
52065 if (UNTAG_Bool(REGB0)) {
52066 } else {
52067 fprintf(stderr, "Uninitialized attribute %s", "_n_type");
52068 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9265);
52069 nit_exit(1);
52070 }
52071 fra.me.REG[0] = ATTR_parser_nodes___AAsCastExpr____n_type(fra.me.REG[0]);
52072 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
52073 stack_frame_head = fra.me.prev;
52074 return;
52075 }
52076 void parser_prod___AAsCastExpr___empty_init(val_t p0, int* init_table){
52077 int itpos235 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AAsCastExpr].i;
52078 struct {struct stack_frame_t me;} fra;
52079 val_t tmp;
52080 if (init_table[itpos235]) return;
52081 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52082 fra.me.file = LOCATE_parser_prod;
52083 fra.me.line = 9203;
52084 fra.me.meth = LOCATE_parser_prod___AAsCastExpr___empty_init;
52085 fra.me.has_broke = 0;
52086 fra.me.REG_size = 1;
52087 fra.me.REG[0] = NIT_NULL;
52088 fra.me.REG[0] = p0;
52089 /* ./parser//parser_prod.nit:9203 */
52090 stack_frame_head = fra.me.prev;
52091 init_table[itpos235] = 1;
52092 return;
52093 }
52094 void parser_prod___AAsCastExpr___init_aascastexpr(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
52095 int itpos236 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AAsCastExpr].i;
52096 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
52097 val_t REGB0;
52098 val_t tmp;
52099 if (init_table[itpos236]) return;
52100 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52101 fra.me.file = LOCATE_parser_prod;
52102 fra.me.line = 9205;
52103 fra.me.meth = LOCATE_parser_prod___AAsCastExpr___init_aascastexpr;
52104 fra.me.has_broke = 0;
52105 fra.me.REG_size = 4;
52106 fra.me.REG[0] = NIT_NULL;
52107 fra.me.REG[1] = NIT_NULL;
52108 fra.me.REG[2] = NIT_NULL;
52109 fra.me.REG[3] = NIT_NULL;
52110 fra.me.REG[0] = p0;
52111 fra.me.REG[1] = p1;
52112 fra.me.REG[2] = p2;
52113 fra.me.REG[3] = p3;
52114 /* ./parser//parser_prod.nit:9211 */
52115 CALL_parser_prod___AAsCastExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
52116 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
52117 /* ./parser//parser_prod.nit:9212 */
52118 if (UNTAG_Bool(REGB0)) {
52119 } else {
52120 fprintf(stderr, "Cast failed");
52121 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9212);
52122 nit_exit(1);
52123 }
52124 ATTR_parser_nodes___AAsCastExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
52125 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
52126 /* ./parser//parser_prod.nit:9213 */
52127 if (UNTAG_Bool(REGB0)) {
52128 fprintf(stderr, "Reciever is null");
52129 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9213);
52130 nit_exit(1);
52131 }
52132 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
52133 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
52134 /* ./parser//parser_prod.nit:9214 */
52135 if (UNTAG_Bool(REGB0)) {
52136 } else {
52137 fprintf(stderr, "Cast failed");
52138 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9214);
52139 nit_exit(1);
52140 }
52141 ATTR_parser_nodes___AAsCastExpr____n_kwas(fra.me.REG[0]) = fra.me.REG[2];
52142 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
52143 /* ./parser//parser_prod.nit:9215 */
52144 if (UNTAG_Bool(REGB0)) {
52145 fprintf(stderr, "Reciever is null");
52146 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9215);
52147 nit_exit(1);
52148 }
52149 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
52150 REGB0 = TAG_Bool(fra.me.REG[3]!=NIT_NULL);
52151 /* ./parser//parser_prod.nit:9216 */
52152 if (UNTAG_Bool(REGB0)) {
52153 } else {
52154 fprintf(stderr, "Cast failed");
52155 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9216);
52156 nit_exit(1);
52157 }
52158 ATTR_parser_nodes___AAsCastExpr____n_type(fra.me.REG[0]) = fra.me.REG[3];
52159 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
52160 /* ./parser//parser_prod.nit:9217 */
52161 if (UNTAG_Bool(REGB0)) {
52162 fprintf(stderr, "Reciever is null");
52163 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9217);
52164 nit_exit(1);
52165 }
52166 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
52167 stack_frame_head = fra.me.prev;
52168 init_table[itpos236] = 1;
52169 return;
52170 }
52171 void parser_prod___AAsNotnullExpr___n_expr__eq(val_t p0, val_t p1){
52172 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
52173 val_t tmp;
52174 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52175 fra.me.file = LOCATE_parser_prod;
52176 fra.me.line = 9269;
52177 fra.me.meth = LOCATE_parser_prod___AAsNotnullExpr___n_expr__eq;
52178 fra.me.has_broke = 0;
52179 fra.me.REG_size = 2;
52180 fra.me.REG[0] = NIT_NULL;
52181 fra.me.REG[1] = NIT_NULL;
52182 fra.me.REG[0] = p0;
52183 fra.me.REG[1] = p1;
52184 /* ./parser//parser_prod.nit:9271 */
52185 ATTR_parser_nodes___AAsNotnullExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
52186 /* ./parser//parser_prod.nit:9272 */
52187 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
52188 stack_frame_head = fra.me.prev;
52189 return;
52190 }
52191 void parser_prod___AAsNotnullExpr___n_kwas__eq(val_t p0, val_t p1){
52192 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
52193 val_t tmp;
52194 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52195 fra.me.file = LOCATE_parser_prod;
52196 fra.me.line = 9274;
52197 fra.me.meth = LOCATE_parser_prod___AAsNotnullExpr___n_kwas__eq;
52198 fra.me.has_broke = 0;
52199 fra.me.REG_size = 2;
52200 fra.me.REG[0] = NIT_NULL;
52201 fra.me.REG[1] = NIT_NULL;
52202 fra.me.REG[0] = p0;
52203 fra.me.REG[1] = p1;
52204 /* ./parser//parser_prod.nit:9276 */
52205 ATTR_parser_nodes___AAsNotnullExpr____n_kwas(fra.me.REG[0]) = fra.me.REG[1];
52206 /* ./parser//parser_prod.nit:9277 */
52207 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
52208 stack_frame_head = fra.me.prev;
52209 return;
52210 }
52211 void parser_prod___AAsNotnullExpr___n_kwnot__eq(val_t p0, val_t p1){
52212 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
52213 val_t tmp;
52214 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52215 fra.me.file = LOCATE_parser_prod;
52216 fra.me.line = 9279;
52217 fra.me.meth = LOCATE_parser_prod___AAsNotnullExpr___n_kwnot__eq;
52218 fra.me.has_broke = 0;
52219 fra.me.REG_size = 2;
52220 fra.me.REG[0] = NIT_NULL;
52221 fra.me.REG[1] = NIT_NULL;
52222 fra.me.REG[0] = p0;
52223 fra.me.REG[1] = p1;
52224 /* ./parser//parser_prod.nit:9281 */
52225 ATTR_parser_nodes___AAsNotnullExpr____n_kwnot(fra.me.REG[0]) = fra.me.REG[1];
52226 /* ./parser//parser_prod.nit:9282 */
52227 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
52228 stack_frame_head = fra.me.prev;
52229 return;
52230 }
52231 void parser_prod___AAsNotnullExpr___n_kwnull__eq(val_t p0, val_t p1){
52232 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
52233 val_t tmp;
52234 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52235 fra.me.file = LOCATE_parser_prod;
52236 fra.me.line = 9284;
52237 fra.me.meth = LOCATE_parser_prod___AAsNotnullExpr___n_kwnull__eq;
52238 fra.me.has_broke = 0;
52239 fra.me.REG_size = 2;
52240 fra.me.REG[0] = NIT_NULL;
52241 fra.me.REG[1] = NIT_NULL;
52242 fra.me.REG[0] = p0;
52243 fra.me.REG[1] = p1;
52244 /* ./parser//parser_prod.nit:9286 */
52245 ATTR_parser_nodes___AAsNotnullExpr____n_kwnull(fra.me.REG[0]) = fra.me.REG[1];
52246 /* ./parser//parser_prod.nit:9287 */
52247 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
52248 stack_frame_head = fra.me.prev;
52249 return;
52250 }
52251 void parser_prod___AAsNotnullExpr___replace_child(val_t p0, val_t p1, val_t p2){
52252 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
52253 val_t REGB0;
52254 val_t REGB1;
52255 val_t tmp;
52256 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52257 fra.me.file = LOCATE_parser_prod;
52258 fra.me.line = 9310;
52259 fra.me.meth = LOCATE_parser_prod___AAsNotnullExpr___replace_child;
52260 fra.me.has_broke = 0;
52261 fra.me.REG_size = 4;
52262 fra.me.REG[0] = NIT_NULL;
52263 fra.me.REG[1] = NIT_NULL;
52264 fra.me.REG[2] = NIT_NULL;
52265 fra.me.REG[3] = NIT_NULL;
52266 fra.me.REG[0] = p0;
52267 fra.me.REG[1] = p1;
52268 fra.me.REG[2] = p2;
52269 REGB0 = TAG_Bool(ATTR_parser_nodes___AAsNotnullExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
52270 /* ./parser//parser_prod.nit:9312 */
52271 if (UNTAG_Bool(REGB0)) {
52272 } else {
52273 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
52274 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9312);
52275 nit_exit(1);
52276 }
52277 fra.me.REG[3] = ATTR_parser_nodes___AAsNotnullExpr____n_expr(fra.me.REG[0]);
52278 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
52279 if (UNTAG_Bool(REGB0)) {
52280 } else {
52281 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
52282 REGB0 = REGB1;
52283 }
52284 if (UNTAG_Bool(REGB0)) {
52285 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
52286 /* ./parser//parser_prod.nit:9313 */
52287 if (UNTAG_Bool(REGB0)) {
52288 } else {
52289 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
52290 if (UNTAG_Bool(REGB1)) {
52291 REGB1 = TAG_Bool(false);
52292 REGB0 = REGB1;
52293 } else {
52294 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
52295 REGB0 = REGB1;
52296 }
52297 }
52298 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
52299 if (UNTAG_Bool(REGB0)) {
52300 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
52301 /* ./parser//parser_prod.nit:9314 */
52302 if (UNTAG_Bool(REGB0)) {
52303 fprintf(stderr, "Reciever is null");
52304 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9314);
52305 nit_exit(1);
52306 }
52307 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
52308 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
52309 /* ./parser//parser_prod.nit:9315 */
52310 if (UNTAG_Bool(REGB0)) {
52311 } else {
52312 fprintf(stderr, "Assert failed");
52313 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9315);
52314 nit_exit(1);
52315 }
52316 /* ./parser//parser_prod.nit:9316 */
52317 ATTR_parser_nodes___AAsNotnullExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
52318 } else {
52319 /* ./parser//parser_prod.nit:9318 */
52320 fprintf(stderr, "Aborted");
52321 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9318);
52322 nit_exit(1);
52323 }
52324 /* ./parser//parser_prod.nit:9320 */
52325 goto label1;
52326 }
52327 REGB0 = TAG_Bool(ATTR_parser_nodes___AAsNotnullExpr____n_kwas(fra.me.REG[0])!=NIT_NULL);
52328 /* ./parser//parser_prod.nit:9322 */
52329 if (UNTAG_Bool(REGB0)) {
52330 } else {
52331 fprintf(stderr, "Uninitialized attribute %s", "_n_kwas");
52332 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9322);
52333 nit_exit(1);
52334 }
52335 fra.me.REG[3] = ATTR_parser_nodes___AAsNotnullExpr____n_kwas(fra.me.REG[0]);
52336 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
52337 if (UNTAG_Bool(REGB0)) {
52338 } else {
52339 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
52340 REGB0 = REGB1;
52341 }
52342 if (UNTAG_Bool(REGB0)) {
52343 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
52344 /* ./parser//parser_prod.nit:9323 */
52345 if (UNTAG_Bool(REGB0)) {
52346 } else {
52347 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
52348 if (UNTAG_Bool(REGB1)) {
52349 REGB1 = TAG_Bool(false);
52350 REGB0 = REGB1;
52351 } else {
52352 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
52353 REGB0 = REGB1;
52354 }
52355 }
52356 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
52357 if (UNTAG_Bool(REGB0)) {
52358 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
52359 /* ./parser//parser_prod.nit:9324 */
52360 if (UNTAG_Bool(REGB0)) {
52361 fprintf(stderr, "Reciever is null");
52362 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9324);
52363 nit_exit(1);
52364 }
52365 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
52366 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwas, ID_TKwas)) /*cast TKwas*/;
52367 /* ./parser//parser_prod.nit:9325 */
52368 if (UNTAG_Bool(REGB0)) {
52369 } else {
52370 fprintf(stderr, "Assert failed");
52371 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9325);
52372 nit_exit(1);
52373 }
52374 /* ./parser//parser_prod.nit:9326 */
52375 ATTR_parser_nodes___AAsNotnullExpr____n_kwas(fra.me.REG[0]) = fra.me.REG[2];
52376 } else {
52377 /* ./parser//parser_prod.nit:9328 */
52378 fprintf(stderr, "Aborted");
52379 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9328);
52380 nit_exit(1);
52381 }
52382 /* ./parser//parser_prod.nit:9330 */
52383 goto label1;
52384 }
52385 REGB0 = TAG_Bool(ATTR_parser_nodes___AAsNotnullExpr____n_kwnot(fra.me.REG[0])!=NIT_NULL);
52386 /* ./parser//parser_prod.nit:9332 */
52387 if (UNTAG_Bool(REGB0)) {
52388 } else {
52389 fprintf(stderr, "Uninitialized attribute %s", "_n_kwnot");
52390 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9332);
52391 nit_exit(1);
52392 }
52393 fra.me.REG[3] = ATTR_parser_nodes___AAsNotnullExpr____n_kwnot(fra.me.REG[0]);
52394 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
52395 if (UNTAG_Bool(REGB0)) {
52396 } else {
52397 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
52398 REGB0 = REGB1;
52399 }
52400 if (UNTAG_Bool(REGB0)) {
52401 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
52402 /* ./parser//parser_prod.nit:9333 */
52403 if (UNTAG_Bool(REGB0)) {
52404 } else {
52405 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
52406 if (UNTAG_Bool(REGB1)) {
52407 REGB1 = TAG_Bool(false);
52408 REGB0 = REGB1;
52409 } else {
52410 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
52411 REGB0 = REGB1;
52412 }
52413 }
52414 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
52415 if (UNTAG_Bool(REGB0)) {
52416 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
52417 /* ./parser//parser_prod.nit:9334 */
52418 if (UNTAG_Bool(REGB0)) {
52419 fprintf(stderr, "Reciever is null");
52420 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9334);
52421 nit_exit(1);
52422 }
52423 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
52424 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwnot, ID_TKwnot)) /*cast TKwnot*/;
52425 /* ./parser//parser_prod.nit:9335 */
52426 if (UNTAG_Bool(REGB0)) {
52427 } else {
52428 fprintf(stderr, "Assert failed");
52429 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9335);
52430 nit_exit(1);
52431 }
52432 /* ./parser//parser_prod.nit:9336 */
52433 ATTR_parser_nodes___AAsNotnullExpr____n_kwnot(fra.me.REG[0]) = fra.me.REG[2];
52434 } else {
52435 /* ./parser//parser_prod.nit:9338 */
52436 fprintf(stderr, "Aborted");
52437 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9338);
52438 nit_exit(1);
52439 }
52440 /* ./parser//parser_prod.nit:9340 */
52441 goto label1;
52442 }
52443 REGB0 = TAG_Bool(ATTR_parser_nodes___AAsNotnullExpr____n_kwnull(fra.me.REG[0])!=NIT_NULL);
52444 /* ./parser//parser_prod.nit:9342 */
52445 if (UNTAG_Bool(REGB0)) {
52446 } else {
52447 fprintf(stderr, "Uninitialized attribute %s", "_n_kwnull");
52448 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9342);
52449 nit_exit(1);
52450 }
52451 fra.me.REG[3] = ATTR_parser_nodes___AAsNotnullExpr____n_kwnull(fra.me.REG[0]);
52452 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
52453 if (UNTAG_Bool(REGB0)) {
52454 } else {
52455 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
52456 REGB0 = REGB1;
52457 }
52458 if (UNTAG_Bool(REGB0)) {
52459 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
52460 /* ./parser//parser_prod.nit:9343 */
52461 if (UNTAG_Bool(REGB0)) {
52462 } else {
52463 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
52464 if (UNTAG_Bool(REGB1)) {
52465 REGB1 = TAG_Bool(false);
52466 REGB0 = REGB1;
52467 } else {
52468 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
52469 REGB0 = REGB1;
52470 }
52471 }
52472 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
52473 if (UNTAG_Bool(REGB0)) {
52474 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
52475 /* ./parser//parser_prod.nit:9344 */
52476 if (UNTAG_Bool(REGB0)) {
52477 fprintf(stderr, "Reciever is null");
52478 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9344);
52479 nit_exit(1);
52480 }
52481 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
52482 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwnull, ID_TKwnull)) /*cast TKwnull*/;
52483 /* ./parser//parser_prod.nit:9345 */
52484 if (UNTAG_Bool(REGB0)) {
52485 } else {
52486 fprintf(stderr, "Assert failed");
52487 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9345);
52488 nit_exit(1);
52489 }
52490 /* ./parser//parser_prod.nit:9346 */
52491 ATTR_parser_nodes___AAsNotnullExpr____n_kwnull(fra.me.REG[0]) = fra.me.REG[2];
52492 } else {
52493 /* ./parser//parser_prod.nit:9348 */
52494 fprintf(stderr, "Aborted");
52495 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9348);
52496 nit_exit(1);
52497 }
52498 /* ./parser//parser_prod.nit:9350 */
52499 goto label1;
52500 }
52501 label1: while(0);
52502 stack_frame_head = fra.me.prev;
52503 return;
52504 }
52505 void parser_prod___AAsNotnullExpr___visit_all(val_t p0, val_t p1){
52506 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
52507 val_t REGB0;
52508 val_t tmp;
52509 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52510 fra.me.file = LOCATE_parser_prod;
52511 fra.me.line = 9354;
52512 fra.me.meth = LOCATE_parser_prod___AAsNotnullExpr___visit_all;
52513 fra.me.has_broke = 0;
52514 fra.me.REG_size = 3;
52515 fra.me.REG[0] = NIT_NULL;
52516 fra.me.REG[1] = NIT_NULL;
52517 fra.me.REG[2] = NIT_NULL;
52518 fra.me.REG[0] = p0;
52519 fra.me.REG[1] = p1;
52520 REGB0 = TAG_Bool(ATTR_parser_nodes___AAsNotnullExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
52521 /* ./parser//parser_prod.nit:9356 */
52522 if (UNTAG_Bool(REGB0)) {
52523 } else {
52524 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
52525 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9356);
52526 nit_exit(1);
52527 }
52528 fra.me.REG[2] = ATTR_parser_nodes___AAsNotnullExpr____n_expr(fra.me.REG[0]);
52529 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
52530 REGB0 = TAG_Bool(ATTR_parser_nodes___AAsNotnullExpr____n_kwas(fra.me.REG[0])!=NIT_NULL);
52531 /* ./parser//parser_prod.nit:9357 */
52532 if (UNTAG_Bool(REGB0)) {
52533 } else {
52534 fprintf(stderr, "Uninitialized attribute %s", "_n_kwas");
52535 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9357);
52536 nit_exit(1);
52537 }
52538 fra.me.REG[2] = ATTR_parser_nodes___AAsNotnullExpr____n_kwas(fra.me.REG[0]);
52539 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
52540 REGB0 = TAG_Bool(ATTR_parser_nodes___AAsNotnullExpr____n_kwnot(fra.me.REG[0])!=NIT_NULL);
52541 /* ./parser//parser_prod.nit:9358 */
52542 if (UNTAG_Bool(REGB0)) {
52543 } else {
52544 fprintf(stderr, "Uninitialized attribute %s", "_n_kwnot");
52545 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9358);
52546 nit_exit(1);
52547 }
52548 fra.me.REG[2] = ATTR_parser_nodes___AAsNotnullExpr____n_kwnot(fra.me.REG[0]);
52549 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
52550 REGB0 = TAG_Bool(ATTR_parser_nodes___AAsNotnullExpr____n_kwnull(fra.me.REG[0])!=NIT_NULL);
52551 /* ./parser//parser_prod.nit:9359 */
52552 if (UNTAG_Bool(REGB0)) {
52553 } else {
52554 fprintf(stderr, "Uninitialized attribute %s", "_n_kwnull");
52555 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9359);
52556 nit_exit(1);
52557 }
52558 fra.me.REG[0] = ATTR_parser_nodes___AAsNotnullExpr____n_kwnull(fra.me.REG[0]);
52559 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
52560 stack_frame_head = fra.me.prev;
52561 return;
52562 }
52563 void parser_prod___AAsNotnullExpr___visit_all_reverse(val_t p0, val_t p1){
52564 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
52565 val_t REGB0;
52566 val_t tmp;
52567 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52568 fra.me.file = LOCATE_parser_prod;
52569 fra.me.line = 9362;
52570 fra.me.meth = LOCATE_parser_prod___AAsNotnullExpr___visit_all_reverse;
52571 fra.me.has_broke = 0;
52572 fra.me.REG_size = 3;
52573 fra.me.REG[0] = NIT_NULL;
52574 fra.me.REG[1] = NIT_NULL;
52575 fra.me.REG[2] = NIT_NULL;
52576 fra.me.REG[0] = p0;
52577 fra.me.REG[1] = p1;
52578 REGB0 = TAG_Bool(ATTR_parser_nodes___AAsNotnullExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
52579 /* ./parser//parser_prod.nit:9364 */
52580 if (UNTAG_Bool(REGB0)) {
52581 } else {
52582 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
52583 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9364);
52584 nit_exit(1);
52585 }
52586 fra.me.REG[2] = ATTR_parser_nodes___AAsNotnullExpr____n_expr(fra.me.REG[0]);
52587 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
52588 REGB0 = TAG_Bool(ATTR_parser_nodes___AAsNotnullExpr____n_kwas(fra.me.REG[0])!=NIT_NULL);
52589 /* ./parser//parser_prod.nit:9365 */
52590 if (UNTAG_Bool(REGB0)) {
52591 } else {
52592 fprintf(stderr, "Uninitialized attribute %s", "_n_kwas");
52593 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9365);
52594 nit_exit(1);
52595 }
52596 fra.me.REG[2] = ATTR_parser_nodes___AAsNotnullExpr____n_kwas(fra.me.REG[0]);
52597 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
52598 REGB0 = TAG_Bool(ATTR_parser_nodes___AAsNotnullExpr____n_kwnot(fra.me.REG[0])!=NIT_NULL);
52599 /* ./parser//parser_prod.nit:9366 */
52600 if (UNTAG_Bool(REGB0)) {
52601 } else {
52602 fprintf(stderr, "Uninitialized attribute %s", "_n_kwnot");
52603 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9366);
52604 nit_exit(1);
52605 }
52606 fra.me.REG[2] = ATTR_parser_nodes___AAsNotnullExpr____n_kwnot(fra.me.REG[0]);
52607 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
52608 REGB0 = TAG_Bool(ATTR_parser_nodes___AAsNotnullExpr____n_kwnull(fra.me.REG[0])!=NIT_NULL);
52609 /* ./parser//parser_prod.nit:9367 */
52610 if (UNTAG_Bool(REGB0)) {
52611 } else {
52612 fprintf(stderr, "Uninitialized attribute %s", "_n_kwnull");
52613 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9367);
52614 nit_exit(1);
52615 }
52616 fra.me.REG[0] = ATTR_parser_nodes___AAsNotnullExpr____n_kwnull(fra.me.REG[0]);
52617 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
52618 stack_frame_head = fra.me.prev;
52619 return;
52620 }
52621 void parser_prod___AAsNotnullExpr___empty_init(val_t p0, int* init_table){
52622 int itpos237 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AAsNotnullExpr].i;
52623 struct {struct stack_frame_t me;} fra;
52624 val_t tmp;
52625 if (init_table[itpos237]) return;
52626 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52627 fra.me.file = LOCATE_parser_prod;
52628 fra.me.line = 9290;
52629 fra.me.meth = LOCATE_parser_prod___AAsNotnullExpr___empty_init;
52630 fra.me.has_broke = 0;
52631 fra.me.REG_size = 1;
52632 fra.me.REG[0] = NIT_NULL;
52633 fra.me.REG[0] = p0;
52634 /* ./parser//parser_prod.nit:9290 */
52635 stack_frame_head = fra.me.prev;
52636 init_table[itpos237] = 1;
52637 return;
52638 }
52639 void parser_prod___AAsNotnullExpr___init_aasnotnullexpr(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, int* init_table){
52640 int itpos238 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AAsNotnullExpr].i;
52641 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
52642 val_t REGB0;
52643 val_t tmp;
52644 if (init_table[itpos238]) return;
52645 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52646 fra.me.file = LOCATE_parser_prod;
52647 fra.me.line = 9292;
52648 fra.me.meth = LOCATE_parser_prod___AAsNotnullExpr___init_aasnotnullexpr;
52649 fra.me.has_broke = 0;
52650 fra.me.REG_size = 5;
52651 fra.me.REG[0] = NIT_NULL;
52652 fra.me.REG[1] = NIT_NULL;
52653 fra.me.REG[2] = NIT_NULL;
52654 fra.me.REG[3] = NIT_NULL;
52655 fra.me.REG[4] = NIT_NULL;
52656 fra.me.REG[0] = p0;
52657 fra.me.REG[1] = p1;
52658 fra.me.REG[2] = p2;
52659 fra.me.REG[3] = p3;
52660 fra.me.REG[4] = p4;
52661 /* ./parser//parser_prod.nit:9299 */
52662 CALL_parser_prod___AAsNotnullExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
52663 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
52664 /* ./parser//parser_prod.nit:9300 */
52665 if (UNTAG_Bool(REGB0)) {
52666 } else {
52667 fprintf(stderr, "Cast failed");
52668 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9300);
52669 nit_exit(1);
52670 }
52671 ATTR_parser_nodes___AAsNotnullExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
52672 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
52673 /* ./parser//parser_prod.nit:9301 */
52674 if (UNTAG_Bool(REGB0)) {
52675 fprintf(stderr, "Reciever is null");
52676 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9301);
52677 nit_exit(1);
52678 }
52679 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
52680 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
52681 /* ./parser//parser_prod.nit:9302 */
52682 if (UNTAG_Bool(REGB0)) {
52683 } else {
52684 fprintf(stderr, "Cast failed");
52685 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9302);
52686 nit_exit(1);
52687 }
52688 ATTR_parser_nodes___AAsNotnullExpr____n_kwas(fra.me.REG[0]) = fra.me.REG[2];
52689 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
52690 /* ./parser//parser_prod.nit:9303 */
52691 if (UNTAG_Bool(REGB0)) {
52692 fprintf(stderr, "Reciever is null");
52693 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9303);
52694 nit_exit(1);
52695 }
52696 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
52697 REGB0 = TAG_Bool(fra.me.REG[3]!=NIT_NULL);
52698 /* ./parser//parser_prod.nit:9304 */
52699 if (UNTAG_Bool(REGB0)) {
52700 } else {
52701 fprintf(stderr, "Cast failed");
52702 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9304);
52703 nit_exit(1);
52704 }
52705 ATTR_parser_nodes___AAsNotnullExpr____n_kwnot(fra.me.REG[0]) = fra.me.REG[3];
52706 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
52707 /* ./parser//parser_prod.nit:9305 */
52708 if (UNTAG_Bool(REGB0)) {
52709 fprintf(stderr, "Reciever is null");
52710 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9305);
52711 nit_exit(1);
52712 }
52713 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
52714 REGB0 = TAG_Bool(fra.me.REG[4]!=NIT_NULL);
52715 /* ./parser//parser_prod.nit:9306 */
52716 if (UNTAG_Bool(REGB0)) {
52717 } else {
52718 fprintf(stderr, "Cast failed");
52719 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9306);
52720 nit_exit(1);
52721 }
52722 ATTR_parser_nodes___AAsNotnullExpr____n_kwnull(fra.me.REG[0]) = fra.me.REG[4];
52723 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
52724 /* ./parser//parser_prod.nit:9307 */
52725 if (UNTAG_Bool(REGB0)) {
52726 fprintf(stderr, "Reciever is null");
52727 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9307);
52728 nit_exit(1);
52729 }
52730 CALL_parser_prod___ANode___parent__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
52731 stack_frame_head = fra.me.prev;
52732 init_table[itpos238] = 1;
52733 return;
52734 }
52735 void parser_prod___AIssetAttrExpr___n_expr__eq(val_t p0, val_t p1){
52736 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
52737 val_t tmp;
52738 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52739 fra.me.file = LOCATE_parser_prod;
52740 fra.me.line = 9376;
52741 fra.me.meth = LOCATE_parser_prod___AIssetAttrExpr___n_expr__eq;
52742 fra.me.has_broke = 0;
52743 fra.me.REG_size = 2;
52744 fra.me.REG[0] = NIT_NULL;
52745 fra.me.REG[1] = NIT_NULL;
52746 fra.me.REG[0] = p0;
52747 fra.me.REG[1] = p1;
52748 /* ./parser//parser_prod.nit:9378 */
52749 ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0]) = fra.me.REG[1];
52750 /* ./parser//parser_prod.nit:9379 */
52751 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
52752 stack_frame_head = fra.me.prev;
52753 return;
52754 }
52755 void parser_prod___AIssetAttrExpr___n_id__eq(val_t p0, val_t p1){
52756 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
52757 val_t tmp;
52758 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52759 fra.me.file = LOCATE_parser_prod;
52760 fra.me.line = 9381;
52761 fra.me.meth = LOCATE_parser_prod___AIssetAttrExpr___n_id__eq;
52762 fra.me.has_broke = 0;
52763 fra.me.REG_size = 2;
52764 fra.me.REG[0] = NIT_NULL;
52765 fra.me.REG[1] = NIT_NULL;
52766 fra.me.REG[0] = p0;
52767 fra.me.REG[1] = p1;
52768 /* ./parser//parser_prod.nit:9383 */
52769 ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[1];
52770 /* ./parser//parser_prod.nit:9384 */
52771 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
52772 stack_frame_head = fra.me.prev;
52773 return;
52774 }
52775 void parser_prod___AIssetAttrExpr___n_kwisset__eq(val_t p0, val_t p1){
52776 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
52777 val_t tmp;
52778 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52779 fra.me.file = LOCATE_parser_prod;
52780 fra.me.line = 9371;
52781 fra.me.meth = LOCATE_parser_prod___AIssetAttrExpr___n_kwisset__eq;
52782 fra.me.has_broke = 0;
52783 fra.me.REG_size = 2;
52784 fra.me.REG[0] = NIT_NULL;
52785 fra.me.REG[1] = NIT_NULL;
52786 fra.me.REG[0] = p0;
52787 fra.me.REG[1] = p1;
52788 /* ./parser//parser_prod.nit:9373 */
52789 ATTR_parser_nodes___AIssetAttrExpr____n_kwisset(fra.me.REG[0]) = fra.me.REG[1];
52790 /* ./parser//parser_prod.nit:9374 */
52791 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
52792 stack_frame_head = fra.me.prev;
52793 return;
52794 }
52795 void parser_prod___AIssetAttrExpr___replace_child(val_t p0, val_t p1, val_t p2){
52796 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
52797 val_t REGB0;
52798 val_t REGB1;
52799 val_t tmp;
52800 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52801 fra.me.file = LOCATE_parser_prod;
52802 fra.me.line = 9404;
52803 fra.me.meth = LOCATE_parser_prod___AIssetAttrExpr___replace_child;
52804 fra.me.has_broke = 0;
52805 fra.me.REG_size = 4;
52806 fra.me.REG[0] = NIT_NULL;
52807 fra.me.REG[1] = NIT_NULL;
52808 fra.me.REG[2] = NIT_NULL;
52809 fra.me.REG[3] = NIT_NULL;
52810 fra.me.REG[0] = p0;
52811 fra.me.REG[1] = p1;
52812 fra.me.REG[2] = p2;
52813 REGB0 = TAG_Bool(ATTR_parser_nodes___AIssetAttrExpr____n_kwisset(fra.me.REG[0])!=NIT_NULL);
52814 /* ./parser//parser_prod.nit:9406 */
52815 if (UNTAG_Bool(REGB0)) {
52816 } else {
52817 fprintf(stderr, "Uninitialized attribute %s", "_n_kwisset");
52818 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9406);
52819 nit_exit(1);
52820 }
52821 fra.me.REG[3] = ATTR_parser_nodes___AIssetAttrExpr____n_kwisset(fra.me.REG[0]);
52822 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
52823 if (UNTAG_Bool(REGB0)) {
52824 } else {
52825 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
52826 REGB0 = REGB1;
52827 }
52828 if (UNTAG_Bool(REGB0)) {
52829 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
52830 /* ./parser//parser_prod.nit:9407 */
52831 if (UNTAG_Bool(REGB0)) {
52832 } else {
52833 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
52834 if (UNTAG_Bool(REGB1)) {
52835 REGB1 = TAG_Bool(false);
52836 REGB0 = REGB1;
52837 } else {
52838 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
52839 REGB0 = REGB1;
52840 }
52841 }
52842 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
52843 if (UNTAG_Bool(REGB0)) {
52844 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
52845 /* ./parser//parser_prod.nit:9408 */
52846 if (UNTAG_Bool(REGB0)) {
52847 fprintf(stderr, "Reciever is null");
52848 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9408);
52849 nit_exit(1);
52850 }
52851 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
52852 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwisset, ID_TKwisset)) /*cast TKwisset*/;
52853 /* ./parser//parser_prod.nit:9409 */
52854 if (UNTAG_Bool(REGB0)) {
52855 } else {
52856 fprintf(stderr, "Assert failed");
52857 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9409);
52858 nit_exit(1);
52859 }
52860 /* ./parser//parser_prod.nit:9410 */
52861 ATTR_parser_nodes___AIssetAttrExpr____n_kwisset(fra.me.REG[0]) = fra.me.REG[2];
52862 } else {
52863 /* ./parser//parser_prod.nit:9412 */
52864 fprintf(stderr, "Aborted");
52865 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9412);
52866 nit_exit(1);
52867 }
52868 /* ./parser//parser_prod.nit:9414 */
52869 goto label1;
52870 }
52871 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
52872 /* ./parser//parser_prod.nit:9416 */
52873 if (UNTAG_Bool(REGB0)) {
52874 } else {
52875 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
52876 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9416);
52877 nit_exit(1);
52878 }
52879 fra.me.REG[3] = ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0]);
52880 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
52881 if (UNTAG_Bool(REGB0)) {
52882 } else {
52883 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
52884 REGB0 = REGB1;
52885 }
52886 if (UNTAG_Bool(REGB0)) {
52887 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
52888 /* ./parser//parser_prod.nit:9417 */
52889 if (UNTAG_Bool(REGB0)) {
52890 } else {
52891 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
52892 if (UNTAG_Bool(REGB1)) {
52893 REGB1 = TAG_Bool(false);
52894 REGB0 = REGB1;
52895 } else {
52896 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
52897 REGB0 = REGB1;
52898 }
52899 }
52900 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
52901 if (UNTAG_Bool(REGB0)) {
52902 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
52903 /* ./parser//parser_prod.nit:9418 */
52904 if (UNTAG_Bool(REGB0)) {
52905 fprintf(stderr, "Reciever is null");
52906 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9418);
52907 nit_exit(1);
52908 }
52909 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
52910 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
52911 /* ./parser//parser_prod.nit:9419 */
52912 if (UNTAG_Bool(REGB0)) {
52913 } else {
52914 fprintf(stderr, "Assert failed");
52915 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9419);
52916 nit_exit(1);
52917 }
52918 /* ./parser//parser_prod.nit:9420 */
52919 ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
52920 } else {
52921 /* ./parser//parser_prod.nit:9422 */
52922 fprintf(stderr, "Aborted");
52923 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9422);
52924 nit_exit(1);
52925 }
52926 /* ./parser//parser_prod.nit:9424 */
52927 goto label1;
52928 }
52929 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
52930 /* ./parser//parser_prod.nit:9426 */
52931 if (UNTAG_Bool(REGB0)) {
52932 } else {
52933 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
52934 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9426);
52935 nit_exit(1);
52936 }
52937 fra.me.REG[3] = ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0]);
52938 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
52939 if (UNTAG_Bool(REGB0)) {
52940 } else {
52941 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
52942 REGB0 = REGB1;
52943 }
52944 if (UNTAG_Bool(REGB0)) {
52945 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
52946 /* ./parser//parser_prod.nit:9427 */
52947 if (UNTAG_Bool(REGB0)) {
52948 } else {
52949 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
52950 if (UNTAG_Bool(REGB1)) {
52951 REGB1 = TAG_Bool(false);
52952 REGB0 = REGB1;
52953 } else {
52954 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
52955 REGB0 = REGB1;
52956 }
52957 }
52958 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
52959 if (UNTAG_Bool(REGB0)) {
52960 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
52961 /* ./parser//parser_prod.nit:9428 */
52962 if (UNTAG_Bool(REGB0)) {
52963 fprintf(stderr, "Reciever is null");
52964 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9428);
52965 nit_exit(1);
52966 }
52967 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
52968 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TAttrid, ID_TAttrid)) /*cast TAttrid*/;
52969 /* ./parser//parser_prod.nit:9429 */
52970 if (UNTAG_Bool(REGB0)) {
52971 } else {
52972 fprintf(stderr, "Assert failed");
52973 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9429);
52974 nit_exit(1);
52975 }
52976 /* ./parser//parser_prod.nit:9430 */
52977 ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[2];
52978 } else {
52979 /* ./parser//parser_prod.nit:9432 */
52980 fprintf(stderr, "Aborted");
52981 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9432);
52982 nit_exit(1);
52983 }
52984 /* ./parser//parser_prod.nit:9434 */
52985 goto label1;
52986 }
52987 label1: while(0);
52988 stack_frame_head = fra.me.prev;
52989 return;
52990 }
52991 void parser_prod___AIssetAttrExpr___visit_all(val_t p0, val_t p1){
52992 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
52993 val_t REGB0;
52994 val_t tmp;
52995 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52996 fra.me.file = LOCATE_parser_prod;
52997 fra.me.line = 9438;
52998 fra.me.meth = LOCATE_parser_prod___AIssetAttrExpr___visit_all;
52999 fra.me.has_broke = 0;
53000 fra.me.REG_size = 3;
53001 fra.me.REG[0] = NIT_NULL;
53002 fra.me.REG[1] = NIT_NULL;
53003 fra.me.REG[2] = NIT_NULL;
53004 fra.me.REG[0] = p0;
53005 fra.me.REG[1] = p1;
53006 REGB0 = TAG_Bool(ATTR_parser_nodes___AIssetAttrExpr____n_kwisset(fra.me.REG[0])!=NIT_NULL);
53007 /* ./parser//parser_prod.nit:9440 */
53008 if (UNTAG_Bool(REGB0)) {
53009 } else {
53010 fprintf(stderr, "Uninitialized attribute %s", "_n_kwisset");
53011 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9440);
53012 nit_exit(1);
53013 }
53014 fra.me.REG[2] = ATTR_parser_nodes___AIssetAttrExpr____n_kwisset(fra.me.REG[0]);
53015 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
53016 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
53017 /* ./parser//parser_prod.nit:9441 */
53018 if (UNTAG_Bool(REGB0)) {
53019 } else {
53020 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
53021 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9441);
53022 nit_exit(1);
53023 }
53024 fra.me.REG[2] = ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0]);
53025 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
53026 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
53027 /* ./parser//parser_prod.nit:9442 */
53028 if (UNTAG_Bool(REGB0)) {
53029 } else {
53030 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
53031 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9442);
53032 nit_exit(1);
53033 }
53034 fra.me.REG[0] = ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0]);
53035 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
53036 stack_frame_head = fra.me.prev;
53037 return;
53038 }
53039 void parser_prod___AIssetAttrExpr___visit_all_reverse(val_t p0, val_t p1){
53040 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
53041 val_t REGB0;
53042 val_t tmp;
53043 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53044 fra.me.file = LOCATE_parser_prod;
53045 fra.me.line = 9445;
53046 fra.me.meth = LOCATE_parser_prod___AIssetAttrExpr___visit_all_reverse;
53047 fra.me.has_broke = 0;
53048 fra.me.REG_size = 3;
53049 fra.me.REG[0] = NIT_NULL;
53050 fra.me.REG[1] = NIT_NULL;
53051 fra.me.REG[2] = NIT_NULL;
53052 fra.me.REG[0] = p0;
53053 fra.me.REG[1] = p1;
53054 REGB0 = TAG_Bool(ATTR_parser_nodes___AIssetAttrExpr____n_kwisset(fra.me.REG[0])!=NIT_NULL);
53055 /* ./parser//parser_prod.nit:9447 */
53056 if (UNTAG_Bool(REGB0)) {
53057 } else {
53058 fprintf(stderr, "Uninitialized attribute %s", "_n_kwisset");
53059 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9447);
53060 nit_exit(1);
53061 }
53062 fra.me.REG[2] = ATTR_parser_nodes___AIssetAttrExpr____n_kwisset(fra.me.REG[0]);
53063 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
53064 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0])!=NIT_NULL);
53065 /* ./parser//parser_prod.nit:9448 */
53066 if (UNTAG_Bool(REGB0)) {
53067 } else {
53068 fprintf(stderr, "Uninitialized attribute %s", "_n_expr");
53069 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9448);
53070 nit_exit(1);
53071 }
53072 fra.me.REG[2] = ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0]);
53073 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
53074 REGB0 = TAG_Bool(ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0])!=NIT_NULL);
53075 /* ./parser//parser_prod.nit:9449 */
53076 if (UNTAG_Bool(REGB0)) {
53077 } else {
53078 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
53079 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9449);
53080 nit_exit(1);
53081 }
53082 fra.me.REG[0] = ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0]);
53083 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
53084 stack_frame_head = fra.me.prev;
53085 return;
53086 }
53087 void parser_prod___AIssetAttrExpr___empty_init(val_t p0, int* init_table){
53088 int itpos239 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AIssetAttrExpr].i;
53089 struct {struct stack_frame_t me;} fra;
53090 val_t tmp;
53091 if (init_table[itpos239]) return;
53092 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53093 fra.me.file = LOCATE_parser_prod;
53094 fra.me.line = 9387;
53095 fra.me.meth = LOCATE_parser_prod___AIssetAttrExpr___empty_init;
53096 fra.me.has_broke = 0;
53097 fra.me.REG_size = 1;
53098 fra.me.REG[0] = NIT_NULL;
53099 fra.me.REG[0] = p0;
53100 /* ./parser//parser_prod.nit:9387 */
53101 stack_frame_head = fra.me.prev;
53102 init_table[itpos239] = 1;
53103 return;
53104 }
53105 void parser_prod___AIssetAttrExpr___init_aissetattrexpr(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
53106 int itpos240 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AIssetAttrExpr].i;
53107 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
53108 val_t REGB0;
53109 val_t tmp;
53110 if (init_table[itpos240]) return;
53111 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53112 fra.me.file = LOCATE_parser_prod;
53113 fra.me.line = 9389;
53114 fra.me.meth = LOCATE_parser_prod___AIssetAttrExpr___init_aissetattrexpr;
53115 fra.me.has_broke = 0;
53116 fra.me.REG_size = 4;
53117 fra.me.REG[0] = NIT_NULL;
53118 fra.me.REG[1] = NIT_NULL;
53119 fra.me.REG[2] = NIT_NULL;
53120 fra.me.REG[3] = NIT_NULL;
53121 fra.me.REG[0] = p0;
53122 fra.me.REG[1] = p1;
53123 fra.me.REG[2] = p2;
53124 fra.me.REG[3] = p3;
53125 /* ./parser//parser_prod.nit:9395 */
53126 CALL_parser_prod___AIssetAttrExpr___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
53127 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
53128 /* ./parser//parser_prod.nit:9396 */
53129 if (UNTAG_Bool(REGB0)) {
53130 } else {
53131 fprintf(stderr, "Cast failed");
53132 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9396);
53133 nit_exit(1);
53134 }
53135 ATTR_parser_nodes___AIssetAttrExpr____n_kwisset(fra.me.REG[0]) = fra.me.REG[1];
53136 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
53137 /* ./parser//parser_prod.nit:9397 */
53138 if (UNTAG_Bool(REGB0)) {
53139 fprintf(stderr, "Reciever is null");
53140 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9397);
53141 nit_exit(1);
53142 }
53143 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
53144 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
53145 /* ./parser//parser_prod.nit:9398 */
53146 if (UNTAG_Bool(REGB0)) {
53147 } else {
53148 fprintf(stderr, "Cast failed");
53149 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9398);
53150 nit_exit(1);
53151 }
53152 ATTR_parser_nodes___AAttrFormExpr____n_expr(fra.me.REG[0]) = fra.me.REG[2];
53153 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
53154 /* ./parser//parser_prod.nit:9399 */
53155 if (UNTAG_Bool(REGB0)) {
53156 fprintf(stderr, "Reciever is null");
53157 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9399);
53158 nit_exit(1);
53159 }
53160 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
53161 REGB0 = TAG_Bool(fra.me.REG[3]!=NIT_NULL);
53162 /* ./parser//parser_prod.nit:9400 */
53163 if (UNTAG_Bool(REGB0)) {
53164 } else {
53165 fprintf(stderr, "Cast failed");
53166 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9400);
53167 nit_exit(1);
53168 }
53169 ATTR_parser_nodes___AAttrFormExpr____n_id(fra.me.REG[0]) = fra.me.REG[3];
53170 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
53171 /* ./parser//parser_prod.nit:9401 */
53172 if (UNTAG_Bool(REGB0)) {
53173 fprintf(stderr, "Reciever is null");
53174 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9401);
53175 nit_exit(1);
53176 }
53177 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
53178 stack_frame_head = fra.me.prev;
53179 init_table[itpos240] = 1;
53180 return;
53181 }
53182 void parser_prod___APlusAssignOp___n_pluseq__eq(val_t p0, val_t p1){
53183 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
53184 val_t tmp;
53185 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53186 fra.me.file = LOCATE_parser_prod;
53187 fra.me.line = 9453;
53188 fra.me.meth = LOCATE_parser_prod___APlusAssignOp___n_pluseq__eq;
53189 fra.me.has_broke = 0;
53190 fra.me.REG_size = 2;
53191 fra.me.REG[0] = NIT_NULL;
53192 fra.me.REG[1] = NIT_NULL;
53193 fra.me.REG[0] = p0;
53194 fra.me.REG[1] = p1;
53195 /* ./parser//parser_prod.nit:9455 */
53196 ATTR_parser_nodes___APlusAssignOp____n_pluseq(fra.me.REG[0]) = fra.me.REG[1];
53197 /* ./parser//parser_prod.nit:9456 */
53198 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
53199 stack_frame_head = fra.me.prev;
53200 return;
53201 }
53202 void parser_prod___APlusAssignOp___replace_child(val_t p0, val_t p1, val_t p2){
53203 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
53204 val_t REGB0;
53205 val_t REGB1;
53206 val_t tmp;
53207 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53208 fra.me.file = LOCATE_parser_prod;
53209 fra.me.line = 9470;
53210 fra.me.meth = LOCATE_parser_prod___APlusAssignOp___replace_child;
53211 fra.me.has_broke = 0;
53212 fra.me.REG_size = 4;
53213 fra.me.REG[0] = NIT_NULL;
53214 fra.me.REG[1] = NIT_NULL;
53215 fra.me.REG[2] = NIT_NULL;
53216 fra.me.REG[3] = NIT_NULL;
53217 fra.me.REG[0] = p0;
53218 fra.me.REG[1] = p1;
53219 fra.me.REG[2] = p2;
53220 REGB0 = TAG_Bool(ATTR_parser_nodes___APlusAssignOp____n_pluseq(fra.me.REG[0])!=NIT_NULL);
53221 /* ./parser//parser_prod.nit:9472 */
53222 if (UNTAG_Bool(REGB0)) {
53223 } else {
53224 fprintf(stderr, "Uninitialized attribute %s", "_n_pluseq");
53225 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9472);
53226 nit_exit(1);
53227 }
53228 fra.me.REG[3] = ATTR_parser_nodes___APlusAssignOp____n_pluseq(fra.me.REG[0]);
53229 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
53230 if (UNTAG_Bool(REGB0)) {
53231 } else {
53232 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
53233 REGB0 = REGB1;
53234 }
53235 if (UNTAG_Bool(REGB0)) {
53236 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
53237 /* ./parser//parser_prod.nit:9473 */
53238 if (UNTAG_Bool(REGB0)) {
53239 } else {
53240 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
53241 if (UNTAG_Bool(REGB1)) {
53242 REGB1 = TAG_Bool(false);
53243 REGB0 = REGB1;
53244 } else {
53245 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
53246 REGB0 = REGB1;
53247 }
53248 }
53249 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
53250 if (UNTAG_Bool(REGB0)) {
53251 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
53252 /* ./parser//parser_prod.nit:9474 */
53253 if (UNTAG_Bool(REGB0)) {
53254 fprintf(stderr, "Reciever is null");
53255 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9474);
53256 nit_exit(1);
53257 }
53258 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
53259 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TPluseq, ID_TPluseq)) /*cast TPluseq*/;
53260 /* ./parser//parser_prod.nit:9475 */
53261 if (UNTAG_Bool(REGB0)) {
53262 } else {
53263 fprintf(stderr, "Assert failed");
53264 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9475);
53265 nit_exit(1);
53266 }
53267 /* ./parser//parser_prod.nit:9476 */
53268 ATTR_parser_nodes___APlusAssignOp____n_pluseq(fra.me.REG[0]) = fra.me.REG[2];
53269 } else {
53270 /* ./parser//parser_prod.nit:9478 */
53271 fprintf(stderr, "Aborted");
53272 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9478);
53273 nit_exit(1);
53274 }
53275 /* ./parser//parser_prod.nit:9480 */
53276 goto label1;
53277 }
53278 label1: while(0);
53279 stack_frame_head = fra.me.prev;
53280 return;
53281 }
53282 void parser_prod___APlusAssignOp___visit_all(val_t p0, val_t p1){
53283 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
53284 val_t REGB0;
53285 val_t tmp;
53286 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53287 fra.me.file = LOCATE_parser_prod;
53288 fra.me.line = 9484;
53289 fra.me.meth = LOCATE_parser_prod___APlusAssignOp___visit_all;
53290 fra.me.has_broke = 0;
53291 fra.me.REG_size = 2;
53292 fra.me.REG[0] = NIT_NULL;
53293 fra.me.REG[1] = NIT_NULL;
53294 fra.me.REG[0] = p0;
53295 fra.me.REG[1] = p1;
53296 REGB0 = TAG_Bool(ATTR_parser_nodes___APlusAssignOp____n_pluseq(fra.me.REG[0])!=NIT_NULL);
53297 /* ./parser//parser_prod.nit:9486 */
53298 if (UNTAG_Bool(REGB0)) {
53299 } else {
53300 fprintf(stderr, "Uninitialized attribute %s", "_n_pluseq");
53301 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9486);
53302 nit_exit(1);
53303 }
53304 fra.me.REG[0] = ATTR_parser_nodes___APlusAssignOp____n_pluseq(fra.me.REG[0]);
53305 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
53306 stack_frame_head = fra.me.prev;
53307 return;
53308 }
53309 void parser_prod___APlusAssignOp___visit_all_reverse(val_t p0, val_t p1){
53310 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
53311 val_t REGB0;
53312 val_t tmp;
53313 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53314 fra.me.file = LOCATE_parser_prod;
53315 fra.me.line = 9489;
53316 fra.me.meth = LOCATE_parser_prod___APlusAssignOp___visit_all_reverse;
53317 fra.me.has_broke = 0;
53318 fra.me.REG_size = 2;
53319 fra.me.REG[0] = NIT_NULL;
53320 fra.me.REG[1] = NIT_NULL;
53321 fra.me.REG[0] = p0;
53322 fra.me.REG[1] = p1;
53323 REGB0 = TAG_Bool(ATTR_parser_nodes___APlusAssignOp____n_pluseq(fra.me.REG[0])!=NIT_NULL);
53324 /* ./parser//parser_prod.nit:9491 */
53325 if (UNTAG_Bool(REGB0)) {
53326 } else {
53327 fprintf(stderr, "Uninitialized attribute %s", "_n_pluseq");
53328 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9491);
53329 nit_exit(1);
53330 }
53331 fra.me.REG[0] = ATTR_parser_nodes___APlusAssignOp____n_pluseq(fra.me.REG[0]);
53332 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
53333 stack_frame_head = fra.me.prev;
53334 return;
53335 }
53336 void parser_prod___APlusAssignOp___empty_init(val_t p0, int* init_table){
53337 int itpos241 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_APlusAssignOp].i;
53338 struct {struct stack_frame_t me;} fra;
53339 val_t tmp;
53340 if (init_table[itpos241]) return;
53341 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53342 fra.me.file = LOCATE_parser_prod;
53343 fra.me.line = 9459;
53344 fra.me.meth = LOCATE_parser_prod___APlusAssignOp___empty_init;
53345 fra.me.has_broke = 0;
53346 fra.me.REG_size = 1;
53347 fra.me.REG[0] = NIT_NULL;
53348 fra.me.REG[0] = p0;
53349 /* ./parser//parser_prod.nit:9459 */
53350 stack_frame_head = fra.me.prev;
53351 init_table[itpos241] = 1;
53352 return;
53353 }
53354 void parser_prod___APlusAssignOp___init_aplusassignop(val_t p0, val_t p1, int* init_table){
53355 int itpos242 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_APlusAssignOp].i;
53356 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
53357 val_t REGB0;
53358 val_t tmp;
53359 if (init_table[itpos242]) return;
53360 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53361 fra.me.file = LOCATE_parser_prod;
53362 fra.me.line = 9461;
53363 fra.me.meth = LOCATE_parser_prod___APlusAssignOp___init_aplusassignop;
53364 fra.me.has_broke = 0;
53365 fra.me.REG_size = 2;
53366 fra.me.REG[0] = NIT_NULL;
53367 fra.me.REG[1] = NIT_NULL;
53368 fra.me.REG[0] = p0;
53369 fra.me.REG[1] = p1;
53370 /* ./parser//parser_prod.nit:9465 */
53371 CALL_parser_prod___APlusAssignOp___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
53372 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
53373 /* ./parser//parser_prod.nit:9466 */
53374 if (UNTAG_Bool(REGB0)) {
53375 } else {
53376 fprintf(stderr, "Cast failed");
53377 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9466);
53378 nit_exit(1);
53379 }
53380 ATTR_parser_nodes___APlusAssignOp____n_pluseq(fra.me.REG[0]) = fra.me.REG[1];
53381 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
53382 /* ./parser//parser_prod.nit:9467 */
53383 if (UNTAG_Bool(REGB0)) {
53384 fprintf(stderr, "Reciever is null");
53385 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9467);
53386 nit_exit(1);
53387 }
53388 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
53389 stack_frame_head = fra.me.prev;
53390 init_table[itpos242] = 1;
53391 return;
53392 }
53393 void parser_prod___AMinusAssignOp___n_minuseq__eq(val_t p0, val_t p1){
53394 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
53395 val_t tmp;
53396 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53397 fra.me.file = LOCATE_parser_prod;
53398 fra.me.line = 9495;
53399 fra.me.meth = LOCATE_parser_prod___AMinusAssignOp___n_minuseq__eq;
53400 fra.me.has_broke = 0;
53401 fra.me.REG_size = 2;
53402 fra.me.REG[0] = NIT_NULL;
53403 fra.me.REG[1] = NIT_NULL;
53404 fra.me.REG[0] = p0;
53405 fra.me.REG[1] = p1;
53406 /* ./parser//parser_prod.nit:9497 */
53407 ATTR_parser_nodes___AMinusAssignOp____n_minuseq(fra.me.REG[0]) = fra.me.REG[1];
53408 /* ./parser//parser_prod.nit:9498 */
53409 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
53410 stack_frame_head = fra.me.prev;
53411 return;
53412 }
53413 void parser_prod___AMinusAssignOp___replace_child(val_t p0, val_t p1, val_t p2){
53414 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
53415 val_t REGB0;
53416 val_t REGB1;
53417 val_t tmp;
53418 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53419 fra.me.file = LOCATE_parser_prod;
53420 fra.me.line = 9512;
53421 fra.me.meth = LOCATE_parser_prod___AMinusAssignOp___replace_child;
53422 fra.me.has_broke = 0;
53423 fra.me.REG_size = 4;
53424 fra.me.REG[0] = NIT_NULL;
53425 fra.me.REG[1] = NIT_NULL;
53426 fra.me.REG[2] = NIT_NULL;
53427 fra.me.REG[3] = NIT_NULL;
53428 fra.me.REG[0] = p0;
53429 fra.me.REG[1] = p1;
53430 fra.me.REG[2] = p2;
53431 REGB0 = TAG_Bool(ATTR_parser_nodes___AMinusAssignOp____n_minuseq(fra.me.REG[0])!=NIT_NULL);
53432 /* ./parser//parser_prod.nit:9514 */
53433 if (UNTAG_Bool(REGB0)) {
53434 } else {
53435 fprintf(stderr, "Uninitialized attribute %s", "_n_minuseq");
53436 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9514);
53437 nit_exit(1);
53438 }
53439 fra.me.REG[3] = ATTR_parser_nodes___AMinusAssignOp____n_minuseq(fra.me.REG[0]);
53440 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
53441 if (UNTAG_Bool(REGB0)) {
53442 } else {
53443 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
53444 REGB0 = REGB1;
53445 }
53446 if (UNTAG_Bool(REGB0)) {
53447 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
53448 /* ./parser//parser_prod.nit:9515 */
53449 if (UNTAG_Bool(REGB0)) {
53450 } else {
53451 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
53452 if (UNTAG_Bool(REGB1)) {
53453 REGB1 = TAG_Bool(false);
53454 REGB0 = REGB1;
53455 } else {
53456 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
53457 REGB0 = REGB1;
53458 }
53459 }
53460 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
53461 if (UNTAG_Bool(REGB0)) {
53462 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
53463 /* ./parser//parser_prod.nit:9516 */
53464 if (UNTAG_Bool(REGB0)) {
53465 fprintf(stderr, "Reciever is null");
53466 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9516);
53467 nit_exit(1);
53468 }
53469 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
53470 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TMinuseq, ID_TMinuseq)) /*cast TMinuseq*/;
53471 /* ./parser//parser_prod.nit:9517 */
53472 if (UNTAG_Bool(REGB0)) {
53473 } else {
53474 fprintf(stderr, "Assert failed");
53475 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9517);
53476 nit_exit(1);
53477 }
53478 /* ./parser//parser_prod.nit:9518 */
53479 ATTR_parser_nodes___AMinusAssignOp____n_minuseq(fra.me.REG[0]) = fra.me.REG[2];
53480 } else {
53481 /* ./parser//parser_prod.nit:9520 */
53482 fprintf(stderr, "Aborted");
53483 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9520);
53484 nit_exit(1);
53485 }
53486 /* ./parser//parser_prod.nit:9522 */
53487 goto label1;
53488 }
53489 label1: while(0);
53490 stack_frame_head = fra.me.prev;
53491 return;
53492 }
53493 void parser_prod___AMinusAssignOp___visit_all(val_t p0, val_t p1){
53494 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
53495 val_t REGB0;
53496 val_t tmp;
53497 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53498 fra.me.file = LOCATE_parser_prod;
53499 fra.me.line = 9526;
53500 fra.me.meth = LOCATE_parser_prod___AMinusAssignOp___visit_all;
53501 fra.me.has_broke = 0;
53502 fra.me.REG_size = 2;
53503 fra.me.REG[0] = NIT_NULL;
53504 fra.me.REG[1] = NIT_NULL;
53505 fra.me.REG[0] = p0;
53506 fra.me.REG[1] = p1;
53507 REGB0 = TAG_Bool(ATTR_parser_nodes___AMinusAssignOp____n_minuseq(fra.me.REG[0])!=NIT_NULL);
53508 /* ./parser//parser_prod.nit:9528 */
53509 if (UNTAG_Bool(REGB0)) {
53510 } else {
53511 fprintf(stderr, "Uninitialized attribute %s", "_n_minuseq");
53512 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9528);
53513 nit_exit(1);
53514 }
53515 fra.me.REG[0] = ATTR_parser_nodes___AMinusAssignOp____n_minuseq(fra.me.REG[0]);
53516 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
53517 stack_frame_head = fra.me.prev;
53518 return;
53519 }
53520 void parser_prod___AMinusAssignOp___visit_all_reverse(val_t p0, val_t p1){
53521 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
53522 val_t REGB0;
53523 val_t tmp;
53524 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53525 fra.me.file = LOCATE_parser_prod;
53526 fra.me.line = 9531;
53527 fra.me.meth = LOCATE_parser_prod___AMinusAssignOp___visit_all_reverse;
53528 fra.me.has_broke = 0;
53529 fra.me.REG_size = 2;
53530 fra.me.REG[0] = NIT_NULL;
53531 fra.me.REG[1] = NIT_NULL;
53532 fra.me.REG[0] = p0;
53533 fra.me.REG[1] = p1;
53534 REGB0 = TAG_Bool(ATTR_parser_nodes___AMinusAssignOp____n_minuseq(fra.me.REG[0])!=NIT_NULL);
53535 /* ./parser//parser_prod.nit:9533 */
53536 if (UNTAG_Bool(REGB0)) {
53537 } else {
53538 fprintf(stderr, "Uninitialized attribute %s", "_n_minuseq");
53539 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9533);
53540 nit_exit(1);
53541 }
53542 fra.me.REG[0] = ATTR_parser_nodes___AMinusAssignOp____n_minuseq(fra.me.REG[0]);
53543 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
53544 stack_frame_head = fra.me.prev;
53545 return;
53546 }
53547 void parser_prod___AMinusAssignOp___empty_init(val_t p0, int* init_table){
53548 int itpos243 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AMinusAssignOp].i;
53549 struct {struct stack_frame_t me;} fra;
53550 val_t tmp;
53551 if (init_table[itpos243]) return;
53552 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53553 fra.me.file = LOCATE_parser_prod;
53554 fra.me.line = 9501;
53555 fra.me.meth = LOCATE_parser_prod___AMinusAssignOp___empty_init;
53556 fra.me.has_broke = 0;
53557 fra.me.REG_size = 1;
53558 fra.me.REG[0] = NIT_NULL;
53559 fra.me.REG[0] = p0;
53560 /* ./parser//parser_prod.nit:9501 */
53561 stack_frame_head = fra.me.prev;
53562 init_table[itpos243] = 1;
53563 return;
53564 }
53565 void parser_prod___AMinusAssignOp___init_aminusassignop(val_t p0, val_t p1, int* init_table){
53566 int itpos244 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AMinusAssignOp].i;
53567 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
53568 val_t REGB0;
53569 val_t tmp;
53570 if (init_table[itpos244]) return;
53571 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53572 fra.me.file = LOCATE_parser_prod;
53573 fra.me.line = 9503;
53574 fra.me.meth = LOCATE_parser_prod___AMinusAssignOp___init_aminusassignop;
53575 fra.me.has_broke = 0;
53576 fra.me.REG_size = 2;
53577 fra.me.REG[0] = NIT_NULL;
53578 fra.me.REG[1] = NIT_NULL;
53579 fra.me.REG[0] = p0;
53580 fra.me.REG[1] = p1;
53581 /* ./parser//parser_prod.nit:9507 */
53582 CALL_parser_prod___AMinusAssignOp___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
53583 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
53584 /* ./parser//parser_prod.nit:9508 */
53585 if (UNTAG_Bool(REGB0)) {
53586 } else {
53587 fprintf(stderr, "Cast failed");
53588 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9508);
53589 nit_exit(1);
53590 }
53591 ATTR_parser_nodes___AMinusAssignOp____n_minuseq(fra.me.REG[0]) = fra.me.REG[1];
53592 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
53593 /* ./parser//parser_prod.nit:9509 */
53594 if (UNTAG_Bool(REGB0)) {
53595 fprintf(stderr, "Reciever is null");
53596 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9509);
53597 nit_exit(1);
53598 }
53599 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
53600 stack_frame_head = fra.me.prev;
53601 init_table[itpos244] = 1;
53602 return;
53603 }
53604 void parser_prod___AClosureDef___n_label__eq(val_t p0, val_t p1){
53605 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
53606 val_t REGB0;
53607 val_t REGB1;
53608 val_t tmp;
53609 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53610 fra.me.file = LOCATE_parser_prod;
53611 fra.me.line = 9561;
53612 fra.me.meth = LOCATE_parser_prod___AClosureDef___n_label__eq;
53613 fra.me.has_broke = 0;
53614 fra.me.REG_size = 2;
53615 fra.me.REG[0] = NIT_NULL;
53616 fra.me.REG[1] = NIT_NULL;
53617 fra.me.REG[0] = p0;
53618 fra.me.REG[1] = p1;
53619 /* ./parser//parser_prod.nit:9563 */
53620 ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]) = fra.me.REG[1];
53621 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
53622 /* ./parser//parser_prod.nit:9564 */
53623 if (UNTAG_Bool(REGB0)) {
53624 } else {
53625 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
53626 if (UNTAG_Bool(REGB1)) {
53627 REGB1 = TAG_Bool(false);
53628 REGB0 = REGB1;
53629 } else {
53630 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
53631 REGB0 = REGB1;
53632 }
53633 }
53634 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
53635 if (UNTAG_Bool(REGB0)) {
53636 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
53637 /* ./parser//parser_prod.nit:9565 */
53638 if (UNTAG_Bool(REGB0)) {
53639 fprintf(stderr, "Reciever is null");
53640 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9565);
53641 nit_exit(1);
53642 }
53643 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
53644 }
53645 stack_frame_head = fra.me.prev;
53646 return;
53647 }
53648 void parser_prod___AClosureDef___n_bang__eq(val_t p0, val_t p1){
53649 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
53650 val_t tmp;
53651 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53652 fra.me.file = LOCATE_parser_prod;
53653 fra.me.line = 9537;
53654 fra.me.meth = LOCATE_parser_prod___AClosureDef___n_bang__eq;
53655 fra.me.has_broke = 0;
53656 fra.me.REG_size = 2;
53657 fra.me.REG[0] = NIT_NULL;
53658 fra.me.REG[1] = NIT_NULL;
53659 fra.me.REG[0] = p0;
53660 fra.me.REG[1] = p1;
53661 /* ./parser//parser_prod.nit:9539 */
53662 ATTR_parser_nodes___AClosureDef____n_bang(fra.me.REG[0]) = fra.me.REG[1];
53663 /* ./parser//parser_prod.nit:9540 */
53664 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
53665 stack_frame_head = fra.me.prev;
53666 return;
53667 }
53668 void parser_prod___AClosureDef___n_id__eq(val_t p0, val_t p1){
53669 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
53670 val_t tmp;
53671 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53672 fra.me.file = LOCATE_parser_prod;
53673 fra.me.line = 9542;
53674 fra.me.meth = LOCATE_parser_prod___AClosureDef___n_id__eq;
53675 fra.me.has_broke = 0;
53676 fra.me.REG_size = 2;
53677 fra.me.REG[0] = NIT_NULL;
53678 fra.me.REG[1] = NIT_NULL;
53679 fra.me.REG[0] = p0;
53680 fra.me.REG[1] = p1;
53681 /* ./parser//parser_prod.nit:9544 */
53682 ATTR_parser_nodes___AClosureDef____n_id(fra.me.REG[0]) = fra.me.REG[1];
53683 /* ./parser//parser_prod.nit:9545 */
53684 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
53685 stack_frame_head = fra.me.prev;
53686 return;
53687 }
53688 void parser_prod___AClosureDef___n_kwdo__eq(val_t p0, val_t p1){
53689 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
53690 val_t REGB0;
53691 val_t REGB1;
53692 val_t tmp;
53693 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53694 fra.me.file = LOCATE_parser_prod;
53695 fra.me.line = 9547;
53696 fra.me.meth = LOCATE_parser_prod___AClosureDef___n_kwdo__eq;
53697 fra.me.has_broke = 0;
53698 fra.me.REG_size = 2;
53699 fra.me.REG[0] = NIT_NULL;
53700 fra.me.REG[1] = NIT_NULL;
53701 fra.me.REG[0] = p0;
53702 fra.me.REG[1] = p1;
53703 /* ./parser//parser_prod.nit:9549 */
53704 ATTR_parser_nodes___AClosureDef____n_kwdo(fra.me.REG[0]) = fra.me.REG[1];
53705 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
53706 /* ./parser//parser_prod.nit:9550 */
53707 if (UNTAG_Bool(REGB0)) {
53708 } else {
53709 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
53710 if (UNTAG_Bool(REGB1)) {
53711 REGB1 = TAG_Bool(false);
53712 REGB0 = REGB1;
53713 } else {
53714 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
53715 REGB0 = REGB1;
53716 }
53717 }
53718 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
53719 if (UNTAG_Bool(REGB0)) {
53720 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
53721 /* ./parser//parser_prod.nit:9551 */
53722 if (UNTAG_Bool(REGB0)) {
53723 fprintf(stderr, "Reciever is null");
53724 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9551);
53725 nit_exit(1);
53726 }
53727 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
53728 }
53729 stack_frame_head = fra.me.prev;
53730 return;
53731 }
53732 void parser_prod___AClosureDef___n_expr__eq(val_t p0, val_t p1){
53733 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
53734 val_t REGB0;
53735 val_t REGB1;
53736 val_t tmp;
53737 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53738 fra.me.file = LOCATE_parser_prod;
53739 fra.me.line = 9554;
53740 fra.me.meth = LOCATE_parser_prod___AClosureDef___n_expr__eq;
53741 fra.me.has_broke = 0;
53742 fra.me.REG_size = 2;
53743 fra.me.REG[0] = NIT_NULL;
53744 fra.me.REG[1] = NIT_NULL;
53745 fra.me.REG[0] = p0;
53746 fra.me.REG[1] = p1;
53747 /* ./parser//parser_prod.nit:9556 */
53748 ATTR_parser_nodes___AClosureDef____n_expr(fra.me.REG[0]) = fra.me.REG[1];
53749 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
53750 /* ./parser//parser_prod.nit:9557 */
53751 if (UNTAG_Bool(REGB0)) {
53752 } else {
53753 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
53754 if (UNTAG_Bool(REGB1)) {
53755 REGB1 = TAG_Bool(false);
53756 REGB0 = REGB1;
53757 } else {
53758 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
53759 REGB0 = REGB1;
53760 }
53761 }
53762 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
53763 if (UNTAG_Bool(REGB0)) {
53764 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
53765 /* ./parser//parser_prod.nit:9558 */
53766 if (UNTAG_Bool(REGB0)) {
53767 fprintf(stderr, "Reciever is null");
53768 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9558);
53769 nit_exit(1);
53770 }
53771 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
53772 }
53773 stack_frame_head = fra.me.prev;
53774 return;
53775 }
53776 void parser_prod___AClosureDef___replace_child(val_t p0, val_t p1, val_t p2){
53777 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
53778 val_t REGB0;
53779 val_t REGB1;
53780 val_t REGB2;
53781 val_t tmp;
53782 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
53783 fra.me.file = LOCATE_parser_prod;
53784 fra.me.line = 9604;
53785 fra.me.meth = LOCATE_parser_prod___AClosureDef___replace_child;
53786 fra.me.has_broke = 0;
53787 fra.me.REG_size = 5;
53788 fra.me.REG[0] = NIT_NULL;
53789 fra.me.REG[1] = NIT_NULL;
53790 fra.me.REG[2] = NIT_NULL;
53791 fra.me.REG[3] = NIT_NULL;
53792 fra.me.REG[4] = NIT_NULL;
53793 fra.me.REG[0] = p0;
53794 fra.me.REG[1] = p1;
53795 fra.me.REG[2] = p2;
53796 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureDef____n_bang(fra.me.REG[0])!=NIT_NULL);
53797 /* ./parser//parser_prod.nit:9606 */
53798 if (UNTAG_Bool(REGB0)) {
53799 } else {
53800 fprintf(stderr, "Uninitialized attribute %s", "_n_bang");
53801 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9606);
53802 nit_exit(1);
53803 }
53804 fra.me.REG[3] = ATTR_parser_nodes___AClosureDef____n_bang(fra.me.REG[0]);
53805 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
53806 if (UNTAG_Bool(REGB0)) {
53807 } else {
53808 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
53809 REGB0 = REGB1;
53810 }
53811 if (UNTAG_Bool(REGB0)) {
53812 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
53813 /* ./parser//parser_prod.nit:9607 */
53814 if (UNTAG_Bool(REGB0)) {
53815 } else {
53816 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
53817 if (UNTAG_Bool(REGB1)) {
53818 REGB1 = TAG_Bool(false);
53819 REGB0 = REGB1;
53820 } else {
53821 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
53822 REGB0 = REGB1;
53823 }
53824 }
53825 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
53826 if (UNTAG_Bool(REGB0)) {
53827 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
53828 /* ./parser//parser_prod.nit:9608 */
53829 if (UNTAG_Bool(REGB0)) {
53830 fprintf(stderr, "Reciever is null");
53831 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9608);
53832 nit_exit(1);
53833 }
53834 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
53835 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TBang, ID_TBang)) /*cast TBang*/;
53836 /* ./parser//parser_prod.nit:9609 */
53837 if (UNTAG_Bool(REGB0)) {
53838 } else {
53839 fprintf(stderr, "Assert failed");
53840 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9609);
53841 nit_exit(1);
53842 }
53843 /* ./parser//parser_prod.nit:9610 */
53844 ATTR_parser_nodes___AClosureDef____n_bang(fra.me.REG[0]) = fra.me.REG[2];
53845 } else {
53846 /* ./parser//parser_prod.nit:9612 */
53847 fprintf(stderr, "Aborted");
53848 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9612);
53849 nit_exit(1);
53850 }
53851 /* ./parser//parser_prod.nit:9614 */
53852 goto label1;
53853 }
53854 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureDef____n_id(fra.me.REG[0])!=NIT_NULL);
53855 /* ./parser//parser_prod.nit:9616 */
53856 if (UNTAG_Bool(REGB0)) {
53857 } else {
53858 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
53859 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9616);
53860 nit_exit(1);
53861 }
53862 fra.me.REG[3] = ATTR_parser_nodes___AClosureDef____n_id(fra.me.REG[0]);
53863 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
53864 if (UNTAG_Bool(REGB0)) {
53865 } else {
53866 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
53867 REGB0 = REGB1;
53868 }
53869 if (UNTAG_Bool(REGB0)) {
53870 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
53871 /* ./parser//parser_prod.nit:9617 */
53872 if (UNTAG_Bool(REGB0)) {
53873 } else {
53874 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
53875 if (UNTAG_Bool(REGB1)) {
53876 REGB1 = TAG_Bool(false);
53877 REGB0 = REGB1;
53878 } else {
53879 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
53880 REGB0 = REGB1;
53881 }
53882 }
53883 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
53884 if (UNTAG_Bool(REGB0)) {
53885 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
53886 /* ./parser//parser_prod.nit:9618 */
53887 if (UNTAG_Bool(REGB0)) {
53888 fprintf(stderr, "Reciever is null");
53889 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9618);
53890 nit_exit(1);
53891 }
53892 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
53893 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AClosureId, ID_AClosureId)) /*cast AClosureId*/;
53894 /* ./parser//parser_prod.nit:9619 */
53895 if (UNTAG_Bool(REGB0)) {
53896 } else {
53897 fprintf(stderr, "Assert failed");
53898 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9619);
53899 nit_exit(1);
53900 }
53901 /* ./parser//parser_prod.nit:9620 */
53902 ATTR_parser_nodes___AClosureDef____n_id(fra.me.REG[0]) = fra.me.REG[2];
53903 } else {
53904 /* ./parser//parser_prod.nit:9622 */
53905 fprintf(stderr, "Aborted");
53906 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9622);
53907 nit_exit(1);
53908 }
53909 /* ./parser//parser_prod.nit:9624 */
53910 goto label1;
53911 }
53912 REGB0 = TAG_Int(0);
53913 REGB1 = TAG_Bool(ATTR_parser_nodes___AClosureDef____n_ids(fra.me.REG[0])!=NIT_NULL);
53914 /* ./parser//parser_prod.nit:9626 */
53915 if (UNTAG_Bool(REGB1)) {
53916 } else {
53917 fprintf(stderr, "Uninitialized attribute %s", "_n_ids");
53918 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9626);
53919 nit_exit(1);
53920 }
53921 fra.me.REG[3] = ATTR_parser_nodes___AClosureDef____n_ids(fra.me.REG[0]);
53922 REGB1 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
53923 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB0, REGB1);
53924 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
53925 while(1) {
53926 REGB1 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
53927 if (UNTAG_Bool(REGB1)) {
53928 REGB1 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
53929 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureDef____n_ids(fra.me.REG[0])!=NIT_NULL);
53930 /* ./parser//parser_prod.nit:9627 */
53931 if (UNTAG_Bool(REGB0)) {
53932 } else {
53933 fprintf(stderr, "Uninitialized attribute %s", "_n_ids");
53934 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9627);
53935 nit_exit(1);
53936 }
53937 fra.me.REG[4] = ATTR_parser_nodes___AClosureDef____n_ids(fra.me.REG[0]);
53938 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB1);
53939 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[4]));
53940 if (UNTAG_Bool(REGB0)) {
53941 } else {
53942 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
53943 if (UNTAG_Bool(REGB2)) {
53944 REGB2 = TAG_Bool(false);
53945 REGB0 = REGB2;
53946 } else {
53947 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
53948 REGB0 = REGB2;
53949 }
53950 }
53951 if (UNTAG_Bool(REGB0)) {
53952 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
53953 /* ./parser//parser_prod.nit:9628 */
53954 if (UNTAG_Bool(REGB0)) {
53955 } else {
53956 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
53957 if (UNTAG_Bool(REGB2)) {
53958 REGB2 = TAG_Bool(false);
53959 REGB0 = REGB2;
53960 } else {
53961 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
53962 REGB0 = REGB2;
53963 }
53964 }
53965 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
53966 if (UNTAG_Bool(REGB0)) {
53967 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast TId*/;
53968 /* ./parser//parser_prod.nit:9629 */
53969 if (UNTAG_Bool(REGB0)) {
53970 } else {
53971 fprintf(stderr, "Assert failed");
53972 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9629);
53973 nit_exit(1);
53974 }
53975 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureDef____n_ids(fra.me.REG[0])!=NIT_NULL);
53976 /* ./parser//parser_prod.nit:9630 */
53977 if (UNTAG_Bool(REGB0)) {
53978 } else {
53979 fprintf(stderr, "Uninitialized attribute %s", "_n_ids");
53980 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9630);
53981 nit_exit(1);
53982 }
53983 fra.me.REG[4] = ATTR_parser_nodes___AClosureDef____n_ids(fra.me.REG[0]);
53984 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], REGB1, fra.me.REG[2]);
53985 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
53986 /* ./parser//parser_prod.nit:9631 */
53987 if (UNTAG_Bool(REGB0)) {
53988 fprintf(stderr, "Reciever is null");
53989 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9631);
53990 nit_exit(1);
53991 }
53992 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
53993 } else {
53994 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureDef____n_ids(fra.me.REG[0])!=NIT_NULL);
53995 /* ./parser//parser_prod.nit:9633 */
53996 if (UNTAG_Bool(REGB0)) {
53997 } else {
53998 fprintf(stderr, "Uninitialized attribute %s", "_n_ids");
53999 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9633);
54000 nit_exit(1);
54001 }
54002 fra.me.REG[4] = ATTR_parser_nodes___AClosureDef____n_ids(fra.me.REG[0]);
54003 CALL_abstract_collection___Map___remove_at(fra.me.REG[4])(fra.me.REG[4], REGB1);
54004 }
54005 /* ./parser//parser_prod.nit:9635 */
54006 goto label1;
54007 }
54008 } else {
54009 /* ./parser//parser_prod.nit:9626 */
54010 goto label2;
54011 }
54012 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
54013 }
54014 label2: while(0);
54015 fra.me.REG[3] = ATTR_parser_nodes___AClosureDef____n_kwdo(fra.me.REG[0]);
54016 REGB1 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
54017 /* ./parser//parser_prod.nit:9638 */
54018 if (UNTAG_Bool(REGB1)) {
54019 } else {
54020 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
54021 if (UNTAG_Bool(REGB0)) {
54022 REGB0 = TAG_Bool(false);
54023 REGB1 = REGB0;
54024 } else {
54025 REGB0 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
54026 REGB1 = REGB0;
54027 }
54028 }
54029 if (UNTAG_Bool(REGB1)) {
54030 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
54031 /* ./parser//parser_prod.nit:9639 */
54032 if (UNTAG_Bool(REGB1)) {
54033 } else {
54034 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
54035 if (UNTAG_Bool(REGB0)) {
54036 REGB0 = TAG_Bool(false);
54037 REGB1 = REGB0;
54038 } else {
54039 REGB0 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
54040 REGB1 = REGB0;
54041 }
54042 }
54043 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
54044 if (UNTAG_Bool(REGB1)) {
54045 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
54046 /* ./parser//parser_prod.nit:9640 */
54047 if (UNTAG_Bool(REGB1)) {
54048 fprintf(stderr, "Reciever is null");
54049 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9640);
54050 nit_exit(1);
54051 }
54052 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
54053 REGB1 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
54054 /* ./parser//parser_prod.nit:9641 */
54055 if (UNTAG_Bool(REGB1)) {
54056 } else {
54057 fprintf(stderr, "Assert failed");
54058 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9641);
54059 nit_exit(1);
54060 }
54061 /* ./parser//parser_prod.nit:9642 */
54062 ATTR_parser_nodes___AClosureDef____n_kwdo(fra.me.REG[0]) = fra.me.REG[2];
54063 } else {
54064 /* ./parser//parser_prod.nit:9644 */
54065 ATTR_parser_nodes___AClosureDef____n_kwdo(fra.me.REG[0]) = NIT_NULL;
54066 }
54067 /* ./parser//parser_prod.nit:9646 */
54068 goto label1;
54069 }
54070 fra.me.REG[3] = ATTR_parser_nodes___AClosureDef____n_expr(fra.me.REG[0]);
54071 REGB1 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
54072 /* ./parser//parser_prod.nit:9648 */
54073 if (UNTAG_Bool(REGB1)) {
54074 } else {
54075 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
54076 if (UNTAG_Bool(REGB0)) {
54077 REGB0 = TAG_Bool(false);
54078 REGB1 = REGB0;
54079 } else {
54080 REGB0 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
54081 REGB1 = REGB0;
54082 }
54083 }
54084 if (UNTAG_Bool(REGB1)) {
54085 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
54086 /* ./parser//parser_prod.nit:9649 */
54087 if (UNTAG_Bool(REGB1)) {
54088 } else {
54089 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
54090 if (UNTAG_Bool(REGB0)) {
54091 REGB0 = TAG_Bool(false);
54092 REGB1 = REGB0;
54093 } else {
54094 REGB0 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
54095 REGB1 = REGB0;
54096 }
54097 }
54098 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
54099 if (UNTAG_Bool(REGB1)) {
54100 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
54101 /* ./parser//parser_prod.nit:9650 */
54102 if (UNTAG_Bool(REGB1)) {
54103 fprintf(stderr, "Reciever is null");
54104 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9650);
54105 nit_exit(1);
54106 }
54107 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
54108 REGB1 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
54109 /* ./parser//parser_prod.nit:9651 */
54110 if (UNTAG_Bool(REGB1)) {
54111 } else {
54112 fprintf(stderr, "Assert failed");
54113 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9651);
54114 nit_exit(1);
54115 }
54116 /* ./parser//parser_prod.nit:9652 */
54117 ATTR_parser_nodes___AClosureDef____n_expr(fra.me.REG[0]) = fra.me.REG[2];
54118 } else {
54119 /* ./parser//parser_prod.nit:9654 */
54120 ATTR_parser_nodes___AClosureDef____n_expr(fra.me.REG[0]) = NIT_NULL;
54121 }
54122 /* ./parser//parser_prod.nit:9656 */
54123 goto label1;
54124 }
54125 fra.me.REG[3] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
54126 REGB1 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
54127 /* ./parser//parser_prod.nit:9658 */
54128 if (UNTAG_Bool(REGB1)) {
54129 } else {
54130 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
54131 if (UNTAG_Bool(REGB0)) {
54132 REGB0 = TAG_Bool(false);
54133 REGB1 = REGB0;
54134 } else {
54135 REGB0 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
54136 REGB1 = REGB0;
54137 }
54138 }
54139 if (UNTAG_Bool(REGB1)) {
54140 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
54141 /* ./parser//parser_prod.nit:9659 */
54142 if (UNTAG_Bool(REGB1)) {
54143 } else {
54144 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
54145 if (UNTAG_Bool(REGB0)) {
54146 REGB0 = TAG_Bool(false);
54147 REGB1 = REGB0;
54148 } else {
54149 REGB0 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
54150 REGB1 = REGB0;
54151 }
54152 }
54153 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
54154 if (UNTAG_Bool(REGB1)) {
54155 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
54156 /* ./parser//parser_prod.nit:9660 */
54157 if (UNTAG_Bool(REGB1)) {
54158 fprintf(stderr, "Reciever is null");
54159 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9660);
54160 nit_exit(1);
54161 }
54162 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
54163 REGB1 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_ALabel, ID_ALabel)) /*cast ALabel*/;
54164 /* ./parser//parser_prod.nit:9661 */
54165 if (UNTAG_Bool(REGB1)) {
54166 } else {
54167 fprintf(stderr, "Assert failed");
54168 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9661);
54169 nit_exit(1);
54170 }
54171 /* ./parser//parser_prod.nit:9662 */
54172 ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]) = fra.me.REG[2];
54173 } else {
54174 /* ./parser//parser_prod.nit:9664 */
54175 ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]) = NIT_NULL;
54176 }
54177 /* ./parser//parser_prod.nit:9666 */
54178 goto label1;
54179 }
54180 label1: while(0);
54181 stack_frame_head = fra.me.prev;
54182 return;
54183 }
54184 void parser_prod___AClosureDef___visit_all(val_t p0, val_t p1){
54185 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
54186 val_t REGB0;
54187 val_t REGB1;
54188 val_t tmp;
54189 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54190 fra.me.file = LOCATE_parser_prod;
54191 fra.me.line = 9670;
54192 fra.me.meth = LOCATE_parser_prod___AClosureDef___visit_all;
54193 fra.me.has_broke = 0;
54194 fra.me.REG_size = 4;
54195 fra.me.REG[0] = NIT_NULL;
54196 fra.me.REG[1] = NIT_NULL;
54197 fra.me.REG[2] = NIT_NULL;
54198 fra.me.REG[3] = NIT_NULL;
54199 fra.me.REG[0] = p0;
54200 fra.me.REG[1] = p1;
54201 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureDef____n_bang(fra.me.REG[0])!=NIT_NULL);
54202 /* ./parser//parser_prod.nit:9672 */
54203 if (UNTAG_Bool(REGB0)) {
54204 } else {
54205 fprintf(stderr, "Uninitialized attribute %s", "_n_bang");
54206 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9672);
54207 nit_exit(1);
54208 }
54209 fra.me.REG[2] = ATTR_parser_nodes___AClosureDef____n_bang(fra.me.REG[0]);
54210 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
54211 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureDef____n_id(fra.me.REG[0])!=NIT_NULL);
54212 /* ./parser//parser_prod.nit:9673 */
54213 if (UNTAG_Bool(REGB0)) {
54214 } else {
54215 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
54216 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9673);
54217 nit_exit(1);
54218 }
54219 fra.me.REG[2] = ATTR_parser_nodes___AClosureDef____n_id(fra.me.REG[0]);
54220 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
54221 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureDef____n_ids(fra.me.REG[0])!=NIT_NULL);
54222 /* ./parser//parser_prod.nit:9674 */
54223 if (UNTAG_Bool(REGB0)) {
54224 } else {
54225 fprintf(stderr, "Uninitialized attribute %s", "_n_ids");
54226 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9674);
54227 nit_exit(1);
54228 }
54229 fra.me.REG[2] = ATTR_parser_nodes___AClosureDef____n_ids(fra.me.REG[0]);
54230 fra.me.REG[2] = CALL_abstract_collection___Collection___iterator(fra.me.REG[2])(fra.me.REG[2]);
54231 while(1) {
54232 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[2])(fra.me.REG[2]);
54233 if (UNTAG_Bool(REGB0)) {
54234 fra.me.REG[3] = CALL_abstract_collection___Iterator___item(fra.me.REG[2])(fra.me.REG[2]);
54235 /* ./parser//parser_prod.nit:9675 */
54236 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
54237 } else {
54238 /* ./parser//parser_prod.nit:9674 */
54239 goto label1;
54240 }
54241 CALL_abstract_collection___Iterator___next(fra.me.REG[2])(fra.me.REG[2]);
54242 }
54243 label1: while(0);
54244 fra.me.REG[2] = ATTR_parser_nodes___AClosureDef____n_kwdo(fra.me.REG[0]);
54245 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
54246 /* ./parser//parser_prod.nit:9677 */
54247 if (UNTAG_Bool(REGB0)) {
54248 } else {
54249 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
54250 if (UNTAG_Bool(REGB1)) {
54251 REGB1 = TAG_Bool(false);
54252 REGB0 = REGB1;
54253 } else {
54254 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
54255 REGB0 = REGB1;
54256 }
54257 }
54258 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
54259 if (UNTAG_Bool(REGB0)) {
54260 fra.me.REG[2] = ATTR_parser_nodes___AClosureDef____n_kwdo(fra.me.REG[0]);
54261 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
54262 /* ./parser//parser_prod.nit:9678 */
54263 if (UNTAG_Bool(REGB0)) {
54264 } else {
54265 fprintf(stderr, "Cast failed");
54266 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9678);
54267 nit_exit(1);
54268 }
54269 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
54270 }
54271 fra.me.REG[2] = ATTR_parser_nodes___AClosureDef____n_expr(fra.me.REG[0]);
54272 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
54273 /* ./parser//parser_prod.nit:9680 */
54274 if (UNTAG_Bool(REGB0)) {
54275 } else {
54276 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
54277 if (UNTAG_Bool(REGB1)) {
54278 REGB1 = TAG_Bool(false);
54279 REGB0 = REGB1;
54280 } else {
54281 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
54282 REGB0 = REGB1;
54283 }
54284 }
54285 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
54286 if (UNTAG_Bool(REGB0)) {
54287 fra.me.REG[2] = ATTR_parser_nodes___AClosureDef____n_expr(fra.me.REG[0]);
54288 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
54289 /* ./parser//parser_prod.nit:9681 */
54290 if (UNTAG_Bool(REGB0)) {
54291 } else {
54292 fprintf(stderr, "Cast failed");
54293 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9681);
54294 nit_exit(1);
54295 }
54296 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
54297 }
54298 fra.me.REG[2] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
54299 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
54300 /* ./parser//parser_prod.nit:9683 */
54301 if (UNTAG_Bool(REGB0)) {
54302 } else {
54303 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
54304 if (UNTAG_Bool(REGB1)) {
54305 REGB1 = TAG_Bool(false);
54306 REGB0 = REGB1;
54307 } else {
54308 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
54309 REGB0 = REGB1;
54310 }
54311 }
54312 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
54313 if (UNTAG_Bool(REGB0)) {
54314 fra.me.REG[0] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
54315 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_ALabel, ID_ALabel)) /*cast ALabel*/;
54316 /* ./parser//parser_prod.nit:9684 */
54317 if (UNTAG_Bool(REGB0)) {
54318 } else {
54319 fprintf(stderr, "Cast failed");
54320 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9684);
54321 nit_exit(1);
54322 }
54323 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
54324 }
54325 stack_frame_head = fra.me.prev;
54326 return;
54327 }
54328 void parser_prod___AClosureDef___visit_all_reverse(val_t p0, val_t p1){
54329 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
54330 val_t REGB0;
54331 val_t REGB1;
54332 val_t tmp;
54333 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54334 fra.me.file = LOCATE_parser_prod;
54335 fra.me.line = 9688;
54336 fra.me.meth = LOCATE_parser_prod___AClosureDef___visit_all_reverse;
54337 fra.me.has_broke = 0;
54338 fra.me.REG_size = 3;
54339 fra.me.REG[0] = NIT_NULL;
54340 fra.me.REG[1] = NIT_NULL;
54341 fra.me.REG[2] = NIT_NULL;
54342 fra.me.REG[0] = p0;
54343 fra.me.REG[1] = p1;
54344 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureDef____n_bang(fra.me.REG[0])!=NIT_NULL);
54345 /* ./parser//parser_prod.nit:9690 */
54346 if (UNTAG_Bool(REGB0)) {
54347 } else {
54348 fprintf(stderr, "Uninitialized attribute %s", "_n_bang");
54349 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9690);
54350 nit_exit(1);
54351 }
54352 fra.me.REG[2] = ATTR_parser_nodes___AClosureDef____n_bang(fra.me.REG[0]);
54353 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
54354 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureDef____n_id(fra.me.REG[0])!=NIT_NULL);
54355 /* ./parser//parser_prod.nit:9691 */
54356 if (UNTAG_Bool(REGB0)) {
54357 } else {
54358 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
54359 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9691);
54360 nit_exit(1);
54361 }
54362 fra.me.REG[2] = ATTR_parser_nodes___AClosureDef____n_id(fra.me.REG[0]);
54363 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
54364 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureDef____n_ids(fra.me.REG[0])!=NIT_NULL);
54365 /* ./parser//parser_prod.nit:9693 */
54366 if (UNTAG_Bool(REGB0)) {
54367 } else {
54368 fprintf(stderr, "Uninitialized attribute %s", "_n_ids");
54369 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9693);
54370 nit_exit(1);
54371 }
54372 fra.me.REG[2] = ATTR_parser_nodes___AClosureDef____n_ids(fra.me.REG[0]);
54373 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
54374 /* ./parser//parser_prod.nit:9694 */
54375 while(1) {
54376 REGB1 = TAG_Int(0);
54377 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
54378 /* ./parser//parser_prod.nit:9694 */
54379 if (UNTAG_Bool(REGB1)) {
54380 REGB1 = TAG_Bool(ATTR_parser_nodes___AClosureDef____n_ids(fra.me.REG[0])!=NIT_NULL);
54381 /* ./parser//parser_prod.nit:9695 */
54382 if (UNTAG_Bool(REGB1)) {
54383 } else {
54384 fprintf(stderr, "Uninitialized attribute %s", "_n_ids");
54385 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9695);
54386 nit_exit(1);
54387 }
54388 fra.me.REG[2] = ATTR_parser_nodes___AClosureDef____n_ids(fra.me.REG[0]);
54389 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
54390 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
54391 REGB1 = TAG_Int(1);
54392 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
54393 REGB0 = REGB1;
54394 /* ./parser//parser_prod.nit:9696 */
54395 } else {
54396 /* ./parser//parser_prod.nit:9694 */
54397 goto label1;
54398 }
54399 }
54400 label1: while(0);
54401 fra.me.REG[2] = ATTR_parser_nodes___AClosureDef____n_kwdo(fra.me.REG[0]);
54402 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
54403 /* ./parser//parser_prod.nit:9699 */
54404 if (UNTAG_Bool(REGB0)) {
54405 } else {
54406 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
54407 if (UNTAG_Bool(REGB1)) {
54408 REGB1 = TAG_Bool(false);
54409 REGB0 = REGB1;
54410 } else {
54411 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
54412 REGB0 = REGB1;
54413 }
54414 }
54415 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
54416 if (UNTAG_Bool(REGB0)) {
54417 fra.me.REG[2] = ATTR_parser_nodes___AClosureDef____n_kwdo(fra.me.REG[0]);
54418 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwdo, ID_TKwdo)) /*cast TKwdo*/;
54419 /* ./parser//parser_prod.nit:9700 */
54420 if (UNTAG_Bool(REGB0)) {
54421 } else {
54422 fprintf(stderr, "Cast failed");
54423 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9700);
54424 nit_exit(1);
54425 }
54426 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
54427 }
54428 fra.me.REG[2] = ATTR_parser_nodes___AClosureDef____n_expr(fra.me.REG[0]);
54429 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
54430 /* ./parser//parser_prod.nit:9702 */
54431 if (UNTAG_Bool(REGB0)) {
54432 } else {
54433 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
54434 if (UNTAG_Bool(REGB1)) {
54435 REGB1 = TAG_Bool(false);
54436 REGB0 = REGB1;
54437 } else {
54438 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
54439 REGB0 = REGB1;
54440 }
54441 }
54442 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
54443 if (UNTAG_Bool(REGB0)) {
54444 fra.me.REG[2] = ATTR_parser_nodes___AClosureDef____n_expr(fra.me.REG[0]);
54445 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AExpr, ID_AExpr)) /*cast AExpr*/;
54446 /* ./parser//parser_prod.nit:9703 */
54447 if (UNTAG_Bool(REGB0)) {
54448 } else {
54449 fprintf(stderr, "Cast failed");
54450 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9703);
54451 nit_exit(1);
54452 }
54453 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
54454 }
54455 fra.me.REG[2] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
54456 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
54457 /* ./parser//parser_prod.nit:9705 */
54458 if (UNTAG_Bool(REGB0)) {
54459 } else {
54460 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
54461 if (UNTAG_Bool(REGB1)) {
54462 REGB1 = TAG_Bool(false);
54463 REGB0 = REGB1;
54464 } else {
54465 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
54466 REGB0 = REGB1;
54467 }
54468 }
54469 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
54470 if (UNTAG_Bool(REGB0)) {
54471 fra.me.REG[0] = ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]);
54472 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_ALabel, ID_ALabel)) /*cast ALabel*/;
54473 /* ./parser//parser_prod.nit:9706 */
54474 if (UNTAG_Bool(REGB0)) {
54475 } else {
54476 fprintf(stderr, "Cast failed");
54477 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9706);
54478 nit_exit(1);
54479 }
54480 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
54481 }
54482 stack_frame_head = fra.me.prev;
54483 return;
54484 }
54485 void parser_prod___AClosureDef___empty_init(val_t p0, int* init_table){
54486 int itpos245 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AClosureDef].i;
54487 struct {struct stack_frame_t me;} fra;
54488 val_t tmp;
54489 if (init_table[itpos245]) return;
54490 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54491 fra.me.file = LOCATE_parser_prod;
54492 fra.me.line = 9569;
54493 fra.me.meth = LOCATE_parser_prod___AClosureDef___empty_init;
54494 fra.me.has_broke = 0;
54495 fra.me.REG_size = 1;
54496 fra.me.REG[0] = NIT_NULL;
54497 fra.me.REG[0] = p0;
54498 /* ./parser//parser_prod.nit:9569 */
54499 stack_frame_head = fra.me.prev;
54500 init_table[itpos245] = 1;
54501 return;
54502 }
54503 void parser_prod___AClosureDef___init_aclosuredef(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, val_t p5, val_t p6, int* init_table){
54504 int itpos246 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AClosureDef].i;
54505 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
54506 val_t REGB0;
54507 val_t REGB1;
54508 val_t tmp;
54509 if (init_table[itpos246]) return;
54510 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54511 fra.me.file = LOCATE_parser_prod;
54512 fra.me.line = 9571;
54513 fra.me.meth = LOCATE_parser_prod___AClosureDef___init_aclosuredef;
54514 fra.me.has_broke = 0;
54515 fra.me.REG_size = 7;
54516 fra.me.REG[0] = NIT_NULL;
54517 fra.me.REG[1] = NIT_NULL;
54518 fra.me.REG[2] = NIT_NULL;
54519 fra.me.REG[3] = NIT_NULL;
54520 fra.me.REG[4] = NIT_NULL;
54521 fra.me.REG[5] = NIT_NULL;
54522 fra.me.REG[6] = NIT_NULL;
54523 fra.me.REG[0] = p0;
54524 fra.me.REG[1] = p1;
54525 fra.me.REG[2] = p2;
54526 fra.me.REG[3] = p3;
54527 fra.me.REG[4] = p4;
54528 fra.me.REG[5] = p5;
54529 fra.me.REG[6] = p6;
54530 /* ./parser//parser_prod.nit:9580 */
54531 CALL_parser_prod___AClosureDef___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
54532 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
54533 /* ./parser//parser_prod.nit:9581 */
54534 if (UNTAG_Bool(REGB0)) {
54535 } else {
54536 fprintf(stderr, "Cast failed");
54537 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9581);
54538 nit_exit(1);
54539 }
54540 ATTR_parser_nodes___AClosureDef____n_bang(fra.me.REG[0]) = fra.me.REG[1];
54541 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
54542 /* ./parser//parser_prod.nit:9582 */
54543 if (UNTAG_Bool(REGB0)) {
54544 fprintf(stderr, "Reciever is null");
54545 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9582);
54546 nit_exit(1);
54547 }
54548 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
54549 REGB0 = TAG_Bool(fra.me.REG[2]!=NIT_NULL);
54550 /* ./parser//parser_prod.nit:9583 */
54551 if (UNTAG_Bool(REGB0)) {
54552 } else {
54553 fprintf(stderr, "Cast failed");
54554 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9583);
54555 nit_exit(1);
54556 }
54557 ATTR_parser_nodes___AClosureDef____n_id(fra.me.REG[0]) = fra.me.REG[2];
54558 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
54559 /* ./parser//parser_prod.nit:9584 */
54560 if (UNTAG_Bool(REGB0)) {
54561 fprintf(stderr, "Reciever is null");
54562 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9584);
54563 nit_exit(1);
54564 }
54565 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
54566 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
54567 /* ./parser//parser_prod.nit:9585 */
54568 while(1) {
54569 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
54570 if (UNTAG_Bool(REGB0)) {
54571 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
54572 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast TId*/;
54573 /* ./parser//parser_prod.nit:9586 */
54574 if (UNTAG_Bool(REGB0)) {
54575 } else {
54576 fprintf(stderr, "Assert failed");
54577 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9586);
54578 nit_exit(1);
54579 }
54580 REGB0 = TAG_Bool(ATTR_parser_nodes___AClosureDef____n_ids(fra.me.REG[0])!=NIT_NULL);
54581 /* ./parser//parser_prod.nit:9587 */
54582 if (UNTAG_Bool(REGB0)) {
54583 } else {
54584 fprintf(stderr, "Uninitialized attribute %s", "_n_ids");
54585 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9587);
54586 nit_exit(1);
54587 }
54588 fra.me.REG[1] = ATTR_parser_nodes___AClosureDef____n_ids(fra.me.REG[0]);
54589 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
54590 /* ./parser//parser_prod.nit:9588 */
54591 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
54592 } else {
54593 /* ./parser//parser_prod.nit:9585 */
54594 goto label1;
54595 }
54596 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
54597 }
54598 label1: while(0);
54599 /* ./parser//parser_prod.nit:9590 */
54600 ATTR_parser_nodes___AClosureDef____n_kwdo(fra.me.REG[0]) = fra.me.REG[4];
54601 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
54602 /* ./parser//parser_prod.nit:9591 */
54603 if (UNTAG_Bool(REGB0)) {
54604 } else {
54605 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
54606 if (UNTAG_Bool(REGB1)) {
54607 REGB1 = TAG_Bool(false);
54608 REGB0 = REGB1;
54609 } else {
54610 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
54611 REGB0 = REGB1;
54612 }
54613 }
54614 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
54615 if (UNTAG_Bool(REGB0)) {
54616 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
54617 /* ./parser//parser_prod.nit:9592 */
54618 if (UNTAG_Bool(REGB0)) {
54619 fprintf(stderr, "Reciever is null");
54620 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9592);
54621 nit_exit(1);
54622 }
54623 CALL_parser_prod___ANode___parent__eq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[0]);
54624 }
54625 /* ./parser//parser_prod.nit:9594 */
54626 ATTR_parser_nodes___AClosureDef____n_expr(fra.me.REG[0]) = fra.me.REG[5];
54627 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
54628 /* ./parser//parser_prod.nit:9595 */
54629 if (UNTAG_Bool(REGB0)) {
54630 } else {
54631 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
54632 if (UNTAG_Bool(REGB1)) {
54633 REGB1 = TAG_Bool(false);
54634 REGB0 = REGB1;
54635 } else {
54636 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
54637 REGB0 = REGB1;
54638 }
54639 }
54640 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
54641 if (UNTAG_Bool(REGB0)) {
54642 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
54643 /* ./parser//parser_prod.nit:9596 */
54644 if (UNTAG_Bool(REGB0)) {
54645 fprintf(stderr, "Reciever is null");
54646 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9596);
54647 nit_exit(1);
54648 }
54649 CALL_parser_prod___ANode___parent__eq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[0]);
54650 }
54651 /* ./parser//parser_prod.nit:9598 */
54652 ATTR_parser_nodes___ALabelable____n_label(fra.me.REG[0]) = fra.me.REG[6];
54653 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
54654 /* ./parser//parser_prod.nit:9599 */
54655 if (UNTAG_Bool(REGB0)) {
54656 } else {
54657 REGB1 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
54658 if (UNTAG_Bool(REGB1)) {
54659 REGB1 = TAG_Bool(false);
54660 REGB0 = REGB1;
54661 } else {
54662 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[6])(fra.me.REG[6], NIT_NULL);
54663 REGB0 = REGB1;
54664 }
54665 }
54666 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
54667 if (UNTAG_Bool(REGB0)) {
54668 REGB0 = TAG_Bool(fra.me.REG[6]==NIT_NULL);
54669 /* ./parser//parser_prod.nit:9600 */
54670 if (UNTAG_Bool(REGB0)) {
54671 fprintf(stderr, "Reciever is null");
54672 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9600);
54673 nit_exit(1);
54674 }
54675 CALL_parser_prod___ANode___parent__eq(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[0]);
54676 }
54677 stack_frame_head = fra.me.prev;
54678 init_table[itpos246] = 1;
54679 return;
54680 }
54681 void parser_prod___ASimpleClosureId___n_id__eq(val_t p0, val_t p1){
54682 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
54683 val_t tmp;
54684 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54685 fra.me.file = LOCATE_parser_prod;
54686 fra.me.line = 9711;
54687 fra.me.meth = LOCATE_parser_prod___ASimpleClosureId___n_id__eq;
54688 fra.me.has_broke = 0;
54689 fra.me.REG_size = 2;
54690 fra.me.REG[0] = NIT_NULL;
54691 fra.me.REG[1] = NIT_NULL;
54692 fra.me.REG[0] = p0;
54693 fra.me.REG[1] = p1;
54694 /* ./parser//parser_prod.nit:9713 */
54695 ATTR_parser_nodes___ASimpleClosureId____n_id(fra.me.REG[0]) = fra.me.REG[1];
54696 /* ./parser//parser_prod.nit:9714 */
54697 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
54698 stack_frame_head = fra.me.prev;
54699 return;
54700 }
54701 void parser_prod___ASimpleClosureId___replace_child(val_t p0, val_t p1, val_t p2){
54702 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
54703 val_t REGB0;
54704 val_t REGB1;
54705 val_t tmp;
54706 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54707 fra.me.file = LOCATE_parser_prod;
54708 fra.me.line = 9728;
54709 fra.me.meth = LOCATE_parser_prod___ASimpleClosureId___replace_child;
54710 fra.me.has_broke = 0;
54711 fra.me.REG_size = 4;
54712 fra.me.REG[0] = NIT_NULL;
54713 fra.me.REG[1] = NIT_NULL;
54714 fra.me.REG[2] = NIT_NULL;
54715 fra.me.REG[3] = NIT_NULL;
54716 fra.me.REG[0] = p0;
54717 fra.me.REG[1] = p1;
54718 fra.me.REG[2] = p2;
54719 REGB0 = TAG_Bool(ATTR_parser_nodes___ASimpleClosureId____n_id(fra.me.REG[0])!=NIT_NULL);
54720 /* ./parser//parser_prod.nit:9730 */
54721 if (UNTAG_Bool(REGB0)) {
54722 } else {
54723 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
54724 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9730);
54725 nit_exit(1);
54726 }
54727 fra.me.REG[3] = ATTR_parser_nodes___ASimpleClosureId____n_id(fra.me.REG[0]);
54728 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
54729 if (UNTAG_Bool(REGB0)) {
54730 } else {
54731 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
54732 REGB0 = REGB1;
54733 }
54734 if (UNTAG_Bool(REGB0)) {
54735 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
54736 /* ./parser//parser_prod.nit:9731 */
54737 if (UNTAG_Bool(REGB0)) {
54738 } else {
54739 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
54740 if (UNTAG_Bool(REGB1)) {
54741 REGB1 = TAG_Bool(false);
54742 REGB0 = REGB1;
54743 } else {
54744 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
54745 REGB0 = REGB1;
54746 }
54747 }
54748 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
54749 if (UNTAG_Bool(REGB0)) {
54750 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
54751 /* ./parser//parser_prod.nit:9732 */
54752 if (UNTAG_Bool(REGB0)) {
54753 fprintf(stderr, "Reciever is null");
54754 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9732);
54755 nit_exit(1);
54756 }
54757 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
54758 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast TId*/;
54759 /* ./parser//parser_prod.nit:9733 */
54760 if (UNTAG_Bool(REGB0)) {
54761 } else {
54762 fprintf(stderr, "Assert failed");
54763 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9733);
54764 nit_exit(1);
54765 }
54766 /* ./parser//parser_prod.nit:9734 */
54767 ATTR_parser_nodes___ASimpleClosureId____n_id(fra.me.REG[0]) = fra.me.REG[2];
54768 } else {
54769 /* ./parser//parser_prod.nit:9736 */
54770 fprintf(stderr, "Aborted");
54771 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9736);
54772 nit_exit(1);
54773 }
54774 /* ./parser//parser_prod.nit:9738 */
54775 goto label1;
54776 }
54777 label1: while(0);
54778 stack_frame_head = fra.me.prev;
54779 return;
54780 }
54781 void parser_prod___ASimpleClosureId___visit_all(val_t p0, val_t p1){
54782 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
54783 val_t REGB0;
54784 val_t tmp;
54785 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54786 fra.me.file = LOCATE_parser_prod;
54787 fra.me.line = 9742;
54788 fra.me.meth = LOCATE_parser_prod___ASimpleClosureId___visit_all;
54789 fra.me.has_broke = 0;
54790 fra.me.REG_size = 2;
54791 fra.me.REG[0] = NIT_NULL;
54792 fra.me.REG[1] = NIT_NULL;
54793 fra.me.REG[0] = p0;
54794 fra.me.REG[1] = p1;
54795 REGB0 = TAG_Bool(ATTR_parser_nodes___ASimpleClosureId____n_id(fra.me.REG[0])!=NIT_NULL);
54796 /* ./parser//parser_prod.nit:9744 */
54797 if (UNTAG_Bool(REGB0)) {
54798 } else {
54799 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
54800 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9744);
54801 nit_exit(1);
54802 }
54803 fra.me.REG[0] = ATTR_parser_nodes___ASimpleClosureId____n_id(fra.me.REG[0]);
54804 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
54805 stack_frame_head = fra.me.prev;
54806 return;
54807 }
54808 void parser_prod___ASimpleClosureId___visit_all_reverse(val_t p0, val_t p1){
54809 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
54810 val_t REGB0;
54811 val_t tmp;
54812 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54813 fra.me.file = LOCATE_parser_prod;
54814 fra.me.line = 9747;
54815 fra.me.meth = LOCATE_parser_prod___ASimpleClosureId___visit_all_reverse;
54816 fra.me.has_broke = 0;
54817 fra.me.REG_size = 2;
54818 fra.me.REG[0] = NIT_NULL;
54819 fra.me.REG[1] = NIT_NULL;
54820 fra.me.REG[0] = p0;
54821 fra.me.REG[1] = p1;
54822 REGB0 = TAG_Bool(ATTR_parser_nodes___ASimpleClosureId____n_id(fra.me.REG[0])!=NIT_NULL);
54823 /* ./parser//parser_prod.nit:9749 */
54824 if (UNTAG_Bool(REGB0)) {
54825 } else {
54826 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
54827 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9749);
54828 nit_exit(1);
54829 }
54830 fra.me.REG[0] = ATTR_parser_nodes___ASimpleClosureId____n_id(fra.me.REG[0]);
54831 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
54832 stack_frame_head = fra.me.prev;
54833 return;
54834 }
54835 void parser_prod___ASimpleClosureId___empty_init(val_t p0, int* init_table){
54836 int itpos247 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ASimpleClosureId].i;
54837 struct {struct stack_frame_t me;} fra;
54838 val_t tmp;
54839 if (init_table[itpos247]) return;
54840 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54841 fra.me.file = LOCATE_parser_prod;
54842 fra.me.line = 9717;
54843 fra.me.meth = LOCATE_parser_prod___ASimpleClosureId___empty_init;
54844 fra.me.has_broke = 0;
54845 fra.me.REG_size = 1;
54846 fra.me.REG[0] = NIT_NULL;
54847 fra.me.REG[0] = p0;
54848 /* ./parser//parser_prod.nit:9717 */
54849 stack_frame_head = fra.me.prev;
54850 init_table[itpos247] = 1;
54851 return;
54852 }
54853 void parser_prod___ASimpleClosureId___init_asimpleclosureid(val_t p0, val_t p1, int* init_table){
54854 int itpos248 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ASimpleClosureId].i;
54855 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
54856 val_t REGB0;
54857 val_t tmp;
54858 if (init_table[itpos248]) return;
54859 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54860 fra.me.file = LOCATE_parser_prod;
54861 fra.me.line = 9719;
54862 fra.me.meth = LOCATE_parser_prod___ASimpleClosureId___init_asimpleclosureid;
54863 fra.me.has_broke = 0;
54864 fra.me.REG_size = 2;
54865 fra.me.REG[0] = NIT_NULL;
54866 fra.me.REG[1] = NIT_NULL;
54867 fra.me.REG[0] = p0;
54868 fra.me.REG[1] = p1;
54869 /* ./parser//parser_prod.nit:9723 */
54870 CALL_parser_prod___ASimpleClosureId___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
54871 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
54872 /* ./parser//parser_prod.nit:9724 */
54873 if (UNTAG_Bool(REGB0)) {
54874 } else {
54875 fprintf(stderr, "Cast failed");
54876 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9724);
54877 nit_exit(1);
54878 }
54879 ATTR_parser_nodes___ASimpleClosureId____n_id(fra.me.REG[0]) = fra.me.REG[1];
54880 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
54881 /* ./parser//parser_prod.nit:9725 */
54882 if (UNTAG_Bool(REGB0)) {
54883 fprintf(stderr, "Reciever is null");
54884 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9725);
54885 nit_exit(1);
54886 }
54887 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
54888 stack_frame_head = fra.me.prev;
54889 init_table[itpos248] = 1;
54890 return;
54891 }
54892 void parser_prod___ABreakClosureId___n_kwbreak__eq(val_t p0, val_t p1){
54893 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
54894 val_t tmp;
54895 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54896 fra.me.file = LOCATE_parser_prod;
54897 fra.me.line = 9753;
54898 fra.me.meth = LOCATE_parser_prod___ABreakClosureId___n_kwbreak__eq;
54899 fra.me.has_broke = 0;
54900 fra.me.REG_size = 2;
54901 fra.me.REG[0] = NIT_NULL;
54902 fra.me.REG[1] = NIT_NULL;
54903 fra.me.REG[0] = p0;
54904 fra.me.REG[1] = p1;
54905 /* ./parser//parser_prod.nit:9755 */
54906 ATTR_parser_nodes___ABreakClosureId____n_kwbreak(fra.me.REG[0]) = fra.me.REG[1];
54907 /* ./parser//parser_prod.nit:9756 */
54908 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
54909 stack_frame_head = fra.me.prev;
54910 return;
54911 }
54912 void parser_prod___ABreakClosureId___replace_child(val_t p0, val_t p1, val_t p2){
54913 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
54914 val_t REGB0;
54915 val_t REGB1;
54916 val_t tmp;
54917 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54918 fra.me.file = LOCATE_parser_prod;
54919 fra.me.line = 9770;
54920 fra.me.meth = LOCATE_parser_prod___ABreakClosureId___replace_child;
54921 fra.me.has_broke = 0;
54922 fra.me.REG_size = 4;
54923 fra.me.REG[0] = NIT_NULL;
54924 fra.me.REG[1] = NIT_NULL;
54925 fra.me.REG[2] = NIT_NULL;
54926 fra.me.REG[3] = NIT_NULL;
54927 fra.me.REG[0] = p0;
54928 fra.me.REG[1] = p1;
54929 fra.me.REG[2] = p2;
54930 REGB0 = TAG_Bool(ATTR_parser_nodes___ABreakClosureId____n_kwbreak(fra.me.REG[0])!=NIT_NULL);
54931 /* ./parser//parser_prod.nit:9772 */
54932 if (UNTAG_Bool(REGB0)) {
54933 } else {
54934 fprintf(stderr, "Uninitialized attribute %s", "_n_kwbreak");
54935 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9772);
54936 nit_exit(1);
54937 }
54938 fra.me.REG[3] = ATTR_parser_nodes___ABreakClosureId____n_kwbreak(fra.me.REG[0]);
54939 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[1]));
54940 if (UNTAG_Bool(REGB0)) {
54941 } else {
54942 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
54943 REGB0 = REGB1;
54944 }
54945 if (UNTAG_Bool(REGB0)) {
54946 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
54947 /* ./parser//parser_prod.nit:9773 */
54948 if (UNTAG_Bool(REGB0)) {
54949 } else {
54950 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
54951 if (UNTAG_Bool(REGB1)) {
54952 REGB1 = TAG_Bool(false);
54953 REGB0 = REGB1;
54954 } else {
54955 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
54956 REGB0 = REGB1;
54957 }
54958 }
54959 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
54960 if (UNTAG_Bool(REGB0)) {
54961 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
54962 /* ./parser//parser_prod.nit:9774 */
54963 if (UNTAG_Bool(REGB0)) {
54964 fprintf(stderr, "Reciever is null");
54965 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9774);
54966 nit_exit(1);
54967 }
54968 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
54969 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TKwbreak, ID_TKwbreak)) /*cast TKwbreak*/;
54970 /* ./parser//parser_prod.nit:9775 */
54971 if (UNTAG_Bool(REGB0)) {
54972 } else {
54973 fprintf(stderr, "Assert failed");
54974 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9775);
54975 nit_exit(1);
54976 }
54977 /* ./parser//parser_prod.nit:9776 */
54978 ATTR_parser_nodes___ABreakClosureId____n_kwbreak(fra.me.REG[0]) = fra.me.REG[2];
54979 } else {
54980 /* ./parser//parser_prod.nit:9778 */
54981 fprintf(stderr, "Aborted");
54982 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9778);
54983 nit_exit(1);
54984 }
54985 /* ./parser//parser_prod.nit:9780 */
54986 goto label1;
54987 }
54988 label1: while(0);
54989 stack_frame_head = fra.me.prev;
54990 return;
54991 }
54992 void parser_prod___ABreakClosureId___visit_all(val_t p0, val_t p1){
54993 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
54994 val_t REGB0;
54995 val_t tmp;
54996 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
54997 fra.me.file = LOCATE_parser_prod;
54998 fra.me.line = 9784;
54999 fra.me.meth = LOCATE_parser_prod___ABreakClosureId___visit_all;
55000 fra.me.has_broke = 0;
55001 fra.me.REG_size = 2;
55002 fra.me.REG[0] = NIT_NULL;
55003 fra.me.REG[1] = NIT_NULL;
55004 fra.me.REG[0] = p0;
55005 fra.me.REG[1] = p1;
55006 REGB0 = TAG_Bool(ATTR_parser_nodes___ABreakClosureId____n_kwbreak(fra.me.REG[0])!=NIT_NULL);
55007 /* ./parser//parser_prod.nit:9786 */
55008 if (UNTAG_Bool(REGB0)) {
55009 } else {
55010 fprintf(stderr, "Uninitialized attribute %s", "_n_kwbreak");
55011 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9786);
55012 nit_exit(1);
55013 }
55014 fra.me.REG[0] = ATTR_parser_nodes___ABreakClosureId____n_kwbreak(fra.me.REG[0]);
55015 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
55016 stack_frame_head = fra.me.prev;
55017 return;
55018 }
55019 void parser_prod___ABreakClosureId___visit_all_reverse(val_t p0, val_t p1){
55020 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
55021 val_t REGB0;
55022 val_t tmp;
55023 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55024 fra.me.file = LOCATE_parser_prod;
55025 fra.me.line = 9789;
55026 fra.me.meth = LOCATE_parser_prod___ABreakClosureId___visit_all_reverse;
55027 fra.me.has_broke = 0;
55028 fra.me.REG_size = 2;
55029 fra.me.REG[0] = NIT_NULL;
55030 fra.me.REG[1] = NIT_NULL;
55031 fra.me.REG[0] = p0;
55032 fra.me.REG[1] = p1;
55033 REGB0 = TAG_Bool(ATTR_parser_nodes___ABreakClosureId____n_kwbreak(fra.me.REG[0])!=NIT_NULL);
55034 /* ./parser//parser_prod.nit:9791 */
55035 if (UNTAG_Bool(REGB0)) {
55036 } else {
55037 fprintf(stderr, "Uninitialized attribute %s", "_n_kwbreak");
55038 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9791);
55039 nit_exit(1);
55040 }
55041 fra.me.REG[0] = ATTR_parser_nodes___ABreakClosureId____n_kwbreak(fra.me.REG[0]);
55042 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
55043 stack_frame_head = fra.me.prev;
55044 return;
55045 }
55046 void parser_prod___ABreakClosureId___empty_init(val_t p0, int* init_table){
55047 int itpos249 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ABreakClosureId].i;
55048 struct {struct stack_frame_t me;} fra;
55049 val_t tmp;
55050 if (init_table[itpos249]) return;
55051 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55052 fra.me.file = LOCATE_parser_prod;
55053 fra.me.line = 9759;
55054 fra.me.meth = LOCATE_parser_prod___ABreakClosureId___empty_init;
55055 fra.me.has_broke = 0;
55056 fra.me.REG_size = 1;
55057 fra.me.REG[0] = NIT_NULL;
55058 fra.me.REG[0] = p0;
55059 /* ./parser//parser_prod.nit:9759 */
55060 stack_frame_head = fra.me.prev;
55061 init_table[itpos249] = 1;
55062 return;
55063 }
55064 void parser_prod___ABreakClosureId___init_abreakclosureid(val_t p0, val_t p1, int* init_table){
55065 int itpos250 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ABreakClosureId].i;
55066 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
55067 val_t REGB0;
55068 val_t tmp;
55069 if (init_table[itpos250]) return;
55070 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55071 fra.me.file = LOCATE_parser_prod;
55072 fra.me.line = 9761;
55073 fra.me.meth = LOCATE_parser_prod___ABreakClosureId___init_abreakclosureid;
55074 fra.me.has_broke = 0;
55075 fra.me.REG_size = 2;
55076 fra.me.REG[0] = NIT_NULL;
55077 fra.me.REG[1] = NIT_NULL;
55078 fra.me.REG[0] = p0;
55079 fra.me.REG[1] = p1;
55080 /* ./parser//parser_prod.nit:9765 */
55081 CALL_parser_prod___ABreakClosureId___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
55082 REGB0 = TAG_Bool(fra.me.REG[1]!=NIT_NULL);
55083 /* ./parser//parser_prod.nit:9766 */
55084 if (UNTAG_Bool(REGB0)) {
55085 } else {
55086 fprintf(stderr, "Cast failed");
55087 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9766);
55088 nit_exit(1);
55089 }
55090 ATTR_parser_nodes___ABreakClosureId____n_kwbreak(fra.me.REG[0]) = fra.me.REG[1];
55091 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
55092 /* ./parser//parser_prod.nit:9767 */
55093 if (UNTAG_Bool(REGB0)) {
55094 fprintf(stderr, "Reciever is null");
55095 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9767);
55096 nit_exit(1);
55097 }
55098 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
55099 stack_frame_head = fra.me.prev;
55100 init_table[itpos250] = 1;
55101 return;
55102 }
55103 void parser_prod___AQualified___n_classid__eq(val_t p0, val_t p1){
55104 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
55105 val_t REGB0;
55106 val_t REGB1;
55107 val_t tmp;
55108 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55109 fra.me.file = LOCATE_parser_prod;
55110 fra.me.line = 9795;
55111 fra.me.meth = LOCATE_parser_prod___AQualified___n_classid__eq;
55112 fra.me.has_broke = 0;
55113 fra.me.REG_size = 2;
55114 fra.me.REG[0] = NIT_NULL;
55115 fra.me.REG[1] = NIT_NULL;
55116 fra.me.REG[0] = p0;
55117 fra.me.REG[1] = p1;
55118 /* ./parser//parser_prod.nit:9797 */
55119 ATTR_parser_nodes___AQualified____n_classid(fra.me.REG[0]) = fra.me.REG[1];
55120 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
55121 /* ./parser//parser_prod.nit:9798 */
55122 if (UNTAG_Bool(REGB0)) {
55123 } else {
55124 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
55125 if (UNTAG_Bool(REGB1)) {
55126 REGB1 = TAG_Bool(false);
55127 REGB0 = REGB1;
55128 } else {
55129 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
55130 REGB0 = REGB1;
55131 }
55132 }
55133 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
55134 if (UNTAG_Bool(REGB0)) {
55135 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
55136 /* ./parser//parser_prod.nit:9799 */
55137 if (UNTAG_Bool(REGB0)) {
55138 fprintf(stderr, "Reciever is null");
55139 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9799);
55140 nit_exit(1);
55141 }
55142 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
55143 }
55144 stack_frame_head = fra.me.prev;
55145 return;
55146 }
55147 void parser_prod___AQualified___replace_child(val_t p0, val_t p1, val_t p2){
55148 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
55149 val_t REGB0;
55150 val_t REGB1;
55151 val_t REGB2;
55152 val_t tmp;
55153 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55154 fra.me.file = LOCATE_parser_prod;
55155 fra.me.line = 9822;
55156 fra.me.meth = LOCATE_parser_prod___AQualified___replace_child;
55157 fra.me.has_broke = 0;
55158 fra.me.REG_size = 5;
55159 fra.me.REG[0] = NIT_NULL;
55160 fra.me.REG[1] = NIT_NULL;
55161 fra.me.REG[2] = NIT_NULL;
55162 fra.me.REG[3] = NIT_NULL;
55163 fra.me.REG[4] = NIT_NULL;
55164 fra.me.REG[0] = p0;
55165 fra.me.REG[1] = p1;
55166 fra.me.REG[2] = p2;
55167 REGB0 = TAG_Int(0);
55168 REGB1 = TAG_Bool(ATTR_parser_nodes___AQualified____n_id(fra.me.REG[0])!=NIT_NULL);
55169 /* ./parser//parser_prod.nit:9824 */
55170 if (UNTAG_Bool(REGB1)) {
55171 } else {
55172 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
55173 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9824);
55174 nit_exit(1);
55175 }
55176 fra.me.REG[3] = ATTR_parser_nodes___AQualified____n_id(fra.me.REG[0]);
55177 REGB1 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
55178 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB0, REGB1);
55179 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
55180 while(1) {
55181 REGB1 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
55182 if (UNTAG_Bool(REGB1)) {
55183 REGB1 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
55184 REGB0 = TAG_Bool(ATTR_parser_nodes___AQualified____n_id(fra.me.REG[0])!=NIT_NULL);
55185 /* ./parser//parser_prod.nit:9825 */
55186 if (UNTAG_Bool(REGB0)) {
55187 } else {
55188 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
55189 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9825);
55190 nit_exit(1);
55191 }
55192 fra.me.REG[4] = ATTR_parser_nodes___AQualified____n_id(fra.me.REG[0]);
55193 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB1);
55194 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[4]));
55195 if (UNTAG_Bool(REGB0)) {
55196 } else {
55197 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
55198 if (UNTAG_Bool(REGB2)) {
55199 REGB2 = TAG_Bool(false);
55200 REGB0 = REGB2;
55201 } else {
55202 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
55203 REGB0 = REGB2;
55204 }
55205 }
55206 if (UNTAG_Bool(REGB0)) {
55207 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
55208 /* ./parser//parser_prod.nit:9826 */
55209 if (UNTAG_Bool(REGB0)) {
55210 } else {
55211 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
55212 if (UNTAG_Bool(REGB2)) {
55213 REGB2 = TAG_Bool(false);
55214 REGB0 = REGB2;
55215 } else {
55216 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
55217 REGB0 = REGB2;
55218 }
55219 }
55220 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
55221 if (UNTAG_Bool(REGB0)) {
55222 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TId, ID_TId)) /*cast TId*/;
55223 /* ./parser//parser_prod.nit:9827 */
55224 if (UNTAG_Bool(REGB0)) {
55225 } else {
55226 fprintf(stderr, "Assert failed");
55227 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9827);
55228 nit_exit(1);
55229 }
55230 REGB0 = TAG_Bool(ATTR_parser_nodes___AQualified____n_id(fra.me.REG[0])!=NIT_NULL);
55231 /* ./parser//parser_prod.nit:9828 */
55232 if (UNTAG_Bool(REGB0)) {
55233 } else {
55234 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
55235 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9828);
55236 nit_exit(1);
55237 }
55238 fra.me.REG[4] = ATTR_parser_nodes___AQualified____n_id(fra.me.REG[0]);
55239 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], REGB1, fra.me.REG[2]);
55240 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
55241 /* ./parser//parser_prod.nit:9829 */
55242 if (UNTAG_Bool(REGB0)) {
55243 fprintf(stderr, "Reciever is null");
55244 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9829);
55245 nit_exit(1);
55246 }
55247 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
55248 } else {
55249 REGB0 = TAG_Bool(ATTR_parser_nodes___AQualified____n_id(fra.me.REG[0])!=NIT_NULL);
55250 /* ./parser//parser_prod.nit:9831 */
55251 if (UNTAG_Bool(REGB0)) {
55252 } else {
55253 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
55254 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9831);
55255 nit_exit(1);
55256 }
55257 fra.me.REG[4] = ATTR_parser_nodes___AQualified____n_id(fra.me.REG[0]);
55258 CALL_abstract_collection___Map___remove_at(fra.me.REG[4])(fra.me.REG[4], REGB1);
55259 }
55260 /* ./parser//parser_prod.nit:9833 */
55261 goto label1;
55262 }
55263 } else {
55264 /* ./parser//parser_prod.nit:9824 */
55265 goto label2;
55266 }
55267 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
55268 }
55269 label2: while(0);
55270 fra.me.REG[3] = ATTR_parser_nodes___AQualified____n_classid(fra.me.REG[0]);
55271 REGB1 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
55272 /* ./parser//parser_prod.nit:9836 */
55273 if (UNTAG_Bool(REGB1)) {
55274 } else {
55275 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
55276 if (UNTAG_Bool(REGB0)) {
55277 REGB0 = TAG_Bool(false);
55278 REGB1 = REGB0;
55279 } else {
55280 REGB0 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
55281 REGB1 = REGB0;
55282 }
55283 }
55284 if (UNTAG_Bool(REGB1)) {
55285 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
55286 /* ./parser//parser_prod.nit:9837 */
55287 if (UNTAG_Bool(REGB1)) {
55288 } else {
55289 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
55290 if (UNTAG_Bool(REGB0)) {
55291 REGB0 = TAG_Bool(false);
55292 REGB1 = REGB0;
55293 } else {
55294 REGB0 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
55295 REGB1 = REGB0;
55296 }
55297 }
55298 REGB1 = TAG_Bool(!UNTAG_Bool(REGB1));
55299 if (UNTAG_Bool(REGB1)) {
55300 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
55301 /* ./parser//parser_prod.nit:9838 */
55302 if (UNTAG_Bool(REGB1)) {
55303 fprintf(stderr, "Reciever is null");
55304 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9838);
55305 nit_exit(1);
55306 }
55307 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
55308 REGB1 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
55309 /* ./parser//parser_prod.nit:9839 */
55310 if (UNTAG_Bool(REGB1)) {
55311 } else {
55312 fprintf(stderr, "Assert failed");
55313 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9839);
55314 nit_exit(1);
55315 }
55316 /* ./parser//parser_prod.nit:9840 */
55317 ATTR_parser_nodes___AQualified____n_classid(fra.me.REG[0]) = fra.me.REG[2];
55318 } else {
55319 /* ./parser//parser_prod.nit:9842 */
55320 ATTR_parser_nodes___AQualified____n_classid(fra.me.REG[0]) = NIT_NULL;
55321 }
55322 /* ./parser//parser_prod.nit:9844 */
55323 goto label1;
55324 }
55325 label1: while(0);
55326 stack_frame_head = fra.me.prev;
55327 return;
55328 }
55329 void parser_prod___AQualified___visit_all(val_t p0, val_t p1){
55330 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
55331 val_t REGB0;
55332 val_t REGB1;
55333 val_t tmp;
55334 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55335 fra.me.file = LOCATE_parser_prod;
55336 fra.me.line = 9848;
55337 fra.me.meth = LOCATE_parser_prod___AQualified___visit_all;
55338 fra.me.has_broke = 0;
55339 fra.me.REG_size = 4;
55340 fra.me.REG[0] = NIT_NULL;
55341 fra.me.REG[1] = NIT_NULL;
55342 fra.me.REG[2] = NIT_NULL;
55343 fra.me.REG[3] = NIT_NULL;
55344 fra.me.REG[0] = p0;
55345 fra.me.REG[1] = p1;
55346 REGB0 = TAG_Bool(ATTR_parser_nodes___AQualified____n_id(fra.me.REG[0])!=NIT_NULL);
55347 /* ./parser//parser_prod.nit:9850 */
55348 if (UNTAG_Bool(REGB0)) {
55349 } else {
55350 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
55351 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9850);
55352 nit_exit(1);
55353 }
55354 fra.me.REG[2] = ATTR_parser_nodes___AQualified____n_id(fra.me.REG[0]);
55355 fra.me.REG[2] = CALL_abstract_collection___Collection___iterator(fra.me.REG[2])(fra.me.REG[2]);
55356 while(1) {
55357 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[2])(fra.me.REG[2]);
55358 if (UNTAG_Bool(REGB0)) {
55359 fra.me.REG[3] = CALL_abstract_collection___Iterator___item(fra.me.REG[2])(fra.me.REG[2]);
55360 /* ./parser//parser_prod.nit:9851 */
55361 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
55362 } else {
55363 /* ./parser//parser_prod.nit:9850 */
55364 goto label1;
55365 }
55366 CALL_abstract_collection___Iterator___next(fra.me.REG[2])(fra.me.REG[2]);
55367 }
55368 label1: while(0);
55369 fra.me.REG[2] = ATTR_parser_nodes___AQualified____n_classid(fra.me.REG[0]);
55370 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
55371 /* ./parser//parser_prod.nit:9853 */
55372 if (UNTAG_Bool(REGB0)) {
55373 } else {
55374 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
55375 if (UNTAG_Bool(REGB1)) {
55376 REGB1 = TAG_Bool(false);
55377 REGB0 = REGB1;
55378 } else {
55379 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
55380 REGB0 = REGB1;
55381 }
55382 }
55383 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
55384 if (UNTAG_Bool(REGB0)) {
55385 fra.me.REG[0] = ATTR_parser_nodes___AQualified____n_classid(fra.me.REG[0]);
55386 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
55387 /* ./parser//parser_prod.nit:9854 */
55388 if (UNTAG_Bool(REGB0)) {
55389 } else {
55390 fprintf(stderr, "Cast failed");
55391 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9854);
55392 nit_exit(1);
55393 }
55394 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
55395 }
55396 stack_frame_head = fra.me.prev;
55397 return;
55398 }
55399 void parser_prod___AQualified___visit_all_reverse(val_t p0, val_t p1){
55400 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
55401 val_t REGB0;
55402 val_t REGB1;
55403 val_t tmp;
55404 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55405 fra.me.file = LOCATE_parser_prod;
55406 fra.me.line = 9858;
55407 fra.me.meth = LOCATE_parser_prod___AQualified___visit_all_reverse;
55408 fra.me.has_broke = 0;
55409 fra.me.REG_size = 3;
55410 fra.me.REG[0] = NIT_NULL;
55411 fra.me.REG[1] = NIT_NULL;
55412 fra.me.REG[2] = NIT_NULL;
55413 fra.me.REG[0] = p0;
55414 fra.me.REG[1] = p1;
55415 REGB0 = TAG_Bool(ATTR_parser_nodes___AQualified____n_id(fra.me.REG[0])!=NIT_NULL);
55416 /* ./parser//parser_prod.nit:9861 */
55417 if (UNTAG_Bool(REGB0)) {
55418 } else {
55419 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
55420 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9861);
55421 nit_exit(1);
55422 }
55423 fra.me.REG[2] = ATTR_parser_nodes___AQualified____n_id(fra.me.REG[0]);
55424 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
55425 /* ./parser//parser_prod.nit:9862 */
55426 while(1) {
55427 REGB1 = TAG_Int(0);
55428 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
55429 /* ./parser//parser_prod.nit:9862 */
55430 if (UNTAG_Bool(REGB1)) {
55431 REGB1 = TAG_Bool(ATTR_parser_nodes___AQualified____n_id(fra.me.REG[0])!=NIT_NULL);
55432 /* ./parser//parser_prod.nit:9863 */
55433 if (UNTAG_Bool(REGB1)) {
55434 } else {
55435 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
55436 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9863);
55437 nit_exit(1);
55438 }
55439 fra.me.REG[2] = ATTR_parser_nodes___AQualified____n_id(fra.me.REG[0]);
55440 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
55441 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
55442 REGB1 = TAG_Int(1);
55443 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
55444 REGB0 = REGB1;
55445 /* ./parser//parser_prod.nit:9864 */
55446 } else {
55447 /* ./parser//parser_prod.nit:9862 */
55448 goto label1;
55449 }
55450 }
55451 label1: while(0);
55452 fra.me.REG[2] = ATTR_parser_nodes___AQualified____n_classid(fra.me.REG[0]);
55453 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
55454 /* ./parser//parser_prod.nit:9867 */
55455 if (UNTAG_Bool(REGB0)) {
55456 } else {
55457 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
55458 if (UNTAG_Bool(REGB1)) {
55459 REGB1 = TAG_Bool(false);
55460 REGB0 = REGB1;
55461 } else {
55462 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
55463 REGB0 = REGB1;
55464 }
55465 }
55466 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
55467 if (UNTAG_Bool(REGB0)) {
55468 fra.me.REG[0] = ATTR_parser_nodes___AQualified____n_classid(fra.me.REG[0]);
55469 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_TClassid, ID_TClassid)) /*cast TClassid*/;
55470 /* ./parser//parser_prod.nit:9868 */
55471 if (UNTAG_Bool(REGB0)) {
55472 } else {
55473 fprintf(stderr, "Cast failed");
55474 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9868);
55475 nit_exit(1);
55476 }
55477 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
55478 }
55479 stack_frame_head = fra.me.prev;
55480 return;
55481 }
55482 void parser_prod___AQualified___empty_init(val_t p0, int* init_table){
55483 int itpos251 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AQualified].i;
55484 struct {struct stack_frame_t me;} fra;
55485 val_t tmp;
55486 if (init_table[itpos251]) return;
55487 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55488 fra.me.file = LOCATE_parser_prod;
55489 fra.me.line = 9803;
55490 fra.me.meth = LOCATE_parser_prod___AQualified___empty_init;
55491 fra.me.has_broke = 0;
55492 fra.me.REG_size = 1;
55493 fra.me.REG[0] = NIT_NULL;
55494 fra.me.REG[0] = p0;
55495 /* ./parser//parser_prod.nit:9803 */
55496 stack_frame_head = fra.me.prev;
55497 init_table[itpos251] = 1;
55498 return;
55499 }
55500 void parser_prod___AQualified___init_aqualified(val_t p0, val_t p1, val_t p2, int* init_table){
55501 int itpos252 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_AQualified].i;
55502 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
55503 val_t REGB0;
55504 val_t REGB1;
55505 val_t tmp;
55506 if (init_table[itpos252]) return;
55507 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55508 fra.me.file = LOCATE_parser_prod;
55509 fra.me.line = 9805;
55510 fra.me.meth = LOCATE_parser_prod___AQualified___init_aqualified;
55511 fra.me.has_broke = 0;
55512 fra.me.REG_size = 5;
55513 fra.me.REG[0] = NIT_NULL;
55514 fra.me.REG[1] = NIT_NULL;
55515 fra.me.REG[2] = NIT_NULL;
55516 fra.me.REG[3] = NIT_NULL;
55517 fra.me.REG[4] = NIT_NULL;
55518 fra.me.REG[0] = p0;
55519 fra.me.REG[1] = p1;
55520 fra.me.REG[2] = p2;
55521 /* ./parser//parser_prod.nit:9810 */
55522 CALL_parser_prod___AQualified___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
55523 fra.me.REG[1] = CALL_abstract_collection___Collection___iterator(fra.me.REG[1])(fra.me.REG[1]);
55524 /* ./parser//parser_prod.nit:9811 */
55525 while(1) {
55526 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[1])(fra.me.REG[1]);
55527 if (UNTAG_Bool(REGB0)) {
55528 fra.me.REG[3] = CALL_abstract_collection___Iterator___item(fra.me.REG[1])(fra.me.REG[1]);
55529 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[3], COLOR_TId, ID_TId)) /*cast TId*/;
55530 /* ./parser//parser_prod.nit:9812 */
55531 if (UNTAG_Bool(REGB0)) {
55532 } else {
55533 fprintf(stderr, "Assert failed");
55534 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9812);
55535 nit_exit(1);
55536 }
55537 REGB0 = TAG_Bool(ATTR_parser_nodes___AQualified____n_id(fra.me.REG[0])!=NIT_NULL);
55538 /* ./parser//parser_prod.nit:9813 */
55539 if (UNTAG_Bool(REGB0)) {
55540 } else {
55541 fprintf(stderr, "Uninitialized attribute %s", "_n_id");
55542 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9813);
55543 nit_exit(1);
55544 }
55545 fra.me.REG[4] = ATTR_parser_nodes___AQualified____n_id(fra.me.REG[0]);
55546 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
55547 /* ./parser//parser_prod.nit:9814 */
55548 CALL_parser_prod___ANode___parent__eq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
55549 } else {
55550 /* ./parser//parser_prod.nit:9811 */
55551 goto label1;
55552 }
55553 CALL_abstract_collection___Iterator___next(fra.me.REG[1])(fra.me.REG[1]);
55554 }
55555 label1: while(0);
55556 /* ./parser//parser_prod.nit:9816 */
55557 ATTR_parser_nodes___AQualified____n_classid(fra.me.REG[0]) = fra.me.REG[2];
55558 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
55559 /* ./parser//parser_prod.nit:9817 */
55560 if (UNTAG_Bool(REGB0)) {
55561 } else {
55562 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
55563 if (UNTAG_Bool(REGB1)) {
55564 REGB1 = TAG_Bool(false);
55565 REGB0 = REGB1;
55566 } else {
55567 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
55568 REGB0 = REGB1;
55569 }
55570 }
55571 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
55572 if (UNTAG_Bool(REGB0)) {
55573 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
55574 /* ./parser//parser_prod.nit:9818 */
55575 if (UNTAG_Bool(REGB0)) {
55576 fprintf(stderr, "Reciever is null");
55577 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9818);
55578 nit_exit(1);
55579 }
55580 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
55581 }
55582 stack_frame_head = fra.me.prev;
55583 init_table[itpos252] = 1;
55584 return;
55585 }
55586 void parser_prod___ADoc___replace_child(val_t p0, val_t p1, val_t p2){
55587 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
55588 val_t REGB0;
55589 val_t REGB1;
55590 val_t REGB2;
55591 val_t tmp;
55592 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55593 fra.me.file = LOCATE_parser_prod;
55594 fra.me.line = 9888;
55595 fra.me.meth = LOCATE_parser_prod___ADoc___replace_child;
55596 fra.me.has_broke = 0;
55597 fra.me.REG_size = 5;
55598 fra.me.REG[0] = NIT_NULL;
55599 fra.me.REG[1] = NIT_NULL;
55600 fra.me.REG[2] = NIT_NULL;
55601 fra.me.REG[3] = NIT_NULL;
55602 fra.me.REG[4] = NIT_NULL;
55603 fra.me.REG[0] = p0;
55604 fra.me.REG[1] = p1;
55605 fra.me.REG[2] = p2;
55606 REGB0 = TAG_Int(0);
55607 REGB1 = TAG_Bool(ATTR_parser_nodes___ADoc____n_comment(fra.me.REG[0])!=NIT_NULL);
55608 /* ./parser//parser_prod.nit:9890 */
55609 if (UNTAG_Bool(REGB1)) {
55610 } else {
55611 fprintf(stderr, "Uninitialized attribute %s", "_n_comment");
55612 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9890);
55613 nit_exit(1);
55614 }
55615 fra.me.REG[3] = ATTR_parser_nodes___ADoc____n_comment(fra.me.REG[0]);
55616 REGB1 = CALL_abstract_collection___Collection___length(fra.me.REG[3])(fra.me.REG[3]);
55617 fra.me.REG[3] = NEW_Range_range___Range___without_last(REGB0, REGB1);
55618 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
55619 while(1) {
55620 REGB1 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
55621 if (UNTAG_Bool(REGB1)) {
55622 REGB1 = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
55623 REGB0 = TAG_Bool(ATTR_parser_nodes___ADoc____n_comment(fra.me.REG[0])!=NIT_NULL);
55624 /* ./parser//parser_prod.nit:9891 */
55625 if (UNTAG_Bool(REGB0)) {
55626 } else {
55627 fprintf(stderr, "Uninitialized attribute %s", "_n_comment");
55628 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9891);
55629 nit_exit(1);
55630 }
55631 fra.me.REG[4] = ATTR_parser_nodes___ADoc____n_comment(fra.me.REG[0]);
55632 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], REGB1);
55633 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[4]));
55634 if (UNTAG_Bool(REGB0)) {
55635 } else {
55636 REGB2 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
55637 if (UNTAG_Bool(REGB2)) {
55638 REGB2 = TAG_Bool(false);
55639 REGB0 = REGB2;
55640 } else {
55641 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
55642 REGB0 = REGB2;
55643 }
55644 }
55645 if (UNTAG_Bool(REGB0)) {
55646 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
55647 /* ./parser//parser_prod.nit:9892 */
55648 if (UNTAG_Bool(REGB0)) {
55649 } else {
55650 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
55651 if (UNTAG_Bool(REGB2)) {
55652 REGB2 = TAG_Bool(false);
55653 REGB0 = REGB2;
55654 } else {
55655 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
55656 REGB0 = REGB2;
55657 }
55658 }
55659 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
55660 if (UNTAG_Bool(REGB0)) {
55661 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_TComment, ID_TComment)) /*cast TComment*/;
55662 /* ./parser//parser_prod.nit:9893 */
55663 if (UNTAG_Bool(REGB0)) {
55664 } else {
55665 fprintf(stderr, "Assert failed");
55666 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9893);
55667 nit_exit(1);
55668 }
55669 REGB0 = TAG_Bool(ATTR_parser_nodes___ADoc____n_comment(fra.me.REG[0])!=NIT_NULL);
55670 /* ./parser//parser_prod.nit:9894 */
55671 if (UNTAG_Bool(REGB0)) {
55672 } else {
55673 fprintf(stderr, "Uninitialized attribute %s", "_n_comment");
55674 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9894);
55675 nit_exit(1);
55676 }
55677 fra.me.REG[4] = ATTR_parser_nodes___ADoc____n_comment(fra.me.REG[0]);
55678 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], REGB1, fra.me.REG[2]);
55679 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
55680 /* ./parser//parser_prod.nit:9895 */
55681 if (UNTAG_Bool(REGB0)) {
55682 fprintf(stderr, "Reciever is null");
55683 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9895);
55684 nit_exit(1);
55685 }
55686 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
55687 } else {
55688 REGB0 = TAG_Bool(ATTR_parser_nodes___ADoc____n_comment(fra.me.REG[0])!=NIT_NULL);
55689 /* ./parser//parser_prod.nit:9897 */
55690 if (UNTAG_Bool(REGB0)) {
55691 } else {
55692 fprintf(stderr, "Uninitialized attribute %s", "_n_comment");
55693 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9897);
55694 nit_exit(1);
55695 }
55696 fra.me.REG[4] = ATTR_parser_nodes___ADoc____n_comment(fra.me.REG[0]);
55697 CALL_abstract_collection___Map___remove_at(fra.me.REG[4])(fra.me.REG[4], REGB1);
55698 }
55699 /* ./parser//parser_prod.nit:9899 */
55700 goto label1;
55701 }
55702 } else {
55703 /* ./parser//parser_prod.nit:9890 */
55704 goto label2;
55705 }
55706 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
55707 }
55708 label2: while(0);
55709 label1: while(0);
55710 stack_frame_head = fra.me.prev;
55711 return;
55712 }
55713 void parser_prod___ADoc___visit_all(val_t p0, val_t p1){
55714 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
55715 val_t REGB0;
55716 val_t tmp;
55717 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55718 fra.me.file = LOCATE_parser_prod;
55719 fra.me.line = 9904;
55720 fra.me.meth = LOCATE_parser_prod___ADoc___visit_all;
55721 fra.me.has_broke = 0;
55722 fra.me.REG_size = 3;
55723 fra.me.REG[0] = NIT_NULL;
55724 fra.me.REG[1] = NIT_NULL;
55725 fra.me.REG[2] = NIT_NULL;
55726 fra.me.REG[0] = p0;
55727 fra.me.REG[1] = p1;
55728 REGB0 = TAG_Bool(ATTR_parser_nodes___ADoc____n_comment(fra.me.REG[0])!=NIT_NULL);
55729 /* ./parser//parser_prod.nit:9906 */
55730 if (UNTAG_Bool(REGB0)) {
55731 } else {
55732 fprintf(stderr, "Uninitialized attribute %s", "_n_comment");
55733 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9906);
55734 nit_exit(1);
55735 }
55736 fra.me.REG[0] = ATTR_parser_nodes___ADoc____n_comment(fra.me.REG[0]);
55737 fra.me.REG[0] = CALL_abstract_collection___Collection___iterator(fra.me.REG[0])(fra.me.REG[0]);
55738 while(1) {
55739 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[0])(fra.me.REG[0]);
55740 if (UNTAG_Bool(REGB0)) {
55741 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[0])(fra.me.REG[0]);
55742 /* ./parser//parser_prod.nit:9907 */
55743 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
55744 } else {
55745 /* ./parser//parser_prod.nit:9906 */
55746 goto label1;
55747 }
55748 CALL_abstract_collection___Iterator___next(fra.me.REG[0])(fra.me.REG[0]);
55749 }
55750 label1: while(0);
55751 stack_frame_head = fra.me.prev;
55752 return;
55753 }
55754 void parser_prod___ADoc___visit_all_reverse(val_t p0, val_t p1){
55755 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
55756 val_t REGB0;
55757 val_t REGB1;
55758 val_t tmp;
55759 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55760 fra.me.file = LOCATE_parser_prod;
55761 fra.me.line = 9911;
55762 fra.me.meth = LOCATE_parser_prod___ADoc___visit_all_reverse;
55763 fra.me.has_broke = 0;
55764 fra.me.REG_size = 3;
55765 fra.me.REG[0] = NIT_NULL;
55766 fra.me.REG[1] = NIT_NULL;
55767 fra.me.REG[2] = NIT_NULL;
55768 fra.me.REG[0] = p0;
55769 fra.me.REG[1] = p1;
55770 REGB0 = TAG_Bool(ATTR_parser_nodes___ADoc____n_comment(fra.me.REG[0])!=NIT_NULL);
55771 /* ./parser//parser_prod.nit:9914 */
55772 if (UNTAG_Bool(REGB0)) {
55773 } else {
55774 fprintf(stderr, "Uninitialized attribute %s", "_n_comment");
55775 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9914);
55776 nit_exit(1);
55777 }
55778 fra.me.REG[2] = ATTR_parser_nodes___ADoc____n_comment(fra.me.REG[0]);
55779 REGB0 = CALL_abstract_collection___Collection___length(fra.me.REG[2])(fra.me.REG[2]);
55780 /* ./parser//parser_prod.nit:9915 */
55781 while(1) {
55782 REGB1 = TAG_Int(0);
55783 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
55784 /* ./parser//parser_prod.nit:9915 */
55785 if (UNTAG_Bool(REGB1)) {
55786 REGB1 = TAG_Bool(ATTR_parser_nodes___ADoc____n_comment(fra.me.REG[0])!=NIT_NULL);
55787 /* ./parser//parser_prod.nit:9916 */
55788 if (UNTAG_Bool(REGB1)) {
55789 } else {
55790 fprintf(stderr, "Uninitialized attribute %s", "_n_comment");
55791 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9916);
55792 nit_exit(1);
55793 }
55794 fra.me.REG[2] = ATTR_parser_nodes___ADoc____n_comment(fra.me.REG[0]);
55795 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], REGB0);
55796 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
55797 REGB1 = TAG_Int(1);
55798 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
55799 REGB0 = REGB1;
55800 /* ./parser//parser_prod.nit:9917 */
55801 } else {
55802 /* ./parser//parser_prod.nit:9915 */
55803 goto label1;
55804 }
55805 }
55806 label1: while(0);
55807 stack_frame_head = fra.me.prev;
55808 return;
55809 }
55810 void parser_prod___ADoc___empty_init(val_t p0, int* init_table){
55811 int itpos253 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ADoc].i;
55812 struct {struct stack_frame_t me;} fra;
55813 val_t tmp;
55814 if (init_table[itpos253]) return;
55815 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55816 fra.me.file = LOCATE_parser_prod;
55817 fra.me.line = 9874;
55818 fra.me.meth = LOCATE_parser_prod___ADoc___empty_init;
55819 fra.me.has_broke = 0;
55820 fra.me.REG_size = 1;
55821 fra.me.REG[0] = NIT_NULL;
55822 fra.me.REG[0] = p0;
55823 /* ./parser//parser_prod.nit:9874 */
55824 stack_frame_head = fra.me.prev;
55825 init_table[itpos253] = 1;
55826 return;
55827 }
55828 void parser_prod___ADoc___init_adoc(val_t p0, val_t p1, int* init_table){
55829 int itpos254 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ADoc].i;
55830 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
55831 val_t REGB0;
55832 val_t tmp;
55833 if (init_table[itpos254]) return;
55834 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55835 fra.me.file = LOCATE_parser_prod;
55836 fra.me.line = 9876;
55837 fra.me.meth = LOCATE_parser_prod___ADoc___init_adoc;
55838 fra.me.has_broke = 0;
55839 fra.me.REG_size = 4;
55840 fra.me.REG[0] = NIT_NULL;
55841 fra.me.REG[1] = NIT_NULL;
55842 fra.me.REG[2] = NIT_NULL;
55843 fra.me.REG[3] = NIT_NULL;
55844 fra.me.REG[0] = p0;
55845 fra.me.REG[1] = p1;
55846 /* ./parser//parser_prod.nit:9880 */
55847 CALL_parser_prod___ADoc___empty_init(fra.me.REG[0])(fra.me.REG[0], init_table);
55848 fra.me.REG[1] = CALL_abstract_collection___Collection___iterator(fra.me.REG[1])(fra.me.REG[1]);
55849 /* ./parser//parser_prod.nit:9881 */
55850 while(1) {
55851 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[1])(fra.me.REG[1]);
55852 if (UNTAG_Bool(REGB0)) {
55853 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[1])(fra.me.REG[1]);
55854 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_TComment, ID_TComment)) /*cast TComment*/;
55855 /* ./parser//parser_prod.nit:9882 */
55856 if (UNTAG_Bool(REGB0)) {
55857 } else {
55858 fprintf(stderr, "Assert failed");
55859 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9882);
55860 nit_exit(1);
55861 }
55862 REGB0 = TAG_Bool(ATTR_parser_nodes___ADoc____n_comment(fra.me.REG[0])!=NIT_NULL);
55863 /* ./parser//parser_prod.nit:9883 */
55864 if (UNTAG_Bool(REGB0)) {
55865 } else {
55866 fprintf(stderr, "Uninitialized attribute %s", "_n_comment");
55867 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9883);
55868 nit_exit(1);
55869 }
55870 fra.me.REG[3] = ATTR_parser_nodes___ADoc____n_comment(fra.me.REG[0]);
55871 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
55872 /* ./parser//parser_prod.nit:9884 */
55873 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
55874 } else {
55875 /* ./parser//parser_prod.nit:9881 */
55876 goto label1;
55877 }
55878 CALL_abstract_collection___Iterator___next(fra.me.REG[1])(fra.me.REG[1]);
55879 }
55880 label1: while(0);
55881 stack_frame_head = fra.me.prev;
55882 init_table[itpos254] = 1;
55883 return;
55884 }
55885 void parser_prod___Start___replace_child(val_t p0, val_t p1, val_t p2){
55886 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
55887 val_t REGB0;
55888 val_t REGB1;
55889 val_t tmp;
55890 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55891 fra.me.file = LOCATE_parser_prod;
55892 fra.me.line = 9932;
55893 fra.me.meth = LOCATE_parser_prod___Start___replace_child;
55894 fra.me.has_broke = 0;
55895 fra.me.REG_size = 4;
55896 fra.me.REG[0] = NIT_NULL;
55897 fra.me.REG[1] = NIT_NULL;
55898 fra.me.REG[2] = NIT_NULL;
55899 fra.me.REG[3] = NIT_NULL;
55900 fra.me.REG[0] = p0;
55901 fra.me.REG[1] = p1;
55902 fra.me.REG[2] = p2;
55903 fra.me.REG[3] = ATTR_parser_nodes___Start____n_base(fra.me.REG[0]);
55904 REGB0 = TAG_Bool(IS_EQUAL_ON(fra.me.REG[1],fra.me.REG[3]));
55905 /* ./parser//parser_prod.nit:9934 */
55906 if (UNTAG_Bool(REGB0)) {
55907 } else {
55908 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
55909 if (UNTAG_Bool(REGB1)) {
55910 REGB1 = TAG_Bool(false);
55911 REGB0 = REGB1;
55912 } else {
55913 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
55914 REGB0 = REGB1;
55915 }
55916 }
55917 if (UNTAG_Bool(REGB0)) {
55918 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
55919 /* ./parser//parser_prod.nit:9935 */
55920 if (UNTAG_Bool(REGB0)) {
55921 } else {
55922 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
55923 if (UNTAG_Bool(REGB1)) {
55924 REGB1 = TAG_Bool(false);
55925 REGB0 = REGB1;
55926 } else {
55927 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
55928 REGB0 = REGB1;
55929 }
55930 }
55931 if (UNTAG_Bool(REGB0)) {
55932 } else {
55933 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
55934 /* ./parser//parser_prod.nit:9937 */
55935 if (UNTAG_Bool(REGB0)) {
55936 fprintf(stderr, "Reciever is null");
55937 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9937);
55938 nit_exit(1);
55939 }
55940 CALL_parser_prod___ANode___parent__eq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
55941 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AModule, ID_AModule)) /*cast AModule*/;
55942 /* ./parser//parser_prod.nit:9938 */
55943 if (UNTAG_Bool(REGB0)) {
55944 } else {
55945 fprintf(stderr, "Assert failed");
55946 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9938);
55947 nit_exit(1);
55948 }
55949 /* ./parser//parser_prod.nit:9939 */
55950 ATTR_parser_nodes___Start____n_base(fra.me.REG[0]) = fra.me.REG[2];
55951 }
55952 /* ./parser//parser_prod.nit:9941 */
55953 CALL_parser_prod___ANode___parent__eq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
55954 /* ./parser//parser_prod.nit:9942 */
55955 goto label1;
55956 }
55957 label1: while(0);
55958 stack_frame_head = fra.me.prev;
55959 return;
55960 }
55961 void parser_prod___Start___visit_all(val_t p0, val_t p1){
55962 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
55963 val_t REGB0;
55964 val_t REGB1;
55965 val_t tmp;
55966 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
55967 fra.me.file = LOCATE_parser_prod;
55968 fra.me.line = 9946;
55969 fra.me.meth = LOCATE_parser_prod___Start___visit_all;
55970 fra.me.has_broke = 0;
55971 fra.me.REG_size = 3;
55972 fra.me.REG[0] = NIT_NULL;
55973 fra.me.REG[1] = NIT_NULL;
55974 fra.me.REG[2] = NIT_NULL;
55975 fra.me.REG[0] = p0;
55976 fra.me.REG[1] = p1;
55977 fra.me.REG[2] = ATTR_parser_nodes___Start____n_base(fra.me.REG[0]);
55978 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
55979 /* ./parser//parser_prod.nit:9948 */
55980 if (UNTAG_Bool(REGB0)) {
55981 } else {
55982 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
55983 if (UNTAG_Bool(REGB1)) {
55984 REGB1 = TAG_Bool(false);
55985 REGB0 = REGB1;
55986 } else {
55987 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
55988 REGB0 = REGB1;
55989 }
55990 }
55991 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
55992 if (UNTAG_Bool(REGB0)) {
55993 fra.me.REG[2] = ATTR_parser_nodes___Start____n_base(fra.me.REG[0]);
55994 REGB0 = TAG_Bool((fra.me.REG[2]!=NIT_NULL) && VAL_ISA(fra.me.REG[2], COLOR_AModule, ID_AModule)) /*cast AModule*/;
55995 /* ./parser//parser_prod.nit:9949 */
55996 if (UNTAG_Bool(REGB0)) {
55997 } else {
55998 fprintf(stderr, "Cast failed");
55999 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9949);
56000 nit_exit(1);
56001 }
56002 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
56003 }
56004 REGB0 = TAG_Bool(ATTR_parser_nodes___Start____n_eof(fra.me.REG[0])!=NIT_NULL);
56005 /* ./parser//parser_prod.nit:9951 */
56006 if (UNTAG_Bool(REGB0)) {
56007 } else {
56008 fprintf(stderr, "Uninitialized attribute %s", "_n_eof");
56009 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9951);
56010 nit_exit(1);
56011 }
56012 fra.me.REG[0] = ATTR_parser_nodes___Start____n_eof(fra.me.REG[0]);
56013 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
56014 stack_frame_head = fra.me.prev;
56015 return;
56016 }
56017 void parser_prod___Start___visit_all_reverse(val_t p0, val_t p1){
56018 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
56019 val_t REGB0;
56020 val_t REGB1;
56021 val_t tmp;
56022 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56023 fra.me.file = LOCATE_parser_prod;
56024 fra.me.line = 9954;
56025 fra.me.meth = LOCATE_parser_prod___Start___visit_all_reverse;
56026 fra.me.has_broke = 0;
56027 fra.me.REG_size = 3;
56028 fra.me.REG[0] = NIT_NULL;
56029 fra.me.REG[1] = NIT_NULL;
56030 fra.me.REG[2] = NIT_NULL;
56031 fra.me.REG[0] = p0;
56032 fra.me.REG[1] = p1;
56033 REGB0 = TAG_Bool(ATTR_parser_nodes___Start____n_eof(fra.me.REG[0])!=NIT_NULL);
56034 /* ./parser//parser_prod.nit:9956 */
56035 if (UNTAG_Bool(REGB0)) {
56036 } else {
56037 fprintf(stderr, "Uninitialized attribute %s", "_n_eof");
56038 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9956);
56039 nit_exit(1);
56040 }
56041 fra.me.REG[2] = ATTR_parser_nodes___Start____n_eof(fra.me.REG[0]);
56042 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
56043 fra.me.REG[2] = ATTR_parser_nodes___Start____n_base(fra.me.REG[0]);
56044 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
56045 /* ./parser//parser_prod.nit:9957 */
56046 if (UNTAG_Bool(REGB0)) {
56047 } else {
56048 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
56049 if (UNTAG_Bool(REGB1)) {
56050 REGB1 = TAG_Bool(false);
56051 REGB0 = REGB1;
56052 } else {
56053 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
56054 REGB0 = REGB1;
56055 }
56056 }
56057 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
56058 if (UNTAG_Bool(REGB0)) {
56059 fra.me.REG[0] = ATTR_parser_nodes___Start____n_base(fra.me.REG[0]);
56060 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_AModule, ID_AModule)) /*cast AModule*/;
56061 /* ./parser//parser_prod.nit:9958 */
56062 if (UNTAG_Bool(REGB0)) {
56063 } else {
56064 fprintf(stderr, "Cast failed");
56065 fprintf(stderr, " (%s:%d)\n", LOCATE_parser_prod, 9958);
56066 nit_exit(1);
56067 }
56068 CALL_parser_prod___Visitor___enter_visit(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
56069 }
56070 stack_frame_head = fra.me.prev;
56071 return;
56072 }
56073 void parser_prod___Start___init(val_t p0, val_t p1, val_t p2, int* init_table){
56074 int itpos255 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_Start].i;
56075 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
56076 val_t tmp;
56077 if (init_table[itpos255]) return;
56078 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
56079 fra.me.file = LOCATE_parser_prod;
56080 fra.me.line = 9924;
56081 fra.me.meth = LOCATE_parser_prod___Start___init;
56082 fra.me.has_broke = 0;
56083 fra.me.REG_size = 3;
56084 fra.me.REG[0] = NIT_NULL;
56085 fra.me.REG[1] = NIT_NULL;
56086 fra.me.REG[2] = NIT_NULL;
56087 fra.me.REG[0] = p0;
56088 fra.me.REG[1] = p1;
56089 fra.me.REG[2] = p2;
56090 /* ./parser//parser_prod.nit:9928 */
56091 ATTR_parser_nodes___Start____n_base(fra.me.REG[0]) = fra.me.REG[1];
56092 /* ./parser//parser_prod.nit:9929 */
56093 ATTR_parser_nodes___Start____n_eof(fra.me.REG[0]) = fra.me.REG[2];
56094 stack_frame_head = fra.me.prev;
56095 init_table[itpos255] = 1;
56096 return;
56097 }