c_src: update for kill is
[nit.git] / c_src / parser_prod.sep.3.c
1 #include "parser_prod.sep.0.h"
2 /* method parser_prod#AIfexprExpr#empty_init for (self: AIfexprExpr) */
3 void parser_prod__AIfexprExpr__empty_init(val* self) {
4 RET_LABEL:;
5 }
6 /* method parser_prod#AIfexprExpr#empty_init for (self: Object) */
7 void VIRTUAL_parser_prod__AIfexprExpr__empty_init(val* self) {
8 parser_prod__AIfexprExpr__empty_init(self);
9 RET_LABEL:;
10 }
11 /* method parser_prod#AIfexprExpr#init_aifexprexpr for (self: AIfexprExpr, nullable TKwif, nullable AExpr, nullable TKwthen, nullable AExpr, nullable TKwelse, nullable AExpr) */
12 void parser_prod__AIfexprExpr__init_aifexprexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
13 val* var_n_kwif /* var n_kwif: nullable TKwif */;
14 val* var_n_expr /* var n_expr: nullable AExpr */;
15 val* var_n_kwthen /* var n_kwthen: nullable TKwthen */;
16 val* var_n_then /* var n_then: nullable AExpr */;
17 val* var_n_kwelse /* var n_kwelse: nullable TKwelse */;
18 val* var_n_else /* var n_else: nullable AExpr */;
19 var_n_kwif = p0;
20 var_n_expr = p1;
21 var_n_kwthen = p2;
22 var_n_then = p3;
23 var_n_kwelse = p4;
24 var_n_else = p5;
25 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AIfexprExpr__empty_init]))(self) /* empty_init on <self:AIfexprExpr>*/;
26 if (var_n_kwif == NULL) {
27 fprintf(stderr, "Runtime error: %s", "Cast failed");
28 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5108);
29 exit(1);
30 }
31 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwif].val = var_n_kwif; /* _n_kwif on <self:AIfexprExpr> */
32 if (var_n_kwif == NULL) {
33 fprintf(stderr, "Runtime error: %s", "Reciever is null");
34 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5109);
35 exit(1);
36 } else {
37 ((void (*)(val*, val*))(var_n_kwif->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwif, self) /* parent= on <var_n_kwif:nullable TKwif>*/;
38 }
39 if (var_n_expr == NULL) {
40 fprintf(stderr, "Runtime error: %s", "Cast failed");
41 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5110);
42 exit(1);
43 }
44 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AIfexprExpr> */
45 if (var_n_expr == NULL) {
46 fprintf(stderr, "Runtime error: %s", "Reciever is null");
47 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5111);
48 exit(1);
49 } else {
50 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
51 }
52 if (var_n_kwthen == NULL) {
53 fprintf(stderr, "Runtime error: %s", "Cast failed");
54 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5112);
55 exit(1);
56 }
57 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwthen].val = var_n_kwthen; /* _n_kwthen on <self:AIfexprExpr> */
58 if (var_n_kwthen == NULL) {
59 fprintf(stderr, "Runtime error: %s", "Reciever is null");
60 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5113);
61 exit(1);
62 } else {
63 ((void (*)(val*, val*))(var_n_kwthen->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwthen, self) /* parent= on <var_n_kwthen:nullable TKwthen>*/;
64 }
65 if (var_n_then == NULL) {
66 fprintf(stderr, "Runtime error: %s", "Cast failed");
67 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5114);
68 exit(1);
69 }
70 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_then].val = var_n_then; /* _n_then on <self:AIfexprExpr> */
71 if (var_n_then == NULL) {
72 fprintf(stderr, "Runtime error: %s", "Reciever is null");
73 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5115);
74 exit(1);
75 } else {
76 ((void (*)(val*, val*))(var_n_then->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_then, self) /* parent= on <var_n_then:nullable AExpr>*/;
77 }
78 if (var_n_kwelse == NULL) {
79 fprintf(stderr, "Runtime error: %s", "Cast failed");
80 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5116);
81 exit(1);
82 }
83 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwelse].val = var_n_kwelse; /* _n_kwelse on <self:AIfexprExpr> */
84 if (var_n_kwelse == NULL) {
85 fprintf(stderr, "Runtime error: %s", "Reciever is null");
86 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5117);
87 exit(1);
88 } else {
89 ((void (*)(val*, val*))(var_n_kwelse->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwelse, self) /* parent= on <var_n_kwelse:nullable TKwelse>*/;
90 }
91 if (var_n_else == NULL) {
92 fprintf(stderr, "Runtime error: %s", "Cast failed");
93 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5118);
94 exit(1);
95 }
96 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_else].val = var_n_else; /* _n_else on <self:AIfexprExpr> */
97 if (var_n_else == NULL) {
98 fprintf(stderr, "Runtime error: %s", "Reciever is null");
99 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5119);
100 exit(1);
101 } else {
102 ((void (*)(val*, val*))(var_n_else->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_else, self) /* parent= on <var_n_else:nullable AExpr>*/;
103 }
104 RET_LABEL:;
105 }
106 /* method parser_prod#AIfexprExpr#init_aifexprexpr for (self: Object, nullable TKwif, nullable AExpr, nullable TKwthen, nullable AExpr, nullable TKwelse, nullable AExpr) */
107 void VIRTUAL_parser_prod__AIfexprExpr__init_aifexprexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
108 parser_prod__AIfexprExpr__init_aifexprexpr(self, p0, p1, p2, p3, p4, p5);
109 RET_LABEL:;
110 }
111 /* method parser_prod#AIfexprExpr#replace_child for (self: AIfexprExpr, ANode, nullable ANode) */
112 void parser_prod__AIfexprExpr__replace_child(val* self, val* p0, val* p1) {
113 val* var_old_child /* var old_child: ANode */;
114 val* var_new_child /* var new_child: nullable ANode */;
115 val* var /* : TKwif */;
116 short int var1 /* : Bool */;
117 val* var2 /* : null */;
118 short int var3 /* : Bool */;
119 short int var4 /* : Bool */;
120 int cltype;
121 int idtype;
122 val* var5 /* : AExpr */;
123 short int var6 /* : Bool */;
124 val* var7 /* : null */;
125 short int var8 /* : Bool */;
126 short int var9 /* : Bool */;
127 int cltype10;
128 int idtype11;
129 val* var12 /* : TKwthen */;
130 short int var13 /* : Bool */;
131 val* var14 /* : null */;
132 short int var15 /* : Bool */;
133 short int var16 /* : Bool */;
134 int cltype17;
135 int idtype18;
136 val* var19 /* : AExpr */;
137 short int var20 /* : Bool */;
138 val* var21 /* : null */;
139 short int var22 /* : Bool */;
140 short int var23 /* : Bool */;
141 int cltype24;
142 int idtype25;
143 val* var26 /* : TKwelse */;
144 short int var27 /* : Bool */;
145 val* var28 /* : null */;
146 short int var29 /* : Bool */;
147 short int var30 /* : Bool */;
148 int cltype31;
149 int idtype32;
150 val* var33 /* : AExpr */;
151 short int var34 /* : Bool */;
152 val* var35 /* : null */;
153 short int var36 /* : Bool */;
154 short int var37 /* : Bool */;
155 int cltype38;
156 int idtype39;
157 var_old_child = p0;
158 var_new_child = p1;
159 var = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwif].val; /* _n_kwif on <self:AIfexprExpr> */
160 if (var == NULL) {
161 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwif");
162 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5124);
163 exit(1);
164 }
165 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwif>*/;
166 if (var1){
167 var2 = NULL;
168 if (var_new_child == NULL) {
169 var3 = 0; /* is null */
170 } else {
171 var3 = 1; /* arg is null and recv is not */
172 }
173 if (var3){
174 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
175 /* <var_new_child:nullable ANode(ANode)> isa TKwif */
176 cltype = type_parser_nodes__TKwif.color;
177 idtype = type_parser_nodes__TKwif.id;
178 if(cltype >= var_new_child->type->table_size) {
179 var4 = 0;
180 } else {
181 var4 = var_new_child->type->type_table[cltype] == idtype;
182 }
183 if (!var4) {
184 fprintf(stderr, "Runtime error: %s", "Assert failed");
185 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5127);
186 exit(1);
187 }
188 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwif].val = var_new_child; /* _n_kwif on <self:AIfexprExpr> */
189 } else {
190 fprintf(stderr, "Runtime error: %s", "Aborted");
191 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5130);
192 exit(1);
193 }
194 goto RET_LABEL;
195 } else {
196 }
197 var5 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_expr].val; /* _n_expr on <self:AIfexprExpr> */
198 if (var5 == NULL) {
199 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
200 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5134);
201 exit(1);
202 }
203 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
204 if (var6){
205 var7 = NULL;
206 if (var_new_child == NULL) {
207 var8 = 0; /* is null */
208 } else {
209 var8 = 1; /* arg is null and recv is not */
210 }
211 if (var8){
212 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
213 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
214 cltype10 = type_parser_nodes__AExpr.color;
215 idtype11 = type_parser_nodes__AExpr.id;
216 if(cltype10 >= var_new_child->type->table_size) {
217 var9 = 0;
218 } else {
219 var9 = var_new_child->type->type_table[cltype10] == idtype11;
220 }
221 if (!var9) {
222 fprintf(stderr, "Runtime error: %s", "Assert failed");
223 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5137);
224 exit(1);
225 }
226 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_expr].val = var_new_child; /* _n_expr on <self:AIfexprExpr> */
227 } else {
228 fprintf(stderr, "Runtime error: %s", "Aborted");
229 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5140);
230 exit(1);
231 }
232 goto RET_LABEL;
233 } else {
234 }
235 var12 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwthen].val; /* _n_kwthen on <self:AIfexprExpr> */
236 if (var12 == NULL) {
237 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwthen");
238 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5144);
239 exit(1);
240 }
241 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:TKwthen>*/;
242 if (var13){
243 var14 = NULL;
244 if (var_new_child == NULL) {
245 var15 = 0; /* is null */
246 } else {
247 var15 = 1; /* arg is null and recv is not */
248 }
249 if (var15){
250 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
251 /* <var_new_child:nullable ANode(ANode)> isa TKwthen */
252 cltype17 = type_parser_nodes__TKwthen.color;
253 idtype18 = type_parser_nodes__TKwthen.id;
254 if(cltype17 >= var_new_child->type->table_size) {
255 var16 = 0;
256 } else {
257 var16 = var_new_child->type->type_table[cltype17] == idtype18;
258 }
259 if (!var16) {
260 fprintf(stderr, "Runtime error: %s", "Assert failed");
261 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5147);
262 exit(1);
263 }
264 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwthen].val = var_new_child; /* _n_kwthen on <self:AIfexprExpr> */
265 } else {
266 fprintf(stderr, "Runtime error: %s", "Aborted");
267 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5150);
268 exit(1);
269 }
270 goto RET_LABEL;
271 } else {
272 }
273 var19 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_then].val; /* _n_then on <self:AIfexprExpr> */
274 if (var19 == NULL) {
275 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_then");
276 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5154);
277 exit(1);
278 }
279 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:AExpr>*/;
280 if (var20){
281 var21 = NULL;
282 if (var_new_child == NULL) {
283 var22 = 0; /* is null */
284 } else {
285 var22 = 1; /* arg is null and recv is not */
286 }
287 if (var22){
288 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
289 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
290 cltype24 = type_parser_nodes__AExpr.color;
291 idtype25 = type_parser_nodes__AExpr.id;
292 if(cltype24 >= var_new_child->type->table_size) {
293 var23 = 0;
294 } else {
295 var23 = var_new_child->type->type_table[cltype24] == idtype25;
296 }
297 if (!var23) {
298 fprintf(stderr, "Runtime error: %s", "Assert failed");
299 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5157);
300 exit(1);
301 }
302 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_then].val = var_new_child; /* _n_then on <self:AIfexprExpr> */
303 } else {
304 fprintf(stderr, "Runtime error: %s", "Aborted");
305 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5160);
306 exit(1);
307 }
308 goto RET_LABEL;
309 } else {
310 }
311 var26 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwelse].val; /* _n_kwelse on <self:AIfexprExpr> */
312 if (var26 == NULL) {
313 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwelse");
314 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5164);
315 exit(1);
316 }
317 var27 = ((short int (*)(val*, val*))(var26->class->vft[COLOR_kernel__Object___61d_61d]))(var26, var_old_child) /* == on <var26:TKwelse>*/;
318 if (var27){
319 var28 = NULL;
320 if (var_new_child == NULL) {
321 var29 = 0; /* is null */
322 } else {
323 var29 = 1; /* arg is null and recv is not */
324 }
325 if (var29){
326 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
327 /* <var_new_child:nullable ANode(ANode)> isa TKwelse */
328 cltype31 = type_parser_nodes__TKwelse.color;
329 idtype32 = type_parser_nodes__TKwelse.id;
330 if(cltype31 >= var_new_child->type->table_size) {
331 var30 = 0;
332 } else {
333 var30 = var_new_child->type->type_table[cltype31] == idtype32;
334 }
335 if (!var30) {
336 fprintf(stderr, "Runtime error: %s", "Assert failed");
337 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5167);
338 exit(1);
339 }
340 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwelse].val = var_new_child; /* _n_kwelse on <self:AIfexprExpr> */
341 } else {
342 fprintf(stderr, "Runtime error: %s", "Aborted");
343 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5170);
344 exit(1);
345 }
346 goto RET_LABEL;
347 } else {
348 }
349 var33 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_else].val; /* _n_else on <self:AIfexprExpr> */
350 if (var33 == NULL) {
351 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_else");
352 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5174);
353 exit(1);
354 }
355 var34 = ((short int (*)(val*, val*))(var33->class->vft[COLOR_kernel__Object___61d_61d]))(var33, var_old_child) /* == on <var33:AExpr>*/;
356 if (var34){
357 var35 = NULL;
358 if (var_new_child == NULL) {
359 var36 = 0; /* is null */
360 } else {
361 var36 = 1; /* arg is null and recv is not */
362 }
363 if (var36){
364 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
365 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
366 cltype38 = type_parser_nodes__AExpr.color;
367 idtype39 = type_parser_nodes__AExpr.id;
368 if(cltype38 >= var_new_child->type->table_size) {
369 var37 = 0;
370 } else {
371 var37 = var_new_child->type->type_table[cltype38] == idtype39;
372 }
373 if (!var37) {
374 fprintf(stderr, "Runtime error: %s", "Assert failed");
375 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5177);
376 exit(1);
377 }
378 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_else].val = var_new_child; /* _n_else on <self:AIfexprExpr> */
379 } else {
380 fprintf(stderr, "Runtime error: %s", "Aborted");
381 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5180);
382 exit(1);
383 }
384 goto RET_LABEL;
385 } else {
386 }
387 RET_LABEL:;
388 }
389 /* method parser_prod#AIfexprExpr#replace_child for (self: Object, ANode, nullable ANode) */
390 void VIRTUAL_parser_prod__AIfexprExpr__replace_child(val* self, val* p0, val* p1) {
391 parser_prod__AIfexprExpr__replace_child(self, p0, p1);
392 RET_LABEL:;
393 }
394 /* method parser_prod#AIfexprExpr#n_kwif= for (self: AIfexprExpr, TKwif) */
395 void parser_prod__AIfexprExpr__n_kwif_61d(val* self, val* p0) {
396 val* var_node /* var node: TKwif */;
397 var_node = p0;
398 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwif].val = var_node; /* _n_kwif on <self:AIfexprExpr> */
399 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwif>*/;
400 RET_LABEL:;
401 }
402 /* method parser_prod#AIfexprExpr#n_kwif= for (self: Object, TKwif) */
403 void VIRTUAL_parser_prod__AIfexprExpr__n_kwif_61d(val* self, val* p0) {
404 parser_prod__AIfexprExpr__n_kwif_61d(self, p0);
405 RET_LABEL:;
406 }
407 /* method parser_prod#AIfexprExpr#n_expr= for (self: AIfexprExpr, AExpr) */
408 void parser_prod__AIfexprExpr__n_expr_61d(val* self, val* p0) {
409 val* var_node /* var node: AExpr */;
410 var_node = p0;
411 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_expr].val = var_node; /* _n_expr on <self:AIfexprExpr> */
412 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
413 RET_LABEL:;
414 }
415 /* method parser_prod#AIfexprExpr#n_expr= for (self: Object, AExpr) */
416 void VIRTUAL_parser_prod__AIfexprExpr__n_expr_61d(val* self, val* p0) {
417 parser_prod__AIfexprExpr__n_expr_61d(self, p0);
418 RET_LABEL:;
419 }
420 /* method parser_prod#AIfexprExpr#n_kwthen= for (self: AIfexprExpr, TKwthen) */
421 void parser_prod__AIfexprExpr__n_kwthen_61d(val* self, val* p0) {
422 val* var_node /* var node: TKwthen */;
423 var_node = p0;
424 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwthen].val = var_node; /* _n_kwthen on <self:AIfexprExpr> */
425 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwthen>*/;
426 RET_LABEL:;
427 }
428 /* method parser_prod#AIfexprExpr#n_kwthen= for (self: Object, TKwthen) */
429 void VIRTUAL_parser_prod__AIfexprExpr__n_kwthen_61d(val* self, val* p0) {
430 parser_prod__AIfexprExpr__n_kwthen_61d(self, p0);
431 RET_LABEL:;
432 }
433 /* method parser_prod#AIfexprExpr#n_then= for (self: AIfexprExpr, AExpr) */
434 void parser_prod__AIfexprExpr__n_then_61d(val* self, val* p0) {
435 val* var_node /* var node: AExpr */;
436 var_node = p0;
437 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_then].val = var_node; /* _n_then on <self:AIfexprExpr> */
438 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
439 RET_LABEL:;
440 }
441 /* method parser_prod#AIfexprExpr#n_then= for (self: Object, AExpr) */
442 void VIRTUAL_parser_prod__AIfexprExpr__n_then_61d(val* self, val* p0) {
443 parser_prod__AIfexprExpr__n_then_61d(self, p0);
444 RET_LABEL:;
445 }
446 /* method parser_prod#AIfexprExpr#n_kwelse= for (self: AIfexprExpr, TKwelse) */
447 void parser_prod__AIfexprExpr__n_kwelse_61d(val* self, val* p0) {
448 val* var_node /* var node: TKwelse */;
449 var_node = p0;
450 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwelse].val = var_node; /* _n_kwelse on <self:AIfexprExpr> */
451 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwelse>*/;
452 RET_LABEL:;
453 }
454 /* method parser_prod#AIfexprExpr#n_kwelse= for (self: Object, TKwelse) */
455 void VIRTUAL_parser_prod__AIfexprExpr__n_kwelse_61d(val* self, val* p0) {
456 parser_prod__AIfexprExpr__n_kwelse_61d(self, p0);
457 RET_LABEL:;
458 }
459 /* method parser_prod#AIfexprExpr#n_else= for (self: AIfexprExpr, AExpr) */
460 void parser_prod__AIfexprExpr__n_else_61d(val* self, val* p0) {
461 val* var_node /* var node: AExpr */;
462 var_node = p0;
463 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_else].val = var_node; /* _n_else on <self:AIfexprExpr> */
464 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
465 RET_LABEL:;
466 }
467 /* method parser_prod#AIfexprExpr#n_else= for (self: Object, AExpr) */
468 void VIRTUAL_parser_prod__AIfexprExpr__n_else_61d(val* self, val* p0) {
469 parser_prod__AIfexprExpr__n_else_61d(self, p0);
470 RET_LABEL:;
471 }
472 /* method parser_prod#AIfexprExpr#visit_all for (self: AIfexprExpr, Visitor) */
473 void parser_prod__AIfexprExpr__visit_all(val* self, val* p0) {
474 val* var_v /* var v: Visitor */;
475 val* var /* : TKwif */;
476 val* var1 /* : AExpr */;
477 val* var2 /* : TKwthen */;
478 val* var3 /* : AExpr */;
479 val* var4 /* : TKwelse */;
480 val* var5 /* : AExpr */;
481 var_v = p0;
482 var = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwif].val; /* _n_kwif on <self:AIfexprExpr> */
483 if (var == NULL) {
484 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwif");
485 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5220);
486 exit(1);
487 }
488 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
489 var1 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_expr].val; /* _n_expr on <self:AIfexprExpr> */
490 if (var1 == NULL) {
491 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
492 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5221);
493 exit(1);
494 }
495 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
496 var2 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwthen].val; /* _n_kwthen on <self:AIfexprExpr> */
497 if (var2 == NULL) {
498 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwthen");
499 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5222);
500 exit(1);
501 }
502 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
503 var3 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_then].val; /* _n_then on <self:AIfexprExpr> */
504 if (var3 == NULL) {
505 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_then");
506 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5223);
507 exit(1);
508 }
509 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
510 var4 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwelse].val; /* _n_kwelse on <self:AIfexprExpr> */
511 if (var4 == NULL) {
512 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwelse");
513 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5224);
514 exit(1);
515 }
516 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
517 var5 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_else].val; /* _n_else on <self:AIfexprExpr> */
518 if (var5 == NULL) {
519 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_else");
520 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5225);
521 exit(1);
522 }
523 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
524 RET_LABEL:;
525 }
526 /* method parser_prod#AIfexprExpr#visit_all for (self: Object, Visitor) */
527 void VIRTUAL_parser_prod__AIfexprExpr__visit_all(val* self, val* p0) {
528 parser_prod__AIfexprExpr__visit_all(self, p0);
529 RET_LABEL:;
530 }
531 /* method parser_prod#AWhileExpr#empty_init for (self: AWhileExpr) */
532 void parser_prod__AWhileExpr__empty_init(val* self) {
533 RET_LABEL:;
534 }
535 /* method parser_prod#AWhileExpr#empty_init for (self: Object) */
536 void VIRTUAL_parser_prod__AWhileExpr__empty_init(val* self) {
537 parser_prod__AWhileExpr__empty_init(self);
538 RET_LABEL:;
539 }
540 /* method parser_prod#AWhileExpr#init_awhileexpr for (self: AWhileExpr, nullable TKwwhile, nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */
541 void parser_prod__AWhileExpr__init_awhileexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
542 val* var_n_kwwhile /* var n_kwwhile: nullable TKwwhile */;
543 val* var_n_expr /* var n_expr: nullable AExpr */;
544 val* var_n_kwdo /* var n_kwdo: nullable TKwdo */;
545 val* var_n_block /* var n_block: nullable AExpr */;
546 val* var_n_label /* var n_label: nullable ALabel */;
547 val* var /* : null */;
548 short int var1 /* : Bool */;
549 val* var2 /* : null */;
550 short int var3 /* : Bool */;
551 var_n_kwwhile = p0;
552 var_n_expr = p1;
553 var_n_kwdo = p2;
554 var_n_block = p3;
555 var_n_label = p4;
556 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AWhileExpr__empty_init]))(self) /* empty_init on <self:AWhileExpr>*/;
557 if (var_n_kwwhile == NULL) {
558 fprintf(stderr, "Runtime error: %s", "Cast failed");
559 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5240);
560 exit(1);
561 }
562 self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwwhile].val = var_n_kwwhile; /* _n_kwwhile on <self:AWhileExpr> */
563 if (var_n_kwwhile == NULL) {
564 fprintf(stderr, "Runtime error: %s", "Reciever is null");
565 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5241);
566 exit(1);
567 } else {
568 ((void (*)(val*, val*))(var_n_kwwhile->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwwhile, self) /* parent= on <var_n_kwwhile:nullable TKwwhile>*/;
569 }
570 if (var_n_expr == NULL) {
571 fprintf(stderr, "Runtime error: %s", "Cast failed");
572 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5242);
573 exit(1);
574 }
575 self->attrs[COLOR_parser_nodes__AWhileExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AWhileExpr> */
576 if (var_n_expr == NULL) {
577 fprintf(stderr, "Runtime error: %s", "Reciever is null");
578 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5243);
579 exit(1);
580 } else {
581 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
582 }
583 if (var_n_kwdo == NULL) {
584 fprintf(stderr, "Runtime error: %s", "Cast failed");
585 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5244);
586 exit(1);
587 }
588 self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwdo].val = var_n_kwdo; /* _n_kwdo on <self:AWhileExpr> */
589 if (var_n_kwdo == NULL) {
590 fprintf(stderr, "Runtime error: %s", "Reciever is null");
591 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5245);
592 exit(1);
593 } else {
594 ((void (*)(val*, val*))(var_n_kwdo->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwdo, self) /* parent= on <var_n_kwdo:nullable TKwdo>*/;
595 }
596 self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val = var_n_block; /* _n_block on <self:AWhileExpr> */
597 var = NULL;
598 if (var_n_block == NULL) {
599 var1 = 0; /* is null */
600 } else {
601 var1 = 1; /* arg is null and recv is not */
602 }
603 if (var1){
604 ((void (*)(val*, val*))(var_n_block->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_block, self) /* parent= on <var_n_block:nullable AExpr(AExpr)>*/;
605 } else {
606 }
607 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on <self:AWhileExpr> */
608 var2 = NULL;
609 if (var_n_label == NULL) {
610 var3 = 0; /* is null */
611 } else {
612 var3 = 1; /* arg is null and recv is not */
613 }
614 if (var3){
615 ((void (*)(val*, val*))(var_n_label->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_label, self) /* parent= on <var_n_label:nullable ALabel(ALabel)>*/;
616 } else {
617 }
618 RET_LABEL:;
619 }
620 /* method parser_prod#AWhileExpr#init_awhileexpr for (self: Object, nullable TKwwhile, nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */
621 void VIRTUAL_parser_prod__AWhileExpr__init_awhileexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
622 parser_prod__AWhileExpr__init_awhileexpr(self, p0, p1, p2, p3, p4);
623 RET_LABEL:;
624 }
625 /* method parser_prod#AWhileExpr#replace_child for (self: AWhileExpr, ANode, nullable ANode) */
626 void parser_prod__AWhileExpr__replace_child(val* self, val* p0, val* p1) {
627 val* var_old_child /* var old_child: ANode */;
628 val* var_new_child /* var new_child: nullable ANode */;
629 val* var /* : TKwwhile */;
630 short int var1 /* : Bool */;
631 val* var2 /* : null */;
632 short int var3 /* : Bool */;
633 short int var4 /* : Bool */;
634 int cltype;
635 int idtype;
636 val* var5 /* : AExpr */;
637 short int var6 /* : Bool */;
638 val* var7 /* : null */;
639 short int var8 /* : Bool */;
640 short int var9 /* : Bool */;
641 int cltype10;
642 int idtype11;
643 val* var12 /* : TKwdo */;
644 short int var13 /* : Bool */;
645 val* var14 /* : null */;
646 short int var15 /* : Bool */;
647 short int var16 /* : Bool */;
648 int cltype17;
649 int idtype18;
650 val* var19 /* : nullable AExpr */;
651 short int var20 /* : Bool */;
652 val* var21 /* : null */;
653 short int var22 /* : Bool */;
654 short int var23 /* : Bool */;
655 int cltype24;
656 int idtype25;
657 val* var26 /* : null */;
658 val* var27 /* : nullable ALabel */;
659 short int var28 /* : Bool */;
660 val* var29 /* : null */;
661 short int var30 /* : Bool */;
662 short int var31 /* : Bool */;
663 int cltype32;
664 int idtype33;
665 val* var34 /* : null */;
666 var_old_child = p0;
667 var_new_child = p1;
668 var = self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwwhile].val; /* _n_kwwhile on <self:AWhileExpr> */
669 if (var == NULL) {
670 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwwhile");
671 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5258);
672 exit(1);
673 }
674 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwwhile>*/;
675 if (var1){
676 var2 = NULL;
677 if (var_new_child == NULL) {
678 var3 = 0; /* is null */
679 } else {
680 var3 = 1; /* arg is null and recv is not */
681 }
682 if (var3){
683 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
684 /* <var_new_child:nullable ANode(ANode)> isa TKwwhile */
685 cltype = type_parser_nodes__TKwwhile.color;
686 idtype = type_parser_nodes__TKwwhile.id;
687 if(cltype >= var_new_child->type->table_size) {
688 var4 = 0;
689 } else {
690 var4 = var_new_child->type->type_table[cltype] == idtype;
691 }
692 if (!var4) {
693 fprintf(stderr, "Runtime error: %s", "Assert failed");
694 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5261);
695 exit(1);
696 }
697 self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwwhile].val = var_new_child; /* _n_kwwhile on <self:AWhileExpr> */
698 } else {
699 fprintf(stderr, "Runtime error: %s", "Aborted");
700 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5264);
701 exit(1);
702 }
703 goto RET_LABEL;
704 } else {
705 }
706 var5 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_expr].val; /* _n_expr on <self:AWhileExpr> */
707 if (var5 == NULL) {
708 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
709 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5268);
710 exit(1);
711 }
712 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
713 if (var6){
714 var7 = NULL;
715 if (var_new_child == NULL) {
716 var8 = 0; /* is null */
717 } else {
718 var8 = 1; /* arg is null and recv is not */
719 }
720 if (var8){
721 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
722 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
723 cltype10 = type_parser_nodes__AExpr.color;
724 idtype11 = type_parser_nodes__AExpr.id;
725 if(cltype10 >= var_new_child->type->table_size) {
726 var9 = 0;
727 } else {
728 var9 = var_new_child->type->type_table[cltype10] == idtype11;
729 }
730 if (!var9) {
731 fprintf(stderr, "Runtime error: %s", "Assert failed");
732 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5271);
733 exit(1);
734 }
735 self->attrs[COLOR_parser_nodes__AWhileExpr___n_expr].val = var_new_child; /* _n_expr on <self:AWhileExpr> */
736 } else {
737 fprintf(stderr, "Runtime error: %s", "Aborted");
738 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5274);
739 exit(1);
740 }
741 goto RET_LABEL;
742 } else {
743 }
744 var12 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwdo].val; /* _n_kwdo on <self:AWhileExpr> */
745 if (var12 == NULL) {
746 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwdo");
747 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5278);
748 exit(1);
749 }
750 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:TKwdo>*/;
751 if (var13){
752 var14 = NULL;
753 if (var_new_child == NULL) {
754 var15 = 0; /* is null */
755 } else {
756 var15 = 1; /* arg is null and recv is not */
757 }
758 if (var15){
759 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
760 /* <var_new_child:nullable ANode(ANode)> isa TKwdo */
761 cltype17 = type_parser_nodes__TKwdo.color;
762 idtype18 = type_parser_nodes__TKwdo.id;
763 if(cltype17 >= var_new_child->type->table_size) {
764 var16 = 0;
765 } else {
766 var16 = var_new_child->type->type_table[cltype17] == idtype18;
767 }
768 if (!var16) {
769 fprintf(stderr, "Runtime error: %s", "Assert failed");
770 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5281);
771 exit(1);
772 }
773 self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwdo].val = var_new_child; /* _n_kwdo on <self:AWhileExpr> */
774 } else {
775 fprintf(stderr, "Runtime error: %s", "Aborted");
776 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5284);
777 exit(1);
778 }
779 goto RET_LABEL;
780 } else {
781 }
782 var19 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val; /* _n_block on <self:AWhileExpr> */
783 if (var19 == NULL) {
784 var20 = 0; /* <var_old_child:ANode> cannot be null */
785 } else {
786 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:nullable AExpr>*/;
787 }
788 if (var20){
789 var21 = NULL;
790 if (var_new_child == NULL) {
791 var22 = 0; /* is null */
792 } else {
793 var22 = 1; /* arg is null and recv is not */
794 }
795 if (var22){
796 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
797 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
798 cltype24 = type_parser_nodes__AExpr.color;
799 idtype25 = type_parser_nodes__AExpr.id;
800 if(cltype24 >= var_new_child->type->table_size) {
801 var23 = 0;
802 } else {
803 var23 = var_new_child->type->type_table[cltype24] == idtype25;
804 }
805 if (!var23) {
806 fprintf(stderr, "Runtime error: %s", "Assert failed");
807 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5291);
808 exit(1);
809 }
810 self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val = var_new_child; /* _n_block on <self:AWhileExpr> */
811 } else {
812 var26 = NULL;
813 self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val = var26; /* _n_block on <self:AWhileExpr> */
814 }
815 goto RET_LABEL;
816 } else {
817 }
818 var27 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AWhileExpr> */
819 if (var27 == NULL) {
820 var28 = 0; /* <var_old_child:ANode> cannot be null */
821 } else {
822 var28 = ((short int (*)(val*, val*))(var27->class->vft[COLOR_kernel__Object___61d_61d]))(var27, var_old_child) /* == on <var27:nullable ALabel>*/;
823 }
824 if (var28){
825 var29 = NULL;
826 if (var_new_child == NULL) {
827 var30 = 0; /* is null */
828 } else {
829 var30 = 1; /* arg is null and recv is not */
830 }
831 if (var30){
832 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
833 /* <var_new_child:nullable ANode(ANode)> isa ALabel */
834 cltype32 = type_parser_nodes__ALabel.color;
835 idtype33 = type_parser_nodes__ALabel.id;
836 if(cltype32 >= var_new_child->type->table_size) {
837 var31 = 0;
838 } else {
839 var31 = var_new_child->type->type_table[cltype32] == idtype33;
840 }
841 if (!var31) {
842 fprintf(stderr, "Runtime error: %s", "Assert failed");
843 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5301);
844 exit(1);
845 }
846 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_new_child; /* _n_label on <self:AWhileExpr> */
847 } else {
848 var34 = NULL;
849 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var34; /* _n_label on <self:AWhileExpr> */
850 }
851 goto RET_LABEL;
852 } else {
853 }
854 RET_LABEL:;
855 }
856 /* method parser_prod#AWhileExpr#replace_child for (self: Object, ANode, nullable ANode) */
857 void VIRTUAL_parser_prod__AWhileExpr__replace_child(val* self, val* p0, val* p1) {
858 parser_prod__AWhileExpr__replace_child(self, p0, p1);
859 RET_LABEL:;
860 }
861 /* method parser_prod#AWhileExpr#n_kwwhile= for (self: AWhileExpr, TKwwhile) */
862 void parser_prod__AWhileExpr__n_kwwhile_61d(val* self, val* p0) {
863 val* var_node /* var node: TKwwhile */;
864 var_node = p0;
865 self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwwhile].val = var_node; /* _n_kwwhile on <self:AWhileExpr> */
866 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwwhile>*/;
867 RET_LABEL:;
868 }
869 /* method parser_prod#AWhileExpr#n_kwwhile= for (self: Object, TKwwhile) */
870 void VIRTUAL_parser_prod__AWhileExpr__n_kwwhile_61d(val* self, val* p0) {
871 parser_prod__AWhileExpr__n_kwwhile_61d(self, p0);
872 RET_LABEL:;
873 }
874 /* method parser_prod#AWhileExpr#n_expr= for (self: AWhileExpr, AExpr) */
875 void parser_prod__AWhileExpr__n_expr_61d(val* self, val* p0) {
876 val* var_node /* var node: AExpr */;
877 var_node = p0;
878 self->attrs[COLOR_parser_nodes__AWhileExpr___n_expr].val = var_node; /* _n_expr on <self:AWhileExpr> */
879 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
880 RET_LABEL:;
881 }
882 /* method parser_prod#AWhileExpr#n_expr= for (self: Object, AExpr) */
883 void VIRTUAL_parser_prod__AWhileExpr__n_expr_61d(val* self, val* p0) {
884 parser_prod__AWhileExpr__n_expr_61d(self, p0);
885 RET_LABEL:;
886 }
887 /* method parser_prod#AWhileExpr#n_kwdo= for (self: AWhileExpr, TKwdo) */
888 void parser_prod__AWhileExpr__n_kwdo_61d(val* self, val* p0) {
889 val* var_node /* var node: TKwdo */;
890 var_node = p0;
891 self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwdo].val = var_node; /* _n_kwdo on <self:AWhileExpr> */
892 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwdo>*/;
893 RET_LABEL:;
894 }
895 /* method parser_prod#AWhileExpr#n_kwdo= for (self: Object, TKwdo) */
896 void VIRTUAL_parser_prod__AWhileExpr__n_kwdo_61d(val* self, val* p0) {
897 parser_prod__AWhileExpr__n_kwdo_61d(self, p0);
898 RET_LABEL:;
899 }
900 /* method parser_prod#AWhileExpr#n_block= for (self: AWhileExpr, nullable AExpr) */
901 void parser_prod__AWhileExpr__n_block_61d(val* self, val* p0) {
902 val* var_node /* var node: nullable AExpr */;
903 val* var /* : null */;
904 short int var1 /* : Bool */;
905 var_node = p0;
906 self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val = var_node; /* _n_block on <self:AWhileExpr> */
907 var = NULL;
908 if (var_node == NULL) {
909 var1 = 0; /* is null */
910 } else {
911 var1 = 1; /* arg is null and recv is not */
912 }
913 if (var1){
914 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExpr(AExpr)>*/;
915 } else {
916 }
917 RET_LABEL:;
918 }
919 /* method parser_prod#AWhileExpr#n_block= for (self: Object, nullable AExpr) */
920 void VIRTUAL_parser_prod__AWhileExpr__n_block_61d(val* self, val* p0) {
921 parser_prod__AWhileExpr__n_block_61d(self, p0);
922 RET_LABEL:;
923 }
924 /* method parser_prod#AWhileExpr#n_label= for (self: AWhileExpr, nullable ALabel) */
925 void parser_prod__AWhileExpr__n_label_61d(val* self, val* p0) {
926 val* var_node /* var node: nullable ALabel */;
927 val* var /* : null */;
928 short int var1 /* : Bool */;
929 var_node = p0;
930 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on <self:AWhileExpr> */
931 var = NULL;
932 if (var_node == NULL) {
933 var1 = 0; /* is null */
934 } else {
935 var1 = 1; /* arg is null and recv is not */
936 }
937 if (var1){
938 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ALabel(ALabel)>*/;
939 } else {
940 }
941 RET_LABEL:;
942 }
943 /* method parser_prod#AWhileExpr#n_label= for (self: Object, nullable ALabel) */
944 void VIRTUAL_parser_prod__AWhileExpr__n_label_61d(val* self, val* p0) {
945 parser_prod__AWhileExpr__n_label_61d(self, p0);
946 RET_LABEL:;
947 }
948 /* method parser_prod#AWhileExpr#visit_all for (self: AWhileExpr, Visitor) */
949 void parser_prod__AWhileExpr__visit_all(val* self, val* p0) {
950 val* var_v /* var v: Visitor */;
951 val* var /* : TKwwhile */;
952 val* var1 /* : AExpr */;
953 val* var2 /* : TKwdo */;
954 val* var3 /* : nullable AExpr */;
955 val* var4 /* : null */;
956 short int var5 /* : Bool */;
957 val* var6 /* : nullable AExpr */;
958 val* var7 /* : nullable ALabel */;
959 val* var8 /* : null */;
960 short int var9 /* : Bool */;
961 val* var10 /* : nullable ALabel */;
962 var_v = p0;
963 var = self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwwhile].val; /* _n_kwwhile on <self:AWhileExpr> */
964 if (var == NULL) {
965 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwwhile");
966 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5343);
967 exit(1);
968 }
969 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
970 var1 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_expr].val; /* _n_expr on <self:AWhileExpr> */
971 if (var1 == NULL) {
972 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
973 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5344);
974 exit(1);
975 }
976 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
977 var2 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwdo].val; /* _n_kwdo on <self:AWhileExpr> */
978 if (var2 == NULL) {
979 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwdo");
980 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5345);
981 exit(1);
982 }
983 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
984 var3 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val; /* _n_block on <self:AWhileExpr> */
985 var4 = NULL;
986 if (var3 == NULL) {
987 var5 = 0; /* is null */
988 } else {
989 var5 = 1; /* arg is null and recv is not */
990 }
991 if (var5){
992 var6 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val; /* _n_block on <self:AWhileExpr> */
993 if (var6 == NULL) {
994 fprintf(stderr, "Runtime error: %s", "Cast failed");
995 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5347);
996 exit(1);
997 }
998 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var6) /* enter_visit on <var_v:Visitor>*/;
999 } else {
1000 }
1001 var7 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AWhileExpr> */
1002 var8 = NULL;
1003 if (var7 == NULL) {
1004 var9 = 0; /* is null */
1005 } else {
1006 var9 = 1; /* arg is null and recv is not */
1007 }
1008 if (var9){
1009 var10 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AWhileExpr> */
1010 if (var10 == NULL) {
1011 fprintf(stderr, "Runtime error: %s", "Cast failed");
1012 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5350);
1013 exit(1);
1014 }
1015 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var10) /* enter_visit on <var_v:Visitor>*/;
1016 } else {
1017 }
1018 RET_LABEL:;
1019 }
1020 /* method parser_prod#AWhileExpr#visit_all for (self: Object, Visitor) */
1021 void VIRTUAL_parser_prod__AWhileExpr__visit_all(val* self, val* p0) {
1022 parser_prod__AWhileExpr__visit_all(self, p0);
1023 RET_LABEL:;
1024 }
1025 /* method parser_prod#ALoopExpr#empty_init for (self: ALoopExpr) */
1026 void parser_prod__ALoopExpr__empty_init(val* self) {
1027 RET_LABEL:;
1028 }
1029 /* method parser_prod#ALoopExpr#empty_init for (self: Object) */
1030 void VIRTUAL_parser_prod__ALoopExpr__empty_init(val* self) {
1031 parser_prod__ALoopExpr__empty_init(self);
1032 RET_LABEL:;
1033 }
1034 /* method parser_prod#ALoopExpr#init_aloopexpr for (self: ALoopExpr, nullable TKwloop, nullable AExpr, nullable ALabel) */
1035 void parser_prod__ALoopExpr__init_aloopexpr(val* self, val* p0, val* p1, val* p2) {
1036 val* var_n_kwloop /* var n_kwloop: nullable TKwloop */;
1037 val* var_n_block /* var n_block: nullable AExpr */;
1038 val* var_n_label /* var n_label: nullable ALabel */;
1039 val* var /* : null */;
1040 short int var1 /* : Bool */;
1041 val* var2 /* : null */;
1042 short int var3 /* : Bool */;
1043 var_n_kwloop = p0;
1044 var_n_block = p1;
1045 var_n_label = p2;
1046 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ALoopExpr__empty_init]))(self) /* empty_init on <self:ALoopExpr>*/;
1047 if (var_n_kwloop == NULL) {
1048 fprintf(stderr, "Runtime error: %s", "Cast failed");
1049 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5364);
1050 exit(1);
1051 }
1052 self->attrs[COLOR_parser_nodes__ALoopExpr___n_kwloop].val = var_n_kwloop; /* _n_kwloop on <self:ALoopExpr> */
1053 if (var_n_kwloop == NULL) {
1054 fprintf(stderr, "Runtime error: %s", "Reciever is null");
1055 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5365);
1056 exit(1);
1057 } else {
1058 ((void (*)(val*, val*))(var_n_kwloop->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwloop, self) /* parent= on <var_n_kwloop:nullable TKwloop>*/;
1059 }
1060 self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val = var_n_block; /* _n_block on <self:ALoopExpr> */
1061 var = NULL;
1062 if (var_n_block == NULL) {
1063 var1 = 0; /* is null */
1064 } else {
1065 var1 = 1; /* arg is null and recv is not */
1066 }
1067 if (var1){
1068 ((void (*)(val*, val*))(var_n_block->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_block, self) /* parent= on <var_n_block:nullable AExpr(AExpr)>*/;
1069 } else {
1070 }
1071 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on <self:ALoopExpr> */
1072 var2 = NULL;
1073 if (var_n_label == NULL) {
1074 var3 = 0; /* is null */
1075 } else {
1076 var3 = 1; /* arg is null and recv is not */
1077 }
1078 if (var3){
1079 ((void (*)(val*, val*))(var_n_label->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_label, self) /* parent= on <var_n_label:nullable ALabel(ALabel)>*/;
1080 } else {
1081 }
1082 RET_LABEL:;
1083 }
1084 /* method parser_prod#ALoopExpr#init_aloopexpr for (self: Object, nullable TKwloop, nullable AExpr, nullable ALabel) */
1085 void VIRTUAL_parser_prod__ALoopExpr__init_aloopexpr(val* self, val* p0, val* p1, val* p2) {
1086 parser_prod__ALoopExpr__init_aloopexpr(self, p0, p1, p2);
1087 RET_LABEL:;
1088 }
1089 /* method parser_prod#ALoopExpr#replace_child for (self: ALoopExpr, ANode, nullable ANode) */
1090 void parser_prod__ALoopExpr__replace_child(val* self, val* p0, val* p1) {
1091 val* var_old_child /* var old_child: ANode */;
1092 val* var_new_child /* var new_child: nullable ANode */;
1093 val* var /* : TKwloop */;
1094 short int var1 /* : Bool */;
1095 val* var2 /* : null */;
1096 short int var3 /* : Bool */;
1097 short int var4 /* : Bool */;
1098 int cltype;
1099 int idtype;
1100 val* var5 /* : nullable AExpr */;
1101 short int var6 /* : Bool */;
1102 val* var7 /* : null */;
1103 short int var8 /* : Bool */;
1104 short int var9 /* : Bool */;
1105 int cltype10;
1106 int idtype11;
1107 val* var12 /* : null */;
1108 val* var13 /* : nullable ALabel */;
1109 short int var14 /* : Bool */;
1110 val* var15 /* : null */;
1111 short int var16 /* : Bool */;
1112 short int var17 /* : Bool */;
1113 int cltype18;
1114 int idtype19;
1115 val* var20 /* : null */;
1116 var_old_child = p0;
1117 var_new_child = p1;
1118 var = self->attrs[COLOR_parser_nodes__ALoopExpr___n_kwloop].val; /* _n_kwloop on <self:ALoopExpr> */
1119 if (var == NULL) {
1120 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwloop");
1121 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5378);
1122 exit(1);
1123 }
1124 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwloop>*/;
1125 if (var1){
1126 var2 = NULL;
1127 if (var_new_child == NULL) {
1128 var3 = 0; /* is null */
1129 } else {
1130 var3 = 1; /* arg is null and recv is not */
1131 }
1132 if (var3){
1133 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1134 /* <var_new_child:nullable ANode(ANode)> isa TKwloop */
1135 cltype = type_parser_nodes__TKwloop.color;
1136 idtype = type_parser_nodes__TKwloop.id;
1137 if(cltype >= var_new_child->type->table_size) {
1138 var4 = 0;
1139 } else {
1140 var4 = var_new_child->type->type_table[cltype] == idtype;
1141 }
1142 if (!var4) {
1143 fprintf(stderr, "Runtime error: %s", "Assert failed");
1144 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5381);
1145 exit(1);
1146 }
1147 self->attrs[COLOR_parser_nodes__ALoopExpr___n_kwloop].val = var_new_child; /* _n_kwloop on <self:ALoopExpr> */
1148 } else {
1149 fprintf(stderr, "Runtime error: %s", "Aborted");
1150 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5384);
1151 exit(1);
1152 }
1153 goto RET_LABEL;
1154 } else {
1155 }
1156 var5 = self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val; /* _n_block on <self:ALoopExpr> */
1157 if (var5 == NULL) {
1158 var6 = 0; /* <var_old_child:ANode> cannot be null */
1159 } else {
1160 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AExpr>*/;
1161 }
1162 if (var6){
1163 var7 = NULL;
1164 if (var_new_child == NULL) {
1165 var8 = 0; /* is null */
1166 } else {
1167 var8 = 1; /* arg is null and recv is not */
1168 }
1169 if (var8){
1170 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1171 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
1172 cltype10 = type_parser_nodes__AExpr.color;
1173 idtype11 = type_parser_nodes__AExpr.id;
1174 if(cltype10 >= var_new_child->type->table_size) {
1175 var9 = 0;
1176 } else {
1177 var9 = var_new_child->type->type_table[cltype10] == idtype11;
1178 }
1179 if (!var9) {
1180 fprintf(stderr, "Runtime error: %s", "Assert failed");
1181 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5391);
1182 exit(1);
1183 }
1184 self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val = var_new_child; /* _n_block on <self:ALoopExpr> */
1185 } else {
1186 var12 = NULL;
1187 self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val = var12; /* _n_block on <self:ALoopExpr> */
1188 }
1189 goto RET_LABEL;
1190 } else {
1191 }
1192 var13 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:ALoopExpr> */
1193 if (var13 == NULL) {
1194 var14 = 0; /* <var_old_child:ANode> cannot be null */
1195 } else {
1196 var14 = ((short int (*)(val*, val*))(var13->class->vft[COLOR_kernel__Object___61d_61d]))(var13, var_old_child) /* == on <var13:nullable ALabel>*/;
1197 }
1198 if (var14){
1199 var15 = NULL;
1200 if (var_new_child == NULL) {
1201 var16 = 0; /* is null */
1202 } else {
1203 var16 = 1; /* arg is null and recv is not */
1204 }
1205 if (var16){
1206 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1207 /* <var_new_child:nullable ANode(ANode)> isa ALabel */
1208 cltype18 = type_parser_nodes__ALabel.color;
1209 idtype19 = type_parser_nodes__ALabel.id;
1210 if(cltype18 >= var_new_child->type->table_size) {
1211 var17 = 0;
1212 } else {
1213 var17 = var_new_child->type->type_table[cltype18] == idtype19;
1214 }
1215 if (!var17) {
1216 fprintf(stderr, "Runtime error: %s", "Assert failed");
1217 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5401);
1218 exit(1);
1219 }
1220 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_new_child; /* _n_label on <self:ALoopExpr> */
1221 } else {
1222 var20 = NULL;
1223 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var20; /* _n_label on <self:ALoopExpr> */
1224 }
1225 goto RET_LABEL;
1226 } else {
1227 }
1228 RET_LABEL:;
1229 }
1230 /* method parser_prod#ALoopExpr#replace_child for (self: Object, ANode, nullable ANode) */
1231 void VIRTUAL_parser_prod__ALoopExpr__replace_child(val* self, val* p0, val* p1) {
1232 parser_prod__ALoopExpr__replace_child(self, p0, p1);
1233 RET_LABEL:;
1234 }
1235 /* method parser_prod#ALoopExpr#n_kwloop= for (self: ALoopExpr, TKwloop) */
1236 void parser_prod__ALoopExpr__n_kwloop_61d(val* self, val* p0) {
1237 val* var_node /* var node: TKwloop */;
1238 var_node = p0;
1239 self->attrs[COLOR_parser_nodes__ALoopExpr___n_kwloop].val = var_node; /* _n_kwloop on <self:ALoopExpr> */
1240 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwloop>*/;
1241 RET_LABEL:;
1242 }
1243 /* method parser_prod#ALoopExpr#n_kwloop= for (self: Object, TKwloop) */
1244 void VIRTUAL_parser_prod__ALoopExpr__n_kwloop_61d(val* self, val* p0) {
1245 parser_prod__ALoopExpr__n_kwloop_61d(self, p0);
1246 RET_LABEL:;
1247 }
1248 /* method parser_prod#ALoopExpr#n_block= for (self: ALoopExpr, nullable AExpr) */
1249 void parser_prod__ALoopExpr__n_block_61d(val* self, val* p0) {
1250 val* var_node /* var node: nullable AExpr */;
1251 val* var /* : null */;
1252 short int var1 /* : Bool */;
1253 var_node = p0;
1254 self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val = var_node; /* _n_block on <self:ALoopExpr> */
1255 var = NULL;
1256 if (var_node == NULL) {
1257 var1 = 0; /* is null */
1258 } else {
1259 var1 = 1; /* arg is null and recv is not */
1260 }
1261 if (var1){
1262 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExpr(AExpr)>*/;
1263 } else {
1264 }
1265 RET_LABEL:;
1266 }
1267 /* method parser_prod#ALoopExpr#n_block= for (self: Object, nullable AExpr) */
1268 void VIRTUAL_parser_prod__ALoopExpr__n_block_61d(val* self, val* p0) {
1269 parser_prod__ALoopExpr__n_block_61d(self, p0);
1270 RET_LABEL:;
1271 }
1272 /* method parser_prod#ALoopExpr#n_label= for (self: ALoopExpr, nullable ALabel) */
1273 void parser_prod__ALoopExpr__n_label_61d(val* self, val* p0) {
1274 val* var_node /* var node: nullable ALabel */;
1275 val* var /* : null */;
1276 short int var1 /* : Bool */;
1277 var_node = p0;
1278 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on <self:ALoopExpr> */
1279 var = NULL;
1280 if (var_node == NULL) {
1281 var1 = 0; /* is null */
1282 } else {
1283 var1 = 1; /* arg is null and recv is not */
1284 }
1285 if (var1){
1286 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ALabel(ALabel)>*/;
1287 } else {
1288 }
1289 RET_LABEL:;
1290 }
1291 /* method parser_prod#ALoopExpr#n_label= for (self: Object, nullable ALabel) */
1292 void VIRTUAL_parser_prod__ALoopExpr__n_label_61d(val* self, val* p0) {
1293 parser_prod__ALoopExpr__n_label_61d(self, p0);
1294 RET_LABEL:;
1295 }
1296 /* method parser_prod#ALoopExpr#visit_all for (self: ALoopExpr, Visitor) */
1297 void parser_prod__ALoopExpr__visit_all(val* self, val* p0) {
1298 val* var_v /* var v: Visitor */;
1299 val* var /* : TKwloop */;
1300 val* var1 /* : nullable AExpr */;
1301 val* var2 /* : null */;
1302 short int var3 /* : Bool */;
1303 val* var4 /* : nullable AExpr */;
1304 val* var5 /* : nullable ALabel */;
1305 val* var6 /* : null */;
1306 short int var7 /* : Bool */;
1307 val* var8 /* : nullable ALabel */;
1308 var_v = p0;
1309 var = self->attrs[COLOR_parser_nodes__ALoopExpr___n_kwloop].val; /* _n_kwloop on <self:ALoopExpr> */
1310 if (var == NULL) {
1311 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwloop");
1312 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5433);
1313 exit(1);
1314 }
1315 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1316 var1 = self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val; /* _n_block on <self:ALoopExpr> */
1317 var2 = NULL;
1318 if (var1 == NULL) {
1319 var3 = 0; /* is null */
1320 } else {
1321 var3 = 1; /* arg is null and recv is not */
1322 }
1323 if (var3){
1324 var4 = self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val; /* _n_block on <self:ALoopExpr> */
1325 if (var4 == NULL) {
1326 fprintf(stderr, "Runtime error: %s", "Cast failed");
1327 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5435);
1328 exit(1);
1329 }
1330 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
1331 } else {
1332 }
1333 var5 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:ALoopExpr> */
1334 var6 = NULL;
1335 if (var5 == NULL) {
1336 var7 = 0; /* is null */
1337 } else {
1338 var7 = 1; /* arg is null and recv is not */
1339 }
1340 if (var7){
1341 var8 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:ALoopExpr> */
1342 if (var8 == NULL) {
1343 fprintf(stderr, "Runtime error: %s", "Cast failed");
1344 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5438);
1345 exit(1);
1346 }
1347 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on <var_v:Visitor>*/;
1348 } else {
1349 }
1350 RET_LABEL:;
1351 }
1352 /* method parser_prod#ALoopExpr#visit_all for (self: Object, Visitor) */
1353 void VIRTUAL_parser_prod__ALoopExpr__visit_all(val* self, val* p0) {
1354 parser_prod__ALoopExpr__visit_all(self, p0);
1355 RET_LABEL:;
1356 }
1357 /* method parser_prod#AForExpr#empty_init for (self: AForExpr) */
1358 void parser_prod__AForExpr__empty_init(val* self) {
1359 RET_LABEL:;
1360 }
1361 /* method parser_prod#AForExpr#empty_init for (self: Object) */
1362 void VIRTUAL_parser_prod__AForExpr__empty_init(val* self) {
1363 parser_prod__AForExpr__empty_init(self);
1364 RET_LABEL:;
1365 }
1366 /* method parser_prod#AForExpr#init_aforexpr for (self: AForExpr, nullable TKwfor, Collection[Object], nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */
1367 void parser_prod__AForExpr__init_aforexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
1368 val* var_n_kwfor /* var n_kwfor: nullable TKwfor */;
1369 val* var_n_ids /* var n_ids: Collection[Object] */;
1370 val* var_n_expr /* var n_expr: nullable AExpr */;
1371 val* var_n_kwdo /* var n_kwdo: nullable TKwdo */;
1372 val* var_n_block /* var n_block: nullable AExpr */;
1373 val* var_n_label /* var n_label: nullable ALabel */;
1374 val* var /* : Iterator[nullable Object] */;
1375 short int var1 /* : Bool */;
1376 val* var2 /* : nullable Object */;
1377 val* var_n /* var n: Object */;
1378 short int var3 /* : Bool */;
1379 int cltype;
1380 int idtype;
1381 val* var4 /* : ANodes[TId] */;
1382 val* var5 /* : null */;
1383 short int var6 /* : Bool */;
1384 val* var7 /* : null */;
1385 short int var8 /* : Bool */;
1386 var_n_kwfor = p0;
1387 var_n_ids = p1;
1388 var_n_expr = p2;
1389 var_n_kwdo = p3;
1390 var_n_block = p4;
1391 var_n_label = p5;
1392 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AForExpr__empty_init]))(self) /* empty_init on <self:AForExpr>*/;
1393 if (var_n_kwfor == NULL) {
1394 fprintf(stderr, "Runtime error: %s", "Cast failed");
1395 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5455);
1396 exit(1);
1397 }
1398 self->attrs[COLOR_parser_nodes__AForExpr___n_kwfor].val = var_n_kwfor; /* _n_kwfor on <self:AForExpr> */
1399 if (var_n_kwfor == NULL) {
1400 fprintf(stderr, "Runtime error: %s", "Reciever is null");
1401 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5456);
1402 exit(1);
1403 } else {
1404 ((void (*)(val*, val*))(var_n_kwfor->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwfor, self) /* parent= on <var_n_kwfor:nullable TKwfor>*/;
1405 }
1406 var = ((val* (*)(val*))(var_n_ids->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_ids) /* iterator on <var_n_ids:Collection[Object]>*/;
1407 for(;;) {
1408 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[nullable Object]>*/;
1409 if(!var1) break;
1410 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[nullable Object]>*/;
1411 var_n = var2;
1412 /* <var_n:Object> isa TId */
1413 cltype = type_parser_nodes__TId.color;
1414 idtype = type_parser_nodes__TId.id;
1415 if(cltype >= var_n->type->table_size) {
1416 var3 = 0;
1417 } else {
1418 var3 = var_n->type->type_table[cltype] == idtype;
1419 }
1420 if (!var3) {
1421 fprintf(stderr, "Runtime error: %s", "Assert failed");
1422 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5458);
1423 exit(1);
1424 }
1425 var4 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on <self:AForExpr> */
1426 if (var4 == NULL) {
1427 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_ids");
1428 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5459);
1429 exit(1);
1430 }
1431 ((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on <var4:ANodes[TId]>*/;
1432 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(TId)>*/;
1433 CONTINUE_label: (void)0;
1434 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[nullable Object]>*/;
1435 }
1436 BREAK_label: (void)0;
1437 if (var_n_expr == NULL) {
1438 fprintf(stderr, "Runtime error: %s", "Cast failed");
1439 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5462);
1440 exit(1);
1441 }
1442 self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AForExpr> */
1443 if (var_n_expr == NULL) {
1444 fprintf(stderr, "Runtime error: %s", "Reciever is null");
1445 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5463);
1446 exit(1);
1447 } else {
1448 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
1449 }
1450 if (var_n_kwdo == NULL) {
1451 fprintf(stderr, "Runtime error: %s", "Cast failed");
1452 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5464);
1453 exit(1);
1454 }
1455 self->attrs[COLOR_parser_nodes__AForExpr___n_kwdo].val = var_n_kwdo; /* _n_kwdo on <self:AForExpr> */
1456 if (var_n_kwdo == NULL) {
1457 fprintf(stderr, "Runtime error: %s", "Reciever is null");
1458 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5465);
1459 exit(1);
1460 } else {
1461 ((void (*)(val*, val*))(var_n_kwdo->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwdo, self) /* parent= on <var_n_kwdo:nullable TKwdo>*/;
1462 }
1463 self->attrs[COLOR_parser_nodes__AForExpr___n_block].val = var_n_block; /* _n_block on <self:AForExpr> */
1464 var5 = NULL;
1465 if (var_n_block == NULL) {
1466 var6 = 0; /* is null */
1467 } else {
1468 var6 = 1; /* arg is null and recv is not */
1469 }
1470 if (var6){
1471 ((void (*)(val*, val*))(var_n_block->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_block, self) /* parent= on <var_n_block:nullable AExpr(AExpr)>*/;
1472 } else {
1473 }
1474 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on <self:AForExpr> */
1475 var7 = NULL;
1476 if (var_n_label == NULL) {
1477 var8 = 0; /* is null */
1478 } else {
1479 var8 = 1; /* arg is null and recv is not */
1480 }
1481 if (var8){
1482 ((void (*)(val*, val*))(var_n_label->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_label, self) /* parent= on <var_n_label:nullable ALabel(ALabel)>*/;
1483 } else {
1484 }
1485 RET_LABEL:;
1486 }
1487 /* method parser_prod#AForExpr#init_aforexpr for (self: Object, nullable TKwfor, Collection[Object], nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */
1488 void VIRTUAL_parser_prod__AForExpr__init_aforexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
1489 parser_prod__AForExpr__init_aforexpr(self, p0, p1, p2, p3, p4, p5);
1490 RET_LABEL:;
1491 }
1492 /* method parser_prod#AForExpr#replace_child for (self: AForExpr, ANode, nullable ANode) */
1493 void parser_prod__AForExpr__replace_child(val* self, val* p0, val* p1) {
1494 val* var_old_child /* var old_child: ANode */;
1495 val* var_new_child /* var new_child: nullable ANode */;
1496 val* var /* : TKwfor */;
1497 short int var1 /* : Bool */;
1498 val* var2 /* : null */;
1499 short int var3 /* : Bool */;
1500 short int var4 /* : Bool */;
1501 int cltype;
1502 int idtype;
1503 val* var5 /* : Range[Int] */;
1504 long var6 /* : Int */;
1505 val* var7 /* : ANodes[TId] */;
1506 long var8 /* : Int */;
1507 val* var9 /* : Discrete */;
1508 val* var10 /* : Discrete */;
1509 val* var11 /* : Iterator[nullable Object] */;
1510 short int var12 /* : Bool */;
1511 val* var13 /* : nullable Object */;
1512 long var_i /* var i: Int */;
1513 long var14 /* : Int */;
1514 val* var15 /* : ANodes[TId] */;
1515 val* var16 /* : nullable Object */;
1516 short int var17 /* : Bool */;
1517 val* var18 /* : null */;
1518 short int var19 /* : Bool */;
1519 short int var20 /* : Bool */;
1520 int cltype21;
1521 int idtype22;
1522 val* var23 /* : ANodes[TId] */;
1523 val* var24 /* : ANodes[TId] */;
1524 val* var25 /* : AExpr */;
1525 short int var26 /* : Bool */;
1526 val* var27 /* : null */;
1527 short int var28 /* : Bool */;
1528 short int var29 /* : Bool */;
1529 int cltype30;
1530 int idtype31;
1531 val* var32 /* : TKwdo */;
1532 short int var33 /* : Bool */;
1533 val* var34 /* : null */;
1534 short int var35 /* : Bool */;
1535 short int var36 /* : Bool */;
1536 int cltype37;
1537 int idtype38;
1538 val* var39 /* : nullable AExpr */;
1539 short int var40 /* : Bool */;
1540 val* var41 /* : null */;
1541 short int var42 /* : Bool */;
1542 short int var43 /* : Bool */;
1543 int cltype44;
1544 int idtype45;
1545 val* var46 /* : null */;
1546 val* var47 /* : nullable ALabel */;
1547 short int var48 /* : Bool */;
1548 val* var49 /* : null */;
1549 short int var50 /* : Bool */;
1550 short int var51 /* : Bool */;
1551 int cltype52;
1552 int idtype53;
1553 val* var54 /* : null */;
1554 var_old_child = p0;
1555 var_new_child = p1;
1556 var = self->attrs[COLOR_parser_nodes__AForExpr___n_kwfor].val; /* _n_kwfor on <self:AForExpr> */
1557 if (var == NULL) {
1558 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwfor");
1559 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5478);
1560 exit(1);
1561 }
1562 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwfor>*/;
1563 if (var1){
1564 var2 = NULL;
1565 if (var_new_child == NULL) {
1566 var3 = 0; /* is null */
1567 } else {
1568 var3 = 1; /* arg is null and recv is not */
1569 }
1570 if (var3){
1571 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1572 /* <var_new_child:nullable ANode(ANode)> isa TKwfor */
1573 cltype = type_parser_nodes__TKwfor.color;
1574 idtype = type_parser_nodes__TKwfor.id;
1575 if(cltype >= var_new_child->type->table_size) {
1576 var4 = 0;
1577 } else {
1578 var4 = var_new_child->type->type_table[cltype] == idtype;
1579 }
1580 if (!var4) {
1581 fprintf(stderr, "Runtime error: %s", "Assert failed");
1582 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5481);
1583 exit(1);
1584 }
1585 self->attrs[COLOR_parser_nodes__AForExpr___n_kwfor].val = var_new_child; /* _n_kwfor on <self:AForExpr> */
1586 } else {
1587 fprintf(stderr, "Runtime error: %s", "Aborted");
1588 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5484);
1589 exit(1);
1590 }
1591 goto RET_LABEL;
1592 } else {
1593 }
1594 var5 = NEW_range__Range(&type_range__Rangekernel__Int);
1595 var6 = 0;
1596 var7 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on <self:AForExpr> */
1597 if (var7 == NULL) {
1598 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_ids");
1599 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5488);
1600 exit(1);
1601 }
1602 var8 = ((long (*)(val*))(var7->class->vft[COLOR_abstract_collection__Collection__length]))(var7) /* length on <var7:ANodes[TId]>*/;
1603 var9 = BOX_kernel__Int(var6); /* autobox from Int to Discrete */
1604 var10 = BOX_kernel__Int(var8); /* autobox from Int to Discrete */
1605 ((void (*)(val*, val*, val*))(var5->class->vft[COLOR_range__Range__without_last]))(var5, var9, var10) /* without_last on <var5:Range[Int]>*/;
1606 CHECK_NEW_range__Range(var5);
1607 var11 = ((val* (*)(val*))(var5->class->vft[COLOR_abstract_collection__Collection__iterator]))(var5) /* iterator on <var5:Range[Int]>*/;
1608 for(;;) {
1609 var12 = ((short int (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var11) /* is_ok on <var11:Iterator[nullable Object]>*/;
1610 if(!var12) break;
1611 var13 = ((val* (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__item]))(var11) /* item on <var11:Iterator[nullable Object]>*/;
1612 var14 = ((struct instance_kernel__Int*)var13)->value; /* autounbox from nullable Object to Int */;
1613 var_i = var14;
1614 var15 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on <self:AForExpr> */
1615 if (var15 == NULL) {
1616 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_ids");
1617 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5489);
1618 exit(1);
1619 }
1620 var16 = ((val* (*)(val*, long))(var15->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var15, var_i) /* [] on <var15:ANodes[TId]>*/;
1621 var17 = ((short int (*)(val*, val*))(var16->class->vft[COLOR_kernel__Object___61d_61d]))(var16, var_old_child) /* == on <var16:nullable Object(TId)>*/;
1622 if (var17){
1623 var18 = NULL;
1624 if (var_new_child == NULL) {
1625 var19 = 0; /* is null */
1626 } else {
1627 var19 = 1; /* arg is null and recv is not */
1628 }
1629 if (var19){
1630 /* <var_new_child:nullable ANode(ANode)> isa TId */
1631 cltype21 = type_parser_nodes__TId.color;
1632 idtype22 = type_parser_nodes__TId.id;
1633 if(cltype21 >= var_new_child->type->table_size) {
1634 var20 = 0;
1635 } else {
1636 var20 = var_new_child->type->type_table[cltype21] == idtype22;
1637 }
1638 if (!var20) {
1639 fprintf(stderr, "Runtime error: %s", "Assert failed");
1640 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5491);
1641 exit(1);
1642 }
1643 var23 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on <self:AForExpr> */
1644 if (var23 == NULL) {
1645 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_ids");
1646 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5492);
1647 exit(1);
1648 }
1649 ((void (*)(val*, long, val*))(var23->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var23, var_i, var_new_child) /* []= on <var23:ANodes[TId]>*/;
1650 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(TId)>*/;
1651 } else {
1652 var24 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on <self:AForExpr> */
1653 if (var24 == NULL) {
1654 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_ids");
1655 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5495);
1656 exit(1);
1657 }
1658 ((void (*)(val*, long))(var24->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var24, var_i) /* remove_at on <var24:ANodes[TId]>*/;
1659 }
1660 goto RET_LABEL;
1661 } else {
1662 }
1663 CONTINUE_label: (void)0;
1664 ((void (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__next]))(var11) /* next on <var11:Iterator[nullable Object]>*/;
1665 }
1666 BREAK_label: (void)0;
1667 var25 = self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val; /* _n_expr on <self:AForExpr> */
1668 if (var25 == NULL) {
1669 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
1670 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5500);
1671 exit(1);
1672 }
1673 var26 = ((short int (*)(val*, val*))(var25->class->vft[COLOR_kernel__Object___61d_61d]))(var25, var_old_child) /* == on <var25:AExpr>*/;
1674 if (var26){
1675 var27 = NULL;
1676 if (var_new_child == NULL) {
1677 var28 = 0; /* is null */
1678 } else {
1679 var28 = 1; /* arg is null and recv is not */
1680 }
1681 if (var28){
1682 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1683 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
1684 cltype30 = type_parser_nodes__AExpr.color;
1685 idtype31 = type_parser_nodes__AExpr.id;
1686 if(cltype30 >= var_new_child->type->table_size) {
1687 var29 = 0;
1688 } else {
1689 var29 = var_new_child->type->type_table[cltype30] == idtype31;
1690 }
1691 if (!var29) {
1692 fprintf(stderr, "Runtime error: %s", "Assert failed");
1693 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5503);
1694 exit(1);
1695 }
1696 self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val = var_new_child; /* _n_expr on <self:AForExpr> */
1697 } else {
1698 fprintf(stderr, "Runtime error: %s", "Aborted");
1699 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5506);
1700 exit(1);
1701 }
1702 goto RET_LABEL;
1703 } else {
1704 }
1705 var32 = self->attrs[COLOR_parser_nodes__AForExpr___n_kwdo].val; /* _n_kwdo on <self:AForExpr> */
1706 if (var32 == NULL) {
1707 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwdo");
1708 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5510);
1709 exit(1);
1710 }
1711 var33 = ((short int (*)(val*, val*))(var32->class->vft[COLOR_kernel__Object___61d_61d]))(var32, var_old_child) /* == on <var32:TKwdo>*/;
1712 if (var33){
1713 var34 = NULL;
1714 if (var_new_child == NULL) {
1715 var35 = 0; /* is null */
1716 } else {
1717 var35 = 1; /* arg is null and recv is not */
1718 }
1719 if (var35){
1720 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1721 /* <var_new_child:nullable ANode(ANode)> isa TKwdo */
1722 cltype37 = type_parser_nodes__TKwdo.color;
1723 idtype38 = type_parser_nodes__TKwdo.id;
1724 if(cltype37 >= var_new_child->type->table_size) {
1725 var36 = 0;
1726 } else {
1727 var36 = var_new_child->type->type_table[cltype37] == idtype38;
1728 }
1729 if (!var36) {
1730 fprintf(stderr, "Runtime error: %s", "Assert failed");
1731 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5513);
1732 exit(1);
1733 }
1734 self->attrs[COLOR_parser_nodes__AForExpr___n_kwdo].val = var_new_child; /* _n_kwdo on <self:AForExpr> */
1735 } else {
1736 fprintf(stderr, "Runtime error: %s", "Aborted");
1737 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5516);
1738 exit(1);
1739 }
1740 goto RET_LABEL;
1741 } else {
1742 }
1743 var39 = self->attrs[COLOR_parser_nodes__AForExpr___n_block].val; /* _n_block on <self:AForExpr> */
1744 if (var39 == NULL) {
1745 var40 = 0; /* <var_old_child:ANode> cannot be null */
1746 } else {
1747 var40 = ((short int (*)(val*, val*))(var39->class->vft[COLOR_kernel__Object___61d_61d]))(var39, var_old_child) /* == on <var39:nullable AExpr>*/;
1748 }
1749 if (var40){
1750 var41 = NULL;
1751 if (var_new_child == NULL) {
1752 var42 = 0; /* is null */
1753 } else {
1754 var42 = 1; /* arg is null and recv is not */
1755 }
1756 if (var42){
1757 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1758 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
1759 cltype44 = type_parser_nodes__AExpr.color;
1760 idtype45 = type_parser_nodes__AExpr.id;
1761 if(cltype44 >= var_new_child->type->table_size) {
1762 var43 = 0;
1763 } else {
1764 var43 = var_new_child->type->type_table[cltype44] == idtype45;
1765 }
1766 if (!var43) {
1767 fprintf(stderr, "Runtime error: %s", "Assert failed");
1768 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5523);
1769 exit(1);
1770 }
1771 self->attrs[COLOR_parser_nodes__AForExpr___n_block].val = var_new_child; /* _n_block on <self:AForExpr> */
1772 } else {
1773 var46 = NULL;
1774 self->attrs[COLOR_parser_nodes__AForExpr___n_block].val = var46; /* _n_block on <self:AForExpr> */
1775 }
1776 goto RET_LABEL;
1777 } else {
1778 }
1779 var47 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AForExpr> */
1780 if (var47 == NULL) {
1781 var48 = 0; /* <var_old_child:ANode> cannot be null */
1782 } else {
1783 var48 = ((short int (*)(val*, val*))(var47->class->vft[COLOR_kernel__Object___61d_61d]))(var47, var_old_child) /* == on <var47:nullable ALabel>*/;
1784 }
1785 if (var48){
1786 var49 = NULL;
1787 if (var_new_child == NULL) {
1788 var50 = 0; /* is null */
1789 } else {
1790 var50 = 1; /* arg is null and recv is not */
1791 }
1792 if (var50){
1793 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
1794 /* <var_new_child:nullable ANode(ANode)> isa ALabel */
1795 cltype52 = type_parser_nodes__ALabel.color;
1796 idtype53 = type_parser_nodes__ALabel.id;
1797 if(cltype52 >= var_new_child->type->table_size) {
1798 var51 = 0;
1799 } else {
1800 var51 = var_new_child->type->type_table[cltype52] == idtype53;
1801 }
1802 if (!var51) {
1803 fprintf(stderr, "Runtime error: %s", "Assert failed");
1804 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5533);
1805 exit(1);
1806 }
1807 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_new_child; /* _n_label on <self:AForExpr> */
1808 } else {
1809 var54 = NULL;
1810 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var54; /* _n_label on <self:AForExpr> */
1811 }
1812 goto RET_LABEL;
1813 } else {
1814 }
1815 RET_LABEL:;
1816 }
1817 /* method parser_prod#AForExpr#replace_child for (self: Object, ANode, nullable ANode) */
1818 void VIRTUAL_parser_prod__AForExpr__replace_child(val* self, val* p0, val* p1) {
1819 parser_prod__AForExpr__replace_child(self, p0, p1);
1820 RET_LABEL:;
1821 }
1822 /* method parser_prod#AForExpr#n_kwfor= for (self: AForExpr, TKwfor) */
1823 void parser_prod__AForExpr__n_kwfor_61d(val* self, val* p0) {
1824 val* var_node /* var node: TKwfor */;
1825 var_node = p0;
1826 self->attrs[COLOR_parser_nodes__AForExpr___n_kwfor].val = var_node; /* _n_kwfor on <self:AForExpr> */
1827 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwfor>*/;
1828 RET_LABEL:;
1829 }
1830 /* method parser_prod#AForExpr#n_kwfor= for (self: Object, TKwfor) */
1831 void VIRTUAL_parser_prod__AForExpr__n_kwfor_61d(val* self, val* p0) {
1832 parser_prod__AForExpr__n_kwfor_61d(self, p0);
1833 RET_LABEL:;
1834 }
1835 /* method parser_prod#AForExpr#n_expr= for (self: AForExpr, AExpr) */
1836 void parser_prod__AForExpr__n_expr_61d(val* self, val* p0) {
1837 val* var_node /* var node: AExpr */;
1838 var_node = p0;
1839 self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val = var_node; /* _n_expr on <self:AForExpr> */
1840 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
1841 RET_LABEL:;
1842 }
1843 /* method parser_prod#AForExpr#n_expr= for (self: Object, AExpr) */
1844 void VIRTUAL_parser_prod__AForExpr__n_expr_61d(val* self, val* p0) {
1845 parser_prod__AForExpr__n_expr_61d(self, p0);
1846 RET_LABEL:;
1847 }
1848 /* method parser_prod#AForExpr#n_kwdo= for (self: AForExpr, TKwdo) */
1849 void parser_prod__AForExpr__n_kwdo_61d(val* self, val* p0) {
1850 val* var_node /* var node: TKwdo */;
1851 var_node = p0;
1852 self->attrs[COLOR_parser_nodes__AForExpr___n_kwdo].val = var_node; /* _n_kwdo on <self:AForExpr> */
1853 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwdo>*/;
1854 RET_LABEL:;
1855 }
1856 /* method parser_prod#AForExpr#n_kwdo= for (self: Object, TKwdo) */
1857 void VIRTUAL_parser_prod__AForExpr__n_kwdo_61d(val* self, val* p0) {
1858 parser_prod__AForExpr__n_kwdo_61d(self, p0);
1859 RET_LABEL:;
1860 }
1861 /* method parser_prod#AForExpr#n_block= for (self: AForExpr, nullable AExpr) */
1862 void parser_prod__AForExpr__n_block_61d(val* self, val* p0) {
1863 val* var_node /* var node: nullable AExpr */;
1864 val* var /* : null */;
1865 short int var1 /* : Bool */;
1866 var_node = p0;
1867 self->attrs[COLOR_parser_nodes__AForExpr___n_block].val = var_node; /* _n_block on <self:AForExpr> */
1868 var = NULL;
1869 if (var_node == NULL) {
1870 var1 = 0; /* is null */
1871 } else {
1872 var1 = 1; /* arg is null and recv is not */
1873 }
1874 if (var1){
1875 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExpr(AExpr)>*/;
1876 } else {
1877 }
1878 RET_LABEL:;
1879 }
1880 /* method parser_prod#AForExpr#n_block= for (self: Object, nullable AExpr) */
1881 void VIRTUAL_parser_prod__AForExpr__n_block_61d(val* self, val* p0) {
1882 parser_prod__AForExpr__n_block_61d(self, p0);
1883 RET_LABEL:;
1884 }
1885 /* method parser_prod#AForExpr#n_label= for (self: AForExpr, nullable ALabel) */
1886 void parser_prod__AForExpr__n_label_61d(val* self, val* p0) {
1887 val* var_node /* var node: nullable ALabel */;
1888 val* var /* : null */;
1889 short int var1 /* : Bool */;
1890 var_node = p0;
1891 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on <self:AForExpr> */
1892 var = NULL;
1893 if (var_node == NULL) {
1894 var1 = 0; /* is null */
1895 } else {
1896 var1 = 1; /* arg is null and recv is not */
1897 }
1898 if (var1){
1899 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ALabel(ALabel)>*/;
1900 } else {
1901 }
1902 RET_LABEL:;
1903 }
1904 /* method parser_prod#AForExpr#n_label= for (self: Object, nullable ALabel) */
1905 void VIRTUAL_parser_prod__AForExpr__n_label_61d(val* self, val* p0) {
1906 parser_prod__AForExpr__n_label_61d(self, p0);
1907 RET_LABEL:;
1908 }
1909 /* method parser_prod#AForExpr#visit_all for (self: AForExpr, Visitor) */
1910 void parser_prod__AForExpr__visit_all(val* self, val* p0) {
1911 val* var_v /* var v: Visitor */;
1912 val* var /* : TKwfor */;
1913 val* var1 /* : ANodes[TId] */;
1914 val* var2 /* : Iterator[nullable Object] */;
1915 short int var3 /* : Bool */;
1916 val* var4 /* : nullable Object */;
1917 val* var_n /* var n: TId */;
1918 val* var5 /* : AExpr */;
1919 val* var6 /* : TKwdo */;
1920 val* var7 /* : nullable AExpr */;
1921 val* var8 /* : null */;
1922 short int var9 /* : Bool */;
1923 val* var10 /* : nullable AExpr */;
1924 val* var11 /* : nullable ALabel */;
1925 val* var12 /* : null */;
1926 short int var13 /* : Bool */;
1927 val* var14 /* : nullable ALabel */;
1928 var_v = p0;
1929 var = self->attrs[COLOR_parser_nodes__AForExpr___n_kwfor].val; /* _n_kwfor on <self:AForExpr> */
1930 if (var == NULL) {
1931 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwfor");
1932 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5575);
1933 exit(1);
1934 }
1935 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1936 var1 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on <self:AForExpr> */
1937 if (var1 == NULL) {
1938 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_ids");
1939 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5576);
1940 exit(1);
1941 }
1942 var2 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Collection__iterator]))(var1) /* iterator on <var1:ANodes[TId]>*/;
1943 for(;;) {
1944 var3 = ((short int (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var2) /* is_ok on <var2:Iterator[nullable Object]>*/;
1945 if(!var3) break;
1946 var4 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__item]))(var2) /* item on <var2:Iterator[nullable Object]>*/;
1947 var_n = var4;
1948 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
1949 CONTINUE_label: (void)0;
1950 ((void (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__next]))(var2) /* next on <var2:Iterator[nullable Object]>*/;
1951 }
1952 BREAK_label: (void)0;
1953 var5 = self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val; /* _n_expr on <self:AForExpr> */
1954 if (var5 == NULL) {
1955 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
1956 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5579);
1957 exit(1);
1958 }
1959 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
1960 var6 = self->attrs[COLOR_parser_nodes__AForExpr___n_kwdo].val; /* _n_kwdo on <self:AForExpr> */
1961 if (var6 == NULL) {
1962 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwdo");
1963 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5580);
1964 exit(1);
1965 }
1966 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var6) /* enter_visit on <var_v:Visitor>*/;
1967 var7 = self->attrs[COLOR_parser_nodes__AForExpr___n_block].val; /* _n_block on <self:AForExpr> */
1968 var8 = NULL;
1969 if (var7 == NULL) {
1970 var9 = 0; /* is null */
1971 } else {
1972 var9 = 1; /* arg is null and recv is not */
1973 }
1974 if (var9){
1975 var10 = self->attrs[COLOR_parser_nodes__AForExpr___n_block].val; /* _n_block on <self:AForExpr> */
1976 if (var10 == NULL) {
1977 fprintf(stderr, "Runtime error: %s", "Cast failed");
1978 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5582);
1979 exit(1);
1980 }
1981 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var10) /* enter_visit on <var_v:Visitor>*/;
1982 } else {
1983 }
1984 var11 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AForExpr> */
1985 var12 = NULL;
1986 if (var11 == NULL) {
1987 var13 = 0; /* is null */
1988 } else {
1989 var13 = 1; /* arg is null and recv is not */
1990 }
1991 if (var13){
1992 var14 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AForExpr> */
1993 if (var14 == NULL) {
1994 fprintf(stderr, "Runtime error: %s", "Cast failed");
1995 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5585);
1996 exit(1);
1997 }
1998 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var14) /* enter_visit on <var_v:Visitor>*/;
1999 } else {
2000 }
2001 RET_LABEL:;
2002 }
2003 /* method parser_prod#AForExpr#visit_all for (self: Object, Visitor) */
2004 void VIRTUAL_parser_prod__AForExpr__visit_all(val* self, val* p0) {
2005 parser_prod__AForExpr__visit_all(self, p0);
2006 RET_LABEL:;
2007 }
2008 /* method parser_prod#AAssertExpr#empty_init for (self: AAssertExpr) */
2009 void parser_prod__AAssertExpr__empty_init(val* self) {
2010 RET_LABEL:;
2011 }
2012 /* method parser_prod#AAssertExpr#empty_init for (self: Object) */
2013 void VIRTUAL_parser_prod__AAssertExpr__empty_init(val* self) {
2014 parser_prod__AAssertExpr__empty_init(self);
2015 RET_LABEL:;
2016 }
2017 /* method parser_prod#AAssertExpr#init_aassertexpr for (self: AAssertExpr, nullable TKwassert, nullable TId, nullable AExpr, nullable AExpr) */
2018 void parser_prod__AAssertExpr__init_aassertexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
2019 val* var_n_kwassert /* var n_kwassert: nullable TKwassert */;
2020 val* var_n_id /* var n_id: nullable TId */;
2021 val* var_n_expr /* var n_expr: nullable AExpr */;
2022 val* var_n_else /* var n_else: nullable AExpr */;
2023 val* var /* : null */;
2024 short int var1 /* : Bool */;
2025 val* var2 /* : null */;
2026 short int var3 /* : Bool */;
2027 var_n_kwassert = p0;
2028 var_n_id = p1;
2029 var_n_expr = p2;
2030 var_n_else = p3;
2031 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAssertExpr__empty_init]))(self) /* empty_init on <self:AAssertExpr>*/;
2032 if (var_n_kwassert == NULL) {
2033 fprintf(stderr, "Runtime error: %s", "Cast failed");
2034 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5600);
2035 exit(1);
2036 }
2037 self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val = var_n_kwassert; /* _n_kwassert on <self:AAssertExpr> */
2038 if (var_n_kwassert == NULL) {
2039 fprintf(stderr, "Runtime error: %s", "Reciever is null");
2040 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5601);
2041 exit(1);
2042 } else {
2043 ((void (*)(val*, val*))(var_n_kwassert->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwassert, self) /* parent= on <var_n_kwassert:nullable TKwassert>*/;
2044 }
2045 self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val = var_n_id; /* _n_id on <self:AAssertExpr> */
2046 var = NULL;
2047 if (var_n_id == NULL) {
2048 var1 = 0; /* is null */
2049 } else {
2050 var1 = 1; /* arg is null and recv is not */
2051 }
2052 if (var1){
2053 ((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on <var_n_id:nullable TId(TId)>*/;
2054 } else {
2055 }
2056 if (var_n_expr == NULL) {
2057 fprintf(stderr, "Runtime error: %s", "Cast failed");
2058 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5606);
2059 exit(1);
2060 }
2061 self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAssertExpr> */
2062 if (var_n_expr == NULL) {
2063 fprintf(stderr, "Runtime error: %s", "Reciever is null");
2064 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5607);
2065 exit(1);
2066 } else {
2067 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
2068 }
2069 self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val = var_n_else; /* _n_else on <self:AAssertExpr> */
2070 var2 = NULL;
2071 if (var_n_else == NULL) {
2072 var3 = 0; /* is null */
2073 } else {
2074 var3 = 1; /* arg is null and recv is not */
2075 }
2076 if (var3){
2077 ((void (*)(val*, val*))(var_n_else->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_else, self) /* parent= on <var_n_else:nullable AExpr(AExpr)>*/;
2078 } else {
2079 }
2080 RET_LABEL:;
2081 }
2082 /* method parser_prod#AAssertExpr#init_aassertexpr for (self: Object, nullable TKwassert, nullable TId, nullable AExpr, nullable AExpr) */
2083 void VIRTUAL_parser_prod__AAssertExpr__init_aassertexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
2084 parser_prod__AAssertExpr__init_aassertexpr(self, p0, p1, p2, p3);
2085 RET_LABEL:;
2086 }
2087 /* method parser_prod#AAssertExpr#replace_child for (self: AAssertExpr, ANode, nullable ANode) */
2088 void parser_prod__AAssertExpr__replace_child(val* self, val* p0, val* p1) {
2089 val* var_old_child /* var old_child: ANode */;
2090 val* var_new_child /* var new_child: nullable ANode */;
2091 val* var /* : TKwassert */;
2092 short int var1 /* : Bool */;
2093 val* var2 /* : null */;
2094 short int var3 /* : Bool */;
2095 short int var4 /* : Bool */;
2096 int cltype;
2097 int idtype;
2098 val* var5 /* : nullable TId */;
2099 short int var6 /* : Bool */;
2100 val* var7 /* : null */;
2101 short int var8 /* : Bool */;
2102 short int var9 /* : Bool */;
2103 int cltype10;
2104 int idtype11;
2105 val* var12 /* : null */;
2106 val* var13 /* : AExpr */;
2107 short int var14 /* : Bool */;
2108 val* var15 /* : null */;
2109 short int var16 /* : Bool */;
2110 short int var17 /* : Bool */;
2111 int cltype18;
2112 int idtype19;
2113 val* var20 /* : nullable AExpr */;
2114 short int var21 /* : Bool */;
2115 val* var22 /* : null */;
2116 short int var23 /* : Bool */;
2117 short int var24 /* : Bool */;
2118 int cltype25;
2119 int idtype26;
2120 val* var27 /* : null */;
2121 var_old_child = p0;
2122 var_new_child = p1;
2123 var = self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val; /* _n_kwassert on <self:AAssertExpr> */
2124 if (var == NULL) {
2125 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwassert");
2126 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5616);
2127 exit(1);
2128 }
2129 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwassert>*/;
2130 if (var1){
2131 var2 = NULL;
2132 if (var_new_child == NULL) {
2133 var3 = 0; /* is null */
2134 } else {
2135 var3 = 1; /* arg is null and recv is not */
2136 }
2137 if (var3){
2138 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2139 /* <var_new_child:nullable ANode(ANode)> isa TKwassert */
2140 cltype = type_parser_nodes__TKwassert.color;
2141 idtype = type_parser_nodes__TKwassert.id;
2142 if(cltype >= var_new_child->type->table_size) {
2143 var4 = 0;
2144 } else {
2145 var4 = var_new_child->type->type_table[cltype] == idtype;
2146 }
2147 if (!var4) {
2148 fprintf(stderr, "Runtime error: %s", "Assert failed");
2149 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5619);
2150 exit(1);
2151 }
2152 self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val = var_new_child; /* _n_kwassert on <self:AAssertExpr> */
2153 } else {
2154 fprintf(stderr, "Runtime error: %s", "Aborted");
2155 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5622);
2156 exit(1);
2157 }
2158 goto RET_LABEL;
2159 } else {
2160 }
2161 var5 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val; /* _n_id on <self:AAssertExpr> */
2162 if (var5 == NULL) {
2163 var6 = 0; /* <var_old_child:ANode> cannot be null */
2164 } else {
2165 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable TId>*/;
2166 }
2167 if (var6){
2168 var7 = NULL;
2169 if (var_new_child == NULL) {
2170 var8 = 0; /* is null */
2171 } else {
2172 var8 = 1; /* arg is null and recv is not */
2173 }
2174 if (var8){
2175 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2176 /* <var_new_child:nullable ANode(ANode)> isa TId */
2177 cltype10 = type_parser_nodes__TId.color;
2178 idtype11 = type_parser_nodes__TId.id;
2179 if(cltype10 >= var_new_child->type->table_size) {
2180 var9 = 0;
2181 } else {
2182 var9 = var_new_child->type->type_table[cltype10] == idtype11;
2183 }
2184 if (!var9) {
2185 fprintf(stderr, "Runtime error: %s", "Assert failed");
2186 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5629);
2187 exit(1);
2188 }
2189 self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val = var_new_child; /* _n_id on <self:AAssertExpr> */
2190 } else {
2191 var12 = NULL;
2192 self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val = var12; /* _n_id on <self:AAssertExpr> */
2193 }
2194 goto RET_LABEL;
2195 } else {
2196 }
2197 var13 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val; /* _n_expr on <self:AAssertExpr> */
2198 if (var13 == NULL) {
2199 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
2200 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5636);
2201 exit(1);
2202 }
2203 var14 = ((short int (*)(val*, val*))(var13->class->vft[COLOR_kernel__Object___61d_61d]))(var13, var_old_child) /* == on <var13:AExpr>*/;
2204 if (var14){
2205 var15 = NULL;
2206 if (var_new_child == NULL) {
2207 var16 = 0; /* is null */
2208 } else {
2209 var16 = 1; /* arg is null and recv is not */
2210 }
2211 if (var16){
2212 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2213 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2214 cltype18 = type_parser_nodes__AExpr.color;
2215 idtype19 = type_parser_nodes__AExpr.id;
2216 if(cltype18 >= var_new_child->type->table_size) {
2217 var17 = 0;
2218 } else {
2219 var17 = var_new_child->type->type_table[cltype18] == idtype19;
2220 }
2221 if (!var17) {
2222 fprintf(stderr, "Runtime error: %s", "Assert failed");
2223 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5639);
2224 exit(1);
2225 }
2226 self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val = var_new_child; /* _n_expr on <self:AAssertExpr> */
2227 } else {
2228 fprintf(stderr, "Runtime error: %s", "Aborted");
2229 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5642);
2230 exit(1);
2231 }
2232 goto RET_LABEL;
2233 } else {
2234 }
2235 var20 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val; /* _n_else on <self:AAssertExpr> */
2236 if (var20 == NULL) {
2237 var21 = 0; /* <var_old_child:ANode> cannot be null */
2238 } else {
2239 var21 = ((short int (*)(val*, val*))(var20->class->vft[COLOR_kernel__Object___61d_61d]))(var20, var_old_child) /* == on <var20:nullable AExpr>*/;
2240 }
2241 if (var21){
2242 var22 = NULL;
2243 if (var_new_child == NULL) {
2244 var23 = 0; /* is null */
2245 } else {
2246 var23 = 1; /* arg is null and recv is not */
2247 }
2248 if (var23){
2249 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2250 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2251 cltype25 = type_parser_nodes__AExpr.color;
2252 idtype26 = type_parser_nodes__AExpr.id;
2253 if(cltype25 >= var_new_child->type->table_size) {
2254 var24 = 0;
2255 } else {
2256 var24 = var_new_child->type->type_table[cltype25] == idtype26;
2257 }
2258 if (!var24) {
2259 fprintf(stderr, "Runtime error: %s", "Assert failed");
2260 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5649);
2261 exit(1);
2262 }
2263 self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val = var_new_child; /* _n_else on <self:AAssertExpr> */
2264 } else {
2265 var27 = NULL;
2266 self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val = var27; /* _n_else on <self:AAssertExpr> */
2267 }
2268 goto RET_LABEL;
2269 } else {
2270 }
2271 RET_LABEL:;
2272 }
2273 /* method parser_prod#AAssertExpr#replace_child for (self: Object, ANode, nullable ANode) */
2274 void VIRTUAL_parser_prod__AAssertExpr__replace_child(val* self, val* p0, val* p1) {
2275 parser_prod__AAssertExpr__replace_child(self, p0, p1);
2276 RET_LABEL:;
2277 }
2278 /* method parser_prod#AAssertExpr#n_kwassert= for (self: AAssertExpr, TKwassert) */
2279 void parser_prod__AAssertExpr__n_kwassert_61d(val* self, val* p0) {
2280 val* var_node /* var node: TKwassert */;
2281 var_node = p0;
2282 self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val = var_node; /* _n_kwassert on <self:AAssertExpr> */
2283 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwassert>*/;
2284 RET_LABEL:;
2285 }
2286 /* method parser_prod#AAssertExpr#n_kwassert= for (self: Object, TKwassert) */
2287 void VIRTUAL_parser_prod__AAssertExpr__n_kwassert_61d(val* self, val* p0) {
2288 parser_prod__AAssertExpr__n_kwassert_61d(self, p0);
2289 RET_LABEL:;
2290 }
2291 /* method parser_prod#AAssertExpr#n_id= for (self: AAssertExpr, nullable TId) */
2292 void parser_prod__AAssertExpr__n_id_61d(val* self, val* p0) {
2293 val* var_node /* var node: nullable TId */;
2294 val* var /* : null */;
2295 short int var1 /* : Bool */;
2296 var_node = p0;
2297 self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val = var_node; /* _n_id on <self:AAssertExpr> */
2298 var = NULL;
2299 if (var_node == NULL) {
2300 var1 = 0; /* is null */
2301 } else {
2302 var1 = 1; /* arg is null and recv is not */
2303 }
2304 if (var1){
2305 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TId(TId)>*/;
2306 } else {
2307 }
2308 RET_LABEL:;
2309 }
2310 /* method parser_prod#AAssertExpr#n_id= for (self: Object, nullable TId) */
2311 void VIRTUAL_parser_prod__AAssertExpr__n_id_61d(val* self, val* p0) {
2312 parser_prod__AAssertExpr__n_id_61d(self, p0);
2313 RET_LABEL:;
2314 }
2315 /* method parser_prod#AAssertExpr#n_expr= for (self: AAssertExpr, AExpr) */
2316 void parser_prod__AAssertExpr__n_expr_61d(val* self, val* p0) {
2317 val* var_node /* var node: AExpr */;
2318 var_node = p0;
2319 self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val = var_node; /* _n_expr on <self:AAssertExpr> */
2320 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
2321 RET_LABEL:;
2322 }
2323 /* method parser_prod#AAssertExpr#n_expr= for (self: Object, AExpr) */
2324 void VIRTUAL_parser_prod__AAssertExpr__n_expr_61d(val* self, val* p0) {
2325 parser_prod__AAssertExpr__n_expr_61d(self, p0);
2326 RET_LABEL:;
2327 }
2328 /* method parser_prod#AAssertExpr#n_else= for (self: AAssertExpr, nullable AExpr) */
2329 void parser_prod__AAssertExpr__n_else_61d(val* self, val* p0) {
2330 val* var_node /* var node: nullable AExpr */;
2331 val* var /* : null */;
2332 short int var1 /* : Bool */;
2333 var_node = p0;
2334 self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val = var_node; /* _n_else on <self:AAssertExpr> */
2335 var = NULL;
2336 if (var_node == NULL) {
2337 var1 = 0; /* is null */
2338 } else {
2339 var1 = 1; /* arg is null and recv is not */
2340 }
2341 if (var1){
2342 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExpr(AExpr)>*/;
2343 } else {
2344 }
2345 RET_LABEL:;
2346 }
2347 /* method parser_prod#AAssertExpr#n_else= for (self: Object, nullable AExpr) */
2348 void VIRTUAL_parser_prod__AAssertExpr__n_else_61d(val* self, val* p0) {
2349 parser_prod__AAssertExpr__n_else_61d(self, p0);
2350 RET_LABEL:;
2351 }
2352 /* method parser_prod#AAssertExpr#visit_all for (self: AAssertExpr, Visitor) */
2353 void parser_prod__AAssertExpr__visit_all(val* self, val* p0) {
2354 val* var_v /* var v: Visitor */;
2355 val* var /* : TKwassert */;
2356 val* var1 /* : nullable TId */;
2357 val* var2 /* : null */;
2358 short int var3 /* : Bool */;
2359 val* var4 /* : nullable TId */;
2360 val* var5 /* : AExpr */;
2361 val* var6 /* : nullable AExpr */;
2362 val* var7 /* : null */;
2363 short int var8 /* : Bool */;
2364 val* var9 /* : nullable AExpr */;
2365 var_v = p0;
2366 var = self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val; /* _n_kwassert on <self:AAssertExpr> */
2367 if (var == NULL) {
2368 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwassert");
2369 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5686);
2370 exit(1);
2371 }
2372 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
2373 var1 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val; /* _n_id on <self:AAssertExpr> */
2374 var2 = NULL;
2375 if (var1 == NULL) {
2376 var3 = 0; /* is null */
2377 } else {
2378 var3 = 1; /* arg is null and recv is not */
2379 }
2380 if (var3){
2381 var4 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val; /* _n_id on <self:AAssertExpr> */
2382 if (var4 == NULL) {
2383 fprintf(stderr, "Runtime error: %s", "Cast failed");
2384 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5688);
2385 exit(1);
2386 }
2387 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
2388 } else {
2389 }
2390 var5 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val; /* _n_expr on <self:AAssertExpr> */
2391 if (var5 == NULL) {
2392 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
2393 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5690);
2394 exit(1);
2395 }
2396 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
2397 var6 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val; /* _n_else on <self:AAssertExpr> */
2398 var7 = NULL;
2399 if (var6 == NULL) {
2400 var8 = 0; /* is null */
2401 } else {
2402 var8 = 1; /* arg is null and recv is not */
2403 }
2404 if (var8){
2405 var9 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val; /* _n_else on <self:AAssertExpr> */
2406 if (var9 == NULL) {
2407 fprintf(stderr, "Runtime error: %s", "Cast failed");
2408 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5692);
2409 exit(1);
2410 }
2411 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on <var_v:Visitor>*/;
2412 } else {
2413 }
2414 RET_LABEL:;
2415 }
2416 /* method parser_prod#AAssertExpr#visit_all for (self: Object, Visitor) */
2417 void VIRTUAL_parser_prod__AAssertExpr__visit_all(val* self, val* p0) {
2418 parser_prod__AAssertExpr__visit_all(self, p0);
2419 RET_LABEL:;
2420 }
2421 /* method parser_prod#AOnceExpr#empty_init for (self: AOnceExpr) */
2422 void parser_prod__AOnceExpr__empty_init(val* self) {
2423 RET_LABEL:;
2424 }
2425 /* method parser_prod#AOnceExpr#empty_init for (self: Object) */
2426 void VIRTUAL_parser_prod__AOnceExpr__empty_init(val* self) {
2427 parser_prod__AOnceExpr__empty_init(self);
2428 RET_LABEL:;
2429 }
2430 /* method parser_prod#AOnceExpr#init_aonceexpr for (self: AOnceExpr, nullable TKwonce, nullable AExpr) */
2431 void parser_prod__AOnceExpr__init_aonceexpr(val* self, val* p0, val* p1) {
2432 val* var_n_kwonce /* var n_kwonce: nullable TKwonce */;
2433 val* var_n_expr /* var n_expr: nullable AExpr */;
2434 var_n_kwonce = p0;
2435 var_n_expr = p1;
2436 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AOnceExpr__empty_init]))(self) /* empty_init on <self:AOnceExpr>*/;
2437 if (var_n_kwonce == NULL) {
2438 fprintf(stderr, "Runtime error: %s", "Cast failed");
2439 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5705);
2440 exit(1);
2441 }
2442 self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val = var_n_kwonce; /* _n_kwonce on <self:AOnceExpr> */
2443 if (var_n_kwonce == NULL) {
2444 fprintf(stderr, "Runtime error: %s", "Reciever is null");
2445 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5706);
2446 exit(1);
2447 } else {
2448 ((void (*)(val*, val*))(var_n_kwonce->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwonce, self) /* parent= on <var_n_kwonce:nullable TKwonce>*/;
2449 }
2450 if (var_n_expr == NULL) {
2451 fprintf(stderr, "Runtime error: %s", "Cast failed");
2452 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5707);
2453 exit(1);
2454 }
2455 self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AOnceExpr> */
2456 if (var_n_expr == NULL) {
2457 fprintf(stderr, "Runtime error: %s", "Reciever is null");
2458 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5708);
2459 exit(1);
2460 } else {
2461 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
2462 }
2463 RET_LABEL:;
2464 }
2465 /* method parser_prod#AOnceExpr#init_aonceexpr for (self: Object, nullable TKwonce, nullable AExpr) */
2466 void VIRTUAL_parser_prod__AOnceExpr__init_aonceexpr(val* self, val* p0, val* p1) {
2467 parser_prod__AOnceExpr__init_aonceexpr(self, p0, p1);
2468 RET_LABEL:;
2469 }
2470 /* method parser_prod#AOnceExpr#replace_child for (self: AOnceExpr, ANode, nullable ANode) */
2471 void parser_prod__AOnceExpr__replace_child(val* self, val* p0, val* p1) {
2472 val* var_old_child /* var old_child: ANode */;
2473 val* var_new_child /* var new_child: nullable ANode */;
2474 val* var /* : TKwonce */;
2475 short int var1 /* : Bool */;
2476 val* var2 /* : null */;
2477 short int var3 /* : Bool */;
2478 short int var4 /* : Bool */;
2479 int cltype;
2480 int idtype;
2481 val* var5 /* : AExpr */;
2482 short int var6 /* : Bool */;
2483 val* var7 /* : null */;
2484 short int var8 /* : Bool */;
2485 short int var9 /* : Bool */;
2486 int cltype10;
2487 int idtype11;
2488 var_old_child = p0;
2489 var_new_child = p1;
2490 var = self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val; /* _n_kwonce on <self:AOnceExpr> */
2491 if (var == NULL) {
2492 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwonce");
2493 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5713);
2494 exit(1);
2495 }
2496 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwonce>*/;
2497 if (var1){
2498 var2 = NULL;
2499 if (var_new_child == NULL) {
2500 var3 = 0; /* is null */
2501 } else {
2502 var3 = 1; /* arg is null and recv is not */
2503 }
2504 if (var3){
2505 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2506 /* <var_new_child:nullable ANode(ANode)> isa TKwonce */
2507 cltype = type_parser_nodes__TKwonce.color;
2508 idtype = type_parser_nodes__TKwonce.id;
2509 if(cltype >= var_new_child->type->table_size) {
2510 var4 = 0;
2511 } else {
2512 var4 = var_new_child->type->type_table[cltype] == idtype;
2513 }
2514 if (!var4) {
2515 fprintf(stderr, "Runtime error: %s", "Assert failed");
2516 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5716);
2517 exit(1);
2518 }
2519 self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val = var_new_child; /* _n_kwonce on <self:AOnceExpr> */
2520 } else {
2521 fprintf(stderr, "Runtime error: %s", "Aborted");
2522 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5719);
2523 exit(1);
2524 }
2525 goto RET_LABEL;
2526 } else {
2527 }
2528 var5 = self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val; /* _n_expr on <self:AOnceExpr> */
2529 if (var5 == NULL) {
2530 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
2531 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5723);
2532 exit(1);
2533 }
2534 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
2535 if (var6){
2536 var7 = NULL;
2537 if (var_new_child == NULL) {
2538 var8 = 0; /* is null */
2539 } else {
2540 var8 = 1; /* arg is null and recv is not */
2541 }
2542 if (var8){
2543 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2544 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2545 cltype10 = type_parser_nodes__AExpr.color;
2546 idtype11 = type_parser_nodes__AExpr.id;
2547 if(cltype10 >= var_new_child->type->table_size) {
2548 var9 = 0;
2549 } else {
2550 var9 = var_new_child->type->type_table[cltype10] == idtype11;
2551 }
2552 if (!var9) {
2553 fprintf(stderr, "Runtime error: %s", "Assert failed");
2554 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5726);
2555 exit(1);
2556 }
2557 self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val = var_new_child; /* _n_expr on <self:AOnceExpr> */
2558 } else {
2559 fprintf(stderr, "Runtime error: %s", "Aborted");
2560 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5729);
2561 exit(1);
2562 }
2563 goto RET_LABEL;
2564 } else {
2565 }
2566 RET_LABEL:;
2567 }
2568 /* method parser_prod#AOnceExpr#replace_child for (self: Object, ANode, nullable ANode) */
2569 void VIRTUAL_parser_prod__AOnceExpr__replace_child(val* self, val* p0, val* p1) {
2570 parser_prod__AOnceExpr__replace_child(self, p0, p1);
2571 RET_LABEL:;
2572 }
2573 /* method parser_prod#AOnceExpr#n_kwonce= for (self: AOnceExpr, TKwonce) */
2574 void parser_prod__AOnceExpr__n_kwonce_61d(val* self, val* p0) {
2575 val* var_node /* var node: TKwonce */;
2576 var_node = p0;
2577 self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val = var_node; /* _n_kwonce on <self:AOnceExpr> */
2578 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwonce>*/;
2579 RET_LABEL:;
2580 }
2581 /* method parser_prod#AOnceExpr#n_kwonce= for (self: Object, TKwonce) */
2582 void VIRTUAL_parser_prod__AOnceExpr__n_kwonce_61d(val* self, val* p0) {
2583 parser_prod__AOnceExpr__n_kwonce_61d(self, p0);
2584 RET_LABEL:;
2585 }
2586 /* method parser_prod#AOnceExpr#n_expr= for (self: AOnceExpr, AExpr) */
2587 void parser_prod__AOnceExpr__n_expr_61d(val* self, val* p0) {
2588 val* var_node /* var node: AExpr */;
2589 var_node = p0;
2590 self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val = var_node; /* _n_expr on <self:AOnceExpr> */
2591 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
2592 RET_LABEL:;
2593 }
2594 /* method parser_prod#AOnceExpr#n_expr= for (self: Object, AExpr) */
2595 void VIRTUAL_parser_prod__AOnceExpr__n_expr_61d(val* self, val* p0) {
2596 parser_prod__AOnceExpr__n_expr_61d(self, p0);
2597 RET_LABEL:;
2598 }
2599 /* method parser_prod#AOnceExpr#visit_all for (self: AOnceExpr, Visitor) */
2600 void parser_prod__AOnceExpr__visit_all(val* self, val* p0) {
2601 val* var_v /* var v: Visitor */;
2602 val* var /* : TKwonce */;
2603 val* var1 /* : AExpr */;
2604 var_v = p0;
2605 var = self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val; /* _n_kwonce on <self:AOnceExpr> */
2606 if (var == NULL) {
2607 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwonce");
2608 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5749);
2609 exit(1);
2610 }
2611 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
2612 var1 = self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val; /* _n_expr on <self:AOnceExpr> */
2613 if (var1 == NULL) {
2614 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
2615 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5750);
2616 exit(1);
2617 }
2618 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
2619 RET_LABEL:;
2620 }
2621 /* method parser_prod#AOnceExpr#visit_all for (self: Object, Visitor) */
2622 void VIRTUAL_parser_prod__AOnceExpr__visit_all(val* self, val* p0) {
2623 parser_prod__AOnceExpr__visit_all(self, p0);
2624 RET_LABEL:;
2625 }
2626 /* method parser_prod#ASendExpr#empty_init for (self: ASendExpr) */
2627 void parser_prod__ASendExpr__empty_init(val* self) {
2628 RET_LABEL:;
2629 }
2630 /* method parser_prod#ASendExpr#empty_init for (self: Object) */
2631 void VIRTUAL_parser_prod__ASendExpr__empty_init(val* self) {
2632 parser_prod__ASendExpr__empty_init(self);
2633 RET_LABEL:;
2634 }
2635 /* method parser_prod#ASendExpr#init_asendexpr for (self: ASendExpr, nullable AExpr) */
2636 void parser_prod__ASendExpr__init_asendexpr(val* self, val* p0) {
2637 val* var_n_expr /* var n_expr: nullable AExpr */;
2638 var_n_expr = p0;
2639 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ASendExpr__empty_init]))(self) /* empty_init on <self:ASendExpr>*/;
2640 if (var_n_expr == NULL) {
2641 fprintf(stderr, "Runtime error: %s", "Cast failed");
2642 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5761);
2643 exit(1);
2644 }
2645 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ASendExpr> */
2646 if (var_n_expr == NULL) {
2647 fprintf(stderr, "Runtime error: %s", "Reciever is null");
2648 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5762);
2649 exit(1);
2650 } else {
2651 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
2652 }
2653 RET_LABEL:;
2654 }
2655 /* method parser_prod#ASendExpr#init_asendexpr for (self: Object, nullable AExpr) */
2656 void VIRTUAL_parser_prod__ASendExpr__init_asendexpr(val* self, val* p0) {
2657 parser_prod__ASendExpr__init_asendexpr(self, p0);
2658 RET_LABEL:;
2659 }
2660 /* method parser_prod#ASendExpr#replace_child for (self: ASendExpr, ANode, nullable ANode) */
2661 void parser_prod__ASendExpr__replace_child(val* self, val* p0, val* p1) {
2662 val* var_old_child /* var old_child: ANode */;
2663 val* var_new_child /* var new_child: nullable ANode */;
2664 val* var /* : AExpr */;
2665 short int var1 /* : Bool */;
2666 val* var2 /* : null */;
2667 short int var3 /* : Bool */;
2668 short int var4 /* : Bool */;
2669 int cltype;
2670 int idtype;
2671 var_old_child = p0;
2672 var_new_child = p1;
2673 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ASendExpr> */
2674 if (var == NULL) {
2675 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
2676 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5767);
2677 exit(1);
2678 }
2679 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
2680 if (var1){
2681 var2 = NULL;
2682 if (var_new_child == NULL) {
2683 var3 = 0; /* is null */
2684 } else {
2685 var3 = 1; /* arg is null and recv is not */
2686 }
2687 if (var3){
2688 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2689 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2690 cltype = type_parser_nodes__AExpr.color;
2691 idtype = type_parser_nodes__AExpr.id;
2692 if(cltype >= var_new_child->type->table_size) {
2693 var4 = 0;
2694 } else {
2695 var4 = var_new_child->type->type_table[cltype] == idtype;
2696 }
2697 if (!var4) {
2698 fprintf(stderr, "Runtime error: %s", "Assert failed");
2699 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5770);
2700 exit(1);
2701 }
2702 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ASendExpr> */
2703 } else {
2704 fprintf(stderr, "Runtime error: %s", "Aborted");
2705 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5773);
2706 exit(1);
2707 }
2708 goto RET_LABEL;
2709 } else {
2710 }
2711 RET_LABEL:;
2712 }
2713 /* method parser_prod#ASendExpr#replace_child for (self: Object, ANode, nullable ANode) */
2714 void VIRTUAL_parser_prod__ASendExpr__replace_child(val* self, val* p0, val* p1) {
2715 parser_prod__ASendExpr__replace_child(self, p0, p1);
2716 RET_LABEL:;
2717 }
2718 /* method parser_prod#ASendExpr#n_expr= for (self: ASendExpr, AExpr) */
2719 void parser_prod__ASendExpr__n_expr_61d(val* self, val* p0) {
2720 val* var_node /* var node: AExpr */;
2721 var_node = p0;
2722 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ASendExpr> */
2723 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
2724 RET_LABEL:;
2725 }
2726 /* method parser_prod#ASendExpr#n_expr= for (self: Object, AExpr) */
2727 void VIRTUAL_parser_prod__ASendExpr__n_expr_61d(val* self, val* p0) {
2728 parser_prod__ASendExpr__n_expr_61d(self, p0);
2729 RET_LABEL:;
2730 }
2731 /* method parser_prod#ASendExpr#visit_all for (self: ASendExpr, Visitor) */
2732 void parser_prod__ASendExpr__visit_all(val* self, val* p0) {
2733 val* var_v /* var v: Visitor */;
2734 val* var /* : AExpr */;
2735 var_v = p0;
2736 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ASendExpr> */
2737 if (var == NULL) {
2738 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
2739 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5788);
2740 exit(1);
2741 }
2742 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
2743 RET_LABEL:;
2744 }
2745 /* method parser_prod#ASendExpr#visit_all for (self: Object, Visitor) */
2746 void VIRTUAL_parser_prod__ASendExpr__visit_all(val* self, val* p0) {
2747 parser_prod__ASendExpr__visit_all(self, p0);
2748 RET_LABEL:;
2749 }
2750 /* method parser_prod#ABinopExpr#empty_init for (self: ABinopExpr) */
2751 void parser_prod__ABinopExpr__empty_init(val* self) {
2752 RET_LABEL:;
2753 }
2754 /* method parser_prod#ABinopExpr#empty_init for (self: Object) */
2755 void VIRTUAL_parser_prod__ABinopExpr__empty_init(val* self) {
2756 parser_prod__ABinopExpr__empty_init(self);
2757 RET_LABEL:;
2758 }
2759 /* method parser_prod#ABinopExpr#init_abinopexpr for (self: ABinopExpr, nullable AExpr, nullable AExpr) */
2760 void parser_prod__ABinopExpr__init_abinopexpr(val* self, val* p0, val* p1) {
2761 val* var_n_expr /* var n_expr: nullable AExpr */;
2762 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
2763 var_n_expr = p0;
2764 var_n_expr2 = p1;
2765 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ABinopExpr__empty_init]))(self) /* empty_init on <self:ABinopExpr>*/;
2766 if (var_n_expr == NULL) {
2767 fprintf(stderr, "Runtime error: %s", "Cast failed");
2768 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5800);
2769 exit(1);
2770 }
2771 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ABinopExpr> */
2772 if (var_n_expr == NULL) {
2773 fprintf(stderr, "Runtime error: %s", "Reciever is null");
2774 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5801);
2775 exit(1);
2776 } else {
2777 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
2778 }
2779 if (var_n_expr2 == NULL) {
2780 fprintf(stderr, "Runtime error: %s", "Cast failed");
2781 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5802);
2782 exit(1);
2783 }
2784 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ABinopExpr> */
2785 if (var_n_expr2 == NULL) {
2786 fprintf(stderr, "Runtime error: %s", "Reciever is null");
2787 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5803);
2788 exit(1);
2789 } else {
2790 ((void (*)(val*, val*))(var_n_expr2->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr2, self) /* parent= on <var_n_expr2:nullable AExpr>*/;
2791 }
2792 RET_LABEL:;
2793 }
2794 /* method parser_prod#ABinopExpr#init_abinopexpr for (self: Object, nullable AExpr, nullable AExpr) */
2795 void VIRTUAL_parser_prod__ABinopExpr__init_abinopexpr(val* self, val* p0, val* p1) {
2796 parser_prod__ABinopExpr__init_abinopexpr(self, p0, p1);
2797 RET_LABEL:;
2798 }
2799 /* method parser_prod#ABinopExpr#replace_child for (self: ABinopExpr, ANode, nullable ANode) */
2800 void parser_prod__ABinopExpr__replace_child(val* self, val* p0, val* p1) {
2801 val* var_old_child /* var old_child: ANode */;
2802 val* var_new_child /* var new_child: nullable ANode */;
2803 val* var /* : AExpr */;
2804 short int var1 /* : Bool */;
2805 val* var2 /* : null */;
2806 short int var3 /* : Bool */;
2807 short int var4 /* : Bool */;
2808 int cltype;
2809 int idtype;
2810 val* var5 /* : AExpr */;
2811 short int var6 /* : Bool */;
2812 val* var7 /* : null */;
2813 short int var8 /* : Bool */;
2814 short int var9 /* : Bool */;
2815 int cltype10;
2816 int idtype11;
2817 var_old_child = p0;
2818 var_new_child = p1;
2819 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABinopExpr> */
2820 if (var == NULL) {
2821 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
2822 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5808);
2823 exit(1);
2824 }
2825 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
2826 if (var1){
2827 var2 = NULL;
2828 if (var_new_child == NULL) {
2829 var3 = 0; /* is null */
2830 } else {
2831 var3 = 1; /* arg is null and recv is not */
2832 }
2833 if (var3){
2834 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2835 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2836 cltype = type_parser_nodes__AExpr.color;
2837 idtype = type_parser_nodes__AExpr.id;
2838 if(cltype >= var_new_child->type->table_size) {
2839 var4 = 0;
2840 } else {
2841 var4 = var_new_child->type->type_table[cltype] == idtype;
2842 }
2843 if (!var4) {
2844 fprintf(stderr, "Runtime error: %s", "Assert failed");
2845 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5811);
2846 exit(1);
2847 }
2848 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ABinopExpr> */
2849 } else {
2850 fprintf(stderr, "Runtime error: %s", "Aborted");
2851 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5814);
2852 exit(1);
2853 }
2854 goto RET_LABEL;
2855 } else {
2856 }
2857 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ABinopExpr> */
2858 if (var5 == NULL) {
2859 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
2860 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5818);
2861 exit(1);
2862 }
2863 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
2864 if (var6){
2865 var7 = NULL;
2866 if (var_new_child == NULL) {
2867 var8 = 0; /* is null */
2868 } else {
2869 var8 = 1; /* arg is null and recv is not */
2870 }
2871 if (var8){
2872 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
2873 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2874 cltype10 = type_parser_nodes__AExpr.color;
2875 idtype11 = type_parser_nodes__AExpr.id;
2876 if(cltype10 >= var_new_child->type->table_size) {
2877 var9 = 0;
2878 } else {
2879 var9 = var_new_child->type->type_table[cltype10] == idtype11;
2880 }
2881 if (!var9) {
2882 fprintf(stderr, "Runtime error: %s", "Assert failed");
2883 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5821);
2884 exit(1);
2885 }
2886 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:ABinopExpr> */
2887 } else {
2888 fprintf(stderr, "Runtime error: %s", "Aborted");
2889 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5824);
2890 exit(1);
2891 }
2892 goto RET_LABEL;
2893 } else {
2894 }
2895 RET_LABEL:;
2896 }
2897 /* method parser_prod#ABinopExpr#replace_child for (self: Object, ANode, nullable ANode) */
2898 void VIRTUAL_parser_prod__ABinopExpr__replace_child(val* self, val* p0, val* p1) {
2899 parser_prod__ABinopExpr__replace_child(self, p0, p1);
2900 RET_LABEL:;
2901 }
2902 /* method parser_prod#ABinopExpr#n_expr= for (self: ABinopExpr, AExpr) */
2903 void parser_prod__ABinopExpr__n_expr_61d(val* self, val* p0) {
2904 val* var_node /* var node: AExpr */;
2905 var_node = p0;
2906 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ABinopExpr> */
2907 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
2908 RET_LABEL:;
2909 }
2910 /* method parser_prod#ABinopExpr#n_expr= for (self: Object, AExpr) */
2911 void VIRTUAL_parser_prod__ABinopExpr__n_expr_61d(val* self, val* p0) {
2912 parser_prod__ABinopExpr__n_expr_61d(self, p0);
2913 RET_LABEL:;
2914 }
2915 /* method parser_prod#ABinopExpr#n_expr2= for (self: ABinopExpr, AExpr) */
2916 void parser_prod__ABinopExpr__n_expr2_61d(val* self, val* p0) {
2917 val* var_node /* var node: AExpr */;
2918 var_node = p0;
2919 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ABinopExpr> */
2920 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
2921 RET_LABEL:;
2922 }
2923 /* method parser_prod#ABinopExpr#n_expr2= for (self: Object, AExpr) */
2924 void VIRTUAL_parser_prod__ABinopExpr__n_expr2_61d(val* self, val* p0) {
2925 parser_prod__ABinopExpr__n_expr2_61d(self, p0);
2926 RET_LABEL:;
2927 }
2928 /* method parser_prod#ABinopExpr#visit_all for (self: ABinopExpr, Visitor) */
2929 void parser_prod__ABinopExpr__visit_all(val* self, val* p0) {
2930 val* var_v /* var v: Visitor */;
2931 val* var /* : AExpr */;
2932 val* var1 /* : AExpr */;
2933 var_v = p0;
2934 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABinopExpr> */
2935 if (var == NULL) {
2936 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
2937 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5844);
2938 exit(1);
2939 }
2940 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
2941 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ABinopExpr> */
2942 if (var1 == NULL) {
2943 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
2944 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5845);
2945 exit(1);
2946 }
2947 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
2948 RET_LABEL:;
2949 }
2950 /* method parser_prod#ABinopExpr#visit_all for (self: Object, Visitor) */
2951 void VIRTUAL_parser_prod__ABinopExpr__visit_all(val* self, val* p0) {
2952 parser_prod__ABinopExpr__visit_all(self, p0);
2953 RET_LABEL:;
2954 }
2955 /* method parser_prod#AOrExpr#empty_init for (self: AOrExpr) */
2956 void parser_prod__AOrExpr__empty_init(val* self) {
2957 RET_LABEL:;
2958 }
2959 /* method parser_prod#AOrExpr#empty_init for (self: Object) */
2960 void VIRTUAL_parser_prod__AOrExpr__empty_init(val* self) {
2961 parser_prod__AOrExpr__empty_init(self);
2962 RET_LABEL:;
2963 }
2964 /* method parser_prod#AOrExpr#init_aorexpr for (self: AOrExpr, nullable AExpr, nullable AExpr) */
2965 void parser_prod__AOrExpr__init_aorexpr(val* self, val* p0, val* p1) {
2966 val* var_n_expr /* var n_expr: nullable AExpr */;
2967 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
2968 var_n_expr = p0;
2969 var_n_expr2 = p1;
2970 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AOrExpr__empty_init]))(self) /* empty_init on <self:AOrExpr>*/;
2971 if (var_n_expr == NULL) {
2972 fprintf(stderr, "Runtime error: %s", "Cast failed");
2973 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5857);
2974 exit(1);
2975 }
2976 self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AOrExpr> */
2977 if (var_n_expr == NULL) {
2978 fprintf(stderr, "Runtime error: %s", "Reciever is null");
2979 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5858);
2980 exit(1);
2981 } else {
2982 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
2983 }
2984 if (var_n_expr2 == NULL) {
2985 fprintf(stderr, "Runtime error: %s", "Cast failed");
2986 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5859);
2987 exit(1);
2988 }
2989 self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AOrExpr> */
2990 if (var_n_expr2 == NULL) {
2991 fprintf(stderr, "Runtime error: %s", "Reciever is null");
2992 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5860);
2993 exit(1);
2994 } else {
2995 ((void (*)(val*, val*))(var_n_expr2->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr2, self) /* parent= on <var_n_expr2:nullable AExpr>*/;
2996 }
2997 RET_LABEL:;
2998 }
2999 /* method parser_prod#AOrExpr#init_aorexpr for (self: Object, nullable AExpr, nullable AExpr) */
3000 void VIRTUAL_parser_prod__AOrExpr__init_aorexpr(val* self, val* p0, val* p1) {
3001 parser_prod__AOrExpr__init_aorexpr(self, p0, p1);
3002 RET_LABEL:;
3003 }
3004 /* method parser_prod#AOrExpr#replace_child for (self: AOrExpr, ANode, nullable ANode) */
3005 void parser_prod__AOrExpr__replace_child(val* self, val* p0, val* p1) {
3006 val* var_old_child /* var old_child: ANode */;
3007 val* var_new_child /* var new_child: nullable ANode */;
3008 val* var /* : AExpr */;
3009 short int var1 /* : Bool */;
3010 val* var2 /* : null */;
3011 short int var3 /* : Bool */;
3012 short int var4 /* : Bool */;
3013 int cltype;
3014 int idtype;
3015 val* var5 /* : AExpr */;
3016 short int var6 /* : Bool */;
3017 val* var7 /* : null */;
3018 short int var8 /* : Bool */;
3019 short int var9 /* : Bool */;
3020 int cltype10;
3021 int idtype11;
3022 var_old_child = p0;
3023 var_new_child = p1;
3024 var = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val; /* _n_expr on <self:AOrExpr> */
3025 if (var == NULL) {
3026 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
3027 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5865);
3028 exit(1);
3029 }
3030 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
3031 if (var1){
3032 var2 = NULL;
3033 if (var_new_child == NULL) {
3034 var3 = 0; /* is null */
3035 } else {
3036 var3 = 1; /* arg is null and recv is not */
3037 }
3038 if (var3){
3039 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3040 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3041 cltype = type_parser_nodes__AExpr.color;
3042 idtype = type_parser_nodes__AExpr.id;
3043 if(cltype >= var_new_child->type->table_size) {
3044 var4 = 0;
3045 } else {
3046 var4 = var_new_child->type->type_table[cltype] == idtype;
3047 }
3048 if (!var4) {
3049 fprintf(stderr, "Runtime error: %s", "Assert failed");
3050 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5868);
3051 exit(1);
3052 }
3053 self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val = var_new_child; /* _n_expr on <self:AOrExpr> */
3054 } else {
3055 fprintf(stderr, "Runtime error: %s", "Aborted");
3056 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5871);
3057 exit(1);
3058 }
3059 goto RET_LABEL;
3060 } else {
3061 }
3062 var5 = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val; /* _n_expr2 on <self:AOrExpr> */
3063 if (var5 == NULL) {
3064 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
3065 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5875);
3066 exit(1);
3067 }
3068 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
3069 if (var6){
3070 var7 = NULL;
3071 if (var_new_child == NULL) {
3072 var8 = 0; /* is null */
3073 } else {
3074 var8 = 1; /* arg is null and recv is not */
3075 }
3076 if (var8){
3077 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3078 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3079 cltype10 = type_parser_nodes__AExpr.color;
3080 idtype11 = type_parser_nodes__AExpr.id;
3081 if(cltype10 >= var_new_child->type->table_size) {
3082 var9 = 0;
3083 } else {
3084 var9 = var_new_child->type->type_table[cltype10] == idtype11;
3085 }
3086 if (!var9) {
3087 fprintf(stderr, "Runtime error: %s", "Assert failed");
3088 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5878);
3089 exit(1);
3090 }
3091 self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AOrExpr> */
3092 } else {
3093 fprintf(stderr, "Runtime error: %s", "Aborted");
3094 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5881);
3095 exit(1);
3096 }
3097 goto RET_LABEL;
3098 } else {
3099 }
3100 RET_LABEL:;
3101 }
3102 /* method parser_prod#AOrExpr#replace_child for (self: Object, ANode, nullable ANode) */
3103 void VIRTUAL_parser_prod__AOrExpr__replace_child(val* self, val* p0, val* p1) {
3104 parser_prod__AOrExpr__replace_child(self, p0, p1);
3105 RET_LABEL:;
3106 }
3107 /* method parser_prod#AOrExpr#n_expr= for (self: AOrExpr, AExpr) */
3108 void parser_prod__AOrExpr__n_expr_61d(val* self, val* p0) {
3109 val* var_node /* var node: AExpr */;
3110 var_node = p0;
3111 self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val = var_node; /* _n_expr on <self:AOrExpr> */
3112 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3113 RET_LABEL:;
3114 }
3115 /* method parser_prod#AOrExpr#n_expr= for (self: Object, AExpr) */
3116 void VIRTUAL_parser_prod__AOrExpr__n_expr_61d(val* self, val* p0) {
3117 parser_prod__AOrExpr__n_expr_61d(self, p0);
3118 RET_LABEL:;
3119 }
3120 /* method parser_prod#AOrExpr#n_expr2= for (self: AOrExpr, AExpr) */
3121 void parser_prod__AOrExpr__n_expr2_61d(val* self, val* p0) {
3122 val* var_node /* var node: AExpr */;
3123 var_node = p0;
3124 self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AOrExpr> */
3125 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3126 RET_LABEL:;
3127 }
3128 /* method parser_prod#AOrExpr#n_expr2= for (self: Object, AExpr) */
3129 void VIRTUAL_parser_prod__AOrExpr__n_expr2_61d(val* self, val* p0) {
3130 parser_prod__AOrExpr__n_expr2_61d(self, p0);
3131 RET_LABEL:;
3132 }
3133 /* method parser_prod#AOrExpr#visit_all for (self: AOrExpr, Visitor) */
3134 void parser_prod__AOrExpr__visit_all(val* self, val* p0) {
3135 val* var_v /* var v: Visitor */;
3136 val* var /* : AExpr */;
3137 val* var1 /* : AExpr */;
3138 var_v = p0;
3139 var = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val; /* _n_expr on <self:AOrExpr> */
3140 if (var == NULL) {
3141 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
3142 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5901);
3143 exit(1);
3144 }
3145 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3146 var1 = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val; /* _n_expr2 on <self:AOrExpr> */
3147 if (var1 == NULL) {
3148 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
3149 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5902);
3150 exit(1);
3151 }
3152 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
3153 RET_LABEL:;
3154 }
3155 /* method parser_prod#AOrExpr#visit_all for (self: Object, Visitor) */
3156 void VIRTUAL_parser_prod__AOrExpr__visit_all(val* self, val* p0) {
3157 parser_prod__AOrExpr__visit_all(self, p0);
3158 RET_LABEL:;
3159 }
3160 /* method parser_prod#AAndExpr#empty_init for (self: AAndExpr) */
3161 void parser_prod__AAndExpr__empty_init(val* self) {
3162 RET_LABEL:;
3163 }
3164 /* method parser_prod#AAndExpr#empty_init for (self: Object) */
3165 void VIRTUAL_parser_prod__AAndExpr__empty_init(val* self) {
3166 parser_prod__AAndExpr__empty_init(self);
3167 RET_LABEL:;
3168 }
3169 /* method parser_prod#AAndExpr#init_aandexpr for (self: AAndExpr, nullable AExpr, nullable AExpr) */
3170 void parser_prod__AAndExpr__init_aandexpr(val* self, val* p0, val* p1) {
3171 val* var_n_expr /* var n_expr: nullable AExpr */;
3172 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
3173 var_n_expr = p0;
3174 var_n_expr2 = p1;
3175 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAndExpr__empty_init]))(self) /* empty_init on <self:AAndExpr>*/;
3176 if (var_n_expr == NULL) {
3177 fprintf(stderr, "Runtime error: %s", "Cast failed");
3178 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5914);
3179 exit(1);
3180 }
3181 self->attrs[COLOR_parser_nodes__AAndExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAndExpr> */
3182 if (var_n_expr == NULL) {
3183 fprintf(stderr, "Runtime error: %s", "Reciever is null");
3184 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5915);
3185 exit(1);
3186 } else {
3187 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
3188 }
3189 if (var_n_expr2 == NULL) {
3190 fprintf(stderr, "Runtime error: %s", "Cast failed");
3191 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5916);
3192 exit(1);
3193 }
3194 self->attrs[COLOR_parser_nodes__AAndExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AAndExpr> */
3195 if (var_n_expr2 == NULL) {
3196 fprintf(stderr, "Runtime error: %s", "Reciever is null");
3197 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5917);
3198 exit(1);
3199 } else {
3200 ((void (*)(val*, val*))(var_n_expr2->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr2, self) /* parent= on <var_n_expr2:nullable AExpr>*/;
3201 }
3202 RET_LABEL:;
3203 }
3204 /* method parser_prod#AAndExpr#init_aandexpr for (self: Object, nullable AExpr, nullable AExpr) */
3205 void VIRTUAL_parser_prod__AAndExpr__init_aandexpr(val* self, val* p0, val* p1) {
3206 parser_prod__AAndExpr__init_aandexpr(self, p0, p1);
3207 RET_LABEL:;
3208 }
3209 /* method parser_prod#AAndExpr#replace_child for (self: AAndExpr, ANode, nullable ANode) */
3210 void parser_prod__AAndExpr__replace_child(val* self, val* p0, val* p1) {
3211 val* var_old_child /* var old_child: ANode */;
3212 val* var_new_child /* var new_child: nullable ANode */;
3213 val* var /* : AExpr */;
3214 short int var1 /* : Bool */;
3215 val* var2 /* : null */;
3216 short int var3 /* : Bool */;
3217 short int var4 /* : Bool */;
3218 int cltype;
3219 int idtype;
3220 val* var5 /* : AExpr */;
3221 short int var6 /* : Bool */;
3222 val* var7 /* : null */;
3223 short int var8 /* : Bool */;
3224 short int var9 /* : Bool */;
3225 int cltype10;
3226 int idtype11;
3227 var_old_child = p0;
3228 var_new_child = p1;
3229 var = self->attrs[COLOR_parser_nodes__AAndExpr___n_expr].val; /* _n_expr on <self:AAndExpr> */
3230 if (var == NULL) {
3231 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
3232 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5922);
3233 exit(1);
3234 }
3235 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
3236 if (var1){
3237 var2 = NULL;
3238 if (var_new_child == NULL) {
3239 var3 = 0; /* is null */
3240 } else {
3241 var3 = 1; /* arg is null and recv is not */
3242 }
3243 if (var3){
3244 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3245 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3246 cltype = type_parser_nodes__AExpr.color;
3247 idtype = type_parser_nodes__AExpr.id;
3248 if(cltype >= var_new_child->type->table_size) {
3249 var4 = 0;
3250 } else {
3251 var4 = var_new_child->type->type_table[cltype] == idtype;
3252 }
3253 if (!var4) {
3254 fprintf(stderr, "Runtime error: %s", "Assert failed");
3255 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5925);
3256 exit(1);
3257 }
3258 self->attrs[COLOR_parser_nodes__AAndExpr___n_expr].val = var_new_child; /* _n_expr on <self:AAndExpr> */
3259 } else {
3260 fprintf(stderr, "Runtime error: %s", "Aborted");
3261 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5928);
3262 exit(1);
3263 }
3264 goto RET_LABEL;
3265 } else {
3266 }
3267 var5 = self->attrs[COLOR_parser_nodes__AAndExpr___n_expr2].val; /* _n_expr2 on <self:AAndExpr> */
3268 if (var5 == NULL) {
3269 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
3270 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5932);
3271 exit(1);
3272 }
3273 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
3274 if (var6){
3275 var7 = NULL;
3276 if (var_new_child == NULL) {
3277 var8 = 0; /* is null */
3278 } else {
3279 var8 = 1; /* arg is null and recv is not */
3280 }
3281 if (var8){
3282 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3283 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3284 cltype10 = type_parser_nodes__AExpr.color;
3285 idtype11 = type_parser_nodes__AExpr.id;
3286 if(cltype10 >= var_new_child->type->table_size) {
3287 var9 = 0;
3288 } else {
3289 var9 = var_new_child->type->type_table[cltype10] == idtype11;
3290 }
3291 if (!var9) {
3292 fprintf(stderr, "Runtime error: %s", "Assert failed");
3293 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5935);
3294 exit(1);
3295 }
3296 self->attrs[COLOR_parser_nodes__AAndExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AAndExpr> */
3297 } else {
3298 fprintf(stderr, "Runtime error: %s", "Aborted");
3299 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5938);
3300 exit(1);
3301 }
3302 goto RET_LABEL;
3303 } else {
3304 }
3305 RET_LABEL:;
3306 }
3307 /* method parser_prod#AAndExpr#replace_child for (self: Object, ANode, nullable ANode) */
3308 void VIRTUAL_parser_prod__AAndExpr__replace_child(val* self, val* p0, val* p1) {
3309 parser_prod__AAndExpr__replace_child(self, p0, p1);
3310 RET_LABEL:;
3311 }
3312 /* method parser_prod#AAndExpr#n_expr= for (self: AAndExpr, AExpr) */
3313 void parser_prod__AAndExpr__n_expr_61d(val* self, val* p0) {
3314 val* var_node /* var node: AExpr */;
3315 var_node = p0;
3316 self->attrs[COLOR_parser_nodes__AAndExpr___n_expr].val = var_node; /* _n_expr on <self:AAndExpr> */
3317 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3318 RET_LABEL:;
3319 }
3320 /* method parser_prod#AAndExpr#n_expr= for (self: Object, AExpr) */
3321 void VIRTUAL_parser_prod__AAndExpr__n_expr_61d(val* self, val* p0) {
3322 parser_prod__AAndExpr__n_expr_61d(self, p0);
3323 RET_LABEL:;
3324 }
3325 /* method parser_prod#AAndExpr#n_expr2= for (self: AAndExpr, AExpr) */
3326 void parser_prod__AAndExpr__n_expr2_61d(val* self, val* p0) {
3327 val* var_node /* var node: AExpr */;
3328 var_node = p0;
3329 self->attrs[COLOR_parser_nodes__AAndExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AAndExpr> */
3330 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3331 RET_LABEL:;
3332 }
3333 /* method parser_prod#AAndExpr#n_expr2= for (self: Object, AExpr) */
3334 void VIRTUAL_parser_prod__AAndExpr__n_expr2_61d(val* self, val* p0) {
3335 parser_prod__AAndExpr__n_expr2_61d(self, p0);
3336 RET_LABEL:;
3337 }
3338 /* method parser_prod#AAndExpr#visit_all for (self: AAndExpr, Visitor) */
3339 void parser_prod__AAndExpr__visit_all(val* self, val* p0) {
3340 val* var_v /* var v: Visitor */;
3341 val* var /* : AExpr */;
3342 val* var1 /* : AExpr */;
3343 var_v = p0;
3344 var = self->attrs[COLOR_parser_nodes__AAndExpr___n_expr].val; /* _n_expr on <self:AAndExpr> */
3345 if (var == NULL) {
3346 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
3347 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5958);
3348 exit(1);
3349 }
3350 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3351 var1 = self->attrs[COLOR_parser_nodes__AAndExpr___n_expr2].val; /* _n_expr2 on <self:AAndExpr> */
3352 if (var1 == NULL) {
3353 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
3354 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5959);
3355 exit(1);
3356 }
3357 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
3358 RET_LABEL:;
3359 }
3360 /* method parser_prod#AAndExpr#visit_all for (self: Object, Visitor) */
3361 void VIRTUAL_parser_prod__AAndExpr__visit_all(val* self, val* p0) {
3362 parser_prod__AAndExpr__visit_all(self, p0);
3363 RET_LABEL:;
3364 }
3365 /* method parser_prod#AOrElseExpr#empty_init for (self: AOrElseExpr) */
3366 void parser_prod__AOrElseExpr__empty_init(val* self) {
3367 RET_LABEL:;
3368 }
3369 /* method parser_prod#AOrElseExpr#empty_init for (self: Object) */
3370 void VIRTUAL_parser_prod__AOrElseExpr__empty_init(val* self) {
3371 parser_prod__AOrElseExpr__empty_init(self);
3372 RET_LABEL:;
3373 }
3374 /* method parser_prod#AOrElseExpr#init_aorelseexpr for (self: AOrElseExpr, nullable AExpr, nullable AExpr) */
3375 void parser_prod__AOrElseExpr__init_aorelseexpr(val* self, val* p0, val* p1) {
3376 val* var_n_expr /* var n_expr: nullable AExpr */;
3377 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
3378 var_n_expr = p0;
3379 var_n_expr2 = p1;
3380 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AOrElseExpr__empty_init]))(self) /* empty_init on <self:AOrElseExpr>*/;
3381 if (var_n_expr == NULL) {
3382 fprintf(stderr, "Runtime error: %s", "Cast failed");
3383 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5971);
3384 exit(1);
3385 }
3386 self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AOrElseExpr> */
3387 if (var_n_expr == NULL) {
3388 fprintf(stderr, "Runtime error: %s", "Reciever is null");
3389 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5972);
3390 exit(1);
3391 } else {
3392 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
3393 }
3394 if (var_n_expr2 == NULL) {
3395 fprintf(stderr, "Runtime error: %s", "Cast failed");
3396 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5973);
3397 exit(1);
3398 }
3399 self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AOrElseExpr> */
3400 if (var_n_expr2 == NULL) {
3401 fprintf(stderr, "Runtime error: %s", "Reciever is null");
3402 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5974);
3403 exit(1);
3404 } else {
3405 ((void (*)(val*, val*))(var_n_expr2->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr2, self) /* parent= on <var_n_expr2:nullable AExpr>*/;
3406 }
3407 RET_LABEL:;
3408 }
3409 /* method parser_prod#AOrElseExpr#init_aorelseexpr for (self: Object, nullable AExpr, nullable AExpr) */
3410 void VIRTUAL_parser_prod__AOrElseExpr__init_aorelseexpr(val* self, val* p0, val* p1) {
3411 parser_prod__AOrElseExpr__init_aorelseexpr(self, p0, p1);
3412 RET_LABEL:;
3413 }
3414 /* method parser_prod#AOrElseExpr#replace_child for (self: AOrElseExpr, ANode, nullable ANode) */
3415 void parser_prod__AOrElseExpr__replace_child(val* self, val* p0, val* p1) {
3416 val* var_old_child /* var old_child: ANode */;
3417 val* var_new_child /* var new_child: nullable ANode */;
3418 val* var /* : AExpr */;
3419 short int var1 /* : Bool */;
3420 val* var2 /* : null */;
3421 short int var3 /* : Bool */;
3422 short int var4 /* : Bool */;
3423 int cltype;
3424 int idtype;
3425 val* var5 /* : AExpr */;
3426 short int var6 /* : Bool */;
3427 val* var7 /* : null */;
3428 short int var8 /* : Bool */;
3429 short int var9 /* : Bool */;
3430 int cltype10;
3431 int idtype11;
3432 var_old_child = p0;
3433 var_new_child = p1;
3434 var = self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr].val; /* _n_expr on <self:AOrElseExpr> */
3435 if (var == NULL) {
3436 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
3437 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5979);
3438 exit(1);
3439 }
3440 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
3441 if (var1){
3442 var2 = NULL;
3443 if (var_new_child == NULL) {
3444 var3 = 0; /* is null */
3445 } else {
3446 var3 = 1; /* arg is null and recv is not */
3447 }
3448 if (var3){
3449 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3450 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3451 cltype = type_parser_nodes__AExpr.color;
3452 idtype = type_parser_nodes__AExpr.id;
3453 if(cltype >= var_new_child->type->table_size) {
3454 var4 = 0;
3455 } else {
3456 var4 = var_new_child->type->type_table[cltype] == idtype;
3457 }
3458 if (!var4) {
3459 fprintf(stderr, "Runtime error: %s", "Assert failed");
3460 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5982);
3461 exit(1);
3462 }
3463 self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr].val = var_new_child; /* _n_expr on <self:AOrElseExpr> */
3464 } else {
3465 fprintf(stderr, "Runtime error: %s", "Aborted");
3466 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5985);
3467 exit(1);
3468 }
3469 goto RET_LABEL;
3470 } else {
3471 }
3472 var5 = self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr2].val; /* _n_expr2 on <self:AOrElseExpr> */
3473 if (var5 == NULL) {
3474 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
3475 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5989);
3476 exit(1);
3477 }
3478 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
3479 if (var6){
3480 var7 = NULL;
3481 if (var_new_child == NULL) {
3482 var8 = 0; /* is null */
3483 } else {
3484 var8 = 1; /* arg is null and recv is not */
3485 }
3486 if (var8){
3487 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3488 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3489 cltype10 = type_parser_nodes__AExpr.color;
3490 idtype11 = type_parser_nodes__AExpr.id;
3491 if(cltype10 >= var_new_child->type->table_size) {
3492 var9 = 0;
3493 } else {
3494 var9 = var_new_child->type->type_table[cltype10] == idtype11;
3495 }
3496 if (!var9) {
3497 fprintf(stderr, "Runtime error: %s", "Assert failed");
3498 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5992);
3499 exit(1);
3500 }
3501 self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AOrElseExpr> */
3502 } else {
3503 fprintf(stderr, "Runtime error: %s", "Aborted");
3504 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5995);
3505 exit(1);
3506 }
3507 goto RET_LABEL;
3508 } else {
3509 }
3510 RET_LABEL:;
3511 }
3512 /* method parser_prod#AOrElseExpr#replace_child for (self: Object, ANode, nullable ANode) */
3513 void VIRTUAL_parser_prod__AOrElseExpr__replace_child(val* self, val* p0, val* p1) {
3514 parser_prod__AOrElseExpr__replace_child(self, p0, p1);
3515 RET_LABEL:;
3516 }
3517 /* method parser_prod#AOrElseExpr#n_expr= for (self: AOrElseExpr, AExpr) */
3518 void parser_prod__AOrElseExpr__n_expr_61d(val* self, val* p0) {
3519 val* var_node /* var node: AExpr */;
3520 var_node = p0;
3521 self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr].val = var_node; /* _n_expr on <self:AOrElseExpr> */
3522 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3523 RET_LABEL:;
3524 }
3525 /* method parser_prod#AOrElseExpr#n_expr= for (self: Object, AExpr) */
3526 void VIRTUAL_parser_prod__AOrElseExpr__n_expr_61d(val* self, val* p0) {
3527 parser_prod__AOrElseExpr__n_expr_61d(self, p0);
3528 RET_LABEL:;
3529 }
3530 /* method parser_prod#AOrElseExpr#n_expr2= for (self: AOrElseExpr, AExpr) */
3531 void parser_prod__AOrElseExpr__n_expr2_61d(val* self, val* p0) {
3532 val* var_node /* var node: AExpr */;
3533 var_node = p0;
3534 self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AOrElseExpr> */
3535 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3536 RET_LABEL:;
3537 }
3538 /* method parser_prod#AOrElseExpr#n_expr2= for (self: Object, AExpr) */
3539 void VIRTUAL_parser_prod__AOrElseExpr__n_expr2_61d(val* self, val* p0) {
3540 parser_prod__AOrElseExpr__n_expr2_61d(self, p0);
3541 RET_LABEL:;
3542 }
3543 /* method parser_prod#AOrElseExpr#visit_all for (self: AOrElseExpr, Visitor) */
3544 void parser_prod__AOrElseExpr__visit_all(val* self, val* p0) {
3545 val* var_v /* var v: Visitor */;
3546 val* var /* : AExpr */;
3547 val* var1 /* : AExpr */;
3548 var_v = p0;
3549 var = self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr].val; /* _n_expr on <self:AOrElseExpr> */
3550 if (var == NULL) {
3551 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
3552 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6015);
3553 exit(1);
3554 }
3555 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3556 var1 = self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr2].val; /* _n_expr2 on <self:AOrElseExpr> */
3557 if (var1 == NULL) {
3558 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
3559 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6016);
3560 exit(1);
3561 }
3562 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
3563 RET_LABEL:;
3564 }
3565 /* method parser_prod#AOrElseExpr#visit_all for (self: Object, Visitor) */
3566 void VIRTUAL_parser_prod__AOrElseExpr__visit_all(val* self, val* p0) {
3567 parser_prod__AOrElseExpr__visit_all(self, p0);
3568 RET_LABEL:;
3569 }
3570 /* method parser_prod#AImpliesExpr#empty_init for (self: AImpliesExpr) */
3571 void parser_prod__AImpliesExpr__empty_init(val* self) {
3572 RET_LABEL:;
3573 }
3574 /* method parser_prod#AImpliesExpr#empty_init for (self: Object) */
3575 void VIRTUAL_parser_prod__AImpliesExpr__empty_init(val* self) {
3576 parser_prod__AImpliesExpr__empty_init(self);
3577 RET_LABEL:;
3578 }
3579 /* method parser_prod#AImpliesExpr#init_aimpliesexpr for (self: AImpliesExpr, nullable AExpr, nullable AExpr) */
3580 void parser_prod__AImpliesExpr__init_aimpliesexpr(val* self, val* p0, val* p1) {
3581 val* var_n_expr /* var n_expr: nullable AExpr */;
3582 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
3583 var_n_expr = p0;
3584 var_n_expr2 = p1;
3585 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AImpliesExpr__empty_init]))(self) /* empty_init on <self:AImpliesExpr>*/;
3586 if (var_n_expr == NULL) {
3587 fprintf(stderr, "Runtime error: %s", "Cast failed");
3588 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6028);
3589 exit(1);
3590 }
3591 self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AImpliesExpr> */
3592 if (var_n_expr == NULL) {
3593 fprintf(stderr, "Runtime error: %s", "Reciever is null");
3594 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6029);
3595 exit(1);
3596 } else {
3597 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
3598 }
3599 if (var_n_expr2 == NULL) {
3600 fprintf(stderr, "Runtime error: %s", "Cast failed");
3601 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6030);
3602 exit(1);
3603 }
3604 self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AImpliesExpr> */
3605 if (var_n_expr2 == NULL) {
3606 fprintf(stderr, "Runtime error: %s", "Reciever is null");
3607 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6031);
3608 exit(1);
3609 } else {
3610 ((void (*)(val*, val*))(var_n_expr2->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr2, self) /* parent= on <var_n_expr2:nullable AExpr>*/;
3611 }
3612 RET_LABEL:;
3613 }
3614 /* method parser_prod#AImpliesExpr#init_aimpliesexpr for (self: Object, nullable AExpr, nullable AExpr) */
3615 void VIRTUAL_parser_prod__AImpliesExpr__init_aimpliesexpr(val* self, val* p0, val* p1) {
3616 parser_prod__AImpliesExpr__init_aimpliesexpr(self, p0, p1);
3617 RET_LABEL:;
3618 }
3619 /* method parser_prod#AImpliesExpr#replace_child for (self: AImpliesExpr, ANode, nullable ANode) */
3620 void parser_prod__AImpliesExpr__replace_child(val* self, val* p0, val* p1) {
3621 val* var_old_child /* var old_child: ANode */;
3622 val* var_new_child /* var new_child: nullable ANode */;
3623 val* var /* : AExpr */;
3624 short int var1 /* : Bool */;
3625 val* var2 /* : null */;
3626 short int var3 /* : Bool */;
3627 short int var4 /* : Bool */;
3628 int cltype;
3629 int idtype;
3630 val* var5 /* : AExpr */;
3631 short int var6 /* : Bool */;
3632 val* var7 /* : null */;
3633 short int var8 /* : Bool */;
3634 short int var9 /* : Bool */;
3635 int cltype10;
3636 int idtype11;
3637 var_old_child = p0;
3638 var_new_child = p1;
3639 var = self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr].val; /* _n_expr on <self:AImpliesExpr> */
3640 if (var == NULL) {
3641 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
3642 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6036);
3643 exit(1);
3644 }
3645 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
3646 if (var1){
3647 var2 = NULL;
3648 if (var_new_child == NULL) {
3649 var3 = 0; /* is null */
3650 } else {
3651 var3 = 1; /* arg is null and recv is not */
3652 }
3653 if (var3){
3654 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3655 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3656 cltype = type_parser_nodes__AExpr.color;
3657 idtype = type_parser_nodes__AExpr.id;
3658 if(cltype >= var_new_child->type->table_size) {
3659 var4 = 0;
3660 } else {
3661 var4 = var_new_child->type->type_table[cltype] == idtype;
3662 }
3663 if (!var4) {
3664 fprintf(stderr, "Runtime error: %s", "Assert failed");
3665 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6039);
3666 exit(1);
3667 }
3668 self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr].val = var_new_child; /* _n_expr on <self:AImpliesExpr> */
3669 } else {
3670 fprintf(stderr, "Runtime error: %s", "Aborted");
3671 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6042);
3672 exit(1);
3673 }
3674 goto RET_LABEL;
3675 } else {
3676 }
3677 var5 = self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr2].val; /* _n_expr2 on <self:AImpliesExpr> */
3678 if (var5 == NULL) {
3679 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
3680 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6046);
3681 exit(1);
3682 }
3683 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
3684 if (var6){
3685 var7 = NULL;
3686 if (var_new_child == NULL) {
3687 var8 = 0; /* is null */
3688 } else {
3689 var8 = 1; /* arg is null and recv is not */
3690 }
3691 if (var8){
3692 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3693 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3694 cltype10 = type_parser_nodes__AExpr.color;
3695 idtype11 = type_parser_nodes__AExpr.id;
3696 if(cltype10 >= var_new_child->type->table_size) {
3697 var9 = 0;
3698 } else {
3699 var9 = var_new_child->type->type_table[cltype10] == idtype11;
3700 }
3701 if (!var9) {
3702 fprintf(stderr, "Runtime error: %s", "Assert failed");
3703 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6049);
3704 exit(1);
3705 }
3706 self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AImpliesExpr> */
3707 } else {
3708 fprintf(stderr, "Runtime error: %s", "Aborted");
3709 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6052);
3710 exit(1);
3711 }
3712 goto RET_LABEL;
3713 } else {
3714 }
3715 RET_LABEL:;
3716 }
3717 /* method parser_prod#AImpliesExpr#replace_child for (self: Object, ANode, nullable ANode) */
3718 void VIRTUAL_parser_prod__AImpliesExpr__replace_child(val* self, val* p0, val* p1) {
3719 parser_prod__AImpliesExpr__replace_child(self, p0, p1);
3720 RET_LABEL:;
3721 }
3722 /* method parser_prod#AImpliesExpr#n_expr= for (self: AImpliesExpr, AExpr) */
3723 void parser_prod__AImpliesExpr__n_expr_61d(val* self, val* p0) {
3724 val* var_node /* var node: AExpr */;
3725 var_node = p0;
3726 self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr].val = var_node; /* _n_expr on <self:AImpliesExpr> */
3727 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3728 RET_LABEL:;
3729 }
3730 /* method parser_prod#AImpliesExpr#n_expr= for (self: Object, AExpr) */
3731 void VIRTUAL_parser_prod__AImpliesExpr__n_expr_61d(val* self, val* p0) {
3732 parser_prod__AImpliesExpr__n_expr_61d(self, p0);
3733 RET_LABEL:;
3734 }
3735 /* method parser_prod#AImpliesExpr#n_expr2= for (self: AImpliesExpr, AExpr) */
3736 void parser_prod__AImpliesExpr__n_expr2_61d(val* self, val* p0) {
3737 val* var_node /* var node: AExpr */;
3738 var_node = p0;
3739 self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AImpliesExpr> */
3740 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3741 RET_LABEL:;
3742 }
3743 /* method parser_prod#AImpliesExpr#n_expr2= for (self: Object, AExpr) */
3744 void VIRTUAL_parser_prod__AImpliesExpr__n_expr2_61d(val* self, val* p0) {
3745 parser_prod__AImpliesExpr__n_expr2_61d(self, p0);
3746 RET_LABEL:;
3747 }
3748 /* method parser_prod#AImpliesExpr#visit_all for (self: AImpliesExpr, Visitor) */
3749 void parser_prod__AImpliesExpr__visit_all(val* self, val* p0) {
3750 val* var_v /* var v: Visitor */;
3751 val* var /* : AExpr */;
3752 val* var1 /* : AExpr */;
3753 var_v = p0;
3754 var = self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr].val; /* _n_expr on <self:AImpliesExpr> */
3755 if (var == NULL) {
3756 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
3757 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6072);
3758 exit(1);
3759 }
3760 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3761 var1 = self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr2].val; /* _n_expr2 on <self:AImpliesExpr> */
3762 if (var1 == NULL) {
3763 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
3764 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6073);
3765 exit(1);
3766 }
3767 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
3768 RET_LABEL:;
3769 }
3770 /* method parser_prod#AImpliesExpr#visit_all for (self: Object, Visitor) */
3771 void VIRTUAL_parser_prod__AImpliesExpr__visit_all(val* self, val* p0) {
3772 parser_prod__AImpliesExpr__visit_all(self, p0);
3773 RET_LABEL:;
3774 }
3775 /* method parser_prod#ANotExpr#empty_init for (self: ANotExpr) */
3776 void parser_prod__ANotExpr__empty_init(val* self) {
3777 RET_LABEL:;
3778 }
3779 /* method parser_prod#ANotExpr#empty_init for (self: Object) */
3780 void VIRTUAL_parser_prod__ANotExpr__empty_init(val* self) {
3781 parser_prod__ANotExpr__empty_init(self);
3782 RET_LABEL:;
3783 }
3784 /* method parser_prod#ANotExpr#init_anotexpr for (self: ANotExpr, nullable TKwnot, nullable AExpr) */
3785 void parser_prod__ANotExpr__init_anotexpr(val* self, val* p0, val* p1) {
3786 val* var_n_kwnot /* var n_kwnot: nullable TKwnot */;
3787 val* var_n_expr /* var n_expr: nullable AExpr */;
3788 var_n_kwnot = p0;
3789 var_n_expr = p1;
3790 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ANotExpr__empty_init]))(self) /* empty_init on <self:ANotExpr>*/;
3791 if (var_n_kwnot == NULL) {
3792 fprintf(stderr, "Runtime error: %s", "Cast failed");
3793 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6085);
3794 exit(1);
3795 }
3796 self->attrs[COLOR_parser_nodes__ANotExpr___n_kwnot].val = var_n_kwnot; /* _n_kwnot on <self:ANotExpr> */
3797 if (var_n_kwnot == NULL) {
3798 fprintf(stderr, "Runtime error: %s", "Reciever is null");
3799 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6086);
3800 exit(1);
3801 } else {
3802 ((void (*)(val*, val*))(var_n_kwnot->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwnot, self) /* parent= on <var_n_kwnot:nullable TKwnot>*/;
3803 }
3804 if (var_n_expr == NULL) {
3805 fprintf(stderr, "Runtime error: %s", "Cast failed");
3806 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6087);
3807 exit(1);
3808 }
3809 self->attrs[COLOR_parser_nodes__ANotExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ANotExpr> */
3810 if (var_n_expr == NULL) {
3811 fprintf(stderr, "Runtime error: %s", "Reciever is null");
3812 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6088);
3813 exit(1);
3814 } else {
3815 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
3816 }
3817 RET_LABEL:;
3818 }
3819 /* method parser_prod#ANotExpr#init_anotexpr for (self: Object, nullable TKwnot, nullable AExpr) */
3820 void VIRTUAL_parser_prod__ANotExpr__init_anotexpr(val* self, val* p0, val* p1) {
3821 parser_prod__ANotExpr__init_anotexpr(self, p0, p1);
3822 RET_LABEL:;
3823 }
3824 /* method parser_prod#ANotExpr#replace_child for (self: ANotExpr, ANode, nullable ANode) */
3825 void parser_prod__ANotExpr__replace_child(val* self, val* p0, val* p1) {
3826 val* var_old_child /* var old_child: ANode */;
3827 val* var_new_child /* var new_child: nullable ANode */;
3828 val* var /* : TKwnot */;
3829 short int var1 /* : Bool */;
3830 val* var2 /* : null */;
3831 short int var3 /* : Bool */;
3832 short int var4 /* : Bool */;
3833 int cltype;
3834 int idtype;
3835 val* var5 /* : AExpr */;
3836 short int var6 /* : Bool */;
3837 val* var7 /* : null */;
3838 short int var8 /* : Bool */;
3839 short int var9 /* : Bool */;
3840 int cltype10;
3841 int idtype11;
3842 var_old_child = p0;
3843 var_new_child = p1;
3844 var = self->attrs[COLOR_parser_nodes__ANotExpr___n_kwnot].val; /* _n_kwnot on <self:ANotExpr> */
3845 if (var == NULL) {
3846 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwnot");
3847 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6093);
3848 exit(1);
3849 }
3850 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwnot>*/;
3851 if (var1){
3852 var2 = NULL;
3853 if (var_new_child == NULL) {
3854 var3 = 0; /* is null */
3855 } else {
3856 var3 = 1; /* arg is null and recv is not */
3857 }
3858 if (var3){
3859 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3860 /* <var_new_child:nullable ANode(ANode)> isa TKwnot */
3861 cltype = type_parser_nodes__TKwnot.color;
3862 idtype = type_parser_nodes__TKwnot.id;
3863 if(cltype >= var_new_child->type->table_size) {
3864 var4 = 0;
3865 } else {
3866 var4 = var_new_child->type->type_table[cltype] == idtype;
3867 }
3868 if (!var4) {
3869 fprintf(stderr, "Runtime error: %s", "Assert failed");
3870 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6096);
3871 exit(1);
3872 }
3873 self->attrs[COLOR_parser_nodes__ANotExpr___n_kwnot].val = var_new_child; /* _n_kwnot on <self:ANotExpr> */
3874 } else {
3875 fprintf(stderr, "Runtime error: %s", "Aborted");
3876 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6099);
3877 exit(1);
3878 }
3879 goto RET_LABEL;
3880 } else {
3881 }
3882 var5 = self->attrs[COLOR_parser_nodes__ANotExpr___n_expr].val; /* _n_expr on <self:ANotExpr> */
3883 if (var5 == NULL) {
3884 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
3885 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6103);
3886 exit(1);
3887 }
3888 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
3889 if (var6){
3890 var7 = NULL;
3891 if (var_new_child == NULL) {
3892 var8 = 0; /* is null */
3893 } else {
3894 var8 = 1; /* arg is null and recv is not */
3895 }
3896 if (var8){
3897 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
3898 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3899 cltype10 = type_parser_nodes__AExpr.color;
3900 idtype11 = type_parser_nodes__AExpr.id;
3901 if(cltype10 >= var_new_child->type->table_size) {
3902 var9 = 0;
3903 } else {
3904 var9 = var_new_child->type->type_table[cltype10] == idtype11;
3905 }
3906 if (!var9) {
3907 fprintf(stderr, "Runtime error: %s", "Assert failed");
3908 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6106);
3909 exit(1);
3910 }
3911 self->attrs[COLOR_parser_nodes__ANotExpr___n_expr].val = var_new_child; /* _n_expr on <self:ANotExpr> */
3912 } else {
3913 fprintf(stderr, "Runtime error: %s", "Aborted");
3914 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6109);
3915 exit(1);
3916 }
3917 goto RET_LABEL;
3918 } else {
3919 }
3920 RET_LABEL:;
3921 }
3922 /* method parser_prod#ANotExpr#replace_child for (self: Object, ANode, nullable ANode) */
3923 void VIRTUAL_parser_prod__ANotExpr__replace_child(val* self, val* p0, val* p1) {
3924 parser_prod__ANotExpr__replace_child(self, p0, p1);
3925 RET_LABEL:;
3926 }
3927 /* method parser_prod#ANotExpr#n_kwnot= for (self: ANotExpr, TKwnot) */
3928 void parser_prod__ANotExpr__n_kwnot_61d(val* self, val* p0) {
3929 val* var_node /* var node: TKwnot */;
3930 var_node = p0;
3931 self->attrs[COLOR_parser_nodes__ANotExpr___n_kwnot].val = var_node; /* _n_kwnot on <self:ANotExpr> */
3932 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwnot>*/;
3933 RET_LABEL:;
3934 }
3935 /* method parser_prod#ANotExpr#n_kwnot= for (self: Object, TKwnot) */
3936 void VIRTUAL_parser_prod__ANotExpr__n_kwnot_61d(val* self, val* p0) {
3937 parser_prod__ANotExpr__n_kwnot_61d(self, p0);
3938 RET_LABEL:;
3939 }
3940 /* method parser_prod#ANotExpr#n_expr= for (self: ANotExpr, AExpr) */
3941 void parser_prod__ANotExpr__n_expr_61d(val* self, val* p0) {
3942 val* var_node /* var node: AExpr */;
3943 var_node = p0;
3944 self->attrs[COLOR_parser_nodes__ANotExpr___n_expr].val = var_node; /* _n_expr on <self:ANotExpr> */
3945 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3946 RET_LABEL:;
3947 }
3948 /* method parser_prod#ANotExpr#n_expr= for (self: Object, AExpr) */
3949 void VIRTUAL_parser_prod__ANotExpr__n_expr_61d(val* self, val* p0) {
3950 parser_prod__ANotExpr__n_expr_61d(self, p0);
3951 RET_LABEL:;
3952 }
3953 /* method parser_prod#ANotExpr#visit_all for (self: ANotExpr, Visitor) */
3954 void parser_prod__ANotExpr__visit_all(val* self, val* p0) {
3955 val* var_v /* var v: Visitor */;
3956 val* var /* : TKwnot */;
3957 val* var1 /* : AExpr */;
3958 var_v = p0;
3959 var = self->attrs[COLOR_parser_nodes__ANotExpr___n_kwnot].val; /* _n_kwnot on <self:ANotExpr> */
3960 if (var == NULL) {
3961 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwnot");
3962 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6129);
3963 exit(1);
3964 }
3965 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3966 var1 = self->attrs[COLOR_parser_nodes__ANotExpr___n_expr].val; /* _n_expr on <self:ANotExpr> */
3967 if (var1 == NULL) {
3968 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
3969 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6130);
3970 exit(1);
3971 }
3972 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
3973 RET_LABEL:;
3974 }
3975 /* method parser_prod#ANotExpr#visit_all for (self: Object, Visitor) */
3976 void VIRTUAL_parser_prod__ANotExpr__visit_all(val* self, val* p0) {
3977 parser_prod__ANotExpr__visit_all(self, p0);
3978 RET_LABEL:;
3979 }
3980 /* method parser_prod#AEqExpr#empty_init for (self: AEqExpr) */
3981 void parser_prod__AEqExpr__empty_init(val* self) {
3982 RET_LABEL:;
3983 }
3984 /* method parser_prod#AEqExpr#empty_init for (self: Object) */
3985 void VIRTUAL_parser_prod__AEqExpr__empty_init(val* self) {
3986 parser_prod__AEqExpr__empty_init(self);
3987 RET_LABEL:;
3988 }
3989 /* method parser_prod#AEqExpr#init_aeqexpr for (self: AEqExpr, nullable AExpr, nullable AExpr) */
3990 void parser_prod__AEqExpr__init_aeqexpr(val* self, val* p0, val* p1) {
3991 val* var_n_expr /* var n_expr: nullable AExpr */;
3992 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
3993 var_n_expr = p0;
3994 var_n_expr2 = p1;
3995 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AEqExpr__empty_init]))(self) /* empty_init on <self:AEqExpr>*/;
3996 if (var_n_expr == NULL) {
3997 fprintf(stderr, "Runtime error: %s", "Cast failed");
3998 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6142);
3999 exit(1);
4000 }
4001 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AEqExpr> */
4002 if (var_n_expr == NULL) {
4003 fprintf(stderr, "Runtime error: %s", "Reciever is null");
4004 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6143);
4005 exit(1);
4006 } else {
4007 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
4008 }
4009 if (var_n_expr2 == NULL) {
4010 fprintf(stderr, "Runtime error: %s", "Cast failed");
4011 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6144);
4012 exit(1);
4013 }
4014 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AEqExpr> */
4015 if (var_n_expr2 == NULL) {
4016 fprintf(stderr, "Runtime error: %s", "Reciever is null");
4017 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6145);
4018 exit(1);
4019 } else {
4020 ((void (*)(val*, val*))(var_n_expr2->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr2, self) /* parent= on <var_n_expr2:nullable AExpr>*/;
4021 }
4022 RET_LABEL:;
4023 }
4024 /* method parser_prod#AEqExpr#init_aeqexpr for (self: Object, nullable AExpr, nullable AExpr) */
4025 void VIRTUAL_parser_prod__AEqExpr__init_aeqexpr(val* self, val* p0, val* p1) {
4026 parser_prod__AEqExpr__init_aeqexpr(self, p0, p1);
4027 RET_LABEL:;
4028 }
4029 /* method parser_prod#AEqExpr#replace_child for (self: AEqExpr, ANode, nullable ANode) */
4030 void parser_prod__AEqExpr__replace_child(val* self, val* p0, val* p1) {
4031 val* var_old_child /* var old_child: ANode */;
4032 val* var_new_child /* var new_child: nullable ANode */;
4033 val* var /* : AExpr */;
4034 short int var1 /* : Bool */;
4035 val* var2 /* : null */;
4036 short int var3 /* : Bool */;
4037 short int var4 /* : Bool */;
4038 int cltype;
4039 int idtype;
4040 val* var5 /* : AExpr */;
4041 short int var6 /* : Bool */;
4042 val* var7 /* : null */;
4043 short int var8 /* : Bool */;
4044 short int var9 /* : Bool */;
4045 int cltype10;
4046 int idtype11;
4047 var_old_child = p0;
4048 var_new_child = p1;
4049 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AEqExpr> */
4050 if (var == NULL) {
4051 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
4052 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6150);
4053 exit(1);
4054 }
4055 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
4056 if (var1){
4057 var2 = NULL;
4058 if (var_new_child == NULL) {
4059 var3 = 0; /* is null */
4060 } else {
4061 var3 = 1; /* arg is null and recv is not */
4062 }
4063 if (var3){
4064 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4065 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4066 cltype = type_parser_nodes__AExpr.color;
4067 idtype = type_parser_nodes__AExpr.id;
4068 if(cltype >= var_new_child->type->table_size) {
4069 var4 = 0;
4070 } else {
4071 var4 = var_new_child->type->type_table[cltype] == idtype;
4072 }
4073 if (!var4) {
4074 fprintf(stderr, "Runtime error: %s", "Assert failed");
4075 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6153);
4076 exit(1);
4077 }
4078 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:AEqExpr> */
4079 } else {
4080 fprintf(stderr, "Runtime error: %s", "Aborted");
4081 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6156);
4082 exit(1);
4083 }
4084 goto RET_LABEL;
4085 } else {
4086 }
4087 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AEqExpr> */
4088 if (var5 == NULL) {
4089 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
4090 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6160);
4091 exit(1);
4092 }
4093 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
4094 if (var6){
4095 var7 = NULL;
4096 if (var_new_child == NULL) {
4097 var8 = 0; /* is null */
4098 } else {
4099 var8 = 1; /* arg is null and recv is not */
4100 }
4101 if (var8){
4102 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4103 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4104 cltype10 = type_parser_nodes__AExpr.color;
4105 idtype11 = type_parser_nodes__AExpr.id;
4106 if(cltype10 >= var_new_child->type->table_size) {
4107 var9 = 0;
4108 } else {
4109 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4110 }
4111 if (!var9) {
4112 fprintf(stderr, "Runtime error: %s", "Assert failed");
4113 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6163);
4114 exit(1);
4115 }
4116 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AEqExpr> */
4117 } else {
4118 fprintf(stderr, "Runtime error: %s", "Aborted");
4119 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6166);
4120 exit(1);
4121 }
4122 goto RET_LABEL;
4123 } else {
4124 }
4125 RET_LABEL:;
4126 }
4127 /* method parser_prod#AEqExpr#replace_child for (self: Object, ANode, nullable ANode) */
4128 void VIRTUAL_parser_prod__AEqExpr__replace_child(val* self, val* p0, val* p1) {
4129 parser_prod__AEqExpr__replace_child(self, p0, p1);
4130 RET_LABEL:;
4131 }
4132 /* method parser_prod#AEqExpr#n_expr= for (self: AEqExpr, AExpr) */
4133 void parser_prod__AEqExpr__n_expr_61d(val* self, val* p0) {
4134 val* var_node /* var node: AExpr */;
4135 var_node = p0;
4136 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AEqExpr> */
4137 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4138 RET_LABEL:;
4139 }
4140 /* method parser_prod#AEqExpr#n_expr= for (self: Object, AExpr) */
4141 void VIRTUAL_parser_prod__AEqExpr__n_expr_61d(val* self, val* p0) {
4142 parser_prod__AEqExpr__n_expr_61d(self, p0);
4143 RET_LABEL:;
4144 }
4145 /* method parser_prod#AEqExpr#n_expr2= for (self: AEqExpr, AExpr) */
4146 void parser_prod__AEqExpr__n_expr2_61d(val* self, val* p0) {
4147 val* var_node /* var node: AExpr */;
4148 var_node = p0;
4149 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AEqExpr> */
4150 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4151 RET_LABEL:;
4152 }
4153 /* method parser_prod#AEqExpr#n_expr2= for (self: Object, AExpr) */
4154 void VIRTUAL_parser_prod__AEqExpr__n_expr2_61d(val* self, val* p0) {
4155 parser_prod__AEqExpr__n_expr2_61d(self, p0);
4156 RET_LABEL:;
4157 }
4158 /* method parser_prod#AEqExpr#visit_all for (self: AEqExpr, Visitor) */
4159 void parser_prod__AEqExpr__visit_all(val* self, val* p0) {
4160 val* var_v /* var v: Visitor */;
4161 val* var /* : AExpr */;
4162 val* var1 /* : AExpr */;
4163 var_v = p0;
4164 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AEqExpr> */
4165 if (var == NULL) {
4166 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
4167 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6186);
4168 exit(1);
4169 }
4170 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4171 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AEqExpr> */
4172 if (var1 == NULL) {
4173 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
4174 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6187);
4175 exit(1);
4176 }
4177 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
4178 RET_LABEL:;
4179 }
4180 /* method parser_prod#AEqExpr#visit_all for (self: Object, Visitor) */
4181 void VIRTUAL_parser_prod__AEqExpr__visit_all(val* self, val* p0) {
4182 parser_prod__AEqExpr__visit_all(self, p0);
4183 RET_LABEL:;
4184 }
4185 /* method parser_prod#ANeExpr#empty_init for (self: ANeExpr) */
4186 void parser_prod__ANeExpr__empty_init(val* self) {
4187 RET_LABEL:;
4188 }
4189 /* method parser_prod#ANeExpr#empty_init for (self: Object) */
4190 void VIRTUAL_parser_prod__ANeExpr__empty_init(val* self) {
4191 parser_prod__ANeExpr__empty_init(self);
4192 RET_LABEL:;
4193 }
4194 /* method parser_prod#ANeExpr#init_aneexpr for (self: ANeExpr, nullable AExpr, nullable AExpr) */
4195 void parser_prod__ANeExpr__init_aneexpr(val* self, val* p0, val* p1) {
4196 val* var_n_expr /* var n_expr: nullable AExpr */;
4197 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
4198 var_n_expr = p0;
4199 var_n_expr2 = p1;
4200 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ANeExpr__empty_init]))(self) /* empty_init on <self:ANeExpr>*/;
4201 if (var_n_expr == NULL) {
4202 fprintf(stderr, "Runtime error: %s", "Cast failed");
4203 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6199);
4204 exit(1);
4205 }
4206 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ANeExpr> */
4207 if (var_n_expr == NULL) {
4208 fprintf(stderr, "Runtime error: %s", "Reciever is null");
4209 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6200);
4210 exit(1);
4211 } else {
4212 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
4213 }
4214 if (var_n_expr2 == NULL) {
4215 fprintf(stderr, "Runtime error: %s", "Cast failed");
4216 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6201);
4217 exit(1);
4218 }
4219 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ANeExpr> */
4220 if (var_n_expr2 == NULL) {
4221 fprintf(stderr, "Runtime error: %s", "Reciever is null");
4222 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6202);
4223 exit(1);
4224 } else {
4225 ((void (*)(val*, val*))(var_n_expr2->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr2, self) /* parent= on <var_n_expr2:nullable AExpr>*/;
4226 }
4227 RET_LABEL:;
4228 }
4229 /* method parser_prod#ANeExpr#init_aneexpr for (self: Object, nullable AExpr, nullable AExpr) */
4230 void VIRTUAL_parser_prod__ANeExpr__init_aneexpr(val* self, val* p0, val* p1) {
4231 parser_prod__ANeExpr__init_aneexpr(self, p0, p1);
4232 RET_LABEL:;
4233 }
4234 /* method parser_prod#ANeExpr#replace_child for (self: ANeExpr, ANode, nullable ANode) */
4235 void parser_prod__ANeExpr__replace_child(val* self, val* p0, val* p1) {
4236 val* var_old_child /* var old_child: ANode */;
4237 val* var_new_child /* var new_child: nullable ANode */;
4238 val* var /* : AExpr */;
4239 short int var1 /* : Bool */;
4240 val* var2 /* : null */;
4241 short int var3 /* : Bool */;
4242 short int var4 /* : Bool */;
4243 int cltype;
4244 int idtype;
4245 val* var5 /* : AExpr */;
4246 short int var6 /* : Bool */;
4247 val* var7 /* : null */;
4248 short int var8 /* : Bool */;
4249 short int var9 /* : Bool */;
4250 int cltype10;
4251 int idtype11;
4252 var_old_child = p0;
4253 var_new_child = p1;
4254 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ANeExpr> */
4255 if (var == NULL) {
4256 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
4257 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6207);
4258 exit(1);
4259 }
4260 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
4261 if (var1){
4262 var2 = NULL;
4263 if (var_new_child == NULL) {
4264 var3 = 0; /* is null */
4265 } else {
4266 var3 = 1; /* arg is null and recv is not */
4267 }
4268 if (var3){
4269 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4270 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4271 cltype = type_parser_nodes__AExpr.color;
4272 idtype = type_parser_nodes__AExpr.id;
4273 if(cltype >= var_new_child->type->table_size) {
4274 var4 = 0;
4275 } else {
4276 var4 = var_new_child->type->type_table[cltype] == idtype;
4277 }
4278 if (!var4) {
4279 fprintf(stderr, "Runtime error: %s", "Assert failed");
4280 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6210);
4281 exit(1);
4282 }
4283 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ANeExpr> */
4284 } else {
4285 fprintf(stderr, "Runtime error: %s", "Aborted");
4286 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6213);
4287 exit(1);
4288 }
4289 goto RET_LABEL;
4290 } else {
4291 }
4292 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ANeExpr> */
4293 if (var5 == NULL) {
4294 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
4295 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6217);
4296 exit(1);
4297 }
4298 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
4299 if (var6){
4300 var7 = NULL;
4301 if (var_new_child == NULL) {
4302 var8 = 0; /* is null */
4303 } else {
4304 var8 = 1; /* arg is null and recv is not */
4305 }
4306 if (var8){
4307 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4308 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4309 cltype10 = type_parser_nodes__AExpr.color;
4310 idtype11 = type_parser_nodes__AExpr.id;
4311 if(cltype10 >= var_new_child->type->table_size) {
4312 var9 = 0;
4313 } else {
4314 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4315 }
4316 if (!var9) {
4317 fprintf(stderr, "Runtime error: %s", "Assert failed");
4318 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6220);
4319 exit(1);
4320 }
4321 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:ANeExpr> */
4322 } else {
4323 fprintf(stderr, "Runtime error: %s", "Aborted");
4324 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6223);
4325 exit(1);
4326 }
4327 goto RET_LABEL;
4328 } else {
4329 }
4330 RET_LABEL:;
4331 }
4332 /* method parser_prod#ANeExpr#replace_child for (self: Object, ANode, nullable ANode) */
4333 void VIRTUAL_parser_prod__ANeExpr__replace_child(val* self, val* p0, val* p1) {
4334 parser_prod__ANeExpr__replace_child(self, p0, p1);
4335 RET_LABEL:;
4336 }
4337 /* method parser_prod#ANeExpr#n_expr= for (self: ANeExpr, AExpr) */
4338 void parser_prod__ANeExpr__n_expr_61d(val* self, val* p0) {
4339 val* var_node /* var node: AExpr */;
4340 var_node = p0;
4341 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ANeExpr> */
4342 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4343 RET_LABEL:;
4344 }
4345 /* method parser_prod#ANeExpr#n_expr= for (self: Object, AExpr) */
4346 void VIRTUAL_parser_prod__ANeExpr__n_expr_61d(val* self, val* p0) {
4347 parser_prod__ANeExpr__n_expr_61d(self, p0);
4348 RET_LABEL:;
4349 }
4350 /* method parser_prod#ANeExpr#n_expr2= for (self: ANeExpr, AExpr) */
4351 void parser_prod__ANeExpr__n_expr2_61d(val* self, val* p0) {
4352 val* var_node /* var node: AExpr */;
4353 var_node = p0;
4354 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ANeExpr> */
4355 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4356 RET_LABEL:;
4357 }
4358 /* method parser_prod#ANeExpr#n_expr2= for (self: Object, AExpr) */
4359 void VIRTUAL_parser_prod__ANeExpr__n_expr2_61d(val* self, val* p0) {
4360 parser_prod__ANeExpr__n_expr2_61d(self, p0);
4361 RET_LABEL:;
4362 }
4363 /* method parser_prod#ANeExpr#visit_all for (self: ANeExpr, Visitor) */
4364 void parser_prod__ANeExpr__visit_all(val* self, val* p0) {
4365 val* var_v /* var v: Visitor */;
4366 val* var /* : AExpr */;
4367 val* var1 /* : AExpr */;
4368 var_v = p0;
4369 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ANeExpr> */
4370 if (var == NULL) {
4371 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
4372 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6243);
4373 exit(1);
4374 }
4375 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4376 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ANeExpr> */
4377 if (var1 == NULL) {
4378 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
4379 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6244);
4380 exit(1);
4381 }
4382 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
4383 RET_LABEL:;
4384 }
4385 /* method parser_prod#ANeExpr#visit_all for (self: Object, Visitor) */
4386 void VIRTUAL_parser_prod__ANeExpr__visit_all(val* self, val* p0) {
4387 parser_prod__ANeExpr__visit_all(self, p0);
4388 RET_LABEL:;
4389 }
4390 /* method parser_prod#ALtExpr#empty_init for (self: ALtExpr) */
4391 void parser_prod__ALtExpr__empty_init(val* self) {
4392 RET_LABEL:;
4393 }
4394 /* method parser_prod#ALtExpr#empty_init for (self: Object) */
4395 void VIRTUAL_parser_prod__ALtExpr__empty_init(val* self) {
4396 parser_prod__ALtExpr__empty_init(self);
4397 RET_LABEL:;
4398 }
4399 /* method parser_prod#ALtExpr#init_altexpr for (self: ALtExpr, nullable AExpr, nullable AExpr) */
4400 void parser_prod__ALtExpr__init_altexpr(val* self, val* p0, val* p1) {
4401 val* var_n_expr /* var n_expr: nullable AExpr */;
4402 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
4403 var_n_expr = p0;
4404 var_n_expr2 = p1;
4405 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ALtExpr__empty_init]))(self) /* empty_init on <self:ALtExpr>*/;
4406 if (var_n_expr == NULL) {
4407 fprintf(stderr, "Runtime error: %s", "Cast failed");
4408 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6256);
4409 exit(1);
4410 }
4411 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ALtExpr> */
4412 if (var_n_expr == NULL) {
4413 fprintf(stderr, "Runtime error: %s", "Reciever is null");
4414 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6257);
4415 exit(1);
4416 } else {
4417 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
4418 }
4419 if (var_n_expr2 == NULL) {
4420 fprintf(stderr, "Runtime error: %s", "Cast failed");
4421 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6258);
4422 exit(1);
4423 }
4424 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ALtExpr> */
4425 if (var_n_expr2 == NULL) {
4426 fprintf(stderr, "Runtime error: %s", "Reciever is null");
4427 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6259);
4428 exit(1);
4429 } else {
4430 ((void (*)(val*, val*))(var_n_expr2->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr2, self) /* parent= on <var_n_expr2:nullable AExpr>*/;
4431 }
4432 RET_LABEL:;
4433 }
4434 /* method parser_prod#ALtExpr#init_altexpr for (self: Object, nullable AExpr, nullable AExpr) */
4435 void VIRTUAL_parser_prod__ALtExpr__init_altexpr(val* self, val* p0, val* p1) {
4436 parser_prod__ALtExpr__init_altexpr(self, p0, p1);
4437 RET_LABEL:;
4438 }
4439 /* method parser_prod#ALtExpr#replace_child for (self: ALtExpr, ANode, nullable ANode) */
4440 void parser_prod__ALtExpr__replace_child(val* self, val* p0, val* p1) {
4441 val* var_old_child /* var old_child: ANode */;
4442 val* var_new_child /* var new_child: nullable ANode */;
4443 val* var /* : AExpr */;
4444 short int var1 /* : Bool */;
4445 val* var2 /* : null */;
4446 short int var3 /* : Bool */;
4447 short int var4 /* : Bool */;
4448 int cltype;
4449 int idtype;
4450 val* var5 /* : AExpr */;
4451 short int var6 /* : Bool */;
4452 val* var7 /* : null */;
4453 short int var8 /* : Bool */;
4454 short int var9 /* : Bool */;
4455 int cltype10;
4456 int idtype11;
4457 var_old_child = p0;
4458 var_new_child = p1;
4459 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALtExpr> */
4460 if (var == NULL) {
4461 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
4462 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6264);
4463 exit(1);
4464 }
4465 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
4466 if (var1){
4467 var2 = NULL;
4468 if (var_new_child == NULL) {
4469 var3 = 0; /* is null */
4470 } else {
4471 var3 = 1; /* arg is null and recv is not */
4472 }
4473 if (var3){
4474 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4475 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4476 cltype = type_parser_nodes__AExpr.color;
4477 idtype = type_parser_nodes__AExpr.id;
4478 if(cltype >= var_new_child->type->table_size) {
4479 var4 = 0;
4480 } else {
4481 var4 = var_new_child->type->type_table[cltype] == idtype;
4482 }
4483 if (!var4) {
4484 fprintf(stderr, "Runtime error: %s", "Assert failed");
4485 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6267);
4486 exit(1);
4487 }
4488 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ALtExpr> */
4489 } else {
4490 fprintf(stderr, "Runtime error: %s", "Aborted");
4491 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6270);
4492 exit(1);
4493 }
4494 goto RET_LABEL;
4495 } else {
4496 }
4497 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALtExpr> */
4498 if (var5 == NULL) {
4499 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
4500 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6274);
4501 exit(1);
4502 }
4503 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
4504 if (var6){
4505 var7 = NULL;
4506 if (var_new_child == NULL) {
4507 var8 = 0; /* is null */
4508 } else {
4509 var8 = 1; /* arg is null and recv is not */
4510 }
4511 if (var8){
4512 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4513 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4514 cltype10 = type_parser_nodes__AExpr.color;
4515 idtype11 = type_parser_nodes__AExpr.id;
4516 if(cltype10 >= var_new_child->type->table_size) {
4517 var9 = 0;
4518 } else {
4519 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4520 }
4521 if (!var9) {
4522 fprintf(stderr, "Runtime error: %s", "Assert failed");
4523 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6277);
4524 exit(1);
4525 }
4526 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:ALtExpr> */
4527 } else {
4528 fprintf(stderr, "Runtime error: %s", "Aborted");
4529 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6280);
4530 exit(1);
4531 }
4532 goto RET_LABEL;
4533 } else {
4534 }
4535 RET_LABEL:;
4536 }
4537 /* method parser_prod#ALtExpr#replace_child for (self: Object, ANode, nullable ANode) */
4538 void VIRTUAL_parser_prod__ALtExpr__replace_child(val* self, val* p0, val* p1) {
4539 parser_prod__ALtExpr__replace_child(self, p0, p1);
4540 RET_LABEL:;
4541 }
4542 /* method parser_prod#ALtExpr#n_expr= for (self: ALtExpr, AExpr) */
4543 void parser_prod__ALtExpr__n_expr_61d(val* self, val* p0) {
4544 val* var_node /* var node: AExpr */;
4545 var_node = p0;
4546 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ALtExpr> */
4547 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4548 RET_LABEL:;
4549 }
4550 /* method parser_prod#ALtExpr#n_expr= for (self: Object, AExpr) */
4551 void VIRTUAL_parser_prod__ALtExpr__n_expr_61d(val* self, val* p0) {
4552 parser_prod__ALtExpr__n_expr_61d(self, p0);
4553 RET_LABEL:;
4554 }
4555 /* method parser_prod#ALtExpr#n_expr2= for (self: ALtExpr, AExpr) */
4556 void parser_prod__ALtExpr__n_expr2_61d(val* self, val* p0) {
4557 val* var_node /* var node: AExpr */;
4558 var_node = p0;
4559 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ALtExpr> */
4560 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4561 RET_LABEL:;
4562 }
4563 /* method parser_prod#ALtExpr#n_expr2= for (self: Object, AExpr) */
4564 void VIRTUAL_parser_prod__ALtExpr__n_expr2_61d(val* self, val* p0) {
4565 parser_prod__ALtExpr__n_expr2_61d(self, p0);
4566 RET_LABEL:;
4567 }
4568 /* method parser_prod#ALtExpr#visit_all for (self: ALtExpr, Visitor) */
4569 void parser_prod__ALtExpr__visit_all(val* self, val* p0) {
4570 val* var_v /* var v: Visitor */;
4571 val* var /* : AExpr */;
4572 val* var1 /* : AExpr */;
4573 var_v = p0;
4574 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALtExpr> */
4575 if (var == NULL) {
4576 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
4577 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6300);
4578 exit(1);
4579 }
4580 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4581 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALtExpr> */
4582 if (var1 == NULL) {
4583 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
4584 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6301);
4585 exit(1);
4586 }
4587 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
4588 RET_LABEL:;
4589 }
4590 /* method parser_prod#ALtExpr#visit_all for (self: Object, Visitor) */
4591 void VIRTUAL_parser_prod__ALtExpr__visit_all(val* self, val* p0) {
4592 parser_prod__ALtExpr__visit_all(self, p0);
4593 RET_LABEL:;
4594 }
4595 /* method parser_prod#ALeExpr#empty_init for (self: ALeExpr) */
4596 void parser_prod__ALeExpr__empty_init(val* self) {
4597 RET_LABEL:;
4598 }
4599 /* method parser_prod#ALeExpr#empty_init for (self: Object) */
4600 void VIRTUAL_parser_prod__ALeExpr__empty_init(val* self) {
4601 parser_prod__ALeExpr__empty_init(self);
4602 RET_LABEL:;
4603 }
4604 /* method parser_prod#ALeExpr#init_aleexpr for (self: ALeExpr, nullable AExpr, nullable AExpr) */
4605 void parser_prod__ALeExpr__init_aleexpr(val* self, val* p0, val* p1) {
4606 val* var_n_expr /* var n_expr: nullable AExpr */;
4607 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
4608 var_n_expr = p0;
4609 var_n_expr2 = p1;
4610 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ALeExpr__empty_init]))(self) /* empty_init on <self:ALeExpr>*/;
4611 if (var_n_expr == NULL) {
4612 fprintf(stderr, "Runtime error: %s", "Cast failed");
4613 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6313);
4614 exit(1);
4615 }
4616 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ALeExpr> */
4617 if (var_n_expr == NULL) {
4618 fprintf(stderr, "Runtime error: %s", "Reciever is null");
4619 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6314);
4620 exit(1);
4621 } else {
4622 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
4623 }
4624 if (var_n_expr2 == NULL) {
4625 fprintf(stderr, "Runtime error: %s", "Cast failed");
4626 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6315);
4627 exit(1);
4628 }
4629 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ALeExpr> */
4630 if (var_n_expr2 == NULL) {
4631 fprintf(stderr, "Runtime error: %s", "Reciever is null");
4632 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6316);
4633 exit(1);
4634 } else {
4635 ((void (*)(val*, val*))(var_n_expr2->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr2, self) /* parent= on <var_n_expr2:nullable AExpr>*/;
4636 }
4637 RET_LABEL:;
4638 }
4639 /* method parser_prod#ALeExpr#init_aleexpr for (self: Object, nullable AExpr, nullable AExpr) */
4640 void VIRTUAL_parser_prod__ALeExpr__init_aleexpr(val* self, val* p0, val* p1) {
4641 parser_prod__ALeExpr__init_aleexpr(self, p0, p1);
4642 RET_LABEL:;
4643 }
4644 /* method parser_prod#ALeExpr#replace_child for (self: ALeExpr, ANode, nullable ANode) */
4645 void parser_prod__ALeExpr__replace_child(val* self, val* p0, val* p1) {
4646 val* var_old_child /* var old_child: ANode */;
4647 val* var_new_child /* var new_child: nullable ANode */;
4648 val* var /* : AExpr */;
4649 short int var1 /* : Bool */;
4650 val* var2 /* : null */;
4651 short int var3 /* : Bool */;
4652 short int var4 /* : Bool */;
4653 int cltype;
4654 int idtype;
4655 val* var5 /* : AExpr */;
4656 short int var6 /* : Bool */;
4657 val* var7 /* : null */;
4658 short int var8 /* : Bool */;
4659 short int var9 /* : Bool */;
4660 int cltype10;
4661 int idtype11;
4662 var_old_child = p0;
4663 var_new_child = p1;
4664 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALeExpr> */
4665 if (var == NULL) {
4666 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
4667 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6321);
4668 exit(1);
4669 }
4670 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
4671 if (var1){
4672 var2 = NULL;
4673 if (var_new_child == NULL) {
4674 var3 = 0; /* is null */
4675 } else {
4676 var3 = 1; /* arg is null and recv is not */
4677 }
4678 if (var3){
4679 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4680 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4681 cltype = type_parser_nodes__AExpr.color;
4682 idtype = type_parser_nodes__AExpr.id;
4683 if(cltype >= var_new_child->type->table_size) {
4684 var4 = 0;
4685 } else {
4686 var4 = var_new_child->type->type_table[cltype] == idtype;
4687 }
4688 if (!var4) {
4689 fprintf(stderr, "Runtime error: %s", "Assert failed");
4690 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6324);
4691 exit(1);
4692 }
4693 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ALeExpr> */
4694 } else {
4695 fprintf(stderr, "Runtime error: %s", "Aborted");
4696 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6327);
4697 exit(1);
4698 }
4699 goto RET_LABEL;
4700 } else {
4701 }
4702 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALeExpr> */
4703 if (var5 == NULL) {
4704 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
4705 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6331);
4706 exit(1);
4707 }
4708 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
4709 if (var6){
4710 var7 = NULL;
4711 if (var_new_child == NULL) {
4712 var8 = 0; /* is null */
4713 } else {
4714 var8 = 1; /* arg is null and recv is not */
4715 }
4716 if (var8){
4717 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4718 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4719 cltype10 = type_parser_nodes__AExpr.color;
4720 idtype11 = type_parser_nodes__AExpr.id;
4721 if(cltype10 >= var_new_child->type->table_size) {
4722 var9 = 0;
4723 } else {
4724 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4725 }
4726 if (!var9) {
4727 fprintf(stderr, "Runtime error: %s", "Assert failed");
4728 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6334);
4729 exit(1);
4730 }
4731 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:ALeExpr> */
4732 } else {
4733 fprintf(stderr, "Runtime error: %s", "Aborted");
4734 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6337);
4735 exit(1);
4736 }
4737 goto RET_LABEL;
4738 } else {
4739 }
4740 RET_LABEL:;
4741 }
4742 /* method parser_prod#ALeExpr#replace_child for (self: Object, ANode, nullable ANode) */
4743 void VIRTUAL_parser_prod__ALeExpr__replace_child(val* self, val* p0, val* p1) {
4744 parser_prod__ALeExpr__replace_child(self, p0, p1);
4745 RET_LABEL:;
4746 }
4747 /* method parser_prod#ALeExpr#n_expr= for (self: ALeExpr, AExpr) */
4748 void parser_prod__ALeExpr__n_expr_61d(val* self, val* p0) {
4749 val* var_node /* var node: AExpr */;
4750 var_node = p0;
4751 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ALeExpr> */
4752 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4753 RET_LABEL:;
4754 }
4755 /* method parser_prod#ALeExpr#n_expr= for (self: Object, AExpr) */
4756 void VIRTUAL_parser_prod__ALeExpr__n_expr_61d(val* self, val* p0) {
4757 parser_prod__ALeExpr__n_expr_61d(self, p0);
4758 RET_LABEL:;
4759 }
4760 /* method parser_prod#ALeExpr#n_expr2= for (self: ALeExpr, AExpr) */
4761 void parser_prod__ALeExpr__n_expr2_61d(val* self, val* p0) {
4762 val* var_node /* var node: AExpr */;
4763 var_node = p0;
4764 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ALeExpr> */
4765 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4766 RET_LABEL:;
4767 }
4768 /* method parser_prod#ALeExpr#n_expr2= for (self: Object, AExpr) */
4769 void VIRTUAL_parser_prod__ALeExpr__n_expr2_61d(val* self, val* p0) {
4770 parser_prod__ALeExpr__n_expr2_61d(self, p0);
4771 RET_LABEL:;
4772 }
4773 /* method parser_prod#ALeExpr#visit_all for (self: ALeExpr, Visitor) */
4774 void parser_prod__ALeExpr__visit_all(val* self, val* p0) {
4775 val* var_v /* var v: Visitor */;
4776 val* var /* : AExpr */;
4777 val* var1 /* : AExpr */;
4778 var_v = p0;
4779 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALeExpr> */
4780 if (var == NULL) {
4781 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
4782 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6357);
4783 exit(1);
4784 }
4785 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4786 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALeExpr> */
4787 if (var1 == NULL) {
4788 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
4789 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6358);
4790 exit(1);
4791 }
4792 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
4793 RET_LABEL:;
4794 }
4795 /* method parser_prod#ALeExpr#visit_all for (self: Object, Visitor) */
4796 void VIRTUAL_parser_prod__ALeExpr__visit_all(val* self, val* p0) {
4797 parser_prod__ALeExpr__visit_all(self, p0);
4798 RET_LABEL:;
4799 }
4800 /* method parser_prod#ALlExpr#empty_init for (self: ALlExpr) */
4801 void parser_prod__ALlExpr__empty_init(val* self) {
4802 RET_LABEL:;
4803 }
4804 /* method parser_prod#ALlExpr#empty_init for (self: Object) */
4805 void VIRTUAL_parser_prod__ALlExpr__empty_init(val* self) {
4806 parser_prod__ALlExpr__empty_init(self);
4807 RET_LABEL:;
4808 }
4809 /* method parser_prod#ALlExpr#init_allexpr for (self: ALlExpr, nullable AExpr, nullable AExpr) */
4810 void parser_prod__ALlExpr__init_allexpr(val* self, val* p0, val* p1) {
4811 val* var_n_expr /* var n_expr: nullable AExpr */;
4812 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
4813 var_n_expr = p0;
4814 var_n_expr2 = p1;
4815 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ALlExpr__empty_init]))(self) /* empty_init on <self:ALlExpr>*/;
4816 if (var_n_expr == NULL) {
4817 fprintf(stderr, "Runtime error: %s", "Cast failed");
4818 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6370);
4819 exit(1);
4820 }
4821 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ALlExpr> */
4822 if (var_n_expr == NULL) {
4823 fprintf(stderr, "Runtime error: %s", "Reciever is null");
4824 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6371);
4825 exit(1);
4826 } else {
4827 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
4828 }
4829 if (var_n_expr2 == NULL) {
4830 fprintf(stderr, "Runtime error: %s", "Cast failed");
4831 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6372);
4832 exit(1);
4833 }
4834 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ALlExpr> */
4835 if (var_n_expr2 == NULL) {
4836 fprintf(stderr, "Runtime error: %s", "Reciever is null");
4837 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6373);
4838 exit(1);
4839 } else {
4840 ((void (*)(val*, val*))(var_n_expr2->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr2, self) /* parent= on <var_n_expr2:nullable AExpr>*/;
4841 }
4842 RET_LABEL:;
4843 }
4844 /* method parser_prod#ALlExpr#init_allexpr for (self: Object, nullable AExpr, nullable AExpr) */
4845 void VIRTUAL_parser_prod__ALlExpr__init_allexpr(val* self, val* p0, val* p1) {
4846 parser_prod__ALlExpr__init_allexpr(self, p0, p1);
4847 RET_LABEL:;
4848 }
4849 /* method parser_prod#ALlExpr#replace_child for (self: ALlExpr, ANode, nullable ANode) */
4850 void parser_prod__ALlExpr__replace_child(val* self, val* p0, val* p1) {
4851 val* var_old_child /* var old_child: ANode */;
4852 val* var_new_child /* var new_child: nullable ANode */;
4853 val* var /* : AExpr */;
4854 short int var1 /* : Bool */;
4855 val* var2 /* : null */;
4856 short int var3 /* : Bool */;
4857 short int var4 /* : Bool */;
4858 int cltype;
4859 int idtype;
4860 val* var5 /* : AExpr */;
4861 short int var6 /* : Bool */;
4862 val* var7 /* : null */;
4863 short int var8 /* : Bool */;
4864 short int var9 /* : Bool */;
4865 int cltype10;
4866 int idtype11;
4867 var_old_child = p0;
4868 var_new_child = p1;
4869 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALlExpr> */
4870 if (var == NULL) {
4871 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
4872 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6378);
4873 exit(1);
4874 }
4875 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
4876 if (var1){
4877 var2 = NULL;
4878 if (var_new_child == NULL) {
4879 var3 = 0; /* is null */
4880 } else {
4881 var3 = 1; /* arg is null and recv is not */
4882 }
4883 if (var3){
4884 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4885 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4886 cltype = type_parser_nodes__AExpr.color;
4887 idtype = type_parser_nodes__AExpr.id;
4888 if(cltype >= var_new_child->type->table_size) {
4889 var4 = 0;
4890 } else {
4891 var4 = var_new_child->type->type_table[cltype] == idtype;
4892 }
4893 if (!var4) {
4894 fprintf(stderr, "Runtime error: %s", "Assert failed");
4895 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6381);
4896 exit(1);
4897 }
4898 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ALlExpr> */
4899 } else {
4900 fprintf(stderr, "Runtime error: %s", "Aborted");
4901 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6384);
4902 exit(1);
4903 }
4904 goto RET_LABEL;
4905 } else {
4906 }
4907 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALlExpr> */
4908 if (var5 == NULL) {
4909 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
4910 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6388);
4911 exit(1);
4912 }
4913 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
4914 if (var6){
4915 var7 = NULL;
4916 if (var_new_child == NULL) {
4917 var8 = 0; /* is null */
4918 } else {
4919 var8 = 1; /* arg is null and recv is not */
4920 }
4921 if (var8){
4922 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
4923 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4924 cltype10 = type_parser_nodes__AExpr.color;
4925 idtype11 = type_parser_nodes__AExpr.id;
4926 if(cltype10 >= var_new_child->type->table_size) {
4927 var9 = 0;
4928 } else {
4929 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4930 }
4931 if (!var9) {
4932 fprintf(stderr, "Runtime error: %s", "Assert failed");
4933 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6391);
4934 exit(1);
4935 }
4936 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:ALlExpr> */
4937 } else {
4938 fprintf(stderr, "Runtime error: %s", "Aborted");
4939 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6394);
4940 exit(1);
4941 }
4942 goto RET_LABEL;
4943 } else {
4944 }
4945 RET_LABEL:;
4946 }
4947 /* method parser_prod#ALlExpr#replace_child for (self: Object, ANode, nullable ANode) */
4948 void VIRTUAL_parser_prod__ALlExpr__replace_child(val* self, val* p0, val* p1) {
4949 parser_prod__ALlExpr__replace_child(self, p0, p1);
4950 RET_LABEL:;
4951 }
4952 /* method parser_prod#ALlExpr#n_expr= for (self: ALlExpr, AExpr) */
4953 void parser_prod__ALlExpr__n_expr_61d(val* self, val* p0) {
4954 val* var_node /* var node: AExpr */;
4955 var_node = p0;
4956 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ALlExpr> */
4957 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4958 RET_LABEL:;
4959 }
4960 /* method parser_prod#ALlExpr#n_expr= for (self: Object, AExpr) */
4961 void VIRTUAL_parser_prod__ALlExpr__n_expr_61d(val* self, val* p0) {
4962 parser_prod__ALlExpr__n_expr_61d(self, p0);
4963 RET_LABEL:;
4964 }
4965 /* method parser_prod#ALlExpr#n_expr2= for (self: ALlExpr, AExpr) */
4966 void parser_prod__ALlExpr__n_expr2_61d(val* self, val* p0) {
4967 val* var_node /* var node: AExpr */;
4968 var_node = p0;
4969 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ALlExpr> */
4970 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4971 RET_LABEL:;
4972 }
4973 /* method parser_prod#ALlExpr#n_expr2= for (self: Object, AExpr) */
4974 void VIRTUAL_parser_prod__ALlExpr__n_expr2_61d(val* self, val* p0) {
4975 parser_prod__ALlExpr__n_expr2_61d(self, p0);
4976 RET_LABEL:;
4977 }
4978 /* method parser_prod#ALlExpr#visit_all for (self: ALlExpr, Visitor) */
4979 void parser_prod__ALlExpr__visit_all(val* self, val* p0) {
4980 val* var_v /* var v: Visitor */;
4981 val* var /* : AExpr */;
4982 val* var1 /* : AExpr */;
4983 var_v = p0;
4984 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALlExpr> */
4985 if (var == NULL) {
4986 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
4987 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6414);
4988 exit(1);
4989 }
4990 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4991 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALlExpr> */
4992 if (var1 == NULL) {
4993 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
4994 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6415);
4995 exit(1);
4996 }
4997 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
4998 RET_LABEL:;
4999 }
5000 /* method parser_prod#ALlExpr#visit_all for (self: Object, Visitor) */
5001 void VIRTUAL_parser_prod__ALlExpr__visit_all(val* self, val* p0) {
5002 parser_prod__ALlExpr__visit_all(self, p0);
5003 RET_LABEL:;
5004 }
5005 /* method parser_prod#AGtExpr#empty_init for (self: AGtExpr) */
5006 void parser_prod__AGtExpr__empty_init(val* self) {
5007 RET_LABEL:;
5008 }
5009 /* method parser_prod#AGtExpr#empty_init for (self: Object) */
5010 void VIRTUAL_parser_prod__AGtExpr__empty_init(val* self) {
5011 parser_prod__AGtExpr__empty_init(self);
5012 RET_LABEL:;
5013 }
5014 /* method parser_prod#AGtExpr#init_agtexpr for (self: AGtExpr, nullable AExpr, nullable AExpr) */
5015 void parser_prod__AGtExpr__init_agtexpr(val* self, val* p0, val* p1) {
5016 val* var_n_expr /* var n_expr: nullable AExpr */;
5017 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
5018 var_n_expr = p0;
5019 var_n_expr2 = p1;
5020 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AGtExpr__empty_init]))(self) /* empty_init on <self:AGtExpr>*/;
5021 if (var_n_expr == NULL) {
5022 fprintf(stderr, "Runtime error: %s", "Cast failed");
5023 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6427);
5024 exit(1);
5025 }
5026 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AGtExpr> */
5027 if (var_n_expr == NULL) {
5028 fprintf(stderr, "Runtime error: %s", "Reciever is null");
5029 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6428);
5030 exit(1);
5031 } else {
5032 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
5033 }
5034 if (var_n_expr2 == NULL) {
5035 fprintf(stderr, "Runtime error: %s", "Cast failed");
5036 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6429);
5037 exit(1);
5038 }
5039 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AGtExpr> */
5040 if (var_n_expr2 == NULL) {
5041 fprintf(stderr, "Runtime error: %s", "Reciever is null");
5042 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6430);
5043 exit(1);
5044 } else {
5045 ((void (*)(val*, val*))(var_n_expr2->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr2, self) /* parent= on <var_n_expr2:nullable AExpr>*/;
5046 }
5047 RET_LABEL:;
5048 }
5049 /* method parser_prod#AGtExpr#init_agtexpr for (self: Object, nullable AExpr, nullable AExpr) */
5050 void VIRTUAL_parser_prod__AGtExpr__init_agtexpr(val* self, val* p0, val* p1) {
5051 parser_prod__AGtExpr__init_agtexpr(self, p0, p1);
5052 RET_LABEL:;
5053 }
5054 /* method parser_prod#AGtExpr#replace_child for (self: AGtExpr, ANode, nullable ANode) */
5055 void parser_prod__AGtExpr__replace_child(val* self, val* p0, val* p1) {
5056 val* var_old_child /* var old_child: ANode */;
5057 val* var_new_child /* var new_child: nullable ANode */;
5058 val* var /* : AExpr */;
5059 short int var1 /* : Bool */;
5060 val* var2 /* : null */;
5061 short int var3 /* : Bool */;
5062 short int var4 /* : Bool */;
5063 int cltype;
5064 int idtype;
5065 val* var5 /* : AExpr */;
5066 short int var6 /* : Bool */;
5067 val* var7 /* : null */;
5068 short int var8 /* : Bool */;
5069 short int var9 /* : Bool */;
5070 int cltype10;
5071 int idtype11;
5072 var_old_child = p0;
5073 var_new_child = p1;
5074 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGtExpr> */
5075 if (var == NULL) {
5076 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
5077 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6435);
5078 exit(1);
5079 }
5080 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
5081 if (var1){
5082 var2 = NULL;
5083 if (var_new_child == NULL) {
5084 var3 = 0; /* is null */
5085 } else {
5086 var3 = 1; /* arg is null and recv is not */
5087 }
5088 if (var3){
5089 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5090 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5091 cltype = type_parser_nodes__AExpr.color;
5092 idtype = type_parser_nodes__AExpr.id;
5093 if(cltype >= var_new_child->type->table_size) {
5094 var4 = 0;
5095 } else {
5096 var4 = var_new_child->type->type_table[cltype] == idtype;
5097 }
5098 if (!var4) {
5099 fprintf(stderr, "Runtime error: %s", "Assert failed");
5100 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6438);
5101 exit(1);
5102 }
5103 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:AGtExpr> */
5104 } else {
5105 fprintf(stderr, "Runtime error: %s", "Aborted");
5106 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6441);
5107 exit(1);
5108 }
5109 goto RET_LABEL;
5110 } else {
5111 }
5112 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGtExpr> */
5113 if (var5 == NULL) {
5114 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
5115 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6445);
5116 exit(1);
5117 }
5118 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
5119 if (var6){
5120 var7 = NULL;
5121 if (var_new_child == NULL) {
5122 var8 = 0; /* is null */
5123 } else {
5124 var8 = 1; /* arg is null and recv is not */
5125 }
5126 if (var8){
5127 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5128 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5129 cltype10 = type_parser_nodes__AExpr.color;
5130 idtype11 = type_parser_nodes__AExpr.id;
5131 if(cltype10 >= var_new_child->type->table_size) {
5132 var9 = 0;
5133 } else {
5134 var9 = var_new_child->type->type_table[cltype10] == idtype11;
5135 }
5136 if (!var9) {
5137 fprintf(stderr, "Runtime error: %s", "Assert failed");
5138 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6448);
5139 exit(1);
5140 }
5141 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AGtExpr> */
5142 } else {
5143 fprintf(stderr, "Runtime error: %s", "Aborted");
5144 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6451);
5145 exit(1);
5146 }
5147 goto RET_LABEL;
5148 } else {
5149 }
5150 RET_LABEL:;
5151 }
5152 /* method parser_prod#AGtExpr#replace_child for (self: Object, ANode, nullable ANode) */
5153 void VIRTUAL_parser_prod__AGtExpr__replace_child(val* self, val* p0, val* p1) {
5154 parser_prod__AGtExpr__replace_child(self, p0, p1);
5155 RET_LABEL:;
5156 }
5157 /* method parser_prod#AGtExpr#n_expr= for (self: AGtExpr, AExpr) */
5158 void parser_prod__AGtExpr__n_expr_61d(val* self, val* p0) {
5159 val* var_node /* var node: AExpr */;
5160 var_node = p0;
5161 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AGtExpr> */
5162 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
5163 RET_LABEL:;
5164 }
5165 /* method parser_prod#AGtExpr#n_expr= for (self: Object, AExpr) */
5166 void VIRTUAL_parser_prod__AGtExpr__n_expr_61d(val* self, val* p0) {
5167 parser_prod__AGtExpr__n_expr_61d(self, p0);
5168 RET_LABEL:;
5169 }
5170 /* method parser_prod#AGtExpr#n_expr2= for (self: AGtExpr, AExpr) */
5171 void parser_prod__AGtExpr__n_expr2_61d(val* self, val* p0) {
5172 val* var_node /* var node: AExpr */;
5173 var_node = p0;
5174 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AGtExpr> */
5175 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
5176 RET_LABEL:;
5177 }
5178 /* method parser_prod#AGtExpr#n_expr2= for (self: Object, AExpr) */
5179 void VIRTUAL_parser_prod__AGtExpr__n_expr2_61d(val* self, val* p0) {
5180 parser_prod__AGtExpr__n_expr2_61d(self, p0);
5181 RET_LABEL:;
5182 }
5183 /* method parser_prod#AGtExpr#visit_all for (self: AGtExpr, Visitor) */
5184 void parser_prod__AGtExpr__visit_all(val* self, val* p0) {
5185 val* var_v /* var v: Visitor */;
5186 val* var /* : AExpr */;
5187 val* var1 /* : AExpr */;
5188 var_v = p0;
5189 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGtExpr> */
5190 if (var == NULL) {
5191 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
5192 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6471);
5193 exit(1);
5194 }
5195 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5196 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGtExpr> */
5197 if (var1 == NULL) {
5198 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
5199 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6472);
5200 exit(1);
5201 }
5202 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
5203 RET_LABEL:;
5204 }
5205 /* method parser_prod#AGtExpr#visit_all for (self: Object, Visitor) */
5206 void VIRTUAL_parser_prod__AGtExpr__visit_all(val* self, val* p0) {
5207 parser_prod__AGtExpr__visit_all(self, p0);
5208 RET_LABEL:;
5209 }
5210 /* method parser_prod#AGeExpr#empty_init for (self: AGeExpr) */
5211 void parser_prod__AGeExpr__empty_init(val* self) {
5212 RET_LABEL:;
5213 }
5214 /* method parser_prod#AGeExpr#empty_init for (self: Object) */
5215 void VIRTUAL_parser_prod__AGeExpr__empty_init(val* self) {
5216 parser_prod__AGeExpr__empty_init(self);
5217 RET_LABEL:;
5218 }
5219 /* method parser_prod#AGeExpr#init_ageexpr for (self: AGeExpr, nullable AExpr, nullable AExpr) */
5220 void parser_prod__AGeExpr__init_ageexpr(val* self, val* p0, val* p1) {
5221 val* var_n_expr /* var n_expr: nullable AExpr */;
5222 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
5223 var_n_expr = p0;
5224 var_n_expr2 = p1;
5225 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AGeExpr__empty_init]))(self) /* empty_init on <self:AGeExpr>*/;
5226 if (var_n_expr == NULL) {
5227 fprintf(stderr, "Runtime error: %s", "Cast failed");
5228 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6484);
5229 exit(1);
5230 }
5231 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AGeExpr> */
5232 if (var_n_expr == NULL) {
5233 fprintf(stderr, "Runtime error: %s", "Reciever is null");
5234 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6485);
5235 exit(1);
5236 } else {
5237 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
5238 }
5239 if (var_n_expr2 == NULL) {
5240 fprintf(stderr, "Runtime error: %s", "Cast failed");
5241 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6486);
5242 exit(1);
5243 }
5244 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AGeExpr> */
5245 if (var_n_expr2 == NULL) {
5246 fprintf(stderr, "Runtime error: %s", "Reciever is null");
5247 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6487);
5248 exit(1);
5249 } else {
5250 ((void (*)(val*, val*))(var_n_expr2->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr2, self) /* parent= on <var_n_expr2:nullable AExpr>*/;
5251 }
5252 RET_LABEL:;
5253 }
5254 /* method parser_prod#AGeExpr#init_ageexpr for (self: Object, nullable AExpr, nullable AExpr) */
5255 void VIRTUAL_parser_prod__AGeExpr__init_ageexpr(val* self, val* p0, val* p1) {
5256 parser_prod__AGeExpr__init_ageexpr(self, p0, p1);
5257 RET_LABEL:;
5258 }
5259 /* method parser_prod#AGeExpr#replace_child for (self: AGeExpr, ANode, nullable ANode) */
5260 void parser_prod__AGeExpr__replace_child(val* self, val* p0, val* p1) {
5261 val* var_old_child /* var old_child: ANode */;
5262 val* var_new_child /* var new_child: nullable ANode */;
5263 val* var /* : AExpr */;
5264 short int var1 /* : Bool */;
5265 val* var2 /* : null */;
5266 short int var3 /* : Bool */;
5267 short int var4 /* : Bool */;
5268 int cltype;
5269 int idtype;
5270 val* var5 /* : AExpr */;
5271 short int var6 /* : Bool */;
5272 val* var7 /* : null */;
5273 short int var8 /* : Bool */;
5274 short int var9 /* : Bool */;
5275 int cltype10;
5276 int idtype11;
5277 var_old_child = p0;
5278 var_new_child = p1;
5279 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGeExpr> */
5280 if (var == NULL) {
5281 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
5282 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6492);
5283 exit(1);
5284 }
5285 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
5286 if (var1){
5287 var2 = NULL;
5288 if (var_new_child == NULL) {
5289 var3 = 0; /* is null */
5290 } else {
5291 var3 = 1; /* arg is null and recv is not */
5292 }
5293 if (var3){
5294 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5295 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5296 cltype = type_parser_nodes__AExpr.color;
5297 idtype = type_parser_nodes__AExpr.id;
5298 if(cltype >= var_new_child->type->table_size) {
5299 var4 = 0;
5300 } else {
5301 var4 = var_new_child->type->type_table[cltype] == idtype;
5302 }
5303 if (!var4) {
5304 fprintf(stderr, "Runtime error: %s", "Assert failed");
5305 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6495);
5306 exit(1);
5307 }
5308 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:AGeExpr> */
5309 } else {
5310 fprintf(stderr, "Runtime error: %s", "Aborted");
5311 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6498);
5312 exit(1);
5313 }
5314 goto RET_LABEL;
5315 } else {
5316 }
5317 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGeExpr> */
5318 if (var5 == NULL) {
5319 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
5320 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6502);
5321 exit(1);
5322 }
5323 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
5324 if (var6){
5325 var7 = NULL;
5326 if (var_new_child == NULL) {
5327 var8 = 0; /* is null */
5328 } else {
5329 var8 = 1; /* arg is null and recv is not */
5330 }
5331 if (var8){
5332 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5333 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5334 cltype10 = type_parser_nodes__AExpr.color;
5335 idtype11 = type_parser_nodes__AExpr.id;
5336 if(cltype10 >= var_new_child->type->table_size) {
5337 var9 = 0;
5338 } else {
5339 var9 = var_new_child->type->type_table[cltype10] == idtype11;
5340 }
5341 if (!var9) {
5342 fprintf(stderr, "Runtime error: %s", "Assert failed");
5343 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6505);
5344 exit(1);
5345 }
5346 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AGeExpr> */
5347 } else {
5348 fprintf(stderr, "Runtime error: %s", "Aborted");
5349 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6508);
5350 exit(1);
5351 }
5352 goto RET_LABEL;
5353 } else {
5354 }
5355 RET_LABEL:;
5356 }
5357 /* method parser_prod#AGeExpr#replace_child for (self: Object, ANode, nullable ANode) */
5358 void VIRTUAL_parser_prod__AGeExpr__replace_child(val* self, val* p0, val* p1) {
5359 parser_prod__AGeExpr__replace_child(self, p0, p1);
5360 RET_LABEL:;
5361 }
5362 /* method parser_prod#AGeExpr#n_expr= for (self: AGeExpr, AExpr) */
5363 void parser_prod__AGeExpr__n_expr_61d(val* self, val* p0) {
5364 val* var_node /* var node: AExpr */;
5365 var_node = p0;
5366 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AGeExpr> */
5367 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
5368 RET_LABEL:;
5369 }
5370 /* method parser_prod#AGeExpr#n_expr= for (self: Object, AExpr) */
5371 void VIRTUAL_parser_prod__AGeExpr__n_expr_61d(val* self, val* p0) {
5372 parser_prod__AGeExpr__n_expr_61d(self, p0);
5373 RET_LABEL:;
5374 }
5375 /* method parser_prod#AGeExpr#n_expr2= for (self: AGeExpr, AExpr) */
5376 void parser_prod__AGeExpr__n_expr2_61d(val* self, val* p0) {
5377 val* var_node /* var node: AExpr */;
5378 var_node = p0;
5379 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AGeExpr> */
5380 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
5381 RET_LABEL:;
5382 }
5383 /* method parser_prod#AGeExpr#n_expr2= for (self: Object, AExpr) */
5384 void VIRTUAL_parser_prod__AGeExpr__n_expr2_61d(val* self, val* p0) {
5385 parser_prod__AGeExpr__n_expr2_61d(self, p0);
5386 RET_LABEL:;
5387 }
5388 /* method parser_prod#AGeExpr#visit_all for (self: AGeExpr, Visitor) */
5389 void parser_prod__AGeExpr__visit_all(val* self, val* p0) {
5390 val* var_v /* var v: Visitor */;
5391 val* var /* : AExpr */;
5392 val* var1 /* : AExpr */;
5393 var_v = p0;
5394 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGeExpr> */
5395 if (var == NULL) {
5396 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
5397 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6528);
5398 exit(1);
5399 }
5400 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5401 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGeExpr> */
5402 if (var1 == NULL) {
5403 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
5404 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6529);
5405 exit(1);
5406 }
5407 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
5408 RET_LABEL:;
5409 }
5410 /* method parser_prod#AGeExpr#visit_all for (self: Object, Visitor) */
5411 void VIRTUAL_parser_prod__AGeExpr__visit_all(val* self, val* p0) {
5412 parser_prod__AGeExpr__visit_all(self, p0);
5413 RET_LABEL:;
5414 }
5415 /* method parser_prod#AGgExpr#empty_init for (self: AGgExpr) */
5416 void parser_prod__AGgExpr__empty_init(val* self) {
5417 RET_LABEL:;
5418 }
5419 /* method parser_prod#AGgExpr#empty_init for (self: Object) */
5420 void VIRTUAL_parser_prod__AGgExpr__empty_init(val* self) {
5421 parser_prod__AGgExpr__empty_init(self);
5422 RET_LABEL:;
5423 }
5424 /* method parser_prod#AGgExpr#init_aggexpr for (self: AGgExpr, nullable AExpr, nullable AExpr) */
5425 void parser_prod__AGgExpr__init_aggexpr(val* self, val* p0, val* p1) {
5426 val* var_n_expr /* var n_expr: nullable AExpr */;
5427 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
5428 var_n_expr = p0;
5429 var_n_expr2 = p1;
5430 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AGgExpr__empty_init]))(self) /* empty_init on <self:AGgExpr>*/;
5431 if (var_n_expr == NULL) {
5432 fprintf(stderr, "Runtime error: %s", "Cast failed");
5433 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6541);
5434 exit(1);
5435 }
5436 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AGgExpr> */
5437 if (var_n_expr == NULL) {
5438 fprintf(stderr, "Runtime error: %s", "Reciever is null");
5439 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6542);
5440 exit(1);
5441 } else {
5442 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
5443 }
5444 if (var_n_expr2 == NULL) {
5445 fprintf(stderr, "Runtime error: %s", "Cast failed");
5446 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6543);
5447 exit(1);
5448 }
5449 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AGgExpr> */
5450 if (var_n_expr2 == NULL) {
5451 fprintf(stderr, "Runtime error: %s", "Reciever is null");
5452 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6544);
5453 exit(1);
5454 } else {
5455 ((void (*)(val*, val*))(var_n_expr2->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr2, self) /* parent= on <var_n_expr2:nullable AExpr>*/;
5456 }
5457 RET_LABEL:;
5458 }
5459 /* method parser_prod#AGgExpr#init_aggexpr for (self: Object, nullable AExpr, nullable AExpr) */
5460 void VIRTUAL_parser_prod__AGgExpr__init_aggexpr(val* self, val* p0, val* p1) {
5461 parser_prod__AGgExpr__init_aggexpr(self, p0, p1);
5462 RET_LABEL:;
5463 }
5464 /* method parser_prod#AGgExpr#replace_child for (self: AGgExpr, ANode, nullable ANode) */
5465 void parser_prod__AGgExpr__replace_child(val* self, val* p0, val* p1) {
5466 val* var_old_child /* var old_child: ANode */;
5467 val* var_new_child /* var new_child: nullable ANode */;
5468 val* var /* : AExpr */;
5469 short int var1 /* : Bool */;
5470 val* var2 /* : null */;
5471 short int var3 /* : Bool */;
5472 short int var4 /* : Bool */;
5473 int cltype;
5474 int idtype;
5475 val* var5 /* : AExpr */;
5476 short int var6 /* : Bool */;
5477 val* var7 /* : null */;
5478 short int var8 /* : Bool */;
5479 short int var9 /* : Bool */;
5480 int cltype10;
5481 int idtype11;
5482 var_old_child = p0;
5483 var_new_child = p1;
5484 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGgExpr> */
5485 if (var == NULL) {
5486 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
5487 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6549);
5488 exit(1);
5489 }
5490 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
5491 if (var1){
5492 var2 = NULL;
5493 if (var_new_child == NULL) {
5494 var3 = 0; /* is null */
5495 } else {
5496 var3 = 1; /* arg is null and recv is not */
5497 }
5498 if (var3){
5499 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5500 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5501 cltype = type_parser_nodes__AExpr.color;
5502 idtype = type_parser_nodes__AExpr.id;
5503 if(cltype >= var_new_child->type->table_size) {
5504 var4 = 0;
5505 } else {
5506 var4 = var_new_child->type->type_table[cltype] == idtype;
5507 }
5508 if (!var4) {
5509 fprintf(stderr, "Runtime error: %s", "Assert failed");
5510 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6552);
5511 exit(1);
5512 }
5513 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:AGgExpr> */
5514 } else {
5515 fprintf(stderr, "Runtime error: %s", "Aborted");
5516 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6555);
5517 exit(1);
5518 }
5519 goto RET_LABEL;
5520 } else {
5521 }
5522 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGgExpr> */
5523 if (var5 == NULL) {
5524 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
5525 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6559);
5526 exit(1);
5527 }
5528 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
5529 if (var6){
5530 var7 = NULL;
5531 if (var_new_child == NULL) {
5532 var8 = 0; /* is null */
5533 } else {
5534 var8 = 1; /* arg is null and recv is not */
5535 }
5536 if (var8){
5537 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5538 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5539 cltype10 = type_parser_nodes__AExpr.color;
5540 idtype11 = type_parser_nodes__AExpr.id;
5541 if(cltype10 >= var_new_child->type->table_size) {
5542 var9 = 0;
5543 } else {
5544 var9 = var_new_child->type->type_table[cltype10] == idtype11;
5545 }
5546 if (!var9) {
5547 fprintf(stderr, "Runtime error: %s", "Assert failed");
5548 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6562);
5549 exit(1);
5550 }
5551 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AGgExpr> */
5552 } else {
5553 fprintf(stderr, "Runtime error: %s", "Aborted");
5554 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6565);
5555 exit(1);
5556 }
5557 goto RET_LABEL;
5558 } else {
5559 }
5560 RET_LABEL:;
5561 }
5562 /* method parser_prod#AGgExpr#replace_child for (self: Object, ANode, nullable ANode) */
5563 void VIRTUAL_parser_prod__AGgExpr__replace_child(val* self, val* p0, val* p1) {
5564 parser_prod__AGgExpr__replace_child(self, p0, p1);
5565 RET_LABEL:;
5566 }
5567 /* method parser_prod#AGgExpr#n_expr= for (self: AGgExpr, AExpr) */
5568 void parser_prod__AGgExpr__n_expr_61d(val* self, val* p0) {
5569 val* var_node /* var node: AExpr */;
5570 var_node = p0;
5571 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AGgExpr> */
5572 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
5573 RET_LABEL:;
5574 }
5575 /* method parser_prod#AGgExpr#n_expr= for (self: Object, AExpr) */
5576 void VIRTUAL_parser_prod__AGgExpr__n_expr_61d(val* self, val* p0) {
5577 parser_prod__AGgExpr__n_expr_61d(self, p0);
5578 RET_LABEL:;
5579 }
5580 /* method parser_prod#AGgExpr#n_expr2= for (self: AGgExpr, AExpr) */
5581 void parser_prod__AGgExpr__n_expr2_61d(val* self, val* p0) {
5582 val* var_node /* var node: AExpr */;
5583 var_node = p0;
5584 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AGgExpr> */
5585 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
5586 RET_LABEL:;
5587 }
5588 /* method parser_prod#AGgExpr#n_expr2= for (self: Object, AExpr) */
5589 void VIRTUAL_parser_prod__AGgExpr__n_expr2_61d(val* self, val* p0) {
5590 parser_prod__AGgExpr__n_expr2_61d(self, p0);
5591 RET_LABEL:;
5592 }
5593 /* method parser_prod#AGgExpr#visit_all for (self: AGgExpr, Visitor) */
5594 void parser_prod__AGgExpr__visit_all(val* self, val* p0) {
5595 val* var_v /* var v: Visitor */;
5596 val* var /* : AExpr */;
5597 val* var1 /* : AExpr */;
5598 var_v = p0;
5599 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGgExpr> */
5600 if (var == NULL) {
5601 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
5602 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6585);
5603 exit(1);
5604 }
5605 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5606 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGgExpr> */
5607 if (var1 == NULL) {
5608 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
5609 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6586);
5610 exit(1);
5611 }
5612 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
5613 RET_LABEL:;
5614 }
5615 /* method parser_prod#AGgExpr#visit_all for (self: Object, Visitor) */
5616 void VIRTUAL_parser_prod__AGgExpr__visit_all(val* self, val* p0) {
5617 parser_prod__AGgExpr__visit_all(self, p0);
5618 RET_LABEL:;
5619 }
5620 /* method parser_prod#AIsaExpr#empty_init for (self: AIsaExpr) */
5621 void parser_prod__AIsaExpr__empty_init(val* self) {
5622 RET_LABEL:;
5623 }
5624 /* method parser_prod#AIsaExpr#empty_init for (self: Object) */
5625 void VIRTUAL_parser_prod__AIsaExpr__empty_init(val* self) {
5626 parser_prod__AIsaExpr__empty_init(self);
5627 RET_LABEL:;
5628 }
5629 /* method parser_prod#AIsaExpr#init_aisaexpr for (self: AIsaExpr, nullable AExpr, nullable AType) */
5630 void parser_prod__AIsaExpr__init_aisaexpr(val* self, val* p0, val* p1) {
5631 val* var_n_expr /* var n_expr: nullable AExpr */;
5632 val* var_n_type /* var n_type: nullable AType */;
5633 var_n_expr = p0;
5634 var_n_type = p1;
5635 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AIsaExpr__empty_init]))(self) /* empty_init on <self:AIsaExpr>*/;
5636 if (var_n_expr == NULL) {
5637 fprintf(stderr, "Runtime error: %s", "Cast failed");
5638 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6598);
5639 exit(1);
5640 }
5641 self->attrs[COLOR_parser_nodes__AIsaExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AIsaExpr> */
5642 if (var_n_expr == NULL) {
5643 fprintf(stderr, "Runtime error: %s", "Reciever is null");
5644 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6599);
5645 exit(1);
5646 } else {
5647 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
5648 }
5649 if (var_n_type == NULL) {
5650 fprintf(stderr, "Runtime error: %s", "Cast failed");
5651 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6600);
5652 exit(1);
5653 }
5654 self->attrs[COLOR_parser_nodes__AIsaExpr___n_type].val = var_n_type; /* _n_type on <self:AIsaExpr> */
5655 if (var_n_type == NULL) {
5656 fprintf(stderr, "Runtime error: %s", "Reciever is null");
5657 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6601);
5658 exit(1);
5659 } else {
5660 ((void (*)(val*, val*))(var_n_type->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_type, self) /* parent= on <var_n_type:nullable AType>*/;
5661 }
5662 RET_LABEL:;
5663 }
5664 /* method parser_prod#AIsaExpr#init_aisaexpr for (self: Object, nullable AExpr, nullable AType) */
5665 void VIRTUAL_parser_prod__AIsaExpr__init_aisaexpr(val* self, val* p0, val* p1) {
5666 parser_prod__AIsaExpr__init_aisaexpr(self, p0, p1);
5667 RET_LABEL:;
5668 }
5669 /* method parser_prod#AIsaExpr#replace_child for (self: AIsaExpr, ANode, nullable ANode) */
5670 void parser_prod__AIsaExpr__replace_child(val* self, val* p0, val* p1) {
5671 val* var_old_child /* var old_child: ANode */;
5672 val* var_new_child /* var new_child: nullable ANode */;
5673 val* var /* : AExpr */;
5674 short int var1 /* : Bool */;
5675 val* var2 /* : null */;
5676 short int var3 /* : Bool */;
5677 short int var4 /* : Bool */;
5678 int cltype;
5679 int idtype;
5680 val* var5 /* : AType */;
5681 short int var6 /* : Bool */;
5682 val* var7 /* : null */;
5683 short int var8 /* : Bool */;
5684 short int var9 /* : Bool */;
5685 int cltype10;
5686 int idtype11;
5687 var_old_child = p0;
5688 var_new_child = p1;
5689 var = self->attrs[COLOR_parser_nodes__AIsaExpr___n_expr].val; /* _n_expr on <self:AIsaExpr> */
5690 if (var == NULL) {
5691 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
5692 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6606);
5693 exit(1);
5694 }
5695 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
5696 if (var1){
5697 var2 = NULL;
5698 if (var_new_child == NULL) {
5699 var3 = 0; /* is null */
5700 } else {
5701 var3 = 1; /* arg is null and recv is not */
5702 }
5703 if (var3){
5704 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5705 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5706 cltype = type_parser_nodes__AExpr.color;
5707 idtype = type_parser_nodes__AExpr.id;
5708 if(cltype >= var_new_child->type->table_size) {
5709 var4 = 0;
5710 } else {
5711 var4 = var_new_child->type->type_table[cltype] == idtype;
5712 }
5713 if (!var4) {
5714 fprintf(stderr, "Runtime error: %s", "Assert failed");
5715 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6609);
5716 exit(1);
5717 }
5718 self->attrs[COLOR_parser_nodes__AIsaExpr___n_expr].val = var_new_child; /* _n_expr on <self:AIsaExpr> */
5719 } else {
5720 fprintf(stderr, "Runtime error: %s", "Aborted");
5721 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6612);
5722 exit(1);
5723 }
5724 goto RET_LABEL;
5725 } else {
5726 }
5727 var5 = self->attrs[COLOR_parser_nodes__AIsaExpr___n_type].val; /* _n_type on <self:AIsaExpr> */
5728 if (var5 == NULL) {
5729 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
5730 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6616);
5731 exit(1);
5732 }
5733 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AType>*/;
5734 if (var6){
5735 var7 = NULL;
5736 if (var_new_child == NULL) {
5737 var8 = 0; /* is null */
5738 } else {
5739 var8 = 1; /* arg is null and recv is not */
5740 }
5741 if (var8){
5742 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5743 /* <var_new_child:nullable ANode(ANode)> isa AType */
5744 cltype10 = type_parser_nodes__AType.color;
5745 idtype11 = type_parser_nodes__AType.id;
5746 if(cltype10 >= var_new_child->type->table_size) {
5747 var9 = 0;
5748 } else {
5749 var9 = var_new_child->type->type_table[cltype10] == idtype11;
5750 }
5751 if (!var9) {
5752 fprintf(stderr, "Runtime error: %s", "Assert failed");
5753 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6619);
5754 exit(1);
5755 }
5756 self->attrs[COLOR_parser_nodes__AIsaExpr___n_type].val = var_new_child; /* _n_type on <self:AIsaExpr> */
5757 } else {
5758 fprintf(stderr, "Runtime error: %s", "Aborted");
5759 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6622);
5760 exit(1);
5761 }
5762 goto RET_LABEL;
5763 } else {
5764 }
5765 RET_LABEL:;
5766 }
5767 /* method parser_prod#AIsaExpr#replace_child for (self: Object, ANode, nullable ANode) */
5768 void VIRTUAL_parser_prod__AIsaExpr__replace_child(val* self, val* p0, val* p1) {
5769 parser_prod__AIsaExpr__replace_child(self, p0, p1);
5770 RET_LABEL:;
5771 }
5772 /* method parser_prod#AIsaExpr#n_expr= for (self: AIsaExpr, AExpr) */
5773 void parser_prod__AIsaExpr__n_expr_61d(val* self, val* p0) {
5774 val* var_node /* var node: AExpr */;
5775 var_node = p0;
5776 self->attrs[COLOR_parser_nodes__AIsaExpr___n_expr].val = var_node; /* _n_expr on <self:AIsaExpr> */
5777 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
5778 RET_LABEL:;
5779 }
5780 /* method parser_prod#AIsaExpr#n_expr= for (self: Object, AExpr) */
5781 void VIRTUAL_parser_prod__AIsaExpr__n_expr_61d(val* self, val* p0) {
5782 parser_prod__AIsaExpr__n_expr_61d(self, p0);
5783 RET_LABEL:;
5784 }
5785 /* method parser_prod#AIsaExpr#n_type= for (self: AIsaExpr, AType) */
5786 void parser_prod__AIsaExpr__n_type_61d(val* self, val* p0) {
5787 val* var_node /* var node: AType */;
5788 var_node = p0;
5789 self->attrs[COLOR_parser_nodes__AIsaExpr___n_type].val = var_node; /* _n_type on <self:AIsaExpr> */
5790 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AType>*/;
5791 RET_LABEL:;
5792 }
5793 /* method parser_prod#AIsaExpr#n_type= for (self: Object, AType) */
5794 void VIRTUAL_parser_prod__AIsaExpr__n_type_61d(val* self, val* p0) {
5795 parser_prod__AIsaExpr__n_type_61d(self, p0);
5796 RET_LABEL:;
5797 }
5798 /* method parser_prod#AIsaExpr#visit_all for (self: AIsaExpr, Visitor) */
5799 void parser_prod__AIsaExpr__visit_all(val* self, val* p0) {
5800 val* var_v /* var v: Visitor */;
5801 val* var /* : AExpr */;
5802 val* var1 /* : AType */;
5803 var_v = p0;
5804 var = self->attrs[COLOR_parser_nodes__AIsaExpr___n_expr].val; /* _n_expr on <self:AIsaExpr> */
5805 if (var == NULL) {
5806 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
5807 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6642);
5808 exit(1);
5809 }
5810 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5811 var1 = self->attrs[COLOR_parser_nodes__AIsaExpr___n_type].val; /* _n_type on <self:AIsaExpr> */
5812 if (var1 == NULL) {
5813 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
5814 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6643);
5815 exit(1);
5816 }
5817 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
5818 RET_LABEL:;
5819 }
5820 /* method parser_prod#AIsaExpr#visit_all for (self: Object, Visitor) */
5821 void VIRTUAL_parser_prod__AIsaExpr__visit_all(val* self, val* p0) {
5822 parser_prod__AIsaExpr__visit_all(self, p0);
5823 RET_LABEL:;
5824 }
5825 /* method parser_prod#APlusExpr#empty_init for (self: APlusExpr) */
5826 void parser_prod__APlusExpr__empty_init(val* self) {
5827 RET_LABEL:;
5828 }
5829 /* method parser_prod#APlusExpr#empty_init for (self: Object) */
5830 void VIRTUAL_parser_prod__APlusExpr__empty_init(val* self) {
5831 parser_prod__APlusExpr__empty_init(self);
5832 RET_LABEL:;
5833 }
5834 /* method parser_prod#APlusExpr#init_aplusexpr for (self: APlusExpr, nullable AExpr, nullable AExpr) */
5835 void parser_prod__APlusExpr__init_aplusexpr(val* self, val* p0, val* p1) {
5836 val* var_n_expr /* var n_expr: nullable AExpr */;
5837 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
5838 var_n_expr = p0;
5839 var_n_expr2 = p1;
5840 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__APlusExpr__empty_init]))(self) /* empty_init on <self:APlusExpr>*/;
5841 if (var_n_expr == NULL) {
5842 fprintf(stderr, "Runtime error: %s", "Cast failed");
5843 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6655);
5844 exit(1);
5845 }
5846 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:APlusExpr> */
5847 if (var_n_expr == NULL) {
5848 fprintf(stderr, "Runtime error: %s", "Reciever is null");
5849 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6656);
5850 exit(1);
5851 } else {
5852 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
5853 }
5854 if (var_n_expr2 == NULL) {
5855 fprintf(stderr, "Runtime error: %s", "Cast failed");
5856 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6657);
5857 exit(1);
5858 }
5859 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:APlusExpr> */
5860 if (var_n_expr2 == NULL) {
5861 fprintf(stderr, "Runtime error: %s", "Reciever is null");
5862 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6658);
5863 exit(1);
5864 } else {
5865 ((void (*)(val*, val*))(var_n_expr2->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr2, self) /* parent= on <var_n_expr2:nullable AExpr>*/;
5866 }
5867 RET_LABEL:;
5868 }
5869 /* method parser_prod#APlusExpr#init_aplusexpr for (self: Object, nullable AExpr, nullable AExpr) */
5870 void VIRTUAL_parser_prod__APlusExpr__init_aplusexpr(val* self, val* p0, val* p1) {
5871 parser_prod__APlusExpr__init_aplusexpr(self, p0, p1);
5872 RET_LABEL:;
5873 }
5874 /* method parser_prod#APlusExpr#replace_child for (self: APlusExpr, ANode, nullable ANode) */
5875 void parser_prod__APlusExpr__replace_child(val* self, val* p0, val* p1) {
5876 val* var_old_child /* var old_child: ANode */;
5877 val* var_new_child /* var new_child: nullable ANode */;
5878 val* var /* : AExpr */;
5879 short int var1 /* : Bool */;
5880 val* var2 /* : null */;
5881 short int var3 /* : Bool */;
5882 short int var4 /* : Bool */;
5883 int cltype;
5884 int idtype;
5885 val* var5 /* : AExpr */;
5886 short int var6 /* : Bool */;
5887 val* var7 /* : null */;
5888 short int var8 /* : Bool */;
5889 short int var9 /* : Bool */;
5890 int cltype10;
5891 int idtype11;
5892 var_old_child = p0;
5893 var_new_child = p1;
5894 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:APlusExpr> */
5895 if (var == NULL) {
5896 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
5897 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6663);
5898 exit(1);
5899 }
5900 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
5901 if (var1){
5902 var2 = NULL;
5903 if (var_new_child == NULL) {
5904 var3 = 0; /* is null */
5905 } else {
5906 var3 = 1; /* arg is null and recv is not */
5907 }
5908 if (var3){
5909 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5910 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5911 cltype = type_parser_nodes__AExpr.color;
5912 idtype = type_parser_nodes__AExpr.id;
5913 if(cltype >= var_new_child->type->table_size) {
5914 var4 = 0;
5915 } else {
5916 var4 = var_new_child->type->type_table[cltype] == idtype;
5917 }
5918 if (!var4) {
5919 fprintf(stderr, "Runtime error: %s", "Assert failed");
5920 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6666);
5921 exit(1);
5922 }
5923 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:APlusExpr> */
5924 } else {
5925 fprintf(stderr, "Runtime error: %s", "Aborted");
5926 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6669);
5927 exit(1);
5928 }
5929 goto RET_LABEL;
5930 } else {
5931 }
5932 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:APlusExpr> */
5933 if (var5 == NULL) {
5934 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
5935 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6673);
5936 exit(1);
5937 }
5938 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
5939 if (var6){
5940 var7 = NULL;
5941 if (var_new_child == NULL) {
5942 var8 = 0; /* is null */
5943 } else {
5944 var8 = 1; /* arg is null and recv is not */
5945 }
5946 if (var8){
5947 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
5948 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5949 cltype10 = type_parser_nodes__AExpr.color;
5950 idtype11 = type_parser_nodes__AExpr.id;
5951 if(cltype10 >= var_new_child->type->table_size) {
5952 var9 = 0;
5953 } else {
5954 var9 = var_new_child->type->type_table[cltype10] == idtype11;
5955 }
5956 if (!var9) {
5957 fprintf(stderr, "Runtime error: %s", "Assert failed");
5958 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6676);
5959 exit(1);
5960 }
5961 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:APlusExpr> */
5962 } else {
5963 fprintf(stderr, "Runtime error: %s", "Aborted");
5964 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6679);
5965 exit(1);
5966 }
5967 goto RET_LABEL;
5968 } else {
5969 }
5970 RET_LABEL:;
5971 }
5972 /* method parser_prod#APlusExpr#replace_child for (self: Object, ANode, nullable ANode) */
5973 void VIRTUAL_parser_prod__APlusExpr__replace_child(val* self, val* p0, val* p1) {
5974 parser_prod__APlusExpr__replace_child(self, p0, p1);
5975 RET_LABEL:;
5976 }
5977 /* method parser_prod#APlusExpr#n_expr= for (self: APlusExpr, AExpr) */
5978 void parser_prod__APlusExpr__n_expr_61d(val* self, val* p0) {
5979 val* var_node /* var node: AExpr */;
5980 var_node = p0;
5981 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:APlusExpr> */
5982 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
5983 RET_LABEL:;
5984 }
5985 /* method parser_prod#APlusExpr#n_expr= for (self: Object, AExpr) */
5986 void VIRTUAL_parser_prod__APlusExpr__n_expr_61d(val* self, val* p0) {
5987 parser_prod__APlusExpr__n_expr_61d(self, p0);
5988 RET_LABEL:;
5989 }
5990 /* method parser_prod#APlusExpr#n_expr2= for (self: APlusExpr, AExpr) */
5991 void parser_prod__APlusExpr__n_expr2_61d(val* self, val* p0) {
5992 val* var_node /* var node: AExpr */;
5993 var_node = p0;
5994 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:APlusExpr> */
5995 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
5996 RET_LABEL:;
5997 }
5998 /* method parser_prod#APlusExpr#n_expr2= for (self: Object, AExpr) */
5999 void VIRTUAL_parser_prod__APlusExpr__n_expr2_61d(val* self, val* p0) {
6000 parser_prod__APlusExpr__n_expr2_61d(self, p0);
6001 RET_LABEL:;
6002 }
6003 /* method parser_prod#APlusExpr#visit_all for (self: APlusExpr, Visitor) */
6004 void parser_prod__APlusExpr__visit_all(val* self, val* p0) {
6005 val* var_v /* var v: Visitor */;
6006 val* var /* : AExpr */;
6007 val* var1 /* : AExpr */;
6008 var_v = p0;
6009 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:APlusExpr> */
6010 if (var == NULL) {
6011 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
6012 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6699);
6013 exit(1);
6014 }
6015 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
6016 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:APlusExpr> */
6017 if (var1 == NULL) {
6018 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
6019 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6700);
6020 exit(1);
6021 }
6022 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
6023 RET_LABEL:;
6024 }
6025 /* method parser_prod#APlusExpr#visit_all for (self: Object, Visitor) */
6026 void VIRTUAL_parser_prod__APlusExpr__visit_all(val* self, val* p0) {
6027 parser_prod__APlusExpr__visit_all(self, p0);
6028 RET_LABEL:;
6029 }
6030 /* method parser_prod#AMinusExpr#empty_init for (self: AMinusExpr) */
6031 void parser_prod__AMinusExpr__empty_init(val* self) {
6032 RET_LABEL:;
6033 }
6034 /* method parser_prod#AMinusExpr#empty_init for (self: Object) */
6035 void VIRTUAL_parser_prod__AMinusExpr__empty_init(val* self) {
6036 parser_prod__AMinusExpr__empty_init(self);
6037 RET_LABEL:;
6038 }
6039 /* method parser_prod#AMinusExpr#init_aminusexpr for (self: AMinusExpr, nullable AExpr, nullable AExpr) */
6040 void parser_prod__AMinusExpr__init_aminusexpr(val* self, val* p0, val* p1) {
6041 val* var_n_expr /* var n_expr: nullable AExpr */;
6042 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
6043 var_n_expr = p0;
6044 var_n_expr2 = p1;
6045 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AMinusExpr__empty_init]))(self) /* empty_init on <self:AMinusExpr>*/;
6046 if (var_n_expr == NULL) {
6047 fprintf(stderr, "Runtime error: %s", "Cast failed");
6048 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6712);
6049 exit(1);
6050 }
6051 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AMinusExpr> */
6052 if (var_n_expr == NULL) {
6053 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6054 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6713);
6055 exit(1);
6056 } else {
6057 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
6058 }
6059 if (var_n_expr2 == NULL) {
6060 fprintf(stderr, "Runtime error: %s", "Cast failed");
6061 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6714);
6062 exit(1);
6063 }
6064 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AMinusExpr> */
6065 if (var_n_expr2 == NULL) {
6066 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6067 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6715);
6068 exit(1);
6069 } else {
6070 ((void (*)(val*, val*))(var_n_expr2->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr2, self) /* parent= on <var_n_expr2:nullable AExpr>*/;
6071 }
6072 RET_LABEL:;
6073 }
6074 /* method parser_prod#AMinusExpr#init_aminusexpr for (self: Object, nullable AExpr, nullable AExpr) */
6075 void VIRTUAL_parser_prod__AMinusExpr__init_aminusexpr(val* self, val* p0, val* p1) {
6076 parser_prod__AMinusExpr__init_aminusexpr(self, p0, p1);
6077 RET_LABEL:;
6078 }
6079 /* method parser_prod#AMinusExpr#replace_child for (self: AMinusExpr, ANode, nullable ANode) */
6080 void parser_prod__AMinusExpr__replace_child(val* self, val* p0, val* p1) {
6081 val* var_old_child /* var old_child: ANode */;
6082 val* var_new_child /* var new_child: nullable ANode */;
6083 val* var /* : AExpr */;
6084 short int var1 /* : Bool */;
6085 val* var2 /* : null */;
6086 short int var3 /* : Bool */;
6087 short int var4 /* : Bool */;
6088 int cltype;
6089 int idtype;
6090 val* var5 /* : AExpr */;
6091 short int var6 /* : Bool */;
6092 val* var7 /* : null */;
6093 short int var8 /* : Bool */;
6094 short int var9 /* : Bool */;
6095 int cltype10;
6096 int idtype11;
6097 var_old_child = p0;
6098 var_new_child = p1;
6099 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AMinusExpr> */
6100 if (var == NULL) {
6101 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
6102 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6720);
6103 exit(1);
6104 }
6105 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
6106 if (var1){
6107 var2 = NULL;
6108 if (var_new_child == NULL) {
6109 var3 = 0; /* is null */
6110 } else {
6111 var3 = 1; /* arg is null and recv is not */
6112 }
6113 if (var3){
6114 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6115 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6116 cltype = type_parser_nodes__AExpr.color;
6117 idtype = type_parser_nodes__AExpr.id;
6118 if(cltype >= var_new_child->type->table_size) {
6119 var4 = 0;
6120 } else {
6121 var4 = var_new_child->type->type_table[cltype] == idtype;
6122 }
6123 if (!var4) {
6124 fprintf(stderr, "Runtime error: %s", "Assert failed");
6125 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6723);
6126 exit(1);
6127 }
6128 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:AMinusExpr> */
6129 } else {
6130 fprintf(stderr, "Runtime error: %s", "Aborted");
6131 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6726);
6132 exit(1);
6133 }
6134 goto RET_LABEL;
6135 } else {
6136 }
6137 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AMinusExpr> */
6138 if (var5 == NULL) {
6139 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
6140 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6730);
6141 exit(1);
6142 }
6143 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
6144 if (var6){
6145 var7 = NULL;
6146 if (var_new_child == NULL) {
6147 var8 = 0; /* is null */
6148 } else {
6149 var8 = 1; /* arg is null and recv is not */
6150 }
6151 if (var8){
6152 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6153 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6154 cltype10 = type_parser_nodes__AExpr.color;
6155 idtype11 = type_parser_nodes__AExpr.id;
6156 if(cltype10 >= var_new_child->type->table_size) {
6157 var9 = 0;
6158 } else {
6159 var9 = var_new_child->type->type_table[cltype10] == idtype11;
6160 }
6161 if (!var9) {
6162 fprintf(stderr, "Runtime error: %s", "Assert failed");
6163 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6733);
6164 exit(1);
6165 }
6166 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AMinusExpr> */
6167 } else {
6168 fprintf(stderr, "Runtime error: %s", "Aborted");
6169 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6736);
6170 exit(1);
6171 }
6172 goto RET_LABEL;
6173 } else {
6174 }
6175 RET_LABEL:;
6176 }
6177 /* method parser_prod#AMinusExpr#replace_child for (self: Object, ANode, nullable ANode) */
6178 void VIRTUAL_parser_prod__AMinusExpr__replace_child(val* self, val* p0, val* p1) {
6179 parser_prod__AMinusExpr__replace_child(self, p0, p1);
6180 RET_LABEL:;
6181 }
6182 /* method parser_prod#AMinusExpr#n_expr= for (self: AMinusExpr, AExpr) */
6183 void parser_prod__AMinusExpr__n_expr_61d(val* self, val* p0) {
6184 val* var_node /* var node: AExpr */;
6185 var_node = p0;
6186 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AMinusExpr> */
6187 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6188 RET_LABEL:;
6189 }
6190 /* method parser_prod#AMinusExpr#n_expr= for (self: Object, AExpr) */
6191 void VIRTUAL_parser_prod__AMinusExpr__n_expr_61d(val* self, val* p0) {
6192 parser_prod__AMinusExpr__n_expr_61d(self, p0);
6193 RET_LABEL:;
6194 }
6195 /* method parser_prod#AMinusExpr#n_expr2= for (self: AMinusExpr, AExpr) */
6196 void parser_prod__AMinusExpr__n_expr2_61d(val* self, val* p0) {
6197 val* var_node /* var node: AExpr */;
6198 var_node = p0;
6199 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AMinusExpr> */
6200 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6201 RET_LABEL:;
6202 }
6203 /* method parser_prod#AMinusExpr#n_expr2= for (self: Object, AExpr) */
6204 void VIRTUAL_parser_prod__AMinusExpr__n_expr2_61d(val* self, val* p0) {
6205 parser_prod__AMinusExpr__n_expr2_61d(self, p0);
6206 RET_LABEL:;
6207 }
6208 /* method parser_prod#AMinusExpr#visit_all for (self: AMinusExpr, Visitor) */
6209 void parser_prod__AMinusExpr__visit_all(val* self, val* p0) {
6210 val* var_v /* var v: Visitor */;
6211 val* var /* : AExpr */;
6212 val* var1 /* : AExpr */;
6213 var_v = p0;
6214 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AMinusExpr> */
6215 if (var == NULL) {
6216 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
6217 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6756);
6218 exit(1);
6219 }
6220 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
6221 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AMinusExpr> */
6222 if (var1 == NULL) {
6223 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
6224 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6757);
6225 exit(1);
6226 }
6227 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
6228 RET_LABEL:;
6229 }
6230 /* method parser_prod#AMinusExpr#visit_all for (self: Object, Visitor) */
6231 void VIRTUAL_parser_prod__AMinusExpr__visit_all(val* self, val* p0) {
6232 parser_prod__AMinusExpr__visit_all(self, p0);
6233 RET_LABEL:;
6234 }
6235 /* method parser_prod#AStarshipExpr#empty_init for (self: AStarshipExpr) */
6236 void parser_prod__AStarshipExpr__empty_init(val* self) {
6237 RET_LABEL:;
6238 }
6239 /* method parser_prod#AStarshipExpr#empty_init for (self: Object) */
6240 void VIRTUAL_parser_prod__AStarshipExpr__empty_init(val* self) {
6241 parser_prod__AStarshipExpr__empty_init(self);
6242 RET_LABEL:;
6243 }
6244 /* method parser_prod#AStarshipExpr#init_astarshipexpr for (self: AStarshipExpr, nullable AExpr, nullable AExpr) */
6245 void parser_prod__AStarshipExpr__init_astarshipexpr(val* self, val* p0, val* p1) {
6246 val* var_n_expr /* var n_expr: nullable AExpr */;
6247 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
6248 var_n_expr = p0;
6249 var_n_expr2 = p1;
6250 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AStarshipExpr__empty_init]))(self) /* empty_init on <self:AStarshipExpr>*/;
6251 if (var_n_expr == NULL) {
6252 fprintf(stderr, "Runtime error: %s", "Cast failed");
6253 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6769);
6254 exit(1);
6255 }
6256 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AStarshipExpr> */
6257 if (var_n_expr == NULL) {
6258 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6259 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6770);
6260 exit(1);
6261 } else {
6262 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
6263 }
6264 if (var_n_expr2 == NULL) {
6265 fprintf(stderr, "Runtime error: %s", "Cast failed");
6266 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6771);
6267 exit(1);
6268 }
6269 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AStarshipExpr> */
6270 if (var_n_expr2 == NULL) {
6271 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6272 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6772);
6273 exit(1);
6274 } else {
6275 ((void (*)(val*, val*))(var_n_expr2->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr2, self) /* parent= on <var_n_expr2:nullable AExpr>*/;
6276 }
6277 RET_LABEL:;
6278 }
6279 /* method parser_prod#AStarshipExpr#init_astarshipexpr for (self: Object, nullable AExpr, nullable AExpr) */
6280 void VIRTUAL_parser_prod__AStarshipExpr__init_astarshipexpr(val* self, val* p0, val* p1) {
6281 parser_prod__AStarshipExpr__init_astarshipexpr(self, p0, p1);
6282 RET_LABEL:;
6283 }
6284 /* method parser_prod#AStarshipExpr#replace_child for (self: AStarshipExpr, ANode, nullable ANode) */
6285 void parser_prod__AStarshipExpr__replace_child(val* self, val* p0, val* p1) {
6286 val* var_old_child /* var old_child: ANode */;
6287 val* var_new_child /* var new_child: nullable ANode */;
6288 val* var /* : AExpr */;
6289 short int var1 /* : Bool */;
6290 val* var2 /* : null */;
6291 short int var3 /* : Bool */;
6292 short int var4 /* : Bool */;
6293 int cltype;
6294 int idtype;
6295 val* var5 /* : AExpr */;
6296 short int var6 /* : Bool */;
6297 val* var7 /* : null */;
6298 short int var8 /* : Bool */;
6299 short int var9 /* : Bool */;
6300 int cltype10;
6301 int idtype11;
6302 var_old_child = p0;
6303 var_new_child = p1;
6304 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarshipExpr> */
6305 if (var == NULL) {
6306 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
6307 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6777);
6308 exit(1);
6309 }
6310 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
6311 if (var1){
6312 var2 = NULL;
6313 if (var_new_child == NULL) {
6314 var3 = 0; /* is null */
6315 } else {
6316 var3 = 1; /* arg is null and recv is not */
6317 }
6318 if (var3){
6319 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6320 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6321 cltype = type_parser_nodes__AExpr.color;
6322 idtype = type_parser_nodes__AExpr.id;
6323 if(cltype >= var_new_child->type->table_size) {
6324 var4 = 0;
6325 } else {
6326 var4 = var_new_child->type->type_table[cltype] == idtype;
6327 }
6328 if (!var4) {
6329 fprintf(stderr, "Runtime error: %s", "Assert failed");
6330 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6780);
6331 exit(1);
6332 }
6333 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:AStarshipExpr> */
6334 } else {
6335 fprintf(stderr, "Runtime error: %s", "Aborted");
6336 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6783);
6337 exit(1);
6338 }
6339 goto RET_LABEL;
6340 } else {
6341 }
6342 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarshipExpr> */
6343 if (var5 == NULL) {
6344 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
6345 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6787);
6346 exit(1);
6347 }
6348 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
6349 if (var6){
6350 var7 = NULL;
6351 if (var_new_child == NULL) {
6352 var8 = 0; /* is null */
6353 } else {
6354 var8 = 1; /* arg is null and recv is not */
6355 }
6356 if (var8){
6357 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6358 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6359 cltype10 = type_parser_nodes__AExpr.color;
6360 idtype11 = type_parser_nodes__AExpr.id;
6361 if(cltype10 >= var_new_child->type->table_size) {
6362 var9 = 0;
6363 } else {
6364 var9 = var_new_child->type->type_table[cltype10] == idtype11;
6365 }
6366 if (!var9) {
6367 fprintf(stderr, "Runtime error: %s", "Assert failed");
6368 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6790);
6369 exit(1);
6370 }
6371 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AStarshipExpr> */
6372 } else {
6373 fprintf(stderr, "Runtime error: %s", "Aborted");
6374 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6793);
6375 exit(1);
6376 }
6377 goto RET_LABEL;
6378 } else {
6379 }
6380 RET_LABEL:;
6381 }
6382 /* method parser_prod#AStarshipExpr#replace_child for (self: Object, ANode, nullable ANode) */
6383 void VIRTUAL_parser_prod__AStarshipExpr__replace_child(val* self, val* p0, val* p1) {
6384 parser_prod__AStarshipExpr__replace_child(self, p0, p1);
6385 RET_LABEL:;
6386 }
6387 /* method parser_prod#AStarshipExpr#n_expr= for (self: AStarshipExpr, AExpr) */
6388 void parser_prod__AStarshipExpr__n_expr_61d(val* self, val* p0) {
6389 val* var_node /* var node: AExpr */;
6390 var_node = p0;
6391 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AStarshipExpr> */
6392 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6393 RET_LABEL:;
6394 }
6395 /* method parser_prod#AStarshipExpr#n_expr= for (self: Object, AExpr) */
6396 void VIRTUAL_parser_prod__AStarshipExpr__n_expr_61d(val* self, val* p0) {
6397 parser_prod__AStarshipExpr__n_expr_61d(self, p0);
6398 RET_LABEL:;
6399 }
6400 /* method parser_prod#AStarshipExpr#n_expr2= for (self: AStarshipExpr, AExpr) */
6401 void parser_prod__AStarshipExpr__n_expr2_61d(val* self, val* p0) {
6402 val* var_node /* var node: AExpr */;
6403 var_node = p0;
6404 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AStarshipExpr> */
6405 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6406 RET_LABEL:;
6407 }
6408 /* method parser_prod#AStarshipExpr#n_expr2= for (self: Object, AExpr) */
6409 void VIRTUAL_parser_prod__AStarshipExpr__n_expr2_61d(val* self, val* p0) {
6410 parser_prod__AStarshipExpr__n_expr2_61d(self, p0);
6411 RET_LABEL:;
6412 }
6413 /* method parser_prod#AStarshipExpr#visit_all for (self: AStarshipExpr, Visitor) */
6414 void parser_prod__AStarshipExpr__visit_all(val* self, val* p0) {
6415 val* var_v /* var v: Visitor */;
6416 val* var /* : AExpr */;
6417 val* var1 /* : AExpr */;
6418 var_v = p0;
6419 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarshipExpr> */
6420 if (var == NULL) {
6421 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
6422 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6813);
6423 exit(1);
6424 }
6425 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
6426 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarshipExpr> */
6427 if (var1 == NULL) {
6428 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
6429 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6814);
6430 exit(1);
6431 }
6432 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
6433 RET_LABEL:;
6434 }
6435 /* method parser_prod#AStarshipExpr#visit_all for (self: Object, Visitor) */
6436 void VIRTUAL_parser_prod__AStarshipExpr__visit_all(val* self, val* p0) {
6437 parser_prod__AStarshipExpr__visit_all(self, p0);
6438 RET_LABEL:;
6439 }
6440 /* method parser_prod#AStarExpr#empty_init for (self: AStarExpr) */
6441 void parser_prod__AStarExpr__empty_init(val* self) {
6442 RET_LABEL:;
6443 }
6444 /* method parser_prod#AStarExpr#empty_init for (self: Object) */
6445 void VIRTUAL_parser_prod__AStarExpr__empty_init(val* self) {
6446 parser_prod__AStarExpr__empty_init(self);
6447 RET_LABEL:;
6448 }
6449 /* method parser_prod#AStarExpr#init_astarexpr for (self: AStarExpr, nullable AExpr, nullable AExpr) */
6450 void parser_prod__AStarExpr__init_astarexpr(val* self, val* p0, val* p1) {
6451 val* var_n_expr /* var n_expr: nullable AExpr */;
6452 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
6453 var_n_expr = p0;
6454 var_n_expr2 = p1;
6455 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AStarExpr__empty_init]))(self) /* empty_init on <self:AStarExpr>*/;
6456 if (var_n_expr == NULL) {
6457 fprintf(stderr, "Runtime error: %s", "Cast failed");
6458 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6826);
6459 exit(1);
6460 }
6461 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AStarExpr> */
6462 if (var_n_expr == NULL) {
6463 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6464 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6827);
6465 exit(1);
6466 } else {
6467 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
6468 }
6469 if (var_n_expr2 == NULL) {
6470 fprintf(stderr, "Runtime error: %s", "Cast failed");
6471 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6828);
6472 exit(1);
6473 }
6474 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AStarExpr> */
6475 if (var_n_expr2 == NULL) {
6476 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6477 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6829);
6478 exit(1);
6479 } else {
6480 ((void (*)(val*, val*))(var_n_expr2->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr2, self) /* parent= on <var_n_expr2:nullable AExpr>*/;
6481 }
6482 RET_LABEL:;
6483 }
6484 /* method parser_prod#AStarExpr#init_astarexpr for (self: Object, nullable AExpr, nullable AExpr) */
6485 void VIRTUAL_parser_prod__AStarExpr__init_astarexpr(val* self, val* p0, val* p1) {
6486 parser_prod__AStarExpr__init_astarexpr(self, p0, p1);
6487 RET_LABEL:;
6488 }
6489 /* method parser_prod#AStarExpr#replace_child for (self: AStarExpr, ANode, nullable ANode) */
6490 void parser_prod__AStarExpr__replace_child(val* self, val* p0, val* p1) {
6491 val* var_old_child /* var old_child: ANode */;
6492 val* var_new_child /* var new_child: nullable ANode */;
6493 val* var /* : AExpr */;
6494 short int var1 /* : Bool */;
6495 val* var2 /* : null */;
6496 short int var3 /* : Bool */;
6497 short int var4 /* : Bool */;
6498 int cltype;
6499 int idtype;
6500 val* var5 /* : AExpr */;
6501 short int var6 /* : Bool */;
6502 val* var7 /* : null */;
6503 short int var8 /* : Bool */;
6504 short int var9 /* : Bool */;
6505 int cltype10;
6506 int idtype11;
6507 var_old_child = p0;
6508 var_new_child = p1;
6509 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarExpr> */
6510 if (var == NULL) {
6511 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
6512 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6834);
6513 exit(1);
6514 }
6515 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
6516 if (var1){
6517 var2 = NULL;
6518 if (var_new_child == NULL) {
6519 var3 = 0; /* is null */
6520 } else {
6521 var3 = 1; /* arg is null and recv is not */
6522 }
6523 if (var3){
6524 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6525 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6526 cltype = type_parser_nodes__AExpr.color;
6527 idtype = type_parser_nodes__AExpr.id;
6528 if(cltype >= var_new_child->type->table_size) {
6529 var4 = 0;
6530 } else {
6531 var4 = var_new_child->type->type_table[cltype] == idtype;
6532 }
6533 if (!var4) {
6534 fprintf(stderr, "Runtime error: %s", "Assert failed");
6535 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6837);
6536 exit(1);
6537 }
6538 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:AStarExpr> */
6539 } else {
6540 fprintf(stderr, "Runtime error: %s", "Aborted");
6541 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6840);
6542 exit(1);
6543 }
6544 goto RET_LABEL;
6545 } else {
6546 }
6547 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarExpr> */
6548 if (var5 == NULL) {
6549 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
6550 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6844);
6551 exit(1);
6552 }
6553 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
6554 if (var6){
6555 var7 = NULL;
6556 if (var_new_child == NULL) {
6557 var8 = 0; /* is null */
6558 } else {
6559 var8 = 1; /* arg is null and recv is not */
6560 }
6561 if (var8){
6562 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6563 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6564 cltype10 = type_parser_nodes__AExpr.color;
6565 idtype11 = type_parser_nodes__AExpr.id;
6566 if(cltype10 >= var_new_child->type->table_size) {
6567 var9 = 0;
6568 } else {
6569 var9 = var_new_child->type->type_table[cltype10] == idtype11;
6570 }
6571 if (!var9) {
6572 fprintf(stderr, "Runtime error: %s", "Assert failed");
6573 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6847);
6574 exit(1);
6575 }
6576 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AStarExpr> */
6577 } else {
6578 fprintf(stderr, "Runtime error: %s", "Aborted");
6579 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6850);
6580 exit(1);
6581 }
6582 goto RET_LABEL;
6583 } else {
6584 }
6585 RET_LABEL:;
6586 }
6587 /* method parser_prod#AStarExpr#replace_child for (self: Object, ANode, nullable ANode) */
6588 void VIRTUAL_parser_prod__AStarExpr__replace_child(val* self, val* p0, val* p1) {
6589 parser_prod__AStarExpr__replace_child(self, p0, p1);
6590 RET_LABEL:;
6591 }
6592 /* method parser_prod#AStarExpr#n_expr= for (self: AStarExpr, AExpr) */
6593 void parser_prod__AStarExpr__n_expr_61d(val* self, val* p0) {
6594 val* var_node /* var node: AExpr */;
6595 var_node = p0;
6596 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AStarExpr> */
6597 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6598 RET_LABEL:;
6599 }
6600 /* method parser_prod#AStarExpr#n_expr= for (self: Object, AExpr) */
6601 void VIRTUAL_parser_prod__AStarExpr__n_expr_61d(val* self, val* p0) {
6602 parser_prod__AStarExpr__n_expr_61d(self, p0);
6603 RET_LABEL:;
6604 }
6605 /* method parser_prod#AStarExpr#n_expr2= for (self: AStarExpr, AExpr) */
6606 void parser_prod__AStarExpr__n_expr2_61d(val* self, val* p0) {
6607 val* var_node /* var node: AExpr */;
6608 var_node = p0;
6609 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AStarExpr> */
6610 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6611 RET_LABEL:;
6612 }
6613 /* method parser_prod#AStarExpr#n_expr2= for (self: Object, AExpr) */
6614 void VIRTUAL_parser_prod__AStarExpr__n_expr2_61d(val* self, val* p0) {
6615 parser_prod__AStarExpr__n_expr2_61d(self, p0);
6616 RET_LABEL:;
6617 }
6618 /* method parser_prod#AStarExpr#visit_all for (self: AStarExpr, Visitor) */
6619 void parser_prod__AStarExpr__visit_all(val* self, val* p0) {
6620 val* var_v /* var v: Visitor */;
6621 val* var /* : AExpr */;
6622 val* var1 /* : AExpr */;
6623 var_v = p0;
6624 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarExpr> */
6625 if (var == NULL) {
6626 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
6627 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6870);
6628 exit(1);
6629 }
6630 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
6631 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarExpr> */
6632 if (var1 == NULL) {
6633 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
6634 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6871);
6635 exit(1);
6636 }
6637 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
6638 RET_LABEL:;
6639 }
6640 /* method parser_prod#AStarExpr#visit_all for (self: Object, Visitor) */
6641 void VIRTUAL_parser_prod__AStarExpr__visit_all(val* self, val* p0) {
6642 parser_prod__AStarExpr__visit_all(self, p0);
6643 RET_LABEL:;
6644 }
6645 /* method parser_prod#ASlashExpr#empty_init for (self: ASlashExpr) */
6646 void parser_prod__ASlashExpr__empty_init(val* self) {
6647 RET_LABEL:;
6648 }
6649 /* method parser_prod#ASlashExpr#empty_init for (self: Object) */
6650 void VIRTUAL_parser_prod__ASlashExpr__empty_init(val* self) {
6651 parser_prod__ASlashExpr__empty_init(self);
6652 RET_LABEL:;
6653 }
6654 /* method parser_prod#ASlashExpr#init_aslashexpr for (self: ASlashExpr, nullable AExpr, nullable AExpr) */
6655 void parser_prod__ASlashExpr__init_aslashexpr(val* self, val* p0, val* p1) {
6656 val* var_n_expr /* var n_expr: nullable AExpr */;
6657 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
6658 var_n_expr = p0;
6659 var_n_expr2 = p1;
6660 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ASlashExpr__empty_init]))(self) /* empty_init on <self:ASlashExpr>*/;
6661 if (var_n_expr == NULL) {
6662 fprintf(stderr, "Runtime error: %s", "Cast failed");
6663 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6883);
6664 exit(1);
6665 }
6666 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ASlashExpr> */
6667 if (var_n_expr == NULL) {
6668 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6669 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6884);
6670 exit(1);
6671 } else {
6672 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
6673 }
6674 if (var_n_expr2 == NULL) {
6675 fprintf(stderr, "Runtime error: %s", "Cast failed");
6676 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6885);
6677 exit(1);
6678 }
6679 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ASlashExpr> */
6680 if (var_n_expr2 == NULL) {
6681 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6682 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6886);
6683 exit(1);
6684 } else {
6685 ((void (*)(val*, val*))(var_n_expr2->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr2, self) /* parent= on <var_n_expr2:nullable AExpr>*/;
6686 }
6687 RET_LABEL:;
6688 }
6689 /* method parser_prod#ASlashExpr#init_aslashexpr for (self: Object, nullable AExpr, nullable AExpr) */
6690 void VIRTUAL_parser_prod__ASlashExpr__init_aslashexpr(val* self, val* p0, val* p1) {
6691 parser_prod__ASlashExpr__init_aslashexpr(self, p0, p1);
6692 RET_LABEL:;
6693 }
6694 /* method parser_prod#ASlashExpr#replace_child for (self: ASlashExpr, ANode, nullable ANode) */
6695 void parser_prod__ASlashExpr__replace_child(val* self, val* p0, val* p1) {
6696 val* var_old_child /* var old_child: ANode */;
6697 val* var_new_child /* var new_child: nullable ANode */;
6698 val* var /* : AExpr */;
6699 short int var1 /* : Bool */;
6700 val* var2 /* : null */;
6701 short int var3 /* : Bool */;
6702 short int var4 /* : Bool */;
6703 int cltype;
6704 int idtype;
6705 val* var5 /* : AExpr */;
6706 short int var6 /* : Bool */;
6707 val* var7 /* : null */;
6708 short int var8 /* : Bool */;
6709 short int var9 /* : Bool */;
6710 int cltype10;
6711 int idtype11;
6712 var_old_child = p0;
6713 var_new_child = p1;
6714 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ASlashExpr> */
6715 if (var == NULL) {
6716 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
6717 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6891);
6718 exit(1);
6719 }
6720 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
6721 if (var1){
6722 var2 = NULL;
6723 if (var_new_child == NULL) {
6724 var3 = 0; /* is null */
6725 } else {
6726 var3 = 1; /* arg is null and recv is not */
6727 }
6728 if (var3){
6729 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6730 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6731 cltype = type_parser_nodes__AExpr.color;
6732 idtype = type_parser_nodes__AExpr.id;
6733 if(cltype >= var_new_child->type->table_size) {
6734 var4 = 0;
6735 } else {
6736 var4 = var_new_child->type->type_table[cltype] == idtype;
6737 }
6738 if (!var4) {
6739 fprintf(stderr, "Runtime error: %s", "Assert failed");
6740 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6894);
6741 exit(1);
6742 }
6743 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ASlashExpr> */
6744 } else {
6745 fprintf(stderr, "Runtime error: %s", "Aborted");
6746 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6897);
6747 exit(1);
6748 }
6749 goto RET_LABEL;
6750 } else {
6751 }
6752 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ASlashExpr> */
6753 if (var5 == NULL) {
6754 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
6755 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6901);
6756 exit(1);
6757 }
6758 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
6759 if (var6){
6760 var7 = NULL;
6761 if (var_new_child == NULL) {
6762 var8 = 0; /* is null */
6763 } else {
6764 var8 = 1; /* arg is null and recv is not */
6765 }
6766 if (var8){
6767 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6768 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6769 cltype10 = type_parser_nodes__AExpr.color;
6770 idtype11 = type_parser_nodes__AExpr.id;
6771 if(cltype10 >= var_new_child->type->table_size) {
6772 var9 = 0;
6773 } else {
6774 var9 = var_new_child->type->type_table[cltype10] == idtype11;
6775 }
6776 if (!var9) {
6777 fprintf(stderr, "Runtime error: %s", "Assert failed");
6778 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6904);
6779 exit(1);
6780 }
6781 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:ASlashExpr> */
6782 } else {
6783 fprintf(stderr, "Runtime error: %s", "Aborted");
6784 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6907);
6785 exit(1);
6786 }
6787 goto RET_LABEL;
6788 } else {
6789 }
6790 RET_LABEL:;
6791 }
6792 /* method parser_prod#ASlashExpr#replace_child for (self: Object, ANode, nullable ANode) */
6793 void VIRTUAL_parser_prod__ASlashExpr__replace_child(val* self, val* p0, val* p1) {
6794 parser_prod__ASlashExpr__replace_child(self, p0, p1);
6795 RET_LABEL:;
6796 }
6797 /* method parser_prod#ASlashExpr#n_expr= for (self: ASlashExpr, AExpr) */
6798 void parser_prod__ASlashExpr__n_expr_61d(val* self, val* p0) {
6799 val* var_node /* var node: AExpr */;
6800 var_node = p0;
6801 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ASlashExpr> */
6802 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6803 RET_LABEL:;
6804 }
6805 /* method parser_prod#ASlashExpr#n_expr= for (self: Object, AExpr) */
6806 void VIRTUAL_parser_prod__ASlashExpr__n_expr_61d(val* self, val* p0) {
6807 parser_prod__ASlashExpr__n_expr_61d(self, p0);
6808 RET_LABEL:;
6809 }
6810 /* method parser_prod#ASlashExpr#n_expr2= for (self: ASlashExpr, AExpr) */
6811 void parser_prod__ASlashExpr__n_expr2_61d(val* self, val* p0) {
6812 val* var_node /* var node: AExpr */;
6813 var_node = p0;
6814 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ASlashExpr> */
6815 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6816 RET_LABEL:;
6817 }
6818 /* method parser_prod#ASlashExpr#n_expr2= for (self: Object, AExpr) */
6819 void VIRTUAL_parser_prod__ASlashExpr__n_expr2_61d(val* self, val* p0) {
6820 parser_prod__ASlashExpr__n_expr2_61d(self, p0);
6821 RET_LABEL:;
6822 }
6823 /* method parser_prod#ASlashExpr#visit_all for (self: ASlashExpr, Visitor) */
6824 void parser_prod__ASlashExpr__visit_all(val* self, val* p0) {
6825 val* var_v /* var v: Visitor */;
6826 val* var /* : AExpr */;
6827 val* var1 /* : AExpr */;
6828 var_v = p0;
6829 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ASlashExpr> */
6830 if (var == NULL) {
6831 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
6832 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6927);
6833 exit(1);
6834 }
6835 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
6836 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ASlashExpr> */
6837 if (var1 == NULL) {
6838 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
6839 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6928);
6840 exit(1);
6841 }
6842 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
6843 RET_LABEL:;
6844 }
6845 /* method parser_prod#ASlashExpr#visit_all for (self: Object, Visitor) */
6846 void VIRTUAL_parser_prod__ASlashExpr__visit_all(val* self, val* p0) {
6847 parser_prod__ASlashExpr__visit_all(self, p0);
6848 RET_LABEL:;
6849 }
6850 /* method parser_prod#APercentExpr#empty_init for (self: APercentExpr) */
6851 void parser_prod__APercentExpr__empty_init(val* self) {
6852 RET_LABEL:;
6853 }
6854 /* method parser_prod#APercentExpr#empty_init for (self: Object) */
6855 void VIRTUAL_parser_prod__APercentExpr__empty_init(val* self) {
6856 parser_prod__APercentExpr__empty_init(self);
6857 RET_LABEL:;
6858 }
6859 /* method parser_prod#APercentExpr#init_apercentexpr for (self: APercentExpr, nullable AExpr, nullable AExpr) */
6860 void parser_prod__APercentExpr__init_apercentexpr(val* self, val* p0, val* p1) {
6861 val* var_n_expr /* var n_expr: nullable AExpr */;
6862 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
6863 var_n_expr = p0;
6864 var_n_expr2 = p1;
6865 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__APercentExpr__empty_init]))(self) /* empty_init on <self:APercentExpr>*/;
6866 if (var_n_expr == NULL) {
6867 fprintf(stderr, "Runtime error: %s", "Cast failed");
6868 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6940);
6869 exit(1);
6870 }
6871 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:APercentExpr> */
6872 if (var_n_expr == NULL) {
6873 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6874 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6941);
6875 exit(1);
6876 } else {
6877 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
6878 }
6879 if (var_n_expr2 == NULL) {
6880 fprintf(stderr, "Runtime error: %s", "Cast failed");
6881 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6942);
6882 exit(1);
6883 }
6884 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:APercentExpr> */
6885 if (var_n_expr2 == NULL) {
6886 fprintf(stderr, "Runtime error: %s", "Reciever is null");
6887 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6943);
6888 exit(1);
6889 } else {
6890 ((void (*)(val*, val*))(var_n_expr2->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr2, self) /* parent= on <var_n_expr2:nullable AExpr>*/;
6891 }
6892 RET_LABEL:;
6893 }
6894 /* method parser_prod#APercentExpr#init_apercentexpr for (self: Object, nullable AExpr, nullable AExpr) */
6895 void VIRTUAL_parser_prod__APercentExpr__init_apercentexpr(val* self, val* p0, val* p1) {
6896 parser_prod__APercentExpr__init_apercentexpr(self, p0, p1);
6897 RET_LABEL:;
6898 }
6899 /* method parser_prod#APercentExpr#replace_child for (self: APercentExpr, ANode, nullable ANode) */
6900 void parser_prod__APercentExpr__replace_child(val* self, val* p0, val* p1) {
6901 val* var_old_child /* var old_child: ANode */;
6902 val* var_new_child /* var new_child: nullable ANode */;
6903 val* var /* : AExpr */;
6904 short int var1 /* : Bool */;
6905 val* var2 /* : null */;
6906 short int var3 /* : Bool */;
6907 short int var4 /* : Bool */;
6908 int cltype;
6909 int idtype;
6910 val* var5 /* : AExpr */;
6911 short int var6 /* : Bool */;
6912 val* var7 /* : null */;
6913 short int var8 /* : Bool */;
6914 short int var9 /* : Bool */;
6915 int cltype10;
6916 int idtype11;
6917 var_old_child = p0;
6918 var_new_child = p1;
6919 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:APercentExpr> */
6920 if (var == NULL) {
6921 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
6922 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6948);
6923 exit(1);
6924 }
6925 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
6926 if (var1){
6927 var2 = NULL;
6928 if (var_new_child == NULL) {
6929 var3 = 0; /* is null */
6930 } else {
6931 var3 = 1; /* arg is null and recv is not */
6932 }
6933 if (var3){
6934 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6935 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6936 cltype = type_parser_nodes__AExpr.color;
6937 idtype = type_parser_nodes__AExpr.id;
6938 if(cltype >= var_new_child->type->table_size) {
6939 var4 = 0;
6940 } else {
6941 var4 = var_new_child->type->type_table[cltype] == idtype;
6942 }
6943 if (!var4) {
6944 fprintf(stderr, "Runtime error: %s", "Assert failed");
6945 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6951);
6946 exit(1);
6947 }
6948 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:APercentExpr> */
6949 } else {
6950 fprintf(stderr, "Runtime error: %s", "Aborted");
6951 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6954);
6952 exit(1);
6953 }
6954 goto RET_LABEL;
6955 } else {
6956 }
6957 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:APercentExpr> */
6958 if (var5 == NULL) {
6959 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
6960 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6958);
6961 exit(1);
6962 }
6963 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
6964 if (var6){
6965 var7 = NULL;
6966 if (var_new_child == NULL) {
6967 var8 = 0; /* is null */
6968 } else {
6969 var8 = 1; /* arg is null and recv is not */
6970 }
6971 if (var8){
6972 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
6973 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6974 cltype10 = type_parser_nodes__AExpr.color;
6975 idtype11 = type_parser_nodes__AExpr.id;
6976 if(cltype10 >= var_new_child->type->table_size) {
6977 var9 = 0;
6978 } else {
6979 var9 = var_new_child->type->type_table[cltype10] == idtype11;
6980 }
6981 if (!var9) {
6982 fprintf(stderr, "Runtime error: %s", "Assert failed");
6983 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6961);
6984 exit(1);
6985 }
6986 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:APercentExpr> */
6987 } else {
6988 fprintf(stderr, "Runtime error: %s", "Aborted");
6989 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6964);
6990 exit(1);
6991 }
6992 goto RET_LABEL;
6993 } else {
6994 }
6995 RET_LABEL:;
6996 }
6997 /* method parser_prod#APercentExpr#replace_child for (self: Object, ANode, nullable ANode) */
6998 void VIRTUAL_parser_prod__APercentExpr__replace_child(val* self, val* p0, val* p1) {
6999 parser_prod__APercentExpr__replace_child(self, p0, p1);
7000 RET_LABEL:;
7001 }
7002 /* method parser_prod#APercentExpr#n_expr= for (self: APercentExpr, AExpr) */
7003 void parser_prod__APercentExpr__n_expr_61d(val* self, val* p0) {
7004 val* var_node /* var node: AExpr */;
7005 var_node = p0;
7006 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:APercentExpr> */
7007 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
7008 RET_LABEL:;
7009 }
7010 /* method parser_prod#APercentExpr#n_expr= for (self: Object, AExpr) */
7011 void VIRTUAL_parser_prod__APercentExpr__n_expr_61d(val* self, val* p0) {
7012 parser_prod__APercentExpr__n_expr_61d(self, p0);
7013 RET_LABEL:;
7014 }
7015 /* method parser_prod#APercentExpr#n_expr2= for (self: APercentExpr, AExpr) */
7016 void parser_prod__APercentExpr__n_expr2_61d(val* self, val* p0) {
7017 val* var_node /* var node: AExpr */;
7018 var_node = p0;
7019 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:APercentExpr> */
7020 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
7021 RET_LABEL:;
7022 }
7023 /* method parser_prod#APercentExpr#n_expr2= for (self: Object, AExpr) */
7024 void VIRTUAL_parser_prod__APercentExpr__n_expr2_61d(val* self, val* p0) {
7025 parser_prod__APercentExpr__n_expr2_61d(self, p0);
7026 RET_LABEL:;
7027 }
7028 /* method parser_prod#APercentExpr#visit_all for (self: APercentExpr, Visitor) */
7029 void parser_prod__APercentExpr__visit_all(val* self, val* p0) {
7030 val* var_v /* var v: Visitor */;
7031 val* var /* : AExpr */;
7032 val* var1 /* : AExpr */;
7033 var_v = p0;
7034 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:APercentExpr> */
7035 if (var == NULL) {
7036 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
7037 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6984);
7038 exit(1);
7039 }
7040 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
7041 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:APercentExpr> */
7042 if (var1 == NULL) {
7043 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
7044 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6985);
7045 exit(1);
7046 }
7047 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
7048 RET_LABEL:;
7049 }
7050 /* method parser_prod#APercentExpr#visit_all for (self: Object, Visitor) */
7051 void VIRTUAL_parser_prod__APercentExpr__visit_all(val* self, val* p0) {
7052 parser_prod__APercentExpr__visit_all(self, p0);
7053 RET_LABEL:;
7054 }
7055 /* method parser_prod#AUminusExpr#empty_init for (self: AUminusExpr) */
7056 void parser_prod__AUminusExpr__empty_init(val* self) {
7057 RET_LABEL:;
7058 }
7059 /* method parser_prod#AUminusExpr#empty_init for (self: Object) */
7060 void VIRTUAL_parser_prod__AUminusExpr__empty_init(val* self) {
7061 parser_prod__AUminusExpr__empty_init(self);
7062 RET_LABEL:;
7063 }
7064 /* method parser_prod#AUminusExpr#init_auminusexpr for (self: AUminusExpr, nullable TMinus, nullable AExpr) */
7065 void parser_prod__AUminusExpr__init_auminusexpr(val* self, val* p0, val* p1) {
7066 val* var_n_minus /* var n_minus: nullable TMinus */;
7067 val* var_n_expr /* var n_expr: nullable AExpr */;
7068 var_n_minus = p0;
7069 var_n_expr = p1;
7070 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AUminusExpr__empty_init]))(self) /* empty_init on <self:AUminusExpr>*/;
7071 if (var_n_minus == NULL) {
7072 fprintf(stderr, "Runtime error: %s", "Cast failed");
7073 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6997);
7074 exit(1);
7075 }
7076 self->attrs[COLOR_parser_nodes__AUminusExpr___n_minus].val = var_n_minus; /* _n_minus on <self:AUminusExpr> */
7077 if (var_n_minus == NULL) {
7078 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7079 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6998);
7080 exit(1);
7081 } else {
7082 ((void (*)(val*, val*))(var_n_minus->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_minus, self) /* parent= on <var_n_minus:nullable TMinus>*/;
7083 }
7084 if (var_n_expr == NULL) {
7085 fprintf(stderr, "Runtime error: %s", "Cast failed");
7086 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6999);
7087 exit(1);
7088 }
7089 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AUminusExpr> */
7090 if (var_n_expr == NULL) {
7091 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7092 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7000);
7093 exit(1);
7094 } else {
7095 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
7096 }
7097 RET_LABEL:;
7098 }
7099 /* method parser_prod#AUminusExpr#init_auminusexpr for (self: Object, nullable TMinus, nullable AExpr) */
7100 void VIRTUAL_parser_prod__AUminusExpr__init_auminusexpr(val* self, val* p0, val* p1) {
7101 parser_prod__AUminusExpr__init_auminusexpr(self, p0, p1);
7102 RET_LABEL:;
7103 }
7104 /* method parser_prod#AUminusExpr#replace_child for (self: AUminusExpr, ANode, nullable ANode) */
7105 void parser_prod__AUminusExpr__replace_child(val* self, val* p0, val* p1) {
7106 val* var_old_child /* var old_child: ANode */;
7107 val* var_new_child /* var new_child: nullable ANode */;
7108 val* var /* : TMinus */;
7109 short int var1 /* : Bool */;
7110 val* var2 /* : null */;
7111 short int var3 /* : Bool */;
7112 short int var4 /* : Bool */;
7113 int cltype;
7114 int idtype;
7115 val* var5 /* : AExpr */;
7116 short int var6 /* : Bool */;
7117 val* var7 /* : null */;
7118 short int var8 /* : Bool */;
7119 short int var9 /* : Bool */;
7120 int cltype10;
7121 int idtype11;
7122 var_old_child = p0;
7123 var_new_child = p1;
7124 var = self->attrs[COLOR_parser_nodes__AUminusExpr___n_minus].val; /* _n_minus on <self:AUminusExpr> */
7125 if (var == NULL) {
7126 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_minus");
7127 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7005);
7128 exit(1);
7129 }
7130 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TMinus>*/;
7131 if (var1){
7132 var2 = NULL;
7133 if (var_new_child == NULL) {
7134 var3 = 0; /* is null */
7135 } else {
7136 var3 = 1; /* arg is null and recv is not */
7137 }
7138 if (var3){
7139 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7140 /* <var_new_child:nullable ANode(ANode)> isa TMinus */
7141 cltype = type_parser_nodes__TMinus.color;
7142 idtype = type_parser_nodes__TMinus.id;
7143 if(cltype >= var_new_child->type->table_size) {
7144 var4 = 0;
7145 } else {
7146 var4 = var_new_child->type->type_table[cltype] == idtype;
7147 }
7148 if (!var4) {
7149 fprintf(stderr, "Runtime error: %s", "Assert failed");
7150 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7008);
7151 exit(1);
7152 }
7153 self->attrs[COLOR_parser_nodes__AUminusExpr___n_minus].val = var_new_child; /* _n_minus on <self:AUminusExpr> */
7154 } else {
7155 fprintf(stderr, "Runtime error: %s", "Aborted");
7156 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7011);
7157 exit(1);
7158 }
7159 goto RET_LABEL;
7160 } else {
7161 }
7162 var5 = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AUminusExpr> */
7163 if (var5 == NULL) {
7164 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
7165 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7015);
7166 exit(1);
7167 }
7168 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
7169 if (var6){
7170 var7 = NULL;
7171 if (var_new_child == NULL) {
7172 var8 = 0; /* is null */
7173 } else {
7174 var8 = 1; /* arg is null and recv is not */
7175 }
7176 if (var8){
7177 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7178 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
7179 cltype10 = type_parser_nodes__AExpr.color;
7180 idtype11 = type_parser_nodes__AExpr.id;
7181 if(cltype10 >= var_new_child->type->table_size) {
7182 var9 = 0;
7183 } else {
7184 var9 = var_new_child->type->type_table[cltype10] == idtype11;
7185 }
7186 if (!var9) {
7187 fprintf(stderr, "Runtime error: %s", "Assert failed");
7188 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7018);
7189 exit(1);
7190 }
7191 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:AUminusExpr> */
7192 } else {
7193 fprintf(stderr, "Runtime error: %s", "Aborted");
7194 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7021);
7195 exit(1);
7196 }
7197 goto RET_LABEL;
7198 } else {
7199 }
7200 RET_LABEL:;
7201 }
7202 /* method parser_prod#AUminusExpr#replace_child for (self: Object, ANode, nullable ANode) */
7203 void VIRTUAL_parser_prod__AUminusExpr__replace_child(val* self, val* p0, val* p1) {
7204 parser_prod__AUminusExpr__replace_child(self, p0, p1);
7205 RET_LABEL:;
7206 }
7207 /* method parser_prod#AUminusExpr#n_minus= for (self: AUminusExpr, TMinus) */
7208 void parser_prod__AUminusExpr__n_minus_61d(val* self, val* p0) {
7209 val* var_node /* var node: TMinus */;
7210 var_node = p0;
7211 self->attrs[COLOR_parser_nodes__AUminusExpr___n_minus].val = var_node; /* _n_minus on <self:AUminusExpr> */
7212 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TMinus>*/;
7213 RET_LABEL:;
7214 }
7215 /* method parser_prod#AUminusExpr#n_minus= for (self: Object, TMinus) */
7216 void VIRTUAL_parser_prod__AUminusExpr__n_minus_61d(val* self, val* p0) {
7217 parser_prod__AUminusExpr__n_minus_61d(self, p0);
7218 RET_LABEL:;
7219 }
7220 /* method parser_prod#AUminusExpr#n_expr= for (self: AUminusExpr, AExpr) */
7221 void parser_prod__AUminusExpr__n_expr_61d(val* self, val* p0) {
7222 val* var_node /* var node: AExpr */;
7223 var_node = p0;
7224 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AUminusExpr> */
7225 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
7226 RET_LABEL:;
7227 }
7228 /* method parser_prod#AUminusExpr#n_expr= for (self: Object, AExpr) */
7229 void VIRTUAL_parser_prod__AUminusExpr__n_expr_61d(val* self, val* p0) {
7230 parser_prod__AUminusExpr__n_expr_61d(self, p0);
7231 RET_LABEL:;
7232 }
7233 /* method parser_prod#AUminusExpr#visit_all for (self: AUminusExpr, Visitor) */
7234 void parser_prod__AUminusExpr__visit_all(val* self, val* p0) {
7235 val* var_v /* var v: Visitor */;
7236 val* var /* : TMinus */;
7237 val* var1 /* : AExpr */;
7238 var_v = p0;
7239 var = self->attrs[COLOR_parser_nodes__AUminusExpr___n_minus].val; /* _n_minus on <self:AUminusExpr> */
7240 if (var == NULL) {
7241 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_minus");
7242 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7041);
7243 exit(1);
7244 }
7245 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
7246 var1 = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AUminusExpr> */
7247 if (var1 == NULL) {
7248 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
7249 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7042);
7250 exit(1);
7251 }
7252 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
7253 RET_LABEL:;
7254 }
7255 /* method parser_prod#AUminusExpr#visit_all for (self: Object, Visitor) */
7256 void VIRTUAL_parser_prod__AUminusExpr__visit_all(val* self, val* p0) {
7257 parser_prod__AUminusExpr__visit_all(self, p0);
7258 RET_LABEL:;
7259 }
7260 /* method parser_prod#ANewExpr#empty_init for (self: ANewExpr) */
7261 void parser_prod__ANewExpr__empty_init(val* self) {
7262 RET_LABEL:;
7263 }
7264 /* method parser_prod#ANewExpr#empty_init for (self: Object) */
7265 void VIRTUAL_parser_prod__ANewExpr__empty_init(val* self) {
7266 parser_prod__ANewExpr__empty_init(self);
7267 RET_LABEL:;
7268 }
7269 /* method parser_prod#ANewExpr#init_anewexpr for (self: ANewExpr, nullable TKwnew, nullable AType, nullable TId, nullable AExprs) */
7270 void parser_prod__ANewExpr__init_anewexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
7271 val* var_n_kwnew /* var n_kwnew: nullable TKwnew */;
7272 val* var_n_type /* var n_type: nullable AType */;
7273 val* var_n_id /* var n_id: nullable TId */;
7274 val* var_n_args /* var n_args: nullable AExprs */;
7275 val* var /* : null */;
7276 short int var1 /* : Bool */;
7277 var_n_kwnew = p0;
7278 var_n_type = p1;
7279 var_n_id = p2;
7280 var_n_args = p3;
7281 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ANewExpr__empty_init]))(self) /* empty_init on <self:ANewExpr>*/;
7282 if (var_n_kwnew == NULL) {
7283 fprintf(stderr, "Runtime error: %s", "Cast failed");
7284 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7056);
7285 exit(1);
7286 }
7287 self->attrs[COLOR_parser_nodes__ANewExpr___n_kwnew].val = var_n_kwnew; /* _n_kwnew on <self:ANewExpr> */
7288 if (var_n_kwnew == NULL) {
7289 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7290 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7057);
7291 exit(1);
7292 } else {
7293 ((void (*)(val*, val*))(var_n_kwnew->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwnew, self) /* parent= on <var_n_kwnew:nullable TKwnew>*/;
7294 }
7295 if (var_n_type == NULL) {
7296 fprintf(stderr, "Runtime error: %s", "Cast failed");
7297 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7058);
7298 exit(1);
7299 }
7300 self->attrs[COLOR_parser_nodes__ANewExpr___n_type].val = var_n_type; /* _n_type on <self:ANewExpr> */
7301 if (var_n_type == NULL) {
7302 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7303 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7059);
7304 exit(1);
7305 } else {
7306 ((void (*)(val*, val*))(var_n_type->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_type, self) /* parent= on <var_n_type:nullable AType>*/;
7307 }
7308 self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val = var_n_id; /* _n_id on <self:ANewExpr> */
7309 var = NULL;
7310 if (var_n_id == NULL) {
7311 var1 = 0; /* is null */
7312 } else {
7313 var1 = 1; /* arg is null and recv is not */
7314 }
7315 if (var1){
7316 ((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on <var_n_id:nullable TId(TId)>*/;
7317 } else {
7318 }
7319 if (var_n_args == NULL) {
7320 fprintf(stderr, "Runtime error: %s", "Cast failed");
7321 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7064);
7322 exit(1);
7323 }
7324 self->attrs[COLOR_parser_nodes__ANewExpr___n_args].val = var_n_args; /* _n_args on <self:ANewExpr> */
7325 if (var_n_args == NULL) {
7326 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7327 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7065);
7328 exit(1);
7329 } else {
7330 ((void (*)(val*, val*))(var_n_args->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_args, self) /* parent= on <var_n_args:nullable AExprs>*/;
7331 }
7332 RET_LABEL:;
7333 }
7334 /* method parser_prod#ANewExpr#init_anewexpr for (self: Object, nullable TKwnew, nullable AType, nullable TId, nullable AExprs) */
7335 void VIRTUAL_parser_prod__ANewExpr__init_anewexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
7336 parser_prod__ANewExpr__init_anewexpr(self, p0, p1, p2, p3);
7337 RET_LABEL:;
7338 }
7339 /* method parser_prod#ANewExpr#replace_child for (self: ANewExpr, ANode, nullable ANode) */
7340 void parser_prod__ANewExpr__replace_child(val* self, val* p0, val* p1) {
7341 val* var_old_child /* var old_child: ANode */;
7342 val* var_new_child /* var new_child: nullable ANode */;
7343 val* var /* : TKwnew */;
7344 short int var1 /* : Bool */;
7345 val* var2 /* : null */;
7346 short int var3 /* : Bool */;
7347 short int var4 /* : Bool */;
7348 int cltype;
7349 int idtype;
7350 val* var5 /* : AType */;
7351 short int var6 /* : Bool */;
7352 val* var7 /* : null */;
7353 short int var8 /* : Bool */;
7354 short int var9 /* : Bool */;
7355 int cltype10;
7356 int idtype11;
7357 val* var12 /* : nullable TId */;
7358 short int var13 /* : Bool */;
7359 val* var14 /* : null */;
7360 short int var15 /* : Bool */;
7361 short int var16 /* : Bool */;
7362 int cltype17;
7363 int idtype18;
7364 val* var19 /* : null */;
7365 val* var20 /* : AExprs */;
7366 short int var21 /* : Bool */;
7367 val* var22 /* : null */;
7368 short int var23 /* : Bool */;
7369 short int var24 /* : Bool */;
7370 int cltype25;
7371 int idtype26;
7372 var_old_child = p0;
7373 var_new_child = p1;
7374 var = self->attrs[COLOR_parser_nodes__ANewExpr___n_kwnew].val; /* _n_kwnew on <self:ANewExpr> */
7375 if (var == NULL) {
7376 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwnew");
7377 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7070);
7378 exit(1);
7379 }
7380 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwnew>*/;
7381 if (var1){
7382 var2 = NULL;
7383 if (var_new_child == NULL) {
7384 var3 = 0; /* is null */
7385 } else {
7386 var3 = 1; /* arg is null and recv is not */
7387 }
7388 if (var3){
7389 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7390 /* <var_new_child:nullable ANode(ANode)> isa TKwnew */
7391 cltype = type_parser_nodes__TKwnew.color;
7392 idtype = type_parser_nodes__TKwnew.id;
7393 if(cltype >= var_new_child->type->table_size) {
7394 var4 = 0;
7395 } else {
7396 var4 = var_new_child->type->type_table[cltype] == idtype;
7397 }
7398 if (!var4) {
7399 fprintf(stderr, "Runtime error: %s", "Assert failed");
7400 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7073);
7401 exit(1);
7402 }
7403 self->attrs[COLOR_parser_nodes__ANewExpr___n_kwnew].val = var_new_child; /* _n_kwnew on <self:ANewExpr> */
7404 } else {
7405 fprintf(stderr, "Runtime error: %s", "Aborted");
7406 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7076);
7407 exit(1);
7408 }
7409 goto RET_LABEL;
7410 } else {
7411 }
7412 var5 = self->attrs[COLOR_parser_nodes__ANewExpr___n_type].val; /* _n_type on <self:ANewExpr> */
7413 if (var5 == NULL) {
7414 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
7415 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7080);
7416 exit(1);
7417 }
7418 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AType>*/;
7419 if (var6){
7420 var7 = NULL;
7421 if (var_new_child == NULL) {
7422 var8 = 0; /* is null */
7423 } else {
7424 var8 = 1; /* arg is null and recv is not */
7425 }
7426 if (var8){
7427 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7428 /* <var_new_child:nullable ANode(ANode)> isa AType */
7429 cltype10 = type_parser_nodes__AType.color;
7430 idtype11 = type_parser_nodes__AType.id;
7431 if(cltype10 >= var_new_child->type->table_size) {
7432 var9 = 0;
7433 } else {
7434 var9 = var_new_child->type->type_table[cltype10] == idtype11;
7435 }
7436 if (!var9) {
7437 fprintf(stderr, "Runtime error: %s", "Assert failed");
7438 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7083);
7439 exit(1);
7440 }
7441 self->attrs[COLOR_parser_nodes__ANewExpr___n_type].val = var_new_child; /* _n_type on <self:ANewExpr> */
7442 } else {
7443 fprintf(stderr, "Runtime error: %s", "Aborted");
7444 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7086);
7445 exit(1);
7446 }
7447 goto RET_LABEL;
7448 } else {
7449 }
7450 var12 = self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val; /* _n_id on <self:ANewExpr> */
7451 if (var12 == NULL) {
7452 var13 = 0; /* <var_old_child:ANode> cannot be null */
7453 } else {
7454 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:nullable TId>*/;
7455 }
7456 if (var13){
7457 var14 = NULL;
7458 if (var_new_child == NULL) {
7459 var15 = 0; /* is null */
7460 } else {
7461 var15 = 1; /* arg is null and recv is not */
7462 }
7463 if (var15){
7464 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7465 /* <var_new_child:nullable ANode(ANode)> isa TId */
7466 cltype17 = type_parser_nodes__TId.color;
7467 idtype18 = type_parser_nodes__TId.id;
7468 if(cltype17 >= var_new_child->type->table_size) {
7469 var16 = 0;
7470 } else {
7471 var16 = var_new_child->type->type_table[cltype17] == idtype18;
7472 }
7473 if (!var16) {
7474 fprintf(stderr, "Runtime error: %s", "Assert failed");
7475 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7093);
7476 exit(1);
7477 }
7478 self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val = var_new_child; /* _n_id on <self:ANewExpr> */
7479 } else {
7480 var19 = NULL;
7481 self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val = var19; /* _n_id on <self:ANewExpr> */
7482 }
7483 goto RET_LABEL;
7484 } else {
7485 }
7486 var20 = self->attrs[COLOR_parser_nodes__ANewExpr___n_args].val; /* _n_args on <self:ANewExpr> */
7487 if (var20 == NULL) {
7488 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
7489 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7100);
7490 exit(1);
7491 }
7492 var21 = ((short int (*)(val*, val*))(var20->class->vft[COLOR_kernel__Object___61d_61d]))(var20, var_old_child) /* == on <var20:AExprs>*/;
7493 if (var21){
7494 var22 = NULL;
7495 if (var_new_child == NULL) {
7496 var23 = 0; /* is null */
7497 } else {
7498 var23 = 1; /* arg is null and recv is not */
7499 }
7500 if (var23){
7501 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7502 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
7503 cltype25 = type_parser_nodes__AExprs.color;
7504 idtype26 = type_parser_nodes__AExprs.id;
7505 if(cltype25 >= var_new_child->type->table_size) {
7506 var24 = 0;
7507 } else {
7508 var24 = var_new_child->type->type_table[cltype25] == idtype26;
7509 }
7510 if (!var24) {
7511 fprintf(stderr, "Runtime error: %s", "Assert failed");
7512 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7103);
7513 exit(1);
7514 }
7515 self->attrs[COLOR_parser_nodes__ANewExpr___n_args].val = var_new_child; /* _n_args on <self:ANewExpr> */
7516 } else {
7517 fprintf(stderr, "Runtime error: %s", "Aborted");
7518 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7106);
7519 exit(1);
7520 }
7521 goto RET_LABEL;
7522 } else {
7523 }
7524 RET_LABEL:;
7525 }
7526 /* method parser_prod#ANewExpr#replace_child for (self: Object, ANode, nullable ANode) */
7527 void VIRTUAL_parser_prod__ANewExpr__replace_child(val* self, val* p0, val* p1) {
7528 parser_prod__ANewExpr__replace_child(self, p0, p1);
7529 RET_LABEL:;
7530 }
7531 /* method parser_prod#ANewExpr#n_kwnew= for (self: ANewExpr, TKwnew) */
7532 void parser_prod__ANewExpr__n_kwnew_61d(val* self, val* p0) {
7533 val* var_node /* var node: TKwnew */;
7534 var_node = p0;
7535 self->attrs[COLOR_parser_nodes__ANewExpr___n_kwnew].val = var_node; /* _n_kwnew on <self:ANewExpr> */
7536 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwnew>*/;
7537 RET_LABEL:;
7538 }
7539 /* method parser_prod#ANewExpr#n_kwnew= for (self: Object, TKwnew) */
7540 void VIRTUAL_parser_prod__ANewExpr__n_kwnew_61d(val* self, val* p0) {
7541 parser_prod__ANewExpr__n_kwnew_61d(self, p0);
7542 RET_LABEL:;
7543 }
7544 /* method parser_prod#ANewExpr#n_type= for (self: ANewExpr, AType) */
7545 void parser_prod__ANewExpr__n_type_61d(val* self, val* p0) {
7546 val* var_node /* var node: AType */;
7547 var_node = p0;
7548 self->attrs[COLOR_parser_nodes__ANewExpr___n_type].val = var_node; /* _n_type on <self:ANewExpr> */
7549 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AType>*/;
7550 RET_LABEL:;
7551 }
7552 /* method parser_prod#ANewExpr#n_type= for (self: Object, AType) */
7553 void VIRTUAL_parser_prod__ANewExpr__n_type_61d(val* self, val* p0) {
7554 parser_prod__ANewExpr__n_type_61d(self, p0);
7555 RET_LABEL:;
7556 }
7557 /* method parser_prod#ANewExpr#n_id= for (self: ANewExpr, nullable TId) */
7558 void parser_prod__ANewExpr__n_id_61d(val* self, val* p0) {
7559 val* var_node /* var node: nullable TId */;
7560 val* var /* : null */;
7561 short int var1 /* : Bool */;
7562 var_node = p0;
7563 self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val = var_node; /* _n_id on <self:ANewExpr> */
7564 var = NULL;
7565 if (var_node == NULL) {
7566 var1 = 0; /* is null */
7567 } else {
7568 var1 = 1; /* arg is null and recv is not */
7569 }
7570 if (var1){
7571 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TId(TId)>*/;
7572 } else {
7573 }
7574 RET_LABEL:;
7575 }
7576 /* method parser_prod#ANewExpr#n_id= for (self: Object, nullable TId) */
7577 void VIRTUAL_parser_prod__ANewExpr__n_id_61d(val* self, val* p0) {
7578 parser_prod__ANewExpr__n_id_61d(self, p0);
7579 RET_LABEL:;
7580 }
7581 /* method parser_prod#ANewExpr#n_args= for (self: ANewExpr, AExprs) */
7582 void parser_prod__ANewExpr__n_args_61d(val* self, val* p0) {
7583 val* var_node /* var node: AExprs */;
7584 var_node = p0;
7585 self->attrs[COLOR_parser_nodes__ANewExpr___n_args].val = var_node; /* _n_args on <self:ANewExpr> */
7586 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
7587 RET_LABEL:;
7588 }
7589 /* method parser_prod#ANewExpr#n_args= for (self: Object, AExprs) */
7590 void VIRTUAL_parser_prod__ANewExpr__n_args_61d(val* self, val* p0) {
7591 parser_prod__ANewExpr__n_args_61d(self, p0);
7592 RET_LABEL:;
7593 }
7594 /* method parser_prod#ANewExpr#visit_all for (self: ANewExpr, Visitor) */
7595 void parser_prod__ANewExpr__visit_all(val* self, val* p0) {
7596 val* var_v /* var v: Visitor */;
7597 val* var /* : TKwnew */;
7598 val* var1 /* : AType */;
7599 val* var2 /* : nullable TId */;
7600 val* var3 /* : null */;
7601 short int var4 /* : Bool */;
7602 val* var5 /* : nullable TId */;
7603 val* var6 /* : AExprs */;
7604 var_v = p0;
7605 var = self->attrs[COLOR_parser_nodes__ANewExpr___n_kwnew].val; /* _n_kwnew on <self:ANewExpr> */
7606 if (var == NULL) {
7607 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwnew");
7608 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7138);
7609 exit(1);
7610 }
7611 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
7612 var1 = self->attrs[COLOR_parser_nodes__ANewExpr___n_type].val; /* _n_type on <self:ANewExpr> */
7613 if (var1 == NULL) {
7614 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
7615 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7139);
7616 exit(1);
7617 }
7618 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
7619 var2 = self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val; /* _n_id on <self:ANewExpr> */
7620 var3 = NULL;
7621 if (var2 == NULL) {
7622 var4 = 0; /* is null */
7623 } else {
7624 var4 = 1; /* arg is null and recv is not */
7625 }
7626 if (var4){
7627 var5 = self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val; /* _n_id on <self:ANewExpr> */
7628 if (var5 == NULL) {
7629 fprintf(stderr, "Runtime error: %s", "Cast failed");
7630 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7141);
7631 exit(1);
7632 }
7633 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
7634 } else {
7635 }
7636 var6 = self->attrs[COLOR_parser_nodes__ANewExpr___n_args].val; /* _n_args on <self:ANewExpr> */
7637 if (var6 == NULL) {
7638 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
7639 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7143);
7640 exit(1);
7641 }
7642 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var6) /* enter_visit on <var_v:Visitor>*/;
7643 RET_LABEL:;
7644 }
7645 /* method parser_prod#ANewExpr#visit_all for (self: Object, Visitor) */
7646 void VIRTUAL_parser_prod__ANewExpr__visit_all(val* self, val* p0) {
7647 parser_prod__ANewExpr__visit_all(self, p0);
7648 RET_LABEL:;
7649 }
7650 /* method parser_prod#AAttrExpr#empty_init for (self: AAttrExpr) */
7651 void parser_prod__AAttrExpr__empty_init(val* self) {
7652 RET_LABEL:;
7653 }
7654 /* method parser_prod#AAttrExpr#empty_init for (self: Object) */
7655 void VIRTUAL_parser_prod__AAttrExpr__empty_init(val* self) {
7656 parser_prod__AAttrExpr__empty_init(self);
7657 RET_LABEL:;
7658 }
7659 /* method parser_prod#AAttrExpr#init_aattrexpr for (self: AAttrExpr, nullable AExpr, nullable TAttrid) */
7660 void parser_prod__AAttrExpr__init_aattrexpr(val* self, val* p0, val* p1) {
7661 val* var_n_expr /* var n_expr: nullable AExpr */;
7662 val* var_n_id /* var n_id: nullable TAttrid */;
7663 var_n_expr = p0;
7664 var_n_id = p1;
7665 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAttrExpr__empty_init]))(self) /* empty_init on <self:AAttrExpr>*/;
7666 if (var_n_expr == NULL) {
7667 fprintf(stderr, "Runtime error: %s", "Cast failed");
7668 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7155);
7669 exit(1);
7670 }
7671 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAttrExpr> */
7672 if (var_n_expr == NULL) {
7673 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7674 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7156);
7675 exit(1);
7676 } else {
7677 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
7678 }
7679 if (var_n_id == NULL) {
7680 fprintf(stderr, "Runtime error: %s", "Cast failed");
7681 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7157);
7682 exit(1);
7683 }
7684 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_n_id; /* _n_id on <self:AAttrExpr> */
7685 if (var_n_id == NULL) {
7686 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7687 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7158);
7688 exit(1);
7689 } else {
7690 ((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on <var_n_id:nullable TAttrid>*/;
7691 }
7692 RET_LABEL:;
7693 }
7694 /* method parser_prod#AAttrExpr#init_aattrexpr for (self: Object, nullable AExpr, nullable TAttrid) */
7695 void VIRTUAL_parser_prod__AAttrExpr__init_aattrexpr(val* self, val* p0, val* p1) {
7696 parser_prod__AAttrExpr__init_aattrexpr(self, p0, p1);
7697 RET_LABEL:;
7698 }
7699 /* method parser_prod#AAttrExpr#replace_child for (self: AAttrExpr, ANode, nullable ANode) */
7700 void parser_prod__AAttrExpr__replace_child(val* self, val* p0, val* p1) {
7701 val* var_old_child /* var old_child: ANode */;
7702 val* var_new_child /* var new_child: nullable ANode */;
7703 val* var /* : AExpr */;
7704 short int var1 /* : Bool */;
7705 val* var2 /* : null */;
7706 short int var3 /* : Bool */;
7707 short int var4 /* : Bool */;
7708 int cltype;
7709 int idtype;
7710 val* var5 /* : TAttrid */;
7711 short int var6 /* : Bool */;
7712 val* var7 /* : null */;
7713 short int var8 /* : Bool */;
7714 short int var9 /* : Bool */;
7715 int cltype10;
7716 int idtype11;
7717 var_old_child = p0;
7718 var_new_child = p1;
7719 var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrExpr> */
7720 if (var == NULL) {
7721 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
7722 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7163);
7723 exit(1);
7724 }
7725 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
7726 if (var1){
7727 var2 = NULL;
7728 if (var_new_child == NULL) {
7729 var3 = 0; /* is null */
7730 } else {
7731 var3 = 1; /* arg is null and recv is not */
7732 }
7733 if (var3){
7734 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7735 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
7736 cltype = type_parser_nodes__AExpr.color;
7737 idtype = type_parser_nodes__AExpr.id;
7738 if(cltype >= var_new_child->type->table_size) {
7739 var4 = 0;
7740 } else {
7741 var4 = var_new_child->type->type_table[cltype] == idtype;
7742 }
7743 if (!var4) {
7744 fprintf(stderr, "Runtime error: %s", "Assert failed");
7745 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7166);
7746 exit(1);
7747 }
7748 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_new_child; /* _n_expr on <self:AAttrExpr> */
7749 } else {
7750 fprintf(stderr, "Runtime error: %s", "Aborted");
7751 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7169);
7752 exit(1);
7753 }
7754 goto RET_LABEL;
7755 } else {
7756 }
7757 var5 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrExpr> */
7758 if (var5 == NULL) {
7759 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
7760 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7173);
7761 exit(1);
7762 }
7763 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TAttrid>*/;
7764 if (var6){
7765 var7 = NULL;
7766 if (var_new_child == NULL) {
7767 var8 = 0; /* is null */
7768 } else {
7769 var8 = 1; /* arg is null and recv is not */
7770 }
7771 if (var8){
7772 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7773 /* <var_new_child:nullable ANode(ANode)> isa TAttrid */
7774 cltype10 = type_parser_nodes__TAttrid.color;
7775 idtype11 = type_parser_nodes__TAttrid.id;
7776 if(cltype10 >= var_new_child->type->table_size) {
7777 var9 = 0;
7778 } else {
7779 var9 = var_new_child->type->type_table[cltype10] == idtype11;
7780 }
7781 if (!var9) {
7782 fprintf(stderr, "Runtime error: %s", "Assert failed");
7783 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7176);
7784 exit(1);
7785 }
7786 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_new_child; /* _n_id on <self:AAttrExpr> */
7787 } else {
7788 fprintf(stderr, "Runtime error: %s", "Aborted");
7789 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7179);
7790 exit(1);
7791 }
7792 goto RET_LABEL;
7793 } else {
7794 }
7795 RET_LABEL:;
7796 }
7797 /* method parser_prod#AAttrExpr#replace_child for (self: Object, ANode, nullable ANode) */
7798 void VIRTUAL_parser_prod__AAttrExpr__replace_child(val* self, val* p0, val* p1) {
7799 parser_prod__AAttrExpr__replace_child(self, p0, p1);
7800 RET_LABEL:;
7801 }
7802 /* method parser_prod#AAttrExpr#n_expr= for (self: AAttrExpr, AExpr) */
7803 void parser_prod__AAttrExpr__n_expr_61d(val* self, val* p0) {
7804 val* var_node /* var node: AExpr */;
7805 var_node = p0;
7806 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_node; /* _n_expr on <self:AAttrExpr> */
7807 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
7808 RET_LABEL:;
7809 }
7810 /* method parser_prod#AAttrExpr#n_expr= for (self: Object, AExpr) */
7811 void VIRTUAL_parser_prod__AAttrExpr__n_expr_61d(val* self, val* p0) {
7812 parser_prod__AAttrExpr__n_expr_61d(self, p0);
7813 RET_LABEL:;
7814 }
7815 /* method parser_prod#AAttrExpr#n_id= for (self: AAttrExpr, TAttrid) */
7816 void parser_prod__AAttrExpr__n_id_61d(val* self, val* p0) {
7817 val* var_node /* var node: TAttrid */;
7818 var_node = p0;
7819 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_node; /* _n_id on <self:AAttrExpr> */
7820 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TAttrid>*/;
7821 RET_LABEL:;
7822 }
7823 /* method parser_prod#AAttrExpr#n_id= for (self: Object, TAttrid) */
7824 void VIRTUAL_parser_prod__AAttrExpr__n_id_61d(val* self, val* p0) {
7825 parser_prod__AAttrExpr__n_id_61d(self, p0);
7826 RET_LABEL:;
7827 }
7828 /* method parser_prod#AAttrExpr#visit_all for (self: AAttrExpr, Visitor) */
7829 void parser_prod__AAttrExpr__visit_all(val* self, val* p0) {
7830 val* var_v /* var v: Visitor */;
7831 val* var /* : AExpr */;
7832 val* var1 /* : TAttrid */;
7833 var_v = p0;
7834 var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrExpr> */
7835 if (var == NULL) {
7836 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
7837 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7199);
7838 exit(1);
7839 }
7840 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
7841 var1 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrExpr> */
7842 if (var1 == NULL) {
7843 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
7844 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7200);
7845 exit(1);
7846 }
7847 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
7848 RET_LABEL:;
7849 }
7850 /* method parser_prod#AAttrExpr#visit_all for (self: Object, Visitor) */
7851 void VIRTUAL_parser_prod__AAttrExpr__visit_all(val* self, val* p0) {
7852 parser_prod__AAttrExpr__visit_all(self, p0);
7853 RET_LABEL:;
7854 }
7855 /* method parser_prod#AAttrAssignExpr#empty_init for (self: AAttrAssignExpr) */
7856 void parser_prod__AAttrAssignExpr__empty_init(val* self) {
7857 RET_LABEL:;
7858 }
7859 /* method parser_prod#AAttrAssignExpr#empty_init for (self: Object) */
7860 void VIRTUAL_parser_prod__AAttrAssignExpr__empty_init(val* self) {
7861 parser_prod__AAttrAssignExpr__empty_init(self);
7862 RET_LABEL:;
7863 }
7864 /* method parser_prod#AAttrAssignExpr#init_aattrassignexpr for (self: AAttrAssignExpr, nullable AExpr, nullable TAttrid, nullable TAssign, nullable AExpr) */
7865 void parser_prod__AAttrAssignExpr__init_aattrassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
7866 val* var_n_expr /* var n_expr: nullable AExpr */;
7867 val* var_n_id /* var n_id: nullable TAttrid */;
7868 val* var_n_assign /* var n_assign: nullable TAssign */;
7869 val* var_n_value /* var n_value: nullable AExpr */;
7870 var_n_expr = p0;
7871 var_n_id = p1;
7872 var_n_assign = p2;
7873 var_n_value = p3;
7874 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAttrAssignExpr__empty_init]))(self) /* empty_init on <self:AAttrAssignExpr>*/;
7875 if (var_n_expr == NULL) {
7876 fprintf(stderr, "Runtime error: %s", "Cast failed");
7877 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7214);
7878 exit(1);
7879 }
7880 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAttrAssignExpr> */
7881 if (var_n_expr == NULL) {
7882 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7883 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7215);
7884 exit(1);
7885 } else {
7886 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
7887 }
7888 if (var_n_id == NULL) {
7889 fprintf(stderr, "Runtime error: %s", "Cast failed");
7890 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7216);
7891 exit(1);
7892 }
7893 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_n_id; /* _n_id on <self:AAttrAssignExpr> */
7894 if (var_n_id == NULL) {
7895 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7896 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7217);
7897 exit(1);
7898 } else {
7899 ((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on <var_n_id:nullable TAttrid>*/;
7900 }
7901 if (var_n_assign == NULL) {
7902 fprintf(stderr, "Runtime error: %s", "Cast failed");
7903 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7218);
7904 exit(1);
7905 }
7906 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_n_assign; /* _n_assign on <self:AAttrAssignExpr> */
7907 if (var_n_assign == NULL) {
7908 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7909 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7219);
7910 exit(1);
7911 } else {
7912 ((void (*)(val*, val*))(var_n_assign->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_assign, self) /* parent= on <var_n_assign:nullable TAssign>*/;
7913 }
7914 if (var_n_value == NULL) {
7915 fprintf(stderr, "Runtime error: %s", "Cast failed");
7916 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7220);
7917 exit(1);
7918 }
7919 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_n_value; /* _n_value on <self:AAttrAssignExpr> */
7920 if (var_n_value == NULL) {
7921 fprintf(stderr, "Runtime error: %s", "Reciever is null");
7922 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7221);
7923 exit(1);
7924 } else {
7925 ((void (*)(val*, val*))(var_n_value->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_value, self) /* parent= on <var_n_value:nullable AExpr>*/;
7926 }
7927 RET_LABEL:;
7928 }
7929 /* method parser_prod#AAttrAssignExpr#init_aattrassignexpr for (self: Object, nullable AExpr, nullable TAttrid, nullable TAssign, nullable AExpr) */
7930 void VIRTUAL_parser_prod__AAttrAssignExpr__init_aattrassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
7931 parser_prod__AAttrAssignExpr__init_aattrassignexpr(self, p0, p1, p2, p3);
7932 RET_LABEL:;
7933 }
7934 /* method parser_prod#AAttrAssignExpr#replace_child for (self: AAttrAssignExpr, ANode, nullable ANode) */
7935 void parser_prod__AAttrAssignExpr__replace_child(val* self, val* p0, val* p1) {
7936 val* var_old_child /* var old_child: ANode */;
7937 val* var_new_child /* var new_child: nullable ANode */;
7938 val* var /* : AExpr */;
7939 short int var1 /* : Bool */;
7940 val* var2 /* : null */;
7941 short int var3 /* : Bool */;
7942 short int var4 /* : Bool */;
7943 int cltype;
7944 int idtype;
7945 val* var5 /* : TAttrid */;
7946 short int var6 /* : Bool */;
7947 val* var7 /* : null */;
7948 short int var8 /* : Bool */;
7949 short int var9 /* : Bool */;
7950 int cltype10;
7951 int idtype11;
7952 val* var12 /* : TAssign */;
7953 short int var13 /* : Bool */;
7954 val* var14 /* : null */;
7955 short int var15 /* : Bool */;
7956 short int var16 /* : Bool */;
7957 int cltype17;
7958 int idtype18;
7959 val* var19 /* : AExpr */;
7960 short int var20 /* : Bool */;
7961 val* var21 /* : null */;
7962 short int var22 /* : Bool */;
7963 short int var23 /* : Bool */;
7964 int cltype24;
7965 int idtype25;
7966 var_old_child = p0;
7967 var_new_child = p1;
7968 var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrAssignExpr> */
7969 if (var == NULL) {
7970 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
7971 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7226);
7972 exit(1);
7973 }
7974 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
7975 if (var1){
7976 var2 = NULL;
7977 if (var_new_child == NULL) {
7978 var3 = 0; /* is null */
7979 } else {
7980 var3 = 1; /* arg is null and recv is not */
7981 }
7982 if (var3){
7983 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
7984 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
7985 cltype = type_parser_nodes__AExpr.color;
7986 idtype = type_parser_nodes__AExpr.id;
7987 if(cltype >= var_new_child->type->table_size) {
7988 var4 = 0;
7989 } else {
7990 var4 = var_new_child->type->type_table[cltype] == idtype;
7991 }
7992 if (!var4) {
7993 fprintf(stderr, "Runtime error: %s", "Assert failed");
7994 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7229);
7995 exit(1);
7996 }
7997 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_new_child; /* _n_expr on <self:AAttrAssignExpr> */
7998 } else {
7999 fprintf(stderr, "Runtime error: %s", "Aborted");
8000 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7232);
8001 exit(1);
8002 }
8003 goto RET_LABEL;
8004 } else {
8005 }
8006 var5 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrAssignExpr> */
8007 if (var5 == NULL) {
8008 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
8009 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7236);
8010 exit(1);
8011 }
8012 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TAttrid>*/;
8013 if (var6){
8014 var7 = NULL;
8015 if (var_new_child == NULL) {
8016 var8 = 0; /* is null */
8017 } else {
8018 var8 = 1; /* arg is null and recv is not */
8019 }
8020 if (var8){
8021 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
8022 /* <var_new_child:nullable ANode(ANode)> isa TAttrid */
8023 cltype10 = type_parser_nodes__TAttrid.color;
8024 idtype11 = type_parser_nodes__TAttrid.id;
8025 if(cltype10 >= var_new_child->type->table_size) {
8026 var9 = 0;
8027 } else {
8028 var9 = var_new_child->type->type_table[cltype10] == idtype11;
8029 }
8030 if (!var9) {
8031 fprintf(stderr, "Runtime error: %s", "Assert failed");
8032 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7239);
8033 exit(1);
8034 }
8035 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_new_child; /* _n_id on <self:AAttrAssignExpr> */
8036 } else {
8037 fprintf(stderr, "Runtime error: %s", "Aborted");
8038 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7242);
8039 exit(1);
8040 }
8041 goto RET_LABEL;
8042 } else {
8043 }
8044 var12 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:AAttrAssignExpr> */
8045 if (var12 == NULL) {
8046 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign");
8047 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7246);
8048 exit(1);
8049 }
8050 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:TAssign>*/;
8051 if (var13){
8052 var14 = NULL;
8053 if (var_new_child == NULL) {
8054 var15 = 0; /* is null */
8055 } else {
8056 var15 = 1; /* arg is null and recv is not */
8057 }
8058 if (var15){
8059 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
8060 /* <var_new_child:nullable ANode(ANode)> isa TAssign */
8061 cltype17 = type_parser_nodes__TAssign.color;
8062 idtype18 = type_parser_nodes__TAssign.id;
8063 if(cltype17 >= var_new_child->type->table_size) {
8064 var16 = 0;
8065 } else {
8066 var16 = var_new_child->type->type_table[cltype17] == idtype18;
8067 }
8068 if (!var16) {
8069 fprintf(stderr, "Runtime error: %s", "Assert failed");
8070 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7249);
8071 exit(1);
8072 }
8073 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_new_child; /* _n_assign on <self:AAttrAssignExpr> */
8074 } else {
8075 fprintf(stderr, "Runtime error: %s", "Aborted");
8076 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7252);
8077 exit(1);
8078 }
8079 goto RET_LABEL;
8080 } else {
8081 }
8082 var19 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:AAttrAssignExpr> */
8083 if (var19 == NULL) {
8084 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
8085 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7256);
8086 exit(1);
8087 }
8088 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:AExpr>*/;
8089 if (var20){
8090 var21 = NULL;
8091 if (var_new_child == NULL) {
8092 var22 = 0; /* is null */
8093 } else {
8094 var22 = 1; /* arg is null and recv is not */
8095 }
8096 if (var22){
8097 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
8098 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
8099 cltype24 = type_parser_nodes__AExpr.color;
8100 idtype25 = type_parser_nodes__AExpr.id;
8101 if(cltype24 >= var_new_child->type->table_size) {
8102 var23 = 0;
8103 } else {
8104 var23 = var_new_child->type->type_table[cltype24] == idtype25;
8105 }
8106 if (!var23) {
8107 fprintf(stderr, "Runtime error: %s", "Assert failed");
8108 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7259);
8109 exit(1);
8110 }
8111 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_new_child; /* _n_value on <self:AAttrAssignExpr> */
8112 } else {
8113 fprintf(stderr, "Runtime error: %s", "Aborted");
8114 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7262);
8115 exit(1);
8116 }
8117 goto RET_LABEL;
8118 } else {
8119 }
8120 RET_LABEL:;
8121 }
8122 /* method parser_prod#AAttrAssignExpr#replace_child for (self: Object, ANode, nullable ANode) */
8123 void VIRTUAL_parser_prod__AAttrAssignExpr__replace_child(val* self, val* p0, val* p1) {
8124 parser_prod__AAttrAssignExpr__replace_child(self, p0, p1);
8125 RET_LABEL:;
8126 }
8127 /* method parser_prod#AAttrAssignExpr#n_expr= for (self: AAttrAssignExpr, AExpr) */
8128 void parser_prod__AAttrAssignExpr__n_expr_61d(val* self, val* p0) {
8129 val* var_node /* var node: AExpr */;
8130 var_node = p0;
8131 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_node; /* _n_expr on <self:AAttrAssignExpr> */
8132 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
8133 RET_LABEL:;
8134 }
8135 /* method parser_prod#AAttrAssignExpr#n_expr= for (self: Object, AExpr) */
8136 void VIRTUAL_parser_prod__AAttrAssignExpr__n_expr_61d(val* self, val* p0) {
8137 parser_prod__AAttrAssignExpr__n_expr_61d(self, p0);
8138 RET_LABEL:;
8139 }
8140 /* method parser_prod#AAttrAssignExpr#n_id= for (self: AAttrAssignExpr, TAttrid) */
8141 void parser_prod__AAttrAssignExpr__n_id_61d(val* self, val* p0) {
8142 val* var_node /* var node: TAttrid */;
8143 var_node = p0;
8144 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_node; /* _n_id on <self:AAttrAssignExpr> */
8145 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TAttrid>*/;
8146 RET_LABEL:;
8147 }
8148 /* method parser_prod#AAttrAssignExpr#n_id= for (self: Object, TAttrid) */
8149 void VIRTUAL_parser_prod__AAttrAssignExpr__n_id_61d(val* self, val* p0) {
8150 parser_prod__AAttrAssignExpr__n_id_61d(self, p0);
8151 RET_LABEL:;
8152 }
8153 /* method parser_prod#AAttrAssignExpr#n_assign= for (self: AAttrAssignExpr, TAssign) */
8154 void parser_prod__AAttrAssignExpr__n_assign_61d(val* self, val* p0) {
8155 val* var_node /* var node: TAssign */;
8156 var_node = p0;
8157 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_node; /* _n_assign on <self:AAttrAssignExpr> */
8158 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TAssign>*/;
8159 RET_LABEL:;
8160 }
8161 /* method parser_prod#AAttrAssignExpr#n_assign= for (self: Object, TAssign) */
8162 void VIRTUAL_parser_prod__AAttrAssignExpr__n_assign_61d(val* self, val* p0) {
8163 parser_prod__AAttrAssignExpr__n_assign_61d(self, p0);
8164 RET_LABEL:;
8165 }
8166 /* method parser_prod#AAttrAssignExpr#n_value= for (self: AAttrAssignExpr, AExpr) */
8167 void parser_prod__AAttrAssignExpr__n_value_61d(val* self, val* p0) {
8168 val* var_node /* var node: AExpr */;
8169 var_node = p0;
8170 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_node; /* _n_value on <self:AAttrAssignExpr> */
8171 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
8172 RET_LABEL:;
8173 }
8174 /* method parser_prod#AAttrAssignExpr#n_value= for (self: Object, AExpr) */
8175 void VIRTUAL_parser_prod__AAttrAssignExpr__n_value_61d(val* self, val* p0) {
8176 parser_prod__AAttrAssignExpr__n_value_61d(self, p0);
8177 RET_LABEL:;
8178 }
8179 /* method parser_prod#AAttrAssignExpr#visit_all for (self: AAttrAssignExpr, Visitor) */
8180 void parser_prod__AAttrAssignExpr__visit_all(val* self, val* p0) {
8181 val* var_v /* var v: Visitor */;
8182 val* var /* : AExpr */;
8183 val* var1 /* : TAttrid */;
8184 val* var2 /* : TAssign */;
8185 val* var3 /* : AExpr */;
8186 var_v = p0;
8187 var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrAssignExpr> */
8188 if (var == NULL) {
8189 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
8190 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7292);
8191 exit(1);
8192 }
8193 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
8194 var1 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrAssignExpr> */
8195 if (var1 == NULL) {
8196 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
8197 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7293);
8198 exit(1);
8199 }
8200 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
8201 var2 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:AAttrAssignExpr> */
8202 if (var2 == NULL) {
8203 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign");
8204 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7294);
8205 exit(1);
8206 }
8207 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
8208 var3 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:AAttrAssignExpr> */
8209 if (var3 == NULL) {
8210 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
8211 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7295);
8212 exit(1);
8213 }
8214 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
8215 RET_LABEL:;
8216 }
8217 /* method parser_prod#AAttrAssignExpr#visit_all for (self: Object, Visitor) */
8218 void VIRTUAL_parser_prod__AAttrAssignExpr__visit_all(val* self, val* p0) {
8219 parser_prod__AAttrAssignExpr__visit_all(self, p0);
8220 RET_LABEL:;
8221 }
8222 /* method parser_prod#AAttrReassignExpr#empty_init for (self: AAttrReassignExpr) */
8223 void parser_prod__AAttrReassignExpr__empty_init(val* self) {
8224 RET_LABEL:;
8225 }
8226 /* method parser_prod#AAttrReassignExpr#empty_init for (self: Object) */
8227 void VIRTUAL_parser_prod__AAttrReassignExpr__empty_init(val* self) {
8228 parser_prod__AAttrReassignExpr__empty_init(self);
8229 RET_LABEL:;
8230 }
8231 /* method parser_prod#AAttrReassignExpr#init_aattrreassignexpr for (self: AAttrReassignExpr, nullable AExpr, nullable TAttrid, nullable AAssignOp, nullable AExpr) */
8232 void parser_prod__AAttrReassignExpr__init_aattrreassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
8233 val* var_n_expr /* var n_expr: nullable AExpr */;
8234 val* var_n_id /* var n_id: nullable TAttrid */;
8235 val* var_n_assign_op /* var n_assign_op: nullable AAssignOp */;
8236 val* var_n_value /* var n_value: nullable AExpr */;
8237 var_n_expr = p0;
8238 var_n_id = p1;
8239 var_n_assign_op = p2;
8240 var_n_value = p3;
8241 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAttrReassignExpr__empty_init]))(self) /* empty_init on <self:AAttrReassignExpr>*/;
8242 if (var_n_expr == NULL) {
8243 fprintf(stderr, "Runtime error: %s", "Cast failed");
8244 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7309);
8245 exit(1);
8246 }
8247 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAttrReassignExpr> */
8248 if (var_n_expr == NULL) {
8249 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8250 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7310);
8251 exit(1);
8252 } else {
8253 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
8254 }
8255 if (var_n_id == NULL) {
8256 fprintf(stderr, "Runtime error: %s", "Cast failed");
8257 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7311);
8258 exit(1);
8259 }
8260 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_n_id; /* _n_id on <self:AAttrReassignExpr> */
8261 if (var_n_id == NULL) {
8262 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8263 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7312);
8264 exit(1);
8265 } else {
8266 ((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on <var_n_id:nullable TAttrid>*/;
8267 }
8268 if (var_n_assign_op == NULL) {
8269 fprintf(stderr, "Runtime error: %s", "Cast failed");
8270 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7313);
8271 exit(1);
8272 }
8273 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_n_assign_op; /* _n_assign_op on <self:AAttrReassignExpr> */
8274 if (var_n_assign_op == NULL) {
8275 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8276 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7314);
8277 exit(1);
8278 } else {
8279 ((void (*)(val*, val*))(var_n_assign_op->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_assign_op, self) /* parent= on <var_n_assign_op:nullable AAssignOp>*/;
8280 }
8281 if (var_n_value == NULL) {
8282 fprintf(stderr, "Runtime error: %s", "Cast failed");
8283 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7315);
8284 exit(1);
8285 }
8286 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_n_value; /* _n_value on <self:AAttrReassignExpr> */
8287 if (var_n_value == NULL) {
8288 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8289 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7316);
8290 exit(1);
8291 } else {
8292 ((void (*)(val*, val*))(var_n_value->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_value, self) /* parent= on <var_n_value:nullable AExpr>*/;
8293 }
8294 RET_LABEL:;
8295 }
8296 /* method parser_prod#AAttrReassignExpr#init_aattrreassignexpr for (self: Object, nullable AExpr, nullable TAttrid, nullable AAssignOp, nullable AExpr) */
8297 void VIRTUAL_parser_prod__AAttrReassignExpr__init_aattrreassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
8298 parser_prod__AAttrReassignExpr__init_aattrreassignexpr(self, p0, p1, p2, p3);
8299 RET_LABEL:;
8300 }
8301 /* method parser_prod#AAttrReassignExpr#replace_child for (self: AAttrReassignExpr, ANode, nullable ANode) */
8302 void parser_prod__AAttrReassignExpr__replace_child(val* self, val* p0, val* p1) {
8303 val* var_old_child /* var old_child: ANode */;
8304 val* var_new_child /* var new_child: nullable ANode */;
8305 val* var /* : AExpr */;
8306 short int var1 /* : Bool */;
8307 val* var2 /* : null */;
8308 short int var3 /* : Bool */;
8309 short int var4 /* : Bool */;
8310 int cltype;
8311 int idtype;
8312 val* var5 /* : TAttrid */;
8313 short int var6 /* : Bool */;
8314 val* var7 /* : null */;
8315 short int var8 /* : Bool */;
8316 short int var9 /* : Bool */;
8317 int cltype10;
8318 int idtype11;
8319 val* var12 /* : AAssignOp */;
8320 short int var13 /* : Bool */;
8321 val* var14 /* : null */;
8322 short int var15 /* : Bool */;
8323 short int var16 /* : Bool */;
8324 int cltype17;
8325 int idtype18;
8326 val* var19 /* : AExpr */;
8327 short int var20 /* : Bool */;
8328 val* var21 /* : null */;
8329 short int var22 /* : Bool */;
8330 short int var23 /* : Bool */;
8331 int cltype24;
8332 int idtype25;
8333 var_old_child = p0;
8334 var_new_child = p1;
8335 var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrReassignExpr> */
8336 if (var == NULL) {
8337 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
8338 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7321);
8339 exit(1);
8340 }
8341 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
8342 if (var1){
8343 var2 = NULL;
8344 if (var_new_child == NULL) {
8345 var3 = 0; /* is null */
8346 } else {
8347 var3 = 1; /* arg is null and recv is not */
8348 }
8349 if (var3){
8350 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
8351 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
8352 cltype = type_parser_nodes__AExpr.color;
8353 idtype = type_parser_nodes__AExpr.id;
8354 if(cltype >= var_new_child->type->table_size) {
8355 var4 = 0;
8356 } else {
8357 var4 = var_new_child->type->type_table[cltype] == idtype;
8358 }
8359 if (!var4) {
8360 fprintf(stderr, "Runtime error: %s", "Assert failed");
8361 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7324);
8362 exit(1);
8363 }
8364 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_new_child; /* _n_expr on <self:AAttrReassignExpr> */
8365 } else {
8366 fprintf(stderr, "Runtime error: %s", "Aborted");
8367 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7327);
8368 exit(1);
8369 }
8370 goto RET_LABEL;
8371 } else {
8372 }
8373 var5 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrReassignExpr> */
8374 if (var5 == NULL) {
8375 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
8376 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7331);
8377 exit(1);
8378 }
8379 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TAttrid>*/;
8380 if (var6){
8381 var7 = NULL;
8382 if (var_new_child == NULL) {
8383 var8 = 0; /* is null */
8384 } else {
8385 var8 = 1; /* arg is null and recv is not */
8386 }
8387 if (var8){
8388 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
8389 /* <var_new_child:nullable ANode(ANode)> isa TAttrid */
8390 cltype10 = type_parser_nodes__TAttrid.color;
8391 idtype11 = type_parser_nodes__TAttrid.id;
8392 if(cltype10 >= var_new_child->type->table_size) {
8393 var9 = 0;
8394 } else {
8395 var9 = var_new_child->type->type_table[cltype10] == idtype11;
8396 }
8397 if (!var9) {
8398 fprintf(stderr, "Runtime error: %s", "Assert failed");
8399 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7334);
8400 exit(1);
8401 }
8402 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_new_child; /* _n_id on <self:AAttrReassignExpr> */
8403 } else {
8404 fprintf(stderr, "Runtime error: %s", "Aborted");
8405 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7337);
8406 exit(1);
8407 }
8408 goto RET_LABEL;
8409 } else {
8410 }
8411 var12 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:AAttrReassignExpr> */
8412 if (var12 == NULL) {
8413 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign_op");
8414 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7341);
8415 exit(1);
8416 }
8417 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AAssignOp>*/;
8418 if (var13){
8419 var14 = NULL;
8420 if (var_new_child == NULL) {
8421 var15 = 0; /* is null */
8422 } else {
8423 var15 = 1; /* arg is null and recv is not */
8424 }
8425 if (var15){
8426 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
8427 /* <var_new_child:nullable ANode(ANode)> isa AAssignOp */
8428 cltype17 = type_parser_nodes__AAssignOp.color;
8429 idtype18 = type_parser_nodes__AAssignOp.id;
8430 if(cltype17 >= var_new_child->type->table_size) {
8431 var16 = 0;
8432 } else {
8433 var16 = var_new_child->type->type_table[cltype17] == idtype18;
8434 }
8435 if (!var16) {
8436 fprintf(stderr, "Runtime error: %s", "Assert failed");
8437 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7344);
8438 exit(1);
8439 }
8440 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_new_child; /* _n_assign_op on <self:AAttrReassignExpr> */
8441 } else {
8442 fprintf(stderr, "Runtime error: %s", "Aborted");
8443 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7347);
8444 exit(1);
8445 }
8446 goto RET_LABEL;
8447 } else {
8448 }
8449 var19 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:AAttrReassignExpr> */
8450 if (var19 == NULL) {
8451 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
8452 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7351);
8453 exit(1);
8454 }
8455 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:AExpr>*/;
8456 if (var20){
8457 var21 = NULL;
8458 if (var_new_child == NULL) {
8459 var22 = 0; /* is null */
8460 } else {
8461 var22 = 1; /* arg is null and recv is not */
8462 }
8463 if (var22){
8464 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
8465 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
8466 cltype24 = type_parser_nodes__AExpr.color;
8467 idtype25 = type_parser_nodes__AExpr.id;
8468 if(cltype24 >= var_new_child->type->table_size) {
8469 var23 = 0;
8470 } else {
8471 var23 = var_new_child->type->type_table[cltype24] == idtype25;
8472 }
8473 if (!var23) {
8474 fprintf(stderr, "Runtime error: %s", "Assert failed");
8475 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7354);
8476 exit(1);
8477 }
8478 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_new_child; /* _n_value on <self:AAttrReassignExpr> */
8479 } else {
8480 fprintf(stderr, "Runtime error: %s", "Aborted");
8481 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7357);
8482 exit(1);
8483 }
8484 goto RET_LABEL;
8485 } else {
8486 }
8487 RET_LABEL:;
8488 }
8489 /* method parser_prod#AAttrReassignExpr#replace_child for (self: Object, ANode, nullable ANode) */
8490 void VIRTUAL_parser_prod__AAttrReassignExpr__replace_child(val* self, val* p0, val* p1) {
8491 parser_prod__AAttrReassignExpr__replace_child(self, p0, p1);
8492 RET_LABEL:;
8493 }
8494 /* method parser_prod#AAttrReassignExpr#n_expr= for (self: AAttrReassignExpr, AExpr) */
8495 void parser_prod__AAttrReassignExpr__n_expr_61d(val* self, val* p0) {
8496 val* var_node /* var node: AExpr */;
8497 var_node = p0;
8498 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_node; /* _n_expr on <self:AAttrReassignExpr> */
8499 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
8500 RET_LABEL:;
8501 }
8502 /* method parser_prod#AAttrReassignExpr#n_expr= for (self: Object, AExpr) */
8503 void VIRTUAL_parser_prod__AAttrReassignExpr__n_expr_61d(val* self, val* p0) {
8504 parser_prod__AAttrReassignExpr__n_expr_61d(self, p0);
8505 RET_LABEL:;
8506 }
8507 /* method parser_prod#AAttrReassignExpr#n_id= for (self: AAttrReassignExpr, TAttrid) */
8508 void parser_prod__AAttrReassignExpr__n_id_61d(val* self, val* p0) {
8509 val* var_node /* var node: TAttrid */;
8510 var_node = p0;
8511 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_node; /* _n_id on <self:AAttrReassignExpr> */
8512 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TAttrid>*/;
8513 RET_LABEL:;
8514 }
8515 /* method parser_prod#AAttrReassignExpr#n_id= for (self: Object, TAttrid) */
8516 void VIRTUAL_parser_prod__AAttrReassignExpr__n_id_61d(val* self, val* p0) {
8517 parser_prod__AAttrReassignExpr__n_id_61d(self, p0);
8518 RET_LABEL:;
8519 }
8520 /* method parser_prod#AAttrReassignExpr#n_assign_op= for (self: AAttrReassignExpr, AAssignOp) */
8521 void parser_prod__AAttrReassignExpr__n_assign_op_61d(val* self, val* p0) {
8522 val* var_node /* var node: AAssignOp */;
8523 var_node = p0;
8524 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_node; /* _n_assign_op on <self:AAttrReassignExpr> */
8525 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AAssignOp>*/;
8526 RET_LABEL:;
8527 }
8528 /* method parser_prod#AAttrReassignExpr#n_assign_op= for (self: Object, AAssignOp) */
8529 void VIRTUAL_parser_prod__AAttrReassignExpr__n_assign_op_61d(val* self, val* p0) {
8530 parser_prod__AAttrReassignExpr__n_assign_op_61d(self, p0);
8531 RET_LABEL:;
8532 }
8533 /* method parser_prod#AAttrReassignExpr#n_value= for (self: AAttrReassignExpr, AExpr) */
8534 void parser_prod__AAttrReassignExpr__n_value_61d(val* self, val* p0) {
8535 val* var_node /* var node: AExpr */;
8536 var_node = p0;
8537 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_node; /* _n_value on <self:AAttrReassignExpr> */
8538 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
8539 RET_LABEL:;
8540 }
8541 /* method parser_prod#AAttrReassignExpr#n_value= for (self: Object, AExpr) */
8542 void VIRTUAL_parser_prod__AAttrReassignExpr__n_value_61d(val* self, val* p0) {
8543 parser_prod__AAttrReassignExpr__n_value_61d(self, p0);
8544 RET_LABEL:;
8545 }
8546 /* method parser_prod#AAttrReassignExpr#visit_all for (self: AAttrReassignExpr, Visitor) */
8547 void parser_prod__AAttrReassignExpr__visit_all(val* self, val* p0) {
8548 val* var_v /* var v: Visitor */;
8549 val* var /* : AExpr */;
8550 val* var1 /* : TAttrid */;
8551 val* var2 /* : AAssignOp */;
8552 val* var3 /* : AExpr */;
8553 var_v = p0;
8554 var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrReassignExpr> */
8555 if (var == NULL) {
8556 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
8557 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7387);
8558 exit(1);
8559 }
8560 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
8561 var1 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrReassignExpr> */
8562 if (var1 == NULL) {
8563 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
8564 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7388);
8565 exit(1);
8566 }
8567 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
8568 var2 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:AAttrReassignExpr> */
8569 if (var2 == NULL) {
8570 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign_op");
8571 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7389);
8572 exit(1);
8573 }
8574 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
8575 var3 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:AAttrReassignExpr> */
8576 if (var3 == NULL) {
8577 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
8578 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7390);
8579 exit(1);
8580 }
8581 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
8582 RET_LABEL:;
8583 }
8584 /* method parser_prod#AAttrReassignExpr#visit_all for (self: Object, Visitor) */
8585 void VIRTUAL_parser_prod__AAttrReassignExpr__visit_all(val* self, val* p0) {
8586 parser_prod__AAttrReassignExpr__visit_all(self, p0);
8587 RET_LABEL:;
8588 }
8589 /* method parser_prod#ACallExpr#empty_init for (self: ACallExpr) */
8590 void parser_prod__ACallExpr__empty_init(val* self) {
8591 RET_LABEL:;
8592 }
8593 /* method parser_prod#ACallExpr#empty_init for (self: Object) */
8594 void VIRTUAL_parser_prod__ACallExpr__empty_init(val* self) {
8595 parser_prod__ACallExpr__empty_init(self);
8596 RET_LABEL:;
8597 }
8598 /* method parser_prod#ACallExpr#init_acallexpr for (self: ACallExpr, nullable AExpr, nullable TId, nullable AExprs) */
8599 void parser_prod__ACallExpr__init_acallexpr(val* self, val* p0, val* p1, val* p2) {
8600 val* var_n_expr /* var n_expr: nullable AExpr */;
8601 val* var_n_id /* var n_id: nullable TId */;
8602 val* var_n_args /* var n_args: nullable AExprs */;
8603 var_n_expr = p0;
8604 var_n_id = p1;
8605 var_n_args = p2;
8606 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ACallExpr__empty_init]))(self) /* empty_init on <self:ACallExpr>*/;
8607 if (var_n_expr == NULL) {
8608 fprintf(stderr, "Runtime error: %s", "Cast failed");
8609 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7403);
8610 exit(1);
8611 }
8612 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ACallExpr> */
8613 if (var_n_expr == NULL) {
8614 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8615 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7404);
8616 exit(1);
8617 } else {
8618 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
8619 }
8620 if (var_n_id == NULL) {
8621 fprintf(stderr, "Runtime error: %s", "Cast failed");
8622 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7405);
8623 exit(1);
8624 }
8625 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_n_id; /* _n_id on <self:ACallExpr> */
8626 if (var_n_id == NULL) {
8627 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8628 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7406);
8629 exit(1);
8630 } else {
8631 ((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on <var_n_id:nullable TId>*/;
8632 }
8633 if (var_n_args == NULL) {
8634 fprintf(stderr, "Runtime error: %s", "Cast failed");
8635 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7407);
8636 exit(1);
8637 }
8638 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_n_args; /* _n_args on <self:ACallExpr> */
8639 if (var_n_args == NULL) {
8640 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8641 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7408);
8642 exit(1);
8643 } else {
8644 ((void (*)(val*, val*))(var_n_args->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_args, self) /* parent= on <var_n_args:nullable AExprs>*/;
8645 }
8646 RET_LABEL:;
8647 }
8648 /* method parser_prod#ACallExpr#init_acallexpr for (self: Object, nullable AExpr, nullable TId, nullable AExprs) */
8649 void VIRTUAL_parser_prod__ACallExpr__init_acallexpr(val* self, val* p0, val* p1, val* p2) {
8650 parser_prod__ACallExpr__init_acallexpr(self, p0, p1, p2);
8651 RET_LABEL:;
8652 }
8653 /* method parser_prod#ACallExpr#replace_child for (self: ACallExpr, ANode, nullable ANode) */
8654 void parser_prod__ACallExpr__replace_child(val* self, val* p0, val* p1) {
8655 val* var_old_child /* var old_child: ANode */;
8656 val* var_new_child /* var new_child: nullable ANode */;
8657 val* var /* : AExpr */;
8658 short int var1 /* : Bool */;
8659 val* var2 /* : null */;
8660 short int var3 /* : Bool */;
8661 short int var4 /* : Bool */;
8662 int cltype;
8663 int idtype;
8664 val* var5 /* : TId */;
8665 short int var6 /* : Bool */;
8666 val* var7 /* : null */;
8667 short int var8 /* : Bool */;
8668 short int var9 /* : Bool */;
8669 int cltype10;
8670 int idtype11;
8671 val* var12 /* : AExprs */;
8672 short int var13 /* : Bool */;
8673 val* var14 /* : null */;
8674 short int var15 /* : Bool */;
8675 short int var16 /* : Bool */;
8676 int cltype17;
8677 int idtype18;
8678 var_old_child = p0;
8679 var_new_child = p1;
8680 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ACallExpr> */
8681 if (var == NULL) {
8682 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
8683 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7413);
8684 exit(1);
8685 }
8686 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
8687 if (var1){
8688 var2 = NULL;
8689 if (var_new_child == NULL) {
8690 var3 = 0; /* is null */
8691 } else {
8692 var3 = 1; /* arg is null and recv is not */
8693 }
8694 if (var3){
8695 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
8696 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
8697 cltype = type_parser_nodes__AExpr.color;
8698 idtype = type_parser_nodes__AExpr.id;
8699 if(cltype >= var_new_child->type->table_size) {
8700 var4 = 0;
8701 } else {
8702 var4 = var_new_child->type->type_table[cltype] == idtype;
8703 }
8704 if (!var4) {
8705 fprintf(stderr, "Runtime error: %s", "Assert failed");
8706 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7416);
8707 exit(1);
8708 }
8709 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ACallExpr> */
8710 } else {
8711 fprintf(stderr, "Runtime error: %s", "Aborted");
8712 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7419);
8713 exit(1);
8714 }
8715 goto RET_LABEL;
8716 } else {
8717 }
8718 var5 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:ACallExpr> */
8719 if (var5 == NULL) {
8720 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
8721 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7423);
8722 exit(1);
8723 }
8724 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TId>*/;
8725 if (var6){
8726 var7 = NULL;
8727 if (var_new_child == NULL) {
8728 var8 = 0; /* is null */
8729 } else {
8730 var8 = 1; /* arg is null and recv is not */
8731 }
8732 if (var8){
8733 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
8734 /* <var_new_child:nullable ANode(ANode)> isa TId */
8735 cltype10 = type_parser_nodes__TId.color;
8736 idtype11 = type_parser_nodes__TId.id;
8737 if(cltype10 >= var_new_child->type->table_size) {
8738 var9 = 0;
8739 } else {
8740 var9 = var_new_child->type->type_table[cltype10] == idtype11;
8741 }
8742 if (!var9) {
8743 fprintf(stderr, "Runtime error: %s", "Assert failed");
8744 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7426);
8745 exit(1);
8746 }
8747 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_new_child; /* _n_id on <self:ACallExpr> */
8748 } else {
8749 fprintf(stderr, "Runtime error: %s", "Aborted");
8750 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7429);
8751 exit(1);
8752 }
8753 goto RET_LABEL;
8754 } else {
8755 }
8756 var12 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallExpr> */
8757 if (var12 == NULL) {
8758 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
8759 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7433);
8760 exit(1);
8761 }
8762 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AExprs>*/;
8763 if (var13){
8764 var14 = NULL;
8765 if (var_new_child == NULL) {
8766 var15 = 0; /* is null */
8767 } else {
8768 var15 = 1; /* arg is null and recv is not */
8769 }
8770 if (var15){
8771 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
8772 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
8773 cltype17 = type_parser_nodes__AExprs.color;
8774 idtype18 = type_parser_nodes__AExprs.id;
8775 if(cltype17 >= var_new_child->type->table_size) {
8776 var16 = 0;
8777 } else {
8778 var16 = var_new_child->type->type_table[cltype17] == idtype18;
8779 }
8780 if (!var16) {
8781 fprintf(stderr, "Runtime error: %s", "Assert failed");
8782 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7436);
8783 exit(1);
8784 }
8785 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_new_child; /* _n_args on <self:ACallExpr> */
8786 } else {
8787 fprintf(stderr, "Runtime error: %s", "Aborted");
8788 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7439);
8789 exit(1);
8790 }
8791 goto RET_LABEL;
8792 } else {
8793 }
8794 RET_LABEL:;
8795 }
8796 /* method parser_prod#ACallExpr#replace_child for (self: Object, ANode, nullable ANode) */
8797 void VIRTUAL_parser_prod__ACallExpr__replace_child(val* self, val* p0, val* p1) {
8798 parser_prod__ACallExpr__replace_child(self, p0, p1);
8799 RET_LABEL:;
8800 }
8801 /* method parser_prod#ACallExpr#n_expr= for (self: ACallExpr, AExpr) */
8802 void parser_prod__ACallExpr__n_expr_61d(val* self, val* p0) {
8803 val* var_node /* var node: AExpr */;
8804 var_node = p0;
8805 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ACallExpr> */
8806 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
8807 RET_LABEL:;
8808 }
8809 /* method parser_prod#ACallExpr#n_expr= for (self: Object, AExpr) */
8810 void VIRTUAL_parser_prod__ACallExpr__n_expr_61d(val* self, val* p0) {
8811 parser_prod__ACallExpr__n_expr_61d(self, p0);
8812 RET_LABEL:;
8813 }
8814 /* method parser_prod#ACallExpr#n_id= for (self: ACallExpr, TId) */
8815 void parser_prod__ACallExpr__n_id_61d(val* self, val* p0) {
8816 val* var_node /* var node: TId */;
8817 var_node = p0;
8818 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_node; /* _n_id on <self:ACallExpr> */
8819 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TId>*/;
8820 RET_LABEL:;
8821 }
8822 /* method parser_prod#ACallExpr#n_id= for (self: Object, TId) */
8823 void VIRTUAL_parser_prod__ACallExpr__n_id_61d(val* self, val* p0) {
8824 parser_prod__ACallExpr__n_id_61d(self, p0);
8825 RET_LABEL:;
8826 }
8827 /* method parser_prod#ACallExpr#n_args= for (self: ACallExpr, AExprs) */
8828 void parser_prod__ACallExpr__n_args_61d(val* self, val* p0) {
8829 val* var_node /* var node: AExprs */;
8830 var_node = p0;
8831 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_node; /* _n_args on <self:ACallExpr> */
8832 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
8833 RET_LABEL:;
8834 }
8835 /* method parser_prod#ACallExpr#n_args= for (self: Object, AExprs) */
8836 void VIRTUAL_parser_prod__ACallExpr__n_args_61d(val* self, val* p0) {
8837 parser_prod__ACallExpr__n_args_61d(self, p0);
8838 RET_LABEL:;
8839 }
8840 /* method parser_prod#ACallExpr#visit_all for (self: ACallExpr, Visitor) */
8841 void parser_prod__ACallExpr__visit_all(val* self, val* p0) {
8842 val* var_v /* var v: Visitor */;
8843 val* var /* : AExpr */;
8844 val* var1 /* : TId */;
8845 val* var2 /* : AExprs */;
8846 var_v = p0;
8847 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ACallExpr> */
8848 if (var == NULL) {
8849 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
8850 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7464);
8851 exit(1);
8852 }
8853 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
8854 var1 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:ACallExpr> */
8855 if (var1 == NULL) {
8856 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
8857 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7465);
8858 exit(1);
8859 }
8860 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
8861 var2 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallExpr> */
8862 if (var2 == NULL) {
8863 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
8864 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7466);
8865 exit(1);
8866 }
8867 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
8868 RET_LABEL:;
8869 }
8870 /* method parser_prod#ACallExpr#visit_all for (self: Object, Visitor) */
8871 void VIRTUAL_parser_prod__ACallExpr__visit_all(val* self, val* p0) {
8872 parser_prod__ACallExpr__visit_all(self, p0);
8873 RET_LABEL:;
8874 }
8875 /* method parser_prod#ACallAssignExpr#empty_init for (self: ACallAssignExpr) */
8876 void parser_prod__ACallAssignExpr__empty_init(val* self) {
8877 RET_LABEL:;
8878 }
8879 /* method parser_prod#ACallAssignExpr#empty_init for (self: Object) */
8880 void VIRTUAL_parser_prod__ACallAssignExpr__empty_init(val* self) {
8881 parser_prod__ACallAssignExpr__empty_init(self);
8882 RET_LABEL:;
8883 }
8884 /* method parser_prod#ACallAssignExpr#init_acallassignexpr for (self: ACallAssignExpr, nullable AExpr, nullable TId, nullable AExprs, nullable TAssign, nullable AExpr) */
8885 void parser_prod__ACallAssignExpr__init_acallassignexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
8886 val* var_n_expr /* var n_expr: nullable AExpr */;
8887 val* var_n_id /* var n_id: nullable TId */;
8888 val* var_n_args /* var n_args: nullable AExprs */;
8889 val* var_n_assign /* var n_assign: nullable TAssign */;
8890 val* var_n_value /* var n_value: nullable AExpr */;
8891 var_n_expr = p0;
8892 var_n_id = p1;
8893 var_n_args = p2;
8894 var_n_assign = p3;
8895 var_n_value = p4;
8896 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ACallAssignExpr__empty_init]))(self) /* empty_init on <self:ACallAssignExpr>*/;
8897 if (var_n_expr == NULL) {
8898 fprintf(stderr, "Runtime error: %s", "Cast failed");
8899 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7481);
8900 exit(1);
8901 }
8902 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ACallAssignExpr> */
8903 if (var_n_expr == NULL) {
8904 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8905 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7482);
8906 exit(1);
8907 } else {
8908 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
8909 }
8910 if (var_n_id == NULL) {
8911 fprintf(stderr, "Runtime error: %s", "Cast failed");
8912 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7483);
8913 exit(1);
8914 }
8915 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_n_id; /* _n_id on <self:ACallAssignExpr> */
8916 if (var_n_id == NULL) {
8917 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8918 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7484);
8919 exit(1);
8920 } else {
8921 ((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on <var_n_id:nullable TId>*/;
8922 }
8923 if (var_n_args == NULL) {
8924 fprintf(stderr, "Runtime error: %s", "Cast failed");
8925 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7485);
8926 exit(1);
8927 }
8928 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_n_args; /* _n_args on <self:ACallAssignExpr> */
8929 if (var_n_args == NULL) {
8930 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8931 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7486);
8932 exit(1);
8933 } else {
8934 ((void (*)(val*, val*))(var_n_args->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_args, self) /* parent= on <var_n_args:nullable AExprs>*/;
8935 }
8936 if (var_n_assign == NULL) {
8937 fprintf(stderr, "Runtime error: %s", "Cast failed");
8938 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7487);
8939 exit(1);
8940 }
8941 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_n_assign; /* _n_assign on <self:ACallAssignExpr> */
8942 if (var_n_assign == NULL) {
8943 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8944 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7488);
8945 exit(1);
8946 } else {
8947 ((void (*)(val*, val*))(var_n_assign->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_assign, self) /* parent= on <var_n_assign:nullable TAssign>*/;
8948 }
8949 if (var_n_value == NULL) {
8950 fprintf(stderr, "Runtime error: %s", "Cast failed");
8951 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7489);
8952 exit(1);
8953 }
8954 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_n_value; /* _n_value on <self:ACallAssignExpr> */
8955 if (var_n_value == NULL) {
8956 fprintf(stderr, "Runtime error: %s", "Reciever is null");
8957 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7490);
8958 exit(1);
8959 } else {
8960 ((void (*)(val*, val*))(var_n_value->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_value, self) /* parent= on <var_n_value:nullable AExpr>*/;
8961 }
8962 RET_LABEL:;
8963 }
8964 /* method parser_prod#ACallAssignExpr#init_acallassignexpr for (self: Object, nullable AExpr, nullable TId, nullable AExprs, nullable TAssign, nullable AExpr) */
8965 void VIRTUAL_parser_prod__ACallAssignExpr__init_acallassignexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
8966 parser_prod__ACallAssignExpr__init_acallassignexpr(self, p0, p1, p2, p3, p4);
8967 RET_LABEL:;
8968 }
8969 /* method parser_prod#ACallAssignExpr#replace_child for (self: ACallAssignExpr, ANode, nullable ANode) */
8970 void parser_prod__ACallAssignExpr__replace_child(val* self, val* p0, val* p1) {
8971 val* var_old_child /* var old_child: ANode */;
8972 val* var_new_child /* var new_child: nullable ANode */;
8973 val* var /* : AExpr */;
8974 short int var1 /* : Bool */;
8975 val* var2 /* : null */;
8976 short int var3 /* : Bool */;
8977 short int var4 /* : Bool */;
8978 int cltype;
8979 int idtype;
8980 val* var5 /* : TId */;
8981 short int var6 /* : Bool */;
8982 val* var7 /* : null */;
8983 short int var8 /* : Bool */;
8984 short int var9 /* : Bool */;
8985 int cltype10;
8986 int idtype11;
8987 val* var12 /* : AExprs */;
8988 short int var13 /* : Bool */;
8989 val* var14 /* : null */;
8990 short int var15 /* : Bool */;
8991 short int var16 /* : Bool */;
8992 int cltype17;
8993 int idtype18;
8994 val* var19 /* : TAssign */;
8995 short int var20 /* : Bool */;
8996 val* var21 /* : null */;
8997 short int var22 /* : Bool */;
8998 short int var23 /* : Bool */;
8999 int cltype24;
9000 int idtype25;
9001 val* var26 /* : AExpr */;
9002 short int var27 /* : Bool */;
9003 val* var28 /* : null */;
9004 short int var29 /* : Bool */;
9005 short int var30 /* : Bool */;
9006 int cltype31;
9007 int idtype32;
9008 var_old_child = p0;
9009 var_new_child = p1;
9010 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ACallAssignExpr> */
9011 if (var == NULL) {
9012 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
9013 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7495);
9014 exit(1);
9015 }
9016 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
9017 if (var1){
9018 var2 = NULL;
9019 if (var_new_child == NULL) {
9020 var3 = 0; /* is null */
9021 } else {
9022 var3 = 1; /* arg is null and recv is not */
9023 }
9024 if (var3){
9025 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9026 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
9027 cltype = type_parser_nodes__AExpr.color;
9028 idtype = type_parser_nodes__AExpr.id;
9029 if(cltype >= var_new_child->type->table_size) {
9030 var4 = 0;
9031 } else {
9032 var4 = var_new_child->type->type_table[cltype] == idtype;
9033 }
9034 if (!var4) {
9035 fprintf(stderr, "Runtime error: %s", "Assert failed");
9036 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7498);
9037 exit(1);
9038 }
9039 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ACallAssignExpr> */
9040 } else {
9041 fprintf(stderr, "Runtime error: %s", "Aborted");
9042 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7501);
9043 exit(1);
9044 }
9045 goto RET_LABEL;
9046 } else {
9047 }
9048 var5 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:ACallAssignExpr> */
9049 if (var5 == NULL) {
9050 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
9051 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7505);
9052 exit(1);
9053 }
9054 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TId>*/;
9055 if (var6){
9056 var7 = NULL;
9057 if (var_new_child == NULL) {
9058 var8 = 0; /* is null */
9059 } else {
9060 var8 = 1; /* arg is null and recv is not */
9061 }
9062 if (var8){
9063 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9064 /* <var_new_child:nullable ANode(ANode)> isa TId */
9065 cltype10 = type_parser_nodes__TId.color;
9066 idtype11 = type_parser_nodes__TId.id;
9067 if(cltype10 >= var_new_child->type->table_size) {
9068 var9 = 0;
9069 } else {
9070 var9 = var_new_child->type->type_table[cltype10] == idtype11;
9071 }
9072 if (!var9) {
9073 fprintf(stderr, "Runtime error: %s", "Assert failed");
9074 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7508);
9075 exit(1);
9076 }
9077 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_new_child; /* _n_id on <self:ACallAssignExpr> */
9078 } else {
9079 fprintf(stderr, "Runtime error: %s", "Aborted");
9080 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7511);
9081 exit(1);
9082 }
9083 goto RET_LABEL;
9084 } else {
9085 }
9086 var12 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallAssignExpr> */
9087 if (var12 == NULL) {
9088 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
9089 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7515);
9090 exit(1);
9091 }
9092 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AExprs>*/;
9093 if (var13){
9094 var14 = NULL;
9095 if (var_new_child == NULL) {
9096 var15 = 0; /* is null */
9097 } else {
9098 var15 = 1; /* arg is null and recv is not */
9099 }
9100 if (var15){
9101 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9102 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
9103 cltype17 = type_parser_nodes__AExprs.color;
9104 idtype18 = type_parser_nodes__AExprs.id;
9105 if(cltype17 >= var_new_child->type->table_size) {
9106 var16 = 0;
9107 } else {
9108 var16 = var_new_child->type->type_table[cltype17] == idtype18;
9109 }
9110 if (!var16) {
9111 fprintf(stderr, "Runtime error: %s", "Assert failed");
9112 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7518);
9113 exit(1);
9114 }
9115 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_new_child; /* _n_args on <self:ACallAssignExpr> */
9116 } else {
9117 fprintf(stderr, "Runtime error: %s", "Aborted");
9118 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7521);
9119 exit(1);
9120 }
9121 goto RET_LABEL;
9122 } else {
9123 }
9124 var19 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:ACallAssignExpr> */
9125 if (var19 == NULL) {
9126 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign");
9127 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7525);
9128 exit(1);
9129 }
9130 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:TAssign>*/;
9131 if (var20){
9132 var21 = NULL;
9133 if (var_new_child == NULL) {
9134 var22 = 0; /* is null */
9135 } else {
9136 var22 = 1; /* arg is null and recv is not */
9137 }
9138 if (var22){
9139 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9140 /* <var_new_child:nullable ANode(ANode)> isa TAssign */
9141 cltype24 = type_parser_nodes__TAssign.color;
9142 idtype25 = type_parser_nodes__TAssign.id;
9143 if(cltype24 >= var_new_child->type->table_size) {
9144 var23 = 0;
9145 } else {
9146 var23 = var_new_child->type->type_table[cltype24] == idtype25;
9147 }
9148 if (!var23) {
9149 fprintf(stderr, "Runtime error: %s", "Assert failed");
9150 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7528);
9151 exit(1);
9152 }
9153 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_new_child; /* _n_assign on <self:ACallAssignExpr> */
9154 } else {
9155 fprintf(stderr, "Runtime error: %s", "Aborted");
9156 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7531);
9157 exit(1);
9158 }
9159 goto RET_LABEL;
9160 } else {
9161 }
9162 var26 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:ACallAssignExpr> */
9163 if (var26 == NULL) {
9164 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
9165 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7535);
9166 exit(1);
9167 }
9168 var27 = ((short int (*)(val*, val*))(var26->class->vft[COLOR_kernel__Object___61d_61d]))(var26, var_old_child) /* == on <var26:AExpr>*/;
9169 if (var27){
9170 var28 = NULL;
9171 if (var_new_child == NULL) {
9172 var29 = 0; /* is null */
9173 } else {
9174 var29 = 1; /* arg is null and recv is not */
9175 }
9176 if (var29){
9177 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9178 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
9179 cltype31 = type_parser_nodes__AExpr.color;
9180 idtype32 = type_parser_nodes__AExpr.id;
9181 if(cltype31 >= var_new_child->type->table_size) {
9182 var30 = 0;
9183 } else {
9184 var30 = var_new_child->type->type_table[cltype31] == idtype32;
9185 }
9186 if (!var30) {
9187 fprintf(stderr, "Runtime error: %s", "Assert failed");
9188 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7538);
9189 exit(1);
9190 }
9191 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_new_child; /* _n_value on <self:ACallAssignExpr> */
9192 } else {
9193 fprintf(stderr, "Runtime error: %s", "Aborted");
9194 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7541);
9195 exit(1);
9196 }
9197 goto RET_LABEL;
9198 } else {
9199 }
9200 RET_LABEL:;
9201 }
9202 /* method parser_prod#ACallAssignExpr#replace_child for (self: Object, ANode, nullable ANode) */
9203 void VIRTUAL_parser_prod__ACallAssignExpr__replace_child(val* self, val* p0, val* p1) {
9204 parser_prod__ACallAssignExpr__replace_child(self, p0, p1);
9205 RET_LABEL:;
9206 }
9207 /* method parser_prod#ACallAssignExpr#n_expr= for (self: ACallAssignExpr, AExpr) */
9208 void parser_prod__ACallAssignExpr__n_expr_61d(val* self, val* p0) {
9209 val* var_node /* var node: AExpr */;
9210 var_node = p0;
9211 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ACallAssignExpr> */
9212 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
9213 RET_LABEL:;
9214 }
9215 /* method parser_prod#ACallAssignExpr#n_expr= for (self: Object, AExpr) */
9216 void VIRTUAL_parser_prod__ACallAssignExpr__n_expr_61d(val* self, val* p0) {
9217 parser_prod__ACallAssignExpr__n_expr_61d(self, p0);
9218 RET_LABEL:;
9219 }
9220 /* method parser_prod#ACallAssignExpr#n_id= for (self: ACallAssignExpr, TId) */
9221 void parser_prod__ACallAssignExpr__n_id_61d(val* self, val* p0) {
9222 val* var_node /* var node: TId */;
9223 var_node = p0;
9224 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_node; /* _n_id on <self:ACallAssignExpr> */
9225 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TId>*/;
9226 RET_LABEL:;
9227 }
9228 /* method parser_prod#ACallAssignExpr#n_id= for (self: Object, TId) */
9229 void VIRTUAL_parser_prod__ACallAssignExpr__n_id_61d(val* self, val* p0) {
9230 parser_prod__ACallAssignExpr__n_id_61d(self, p0);
9231 RET_LABEL:;
9232 }
9233 /* method parser_prod#ACallAssignExpr#n_args= for (self: ACallAssignExpr, AExprs) */
9234 void parser_prod__ACallAssignExpr__n_args_61d(val* self, val* p0) {
9235 val* var_node /* var node: AExprs */;
9236 var_node = p0;
9237 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_node; /* _n_args on <self:ACallAssignExpr> */
9238 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
9239 RET_LABEL:;
9240 }
9241 /* method parser_prod#ACallAssignExpr#n_args= for (self: Object, AExprs) */
9242 void VIRTUAL_parser_prod__ACallAssignExpr__n_args_61d(val* self, val* p0) {
9243 parser_prod__ACallAssignExpr__n_args_61d(self, p0);
9244 RET_LABEL:;
9245 }
9246 /* method parser_prod#ACallAssignExpr#n_assign= for (self: ACallAssignExpr, TAssign) */
9247 void parser_prod__ACallAssignExpr__n_assign_61d(val* self, val* p0) {
9248 val* var_node /* var node: TAssign */;
9249 var_node = p0;
9250 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_node; /* _n_assign on <self:ACallAssignExpr> */
9251 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TAssign>*/;
9252 RET_LABEL:;
9253 }
9254 /* method parser_prod#ACallAssignExpr#n_assign= for (self: Object, TAssign) */
9255 void VIRTUAL_parser_prod__ACallAssignExpr__n_assign_61d(val* self, val* p0) {
9256 parser_prod__ACallAssignExpr__n_assign_61d(self, p0);
9257 RET_LABEL:;
9258 }
9259 /* method parser_prod#ACallAssignExpr#n_value= for (self: ACallAssignExpr, AExpr) */
9260 void parser_prod__ACallAssignExpr__n_value_61d(val* self, val* p0) {
9261 val* var_node /* var node: AExpr */;
9262 var_node = p0;
9263 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_node; /* _n_value on <self:ACallAssignExpr> */
9264 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
9265 RET_LABEL:;
9266 }
9267 /* method parser_prod#ACallAssignExpr#n_value= for (self: Object, AExpr) */
9268 void VIRTUAL_parser_prod__ACallAssignExpr__n_value_61d(val* self, val* p0) {
9269 parser_prod__ACallAssignExpr__n_value_61d(self, p0);
9270 RET_LABEL:;
9271 }
9272 /* method parser_prod#ACallAssignExpr#visit_all for (self: ACallAssignExpr, Visitor) */
9273 void parser_prod__ACallAssignExpr__visit_all(val* self, val* p0) {
9274 val* var_v /* var v: Visitor */;
9275 val* var /* : AExpr */;
9276 val* var1 /* : TId */;
9277 val* var2 /* : AExprs */;
9278 val* var3 /* : TAssign */;
9279 val* var4 /* : AExpr */;
9280 var_v = p0;
9281 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ACallAssignExpr> */
9282 if (var == NULL) {
9283 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
9284 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7576);
9285 exit(1);
9286 }
9287 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
9288 var1 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:ACallAssignExpr> */
9289 if (var1 == NULL) {
9290 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
9291 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7577);
9292 exit(1);
9293 }
9294 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
9295 var2 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallAssignExpr> */
9296 if (var2 == NULL) {
9297 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
9298 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7578);
9299 exit(1);
9300 }
9301 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
9302 var3 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:ACallAssignExpr> */
9303 if (var3 == NULL) {
9304 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign");
9305 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7579);
9306 exit(1);
9307 }
9308 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
9309 var4 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:ACallAssignExpr> */
9310 if (var4 == NULL) {
9311 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
9312 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7580);
9313 exit(1);
9314 }
9315 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
9316 RET_LABEL:;
9317 }
9318 /* method parser_prod#ACallAssignExpr#visit_all for (self: Object, Visitor) */
9319 void VIRTUAL_parser_prod__ACallAssignExpr__visit_all(val* self, val* p0) {
9320 parser_prod__ACallAssignExpr__visit_all(self, p0);
9321 RET_LABEL:;
9322 }
9323 /* method parser_prod#ACallReassignExpr#empty_init for (self: ACallReassignExpr) */
9324 void parser_prod__ACallReassignExpr__empty_init(val* self) {
9325 RET_LABEL:;
9326 }
9327 /* method parser_prod#ACallReassignExpr#empty_init for (self: Object) */
9328 void VIRTUAL_parser_prod__ACallReassignExpr__empty_init(val* self) {
9329 parser_prod__ACallReassignExpr__empty_init(self);
9330 RET_LABEL:;
9331 }
9332 /* method parser_prod#ACallReassignExpr#init_acallreassignexpr for (self: ACallReassignExpr, nullable AExpr, nullable TId, nullable AExprs, nullable AAssignOp, nullable AExpr) */
9333 void parser_prod__ACallReassignExpr__init_acallreassignexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
9334 val* var_n_expr /* var n_expr: nullable AExpr */;
9335 val* var_n_id /* var n_id: nullable TId */;
9336 val* var_n_args /* var n_args: nullable AExprs */;
9337 val* var_n_assign_op /* var n_assign_op: nullable AAssignOp */;
9338 val* var_n_value /* var n_value: nullable AExpr */;
9339 var_n_expr = p0;
9340 var_n_id = p1;
9341 var_n_args = p2;
9342 var_n_assign_op = p3;
9343 var_n_value = p4;
9344 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ACallReassignExpr__empty_init]))(self) /* empty_init on <self:ACallReassignExpr>*/;
9345 if (var_n_expr == NULL) {
9346 fprintf(stderr, "Runtime error: %s", "Cast failed");
9347 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7595);
9348 exit(1);
9349 }
9350 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ACallReassignExpr> */
9351 if (var_n_expr == NULL) {
9352 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9353 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7596);
9354 exit(1);
9355 } else {
9356 ((void (*)(val*, val*))(var_n_expr->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_expr, self) /* parent= on <var_n_expr:nullable AExpr>*/;
9357 }
9358 if (var_n_id == NULL) {
9359 fprintf(stderr, "Runtime error: %s", "Cast failed");
9360 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7597);
9361 exit(1);
9362 }
9363 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_n_id; /* _n_id on <self:ACallReassignExpr> */
9364 if (var_n_id == NULL) {
9365 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9366 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7598);
9367 exit(1);
9368 } else {
9369 ((void (*)(val*, val*))(var_n_id->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_id, self) /* parent= on <var_n_id:nullable TId>*/;
9370 }
9371 if (var_n_args == NULL) {
9372 fprintf(stderr, "Runtime error: %s", "Cast failed");
9373 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7599);
9374 exit(1);
9375 }
9376 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_n_args; /* _n_args on <self:ACallReassignExpr> */
9377 if (var_n_args == NULL) {
9378 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9379 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7600);
9380 exit(1);
9381 } else {
9382 ((void (*)(val*, val*))(var_n_args->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_args, self) /* parent= on <var_n_args:nullable AExprs>*/;
9383 }
9384 if (var_n_assign_op == NULL) {
9385 fprintf(stderr, "Runtime error: %s", "Cast failed");
9386 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7601);
9387 exit(1);
9388 }
9389 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_n_assign_op; /* _n_assign_op on <self:ACallReassignExpr> */
9390 if (var_n_assign_op == NULL) {
9391 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9392 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7602);
9393 exit(1);
9394 } else {
9395 ((void (*)(val*, val*))(var_n_assign_op->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_assign_op, self) /* parent= on <var_n_assign_op:nullable AAssignOp>*/;
9396 }
9397 if (var_n_value == NULL) {
9398 fprintf(stderr, "Runtime error: %s", "Cast failed");
9399 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7603);
9400 exit(1);
9401 }
9402 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_n_value; /* _n_value on <self:ACallReassignExpr> */
9403 if (var_n_value == NULL) {
9404 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9405 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7604);
9406 exit(1);
9407 } else {
9408 ((void (*)(val*, val*))(var_n_value->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_value, self) /* parent= on <var_n_value:nullable AExpr>*/;
9409 }
9410 RET_LABEL:;
9411 }
9412 /* method parser_prod#ACallReassignExpr#init_acallreassignexpr for (self: Object, nullable AExpr, nullable TId, nullable AExprs, nullable AAssignOp, nullable AExpr) */
9413 void VIRTUAL_parser_prod__ACallReassignExpr__init_acallreassignexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
9414 parser_prod__ACallReassignExpr__init_acallreassignexpr(self, p0, p1, p2, p3, p4);
9415 RET_LABEL:;
9416 }
9417 /* method parser_prod#ACallReassignExpr#replace_child for (self: ACallReassignExpr, ANode, nullable ANode) */
9418 void parser_prod__ACallReassignExpr__replace_child(val* self, val* p0, val* p1) {
9419 val* var_old_child /* var old_child: ANode */;
9420 val* var_new_child /* var new_child: nullable ANode */;
9421 val* var /* : AExpr */;
9422 short int var1 /* : Bool */;
9423 val* var2 /* : null */;
9424 short int var3 /* : Bool */;
9425 short int var4 /* : Bool */;
9426 int cltype;
9427 int idtype;
9428 val* var5 /* : TId */;
9429 short int var6 /* : Bool */;
9430 val* var7 /* : null */;
9431 short int var8 /* : Bool */;
9432 short int var9 /* : Bool */;
9433 int cltype10;
9434 int idtype11;
9435 val* var12 /* : AExprs */;
9436 short int var13 /* : Bool */;
9437 val* var14 /* : null */;
9438 short int var15 /* : Bool */;
9439 short int var16 /* : Bool */;
9440 int cltype17;
9441 int idtype18;
9442 val* var19 /* : AAssignOp */;
9443 short int var20 /* : Bool */;
9444 val* var21 /* : null */;
9445 short int var22 /* : Bool */;
9446 short int var23 /* : Bool */;
9447 int cltype24;
9448 int idtype25;
9449 val* var26 /* : AExpr */;
9450 short int var27 /* : Bool */;
9451 val* var28 /* : null */;
9452 short int var29 /* : Bool */;
9453 short int var30 /* : Bool */;
9454 int cltype31;
9455 int idtype32;
9456 var_old_child = p0;
9457 var_new_child = p1;
9458 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ACallReassignExpr> */
9459 if (var == NULL) {
9460 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
9461 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7609);
9462 exit(1);
9463 }
9464 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
9465 if (var1){
9466 var2 = NULL;
9467 if (var_new_child == NULL) {
9468 var3 = 0; /* is null */
9469 } else {
9470 var3 = 1; /* arg is null and recv is not */
9471 }
9472 if (var3){
9473 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9474 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
9475 cltype = type_parser_nodes__AExpr.color;
9476 idtype = type_parser_nodes__AExpr.id;
9477 if(cltype >= var_new_child->type->table_size) {
9478 var4 = 0;
9479 } else {
9480 var4 = var_new_child->type->type_table[cltype] == idtype;
9481 }
9482 if (!var4) {
9483 fprintf(stderr, "Runtime error: %s", "Assert failed");
9484 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7612);
9485 exit(1);
9486 }
9487 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ACallReassignExpr> */
9488 } else {
9489 fprintf(stderr, "Runtime error: %s", "Aborted");
9490 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7615);
9491 exit(1);
9492 }
9493 goto RET_LABEL;
9494 } else {
9495 }
9496 var5 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:ACallReassignExpr> */
9497 if (var5 == NULL) {
9498 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
9499 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7619);
9500 exit(1);
9501 }
9502 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TId>*/;
9503 if (var6){
9504 var7 = NULL;
9505 if (var_new_child == NULL) {
9506 var8 = 0; /* is null */
9507 } else {
9508 var8 = 1; /* arg is null and recv is not */
9509 }
9510 if (var8){
9511 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9512 /* <var_new_child:nullable ANode(ANode)> isa TId */
9513 cltype10 = type_parser_nodes__TId.color;
9514 idtype11 = type_parser_nodes__TId.id;
9515 if(cltype10 >= var_new_child->type->table_size) {
9516 var9 = 0;
9517 } else {
9518 var9 = var_new_child->type->type_table[cltype10] == idtype11;
9519 }
9520 if (!var9) {
9521 fprintf(stderr, "Runtime error: %s", "Assert failed");
9522 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7622);
9523 exit(1);
9524 }
9525 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_new_child; /* _n_id on <self:ACallReassignExpr> */
9526 } else {
9527 fprintf(stderr, "Runtime error: %s", "Aborted");
9528 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7625);
9529 exit(1);
9530 }
9531 goto RET_LABEL;
9532 } else {
9533 }
9534 var12 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallReassignExpr> */
9535 if (var12 == NULL) {
9536 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
9537 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7629);
9538 exit(1);
9539 }
9540 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AExprs>*/;
9541 if (var13){
9542 var14 = NULL;
9543 if (var_new_child == NULL) {
9544 var15 = 0; /* is null */
9545 } else {
9546 var15 = 1; /* arg is null and recv is not */
9547 }
9548 if (var15){
9549 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9550 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
9551 cltype17 = type_parser_nodes__AExprs.color;
9552 idtype18 = type_parser_nodes__AExprs.id;
9553 if(cltype17 >= var_new_child->type->table_size) {
9554 var16 = 0;
9555 } else {
9556 var16 = var_new_child->type->type_table[cltype17] == idtype18;
9557 }
9558 if (!var16) {
9559 fprintf(stderr, "Runtime error: %s", "Assert failed");
9560 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7632);
9561 exit(1);
9562 }
9563 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_new_child; /* _n_args on <self:ACallReassignExpr> */
9564 } else {
9565 fprintf(stderr, "Runtime error: %s", "Aborted");
9566 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7635);
9567 exit(1);
9568 }
9569 goto RET_LABEL;
9570 } else {
9571 }
9572 var19 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:ACallReassignExpr> */
9573 if (var19 == NULL) {
9574 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign_op");
9575 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7639);
9576 exit(1);
9577 }
9578 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:AAssignOp>*/;
9579 if (var20){
9580 var21 = NULL;
9581 if (var_new_child == NULL) {
9582 var22 = 0; /* is null */
9583 } else {
9584 var22 = 1; /* arg is null and recv is not */
9585 }
9586 if (var22){
9587 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9588 /* <var_new_child:nullable ANode(ANode)> isa AAssignOp */
9589 cltype24 = type_parser_nodes__AAssignOp.color;
9590 idtype25 = type_parser_nodes__AAssignOp.id;
9591 if(cltype24 >= var_new_child->type->table_size) {
9592 var23 = 0;
9593 } else {
9594 var23 = var_new_child->type->type_table[cltype24] == idtype25;
9595 }
9596 if (!var23) {
9597 fprintf(stderr, "Runtime error: %s", "Assert failed");
9598 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7642);
9599 exit(1);
9600 }
9601 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_new_child; /* _n_assign_op on <self:ACallReassignExpr> */
9602 } else {
9603 fprintf(stderr, "Runtime error: %s", "Aborted");
9604 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7645);
9605 exit(1);
9606 }
9607 goto RET_LABEL;
9608 } else {
9609 }
9610 var26 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:ACallReassignExpr> */
9611 if (var26 == NULL) {
9612 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
9613 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7649);
9614 exit(1);
9615 }
9616 var27 = ((short int (*)(val*, val*))(var26->class->vft[COLOR_kernel__Object___61d_61d]))(var26, var_old_child) /* == on <var26:AExpr>*/;
9617 if (var27){
9618 var28 = NULL;
9619 if (var_new_child == NULL) {
9620 var29 = 0; /* is null */
9621 } else {
9622 var29 = 1; /* arg is null and recv is not */
9623 }
9624 if (var29){
9625 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9626 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
9627 cltype31 = type_parser_nodes__AExpr.color;
9628 idtype32 = type_parser_nodes__AExpr.id;
9629 if(cltype31 >= var_new_child->type->table_size) {
9630 var30 = 0;
9631 } else {
9632 var30 = var_new_child->type->type_table[cltype31] == idtype32;
9633 }
9634 if (!var30) {
9635 fprintf(stderr, "Runtime error: %s", "Assert failed");
9636 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7652);
9637 exit(1);
9638 }
9639 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_new_child; /* _n_value on <self:ACallReassignExpr> */
9640 } else {
9641 fprintf(stderr, "Runtime error: %s", "Aborted");
9642 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7655);
9643 exit(1);
9644 }
9645 goto RET_LABEL;
9646 } else {
9647 }
9648 RET_LABEL:;
9649 }
9650 /* method parser_prod#ACallReassignExpr#replace_child for (self: Object, ANode, nullable ANode) */
9651 void VIRTUAL_parser_prod__ACallReassignExpr__replace_child(val* self, val* p0, val* p1) {
9652 parser_prod__ACallReassignExpr__replace_child(self, p0, p1);
9653 RET_LABEL:;
9654 }
9655 /* method parser_prod#ACallReassignExpr#n_expr= for (self: ACallReassignExpr, AExpr) */
9656 void parser_prod__ACallReassignExpr__n_expr_61d(val* self, val* p0) {
9657 val* var_node /* var node: AExpr */;
9658 var_node = p0;
9659 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ACallReassignExpr> */
9660 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
9661 RET_LABEL:;
9662 }
9663 /* method parser_prod#ACallReassignExpr#n_expr= for (self: Object, AExpr) */
9664 void VIRTUAL_parser_prod__ACallReassignExpr__n_expr_61d(val* self, val* p0) {
9665 parser_prod__ACallReassignExpr__n_expr_61d(self, p0);
9666 RET_LABEL:;
9667 }
9668 /* method parser_prod#ACallReassignExpr#n_id= for (self: ACallReassignExpr, TId) */
9669 void parser_prod__ACallReassignExpr__n_id_61d(val* self, val* p0) {
9670 val* var_node /* var node: TId */;
9671 var_node = p0;
9672 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_node; /* _n_id on <self:ACallReassignExpr> */
9673 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TId>*/;
9674 RET_LABEL:;
9675 }
9676 /* method parser_prod#ACallReassignExpr#n_id= for (self: Object, TId) */
9677 void VIRTUAL_parser_prod__ACallReassignExpr__n_id_61d(val* self, val* p0) {
9678 parser_prod__ACallReassignExpr__n_id_61d(self, p0);
9679 RET_LABEL:;
9680 }
9681 /* method parser_prod#ACallReassignExpr#n_args= for (self: ACallReassignExpr, AExprs) */
9682 void parser_prod__ACallReassignExpr__n_args_61d(val* self, val* p0) {
9683 val* var_node /* var node: AExprs */;
9684 var_node = p0;
9685 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_node; /* _n_args on <self:ACallReassignExpr> */
9686 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
9687 RET_LABEL:;
9688 }
9689 /* method parser_prod#ACallReassignExpr#n_args= for (self: Object, AExprs) */
9690 void VIRTUAL_parser_prod__ACallReassignExpr__n_args_61d(val* self, val* p0) {
9691 parser_prod__ACallReassignExpr__n_args_61d(self, p0);
9692 RET_LABEL:;
9693 }
9694 /* method parser_prod#ACallReassignExpr#n_assign_op= for (self: ACallReassignExpr, AAssignOp) */
9695 void parser_prod__ACallReassignExpr__n_assign_op_61d(val* self, val* p0) {
9696 val* var_node /* var node: AAssignOp */;
9697 var_node = p0;
9698 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_node; /* _n_assign_op on <self:ACallReassignExpr> */
9699 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AAssignOp>*/;
9700 RET_LABEL:;
9701 }
9702 /* method parser_prod#ACallReassignExpr#n_assign_op= for (self: Object, AAssignOp) */
9703 void VIRTUAL_parser_prod__ACallReassignExpr__n_assign_op_61d(val* self, val* p0) {
9704 parser_prod__ACallReassignExpr__n_assign_op_61d(self, p0);
9705 RET_LABEL:;
9706 }
9707 /* method parser_prod#ACallReassignExpr#n_value= for (self: ACallReassignExpr, AExpr) */
9708 void parser_prod__ACallReassignExpr__n_value_61d(val* self, val* p0) {
9709 val* var_node /* var node: AExpr */;
9710 var_node = p0;
9711 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_node; /* _n_value on <self:ACallReassignExpr> */
9712 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
9713 RET_LABEL:;
9714 }
9715 /* method parser_prod#ACallReassignExpr#n_value= for (self: Object, AExpr) */
9716 void VIRTUAL_parser_prod__ACallReassignExpr__n_value_61d(val* self, val* p0) {
9717 parser_prod__ACallReassignExpr__n_value_61d(self, p0);
9718 RET_LABEL:;
9719 }
9720 /* method parser_prod#ACallReassignExpr#visit_all for (self: ACallReassignExpr, Visitor) */
9721 void parser_prod__ACallReassignExpr__visit_all(val* self, val* p0) {
9722 val* var_v /* var v: Visitor */;
9723 val* var /* : AExpr */;
9724 val* var1 /* : TId */;
9725 val* var2 /* : AExprs */;
9726 val* var3 /* : AAssignOp */;
9727 val* var4 /* : AExpr */;
9728 var_v = p0;
9729 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ACallReassignExpr> */
9730 if (var == NULL) {
9731 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
9732 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7690);
9733 exit(1);
9734 }
9735 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
9736 var1 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:ACallReassignExpr> */
9737 if (var1 == NULL) {
9738 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
9739 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7691);
9740 exit(1);
9741 }
9742 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
9743 var2 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallReassignExpr> */
9744 if (var2 == NULL) {
9745 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
9746 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7692);
9747 exit(1);
9748 }
9749 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
9750 var3 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:ACallReassignExpr> */
9751 if (var3 == NULL) {
9752 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign_op");
9753 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7693);
9754 exit(1);
9755 }
9756 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
9757 var4 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:ACallReassignExpr> */
9758 if (var4 == NULL) {
9759 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
9760 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7694);
9761 exit(1);
9762 }
9763 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
9764 RET_LABEL:;
9765 }
9766 /* method parser_prod#ACallReassignExpr#visit_all for (self: Object, Visitor) */
9767 void VIRTUAL_parser_prod__ACallReassignExpr__visit_all(val* self, val* p0) {
9768 parser_prod__ACallReassignExpr__visit_all(self, p0);
9769 RET_LABEL:;
9770 }
9771 /* method parser_prod#ASuperExpr#empty_init for (self: ASuperExpr) */
9772 void parser_prod__ASuperExpr__empty_init(val* self) {
9773 RET_LABEL:;
9774 }
9775 /* method parser_prod#ASuperExpr#empty_init for (self: Object) */
9776 void VIRTUAL_parser_prod__ASuperExpr__empty_init(val* self) {
9777 parser_prod__ASuperExpr__empty_init(self);
9778 RET_LABEL:;
9779 }
9780 /* method parser_prod#ASuperExpr#init_asuperexpr for (self: ASuperExpr, nullable AQualified, nullable TKwsuper, nullable AExprs) */
9781 void parser_prod__ASuperExpr__init_asuperexpr(val* self, val* p0, val* p1, val* p2) {
9782 val* var_n_qualified /* var n_qualified: nullable AQualified */;
9783 val* var_n_kwsuper /* var n_kwsuper: nullable TKwsuper */;
9784 val* var_n_args /* var n_args: nullable AExprs */;
9785 val* var /* : null */;
9786 short int var1 /* : Bool */;
9787 var_n_qualified = p0;
9788 var_n_kwsuper = p1;
9789 var_n_args = p2;
9790 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ASuperExpr__empty_init]))(self) /* empty_init on <self:ASuperExpr>*/;
9791 self->attrs[COLOR_parser_nodes__ASuperExpr___n_qualified].val = var_n_qualified; /* _n_qualified on <self:ASuperExpr> */
9792 var = NULL;
9793 if (var_n_qualified == NULL) {
9794 var1 = 0; /* is null */
9795 } else {
9796 var1 = 1; /* arg is null and recv is not */
9797 }
9798 if (var1){
9799 ((void (*)(val*, val*))(var_n_qualified->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_qualified, self) /* parent= on <var_n_qualified:nullable AQualified(AQualified)>*/;
9800 } else {
9801 }
9802 if (var_n_kwsuper == NULL) {
9803 fprintf(stderr, "Runtime error: %s", "Cast failed");
9804 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7711);
9805 exit(1);
9806 }
9807 self->attrs[COLOR_parser_nodes__ASuperExpr___n_kwsuper].val = var_n_kwsuper; /* _n_kwsuper on <self:ASuperExpr> */
9808 if (var_n_kwsuper == NULL) {
9809 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9810 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7712);
9811 exit(1);
9812 } else {
9813 ((void (*)(val*, val*))(var_n_kwsuper->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_kwsuper, self) /* parent= on <var_n_kwsuper:nullable TKwsuper>*/;
9814 }
9815 if (var_n_args == NULL) {
9816 fprintf(stderr, "Runtime error: %s", "Cast failed");
9817 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7713);
9818 exit(1);
9819 }
9820 self->attrs[COLOR_parser_nodes__ASuperExpr___n_args].val = var_n_args; /* _n_args on <self:ASuperExpr> */
9821 if (var_n_args == NULL) {
9822 fprintf(stderr, "Runtime error: %s", "Reciever is null");
9823 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7714);
9824 exit(1);
9825 } else {
9826 ((void (*)(val*, val*))(var_n_args->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n_args, self) /* parent= on <var_n_args:nullable AExprs>*/;
9827 }
9828 RET_LABEL:;
9829 }
9830 /* method parser_prod#ASuperExpr#init_asuperexpr for (self: Object, nullable AQualified, nullable TKwsuper, nullable AExprs) */
9831 void VIRTUAL_parser_prod__ASuperExpr__init_asuperexpr(val* self, val* p0, val* p1, val* p2) {
9832 parser_prod__ASuperExpr__init_asuperexpr(self, p0, p1, p2);
9833 RET_LABEL:;
9834 }
9835 /* method parser_prod#ASuperExpr#replace_child for (self: ASuperExpr, ANode, nullable ANode) */
9836 void parser_prod__ASuperExpr__replace_child(val* self, val* p0, val* p1) {
9837 val* var_old_child /* var old_child: ANode */;
9838 val* var_new_child /* var new_child: nullable ANode */;
9839 val* var /* : nullable AQualified */;
9840 short int var1 /* : Bool */;
9841 val* var2 /* : null */;
9842 short int var3 /* : Bool */;
9843 short int var4 /* : Bool */;
9844 int cltype;
9845 int idtype;
9846 val* var5 /* : null */;
9847 val* var6 /* : TKwsuper */;
9848 short int var7 /* : Bool */;
9849 val* var8 /* : null */;
9850 short int var9 /* : Bool */;
9851 short int var10 /* : Bool */;
9852 int cltype11;
9853 int idtype12;
9854 val* var13 /* : AExprs */;
9855 short int var14 /* : Bool */;
9856 val* var15 /* : null */;
9857 short int var16 /* : Bool */;
9858 short int var17 /* : Bool */;
9859 int cltype18;
9860 int idtype19;
9861 var_old_child = p0;
9862 var_new_child = p1;
9863 var = self->attrs[COLOR_parser_nodes__ASuperExpr___n_qualified].val; /* _n_qualified on <self:ASuperExpr> */
9864 if (var == NULL) {
9865 var1 = 0; /* <var_old_child:ANode> cannot be null */
9866 } else {
9867 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable AQualified>*/;
9868 }
9869 if (var1){
9870 var2 = NULL;
9871 if (var_new_child == NULL) {
9872 var3 = 0; /* is null */
9873 } else {
9874 var3 = 1; /* arg is null and recv is not */
9875 }
9876 if (var3){
9877 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9878 /* <var_new_child:nullable ANode(ANode)> isa AQualified */
9879 cltype = type_parser_nodes__AQualified.color;
9880 idtype = type_parser_nodes__AQualified.id;
9881 if(cltype >= var_new_child->type->table_size) {
9882 var4 = 0;
9883 } else {
9884 var4 = var_new_child->type->type_table[cltype] == idtype;
9885 }
9886 if (!var4) {
9887 fprintf(stderr, "Runtime error: %s", "Assert failed");
9888 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7722);
9889 exit(1);
9890 }
9891 self->attrs[COLOR_parser_nodes__ASuperExpr___n_qualified].val = var_new_child; /* _n_qualified on <self:ASuperExpr> */
9892 } else {
9893 var5 = NULL;
9894 self->attrs[COLOR_parser_nodes__ASuperExpr___n_qualified].val = var5; /* _n_qualified on <self:ASuperExpr> */
9895 }
9896 goto RET_LABEL;
9897 } else {
9898 }
9899 var6 = self->attrs[COLOR_parser_nodes__ASuperExpr___n_kwsuper].val; /* _n_kwsuper on <self:ASuperExpr> */
9900 if (var6 == NULL) {
9901 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwsuper");
9902 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7729);
9903 exit(1);
9904 }
9905 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:TKwsuper>*/;
9906 if (var7){
9907 var8 = NULL;
9908 if (var_new_child == NULL) {
9909 var9 = 0; /* is null */
9910 } else {
9911 var9 = 1; /* arg is null and recv is not */
9912 }
9913 if (var9){
9914 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9915 /* <var_new_child:nullable ANode(ANode)> isa TKwsuper */
9916 cltype11 = type_parser_nodes__TKwsuper.color;
9917 idtype12 = type_parser_nodes__TKwsuper.id;
9918 if(cltype11 >= var_new_child->type->table_size) {
9919 var10 = 0;
9920 } else {
9921 var10 = var_new_child->type->type_table[cltype11] == idtype12;
9922 }
9923 if (!var10) {
9924 fprintf(stderr, "Runtime error: %s", "Assert failed");
9925 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7732);
9926 exit(1);
9927 }
9928 self->attrs[COLOR_parser_nodes__ASuperExpr___n_kwsuper].val = var_new_child; /* _n_kwsuper on <self:ASuperExpr> */
9929 } else {
9930 fprintf(stderr, "Runtime error: %s", "Aborted");
9931 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7735);
9932 exit(1);
9933 }
9934 goto RET_LABEL;
9935 } else {
9936 }
9937 var13 = self->attrs[COLOR_parser_nodes__ASuperExpr___n_args].val; /* _n_args on <self:ASuperExpr> */
9938 if (var13 == NULL) {
9939 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
9940 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7739);
9941 exit(1);
9942 }
9943 var14 = ((short int (*)(val*, val*))(var13->class->vft[COLOR_kernel__Object___61d_61d]))(var13, var_old_child) /* == on <var13:AExprs>*/;
9944 if (var14){
9945 var15 = NULL;
9946 if (var_new_child == NULL) {
9947 var16 = 0; /* is null */
9948 } else {
9949 var16 = 1; /* arg is null and recv is not */
9950 }
9951 if (var16){
9952 ((void (*)(val*, val*))(var_new_child->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_new_child, self) /* parent= on <var_new_child:nullable ANode(ANode)>*/;
9953 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
9954 cltype18 = type_parser_nodes__AExprs.color;
9955 idtype19 = type_parser_nodes__AExprs.id;
9956 if(cltype18 >= var_new_child->type->table_size) {
9957 var17 = 0;
9958 } else {
9959 var17 = var_new_child->type->type_table[cltype18] == idtype19;
9960 }
9961 if (!var17) {
9962 fprintf(stderr, "Runtime error: %s", "Assert failed");
9963 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7742);
9964 exit(1);
9965 }
9966 self->attrs[COLOR_parser_nodes__ASuperExpr___n_args].val = var_new_child; /* _n_args on <self:ASuperExpr> */
9967 } else {
9968 fprintf(stderr, "Runtime error: %s", "Aborted");
9969 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7745);
9970 exit(1);
9971 }
9972 goto RET_LABEL;
9973 } else {
9974 }
9975 RET_LABEL:;
9976 }
9977 /* method parser_prod#ASuperExpr#replace_child for (self: Object, ANode, nullable ANode) */
9978 void VIRTUAL_parser_prod__ASuperExpr__replace_child(val* self, val* p0, val* p1) {
9979 parser_prod__ASuperExpr__replace_child(self, p0, p1);
9980 RET_LABEL:;
9981 }
9982 /* method parser_prod#ASuperExpr#n_qualified= for (self: ASuperExpr, nullable AQualified) */
9983 void parser_prod__ASuperExpr__n_qualified_61d(val* self, val* p0) {
9984 val* var_node /* var node: nullable AQualified */;
9985 val* var /* : null */;
9986 short int var1 /* : Bool */;
9987 var_node = p0;
9988 self->attrs[COLOR_parser_nodes__ASuperExpr___n_qualified].val = var_node; /* _n_qualified on <self:ASuperExpr> */
9989 var = NULL;
9990 if (var_node == NULL) {
9991 var1 = 0; /* is null */
9992 } else {
9993 var1 = 1; /* arg is null and recv is not */
9994 }
9995 if (var1){
9996 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AQualified(AQualified)>*/;
9997 } else {
9998 }
9999 RET_LABEL:;
10000 }