examples: intro a README file to emscripten examples
[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: Object) */
3 void VIRTUAL_parser_prod__AIfexprExpr__empty_init(val* self) {
4 parser_prod__AIfexprExpr__empty_init(self);
5 RET_LABEL:;
6 }
7 /* method parser_prod#AIfexprExpr#init_aifexprexpr for (self: AIfexprExpr, nullable TKwif, nullable AExpr, nullable TKwthen, nullable AExpr, nullable TKwelse, nullable AExpr) */
8 void parser_prod__AIfexprExpr__init_aifexprexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
9 val* var_n_kwif /* var n_kwif: nullable TKwif */;
10 val* var_n_expr /* var n_expr: nullable AExpr */;
11 val* var_n_kwthen /* var n_kwthen: nullable TKwthen */;
12 val* var_n_then /* var n_then: nullable AExpr */;
13 val* var_n_kwelse /* var n_kwelse: nullable TKwelse */;
14 val* var_n_else /* var n_else: nullable AExpr */;
15 var_n_kwif = p0;
16 var_n_expr = p1;
17 var_n_kwthen = p2;
18 var_n_then = p3;
19 var_n_kwelse = p4;
20 var_n_else = p5;
21 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AIfexprExpr__empty_init]))(self) /* empty_init on <self:AIfexprExpr>*/;
22 if (var_n_kwif == NULL) {
23 fprintf(stderr, "Runtime error: %s", "Cast failed");
24 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5108);
25 show_backtrace(1);
26 }
27 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwif].val = var_n_kwif; /* _n_kwif on <self:AIfexprExpr> */
28 if (var_n_kwif == NULL) {
29 fprintf(stderr, "Runtime error: %s", "Receiver is null");
30 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5109);
31 show_backtrace(1);
32 } else {
33 ((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>*/;
34 }
35 if (var_n_expr == NULL) {
36 fprintf(stderr, "Runtime error: %s", "Cast failed");
37 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5110);
38 show_backtrace(1);
39 }
40 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AIfexprExpr> */
41 if (var_n_expr == NULL) {
42 fprintf(stderr, "Runtime error: %s", "Receiver is null");
43 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5111);
44 show_backtrace(1);
45 } else {
46 ((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>*/;
47 }
48 if (var_n_kwthen == NULL) {
49 fprintf(stderr, "Runtime error: %s", "Cast failed");
50 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5112);
51 show_backtrace(1);
52 }
53 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwthen].val = var_n_kwthen; /* _n_kwthen on <self:AIfexprExpr> */
54 if (var_n_kwthen == NULL) {
55 fprintf(stderr, "Runtime error: %s", "Receiver is null");
56 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5113);
57 show_backtrace(1);
58 } else {
59 ((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>*/;
60 }
61 if (var_n_then == NULL) {
62 fprintf(stderr, "Runtime error: %s", "Cast failed");
63 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5114);
64 show_backtrace(1);
65 }
66 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_then].val = var_n_then; /* _n_then on <self:AIfexprExpr> */
67 if (var_n_then == NULL) {
68 fprintf(stderr, "Runtime error: %s", "Receiver is null");
69 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5115);
70 show_backtrace(1);
71 } else {
72 ((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>*/;
73 }
74 if (var_n_kwelse == NULL) {
75 fprintf(stderr, "Runtime error: %s", "Cast failed");
76 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5116);
77 show_backtrace(1);
78 }
79 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwelse].val = var_n_kwelse; /* _n_kwelse on <self:AIfexprExpr> */
80 if (var_n_kwelse == NULL) {
81 fprintf(stderr, "Runtime error: %s", "Receiver is null");
82 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5117);
83 show_backtrace(1);
84 } else {
85 ((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>*/;
86 }
87 if (var_n_else == NULL) {
88 fprintf(stderr, "Runtime error: %s", "Cast failed");
89 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5118);
90 show_backtrace(1);
91 }
92 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_else].val = var_n_else; /* _n_else on <self:AIfexprExpr> */
93 if (var_n_else == NULL) {
94 fprintf(stderr, "Runtime error: %s", "Receiver is null");
95 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5119);
96 show_backtrace(1);
97 } else {
98 ((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>*/;
99 }
100 RET_LABEL:;
101 }
102 /* method parser_prod#AIfexprExpr#init_aifexprexpr for (self: Object, nullable TKwif, nullable AExpr, nullable TKwthen, nullable AExpr, nullable TKwelse, nullable AExpr) */
103 void VIRTUAL_parser_prod__AIfexprExpr__init_aifexprexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
104 parser_prod__AIfexprExpr__init_aifexprexpr(self, p0, p1, p2, p3, p4, p5);
105 RET_LABEL:;
106 }
107 /* method parser_prod#AIfexprExpr#replace_child for (self: AIfexprExpr, ANode, nullable ANode) */
108 void parser_prod__AIfexprExpr__replace_child(val* self, val* p0, val* p1) {
109 val* var_old_child /* var old_child: ANode */;
110 val* var_new_child /* var new_child: nullable ANode */;
111 val* var /* : TKwif */;
112 short int var1 /* : Bool */;
113 val* var2 /* : null */;
114 short int var3 /* : Bool */;
115 short int var4 /* : Bool */;
116 int cltype;
117 int idtype;
118 val* var5 /* : AExpr */;
119 short int var6 /* : Bool */;
120 val* var7 /* : null */;
121 short int var8 /* : Bool */;
122 short int var9 /* : Bool */;
123 int cltype10;
124 int idtype11;
125 val* var12 /* : TKwthen */;
126 short int var13 /* : Bool */;
127 val* var14 /* : null */;
128 short int var15 /* : Bool */;
129 short int var16 /* : Bool */;
130 int cltype17;
131 int idtype18;
132 val* var19 /* : AExpr */;
133 short int var20 /* : Bool */;
134 val* var21 /* : null */;
135 short int var22 /* : Bool */;
136 short int var23 /* : Bool */;
137 int cltype24;
138 int idtype25;
139 val* var26 /* : TKwelse */;
140 short int var27 /* : Bool */;
141 val* var28 /* : null */;
142 short int var29 /* : Bool */;
143 short int var30 /* : Bool */;
144 int cltype31;
145 int idtype32;
146 val* var33 /* : AExpr */;
147 short int var34 /* : Bool */;
148 val* var35 /* : null */;
149 short int var36 /* : Bool */;
150 short int var37 /* : Bool */;
151 int cltype38;
152 int idtype39;
153 var_old_child = p0;
154 var_new_child = p1;
155 var = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwif].val; /* _n_kwif on <self:AIfexprExpr> */
156 if (var == NULL) {
157 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwif");
158 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5124);
159 show_backtrace(1);
160 }
161 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwif>*/;
162 if (var1){
163 var2 = NULL;
164 if (var_new_child == NULL) {
165 var3 = 0; /* is null */
166 } else {
167 var3 = 1; /* arg is null and recv is not */
168 }
169 if (var3){
170 ((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)>*/;
171 /* <var_new_child:nullable ANode(ANode)> isa TKwif */
172 cltype = type_parser_nodes__TKwif.color;
173 idtype = type_parser_nodes__TKwif.id;
174 if(cltype >= var_new_child->type->table_size) {
175 var4 = 0;
176 } else {
177 var4 = var_new_child->type->type_table[cltype] == idtype;
178 }
179 if (!var4) {
180 fprintf(stderr, "Runtime error: %s", "Assert failed");
181 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5127);
182 show_backtrace(1);
183 }
184 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwif].val = var_new_child; /* _n_kwif on <self:AIfexprExpr> */
185 } else {
186 fprintf(stderr, "Runtime error: %s", "Aborted");
187 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5130);
188 show_backtrace(1);
189 }
190 goto RET_LABEL;
191 } else {
192 }
193 var5 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_expr].val; /* _n_expr on <self:AIfexprExpr> */
194 if (var5 == NULL) {
195 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
196 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5134);
197 show_backtrace(1);
198 }
199 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
200 if (var6){
201 var7 = NULL;
202 if (var_new_child == NULL) {
203 var8 = 0; /* is null */
204 } else {
205 var8 = 1; /* arg is null and recv is not */
206 }
207 if (var8){
208 ((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)>*/;
209 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
210 cltype10 = type_parser_nodes__AExpr.color;
211 idtype11 = type_parser_nodes__AExpr.id;
212 if(cltype10 >= var_new_child->type->table_size) {
213 var9 = 0;
214 } else {
215 var9 = var_new_child->type->type_table[cltype10] == idtype11;
216 }
217 if (!var9) {
218 fprintf(stderr, "Runtime error: %s", "Assert failed");
219 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5137);
220 show_backtrace(1);
221 }
222 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_expr].val = var_new_child; /* _n_expr on <self:AIfexprExpr> */
223 } else {
224 fprintf(stderr, "Runtime error: %s", "Aborted");
225 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5140);
226 show_backtrace(1);
227 }
228 goto RET_LABEL;
229 } else {
230 }
231 var12 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwthen].val; /* _n_kwthen on <self:AIfexprExpr> */
232 if (var12 == NULL) {
233 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwthen");
234 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5144);
235 show_backtrace(1);
236 }
237 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:TKwthen>*/;
238 if (var13){
239 var14 = NULL;
240 if (var_new_child == NULL) {
241 var15 = 0; /* is null */
242 } else {
243 var15 = 1; /* arg is null and recv is not */
244 }
245 if (var15){
246 ((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)>*/;
247 /* <var_new_child:nullable ANode(ANode)> isa TKwthen */
248 cltype17 = type_parser_nodes__TKwthen.color;
249 idtype18 = type_parser_nodes__TKwthen.id;
250 if(cltype17 >= var_new_child->type->table_size) {
251 var16 = 0;
252 } else {
253 var16 = var_new_child->type->type_table[cltype17] == idtype18;
254 }
255 if (!var16) {
256 fprintf(stderr, "Runtime error: %s", "Assert failed");
257 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5147);
258 show_backtrace(1);
259 }
260 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwthen].val = var_new_child; /* _n_kwthen on <self:AIfexprExpr> */
261 } else {
262 fprintf(stderr, "Runtime error: %s", "Aborted");
263 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5150);
264 show_backtrace(1);
265 }
266 goto RET_LABEL;
267 } else {
268 }
269 var19 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_then].val; /* _n_then on <self:AIfexprExpr> */
270 if (var19 == NULL) {
271 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_then");
272 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5154);
273 show_backtrace(1);
274 }
275 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:AExpr>*/;
276 if (var20){
277 var21 = NULL;
278 if (var_new_child == NULL) {
279 var22 = 0; /* is null */
280 } else {
281 var22 = 1; /* arg is null and recv is not */
282 }
283 if (var22){
284 ((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)>*/;
285 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
286 cltype24 = type_parser_nodes__AExpr.color;
287 idtype25 = type_parser_nodes__AExpr.id;
288 if(cltype24 >= var_new_child->type->table_size) {
289 var23 = 0;
290 } else {
291 var23 = var_new_child->type->type_table[cltype24] == idtype25;
292 }
293 if (!var23) {
294 fprintf(stderr, "Runtime error: %s", "Assert failed");
295 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5157);
296 show_backtrace(1);
297 }
298 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_then].val = var_new_child; /* _n_then on <self:AIfexprExpr> */
299 } else {
300 fprintf(stderr, "Runtime error: %s", "Aborted");
301 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5160);
302 show_backtrace(1);
303 }
304 goto RET_LABEL;
305 } else {
306 }
307 var26 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwelse].val; /* _n_kwelse on <self:AIfexprExpr> */
308 if (var26 == NULL) {
309 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwelse");
310 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5164);
311 show_backtrace(1);
312 }
313 var27 = ((short int (*)(val*, val*))(var26->class->vft[COLOR_kernel__Object___61d_61d]))(var26, var_old_child) /* == on <var26:TKwelse>*/;
314 if (var27){
315 var28 = NULL;
316 if (var_new_child == NULL) {
317 var29 = 0; /* is null */
318 } else {
319 var29 = 1; /* arg is null and recv is not */
320 }
321 if (var29){
322 ((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)>*/;
323 /* <var_new_child:nullable ANode(ANode)> isa TKwelse */
324 cltype31 = type_parser_nodes__TKwelse.color;
325 idtype32 = type_parser_nodes__TKwelse.id;
326 if(cltype31 >= var_new_child->type->table_size) {
327 var30 = 0;
328 } else {
329 var30 = var_new_child->type->type_table[cltype31] == idtype32;
330 }
331 if (!var30) {
332 fprintf(stderr, "Runtime error: %s", "Assert failed");
333 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5167);
334 show_backtrace(1);
335 }
336 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwelse].val = var_new_child; /* _n_kwelse on <self:AIfexprExpr> */
337 } else {
338 fprintf(stderr, "Runtime error: %s", "Aborted");
339 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5170);
340 show_backtrace(1);
341 }
342 goto RET_LABEL;
343 } else {
344 }
345 var33 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_else].val; /* _n_else on <self:AIfexprExpr> */
346 if (var33 == NULL) {
347 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_else");
348 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5174);
349 show_backtrace(1);
350 }
351 var34 = ((short int (*)(val*, val*))(var33->class->vft[COLOR_kernel__Object___61d_61d]))(var33, var_old_child) /* == on <var33:AExpr>*/;
352 if (var34){
353 var35 = NULL;
354 if (var_new_child == NULL) {
355 var36 = 0; /* is null */
356 } else {
357 var36 = 1; /* arg is null and recv is not */
358 }
359 if (var36){
360 ((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)>*/;
361 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
362 cltype38 = type_parser_nodes__AExpr.color;
363 idtype39 = type_parser_nodes__AExpr.id;
364 if(cltype38 >= var_new_child->type->table_size) {
365 var37 = 0;
366 } else {
367 var37 = var_new_child->type->type_table[cltype38] == idtype39;
368 }
369 if (!var37) {
370 fprintf(stderr, "Runtime error: %s", "Assert failed");
371 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5177);
372 show_backtrace(1);
373 }
374 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_else].val = var_new_child; /* _n_else on <self:AIfexprExpr> */
375 } else {
376 fprintf(stderr, "Runtime error: %s", "Aborted");
377 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5180);
378 show_backtrace(1);
379 }
380 goto RET_LABEL;
381 } else {
382 }
383 RET_LABEL:;
384 }
385 /* method parser_prod#AIfexprExpr#replace_child for (self: Object, ANode, nullable ANode) */
386 void VIRTUAL_parser_prod__AIfexprExpr__replace_child(val* self, val* p0, val* p1) {
387 parser_prod__AIfexprExpr__replace_child(self, p0, p1);
388 RET_LABEL:;
389 }
390 /* method parser_prod#AIfexprExpr#n_kwif= for (self: AIfexprExpr, TKwif) */
391 void parser_prod__AIfexprExpr__n_kwif_61d(val* self, val* p0) {
392 val* var_node /* var node: TKwif */;
393 var_node = p0;
394 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwif].val = var_node; /* _n_kwif on <self:AIfexprExpr> */
395 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwif>*/;
396 RET_LABEL:;
397 }
398 /* method parser_prod#AIfexprExpr#n_kwif= for (self: Object, TKwif) */
399 void VIRTUAL_parser_prod__AIfexprExpr__n_kwif_61d(val* self, val* p0) {
400 parser_prod__AIfexprExpr__n_kwif_61d(self, p0);
401 RET_LABEL:;
402 }
403 /* method parser_prod#AIfexprExpr#n_expr= for (self: AIfexprExpr, AExpr) */
404 void parser_prod__AIfexprExpr__n_expr_61d(val* self, val* p0) {
405 val* var_node /* var node: AExpr */;
406 var_node = p0;
407 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_expr].val = var_node; /* _n_expr on <self:AIfexprExpr> */
408 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
409 RET_LABEL:;
410 }
411 /* method parser_prod#AIfexprExpr#n_expr= for (self: Object, AExpr) */
412 void VIRTUAL_parser_prod__AIfexprExpr__n_expr_61d(val* self, val* p0) {
413 parser_prod__AIfexprExpr__n_expr_61d(self, p0);
414 RET_LABEL:;
415 }
416 /* method parser_prod#AIfexprExpr#n_kwthen= for (self: AIfexprExpr, TKwthen) */
417 void parser_prod__AIfexprExpr__n_kwthen_61d(val* self, val* p0) {
418 val* var_node /* var node: TKwthen */;
419 var_node = p0;
420 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwthen].val = var_node; /* _n_kwthen on <self:AIfexprExpr> */
421 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwthen>*/;
422 RET_LABEL:;
423 }
424 /* method parser_prod#AIfexprExpr#n_kwthen= for (self: Object, TKwthen) */
425 void VIRTUAL_parser_prod__AIfexprExpr__n_kwthen_61d(val* self, val* p0) {
426 parser_prod__AIfexprExpr__n_kwthen_61d(self, p0);
427 RET_LABEL:;
428 }
429 /* method parser_prod#AIfexprExpr#n_then= for (self: AIfexprExpr, AExpr) */
430 void parser_prod__AIfexprExpr__n_then_61d(val* self, val* p0) {
431 val* var_node /* var node: AExpr */;
432 var_node = p0;
433 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_then].val = var_node; /* _n_then on <self:AIfexprExpr> */
434 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
435 RET_LABEL:;
436 }
437 /* method parser_prod#AIfexprExpr#n_then= for (self: Object, AExpr) */
438 void VIRTUAL_parser_prod__AIfexprExpr__n_then_61d(val* self, val* p0) {
439 parser_prod__AIfexprExpr__n_then_61d(self, p0);
440 RET_LABEL:;
441 }
442 /* method parser_prod#AIfexprExpr#n_kwelse= for (self: AIfexprExpr, TKwelse) */
443 void parser_prod__AIfexprExpr__n_kwelse_61d(val* self, val* p0) {
444 val* var_node /* var node: TKwelse */;
445 var_node = p0;
446 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwelse].val = var_node; /* _n_kwelse on <self:AIfexprExpr> */
447 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwelse>*/;
448 RET_LABEL:;
449 }
450 /* method parser_prod#AIfexprExpr#n_kwelse= for (self: Object, TKwelse) */
451 void VIRTUAL_parser_prod__AIfexprExpr__n_kwelse_61d(val* self, val* p0) {
452 parser_prod__AIfexprExpr__n_kwelse_61d(self, p0);
453 RET_LABEL:;
454 }
455 /* method parser_prod#AIfexprExpr#n_else= for (self: AIfexprExpr, AExpr) */
456 void parser_prod__AIfexprExpr__n_else_61d(val* self, val* p0) {
457 val* var_node /* var node: AExpr */;
458 var_node = p0;
459 self->attrs[COLOR_parser_nodes__AIfexprExpr___n_else].val = var_node; /* _n_else on <self:AIfexprExpr> */
460 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
461 RET_LABEL:;
462 }
463 /* method parser_prod#AIfexprExpr#n_else= for (self: Object, AExpr) */
464 void VIRTUAL_parser_prod__AIfexprExpr__n_else_61d(val* self, val* p0) {
465 parser_prod__AIfexprExpr__n_else_61d(self, p0);
466 RET_LABEL:;
467 }
468 /* method parser_prod#AIfexprExpr#visit_all for (self: AIfexprExpr, Visitor) */
469 void parser_prod__AIfexprExpr__visit_all(val* self, val* p0) {
470 val* var_v /* var v: Visitor */;
471 val* var /* : TKwif */;
472 val* var1 /* : AExpr */;
473 val* var2 /* : TKwthen */;
474 val* var3 /* : AExpr */;
475 val* var4 /* : TKwelse */;
476 val* var5 /* : AExpr */;
477 var_v = p0;
478 var = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwif].val; /* _n_kwif on <self:AIfexprExpr> */
479 if (var == NULL) {
480 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwif");
481 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5220);
482 show_backtrace(1);
483 }
484 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
485 var1 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_expr].val; /* _n_expr on <self:AIfexprExpr> */
486 if (var1 == NULL) {
487 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
488 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5221);
489 show_backtrace(1);
490 }
491 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
492 var2 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwthen].val; /* _n_kwthen on <self:AIfexprExpr> */
493 if (var2 == NULL) {
494 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwthen");
495 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5222);
496 show_backtrace(1);
497 }
498 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
499 var3 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_then].val; /* _n_then on <self:AIfexprExpr> */
500 if (var3 == NULL) {
501 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_then");
502 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5223);
503 show_backtrace(1);
504 }
505 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
506 var4 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_kwelse].val; /* _n_kwelse on <self:AIfexprExpr> */
507 if (var4 == NULL) {
508 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwelse");
509 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5224);
510 show_backtrace(1);
511 }
512 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
513 var5 = self->attrs[COLOR_parser_nodes__AIfexprExpr___n_else].val; /* _n_else on <self:AIfexprExpr> */
514 if (var5 == NULL) {
515 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_else");
516 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5225);
517 show_backtrace(1);
518 }
519 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
520 RET_LABEL:;
521 }
522 /* method parser_prod#AIfexprExpr#visit_all for (self: Object, Visitor) */
523 void VIRTUAL_parser_prod__AIfexprExpr__visit_all(val* self, val* p0) {
524 parser_prod__AIfexprExpr__visit_all(self, p0);
525 RET_LABEL:;
526 }
527 /* method parser_prod#AWhileExpr#empty_init for (self: AWhileExpr) */
528 void parser_prod__AWhileExpr__empty_init(val* self) {
529 RET_LABEL:;
530 }
531 /* method parser_prod#AWhileExpr#empty_init for (self: Object) */
532 void VIRTUAL_parser_prod__AWhileExpr__empty_init(val* self) {
533 parser_prod__AWhileExpr__empty_init(self);
534 RET_LABEL:;
535 }
536 /* method parser_prod#AWhileExpr#init_awhileexpr for (self: AWhileExpr, nullable TKwwhile, nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */
537 void parser_prod__AWhileExpr__init_awhileexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
538 val* var_n_kwwhile /* var n_kwwhile: nullable TKwwhile */;
539 val* var_n_expr /* var n_expr: nullable AExpr */;
540 val* var_n_kwdo /* var n_kwdo: nullable TKwdo */;
541 val* var_n_block /* var n_block: nullable AExpr */;
542 val* var_n_label /* var n_label: nullable ALabel */;
543 val* var /* : null */;
544 short int var1 /* : Bool */;
545 val* var2 /* : null */;
546 short int var3 /* : Bool */;
547 var_n_kwwhile = p0;
548 var_n_expr = p1;
549 var_n_kwdo = p2;
550 var_n_block = p3;
551 var_n_label = p4;
552 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AWhileExpr__empty_init]))(self) /* empty_init on <self:AWhileExpr>*/;
553 if (var_n_kwwhile == NULL) {
554 fprintf(stderr, "Runtime error: %s", "Cast failed");
555 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5240);
556 show_backtrace(1);
557 }
558 self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwwhile].val = var_n_kwwhile; /* _n_kwwhile on <self:AWhileExpr> */
559 if (var_n_kwwhile == NULL) {
560 fprintf(stderr, "Runtime error: %s", "Receiver is null");
561 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5241);
562 show_backtrace(1);
563 } else {
564 ((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>*/;
565 }
566 if (var_n_expr == NULL) {
567 fprintf(stderr, "Runtime error: %s", "Cast failed");
568 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5242);
569 show_backtrace(1);
570 }
571 self->attrs[COLOR_parser_nodes__AWhileExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AWhileExpr> */
572 if (var_n_expr == NULL) {
573 fprintf(stderr, "Runtime error: %s", "Receiver is null");
574 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5243);
575 show_backtrace(1);
576 } else {
577 ((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>*/;
578 }
579 if (var_n_kwdo == NULL) {
580 fprintf(stderr, "Runtime error: %s", "Cast failed");
581 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5244);
582 show_backtrace(1);
583 }
584 self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwdo].val = var_n_kwdo; /* _n_kwdo on <self:AWhileExpr> */
585 if (var_n_kwdo == NULL) {
586 fprintf(stderr, "Runtime error: %s", "Receiver is null");
587 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5245);
588 show_backtrace(1);
589 } else {
590 ((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>*/;
591 }
592 self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val = var_n_block; /* _n_block on <self:AWhileExpr> */
593 var = NULL;
594 if (var_n_block == NULL) {
595 var1 = 0; /* is null */
596 } else {
597 var1 = 1; /* arg is null and recv is not */
598 }
599 if (var1){
600 ((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)>*/;
601 } else {
602 }
603 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on <self:AWhileExpr> */
604 var2 = NULL;
605 if (var_n_label == NULL) {
606 var3 = 0; /* is null */
607 } else {
608 var3 = 1; /* arg is null and recv is not */
609 }
610 if (var3){
611 ((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)>*/;
612 } else {
613 }
614 RET_LABEL:;
615 }
616 /* method parser_prod#AWhileExpr#init_awhileexpr for (self: Object, nullable TKwwhile, nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */
617 void VIRTUAL_parser_prod__AWhileExpr__init_awhileexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
618 parser_prod__AWhileExpr__init_awhileexpr(self, p0, p1, p2, p3, p4);
619 RET_LABEL:;
620 }
621 /* method parser_prod#AWhileExpr#replace_child for (self: AWhileExpr, ANode, nullable ANode) */
622 void parser_prod__AWhileExpr__replace_child(val* self, val* p0, val* p1) {
623 val* var_old_child /* var old_child: ANode */;
624 val* var_new_child /* var new_child: nullable ANode */;
625 val* var /* : TKwwhile */;
626 short int var1 /* : Bool */;
627 val* var2 /* : null */;
628 short int var3 /* : Bool */;
629 short int var4 /* : Bool */;
630 int cltype;
631 int idtype;
632 val* var5 /* : AExpr */;
633 short int var6 /* : Bool */;
634 val* var7 /* : null */;
635 short int var8 /* : Bool */;
636 short int var9 /* : Bool */;
637 int cltype10;
638 int idtype11;
639 val* var12 /* : TKwdo */;
640 short int var13 /* : Bool */;
641 val* var14 /* : null */;
642 short int var15 /* : Bool */;
643 short int var16 /* : Bool */;
644 int cltype17;
645 int idtype18;
646 val* var19 /* : nullable AExpr */;
647 short int var20 /* : Bool */;
648 val* var21 /* : null */;
649 short int var22 /* : Bool */;
650 short int var23 /* : Bool */;
651 int cltype24;
652 int idtype25;
653 val* var26 /* : null */;
654 val* var27 /* : nullable ALabel */;
655 short int var28 /* : Bool */;
656 val* var29 /* : null */;
657 short int var30 /* : Bool */;
658 short int var31 /* : Bool */;
659 int cltype32;
660 int idtype33;
661 val* var34 /* : null */;
662 var_old_child = p0;
663 var_new_child = p1;
664 var = self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwwhile].val; /* _n_kwwhile on <self:AWhileExpr> */
665 if (var == NULL) {
666 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwwhile");
667 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5258);
668 show_backtrace(1);
669 }
670 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwwhile>*/;
671 if (var1){
672 var2 = NULL;
673 if (var_new_child == NULL) {
674 var3 = 0; /* is null */
675 } else {
676 var3 = 1; /* arg is null and recv is not */
677 }
678 if (var3){
679 ((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)>*/;
680 /* <var_new_child:nullable ANode(ANode)> isa TKwwhile */
681 cltype = type_parser_nodes__TKwwhile.color;
682 idtype = type_parser_nodes__TKwwhile.id;
683 if(cltype >= var_new_child->type->table_size) {
684 var4 = 0;
685 } else {
686 var4 = var_new_child->type->type_table[cltype] == idtype;
687 }
688 if (!var4) {
689 fprintf(stderr, "Runtime error: %s", "Assert failed");
690 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5261);
691 show_backtrace(1);
692 }
693 self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwwhile].val = var_new_child; /* _n_kwwhile on <self:AWhileExpr> */
694 } else {
695 fprintf(stderr, "Runtime error: %s", "Aborted");
696 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5264);
697 show_backtrace(1);
698 }
699 goto RET_LABEL;
700 } else {
701 }
702 var5 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_expr].val; /* _n_expr on <self:AWhileExpr> */
703 if (var5 == NULL) {
704 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
705 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5268);
706 show_backtrace(1);
707 }
708 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
709 if (var6){
710 var7 = NULL;
711 if (var_new_child == NULL) {
712 var8 = 0; /* is null */
713 } else {
714 var8 = 1; /* arg is null and recv is not */
715 }
716 if (var8){
717 ((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)>*/;
718 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
719 cltype10 = type_parser_nodes__AExpr.color;
720 idtype11 = type_parser_nodes__AExpr.id;
721 if(cltype10 >= var_new_child->type->table_size) {
722 var9 = 0;
723 } else {
724 var9 = var_new_child->type->type_table[cltype10] == idtype11;
725 }
726 if (!var9) {
727 fprintf(stderr, "Runtime error: %s", "Assert failed");
728 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5271);
729 show_backtrace(1);
730 }
731 self->attrs[COLOR_parser_nodes__AWhileExpr___n_expr].val = var_new_child; /* _n_expr on <self:AWhileExpr> */
732 } else {
733 fprintf(stderr, "Runtime error: %s", "Aborted");
734 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5274);
735 show_backtrace(1);
736 }
737 goto RET_LABEL;
738 } else {
739 }
740 var12 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwdo].val; /* _n_kwdo on <self:AWhileExpr> */
741 if (var12 == NULL) {
742 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwdo");
743 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5278);
744 show_backtrace(1);
745 }
746 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:TKwdo>*/;
747 if (var13){
748 var14 = NULL;
749 if (var_new_child == NULL) {
750 var15 = 0; /* is null */
751 } else {
752 var15 = 1; /* arg is null and recv is not */
753 }
754 if (var15){
755 ((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)>*/;
756 /* <var_new_child:nullable ANode(ANode)> isa TKwdo */
757 cltype17 = type_parser_nodes__TKwdo.color;
758 idtype18 = type_parser_nodes__TKwdo.id;
759 if(cltype17 >= var_new_child->type->table_size) {
760 var16 = 0;
761 } else {
762 var16 = var_new_child->type->type_table[cltype17] == idtype18;
763 }
764 if (!var16) {
765 fprintf(stderr, "Runtime error: %s", "Assert failed");
766 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5281);
767 show_backtrace(1);
768 }
769 self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwdo].val = var_new_child; /* _n_kwdo on <self:AWhileExpr> */
770 } else {
771 fprintf(stderr, "Runtime error: %s", "Aborted");
772 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5284);
773 show_backtrace(1);
774 }
775 goto RET_LABEL;
776 } else {
777 }
778 var19 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val; /* _n_block on <self:AWhileExpr> */
779 if (var19 == NULL) {
780 var20 = 0; /* <var_old_child:ANode> cannot be null */
781 } else {
782 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:nullable AExpr>*/;
783 }
784 if (var20){
785 var21 = NULL;
786 if (var_new_child == NULL) {
787 var22 = 0; /* is null */
788 } else {
789 var22 = 1; /* arg is null and recv is not */
790 }
791 if (var22){
792 ((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)>*/;
793 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
794 cltype24 = type_parser_nodes__AExpr.color;
795 idtype25 = type_parser_nodes__AExpr.id;
796 if(cltype24 >= var_new_child->type->table_size) {
797 var23 = 0;
798 } else {
799 var23 = var_new_child->type->type_table[cltype24] == idtype25;
800 }
801 if (!var23) {
802 fprintf(stderr, "Runtime error: %s", "Assert failed");
803 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5291);
804 show_backtrace(1);
805 }
806 self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val = var_new_child; /* _n_block on <self:AWhileExpr> */
807 } else {
808 var26 = NULL;
809 self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val = var26; /* _n_block on <self:AWhileExpr> */
810 }
811 goto RET_LABEL;
812 } else {
813 }
814 var27 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AWhileExpr> */
815 if (var27 == NULL) {
816 var28 = 0; /* <var_old_child:ANode> cannot be null */
817 } else {
818 var28 = ((short int (*)(val*, val*))(var27->class->vft[COLOR_kernel__Object___61d_61d]))(var27, var_old_child) /* == on <var27:nullable ALabel>*/;
819 }
820 if (var28){
821 var29 = NULL;
822 if (var_new_child == NULL) {
823 var30 = 0; /* is null */
824 } else {
825 var30 = 1; /* arg is null and recv is not */
826 }
827 if (var30){
828 ((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)>*/;
829 /* <var_new_child:nullable ANode(ANode)> isa ALabel */
830 cltype32 = type_parser_nodes__ALabel.color;
831 idtype33 = type_parser_nodes__ALabel.id;
832 if(cltype32 >= var_new_child->type->table_size) {
833 var31 = 0;
834 } else {
835 var31 = var_new_child->type->type_table[cltype32] == idtype33;
836 }
837 if (!var31) {
838 fprintf(stderr, "Runtime error: %s", "Assert failed");
839 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5301);
840 show_backtrace(1);
841 }
842 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_new_child; /* _n_label on <self:AWhileExpr> */
843 } else {
844 var34 = NULL;
845 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var34; /* _n_label on <self:AWhileExpr> */
846 }
847 goto RET_LABEL;
848 } else {
849 }
850 RET_LABEL:;
851 }
852 /* method parser_prod#AWhileExpr#replace_child for (self: Object, ANode, nullable ANode) */
853 void VIRTUAL_parser_prod__AWhileExpr__replace_child(val* self, val* p0, val* p1) {
854 parser_prod__AWhileExpr__replace_child(self, p0, p1);
855 RET_LABEL:;
856 }
857 /* method parser_prod#AWhileExpr#n_kwwhile= for (self: AWhileExpr, TKwwhile) */
858 void parser_prod__AWhileExpr__n_kwwhile_61d(val* self, val* p0) {
859 val* var_node /* var node: TKwwhile */;
860 var_node = p0;
861 self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwwhile].val = var_node; /* _n_kwwhile on <self:AWhileExpr> */
862 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwwhile>*/;
863 RET_LABEL:;
864 }
865 /* method parser_prod#AWhileExpr#n_kwwhile= for (self: Object, TKwwhile) */
866 void VIRTUAL_parser_prod__AWhileExpr__n_kwwhile_61d(val* self, val* p0) {
867 parser_prod__AWhileExpr__n_kwwhile_61d(self, p0);
868 RET_LABEL:;
869 }
870 /* method parser_prod#AWhileExpr#n_expr= for (self: AWhileExpr, AExpr) */
871 void parser_prod__AWhileExpr__n_expr_61d(val* self, val* p0) {
872 val* var_node /* var node: AExpr */;
873 var_node = p0;
874 self->attrs[COLOR_parser_nodes__AWhileExpr___n_expr].val = var_node; /* _n_expr on <self:AWhileExpr> */
875 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
876 RET_LABEL:;
877 }
878 /* method parser_prod#AWhileExpr#n_expr= for (self: Object, AExpr) */
879 void VIRTUAL_parser_prod__AWhileExpr__n_expr_61d(val* self, val* p0) {
880 parser_prod__AWhileExpr__n_expr_61d(self, p0);
881 RET_LABEL:;
882 }
883 /* method parser_prod#AWhileExpr#n_kwdo= for (self: AWhileExpr, TKwdo) */
884 void parser_prod__AWhileExpr__n_kwdo_61d(val* self, val* p0) {
885 val* var_node /* var node: TKwdo */;
886 var_node = p0;
887 self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwdo].val = var_node; /* _n_kwdo on <self:AWhileExpr> */
888 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwdo>*/;
889 RET_LABEL:;
890 }
891 /* method parser_prod#AWhileExpr#n_kwdo= for (self: Object, TKwdo) */
892 void VIRTUAL_parser_prod__AWhileExpr__n_kwdo_61d(val* self, val* p0) {
893 parser_prod__AWhileExpr__n_kwdo_61d(self, p0);
894 RET_LABEL:;
895 }
896 /* method parser_prod#AWhileExpr#n_block= for (self: AWhileExpr, nullable AExpr) */
897 void parser_prod__AWhileExpr__n_block_61d(val* self, val* p0) {
898 val* var_node /* var node: nullable AExpr */;
899 val* var /* : null */;
900 short int var1 /* : Bool */;
901 var_node = p0;
902 self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val = var_node; /* _n_block on <self:AWhileExpr> */
903 var = NULL;
904 if (var_node == NULL) {
905 var1 = 0; /* is null */
906 } else {
907 var1 = 1; /* arg is null and recv is not */
908 }
909 if (var1){
910 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExpr(AExpr)>*/;
911 } else {
912 }
913 RET_LABEL:;
914 }
915 /* method parser_prod#AWhileExpr#n_block= for (self: Object, nullable AExpr) */
916 void VIRTUAL_parser_prod__AWhileExpr__n_block_61d(val* self, val* p0) {
917 parser_prod__AWhileExpr__n_block_61d(self, p0);
918 RET_LABEL:;
919 }
920 /* method parser_prod#AWhileExpr#n_label= for (self: AWhileExpr, nullable ALabel) */
921 void parser_prod__AWhileExpr__n_label_61d(val* self, val* p0) {
922 val* var_node /* var node: nullable ALabel */;
923 val* var /* : null */;
924 short int var1 /* : Bool */;
925 var_node = p0;
926 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on <self:AWhileExpr> */
927 var = NULL;
928 if (var_node == NULL) {
929 var1 = 0; /* is null */
930 } else {
931 var1 = 1; /* arg is null and recv is not */
932 }
933 if (var1){
934 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ALabel(ALabel)>*/;
935 } else {
936 }
937 RET_LABEL:;
938 }
939 /* method parser_prod#AWhileExpr#n_label= for (self: Object, nullable ALabel) */
940 void VIRTUAL_parser_prod__AWhileExpr__n_label_61d(val* self, val* p0) {
941 parser_prod__AWhileExpr__n_label_61d(self, p0);
942 RET_LABEL:;
943 }
944 /* method parser_prod#AWhileExpr#visit_all for (self: AWhileExpr, Visitor) */
945 void parser_prod__AWhileExpr__visit_all(val* self, val* p0) {
946 val* var_v /* var v: Visitor */;
947 val* var /* : TKwwhile */;
948 val* var1 /* : AExpr */;
949 val* var2 /* : TKwdo */;
950 val* var3 /* : nullable AExpr */;
951 val* var4 /* : null */;
952 short int var5 /* : Bool */;
953 val* var6 /* : nullable AExpr */;
954 val* var7 /* : nullable ALabel */;
955 val* var8 /* : null */;
956 short int var9 /* : Bool */;
957 val* var10 /* : nullable ALabel */;
958 var_v = p0;
959 var = self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwwhile].val; /* _n_kwwhile on <self:AWhileExpr> */
960 if (var == NULL) {
961 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwwhile");
962 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5343);
963 show_backtrace(1);
964 }
965 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
966 var1 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_expr].val; /* _n_expr on <self:AWhileExpr> */
967 if (var1 == NULL) {
968 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
969 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5344);
970 show_backtrace(1);
971 }
972 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
973 var2 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_kwdo].val; /* _n_kwdo on <self:AWhileExpr> */
974 if (var2 == NULL) {
975 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwdo");
976 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5345);
977 show_backtrace(1);
978 }
979 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
980 var3 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val; /* _n_block on <self:AWhileExpr> */
981 var4 = NULL;
982 if (var3 == NULL) {
983 var5 = 0; /* is null */
984 } else {
985 var5 = 1; /* arg is null and recv is not */
986 }
987 if (var5){
988 var6 = self->attrs[COLOR_parser_nodes__AWhileExpr___n_block].val; /* _n_block on <self:AWhileExpr> */
989 if (var6 == NULL) {
990 fprintf(stderr, "Runtime error: %s", "Cast failed");
991 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5347);
992 show_backtrace(1);
993 }
994 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var6) /* enter_visit on <var_v:Visitor>*/;
995 } else {
996 }
997 var7 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AWhileExpr> */
998 var8 = NULL;
999 if (var7 == NULL) {
1000 var9 = 0; /* is null */
1001 } else {
1002 var9 = 1; /* arg is null and recv is not */
1003 }
1004 if (var9){
1005 var10 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AWhileExpr> */
1006 if (var10 == NULL) {
1007 fprintf(stderr, "Runtime error: %s", "Cast failed");
1008 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5350);
1009 show_backtrace(1);
1010 }
1011 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var10) /* enter_visit on <var_v:Visitor>*/;
1012 } else {
1013 }
1014 RET_LABEL:;
1015 }
1016 /* method parser_prod#AWhileExpr#visit_all for (self: Object, Visitor) */
1017 void VIRTUAL_parser_prod__AWhileExpr__visit_all(val* self, val* p0) {
1018 parser_prod__AWhileExpr__visit_all(self, p0);
1019 RET_LABEL:;
1020 }
1021 /* method parser_prod#ALoopExpr#empty_init for (self: ALoopExpr) */
1022 void parser_prod__ALoopExpr__empty_init(val* self) {
1023 RET_LABEL:;
1024 }
1025 /* method parser_prod#ALoopExpr#empty_init for (self: Object) */
1026 void VIRTUAL_parser_prod__ALoopExpr__empty_init(val* self) {
1027 parser_prod__ALoopExpr__empty_init(self);
1028 RET_LABEL:;
1029 }
1030 /* method parser_prod#ALoopExpr#init_aloopexpr for (self: ALoopExpr, nullable TKwloop, nullable AExpr, nullable ALabel) */
1031 void parser_prod__ALoopExpr__init_aloopexpr(val* self, val* p0, val* p1, val* p2) {
1032 val* var_n_kwloop /* var n_kwloop: nullable TKwloop */;
1033 val* var_n_block /* var n_block: nullable AExpr */;
1034 val* var_n_label /* var n_label: nullable ALabel */;
1035 val* var /* : null */;
1036 short int var1 /* : Bool */;
1037 val* var2 /* : null */;
1038 short int var3 /* : Bool */;
1039 var_n_kwloop = p0;
1040 var_n_block = p1;
1041 var_n_label = p2;
1042 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ALoopExpr__empty_init]))(self) /* empty_init on <self:ALoopExpr>*/;
1043 if (var_n_kwloop == NULL) {
1044 fprintf(stderr, "Runtime error: %s", "Cast failed");
1045 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5364);
1046 show_backtrace(1);
1047 }
1048 self->attrs[COLOR_parser_nodes__ALoopExpr___n_kwloop].val = var_n_kwloop; /* _n_kwloop on <self:ALoopExpr> */
1049 if (var_n_kwloop == NULL) {
1050 fprintf(stderr, "Runtime error: %s", "Receiver is null");
1051 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5365);
1052 show_backtrace(1);
1053 } else {
1054 ((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>*/;
1055 }
1056 self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val = var_n_block; /* _n_block on <self:ALoopExpr> */
1057 var = NULL;
1058 if (var_n_block == NULL) {
1059 var1 = 0; /* is null */
1060 } else {
1061 var1 = 1; /* arg is null and recv is not */
1062 }
1063 if (var1){
1064 ((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)>*/;
1065 } else {
1066 }
1067 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on <self:ALoopExpr> */
1068 var2 = NULL;
1069 if (var_n_label == NULL) {
1070 var3 = 0; /* is null */
1071 } else {
1072 var3 = 1; /* arg is null and recv is not */
1073 }
1074 if (var3){
1075 ((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)>*/;
1076 } else {
1077 }
1078 RET_LABEL:;
1079 }
1080 /* method parser_prod#ALoopExpr#init_aloopexpr for (self: Object, nullable TKwloop, nullable AExpr, nullable ALabel) */
1081 void VIRTUAL_parser_prod__ALoopExpr__init_aloopexpr(val* self, val* p0, val* p1, val* p2) {
1082 parser_prod__ALoopExpr__init_aloopexpr(self, p0, p1, p2);
1083 RET_LABEL:;
1084 }
1085 /* method parser_prod#ALoopExpr#replace_child for (self: ALoopExpr, ANode, nullable ANode) */
1086 void parser_prod__ALoopExpr__replace_child(val* self, val* p0, val* p1) {
1087 val* var_old_child /* var old_child: ANode */;
1088 val* var_new_child /* var new_child: nullable ANode */;
1089 val* var /* : TKwloop */;
1090 short int var1 /* : Bool */;
1091 val* var2 /* : null */;
1092 short int var3 /* : Bool */;
1093 short int var4 /* : Bool */;
1094 int cltype;
1095 int idtype;
1096 val* var5 /* : nullable AExpr */;
1097 short int var6 /* : Bool */;
1098 val* var7 /* : null */;
1099 short int var8 /* : Bool */;
1100 short int var9 /* : Bool */;
1101 int cltype10;
1102 int idtype11;
1103 val* var12 /* : null */;
1104 val* var13 /* : nullable ALabel */;
1105 short int var14 /* : Bool */;
1106 val* var15 /* : null */;
1107 short int var16 /* : Bool */;
1108 short int var17 /* : Bool */;
1109 int cltype18;
1110 int idtype19;
1111 val* var20 /* : null */;
1112 var_old_child = p0;
1113 var_new_child = p1;
1114 var = self->attrs[COLOR_parser_nodes__ALoopExpr___n_kwloop].val; /* _n_kwloop on <self:ALoopExpr> */
1115 if (var == NULL) {
1116 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwloop");
1117 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5378);
1118 show_backtrace(1);
1119 }
1120 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwloop>*/;
1121 if (var1){
1122 var2 = NULL;
1123 if (var_new_child == NULL) {
1124 var3 = 0; /* is null */
1125 } else {
1126 var3 = 1; /* arg is null and recv is not */
1127 }
1128 if (var3){
1129 ((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)>*/;
1130 /* <var_new_child:nullable ANode(ANode)> isa TKwloop */
1131 cltype = type_parser_nodes__TKwloop.color;
1132 idtype = type_parser_nodes__TKwloop.id;
1133 if(cltype >= var_new_child->type->table_size) {
1134 var4 = 0;
1135 } else {
1136 var4 = var_new_child->type->type_table[cltype] == idtype;
1137 }
1138 if (!var4) {
1139 fprintf(stderr, "Runtime error: %s", "Assert failed");
1140 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5381);
1141 show_backtrace(1);
1142 }
1143 self->attrs[COLOR_parser_nodes__ALoopExpr___n_kwloop].val = var_new_child; /* _n_kwloop on <self:ALoopExpr> */
1144 } else {
1145 fprintf(stderr, "Runtime error: %s", "Aborted");
1146 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5384);
1147 show_backtrace(1);
1148 }
1149 goto RET_LABEL;
1150 } else {
1151 }
1152 var5 = self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val; /* _n_block on <self:ALoopExpr> */
1153 if (var5 == NULL) {
1154 var6 = 0; /* <var_old_child:ANode> cannot be null */
1155 } else {
1156 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable AExpr>*/;
1157 }
1158 if (var6){
1159 var7 = NULL;
1160 if (var_new_child == NULL) {
1161 var8 = 0; /* is null */
1162 } else {
1163 var8 = 1; /* arg is null and recv is not */
1164 }
1165 if (var8){
1166 ((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)>*/;
1167 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
1168 cltype10 = type_parser_nodes__AExpr.color;
1169 idtype11 = type_parser_nodes__AExpr.id;
1170 if(cltype10 >= var_new_child->type->table_size) {
1171 var9 = 0;
1172 } else {
1173 var9 = var_new_child->type->type_table[cltype10] == idtype11;
1174 }
1175 if (!var9) {
1176 fprintf(stderr, "Runtime error: %s", "Assert failed");
1177 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5391);
1178 show_backtrace(1);
1179 }
1180 self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val = var_new_child; /* _n_block on <self:ALoopExpr> */
1181 } else {
1182 var12 = NULL;
1183 self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val = var12; /* _n_block on <self:ALoopExpr> */
1184 }
1185 goto RET_LABEL;
1186 } else {
1187 }
1188 var13 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:ALoopExpr> */
1189 if (var13 == NULL) {
1190 var14 = 0; /* <var_old_child:ANode> cannot be null */
1191 } else {
1192 var14 = ((short int (*)(val*, val*))(var13->class->vft[COLOR_kernel__Object___61d_61d]))(var13, var_old_child) /* == on <var13:nullable ALabel>*/;
1193 }
1194 if (var14){
1195 var15 = NULL;
1196 if (var_new_child == NULL) {
1197 var16 = 0; /* is null */
1198 } else {
1199 var16 = 1; /* arg is null and recv is not */
1200 }
1201 if (var16){
1202 ((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)>*/;
1203 /* <var_new_child:nullable ANode(ANode)> isa ALabel */
1204 cltype18 = type_parser_nodes__ALabel.color;
1205 idtype19 = type_parser_nodes__ALabel.id;
1206 if(cltype18 >= var_new_child->type->table_size) {
1207 var17 = 0;
1208 } else {
1209 var17 = var_new_child->type->type_table[cltype18] == idtype19;
1210 }
1211 if (!var17) {
1212 fprintf(stderr, "Runtime error: %s", "Assert failed");
1213 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5401);
1214 show_backtrace(1);
1215 }
1216 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_new_child; /* _n_label on <self:ALoopExpr> */
1217 } else {
1218 var20 = NULL;
1219 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var20; /* _n_label on <self:ALoopExpr> */
1220 }
1221 goto RET_LABEL;
1222 } else {
1223 }
1224 RET_LABEL:;
1225 }
1226 /* method parser_prod#ALoopExpr#replace_child for (self: Object, ANode, nullable ANode) */
1227 void VIRTUAL_parser_prod__ALoopExpr__replace_child(val* self, val* p0, val* p1) {
1228 parser_prod__ALoopExpr__replace_child(self, p0, p1);
1229 RET_LABEL:;
1230 }
1231 /* method parser_prod#ALoopExpr#n_kwloop= for (self: ALoopExpr, TKwloop) */
1232 void parser_prod__ALoopExpr__n_kwloop_61d(val* self, val* p0) {
1233 val* var_node /* var node: TKwloop */;
1234 var_node = p0;
1235 self->attrs[COLOR_parser_nodes__ALoopExpr___n_kwloop].val = var_node; /* _n_kwloop on <self:ALoopExpr> */
1236 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwloop>*/;
1237 RET_LABEL:;
1238 }
1239 /* method parser_prod#ALoopExpr#n_kwloop= for (self: Object, TKwloop) */
1240 void VIRTUAL_parser_prod__ALoopExpr__n_kwloop_61d(val* self, val* p0) {
1241 parser_prod__ALoopExpr__n_kwloop_61d(self, p0);
1242 RET_LABEL:;
1243 }
1244 /* method parser_prod#ALoopExpr#n_block= for (self: ALoopExpr, nullable AExpr) */
1245 void parser_prod__ALoopExpr__n_block_61d(val* self, val* p0) {
1246 val* var_node /* var node: nullable AExpr */;
1247 val* var /* : null */;
1248 short int var1 /* : Bool */;
1249 var_node = p0;
1250 self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val = var_node; /* _n_block on <self:ALoopExpr> */
1251 var = NULL;
1252 if (var_node == NULL) {
1253 var1 = 0; /* is null */
1254 } else {
1255 var1 = 1; /* arg is null and recv is not */
1256 }
1257 if (var1){
1258 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExpr(AExpr)>*/;
1259 } else {
1260 }
1261 RET_LABEL:;
1262 }
1263 /* method parser_prod#ALoopExpr#n_block= for (self: Object, nullable AExpr) */
1264 void VIRTUAL_parser_prod__ALoopExpr__n_block_61d(val* self, val* p0) {
1265 parser_prod__ALoopExpr__n_block_61d(self, p0);
1266 RET_LABEL:;
1267 }
1268 /* method parser_prod#ALoopExpr#n_label= for (self: ALoopExpr, nullable ALabel) */
1269 void parser_prod__ALoopExpr__n_label_61d(val* self, val* p0) {
1270 val* var_node /* var node: nullable ALabel */;
1271 val* var /* : null */;
1272 short int var1 /* : Bool */;
1273 var_node = p0;
1274 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on <self:ALoopExpr> */
1275 var = NULL;
1276 if (var_node == NULL) {
1277 var1 = 0; /* is null */
1278 } else {
1279 var1 = 1; /* arg is null and recv is not */
1280 }
1281 if (var1){
1282 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ALabel(ALabel)>*/;
1283 } else {
1284 }
1285 RET_LABEL:;
1286 }
1287 /* method parser_prod#ALoopExpr#n_label= for (self: Object, nullable ALabel) */
1288 void VIRTUAL_parser_prod__ALoopExpr__n_label_61d(val* self, val* p0) {
1289 parser_prod__ALoopExpr__n_label_61d(self, p0);
1290 RET_LABEL:;
1291 }
1292 /* method parser_prod#ALoopExpr#visit_all for (self: ALoopExpr, Visitor) */
1293 void parser_prod__ALoopExpr__visit_all(val* self, val* p0) {
1294 val* var_v /* var v: Visitor */;
1295 val* var /* : TKwloop */;
1296 val* var1 /* : nullable AExpr */;
1297 val* var2 /* : null */;
1298 short int var3 /* : Bool */;
1299 val* var4 /* : nullable AExpr */;
1300 val* var5 /* : nullable ALabel */;
1301 val* var6 /* : null */;
1302 short int var7 /* : Bool */;
1303 val* var8 /* : nullable ALabel */;
1304 var_v = p0;
1305 var = self->attrs[COLOR_parser_nodes__ALoopExpr___n_kwloop].val; /* _n_kwloop on <self:ALoopExpr> */
1306 if (var == NULL) {
1307 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwloop");
1308 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5433);
1309 show_backtrace(1);
1310 }
1311 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1312 var1 = self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val; /* _n_block on <self:ALoopExpr> */
1313 var2 = NULL;
1314 if (var1 == NULL) {
1315 var3 = 0; /* is null */
1316 } else {
1317 var3 = 1; /* arg is null and recv is not */
1318 }
1319 if (var3){
1320 var4 = self->attrs[COLOR_parser_nodes__ALoopExpr___n_block].val; /* _n_block on <self:ALoopExpr> */
1321 if (var4 == NULL) {
1322 fprintf(stderr, "Runtime error: %s", "Cast failed");
1323 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5435);
1324 show_backtrace(1);
1325 }
1326 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
1327 } else {
1328 }
1329 var5 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:ALoopExpr> */
1330 var6 = NULL;
1331 if (var5 == NULL) {
1332 var7 = 0; /* is null */
1333 } else {
1334 var7 = 1; /* arg is null and recv is not */
1335 }
1336 if (var7){
1337 var8 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:ALoopExpr> */
1338 if (var8 == NULL) {
1339 fprintf(stderr, "Runtime error: %s", "Cast failed");
1340 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5438);
1341 show_backtrace(1);
1342 }
1343 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var8) /* enter_visit on <var_v:Visitor>*/;
1344 } else {
1345 }
1346 RET_LABEL:;
1347 }
1348 /* method parser_prod#ALoopExpr#visit_all for (self: Object, Visitor) */
1349 void VIRTUAL_parser_prod__ALoopExpr__visit_all(val* self, val* p0) {
1350 parser_prod__ALoopExpr__visit_all(self, p0);
1351 RET_LABEL:;
1352 }
1353 /* method parser_prod#AForExpr#empty_init for (self: AForExpr) */
1354 void parser_prod__AForExpr__empty_init(val* self) {
1355 RET_LABEL:;
1356 }
1357 /* method parser_prod#AForExpr#empty_init for (self: Object) */
1358 void VIRTUAL_parser_prod__AForExpr__empty_init(val* self) {
1359 parser_prod__AForExpr__empty_init(self);
1360 RET_LABEL:;
1361 }
1362 /* method parser_prod#AForExpr#init_aforexpr for (self: AForExpr, nullable TKwfor, Collection[Object], nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */
1363 void parser_prod__AForExpr__init_aforexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
1364 val* var_n_kwfor /* var n_kwfor: nullable TKwfor */;
1365 val* var_n_ids /* var n_ids: Collection[Object] */;
1366 val* var_n_expr /* var n_expr: nullable AExpr */;
1367 val* var_n_kwdo /* var n_kwdo: nullable TKwdo */;
1368 val* var_n_block /* var n_block: nullable AExpr */;
1369 val* var_n_label /* var n_label: nullable ALabel */;
1370 val* var /* : Iterator[nullable Object] */;
1371 short int var1 /* : Bool */;
1372 val* var2 /* : nullable Object */;
1373 val* var_n /* var n: Object */;
1374 short int var3 /* : Bool */;
1375 int cltype;
1376 int idtype;
1377 val* var4 /* : ANodes[TId] */;
1378 val* var5 /* : null */;
1379 short int var6 /* : Bool */;
1380 val* var7 /* : null */;
1381 short int var8 /* : Bool */;
1382 var_n_kwfor = p0;
1383 var_n_ids = p1;
1384 var_n_expr = p2;
1385 var_n_kwdo = p3;
1386 var_n_block = p4;
1387 var_n_label = p5;
1388 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AForExpr__empty_init]))(self) /* empty_init on <self:AForExpr>*/;
1389 if (var_n_kwfor == NULL) {
1390 fprintf(stderr, "Runtime error: %s", "Cast failed");
1391 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5455);
1392 show_backtrace(1);
1393 }
1394 self->attrs[COLOR_parser_nodes__AForExpr___n_kwfor].val = var_n_kwfor; /* _n_kwfor on <self:AForExpr> */
1395 if (var_n_kwfor == NULL) {
1396 fprintf(stderr, "Runtime error: %s", "Receiver is null");
1397 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5456);
1398 show_backtrace(1);
1399 } else {
1400 ((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>*/;
1401 }
1402 var = ((val* (*)(val*))(var_n_ids->class->vft[COLOR_abstract_collection__Collection__iterator]))(var_n_ids) /* iterator on <var_n_ids:Collection[Object]>*/;
1403 for(;;) {
1404 var1 = ((short int (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var) /* is_ok on <var:Iterator[nullable Object]>*/;
1405 if(!var1) break;
1406 var2 = ((val* (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__item]))(var) /* item on <var:Iterator[nullable Object]>*/;
1407 var_n = var2;
1408 /* <var_n:Object> isa TId */
1409 cltype = type_parser_nodes__TId.color;
1410 idtype = type_parser_nodes__TId.id;
1411 if(cltype >= var_n->type->table_size) {
1412 var3 = 0;
1413 } else {
1414 var3 = var_n->type->type_table[cltype] == idtype;
1415 }
1416 if (!var3) {
1417 fprintf(stderr, "Runtime error: %s", "Assert failed");
1418 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5458);
1419 show_backtrace(1);
1420 }
1421 var4 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on <self:AForExpr> */
1422 if (var4 == NULL) {
1423 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_ids");
1424 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5459);
1425 show_backtrace(1);
1426 }
1427 ((void (*)(val*, val*))(var4->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var4, var_n) /* add on <var4:ANodes[TId]>*/;
1428 ((void (*)(val*, val*))(var_n->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_n, self) /* parent= on <var_n:Object(TId)>*/;
1429 CONTINUE_label: (void)0;
1430 ((void (*)(val*))(var->class->vft[COLOR_abstract_collection__Iterator__next]))(var) /* next on <var:Iterator[nullable Object]>*/;
1431 }
1432 BREAK_label: (void)0;
1433 if (var_n_expr == NULL) {
1434 fprintf(stderr, "Runtime error: %s", "Cast failed");
1435 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5462);
1436 show_backtrace(1);
1437 }
1438 self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AForExpr> */
1439 if (var_n_expr == NULL) {
1440 fprintf(stderr, "Runtime error: %s", "Receiver is null");
1441 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5463);
1442 show_backtrace(1);
1443 } else {
1444 ((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>*/;
1445 }
1446 if (var_n_kwdo == NULL) {
1447 fprintf(stderr, "Runtime error: %s", "Cast failed");
1448 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5464);
1449 show_backtrace(1);
1450 }
1451 self->attrs[COLOR_parser_nodes__AForExpr___n_kwdo].val = var_n_kwdo; /* _n_kwdo on <self:AForExpr> */
1452 if (var_n_kwdo == NULL) {
1453 fprintf(stderr, "Runtime error: %s", "Receiver is null");
1454 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5465);
1455 show_backtrace(1);
1456 } else {
1457 ((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>*/;
1458 }
1459 self->attrs[COLOR_parser_nodes__AForExpr___n_block].val = var_n_block; /* _n_block on <self:AForExpr> */
1460 var5 = NULL;
1461 if (var_n_block == NULL) {
1462 var6 = 0; /* is null */
1463 } else {
1464 var6 = 1; /* arg is null and recv is not */
1465 }
1466 if (var6){
1467 ((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)>*/;
1468 } else {
1469 }
1470 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_n_label; /* _n_label on <self:AForExpr> */
1471 var7 = NULL;
1472 if (var_n_label == NULL) {
1473 var8 = 0; /* is null */
1474 } else {
1475 var8 = 1; /* arg is null and recv is not */
1476 }
1477 if (var8){
1478 ((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)>*/;
1479 } else {
1480 }
1481 RET_LABEL:;
1482 }
1483 /* method parser_prod#AForExpr#init_aforexpr for (self: Object, nullable TKwfor, Collection[Object], nullable AExpr, nullable TKwdo, nullable AExpr, nullable ALabel) */
1484 void VIRTUAL_parser_prod__AForExpr__init_aforexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4, val* p5) {
1485 parser_prod__AForExpr__init_aforexpr(self, p0, p1, p2, p3, p4, p5);
1486 RET_LABEL:;
1487 }
1488 /* method parser_prod#AForExpr#replace_child for (self: AForExpr, ANode, nullable ANode) */
1489 void parser_prod__AForExpr__replace_child(val* self, val* p0, val* p1) {
1490 val* var_old_child /* var old_child: ANode */;
1491 val* var_new_child /* var new_child: nullable ANode */;
1492 val* var /* : TKwfor */;
1493 short int var1 /* : Bool */;
1494 val* var2 /* : null */;
1495 short int var3 /* : Bool */;
1496 short int var4 /* : Bool */;
1497 int cltype;
1498 int idtype;
1499 val* var5 /* : Range[Int] */;
1500 long var6 /* : Int */;
1501 val* var7 /* : ANodes[TId] */;
1502 long var8 /* : Int */;
1503 val* var9 /* : Discrete */;
1504 val* var10 /* : Discrete */;
1505 val* var11 /* : Iterator[nullable Object] */;
1506 short int var12 /* : Bool */;
1507 val* var13 /* : nullable Object */;
1508 long var_i /* var i: Int */;
1509 long var14 /* : Int */;
1510 val* var15 /* : ANodes[TId] */;
1511 val* var16 /* : nullable Object */;
1512 short int var17 /* : Bool */;
1513 val* var18 /* : null */;
1514 short int var19 /* : Bool */;
1515 short int var20 /* : Bool */;
1516 int cltype21;
1517 int idtype22;
1518 val* var23 /* : ANodes[TId] */;
1519 val* var24 /* : ANodes[TId] */;
1520 val* var25 /* : AExpr */;
1521 short int var26 /* : Bool */;
1522 val* var27 /* : null */;
1523 short int var28 /* : Bool */;
1524 short int var29 /* : Bool */;
1525 int cltype30;
1526 int idtype31;
1527 val* var32 /* : TKwdo */;
1528 short int var33 /* : Bool */;
1529 val* var34 /* : null */;
1530 short int var35 /* : Bool */;
1531 short int var36 /* : Bool */;
1532 int cltype37;
1533 int idtype38;
1534 val* var39 /* : nullable AExpr */;
1535 short int var40 /* : Bool */;
1536 val* var41 /* : null */;
1537 short int var42 /* : Bool */;
1538 short int var43 /* : Bool */;
1539 int cltype44;
1540 int idtype45;
1541 val* var46 /* : null */;
1542 val* var47 /* : nullable ALabel */;
1543 short int var48 /* : Bool */;
1544 val* var49 /* : null */;
1545 short int var50 /* : Bool */;
1546 short int var51 /* : Bool */;
1547 int cltype52;
1548 int idtype53;
1549 val* var54 /* : null */;
1550 var_old_child = p0;
1551 var_new_child = p1;
1552 var = self->attrs[COLOR_parser_nodes__AForExpr___n_kwfor].val; /* _n_kwfor on <self:AForExpr> */
1553 if (var == NULL) {
1554 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwfor");
1555 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5478);
1556 show_backtrace(1);
1557 }
1558 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwfor>*/;
1559 if (var1){
1560 var2 = NULL;
1561 if (var_new_child == NULL) {
1562 var3 = 0; /* is null */
1563 } else {
1564 var3 = 1; /* arg is null and recv is not */
1565 }
1566 if (var3){
1567 ((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)>*/;
1568 /* <var_new_child:nullable ANode(ANode)> isa TKwfor */
1569 cltype = type_parser_nodes__TKwfor.color;
1570 idtype = type_parser_nodes__TKwfor.id;
1571 if(cltype >= var_new_child->type->table_size) {
1572 var4 = 0;
1573 } else {
1574 var4 = var_new_child->type->type_table[cltype] == idtype;
1575 }
1576 if (!var4) {
1577 fprintf(stderr, "Runtime error: %s", "Assert failed");
1578 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5481);
1579 show_backtrace(1);
1580 }
1581 self->attrs[COLOR_parser_nodes__AForExpr___n_kwfor].val = var_new_child; /* _n_kwfor on <self:AForExpr> */
1582 } else {
1583 fprintf(stderr, "Runtime error: %s", "Aborted");
1584 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5484);
1585 show_backtrace(1);
1586 }
1587 goto RET_LABEL;
1588 } else {
1589 }
1590 var5 = NEW_range__Range(&type_range__Rangekernel__Int);
1591 var6 = 0;
1592 var7 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on <self:AForExpr> */
1593 if (var7 == NULL) {
1594 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_ids");
1595 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5488);
1596 show_backtrace(1);
1597 }
1598 var8 = ((long (*)(val*))(var7->class->vft[COLOR_abstract_collection__Collection__length]))(var7) /* length on <var7:ANodes[TId]>*/;
1599 var9 = BOX_kernel__Int(var6); /* autobox from Int to Discrete */
1600 var10 = BOX_kernel__Int(var8); /* autobox from Int to Discrete */
1601 ((void (*)(val*, val*, val*))(var5->class->vft[COLOR_range__Range__without_last]))(var5, var9, var10) /* without_last on <var5:Range[Int]>*/;
1602 var11 = ((val* (*)(val*))(var5->class->vft[COLOR_abstract_collection__Collection__iterator]))(var5) /* iterator on <var5:Range[Int]>*/;
1603 for(;;) {
1604 var12 = ((short int (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var11) /* is_ok on <var11:Iterator[nullable Object]>*/;
1605 if(!var12) break;
1606 var13 = ((val* (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__item]))(var11) /* item on <var11:Iterator[nullable Object]>*/;
1607 var14 = ((struct instance_kernel__Int*)var13)->value; /* autounbox from nullable Object to Int */;
1608 var_i = var14;
1609 var15 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on <self:AForExpr> */
1610 if (var15 == NULL) {
1611 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_ids");
1612 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5489);
1613 show_backtrace(1);
1614 }
1615 var16 = ((val* (*)(val*, long))(var15->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var15, var_i) /* [] on <var15:ANodes[TId]>*/;
1616 var17 = ((short int (*)(val*, val*))(var16->class->vft[COLOR_kernel__Object___61d_61d]))(var16, var_old_child) /* == on <var16:nullable Object(TId)>*/;
1617 if (var17){
1618 var18 = NULL;
1619 if (var_new_child == NULL) {
1620 var19 = 0; /* is null */
1621 } else {
1622 var19 = 1; /* arg is null and recv is not */
1623 }
1624 if (var19){
1625 /* <var_new_child:nullable ANode(ANode)> isa TId */
1626 cltype21 = type_parser_nodes__TId.color;
1627 idtype22 = type_parser_nodes__TId.id;
1628 if(cltype21 >= var_new_child->type->table_size) {
1629 var20 = 0;
1630 } else {
1631 var20 = var_new_child->type->type_table[cltype21] == idtype22;
1632 }
1633 if (!var20) {
1634 fprintf(stderr, "Runtime error: %s", "Assert failed");
1635 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5491);
1636 show_backtrace(1);
1637 }
1638 var23 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on <self:AForExpr> */
1639 if (var23 == NULL) {
1640 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_ids");
1641 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5492);
1642 show_backtrace(1);
1643 }
1644 ((void (*)(val*, long, val*))(var23->class->vft[COLOR_abstract_collection__Sequence___91d_93d_61d]))(var23, var_i, var_new_child) /* []= on <var23:ANodes[TId]>*/;
1645 ((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)>*/;
1646 } else {
1647 var24 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on <self:AForExpr> */
1648 if (var24 == NULL) {
1649 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_ids");
1650 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5495);
1651 show_backtrace(1);
1652 }
1653 ((void (*)(val*, long))(var24->class->vft[COLOR_abstract_collection__Sequence__remove_at]))(var24, var_i) /* remove_at on <var24:ANodes[TId]>*/;
1654 }
1655 goto RET_LABEL;
1656 } else {
1657 }
1658 CONTINUE_label: (void)0;
1659 ((void (*)(val*))(var11->class->vft[COLOR_abstract_collection__Iterator__next]))(var11) /* next on <var11:Iterator[nullable Object]>*/;
1660 }
1661 BREAK_label: (void)0;
1662 var25 = self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val; /* _n_expr on <self:AForExpr> */
1663 if (var25 == NULL) {
1664 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
1665 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5500);
1666 show_backtrace(1);
1667 }
1668 var26 = ((short int (*)(val*, val*))(var25->class->vft[COLOR_kernel__Object___61d_61d]))(var25, var_old_child) /* == on <var25:AExpr>*/;
1669 if (var26){
1670 var27 = NULL;
1671 if (var_new_child == NULL) {
1672 var28 = 0; /* is null */
1673 } else {
1674 var28 = 1; /* arg is null and recv is not */
1675 }
1676 if (var28){
1677 ((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)>*/;
1678 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
1679 cltype30 = type_parser_nodes__AExpr.color;
1680 idtype31 = type_parser_nodes__AExpr.id;
1681 if(cltype30 >= var_new_child->type->table_size) {
1682 var29 = 0;
1683 } else {
1684 var29 = var_new_child->type->type_table[cltype30] == idtype31;
1685 }
1686 if (!var29) {
1687 fprintf(stderr, "Runtime error: %s", "Assert failed");
1688 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5503);
1689 show_backtrace(1);
1690 }
1691 self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val = var_new_child; /* _n_expr on <self:AForExpr> */
1692 } else {
1693 fprintf(stderr, "Runtime error: %s", "Aborted");
1694 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5506);
1695 show_backtrace(1);
1696 }
1697 goto RET_LABEL;
1698 } else {
1699 }
1700 var32 = self->attrs[COLOR_parser_nodes__AForExpr___n_kwdo].val; /* _n_kwdo on <self:AForExpr> */
1701 if (var32 == NULL) {
1702 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwdo");
1703 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5510);
1704 show_backtrace(1);
1705 }
1706 var33 = ((short int (*)(val*, val*))(var32->class->vft[COLOR_kernel__Object___61d_61d]))(var32, var_old_child) /* == on <var32:TKwdo>*/;
1707 if (var33){
1708 var34 = NULL;
1709 if (var_new_child == NULL) {
1710 var35 = 0; /* is null */
1711 } else {
1712 var35 = 1; /* arg is null and recv is not */
1713 }
1714 if (var35){
1715 ((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)>*/;
1716 /* <var_new_child:nullable ANode(ANode)> isa TKwdo */
1717 cltype37 = type_parser_nodes__TKwdo.color;
1718 idtype38 = type_parser_nodes__TKwdo.id;
1719 if(cltype37 >= var_new_child->type->table_size) {
1720 var36 = 0;
1721 } else {
1722 var36 = var_new_child->type->type_table[cltype37] == idtype38;
1723 }
1724 if (!var36) {
1725 fprintf(stderr, "Runtime error: %s", "Assert failed");
1726 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5513);
1727 show_backtrace(1);
1728 }
1729 self->attrs[COLOR_parser_nodes__AForExpr___n_kwdo].val = var_new_child; /* _n_kwdo on <self:AForExpr> */
1730 } else {
1731 fprintf(stderr, "Runtime error: %s", "Aborted");
1732 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5516);
1733 show_backtrace(1);
1734 }
1735 goto RET_LABEL;
1736 } else {
1737 }
1738 var39 = self->attrs[COLOR_parser_nodes__AForExpr___n_block].val; /* _n_block on <self:AForExpr> */
1739 if (var39 == NULL) {
1740 var40 = 0; /* <var_old_child:ANode> cannot be null */
1741 } else {
1742 var40 = ((short int (*)(val*, val*))(var39->class->vft[COLOR_kernel__Object___61d_61d]))(var39, var_old_child) /* == on <var39:nullable AExpr>*/;
1743 }
1744 if (var40){
1745 var41 = NULL;
1746 if (var_new_child == NULL) {
1747 var42 = 0; /* is null */
1748 } else {
1749 var42 = 1; /* arg is null and recv is not */
1750 }
1751 if (var42){
1752 ((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)>*/;
1753 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
1754 cltype44 = type_parser_nodes__AExpr.color;
1755 idtype45 = type_parser_nodes__AExpr.id;
1756 if(cltype44 >= var_new_child->type->table_size) {
1757 var43 = 0;
1758 } else {
1759 var43 = var_new_child->type->type_table[cltype44] == idtype45;
1760 }
1761 if (!var43) {
1762 fprintf(stderr, "Runtime error: %s", "Assert failed");
1763 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5523);
1764 show_backtrace(1);
1765 }
1766 self->attrs[COLOR_parser_nodes__AForExpr___n_block].val = var_new_child; /* _n_block on <self:AForExpr> */
1767 } else {
1768 var46 = NULL;
1769 self->attrs[COLOR_parser_nodes__AForExpr___n_block].val = var46; /* _n_block on <self:AForExpr> */
1770 }
1771 goto RET_LABEL;
1772 } else {
1773 }
1774 var47 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AForExpr> */
1775 if (var47 == NULL) {
1776 var48 = 0; /* <var_old_child:ANode> cannot be null */
1777 } else {
1778 var48 = ((short int (*)(val*, val*))(var47->class->vft[COLOR_kernel__Object___61d_61d]))(var47, var_old_child) /* == on <var47:nullable ALabel>*/;
1779 }
1780 if (var48){
1781 var49 = NULL;
1782 if (var_new_child == NULL) {
1783 var50 = 0; /* is null */
1784 } else {
1785 var50 = 1; /* arg is null and recv is not */
1786 }
1787 if (var50){
1788 ((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)>*/;
1789 /* <var_new_child:nullable ANode(ANode)> isa ALabel */
1790 cltype52 = type_parser_nodes__ALabel.color;
1791 idtype53 = type_parser_nodes__ALabel.id;
1792 if(cltype52 >= var_new_child->type->table_size) {
1793 var51 = 0;
1794 } else {
1795 var51 = var_new_child->type->type_table[cltype52] == idtype53;
1796 }
1797 if (!var51) {
1798 fprintf(stderr, "Runtime error: %s", "Assert failed");
1799 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5533);
1800 show_backtrace(1);
1801 }
1802 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_new_child; /* _n_label on <self:AForExpr> */
1803 } else {
1804 var54 = NULL;
1805 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var54; /* _n_label on <self:AForExpr> */
1806 }
1807 goto RET_LABEL;
1808 } else {
1809 }
1810 RET_LABEL:;
1811 }
1812 /* method parser_prod#AForExpr#replace_child for (self: Object, ANode, nullable ANode) */
1813 void VIRTUAL_parser_prod__AForExpr__replace_child(val* self, val* p0, val* p1) {
1814 parser_prod__AForExpr__replace_child(self, p0, p1);
1815 RET_LABEL:;
1816 }
1817 /* method parser_prod#AForExpr#n_kwfor= for (self: AForExpr, TKwfor) */
1818 void parser_prod__AForExpr__n_kwfor_61d(val* self, val* p0) {
1819 val* var_node /* var node: TKwfor */;
1820 var_node = p0;
1821 self->attrs[COLOR_parser_nodes__AForExpr___n_kwfor].val = var_node; /* _n_kwfor on <self:AForExpr> */
1822 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwfor>*/;
1823 RET_LABEL:;
1824 }
1825 /* method parser_prod#AForExpr#n_kwfor= for (self: Object, TKwfor) */
1826 void VIRTUAL_parser_prod__AForExpr__n_kwfor_61d(val* self, val* p0) {
1827 parser_prod__AForExpr__n_kwfor_61d(self, p0);
1828 RET_LABEL:;
1829 }
1830 /* method parser_prod#AForExpr#n_expr= for (self: AForExpr, AExpr) */
1831 void parser_prod__AForExpr__n_expr_61d(val* self, val* p0) {
1832 val* var_node /* var node: AExpr */;
1833 var_node = p0;
1834 self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val = var_node; /* _n_expr on <self:AForExpr> */
1835 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
1836 RET_LABEL:;
1837 }
1838 /* method parser_prod#AForExpr#n_expr= for (self: Object, AExpr) */
1839 void VIRTUAL_parser_prod__AForExpr__n_expr_61d(val* self, val* p0) {
1840 parser_prod__AForExpr__n_expr_61d(self, p0);
1841 RET_LABEL:;
1842 }
1843 /* method parser_prod#AForExpr#n_kwdo= for (self: AForExpr, TKwdo) */
1844 void parser_prod__AForExpr__n_kwdo_61d(val* self, val* p0) {
1845 val* var_node /* var node: TKwdo */;
1846 var_node = p0;
1847 self->attrs[COLOR_parser_nodes__AForExpr___n_kwdo].val = var_node; /* _n_kwdo on <self:AForExpr> */
1848 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwdo>*/;
1849 RET_LABEL:;
1850 }
1851 /* method parser_prod#AForExpr#n_kwdo= for (self: Object, TKwdo) */
1852 void VIRTUAL_parser_prod__AForExpr__n_kwdo_61d(val* self, val* p0) {
1853 parser_prod__AForExpr__n_kwdo_61d(self, p0);
1854 RET_LABEL:;
1855 }
1856 /* method parser_prod#AForExpr#n_block= for (self: AForExpr, nullable AExpr) */
1857 void parser_prod__AForExpr__n_block_61d(val* self, val* p0) {
1858 val* var_node /* var node: nullable AExpr */;
1859 val* var /* : null */;
1860 short int var1 /* : Bool */;
1861 var_node = p0;
1862 self->attrs[COLOR_parser_nodes__AForExpr___n_block].val = var_node; /* _n_block on <self:AForExpr> */
1863 var = NULL;
1864 if (var_node == NULL) {
1865 var1 = 0; /* is null */
1866 } else {
1867 var1 = 1; /* arg is null and recv is not */
1868 }
1869 if (var1){
1870 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExpr(AExpr)>*/;
1871 } else {
1872 }
1873 RET_LABEL:;
1874 }
1875 /* method parser_prod#AForExpr#n_block= for (self: Object, nullable AExpr) */
1876 void VIRTUAL_parser_prod__AForExpr__n_block_61d(val* self, val* p0) {
1877 parser_prod__AForExpr__n_block_61d(self, p0);
1878 RET_LABEL:;
1879 }
1880 /* method parser_prod#AForExpr#n_label= for (self: AForExpr, nullable ALabel) */
1881 void parser_prod__AForExpr__n_label_61d(val* self, val* p0) {
1882 val* var_node /* var node: nullable ALabel */;
1883 val* var /* : null */;
1884 short int var1 /* : Bool */;
1885 var_node = p0;
1886 self->attrs[COLOR_parser_nodes__ALabelable___n_label].val = var_node; /* _n_label on <self:AForExpr> */
1887 var = NULL;
1888 if (var_node == NULL) {
1889 var1 = 0; /* is null */
1890 } else {
1891 var1 = 1; /* arg is null and recv is not */
1892 }
1893 if (var1){
1894 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable ALabel(ALabel)>*/;
1895 } else {
1896 }
1897 RET_LABEL:;
1898 }
1899 /* method parser_prod#AForExpr#n_label= for (self: Object, nullable ALabel) */
1900 void VIRTUAL_parser_prod__AForExpr__n_label_61d(val* self, val* p0) {
1901 parser_prod__AForExpr__n_label_61d(self, p0);
1902 RET_LABEL:;
1903 }
1904 /* method parser_prod#AForExpr#visit_all for (self: AForExpr, Visitor) */
1905 void parser_prod__AForExpr__visit_all(val* self, val* p0) {
1906 val* var_v /* var v: Visitor */;
1907 val* var /* : TKwfor */;
1908 val* var1 /* : ANodes[TId] */;
1909 val* var2 /* : Iterator[nullable Object] */;
1910 short int var3 /* : Bool */;
1911 val* var4 /* : nullable Object */;
1912 val* var_n /* var n: TId */;
1913 val* var5 /* : AExpr */;
1914 val* var6 /* : TKwdo */;
1915 val* var7 /* : nullable AExpr */;
1916 val* var8 /* : null */;
1917 short int var9 /* : Bool */;
1918 val* var10 /* : nullable AExpr */;
1919 val* var11 /* : nullable ALabel */;
1920 val* var12 /* : null */;
1921 short int var13 /* : Bool */;
1922 val* var14 /* : nullable ALabel */;
1923 var_v = p0;
1924 var = self->attrs[COLOR_parser_nodes__AForExpr___n_kwfor].val; /* _n_kwfor on <self:AForExpr> */
1925 if (var == NULL) {
1926 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwfor");
1927 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5575);
1928 show_backtrace(1);
1929 }
1930 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
1931 var1 = self->attrs[COLOR_parser_nodes__AForExpr___n_ids].val; /* _n_ids on <self:AForExpr> */
1932 if (var1 == NULL) {
1933 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_ids");
1934 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5576);
1935 show_backtrace(1);
1936 }
1937 var2 = ((val* (*)(val*))(var1->class->vft[COLOR_abstract_collection__Collection__iterator]))(var1) /* iterator on <var1:ANodes[TId]>*/;
1938 for(;;) {
1939 var3 = ((short int (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__is_ok]))(var2) /* is_ok on <var2:Iterator[nullable Object]>*/;
1940 if(!var3) break;
1941 var4 = ((val* (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__item]))(var2) /* item on <var2:Iterator[nullable Object]>*/;
1942 var_n = var4;
1943 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var_n) /* enter_visit on <var_v:Visitor>*/;
1944 CONTINUE_label: (void)0;
1945 ((void (*)(val*))(var2->class->vft[COLOR_abstract_collection__Iterator__next]))(var2) /* next on <var2:Iterator[nullable Object]>*/;
1946 }
1947 BREAK_label: (void)0;
1948 var5 = self->attrs[COLOR_parser_nodes__AForExpr___n_expr].val; /* _n_expr on <self:AForExpr> */
1949 if (var5 == NULL) {
1950 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
1951 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5579);
1952 show_backtrace(1);
1953 }
1954 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
1955 var6 = self->attrs[COLOR_parser_nodes__AForExpr___n_kwdo].val; /* _n_kwdo on <self:AForExpr> */
1956 if (var6 == NULL) {
1957 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwdo");
1958 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5580);
1959 show_backtrace(1);
1960 }
1961 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var6) /* enter_visit on <var_v:Visitor>*/;
1962 var7 = self->attrs[COLOR_parser_nodes__AForExpr___n_block].val; /* _n_block on <self:AForExpr> */
1963 var8 = NULL;
1964 if (var7 == NULL) {
1965 var9 = 0; /* is null */
1966 } else {
1967 var9 = 1; /* arg is null and recv is not */
1968 }
1969 if (var9){
1970 var10 = self->attrs[COLOR_parser_nodes__AForExpr___n_block].val; /* _n_block on <self:AForExpr> */
1971 if (var10 == NULL) {
1972 fprintf(stderr, "Runtime error: %s", "Cast failed");
1973 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5582);
1974 show_backtrace(1);
1975 }
1976 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var10) /* enter_visit on <var_v:Visitor>*/;
1977 } else {
1978 }
1979 var11 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AForExpr> */
1980 var12 = NULL;
1981 if (var11 == NULL) {
1982 var13 = 0; /* is null */
1983 } else {
1984 var13 = 1; /* arg is null and recv is not */
1985 }
1986 if (var13){
1987 var14 = self->attrs[COLOR_parser_nodes__ALabelable___n_label].val; /* _n_label on <self:AForExpr> */
1988 if (var14 == NULL) {
1989 fprintf(stderr, "Runtime error: %s", "Cast failed");
1990 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5585);
1991 show_backtrace(1);
1992 }
1993 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var14) /* enter_visit on <var_v:Visitor>*/;
1994 } else {
1995 }
1996 RET_LABEL:;
1997 }
1998 /* method parser_prod#AForExpr#visit_all for (self: Object, Visitor) */
1999 void VIRTUAL_parser_prod__AForExpr__visit_all(val* self, val* p0) {
2000 parser_prod__AForExpr__visit_all(self, p0);
2001 RET_LABEL:;
2002 }
2003 /* method parser_prod#AAssertExpr#empty_init for (self: AAssertExpr) */
2004 void parser_prod__AAssertExpr__empty_init(val* self) {
2005 RET_LABEL:;
2006 }
2007 /* method parser_prod#AAssertExpr#empty_init for (self: Object) */
2008 void VIRTUAL_parser_prod__AAssertExpr__empty_init(val* self) {
2009 parser_prod__AAssertExpr__empty_init(self);
2010 RET_LABEL:;
2011 }
2012 /* method parser_prod#AAssertExpr#init_aassertexpr for (self: AAssertExpr, nullable TKwassert, nullable TId, nullable AExpr, nullable AExpr) */
2013 void parser_prod__AAssertExpr__init_aassertexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
2014 val* var_n_kwassert /* var n_kwassert: nullable TKwassert */;
2015 val* var_n_id /* var n_id: nullable TId */;
2016 val* var_n_expr /* var n_expr: nullable AExpr */;
2017 val* var_n_else /* var n_else: nullable AExpr */;
2018 val* var /* : null */;
2019 short int var1 /* : Bool */;
2020 val* var2 /* : null */;
2021 short int var3 /* : Bool */;
2022 var_n_kwassert = p0;
2023 var_n_id = p1;
2024 var_n_expr = p2;
2025 var_n_else = p3;
2026 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAssertExpr__empty_init]))(self) /* empty_init on <self:AAssertExpr>*/;
2027 if (var_n_kwassert == NULL) {
2028 fprintf(stderr, "Runtime error: %s", "Cast failed");
2029 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5600);
2030 show_backtrace(1);
2031 }
2032 self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val = var_n_kwassert; /* _n_kwassert on <self:AAssertExpr> */
2033 if (var_n_kwassert == NULL) {
2034 fprintf(stderr, "Runtime error: %s", "Receiver is null");
2035 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5601);
2036 show_backtrace(1);
2037 } else {
2038 ((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>*/;
2039 }
2040 self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val = var_n_id; /* _n_id on <self:AAssertExpr> */
2041 var = NULL;
2042 if (var_n_id == NULL) {
2043 var1 = 0; /* is null */
2044 } else {
2045 var1 = 1; /* arg is null and recv is not */
2046 }
2047 if (var1){
2048 ((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)>*/;
2049 } else {
2050 }
2051 if (var_n_expr == NULL) {
2052 fprintf(stderr, "Runtime error: %s", "Cast failed");
2053 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5606);
2054 show_backtrace(1);
2055 }
2056 self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAssertExpr> */
2057 if (var_n_expr == NULL) {
2058 fprintf(stderr, "Runtime error: %s", "Receiver is null");
2059 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5607);
2060 show_backtrace(1);
2061 } else {
2062 ((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>*/;
2063 }
2064 self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val = var_n_else; /* _n_else on <self:AAssertExpr> */
2065 var2 = NULL;
2066 if (var_n_else == NULL) {
2067 var3 = 0; /* is null */
2068 } else {
2069 var3 = 1; /* arg is null and recv is not */
2070 }
2071 if (var3){
2072 ((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)>*/;
2073 } else {
2074 }
2075 RET_LABEL:;
2076 }
2077 /* method parser_prod#AAssertExpr#init_aassertexpr for (self: Object, nullable TKwassert, nullable TId, nullable AExpr, nullable AExpr) */
2078 void VIRTUAL_parser_prod__AAssertExpr__init_aassertexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
2079 parser_prod__AAssertExpr__init_aassertexpr(self, p0, p1, p2, p3);
2080 RET_LABEL:;
2081 }
2082 /* method parser_prod#AAssertExpr#replace_child for (self: AAssertExpr, ANode, nullable ANode) */
2083 void parser_prod__AAssertExpr__replace_child(val* self, val* p0, val* p1) {
2084 val* var_old_child /* var old_child: ANode */;
2085 val* var_new_child /* var new_child: nullable ANode */;
2086 val* var /* : TKwassert */;
2087 short int var1 /* : Bool */;
2088 val* var2 /* : null */;
2089 short int var3 /* : Bool */;
2090 short int var4 /* : Bool */;
2091 int cltype;
2092 int idtype;
2093 val* var5 /* : nullable TId */;
2094 short int var6 /* : Bool */;
2095 val* var7 /* : null */;
2096 short int var8 /* : Bool */;
2097 short int var9 /* : Bool */;
2098 int cltype10;
2099 int idtype11;
2100 val* var12 /* : null */;
2101 val* var13 /* : AExpr */;
2102 short int var14 /* : Bool */;
2103 val* var15 /* : null */;
2104 short int var16 /* : Bool */;
2105 short int var17 /* : Bool */;
2106 int cltype18;
2107 int idtype19;
2108 val* var20 /* : nullable AExpr */;
2109 short int var21 /* : Bool */;
2110 val* var22 /* : null */;
2111 short int var23 /* : Bool */;
2112 short int var24 /* : Bool */;
2113 int cltype25;
2114 int idtype26;
2115 val* var27 /* : null */;
2116 var_old_child = p0;
2117 var_new_child = p1;
2118 var = self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val; /* _n_kwassert on <self:AAssertExpr> */
2119 if (var == NULL) {
2120 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwassert");
2121 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5616);
2122 show_backtrace(1);
2123 }
2124 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwassert>*/;
2125 if (var1){
2126 var2 = NULL;
2127 if (var_new_child == NULL) {
2128 var3 = 0; /* is null */
2129 } else {
2130 var3 = 1; /* arg is null and recv is not */
2131 }
2132 if (var3){
2133 ((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)>*/;
2134 /* <var_new_child:nullable ANode(ANode)> isa TKwassert */
2135 cltype = type_parser_nodes__TKwassert.color;
2136 idtype = type_parser_nodes__TKwassert.id;
2137 if(cltype >= var_new_child->type->table_size) {
2138 var4 = 0;
2139 } else {
2140 var4 = var_new_child->type->type_table[cltype] == idtype;
2141 }
2142 if (!var4) {
2143 fprintf(stderr, "Runtime error: %s", "Assert failed");
2144 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5619);
2145 show_backtrace(1);
2146 }
2147 self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val = var_new_child; /* _n_kwassert on <self:AAssertExpr> */
2148 } else {
2149 fprintf(stderr, "Runtime error: %s", "Aborted");
2150 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5622);
2151 show_backtrace(1);
2152 }
2153 goto RET_LABEL;
2154 } else {
2155 }
2156 var5 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val; /* _n_id on <self:AAssertExpr> */
2157 if (var5 == NULL) {
2158 var6 = 0; /* <var_old_child:ANode> cannot be null */
2159 } else {
2160 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:nullable TId>*/;
2161 }
2162 if (var6){
2163 var7 = NULL;
2164 if (var_new_child == NULL) {
2165 var8 = 0; /* is null */
2166 } else {
2167 var8 = 1; /* arg is null and recv is not */
2168 }
2169 if (var8){
2170 ((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)>*/;
2171 /* <var_new_child:nullable ANode(ANode)> isa TId */
2172 cltype10 = type_parser_nodes__TId.color;
2173 idtype11 = type_parser_nodes__TId.id;
2174 if(cltype10 >= var_new_child->type->table_size) {
2175 var9 = 0;
2176 } else {
2177 var9 = var_new_child->type->type_table[cltype10] == idtype11;
2178 }
2179 if (!var9) {
2180 fprintf(stderr, "Runtime error: %s", "Assert failed");
2181 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5629);
2182 show_backtrace(1);
2183 }
2184 self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val = var_new_child; /* _n_id on <self:AAssertExpr> */
2185 } else {
2186 var12 = NULL;
2187 self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val = var12; /* _n_id on <self:AAssertExpr> */
2188 }
2189 goto RET_LABEL;
2190 } else {
2191 }
2192 var13 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val; /* _n_expr on <self:AAssertExpr> */
2193 if (var13 == NULL) {
2194 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
2195 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5636);
2196 show_backtrace(1);
2197 }
2198 var14 = ((short int (*)(val*, val*))(var13->class->vft[COLOR_kernel__Object___61d_61d]))(var13, var_old_child) /* == on <var13:AExpr>*/;
2199 if (var14){
2200 var15 = NULL;
2201 if (var_new_child == NULL) {
2202 var16 = 0; /* is null */
2203 } else {
2204 var16 = 1; /* arg is null and recv is not */
2205 }
2206 if (var16){
2207 ((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)>*/;
2208 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2209 cltype18 = type_parser_nodes__AExpr.color;
2210 idtype19 = type_parser_nodes__AExpr.id;
2211 if(cltype18 >= var_new_child->type->table_size) {
2212 var17 = 0;
2213 } else {
2214 var17 = var_new_child->type->type_table[cltype18] == idtype19;
2215 }
2216 if (!var17) {
2217 fprintf(stderr, "Runtime error: %s", "Assert failed");
2218 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5639);
2219 show_backtrace(1);
2220 }
2221 self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val = var_new_child; /* _n_expr on <self:AAssertExpr> */
2222 } else {
2223 fprintf(stderr, "Runtime error: %s", "Aborted");
2224 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5642);
2225 show_backtrace(1);
2226 }
2227 goto RET_LABEL;
2228 } else {
2229 }
2230 var20 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val; /* _n_else on <self:AAssertExpr> */
2231 if (var20 == NULL) {
2232 var21 = 0; /* <var_old_child:ANode> cannot be null */
2233 } else {
2234 var21 = ((short int (*)(val*, val*))(var20->class->vft[COLOR_kernel__Object___61d_61d]))(var20, var_old_child) /* == on <var20:nullable AExpr>*/;
2235 }
2236 if (var21){
2237 var22 = NULL;
2238 if (var_new_child == NULL) {
2239 var23 = 0; /* is null */
2240 } else {
2241 var23 = 1; /* arg is null and recv is not */
2242 }
2243 if (var23){
2244 ((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)>*/;
2245 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2246 cltype25 = type_parser_nodes__AExpr.color;
2247 idtype26 = type_parser_nodes__AExpr.id;
2248 if(cltype25 >= var_new_child->type->table_size) {
2249 var24 = 0;
2250 } else {
2251 var24 = var_new_child->type->type_table[cltype25] == idtype26;
2252 }
2253 if (!var24) {
2254 fprintf(stderr, "Runtime error: %s", "Assert failed");
2255 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5649);
2256 show_backtrace(1);
2257 }
2258 self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val = var_new_child; /* _n_else on <self:AAssertExpr> */
2259 } else {
2260 var27 = NULL;
2261 self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val = var27; /* _n_else on <self:AAssertExpr> */
2262 }
2263 goto RET_LABEL;
2264 } else {
2265 }
2266 RET_LABEL:;
2267 }
2268 /* method parser_prod#AAssertExpr#replace_child for (self: Object, ANode, nullable ANode) */
2269 void VIRTUAL_parser_prod__AAssertExpr__replace_child(val* self, val* p0, val* p1) {
2270 parser_prod__AAssertExpr__replace_child(self, p0, p1);
2271 RET_LABEL:;
2272 }
2273 /* method parser_prod#AAssertExpr#n_kwassert= for (self: AAssertExpr, TKwassert) */
2274 void parser_prod__AAssertExpr__n_kwassert_61d(val* self, val* p0) {
2275 val* var_node /* var node: TKwassert */;
2276 var_node = p0;
2277 self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val = var_node; /* _n_kwassert on <self:AAssertExpr> */
2278 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwassert>*/;
2279 RET_LABEL:;
2280 }
2281 /* method parser_prod#AAssertExpr#n_kwassert= for (self: Object, TKwassert) */
2282 void VIRTUAL_parser_prod__AAssertExpr__n_kwassert_61d(val* self, val* p0) {
2283 parser_prod__AAssertExpr__n_kwassert_61d(self, p0);
2284 RET_LABEL:;
2285 }
2286 /* method parser_prod#AAssertExpr#n_id= for (self: AAssertExpr, nullable TId) */
2287 void parser_prod__AAssertExpr__n_id_61d(val* self, val* p0) {
2288 val* var_node /* var node: nullable TId */;
2289 val* var /* : null */;
2290 short int var1 /* : Bool */;
2291 var_node = p0;
2292 self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val = var_node; /* _n_id on <self:AAssertExpr> */
2293 var = NULL;
2294 if (var_node == NULL) {
2295 var1 = 0; /* is null */
2296 } else {
2297 var1 = 1; /* arg is null and recv is not */
2298 }
2299 if (var1){
2300 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TId(TId)>*/;
2301 } else {
2302 }
2303 RET_LABEL:;
2304 }
2305 /* method parser_prod#AAssertExpr#n_id= for (self: Object, nullable TId) */
2306 void VIRTUAL_parser_prod__AAssertExpr__n_id_61d(val* self, val* p0) {
2307 parser_prod__AAssertExpr__n_id_61d(self, p0);
2308 RET_LABEL:;
2309 }
2310 /* method parser_prod#AAssertExpr#n_expr= for (self: AAssertExpr, AExpr) */
2311 void parser_prod__AAssertExpr__n_expr_61d(val* self, val* p0) {
2312 val* var_node /* var node: AExpr */;
2313 var_node = p0;
2314 self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val = var_node; /* _n_expr on <self:AAssertExpr> */
2315 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
2316 RET_LABEL:;
2317 }
2318 /* method parser_prod#AAssertExpr#n_expr= for (self: Object, AExpr) */
2319 void VIRTUAL_parser_prod__AAssertExpr__n_expr_61d(val* self, val* p0) {
2320 parser_prod__AAssertExpr__n_expr_61d(self, p0);
2321 RET_LABEL:;
2322 }
2323 /* method parser_prod#AAssertExpr#n_else= for (self: AAssertExpr, nullable AExpr) */
2324 void parser_prod__AAssertExpr__n_else_61d(val* self, val* p0) {
2325 val* var_node /* var node: nullable AExpr */;
2326 val* var /* : null */;
2327 short int var1 /* : Bool */;
2328 var_node = p0;
2329 self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val = var_node; /* _n_else on <self:AAssertExpr> */
2330 var = NULL;
2331 if (var_node == NULL) {
2332 var1 = 0; /* is null */
2333 } else {
2334 var1 = 1; /* arg is null and recv is not */
2335 }
2336 if (var1){
2337 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AExpr(AExpr)>*/;
2338 } else {
2339 }
2340 RET_LABEL:;
2341 }
2342 /* method parser_prod#AAssertExpr#n_else= for (self: Object, nullable AExpr) */
2343 void VIRTUAL_parser_prod__AAssertExpr__n_else_61d(val* self, val* p0) {
2344 parser_prod__AAssertExpr__n_else_61d(self, p0);
2345 RET_LABEL:;
2346 }
2347 /* method parser_prod#AAssertExpr#visit_all for (self: AAssertExpr, Visitor) */
2348 void parser_prod__AAssertExpr__visit_all(val* self, val* p0) {
2349 val* var_v /* var v: Visitor */;
2350 val* var /* : TKwassert */;
2351 val* var1 /* : nullable TId */;
2352 val* var2 /* : null */;
2353 short int var3 /* : Bool */;
2354 val* var4 /* : nullable TId */;
2355 val* var5 /* : AExpr */;
2356 val* var6 /* : nullable AExpr */;
2357 val* var7 /* : null */;
2358 short int var8 /* : Bool */;
2359 val* var9 /* : nullable AExpr */;
2360 var_v = p0;
2361 var = self->attrs[COLOR_parser_nodes__AAssertExpr___n_kwassert].val; /* _n_kwassert on <self:AAssertExpr> */
2362 if (var == NULL) {
2363 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwassert");
2364 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5686);
2365 show_backtrace(1);
2366 }
2367 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
2368 var1 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val; /* _n_id on <self:AAssertExpr> */
2369 var2 = NULL;
2370 if (var1 == NULL) {
2371 var3 = 0; /* is null */
2372 } else {
2373 var3 = 1; /* arg is null and recv is not */
2374 }
2375 if (var3){
2376 var4 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_id].val; /* _n_id on <self:AAssertExpr> */
2377 if (var4 == NULL) {
2378 fprintf(stderr, "Runtime error: %s", "Cast failed");
2379 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5688);
2380 show_backtrace(1);
2381 }
2382 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
2383 } else {
2384 }
2385 var5 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_expr].val; /* _n_expr on <self:AAssertExpr> */
2386 if (var5 == NULL) {
2387 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
2388 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5690);
2389 show_backtrace(1);
2390 }
2391 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
2392 var6 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val; /* _n_else on <self:AAssertExpr> */
2393 var7 = NULL;
2394 if (var6 == NULL) {
2395 var8 = 0; /* is null */
2396 } else {
2397 var8 = 1; /* arg is null and recv is not */
2398 }
2399 if (var8){
2400 var9 = self->attrs[COLOR_parser_nodes__AAssertExpr___n_else].val; /* _n_else on <self:AAssertExpr> */
2401 if (var9 == NULL) {
2402 fprintf(stderr, "Runtime error: %s", "Cast failed");
2403 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5692);
2404 show_backtrace(1);
2405 }
2406 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var9) /* enter_visit on <var_v:Visitor>*/;
2407 } else {
2408 }
2409 RET_LABEL:;
2410 }
2411 /* method parser_prod#AAssertExpr#visit_all for (self: Object, Visitor) */
2412 void VIRTUAL_parser_prod__AAssertExpr__visit_all(val* self, val* p0) {
2413 parser_prod__AAssertExpr__visit_all(self, p0);
2414 RET_LABEL:;
2415 }
2416 /* method parser_prod#AOnceExpr#empty_init for (self: AOnceExpr) */
2417 void parser_prod__AOnceExpr__empty_init(val* self) {
2418 RET_LABEL:;
2419 }
2420 /* method parser_prod#AOnceExpr#empty_init for (self: Object) */
2421 void VIRTUAL_parser_prod__AOnceExpr__empty_init(val* self) {
2422 parser_prod__AOnceExpr__empty_init(self);
2423 RET_LABEL:;
2424 }
2425 /* method parser_prod#AOnceExpr#init_aonceexpr for (self: AOnceExpr, nullable TKwonce, nullable AExpr) */
2426 void parser_prod__AOnceExpr__init_aonceexpr(val* self, val* p0, val* p1) {
2427 val* var_n_kwonce /* var n_kwonce: nullable TKwonce */;
2428 val* var_n_expr /* var n_expr: nullable AExpr */;
2429 var_n_kwonce = p0;
2430 var_n_expr = p1;
2431 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AOnceExpr__empty_init]))(self) /* empty_init on <self:AOnceExpr>*/;
2432 if (var_n_kwonce == NULL) {
2433 fprintf(stderr, "Runtime error: %s", "Cast failed");
2434 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5705);
2435 show_backtrace(1);
2436 }
2437 self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val = var_n_kwonce; /* _n_kwonce on <self:AOnceExpr> */
2438 if (var_n_kwonce == NULL) {
2439 fprintf(stderr, "Runtime error: %s", "Receiver is null");
2440 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5706);
2441 show_backtrace(1);
2442 } else {
2443 ((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>*/;
2444 }
2445 if (var_n_expr == NULL) {
2446 fprintf(stderr, "Runtime error: %s", "Cast failed");
2447 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5707);
2448 show_backtrace(1);
2449 }
2450 self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AOnceExpr> */
2451 if (var_n_expr == NULL) {
2452 fprintf(stderr, "Runtime error: %s", "Receiver is null");
2453 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5708);
2454 show_backtrace(1);
2455 } else {
2456 ((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>*/;
2457 }
2458 RET_LABEL:;
2459 }
2460 /* method parser_prod#AOnceExpr#init_aonceexpr for (self: Object, nullable TKwonce, nullable AExpr) */
2461 void VIRTUAL_parser_prod__AOnceExpr__init_aonceexpr(val* self, val* p0, val* p1) {
2462 parser_prod__AOnceExpr__init_aonceexpr(self, p0, p1);
2463 RET_LABEL:;
2464 }
2465 /* method parser_prod#AOnceExpr#replace_child for (self: AOnceExpr, ANode, nullable ANode) */
2466 void parser_prod__AOnceExpr__replace_child(val* self, val* p0, val* p1) {
2467 val* var_old_child /* var old_child: ANode */;
2468 val* var_new_child /* var new_child: nullable ANode */;
2469 val* var /* : TKwonce */;
2470 short int var1 /* : Bool */;
2471 val* var2 /* : null */;
2472 short int var3 /* : Bool */;
2473 short int var4 /* : Bool */;
2474 int cltype;
2475 int idtype;
2476 val* var5 /* : AExpr */;
2477 short int var6 /* : Bool */;
2478 val* var7 /* : null */;
2479 short int var8 /* : Bool */;
2480 short int var9 /* : Bool */;
2481 int cltype10;
2482 int idtype11;
2483 var_old_child = p0;
2484 var_new_child = p1;
2485 var = self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val; /* _n_kwonce on <self:AOnceExpr> */
2486 if (var == NULL) {
2487 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwonce");
2488 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5713);
2489 show_backtrace(1);
2490 }
2491 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwonce>*/;
2492 if (var1){
2493 var2 = NULL;
2494 if (var_new_child == NULL) {
2495 var3 = 0; /* is null */
2496 } else {
2497 var3 = 1; /* arg is null and recv is not */
2498 }
2499 if (var3){
2500 ((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)>*/;
2501 /* <var_new_child:nullable ANode(ANode)> isa TKwonce */
2502 cltype = type_parser_nodes__TKwonce.color;
2503 idtype = type_parser_nodes__TKwonce.id;
2504 if(cltype >= var_new_child->type->table_size) {
2505 var4 = 0;
2506 } else {
2507 var4 = var_new_child->type->type_table[cltype] == idtype;
2508 }
2509 if (!var4) {
2510 fprintf(stderr, "Runtime error: %s", "Assert failed");
2511 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5716);
2512 show_backtrace(1);
2513 }
2514 self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val = var_new_child; /* _n_kwonce on <self:AOnceExpr> */
2515 } else {
2516 fprintf(stderr, "Runtime error: %s", "Aborted");
2517 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5719);
2518 show_backtrace(1);
2519 }
2520 goto RET_LABEL;
2521 } else {
2522 }
2523 var5 = self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val; /* _n_expr on <self:AOnceExpr> */
2524 if (var5 == NULL) {
2525 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
2526 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5723);
2527 show_backtrace(1);
2528 }
2529 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
2530 if (var6){
2531 var7 = NULL;
2532 if (var_new_child == NULL) {
2533 var8 = 0; /* is null */
2534 } else {
2535 var8 = 1; /* arg is null and recv is not */
2536 }
2537 if (var8){
2538 ((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)>*/;
2539 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2540 cltype10 = type_parser_nodes__AExpr.color;
2541 idtype11 = type_parser_nodes__AExpr.id;
2542 if(cltype10 >= var_new_child->type->table_size) {
2543 var9 = 0;
2544 } else {
2545 var9 = var_new_child->type->type_table[cltype10] == idtype11;
2546 }
2547 if (!var9) {
2548 fprintf(stderr, "Runtime error: %s", "Assert failed");
2549 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5726);
2550 show_backtrace(1);
2551 }
2552 self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val = var_new_child; /* _n_expr on <self:AOnceExpr> */
2553 } else {
2554 fprintf(stderr, "Runtime error: %s", "Aborted");
2555 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5729);
2556 show_backtrace(1);
2557 }
2558 goto RET_LABEL;
2559 } else {
2560 }
2561 RET_LABEL:;
2562 }
2563 /* method parser_prod#AOnceExpr#replace_child for (self: Object, ANode, nullable ANode) */
2564 void VIRTUAL_parser_prod__AOnceExpr__replace_child(val* self, val* p0, val* p1) {
2565 parser_prod__AOnceExpr__replace_child(self, p0, p1);
2566 RET_LABEL:;
2567 }
2568 /* method parser_prod#AOnceExpr#n_kwonce= for (self: AOnceExpr, TKwonce) */
2569 void parser_prod__AOnceExpr__n_kwonce_61d(val* self, val* p0) {
2570 val* var_node /* var node: TKwonce */;
2571 var_node = p0;
2572 self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val = var_node; /* _n_kwonce on <self:AOnceExpr> */
2573 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwonce>*/;
2574 RET_LABEL:;
2575 }
2576 /* method parser_prod#AOnceExpr#n_kwonce= for (self: Object, TKwonce) */
2577 void VIRTUAL_parser_prod__AOnceExpr__n_kwonce_61d(val* self, val* p0) {
2578 parser_prod__AOnceExpr__n_kwonce_61d(self, p0);
2579 RET_LABEL:;
2580 }
2581 /* method parser_prod#AOnceExpr#n_expr= for (self: AOnceExpr, AExpr) */
2582 void parser_prod__AOnceExpr__n_expr_61d(val* self, val* p0) {
2583 val* var_node /* var node: AExpr */;
2584 var_node = p0;
2585 self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val = var_node; /* _n_expr on <self:AOnceExpr> */
2586 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
2587 RET_LABEL:;
2588 }
2589 /* method parser_prod#AOnceExpr#n_expr= for (self: Object, AExpr) */
2590 void VIRTUAL_parser_prod__AOnceExpr__n_expr_61d(val* self, val* p0) {
2591 parser_prod__AOnceExpr__n_expr_61d(self, p0);
2592 RET_LABEL:;
2593 }
2594 /* method parser_prod#AOnceExpr#visit_all for (self: AOnceExpr, Visitor) */
2595 void parser_prod__AOnceExpr__visit_all(val* self, val* p0) {
2596 val* var_v /* var v: Visitor */;
2597 val* var /* : TKwonce */;
2598 val* var1 /* : AExpr */;
2599 var_v = p0;
2600 var = self->attrs[COLOR_parser_nodes__AOnceExpr___n_kwonce].val; /* _n_kwonce on <self:AOnceExpr> */
2601 if (var == NULL) {
2602 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwonce");
2603 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5749);
2604 show_backtrace(1);
2605 }
2606 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
2607 var1 = self->attrs[COLOR_parser_nodes__AProxyExpr___n_expr].val; /* _n_expr on <self:AOnceExpr> */
2608 if (var1 == NULL) {
2609 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
2610 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5750);
2611 show_backtrace(1);
2612 }
2613 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
2614 RET_LABEL:;
2615 }
2616 /* method parser_prod#AOnceExpr#visit_all for (self: Object, Visitor) */
2617 void VIRTUAL_parser_prod__AOnceExpr__visit_all(val* self, val* p0) {
2618 parser_prod__AOnceExpr__visit_all(self, p0);
2619 RET_LABEL:;
2620 }
2621 /* method parser_prod#ASendExpr#empty_init for (self: ASendExpr) */
2622 void parser_prod__ASendExpr__empty_init(val* self) {
2623 RET_LABEL:;
2624 }
2625 /* method parser_prod#ASendExpr#empty_init for (self: Object) */
2626 void VIRTUAL_parser_prod__ASendExpr__empty_init(val* self) {
2627 parser_prod__ASendExpr__empty_init(self);
2628 RET_LABEL:;
2629 }
2630 /* method parser_prod#ASendExpr#init_asendexpr for (self: ASendExpr, nullable AExpr) */
2631 void parser_prod__ASendExpr__init_asendexpr(val* self, val* p0) {
2632 val* var_n_expr /* var n_expr: nullable AExpr */;
2633 var_n_expr = p0;
2634 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ASendExpr__empty_init]))(self) /* empty_init on <self:ASendExpr>*/;
2635 if (var_n_expr == NULL) {
2636 fprintf(stderr, "Runtime error: %s", "Cast failed");
2637 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5761);
2638 show_backtrace(1);
2639 }
2640 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ASendExpr> */
2641 if (var_n_expr == NULL) {
2642 fprintf(stderr, "Runtime error: %s", "Receiver is null");
2643 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5762);
2644 show_backtrace(1);
2645 } else {
2646 ((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>*/;
2647 }
2648 RET_LABEL:;
2649 }
2650 /* method parser_prod#ASendExpr#init_asendexpr for (self: Object, nullable AExpr) */
2651 void VIRTUAL_parser_prod__ASendExpr__init_asendexpr(val* self, val* p0) {
2652 parser_prod__ASendExpr__init_asendexpr(self, p0);
2653 RET_LABEL:;
2654 }
2655 /* method parser_prod#ASendExpr#replace_child for (self: ASendExpr, ANode, nullable ANode) */
2656 void parser_prod__ASendExpr__replace_child(val* self, val* p0, val* p1) {
2657 val* var_old_child /* var old_child: ANode */;
2658 val* var_new_child /* var new_child: nullable ANode */;
2659 val* var /* : AExpr */;
2660 short int var1 /* : Bool */;
2661 val* var2 /* : null */;
2662 short int var3 /* : Bool */;
2663 short int var4 /* : Bool */;
2664 int cltype;
2665 int idtype;
2666 var_old_child = p0;
2667 var_new_child = p1;
2668 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ASendExpr> */
2669 if (var == NULL) {
2670 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
2671 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5767);
2672 show_backtrace(1);
2673 }
2674 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
2675 if (var1){
2676 var2 = NULL;
2677 if (var_new_child == NULL) {
2678 var3 = 0; /* is null */
2679 } else {
2680 var3 = 1; /* arg is null and recv is not */
2681 }
2682 if (var3){
2683 ((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)>*/;
2684 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2685 cltype = type_parser_nodes__AExpr.color;
2686 idtype = type_parser_nodes__AExpr.id;
2687 if(cltype >= var_new_child->type->table_size) {
2688 var4 = 0;
2689 } else {
2690 var4 = var_new_child->type->type_table[cltype] == idtype;
2691 }
2692 if (!var4) {
2693 fprintf(stderr, "Runtime error: %s", "Assert failed");
2694 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5770);
2695 show_backtrace(1);
2696 }
2697 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ASendExpr> */
2698 } else {
2699 fprintf(stderr, "Runtime error: %s", "Aborted");
2700 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5773);
2701 show_backtrace(1);
2702 }
2703 goto RET_LABEL;
2704 } else {
2705 }
2706 RET_LABEL:;
2707 }
2708 /* method parser_prod#ASendExpr#replace_child for (self: Object, ANode, nullable ANode) */
2709 void VIRTUAL_parser_prod__ASendExpr__replace_child(val* self, val* p0, val* p1) {
2710 parser_prod__ASendExpr__replace_child(self, p0, p1);
2711 RET_LABEL:;
2712 }
2713 /* method parser_prod#ASendExpr#n_expr= for (self: ASendExpr, AExpr) */
2714 void parser_prod__ASendExpr__n_expr_61d(val* self, val* p0) {
2715 val* var_node /* var node: AExpr */;
2716 var_node = p0;
2717 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ASendExpr> */
2718 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
2719 RET_LABEL:;
2720 }
2721 /* method parser_prod#ASendExpr#n_expr= for (self: Object, AExpr) */
2722 void VIRTUAL_parser_prod__ASendExpr__n_expr_61d(val* self, val* p0) {
2723 parser_prod__ASendExpr__n_expr_61d(self, p0);
2724 RET_LABEL:;
2725 }
2726 /* method parser_prod#ASendExpr#visit_all for (self: ASendExpr, Visitor) */
2727 void parser_prod__ASendExpr__visit_all(val* self, val* p0) {
2728 val* var_v /* var v: Visitor */;
2729 val* var /* : AExpr */;
2730 var_v = p0;
2731 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ASendExpr> */
2732 if (var == NULL) {
2733 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
2734 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5788);
2735 show_backtrace(1);
2736 }
2737 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
2738 RET_LABEL:;
2739 }
2740 /* method parser_prod#ASendExpr#visit_all for (self: Object, Visitor) */
2741 void VIRTUAL_parser_prod__ASendExpr__visit_all(val* self, val* p0) {
2742 parser_prod__ASendExpr__visit_all(self, p0);
2743 RET_LABEL:;
2744 }
2745 /* method parser_prod#ABinopExpr#empty_init for (self: ABinopExpr) */
2746 void parser_prod__ABinopExpr__empty_init(val* self) {
2747 RET_LABEL:;
2748 }
2749 /* method parser_prod#ABinopExpr#empty_init for (self: Object) */
2750 void VIRTUAL_parser_prod__ABinopExpr__empty_init(val* self) {
2751 parser_prod__ABinopExpr__empty_init(self);
2752 RET_LABEL:;
2753 }
2754 /* method parser_prod#ABinopExpr#init_abinopexpr for (self: ABinopExpr, nullable AExpr, nullable AExpr) */
2755 void parser_prod__ABinopExpr__init_abinopexpr(val* self, val* p0, val* p1) {
2756 val* var_n_expr /* var n_expr: nullable AExpr */;
2757 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
2758 var_n_expr = p0;
2759 var_n_expr2 = p1;
2760 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ABinopExpr__empty_init]))(self) /* empty_init on <self:ABinopExpr>*/;
2761 if (var_n_expr == NULL) {
2762 fprintf(stderr, "Runtime error: %s", "Cast failed");
2763 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5800);
2764 show_backtrace(1);
2765 }
2766 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ABinopExpr> */
2767 if (var_n_expr == NULL) {
2768 fprintf(stderr, "Runtime error: %s", "Receiver is null");
2769 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5801);
2770 show_backtrace(1);
2771 } else {
2772 ((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>*/;
2773 }
2774 if (var_n_expr2 == NULL) {
2775 fprintf(stderr, "Runtime error: %s", "Cast failed");
2776 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5802);
2777 show_backtrace(1);
2778 }
2779 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ABinopExpr> */
2780 if (var_n_expr2 == NULL) {
2781 fprintf(stderr, "Runtime error: %s", "Receiver is null");
2782 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5803);
2783 show_backtrace(1);
2784 } else {
2785 ((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>*/;
2786 }
2787 RET_LABEL:;
2788 }
2789 /* method parser_prod#ABinopExpr#init_abinopexpr for (self: Object, nullable AExpr, nullable AExpr) */
2790 void VIRTUAL_parser_prod__ABinopExpr__init_abinopexpr(val* self, val* p0, val* p1) {
2791 parser_prod__ABinopExpr__init_abinopexpr(self, p0, p1);
2792 RET_LABEL:;
2793 }
2794 /* method parser_prod#ABinopExpr#replace_child for (self: ABinopExpr, ANode, nullable ANode) */
2795 void parser_prod__ABinopExpr__replace_child(val* self, val* p0, val* p1) {
2796 val* var_old_child /* var old_child: ANode */;
2797 val* var_new_child /* var new_child: nullable ANode */;
2798 val* var /* : AExpr */;
2799 short int var1 /* : Bool */;
2800 val* var2 /* : null */;
2801 short int var3 /* : Bool */;
2802 short int var4 /* : Bool */;
2803 int cltype;
2804 int idtype;
2805 val* var5 /* : AExpr */;
2806 short int var6 /* : Bool */;
2807 val* var7 /* : null */;
2808 short int var8 /* : Bool */;
2809 short int var9 /* : Bool */;
2810 int cltype10;
2811 int idtype11;
2812 var_old_child = p0;
2813 var_new_child = p1;
2814 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABinopExpr> */
2815 if (var == NULL) {
2816 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
2817 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5808);
2818 show_backtrace(1);
2819 }
2820 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
2821 if (var1){
2822 var2 = NULL;
2823 if (var_new_child == NULL) {
2824 var3 = 0; /* is null */
2825 } else {
2826 var3 = 1; /* arg is null and recv is not */
2827 }
2828 if (var3){
2829 ((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)>*/;
2830 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2831 cltype = type_parser_nodes__AExpr.color;
2832 idtype = type_parser_nodes__AExpr.id;
2833 if(cltype >= var_new_child->type->table_size) {
2834 var4 = 0;
2835 } else {
2836 var4 = var_new_child->type->type_table[cltype] == idtype;
2837 }
2838 if (!var4) {
2839 fprintf(stderr, "Runtime error: %s", "Assert failed");
2840 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5811);
2841 show_backtrace(1);
2842 }
2843 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ABinopExpr> */
2844 } else {
2845 fprintf(stderr, "Runtime error: %s", "Aborted");
2846 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5814);
2847 show_backtrace(1);
2848 }
2849 goto RET_LABEL;
2850 } else {
2851 }
2852 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ABinopExpr> */
2853 if (var5 == NULL) {
2854 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
2855 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5818);
2856 show_backtrace(1);
2857 }
2858 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
2859 if (var6){
2860 var7 = NULL;
2861 if (var_new_child == NULL) {
2862 var8 = 0; /* is null */
2863 } else {
2864 var8 = 1; /* arg is null and recv is not */
2865 }
2866 if (var8){
2867 ((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)>*/;
2868 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
2869 cltype10 = type_parser_nodes__AExpr.color;
2870 idtype11 = type_parser_nodes__AExpr.id;
2871 if(cltype10 >= var_new_child->type->table_size) {
2872 var9 = 0;
2873 } else {
2874 var9 = var_new_child->type->type_table[cltype10] == idtype11;
2875 }
2876 if (!var9) {
2877 fprintf(stderr, "Runtime error: %s", "Assert failed");
2878 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5821);
2879 show_backtrace(1);
2880 }
2881 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:ABinopExpr> */
2882 } else {
2883 fprintf(stderr, "Runtime error: %s", "Aborted");
2884 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5824);
2885 show_backtrace(1);
2886 }
2887 goto RET_LABEL;
2888 } else {
2889 }
2890 RET_LABEL:;
2891 }
2892 /* method parser_prod#ABinopExpr#replace_child for (self: Object, ANode, nullable ANode) */
2893 void VIRTUAL_parser_prod__ABinopExpr__replace_child(val* self, val* p0, val* p1) {
2894 parser_prod__ABinopExpr__replace_child(self, p0, p1);
2895 RET_LABEL:;
2896 }
2897 /* method parser_prod#ABinopExpr#n_expr= for (self: ABinopExpr, AExpr) */
2898 void parser_prod__ABinopExpr__n_expr_61d(val* self, val* p0) {
2899 val* var_node /* var node: AExpr */;
2900 var_node = p0;
2901 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ABinopExpr> */
2902 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
2903 RET_LABEL:;
2904 }
2905 /* method parser_prod#ABinopExpr#n_expr= for (self: Object, AExpr) */
2906 void VIRTUAL_parser_prod__ABinopExpr__n_expr_61d(val* self, val* p0) {
2907 parser_prod__ABinopExpr__n_expr_61d(self, p0);
2908 RET_LABEL:;
2909 }
2910 /* method parser_prod#ABinopExpr#n_expr2= for (self: ABinopExpr, AExpr) */
2911 void parser_prod__ABinopExpr__n_expr2_61d(val* self, val* p0) {
2912 val* var_node /* var node: AExpr */;
2913 var_node = p0;
2914 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ABinopExpr> */
2915 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
2916 RET_LABEL:;
2917 }
2918 /* method parser_prod#ABinopExpr#n_expr2= for (self: Object, AExpr) */
2919 void VIRTUAL_parser_prod__ABinopExpr__n_expr2_61d(val* self, val* p0) {
2920 parser_prod__ABinopExpr__n_expr2_61d(self, p0);
2921 RET_LABEL:;
2922 }
2923 /* method parser_prod#ABinopExpr#visit_all for (self: ABinopExpr, Visitor) */
2924 void parser_prod__ABinopExpr__visit_all(val* self, val* p0) {
2925 val* var_v /* var v: Visitor */;
2926 val* var /* : AExpr */;
2927 val* var1 /* : AExpr */;
2928 var_v = p0;
2929 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ABinopExpr> */
2930 if (var == NULL) {
2931 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
2932 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5844);
2933 show_backtrace(1);
2934 }
2935 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
2936 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ABinopExpr> */
2937 if (var1 == NULL) {
2938 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
2939 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5845);
2940 show_backtrace(1);
2941 }
2942 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
2943 RET_LABEL:;
2944 }
2945 /* method parser_prod#ABinopExpr#visit_all for (self: Object, Visitor) */
2946 void VIRTUAL_parser_prod__ABinopExpr__visit_all(val* self, val* p0) {
2947 parser_prod__ABinopExpr__visit_all(self, p0);
2948 RET_LABEL:;
2949 }
2950 /* method parser_prod#AOrExpr#empty_init for (self: AOrExpr) */
2951 void parser_prod__AOrExpr__empty_init(val* self) {
2952 RET_LABEL:;
2953 }
2954 /* method parser_prod#AOrExpr#empty_init for (self: Object) */
2955 void VIRTUAL_parser_prod__AOrExpr__empty_init(val* self) {
2956 parser_prod__AOrExpr__empty_init(self);
2957 RET_LABEL:;
2958 }
2959 /* method parser_prod#AOrExpr#init_aorexpr for (self: AOrExpr, nullable AExpr, nullable AExpr) */
2960 void parser_prod__AOrExpr__init_aorexpr(val* self, val* p0, val* p1) {
2961 val* var_n_expr /* var n_expr: nullable AExpr */;
2962 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
2963 var_n_expr = p0;
2964 var_n_expr2 = p1;
2965 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AOrExpr__empty_init]))(self) /* empty_init on <self:AOrExpr>*/;
2966 if (var_n_expr == NULL) {
2967 fprintf(stderr, "Runtime error: %s", "Cast failed");
2968 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5857);
2969 show_backtrace(1);
2970 }
2971 self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AOrExpr> */
2972 if (var_n_expr == NULL) {
2973 fprintf(stderr, "Runtime error: %s", "Receiver is null");
2974 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5858);
2975 show_backtrace(1);
2976 } else {
2977 ((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>*/;
2978 }
2979 if (var_n_expr2 == NULL) {
2980 fprintf(stderr, "Runtime error: %s", "Cast failed");
2981 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5859);
2982 show_backtrace(1);
2983 }
2984 self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AOrExpr> */
2985 if (var_n_expr2 == NULL) {
2986 fprintf(stderr, "Runtime error: %s", "Receiver is null");
2987 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5860);
2988 show_backtrace(1);
2989 } else {
2990 ((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>*/;
2991 }
2992 RET_LABEL:;
2993 }
2994 /* method parser_prod#AOrExpr#init_aorexpr for (self: Object, nullable AExpr, nullable AExpr) */
2995 void VIRTUAL_parser_prod__AOrExpr__init_aorexpr(val* self, val* p0, val* p1) {
2996 parser_prod__AOrExpr__init_aorexpr(self, p0, p1);
2997 RET_LABEL:;
2998 }
2999 /* method parser_prod#AOrExpr#replace_child for (self: AOrExpr, ANode, nullable ANode) */
3000 void parser_prod__AOrExpr__replace_child(val* self, val* p0, val* p1) {
3001 val* var_old_child /* var old_child: ANode */;
3002 val* var_new_child /* var new_child: nullable ANode */;
3003 val* var /* : AExpr */;
3004 short int var1 /* : Bool */;
3005 val* var2 /* : null */;
3006 short int var3 /* : Bool */;
3007 short int var4 /* : Bool */;
3008 int cltype;
3009 int idtype;
3010 val* var5 /* : AExpr */;
3011 short int var6 /* : Bool */;
3012 val* var7 /* : null */;
3013 short int var8 /* : Bool */;
3014 short int var9 /* : Bool */;
3015 int cltype10;
3016 int idtype11;
3017 var_old_child = p0;
3018 var_new_child = p1;
3019 var = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val; /* _n_expr on <self:AOrExpr> */
3020 if (var == NULL) {
3021 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
3022 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5865);
3023 show_backtrace(1);
3024 }
3025 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
3026 if (var1){
3027 var2 = NULL;
3028 if (var_new_child == NULL) {
3029 var3 = 0; /* is null */
3030 } else {
3031 var3 = 1; /* arg is null and recv is not */
3032 }
3033 if (var3){
3034 ((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)>*/;
3035 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3036 cltype = type_parser_nodes__AExpr.color;
3037 idtype = type_parser_nodes__AExpr.id;
3038 if(cltype >= var_new_child->type->table_size) {
3039 var4 = 0;
3040 } else {
3041 var4 = var_new_child->type->type_table[cltype] == idtype;
3042 }
3043 if (!var4) {
3044 fprintf(stderr, "Runtime error: %s", "Assert failed");
3045 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5868);
3046 show_backtrace(1);
3047 }
3048 self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val = var_new_child; /* _n_expr on <self:AOrExpr> */
3049 } else {
3050 fprintf(stderr, "Runtime error: %s", "Aborted");
3051 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5871);
3052 show_backtrace(1);
3053 }
3054 goto RET_LABEL;
3055 } else {
3056 }
3057 var5 = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val; /* _n_expr2 on <self:AOrExpr> */
3058 if (var5 == NULL) {
3059 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
3060 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5875);
3061 show_backtrace(1);
3062 }
3063 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
3064 if (var6){
3065 var7 = NULL;
3066 if (var_new_child == NULL) {
3067 var8 = 0; /* is null */
3068 } else {
3069 var8 = 1; /* arg is null and recv is not */
3070 }
3071 if (var8){
3072 ((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)>*/;
3073 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3074 cltype10 = type_parser_nodes__AExpr.color;
3075 idtype11 = type_parser_nodes__AExpr.id;
3076 if(cltype10 >= var_new_child->type->table_size) {
3077 var9 = 0;
3078 } else {
3079 var9 = var_new_child->type->type_table[cltype10] == idtype11;
3080 }
3081 if (!var9) {
3082 fprintf(stderr, "Runtime error: %s", "Assert failed");
3083 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5878);
3084 show_backtrace(1);
3085 }
3086 self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AOrExpr> */
3087 } else {
3088 fprintf(stderr, "Runtime error: %s", "Aborted");
3089 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5881);
3090 show_backtrace(1);
3091 }
3092 goto RET_LABEL;
3093 } else {
3094 }
3095 RET_LABEL:;
3096 }
3097 /* method parser_prod#AOrExpr#replace_child for (self: Object, ANode, nullable ANode) */
3098 void VIRTUAL_parser_prod__AOrExpr__replace_child(val* self, val* p0, val* p1) {
3099 parser_prod__AOrExpr__replace_child(self, p0, p1);
3100 RET_LABEL:;
3101 }
3102 /* method parser_prod#AOrExpr#n_expr= for (self: AOrExpr, AExpr) */
3103 void parser_prod__AOrExpr__n_expr_61d(val* self, val* p0) {
3104 val* var_node /* var node: AExpr */;
3105 var_node = p0;
3106 self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val = var_node; /* _n_expr on <self:AOrExpr> */
3107 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3108 RET_LABEL:;
3109 }
3110 /* method parser_prod#AOrExpr#n_expr= for (self: Object, AExpr) */
3111 void VIRTUAL_parser_prod__AOrExpr__n_expr_61d(val* self, val* p0) {
3112 parser_prod__AOrExpr__n_expr_61d(self, p0);
3113 RET_LABEL:;
3114 }
3115 /* method parser_prod#AOrExpr#n_expr2= for (self: AOrExpr, AExpr) */
3116 void parser_prod__AOrExpr__n_expr2_61d(val* self, val* p0) {
3117 val* var_node /* var node: AExpr */;
3118 var_node = p0;
3119 self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AOrExpr> */
3120 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3121 RET_LABEL:;
3122 }
3123 /* method parser_prod#AOrExpr#n_expr2= for (self: Object, AExpr) */
3124 void VIRTUAL_parser_prod__AOrExpr__n_expr2_61d(val* self, val* p0) {
3125 parser_prod__AOrExpr__n_expr2_61d(self, p0);
3126 RET_LABEL:;
3127 }
3128 /* method parser_prod#AOrExpr#visit_all for (self: AOrExpr, Visitor) */
3129 void parser_prod__AOrExpr__visit_all(val* self, val* p0) {
3130 val* var_v /* var v: Visitor */;
3131 val* var /* : AExpr */;
3132 val* var1 /* : AExpr */;
3133 var_v = p0;
3134 var = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr].val; /* _n_expr on <self:AOrExpr> */
3135 if (var == NULL) {
3136 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
3137 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5901);
3138 show_backtrace(1);
3139 }
3140 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3141 var1 = self->attrs[COLOR_parser_nodes__AOrExpr___n_expr2].val; /* _n_expr2 on <self:AOrExpr> */
3142 if (var1 == NULL) {
3143 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
3144 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5902);
3145 show_backtrace(1);
3146 }
3147 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
3148 RET_LABEL:;
3149 }
3150 /* method parser_prod#AOrExpr#visit_all for (self: Object, Visitor) */
3151 void VIRTUAL_parser_prod__AOrExpr__visit_all(val* self, val* p0) {
3152 parser_prod__AOrExpr__visit_all(self, p0);
3153 RET_LABEL:;
3154 }
3155 /* method parser_prod#AAndExpr#empty_init for (self: AAndExpr) */
3156 void parser_prod__AAndExpr__empty_init(val* self) {
3157 RET_LABEL:;
3158 }
3159 /* method parser_prod#AAndExpr#empty_init for (self: Object) */
3160 void VIRTUAL_parser_prod__AAndExpr__empty_init(val* self) {
3161 parser_prod__AAndExpr__empty_init(self);
3162 RET_LABEL:;
3163 }
3164 /* method parser_prod#AAndExpr#init_aandexpr for (self: AAndExpr, nullable AExpr, nullable AExpr) */
3165 void parser_prod__AAndExpr__init_aandexpr(val* self, val* p0, val* p1) {
3166 val* var_n_expr /* var n_expr: nullable AExpr */;
3167 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
3168 var_n_expr = p0;
3169 var_n_expr2 = p1;
3170 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAndExpr__empty_init]))(self) /* empty_init on <self:AAndExpr>*/;
3171 if (var_n_expr == NULL) {
3172 fprintf(stderr, "Runtime error: %s", "Cast failed");
3173 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5914);
3174 show_backtrace(1);
3175 }
3176 self->attrs[COLOR_parser_nodes__AAndExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAndExpr> */
3177 if (var_n_expr == NULL) {
3178 fprintf(stderr, "Runtime error: %s", "Receiver is null");
3179 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5915);
3180 show_backtrace(1);
3181 } else {
3182 ((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>*/;
3183 }
3184 if (var_n_expr2 == NULL) {
3185 fprintf(stderr, "Runtime error: %s", "Cast failed");
3186 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5916);
3187 show_backtrace(1);
3188 }
3189 self->attrs[COLOR_parser_nodes__AAndExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AAndExpr> */
3190 if (var_n_expr2 == NULL) {
3191 fprintf(stderr, "Runtime error: %s", "Receiver is null");
3192 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5917);
3193 show_backtrace(1);
3194 } else {
3195 ((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>*/;
3196 }
3197 RET_LABEL:;
3198 }
3199 /* method parser_prod#AAndExpr#init_aandexpr for (self: Object, nullable AExpr, nullable AExpr) */
3200 void VIRTUAL_parser_prod__AAndExpr__init_aandexpr(val* self, val* p0, val* p1) {
3201 parser_prod__AAndExpr__init_aandexpr(self, p0, p1);
3202 RET_LABEL:;
3203 }
3204 /* method parser_prod#AAndExpr#replace_child for (self: AAndExpr, ANode, nullable ANode) */
3205 void parser_prod__AAndExpr__replace_child(val* self, val* p0, val* p1) {
3206 val* var_old_child /* var old_child: ANode */;
3207 val* var_new_child /* var new_child: nullable ANode */;
3208 val* var /* : AExpr */;
3209 short int var1 /* : Bool */;
3210 val* var2 /* : null */;
3211 short int var3 /* : Bool */;
3212 short int var4 /* : Bool */;
3213 int cltype;
3214 int idtype;
3215 val* var5 /* : AExpr */;
3216 short int var6 /* : Bool */;
3217 val* var7 /* : null */;
3218 short int var8 /* : Bool */;
3219 short int var9 /* : Bool */;
3220 int cltype10;
3221 int idtype11;
3222 var_old_child = p0;
3223 var_new_child = p1;
3224 var = self->attrs[COLOR_parser_nodes__AAndExpr___n_expr].val; /* _n_expr on <self:AAndExpr> */
3225 if (var == NULL) {
3226 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
3227 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5922);
3228 show_backtrace(1);
3229 }
3230 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
3231 if (var1){
3232 var2 = NULL;
3233 if (var_new_child == NULL) {
3234 var3 = 0; /* is null */
3235 } else {
3236 var3 = 1; /* arg is null and recv is not */
3237 }
3238 if (var3){
3239 ((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)>*/;
3240 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3241 cltype = type_parser_nodes__AExpr.color;
3242 idtype = type_parser_nodes__AExpr.id;
3243 if(cltype >= var_new_child->type->table_size) {
3244 var4 = 0;
3245 } else {
3246 var4 = var_new_child->type->type_table[cltype] == idtype;
3247 }
3248 if (!var4) {
3249 fprintf(stderr, "Runtime error: %s", "Assert failed");
3250 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5925);
3251 show_backtrace(1);
3252 }
3253 self->attrs[COLOR_parser_nodes__AAndExpr___n_expr].val = var_new_child; /* _n_expr on <self:AAndExpr> */
3254 } else {
3255 fprintf(stderr, "Runtime error: %s", "Aborted");
3256 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5928);
3257 show_backtrace(1);
3258 }
3259 goto RET_LABEL;
3260 } else {
3261 }
3262 var5 = self->attrs[COLOR_parser_nodes__AAndExpr___n_expr2].val; /* _n_expr2 on <self:AAndExpr> */
3263 if (var5 == NULL) {
3264 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
3265 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5932);
3266 show_backtrace(1);
3267 }
3268 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
3269 if (var6){
3270 var7 = NULL;
3271 if (var_new_child == NULL) {
3272 var8 = 0; /* is null */
3273 } else {
3274 var8 = 1; /* arg is null and recv is not */
3275 }
3276 if (var8){
3277 ((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)>*/;
3278 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3279 cltype10 = type_parser_nodes__AExpr.color;
3280 idtype11 = type_parser_nodes__AExpr.id;
3281 if(cltype10 >= var_new_child->type->table_size) {
3282 var9 = 0;
3283 } else {
3284 var9 = var_new_child->type->type_table[cltype10] == idtype11;
3285 }
3286 if (!var9) {
3287 fprintf(stderr, "Runtime error: %s", "Assert failed");
3288 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5935);
3289 show_backtrace(1);
3290 }
3291 self->attrs[COLOR_parser_nodes__AAndExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AAndExpr> */
3292 } else {
3293 fprintf(stderr, "Runtime error: %s", "Aborted");
3294 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5938);
3295 show_backtrace(1);
3296 }
3297 goto RET_LABEL;
3298 } else {
3299 }
3300 RET_LABEL:;
3301 }
3302 /* method parser_prod#AAndExpr#replace_child for (self: Object, ANode, nullable ANode) */
3303 void VIRTUAL_parser_prod__AAndExpr__replace_child(val* self, val* p0, val* p1) {
3304 parser_prod__AAndExpr__replace_child(self, p0, p1);
3305 RET_LABEL:;
3306 }
3307 /* method parser_prod#AAndExpr#n_expr= for (self: AAndExpr, AExpr) */
3308 void parser_prod__AAndExpr__n_expr_61d(val* self, val* p0) {
3309 val* var_node /* var node: AExpr */;
3310 var_node = p0;
3311 self->attrs[COLOR_parser_nodes__AAndExpr___n_expr].val = var_node; /* _n_expr on <self:AAndExpr> */
3312 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3313 RET_LABEL:;
3314 }
3315 /* method parser_prod#AAndExpr#n_expr= for (self: Object, AExpr) */
3316 void VIRTUAL_parser_prod__AAndExpr__n_expr_61d(val* self, val* p0) {
3317 parser_prod__AAndExpr__n_expr_61d(self, p0);
3318 RET_LABEL:;
3319 }
3320 /* method parser_prod#AAndExpr#n_expr2= for (self: AAndExpr, AExpr) */
3321 void parser_prod__AAndExpr__n_expr2_61d(val* self, val* p0) {
3322 val* var_node /* var node: AExpr */;
3323 var_node = p0;
3324 self->attrs[COLOR_parser_nodes__AAndExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AAndExpr> */
3325 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3326 RET_LABEL:;
3327 }
3328 /* method parser_prod#AAndExpr#n_expr2= for (self: Object, AExpr) */
3329 void VIRTUAL_parser_prod__AAndExpr__n_expr2_61d(val* self, val* p0) {
3330 parser_prod__AAndExpr__n_expr2_61d(self, p0);
3331 RET_LABEL:;
3332 }
3333 /* method parser_prod#AAndExpr#visit_all for (self: AAndExpr, Visitor) */
3334 void parser_prod__AAndExpr__visit_all(val* self, val* p0) {
3335 val* var_v /* var v: Visitor */;
3336 val* var /* : AExpr */;
3337 val* var1 /* : AExpr */;
3338 var_v = p0;
3339 var = self->attrs[COLOR_parser_nodes__AAndExpr___n_expr].val; /* _n_expr on <self:AAndExpr> */
3340 if (var == NULL) {
3341 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
3342 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5958);
3343 show_backtrace(1);
3344 }
3345 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3346 var1 = self->attrs[COLOR_parser_nodes__AAndExpr___n_expr2].val; /* _n_expr2 on <self:AAndExpr> */
3347 if (var1 == NULL) {
3348 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
3349 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5959);
3350 show_backtrace(1);
3351 }
3352 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
3353 RET_LABEL:;
3354 }
3355 /* method parser_prod#AAndExpr#visit_all for (self: Object, Visitor) */
3356 void VIRTUAL_parser_prod__AAndExpr__visit_all(val* self, val* p0) {
3357 parser_prod__AAndExpr__visit_all(self, p0);
3358 RET_LABEL:;
3359 }
3360 /* method parser_prod#AOrElseExpr#empty_init for (self: AOrElseExpr) */
3361 void parser_prod__AOrElseExpr__empty_init(val* self) {
3362 RET_LABEL:;
3363 }
3364 /* method parser_prod#AOrElseExpr#empty_init for (self: Object) */
3365 void VIRTUAL_parser_prod__AOrElseExpr__empty_init(val* self) {
3366 parser_prod__AOrElseExpr__empty_init(self);
3367 RET_LABEL:;
3368 }
3369 /* method parser_prod#AOrElseExpr#init_aorelseexpr for (self: AOrElseExpr, nullable AExpr, nullable AExpr) */
3370 void parser_prod__AOrElseExpr__init_aorelseexpr(val* self, val* p0, val* p1) {
3371 val* var_n_expr /* var n_expr: nullable AExpr */;
3372 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
3373 var_n_expr = p0;
3374 var_n_expr2 = p1;
3375 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AOrElseExpr__empty_init]))(self) /* empty_init on <self:AOrElseExpr>*/;
3376 if (var_n_expr == NULL) {
3377 fprintf(stderr, "Runtime error: %s", "Cast failed");
3378 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5971);
3379 show_backtrace(1);
3380 }
3381 self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AOrElseExpr> */
3382 if (var_n_expr == NULL) {
3383 fprintf(stderr, "Runtime error: %s", "Receiver is null");
3384 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5972);
3385 show_backtrace(1);
3386 } else {
3387 ((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>*/;
3388 }
3389 if (var_n_expr2 == NULL) {
3390 fprintf(stderr, "Runtime error: %s", "Cast failed");
3391 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5973);
3392 show_backtrace(1);
3393 }
3394 self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AOrElseExpr> */
3395 if (var_n_expr2 == NULL) {
3396 fprintf(stderr, "Runtime error: %s", "Receiver is null");
3397 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5974);
3398 show_backtrace(1);
3399 } else {
3400 ((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>*/;
3401 }
3402 RET_LABEL:;
3403 }
3404 /* method parser_prod#AOrElseExpr#init_aorelseexpr for (self: Object, nullable AExpr, nullable AExpr) */
3405 void VIRTUAL_parser_prod__AOrElseExpr__init_aorelseexpr(val* self, val* p0, val* p1) {
3406 parser_prod__AOrElseExpr__init_aorelseexpr(self, p0, p1);
3407 RET_LABEL:;
3408 }
3409 /* method parser_prod#AOrElseExpr#replace_child for (self: AOrElseExpr, ANode, nullable ANode) */
3410 void parser_prod__AOrElseExpr__replace_child(val* self, val* p0, val* p1) {
3411 val* var_old_child /* var old_child: ANode */;
3412 val* var_new_child /* var new_child: nullable ANode */;
3413 val* var /* : AExpr */;
3414 short int var1 /* : Bool */;
3415 val* var2 /* : null */;
3416 short int var3 /* : Bool */;
3417 short int var4 /* : Bool */;
3418 int cltype;
3419 int idtype;
3420 val* var5 /* : AExpr */;
3421 short int var6 /* : Bool */;
3422 val* var7 /* : null */;
3423 short int var8 /* : Bool */;
3424 short int var9 /* : Bool */;
3425 int cltype10;
3426 int idtype11;
3427 var_old_child = p0;
3428 var_new_child = p1;
3429 var = self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr].val; /* _n_expr on <self:AOrElseExpr> */
3430 if (var == NULL) {
3431 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
3432 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5979);
3433 show_backtrace(1);
3434 }
3435 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
3436 if (var1){
3437 var2 = NULL;
3438 if (var_new_child == NULL) {
3439 var3 = 0; /* is null */
3440 } else {
3441 var3 = 1; /* arg is null and recv is not */
3442 }
3443 if (var3){
3444 ((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)>*/;
3445 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3446 cltype = type_parser_nodes__AExpr.color;
3447 idtype = type_parser_nodes__AExpr.id;
3448 if(cltype >= var_new_child->type->table_size) {
3449 var4 = 0;
3450 } else {
3451 var4 = var_new_child->type->type_table[cltype] == idtype;
3452 }
3453 if (!var4) {
3454 fprintf(stderr, "Runtime error: %s", "Assert failed");
3455 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5982);
3456 show_backtrace(1);
3457 }
3458 self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr].val = var_new_child; /* _n_expr on <self:AOrElseExpr> */
3459 } else {
3460 fprintf(stderr, "Runtime error: %s", "Aborted");
3461 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5985);
3462 show_backtrace(1);
3463 }
3464 goto RET_LABEL;
3465 } else {
3466 }
3467 var5 = self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr2].val; /* _n_expr2 on <self:AOrElseExpr> */
3468 if (var5 == NULL) {
3469 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
3470 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5989);
3471 show_backtrace(1);
3472 }
3473 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
3474 if (var6){
3475 var7 = NULL;
3476 if (var_new_child == NULL) {
3477 var8 = 0; /* is null */
3478 } else {
3479 var8 = 1; /* arg is null and recv is not */
3480 }
3481 if (var8){
3482 ((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)>*/;
3483 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3484 cltype10 = type_parser_nodes__AExpr.color;
3485 idtype11 = type_parser_nodes__AExpr.id;
3486 if(cltype10 >= var_new_child->type->table_size) {
3487 var9 = 0;
3488 } else {
3489 var9 = var_new_child->type->type_table[cltype10] == idtype11;
3490 }
3491 if (!var9) {
3492 fprintf(stderr, "Runtime error: %s", "Assert failed");
3493 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5992);
3494 show_backtrace(1);
3495 }
3496 self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AOrElseExpr> */
3497 } else {
3498 fprintf(stderr, "Runtime error: %s", "Aborted");
3499 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 5995);
3500 show_backtrace(1);
3501 }
3502 goto RET_LABEL;
3503 } else {
3504 }
3505 RET_LABEL:;
3506 }
3507 /* method parser_prod#AOrElseExpr#replace_child for (self: Object, ANode, nullable ANode) */
3508 void VIRTUAL_parser_prod__AOrElseExpr__replace_child(val* self, val* p0, val* p1) {
3509 parser_prod__AOrElseExpr__replace_child(self, p0, p1);
3510 RET_LABEL:;
3511 }
3512 /* method parser_prod#AOrElseExpr#n_expr= for (self: AOrElseExpr, AExpr) */
3513 void parser_prod__AOrElseExpr__n_expr_61d(val* self, val* p0) {
3514 val* var_node /* var node: AExpr */;
3515 var_node = p0;
3516 self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr].val = var_node; /* _n_expr on <self:AOrElseExpr> */
3517 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3518 RET_LABEL:;
3519 }
3520 /* method parser_prod#AOrElseExpr#n_expr= for (self: Object, AExpr) */
3521 void VIRTUAL_parser_prod__AOrElseExpr__n_expr_61d(val* self, val* p0) {
3522 parser_prod__AOrElseExpr__n_expr_61d(self, p0);
3523 RET_LABEL:;
3524 }
3525 /* method parser_prod#AOrElseExpr#n_expr2= for (self: AOrElseExpr, AExpr) */
3526 void parser_prod__AOrElseExpr__n_expr2_61d(val* self, val* p0) {
3527 val* var_node /* var node: AExpr */;
3528 var_node = p0;
3529 self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AOrElseExpr> */
3530 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3531 RET_LABEL:;
3532 }
3533 /* method parser_prod#AOrElseExpr#n_expr2= for (self: Object, AExpr) */
3534 void VIRTUAL_parser_prod__AOrElseExpr__n_expr2_61d(val* self, val* p0) {
3535 parser_prod__AOrElseExpr__n_expr2_61d(self, p0);
3536 RET_LABEL:;
3537 }
3538 /* method parser_prod#AOrElseExpr#visit_all for (self: AOrElseExpr, Visitor) */
3539 void parser_prod__AOrElseExpr__visit_all(val* self, val* p0) {
3540 val* var_v /* var v: Visitor */;
3541 val* var /* : AExpr */;
3542 val* var1 /* : AExpr */;
3543 var_v = p0;
3544 var = self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr].val; /* _n_expr on <self:AOrElseExpr> */
3545 if (var == NULL) {
3546 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
3547 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6015);
3548 show_backtrace(1);
3549 }
3550 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3551 var1 = self->attrs[COLOR_parser_nodes__AOrElseExpr___n_expr2].val; /* _n_expr2 on <self:AOrElseExpr> */
3552 if (var1 == NULL) {
3553 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
3554 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6016);
3555 show_backtrace(1);
3556 }
3557 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
3558 RET_LABEL:;
3559 }
3560 /* method parser_prod#AOrElseExpr#visit_all for (self: Object, Visitor) */
3561 void VIRTUAL_parser_prod__AOrElseExpr__visit_all(val* self, val* p0) {
3562 parser_prod__AOrElseExpr__visit_all(self, p0);
3563 RET_LABEL:;
3564 }
3565 /* method parser_prod#AImpliesExpr#empty_init for (self: AImpliesExpr) */
3566 void parser_prod__AImpliesExpr__empty_init(val* self) {
3567 RET_LABEL:;
3568 }
3569 /* method parser_prod#AImpliesExpr#empty_init for (self: Object) */
3570 void VIRTUAL_parser_prod__AImpliesExpr__empty_init(val* self) {
3571 parser_prod__AImpliesExpr__empty_init(self);
3572 RET_LABEL:;
3573 }
3574 /* method parser_prod#AImpliesExpr#init_aimpliesexpr for (self: AImpliesExpr, nullable AExpr, nullable AExpr) */
3575 void parser_prod__AImpliesExpr__init_aimpliesexpr(val* self, val* p0, val* p1) {
3576 val* var_n_expr /* var n_expr: nullable AExpr */;
3577 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
3578 var_n_expr = p0;
3579 var_n_expr2 = p1;
3580 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AImpliesExpr__empty_init]))(self) /* empty_init on <self:AImpliesExpr>*/;
3581 if (var_n_expr == NULL) {
3582 fprintf(stderr, "Runtime error: %s", "Cast failed");
3583 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6028);
3584 show_backtrace(1);
3585 }
3586 self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AImpliesExpr> */
3587 if (var_n_expr == NULL) {
3588 fprintf(stderr, "Runtime error: %s", "Receiver is null");
3589 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6029);
3590 show_backtrace(1);
3591 } else {
3592 ((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>*/;
3593 }
3594 if (var_n_expr2 == NULL) {
3595 fprintf(stderr, "Runtime error: %s", "Cast failed");
3596 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6030);
3597 show_backtrace(1);
3598 }
3599 self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AImpliesExpr> */
3600 if (var_n_expr2 == NULL) {
3601 fprintf(stderr, "Runtime error: %s", "Receiver is null");
3602 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6031);
3603 show_backtrace(1);
3604 } else {
3605 ((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>*/;
3606 }
3607 RET_LABEL:;
3608 }
3609 /* method parser_prod#AImpliesExpr#init_aimpliesexpr for (self: Object, nullable AExpr, nullable AExpr) */
3610 void VIRTUAL_parser_prod__AImpliesExpr__init_aimpliesexpr(val* self, val* p0, val* p1) {
3611 parser_prod__AImpliesExpr__init_aimpliesexpr(self, p0, p1);
3612 RET_LABEL:;
3613 }
3614 /* method parser_prod#AImpliesExpr#replace_child for (self: AImpliesExpr, ANode, nullable ANode) */
3615 void parser_prod__AImpliesExpr__replace_child(val* self, val* p0, val* p1) {
3616 val* var_old_child /* var old_child: ANode */;
3617 val* var_new_child /* var new_child: nullable ANode */;
3618 val* var /* : AExpr */;
3619 short int var1 /* : Bool */;
3620 val* var2 /* : null */;
3621 short int var3 /* : Bool */;
3622 short int var4 /* : Bool */;
3623 int cltype;
3624 int idtype;
3625 val* var5 /* : AExpr */;
3626 short int var6 /* : Bool */;
3627 val* var7 /* : null */;
3628 short int var8 /* : Bool */;
3629 short int var9 /* : Bool */;
3630 int cltype10;
3631 int idtype11;
3632 var_old_child = p0;
3633 var_new_child = p1;
3634 var = self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr].val; /* _n_expr on <self:AImpliesExpr> */
3635 if (var == NULL) {
3636 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
3637 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6036);
3638 show_backtrace(1);
3639 }
3640 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
3641 if (var1){
3642 var2 = NULL;
3643 if (var_new_child == NULL) {
3644 var3 = 0; /* is null */
3645 } else {
3646 var3 = 1; /* arg is null and recv is not */
3647 }
3648 if (var3){
3649 ((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)>*/;
3650 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3651 cltype = type_parser_nodes__AExpr.color;
3652 idtype = type_parser_nodes__AExpr.id;
3653 if(cltype >= var_new_child->type->table_size) {
3654 var4 = 0;
3655 } else {
3656 var4 = var_new_child->type->type_table[cltype] == idtype;
3657 }
3658 if (!var4) {
3659 fprintf(stderr, "Runtime error: %s", "Assert failed");
3660 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6039);
3661 show_backtrace(1);
3662 }
3663 self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr].val = var_new_child; /* _n_expr on <self:AImpliesExpr> */
3664 } else {
3665 fprintf(stderr, "Runtime error: %s", "Aborted");
3666 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6042);
3667 show_backtrace(1);
3668 }
3669 goto RET_LABEL;
3670 } else {
3671 }
3672 var5 = self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr2].val; /* _n_expr2 on <self:AImpliesExpr> */
3673 if (var5 == NULL) {
3674 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
3675 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6046);
3676 show_backtrace(1);
3677 }
3678 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
3679 if (var6){
3680 var7 = NULL;
3681 if (var_new_child == NULL) {
3682 var8 = 0; /* is null */
3683 } else {
3684 var8 = 1; /* arg is null and recv is not */
3685 }
3686 if (var8){
3687 ((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)>*/;
3688 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3689 cltype10 = type_parser_nodes__AExpr.color;
3690 idtype11 = type_parser_nodes__AExpr.id;
3691 if(cltype10 >= var_new_child->type->table_size) {
3692 var9 = 0;
3693 } else {
3694 var9 = var_new_child->type->type_table[cltype10] == idtype11;
3695 }
3696 if (!var9) {
3697 fprintf(stderr, "Runtime error: %s", "Assert failed");
3698 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6049);
3699 show_backtrace(1);
3700 }
3701 self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AImpliesExpr> */
3702 } else {
3703 fprintf(stderr, "Runtime error: %s", "Aborted");
3704 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6052);
3705 show_backtrace(1);
3706 }
3707 goto RET_LABEL;
3708 } else {
3709 }
3710 RET_LABEL:;
3711 }
3712 /* method parser_prod#AImpliesExpr#replace_child for (self: Object, ANode, nullable ANode) */
3713 void VIRTUAL_parser_prod__AImpliesExpr__replace_child(val* self, val* p0, val* p1) {
3714 parser_prod__AImpliesExpr__replace_child(self, p0, p1);
3715 RET_LABEL:;
3716 }
3717 /* method parser_prod#AImpliesExpr#n_expr= for (self: AImpliesExpr, AExpr) */
3718 void parser_prod__AImpliesExpr__n_expr_61d(val* self, val* p0) {
3719 val* var_node /* var node: AExpr */;
3720 var_node = p0;
3721 self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr].val = var_node; /* _n_expr on <self:AImpliesExpr> */
3722 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3723 RET_LABEL:;
3724 }
3725 /* method parser_prod#AImpliesExpr#n_expr= for (self: Object, AExpr) */
3726 void VIRTUAL_parser_prod__AImpliesExpr__n_expr_61d(val* self, val* p0) {
3727 parser_prod__AImpliesExpr__n_expr_61d(self, p0);
3728 RET_LABEL:;
3729 }
3730 /* method parser_prod#AImpliesExpr#n_expr2= for (self: AImpliesExpr, AExpr) */
3731 void parser_prod__AImpliesExpr__n_expr2_61d(val* self, val* p0) {
3732 val* var_node /* var node: AExpr */;
3733 var_node = p0;
3734 self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AImpliesExpr> */
3735 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3736 RET_LABEL:;
3737 }
3738 /* method parser_prod#AImpliesExpr#n_expr2= for (self: Object, AExpr) */
3739 void VIRTUAL_parser_prod__AImpliesExpr__n_expr2_61d(val* self, val* p0) {
3740 parser_prod__AImpliesExpr__n_expr2_61d(self, p0);
3741 RET_LABEL:;
3742 }
3743 /* method parser_prod#AImpliesExpr#visit_all for (self: AImpliesExpr, Visitor) */
3744 void parser_prod__AImpliesExpr__visit_all(val* self, val* p0) {
3745 val* var_v /* var v: Visitor */;
3746 val* var /* : AExpr */;
3747 val* var1 /* : AExpr */;
3748 var_v = p0;
3749 var = self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr].val; /* _n_expr on <self:AImpliesExpr> */
3750 if (var == NULL) {
3751 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
3752 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6072);
3753 show_backtrace(1);
3754 }
3755 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3756 var1 = self->attrs[COLOR_parser_nodes__AImpliesExpr___n_expr2].val; /* _n_expr2 on <self:AImpliesExpr> */
3757 if (var1 == NULL) {
3758 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
3759 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6073);
3760 show_backtrace(1);
3761 }
3762 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
3763 RET_LABEL:;
3764 }
3765 /* method parser_prod#AImpliesExpr#visit_all for (self: Object, Visitor) */
3766 void VIRTUAL_parser_prod__AImpliesExpr__visit_all(val* self, val* p0) {
3767 parser_prod__AImpliesExpr__visit_all(self, p0);
3768 RET_LABEL:;
3769 }
3770 /* method parser_prod#ANotExpr#empty_init for (self: ANotExpr) */
3771 void parser_prod__ANotExpr__empty_init(val* self) {
3772 RET_LABEL:;
3773 }
3774 /* method parser_prod#ANotExpr#empty_init for (self: Object) */
3775 void VIRTUAL_parser_prod__ANotExpr__empty_init(val* self) {
3776 parser_prod__ANotExpr__empty_init(self);
3777 RET_LABEL:;
3778 }
3779 /* method parser_prod#ANotExpr#init_anotexpr for (self: ANotExpr, nullable TKwnot, nullable AExpr) */
3780 void parser_prod__ANotExpr__init_anotexpr(val* self, val* p0, val* p1) {
3781 val* var_n_kwnot /* var n_kwnot: nullable TKwnot */;
3782 val* var_n_expr /* var n_expr: nullable AExpr */;
3783 var_n_kwnot = p0;
3784 var_n_expr = p1;
3785 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ANotExpr__empty_init]))(self) /* empty_init on <self:ANotExpr>*/;
3786 if (var_n_kwnot == NULL) {
3787 fprintf(stderr, "Runtime error: %s", "Cast failed");
3788 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6085);
3789 show_backtrace(1);
3790 }
3791 self->attrs[COLOR_parser_nodes__ANotExpr___n_kwnot].val = var_n_kwnot; /* _n_kwnot on <self:ANotExpr> */
3792 if (var_n_kwnot == NULL) {
3793 fprintf(stderr, "Runtime error: %s", "Receiver is null");
3794 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6086);
3795 show_backtrace(1);
3796 } else {
3797 ((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>*/;
3798 }
3799 if (var_n_expr == NULL) {
3800 fprintf(stderr, "Runtime error: %s", "Cast failed");
3801 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6087);
3802 show_backtrace(1);
3803 }
3804 self->attrs[COLOR_parser_nodes__ANotExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ANotExpr> */
3805 if (var_n_expr == NULL) {
3806 fprintf(stderr, "Runtime error: %s", "Receiver is null");
3807 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6088);
3808 show_backtrace(1);
3809 } else {
3810 ((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>*/;
3811 }
3812 RET_LABEL:;
3813 }
3814 /* method parser_prod#ANotExpr#init_anotexpr for (self: Object, nullable TKwnot, nullable AExpr) */
3815 void VIRTUAL_parser_prod__ANotExpr__init_anotexpr(val* self, val* p0, val* p1) {
3816 parser_prod__ANotExpr__init_anotexpr(self, p0, p1);
3817 RET_LABEL:;
3818 }
3819 /* method parser_prod#ANotExpr#replace_child for (self: ANotExpr, ANode, nullable ANode) */
3820 void parser_prod__ANotExpr__replace_child(val* self, val* p0, val* p1) {
3821 val* var_old_child /* var old_child: ANode */;
3822 val* var_new_child /* var new_child: nullable ANode */;
3823 val* var /* : TKwnot */;
3824 short int var1 /* : Bool */;
3825 val* var2 /* : null */;
3826 short int var3 /* : Bool */;
3827 short int var4 /* : Bool */;
3828 int cltype;
3829 int idtype;
3830 val* var5 /* : AExpr */;
3831 short int var6 /* : Bool */;
3832 val* var7 /* : null */;
3833 short int var8 /* : Bool */;
3834 short int var9 /* : Bool */;
3835 int cltype10;
3836 int idtype11;
3837 var_old_child = p0;
3838 var_new_child = p1;
3839 var = self->attrs[COLOR_parser_nodes__ANotExpr___n_kwnot].val; /* _n_kwnot on <self:ANotExpr> */
3840 if (var == NULL) {
3841 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwnot");
3842 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6093);
3843 show_backtrace(1);
3844 }
3845 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwnot>*/;
3846 if (var1){
3847 var2 = NULL;
3848 if (var_new_child == NULL) {
3849 var3 = 0; /* is null */
3850 } else {
3851 var3 = 1; /* arg is null and recv is not */
3852 }
3853 if (var3){
3854 ((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)>*/;
3855 /* <var_new_child:nullable ANode(ANode)> isa TKwnot */
3856 cltype = type_parser_nodes__TKwnot.color;
3857 idtype = type_parser_nodes__TKwnot.id;
3858 if(cltype >= var_new_child->type->table_size) {
3859 var4 = 0;
3860 } else {
3861 var4 = var_new_child->type->type_table[cltype] == idtype;
3862 }
3863 if (!var4) {
3864 fprintf(stderr, "Runtime error: %s", "Assert failed");
3865 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6096);
3866 show_backtrace(1);
3867 }
3868 self->attrs[COLOR_parser_nodes__ANotExpr___n_kwnot].val = var_new_child; /* _n_kwnot on <self:ANotExpr> */
3869 } else {
3870 fprintf(stderr, "Runtime error: %s", "Aborted");
3871 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6099);
3872 show_backtrace(1);
3873 }
3874 goto RET_LABEL;
3875 } else {
3876 }
3877 var5 = self->attrs[COLOR_parser_nodes__ANotExpr___n_expr].val; /* _n_expr on <self:ANotExpr> */
3878 if (var5 == NULL) {
3879 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
3880 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6103);
3881 show_backtrace(1);
3882 }
3883 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
3884 if (var6){
3885 var7 = NULL;
3886 if (var_new_child == NULL) {
3887 var8 = 0; /* is null */
3888 } else {
3889 var8 = 1; /* arg is null and recv is not */
3890 }
3891 if (var8){
3892 ((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)>*/;
3893 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
3894 cltype10 = type_parser_nodes__AExpr.color;
3895 idtype11 = type_parser_nodes__AExpr.id;
3896 if(cltype10 >= var_new_child->type->table_size) {
3897 var9 = 0;
3898 } else {
3899 var9 = var_new_child->type->type_table[cltype10] == idtype11;
3900 }
3901 if (!var9) {
3902 fprintf(stderr, "Runtime error: %s", "Assert failed");
3903 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6106);
3904 show_backtrace(1);
3905 }
3906 self->attrs[COLOR_parser_nodes__ANotExpr___n_expr].val = var_new_child; /* _n_expr on <self:ANotExpr> */
3907 } else {
3908 fprintf(stderr, "Runtime error: %s", "Aborted");
3909 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6109);
3910 show_backtrace(1);
3911 }
3912 goto RET_LABEL;
3913 } else {
3914 }
3915 RET_LABEL:;
3916 }
3917 /* method parser_prod#ANotExpr#replace_child for (self: Object, ANode, nullable ANode) */
3918 void VIRTUAL_parser_prod__ANotExpr__replace_child(val* self, val* p0, val* p1) {
3919 parser_prod__ANotExpr__replace_child(self, p0, p1);
3920 RET_LABEL:;
3921 }
3922 /* method parser_prod#ANotExpr#n_kwnot= for (self: ANotExpr, TKwnot) */
3923 void parser_prod__ANotExpr__n_kwnot_61d(val* self, val* p0) {
3924 val* var_node /* var node: TKwnot */;
3925 var_node = p0;
3926 self->attrs[COLOR_parser_nodes__ANotExpr___n_kwnot].val = var_node; /* _n_kwnot on <self:ANotExpr> */
3927 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwnot>*/;
3928 RET_LABEL:;
3929 }
3930 /* method parser_prod#ANotExpr#n_kwnot= for (self: Object, TKwnot) */
3931 void VIRTUAL_parser_prod__ANotExpr__n_kwnot_61d(val* self, val* p0) {
3932 parser_prod__ANotExpr__n_kwnot_61d(self, p0);
3933 RET_LABEL:;
3934 }
3935 /* method parser_prod#ANotExpr#n_expr= for (self: ANotExpr, AExpr) */
3936 void parser_prod__ANotExpr__n_expr_61d(val* self, val* p0) {
3937 val* var_node /* var node: AExpr */;
3938 var_node = p0;
3939 self->attrs[COLOR_parser_nodes__ANotExpr___n_expr].val = var_node; /* _n_expr on <self:ANotExpr> */
3940 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
3941 RET_LABEL:;
3942 }
3943 /* method parser_prod#ANotExpr#n_expr= for (self: Object, AExpr) */
3944 void VIRTUAL_parser_prod__ANotExpr__n_expr_61d(val* self, val* p0) {
3945 parser_prod__ANotExpr__n_expr_61d(self, p0);
3946 RET_LABEL:;
3947 }
3948 /* method parser_prod#ANotExpr#visit_all for (self: ANotExpr, Visitor) */
3949 void parser_prod__ANotExpr__visit_all(val* self, val* p0) {
3950 val* var_v /* var v: Visitor */;
3951 val* var /* : TKwnot */;
3952 val* var1 /* : AExpr */;
3953 var_v = p0;
3954 var = self->attrs[COLOR_parser_nodes__ANotExpr___n_kwnot].val; /* _n_kwnot on <self:ANotExpr> */
3955 if (var == NULL) {
3956 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwnot");
3957 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6129);
3958 show_backtrace(1);
3959 }
3960 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
3961 var1 = self->attrs[COLOR_parser_nodes__ANotExpr___n_expr].val; /* _n_expr on <self:ANotExpr> */
3962 if (var1 == NULL) {
3963 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
3964 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6130);
3965 show_backtrace(1);
3966 }
3967 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
3968 RET_LABEL:;
3969 }
3970 /* method parser_prod#ANotExpr#visit_all for (self: Object, Visitor) */
3971 void VIRTUAL_parser_prod__ANotExpr__visit_all(val* self, val* p0) {
3972 parser_prod__ANotExpr__visit_all(self, p0);
3973 RET_LABEL:;
3974 }
3975 /* method parser_prod#AEqExpr#empty_init for (self: AEqExpr) */
3976 void parser_prod__AEqExpr__empty_init(val* self) {
3977 RET_LABEL:;
3978 }
3979 /* method parser_prod#AEqExpr#empty_init for (self: Object) */
3980 void VIRTUAL_parser_prod__AEqExpr__empty_init(val* self) {
3981 parser_prod__AEqExpr__empty_init(self);
3982 RET_LABEL:;
3983 }
3984 /* method parser_prod#AEqExpr#init_aeqexpr for (self: AEqExpr, nullable AExpr, nullable AExpr) */
3985 void parser_prod__AEqExpr__init_aeqexpr(val* self, val* p0, val* p1) {
3986 val* var_n_expr /* var n_expr: nullable AExpr */;
3987 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
3988 var_n_expr = p0;
3989 var_n_expr2 = p1;
3990 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AEqExpr__empty_init]))(self) /* empty_init on <self:AEqExpr>*/;
3991 if (var_n_expr == NULL) {
3992 fprintf(stderr, "Runtime error: %s", "Cast failed");
3993 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6142);
3994 show_backtrace(1);
3995 }
3996 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AEqExpr> */
3997 if (var_n_expr == NULL) {
3998 fprintf(stderr, "Runtime error: %s", "Receiver is null");
3999 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6143);
4000 show_backtrace(1);
4001 } else {
4002 ((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>*/;
4003 }
4004 if (var_n_expr2 == NULL) {
4005 fprintf(stderr, "Runtime error: %s", "Cast failed");
4006 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6144);
4007 show_backtrace(1);
4008 }
4009 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AEqExpr> */
4010 if (var_n_expr2 == NULL) {
4011 fprintf(stderr, "Runtime error: %s", "Receiver is null");
4012 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6145);
4013 show_backtrace(1);
4014 } else {
4015 ((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>*/;
4016 }
4017 RET_LABEL:;
4018 }
4019 /* method parser_prod#AEqExpr#init_aeqexpr for (self: Object, nullable AExpr, nullable AExpr) */
4020 void VIRTUAL_parser_prod__AEqExpr__init_aeqexpr(val* self, val* p0, val* p1) {
4021 parser_prod__AEqExpr__init_aeqexpr(self, p0, p1);
4022 RET_LABEL:;
4023 }
4024 /* method parser_prod#AEqExpr#replace_child for (self: AEqExpr, ANode, nullable ANode) */
4025 void parser_prod__AEqExpr__replace_child(val* self, val* p0, val* p1) {
4026 val* var_old_child /* var old_child: ANode */;
4027 val* var_new_child /* var new_child: nullable ANode */;
4028 val* var /* : AExpr */;
4029 short int var1 /* : Bool */;
4030 val* var2 /* : null */;
4031 short int var3 /* : Bool */;
4032 short int var4 /* : Bool */;
4033 int cltype;
4034 int idtype;
4035 val* var5 /* : AExpr */;
4036 short int var6 /* : Bool */;
4037 val* var7 /* : null */;
4038 short int var8 /* : Bool */;
4039 short int var9 /* : Bool */;
4040 int cltype10;
4041 int idtype11;
4042 var_old_child = p0;
4043 var_new_child = p1;
4044 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AEqExpr> */
4045 if (var == NULL) {
4046 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
4047 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6150);
4048 show_backtrace(1);
4049 }
4050 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
4051 if (var1){
4052 var2 = NULL;
4053 if (var_new_child == NULL) {
4054 var3 = 0; /* is null */
4055 } else {
4056 var3 = 1; /* arg is null and recv is not */
4057 }
4058 if (var3){
4059 ((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)>*/;
4060 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4061 cltype = type_parser_nodes__AExpr.color;
4062 idtype = type_parser_nodes__AExpr.id;
4063 if(cltype >= var_new_child->type->table_size) {
4064 var4 = 0;
4065 } else {
4066 var4 = var_new_child->type->type_table[cltype] == idtype;
4067 }
4068 if (!var4) {
4069 fprintf(stderr, "Runtime error: %s", "Assert failed");
4070 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6153);
4071 show_backtrace(1);
4072 }
4073 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:AEqExpr> */
4074 } else {
4075 fprintf(stderr, "Runtime error: %s", "Aborted");
4076 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6156);
4077 show_backtrace(1);
4078 }
4079 goto RET_LABEL;
4080 } else {
4081 }
4082 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AEqExpr> */
4083 if (var5 == NULL) {
4084 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
4085 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6160);
4086 show_backtrace(1);
4087 }
4088 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
4089 if (var6){
4090 var7 = NULL;
4091 if (var_new_child == NULL) {
4092 var8 = 0; /* is null */
4093 } else {
4094 var8 = 1; /* arg is null and recv is not */
4095 }
4096 if (var8){
4097 ((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)>*/;
4098 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4099 cltype10 = type_parser_nodes__AExpr.color;
4100 idtype11 = type_parser_nodes__AExpr.id;
4101 if(cltype10 >= var_new_child->type->table_size) {
4102 var9 = 0;
4103 } else {
4104 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4105 }
4106 if (!var9) {
4107 fprintf(stderr, "Runtime error: %s", "Assert failed");
4108 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6163);
4109 show_backtrace(1);
4110 }
4111 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AEqExpr> */
4112 } else {
4113 fprintf(stderr, "Runtime error: %s", "Aborted");
4114 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6166);
4115 show_backtrace(1);
4116 }
4117 goto RET_LABEL;
4118 } else {
4119 }
4120 RET_LABEL:;
4121 }
4122 /* method parser_prod#AEqExpr#replace_child for (self: Object, ANode, nullable ANode) */
4123 void VIRTUAL_parser_prod__AEqExpr__replace_child(val* self, val* p0, val* p1) {
4124 parser_prod__AEqExpr__replace_child(self, p0, p1);
4125 RET_LABEL:;
4126 }
4127 /* method parser_prod#AEqExpr#n_expr= for (self: AEqExpr, AExpr) */
4128 void parser_prod__AEqExpr__n_expr_61d(val* self, val* p0) {
4129 val* var_node /* var node: AExpr */;
4130 var_node = p0;
4131 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AEqExpr> */
4132 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4133 RET_LABEL:;
4134 }
4135 /* method parser_prod#AEqExpr#n_expr= for (self: Object, AExpr) */
4136 void VIRTUAL_parser_prod__AEqExpr__n_expr_61d(val* self, val* p0) {
4137 parser_prod__AEqExpr__n_expr_61d(self, p0);
4138 RET_LABEL:;
4139 }
4140 /* method parser_prod#AEqExpr#n_expr2= for (self: AEqExpr, AExpr) */
4141 void parser_prod__AEqExpr__n_expr2_61d(val* self, val* p0) {
4142 val* var_node /* var node: AExpr */;
4143 var_node = p0;
4144 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AEqExpr> */
4145 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4146 RET_LABEL:;
4147 }
4148 /* method parser_prod#AEqExpr#n_expr2= for (self: Object, AExpr) */
4149 void VIRTUAL_parser_prod__AEqExpr__n_expr2_61d(val* self, val* p0) {
4150 parser_prod__AEqExpr__n_expr2_61d(self, p0);
4151 RET_LABEL:;
4152 }
4153 /* method parser_prod#AEqExpr#visit_all for (self: AEqExpr, Visitor) */
4154 void parser_prod__AEqExpr__visit_all(val* self, val* p0) {
4155 val* var_v /* var v: Visitor */;
4156 val* var /* : AExpr */;
4157 val* var1 /* : AExpr */;
4158 var_v = p0;
4159 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AEqExpr> */
4160 if (var == NULL) {
4161 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
4162 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6186);
4163 show_backtrace(1);
4164 }
4165 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4166 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AEqExpr> */
4167 if (var1 == NULL) {
4168 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
4169 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6187);
4170 show_backtrace(1);
4171 }
4172 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
4173 RET_LABEL:;
4174 }
4175 /* method parser_prod#AEqExpr#visit_all for (self: Object, Visitor) */
4176 void VIRTUAL_parser_prod__AEqExpr__visit_all(val* self, val* p0) {
4177 parser_prod__AEqExpr__visit_all(self, p0);
4178 RET_LABEL:;
4179 }
4180 /* method parser_prod#ANeExpr#empty_init for (self: ANeExpr) */
4181 void parser_prod__ANeExpr__empty_init(val* self) {
4182 RET_LABEL:;
4183 }
4184 /* method parser_prod#ANeExpr#empty_init for (self: Object) */
4185 void VIRTUAL_parser_prod__ANeExpr__empty_init(val* self) {
4186 parser_prod__ANeExpr__empty_init(self);
4187 RET_LABEL:;
4188 }
4189 /* method parser_prod#ANeExpr#init_aneexpr for (self: ANeExpr, nullable AExpr, nullable AExpr) */
4190 void parser_prod__ANeExpr__init_aneexpr(val* self, val* p0, val* p1) {
4191 val* var_n_expr /* var n_expr: nullable AExpr */;
4192 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
4193 var_n_expr = p0;
4194 var_n_expr2 = p1;
4195 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ANeExpr__empty_init]))(self) /* empty_init on <self:ANeExpr>*/;
4196 if (var_n_expr == NULL) {
4197 fprintf(stderr, "Runtime error: %s", "Cast failed");
4198 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6199);
4199 show_backtrace(1);
4200 }
4201 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ANeExpr> */
4202 if (var_n_expr == NULL) {
4203 fprintf(stderr, "Runtime error: %s", "Receiver is null");
4204 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6200);
4205 show_backtrace(1);
4206 } else {
4207 ((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>*/;
4208 }
4209 if (var_n_expr2 == NULL) {
4210 fprintf(stderr, "Runtime error: %s", "Cast failed");
4211 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6201);
4212 show_backtrace(1);
4213 }
4214 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ANeExpr> */
4215 if (var_n_expr2 == NULL) {
4216 fprintf(stderr, "Runtime error: %s", "Receiver is null");
4217 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6202);
4218 show_backtrace(1);
4219 } else {
4220 ((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>*/;
4221 }
4222 RET_LABEL:;
4223 }
4224 /* method parser_prod#ANeExpr#init_aneexpr for (self: Object, nullable AExpr, nullable AExpr) */
4225 void VIRTUAL_parser_prod__ANeExpr__init_aneexpr(val* self, val* p0, val* p1) {
4226 parser_prod__ANeExpr__init_aneexpr(self, p0, p1);
4227 RET_LABEL:;
4228 }
4229 /* method parser_prod#ANeExpr#replace_child for (self: ANeExpr, ANode, nullable ANode) */
4230 void parser_prod__ANeExpr__replace_child(val* self, val* p0, val* p1) {
4231 val* var_old_child /* var old_child: ANode */;
4232 val* var_new_child /* var new_child: nullable ANode */;
4233 val* var /* : AExpr */;
4234 short int var1 /* : Bool */;
4235 val* var2 /* : null */;
4236 short int var3 /* : Bool */;
4237 short int var4 /* : Bool */;
4238 int cltype;
4239 int idtype;
4240 val* var5 /* : AExpr */;
4241 short int var6 /* : Bool */;
4242 val* var7 /* : null */;
4243 short int var8 /* : Bool */;
4244 short int var9 /* : Bool */;
4245 int cltype10;
4246 int idtype11;
4247 var_old_child = p0;
4248 var_new_child = p1;
4249 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ANeExpr> */
4250 if (var == NULL) {
4251 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
4252 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6207);
4253 show_backtrace(1);
4254 }
4255 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
4256 if (var1){
4257 var2 = NULL;
4258 if (var_new_child == NULL) {
4259 var3 = 0; /* is null */
4260 } else {
4261 var3 = 1; /* arg is null and recv is not */
4262 }
4263 if (var3){
4264 ((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)>*/;
4265 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4266 cltype = type_parser_nodes__AExpr.color;
4267 idtype = type_parser_nodes__AExpr.id;
4268 if(cltype >= var_new_child->type->table_size) {
4269 var4 = 0;
4270 } else {
4271 var4 = var_new_child->type->type_table[cltype] == idtype;
4272 }
4273 if (!var4) {
4274 fprintf(stderr, "Runtime error: %s", "Assert failed");
4275 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6210);
4276 show_backtrace(1);
4277 }
4278 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ANeExpr> */
4279 } else {
4280 fprintf(stderr, "Runtime error: %s", "Aborted");
4281 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6213);
4282 show_backtrace(1);
4283 }
4284 goto RET_LABEL;
4285 } else {
4286 }
4287 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ANeExpr> */
4288 if (var5 == NULL) {
4289 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
4290 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6217);
4291 show_backtrace(1);
4292 }
4293 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
4294 if (var6){
4295 var7 = NULL;
4296 if (var_new_child == NULL) {
4297 var8 = 0; /* is null */
4298 } else {
4299 var8 = 1; /* arg is null and recv is not */
4300 }
4301 if (var8){
4302 ((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)>*/;
4303 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4304 cltype10 = type_parser_nodes__AExpr.color;
4305 idtype11 = type_parser_nodes__AExpr.id;
4306 if(cltype10 >= var_new_child->type->table_size) {
4307 var9 = 0;
4308 } else {
4309 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4310 }
4311 if (!var9) {
4312 fprintf(stderr, "Runtime error: %s", "Assert failed");
4313 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6220);
4314 show_backtrace(1);
4315 }
4316 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:ANeExpr> */
4317 } else {
4318 fprintf(stderr, "Runtime error: %s", "Aborted");
4319 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6223);
4320 show_backtrace(1);
4321 }
4322 goto RET_LABEL;
4323 } else {
4324 }
4325 RET_LABEL:;
4326 }
4327 /* method parser_prod#ANeExpr#replace_child for (self: Object, ANode, nullable ANode) */
4328 void VIRTUAL_parser_prod__ANeExpr__replace_child(val* self, val* p0, val* p1) {
4329 parser_prod__ANeExpr__replace_child(self, p0, p1);
4330 RET_LABEL:;
4331 }
4332 /* method parser_prod#ANeExpr#n_expr= for (self: ANeExpr, AExpr) */
4333 void parser_prod__ANeExpr__n_expr_61d(val* self, val* p0) {
4334 val* var_node /* var node: AExpr */;
4335 var_node = p0;
4336 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ANeExpr> */
4337 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4338 RET_LABEL:;
4339 }
4340 /* method parser_prod#ANeExpr#n_expr= for (self: Object, AExpr) */
4341 void VIRTUAL_parser_prod__ANeExpr__n_expr_61d(val* self, val* p0) {
4342 parser_prod__ANeExpr__n_expr_61d(self, p0);
4343 RET_LABEL:;
4344 }
4345 /* method parser_prod#ANeExpr#n_expr2= for (self: ANeExpr, AExpr) */
4346 void parser_prod__ANeExpr__n_expr2_61d(val* self, val* p0) {
4347 val* var_node /* var node: AExpr */;
4348 var_node = p0;
4349 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ANeExpr> */
4350 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4351 RET_LABEL:;
4352 }
4353 /* method parser_prod#ANeExpr#n_expr2= for (self: Object, AExpr) */
4354 void VIRTUAL_parser_prod__ANeExpr__n_expr2_61d(val* self, val* p0) {
4355 parser_prod__ANeExpr__n_expr2_61d(self, p0);
4356 RET_LABEL:;
4357 }
4358 /* method parser_prod#ANeExpr#visit_all for (self: ANeExpr, Visitor) */
4359 void parser_prod__ANeExpr__visit_all(val* self, val* p0) {
4360 val* var_v /* var v: Visitor */;
4361 val* var /* : AExpr */;
4362 val* var1 /* : AExpr */;
4363 var_v = p0;
4364 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ANeExpr> */
4365 if (var == NULL) {
4366 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
4367 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6243);
4368 show_backtrace(1);
4369 }
4370 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4371 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ANeExpr> */
4372 if (var1 == NULL) {
4373 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
4374 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6244);
4375 show_backtrace(1);
4376 }
4377 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
4378 RET_LABEL:;
4379 }
4380 /* method parser_prod#ANeExpr#visit_all for (self: Object, Visitor) */
4381 void VIRTUAL_parser_prod__ANeExpr__visit_all(val* self, val* p0) {
4382 parser_prod__ANeExpr__visit_all(self, p0);
4383 RET_LABEL:;
4384 }
4385 /* method parser_prod#ALtExpr#empty_init for (self: ALtExpr) */
4386 void parser_prod__ALtExpr__empty_init(val* self) {
4387 RET_LABEL:;
4388 }
4389 /* method parser_prod#ALtExpr#empty_init for (self: Object) */
4390 void VIRTUAL_parser_prod__ALtExpr__empty_init(val* self) {
4391 parser_prod__ALtExpr__empty_init(self);
4392 RET_LABEL:;
4393 }
4394 /* method parser_prod#ALtExpr#init_altexpr for (self: ALtExpr, nullable AExpr, nullable AExpr) */
4395 void parser_prod__ALtExpr__init_altexpr(val* self, val* p0, val* p1) {
4396 val* var_n_expr /* var n_expr: nullable AExpr */;
4397 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
4398 var_n_expr = p0;
4399 var_n_expr2 = p1;
4400 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ALtExpr__empty_init]))(self) /* empty_init on <self:ALtExpr>*/;
4401 if (var_n_expr == NULL) {
4402 fprintf(stderr, "Runtime error: %s", "Cast failed");
4403 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6256);
4404 show_backtrace(1);
4405 }
4406 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ALtExpr> */
4407 if (var_n_expr == NULL) {
4408 fprintf(stderr, "Runtime error: %s", "Receiver is null");
4409 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6257);
4410 show_backtrace(1);
4411 } else {
4412 ((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>*/;
4413 }
4414 if (var_n_expr2 == NULL) {
4415 fprintf(stderr, "Runtime error: %s", "Cast failed");
4416 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6258);
4417 show_backtrace(1);
4418 }
4419 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ALtExpr> */
4420 if (var_n_expr2 == NULL) {
4421 fprintf(stderr, "Runtime error: %s", "Receiver is null");
4422 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6259);
4423 show_backtrace(1);
4424 } else {
4425 ((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>*/;
4426 }
4427 RET_LABEL:;
4428 }
4429 /* method parser_prod#ALtExpr#init_altexpr for (self: Object, nullable AExpr, nullable AExpr) */
4430 void VIRTUAL_parser_prod__ALtExpr__init_altexpr(val* self, val* p0, val* p1) {
4431 parser_prod__ALtExpr__init_altexpr(self, p0, p1);
4432 RET_LABEL:;
4433 }
4434 /* method parser_prod#ALtExpr#replace_child for (self: ALtExpr, ANode, nullable ANode) */
4435 void parser_prod__ALtExpr__replace_child(val* self, val* p0, val* p1) {
4436 val* var_old_child /* var old_child: ANode */;
4437 val* var_new_child /* var new_child: nullable ANode */;
4438 val* var /* : AExpr */;
4439 short int var1 /* : Bool */;
4440 val* var2 /* : null */;
4441 short int var3 /* : Bool */;
4442 short int var4 /* : Bool */;
4443 int cltype;
4444 int idtype;
4445 val* var5 /* : AExpr */;
4446 short int var6 /* : Bool */;
4447 val* var7 /* : null */;
4448 short int var8 /* : Bool */;
4449 short int var9 /* : Bool */;
4450 int cltype10;
4451 int idtype11;
4452 var_old_child = p0;
4453 var_new_child = p1;
4454 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALtExpr> */
4455 if (var == NULL) {
4456 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
4457 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6264);
4458 show_backtrace(1);
4459 }
4460 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
4461 if (var1){
4462 var2 = NULL;
4463 if (var_new_child == NULL) {
4464 var3 = 0; /* is null */
4465 } else {
4466 var3 = 1; /* arg is null and recv is not */
4467 }
4468 if (var3){
4469 ((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)>*/;
4470 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4471 cltype = type_parser_nodes__AExpr.color;
4472 idtype = type_parser_nodes__AExpr.id;
4473 if(cltype >= var_new_child->type->table_size) {
4474 var4 = 0;
4475 } else {
4476 var4 = var_new_child->type->type_table[cltype] == idtype;
4477 }
4478 if (!var4) {
4479 fprintf(stderr, "Runtime error: %s", "Assert failed");
4480 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6267);
4481 show_backtrace(1);
4482 }
4483 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ALtExpr> */
4484 } else {
4485 fprintf(stderr, "Runtime error: %s", "Aborted");
4486 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6270);
4487 show_backtrace(1);
4488 }
4489 goto RET_LABEL;
4490 } else {
4491 }
4492 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALtExpr> */
4493 if (var5 == NULL) {
4494 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
4495 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6274);
4496 show_backtrace(1);
4497 }
4498 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
4499 if (var6){
4500 var7 = NULL;
4501 if (var_new_child == NULL) {
4502 var8 = 0; /* is null */
4503 } else {
4504 var8 = 1; /* arg is null and recv is not */
4505 }
4506 if (var8){
4507 ((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)>*/;
4508 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4509 cltype10 = type_parser_nodes__AExpr.color;
4510 idtype11 = type_parser_nodes__AExpr.id;
4511 if(cltype10 >= var_new_child->type->table_size) {
4512 var9 = 0;
4513 } else {
4514 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4515 }
4516 if (!var9) {
4517 fprintf(stderr, "Runtime error: %s", "Assert failed");
4518 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6277);
4519 show_backtrace(1);
4520 }
4521 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:ALtExpr> */
4522 } else {
4523 fprintf(stderr, "Runtime error: %s", "Aborted");
4524 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6280);
4525 show_backtrace(1);
4526 }
4527 goto RET_LABEL;
4528 } else {
4529 }
4530 RET_LABEL:;
4531 }
4532 /* method parser_prod#ALtExpr#replace_child for (self: Object, ANode, nullable ANode) */
4533 void VIRTUAL_parser_prod__ALtExpr__replace_child(val* self, val* p0, val* p1) {
4534 parser_prod__ALtExpr__replace_child(self, p0, p1);
4535 RET_LABEL:;
4536 }
4537 /* method parser_prod#ALtExpr#n_expr= for (self: ALtExpr, AExpr) */
4538 void parser_prod__ALtExpr__n_expr_61d(val* self, val* p0) {
4539 val* var_node /* var node: AExpr */;
4540 var_node = p0;
4541 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ALtExpr> */
4542 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4543 RET_LABEL:;
4544 }
4545 /* method parser_prod#ALtExpr#n_expr= for (self: Object, AExpr) */
4546 void VIRTUAL_parser_prod__ALtExpr__n_expr_61d(val* self, val* p0) {
4547 parser_prod__ALtExpr__n_expr_61d(self, p0);
4548 RET_LABEL:;
4549 }
4550 /* method parser_prod#ALtExpr#n_expr2= for (self: ALtExpr, AExpr) */
4551 void parser_prod__ALtExpr__n_expr2_61d(val* self, val* p0) {
4552 val* var_node /* var node: AExpr */;
4553 var_node = p0;
4554 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ALtExpr> */
4555 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4556 RET_LABEL:;
4557 }
4558 /* method parser_prod#ALtExpr#n_expr2= for (self: Object, AExpr) */
4559 void VIRTUAL_parser_prod__ALtExpr__n_expr2_61d(val* self, val* p0) {
4560 parser_prod__ALtExpr__n_expr2_61d(self, p0);
4561 RET_LABEL:;
4562 }
4563 /* method parser_prod#ALtExpr#visit_all for (self: ALtExpr, Visitor) */
4564 void parser_prod__ALtExpr__visit_all(val* self, val* p0) {
4565 val* var_v /* var v: Visitor */;
4566 val* var /* : AExpr */;
4567 val* var1 /* : AExpr */;
4568 var_v = p0;
4569 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALtExpr> */
4570 if (var == NULL) {
4571 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
4572 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6300);
4573 show_backtrace(1);
4574 }
4575 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4576 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALtExpr> */
4577 if (var1 == NULL) {
4578 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
4579 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6301);
4580 show_backtrace(1);
4581 }
4582 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
4583 RET_LABEL:;
4584 }
4585 /* method parser_prod#ALtExpr#visit_all for (self: Object, Visitor) */
4586 void VIRTUAL_parser_prod__ALtExpr__visit_all(val* self, val* p0) {
4587 parser_prod__ALtExpr__visit_all(self, p0);
4588 RET_LABEL:;
4589 }
4590 /* method parser_prod#ALeExpr#empty_init for (self: ALeExpr) */
4591 void parser_prod__ALeExpr__empty_init(val* self) {
4592 RET_LABEL:;
4593 }
4594 /* method parser_prod#ALeExpr#empty_init for (self: Object) */
4595 void VIRTUAL_parser_prod__ALeExpr__empty_init(val* self) {
4596 parser_prod__ALeExpr__empty_init(self);
4597 RET_LABEL:;
4598 }
4599 /* method parser_prod#ALeExpr#init_aleexpr for (self: ALeExpr, nullable AExpr, nullable AExpr) */
4600 void parser_prod__ALeExpr__init_aleexpr(val* self, val* p0, val* p1) {
4601 val* var_n_expr /* var n_expr: nullable AExpr */;
4602 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
4603 var_n_expr = p0;
4604 var_n_expr2 = p1;
4605 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ALeExpr__empty_init]))(self) /* empty_init on <self:ALeExpr>*/;
4606 if (var_n_expr == NULL) {
4607 fprintf(stderr, "Runtime error: %s", "Cast failed");
4608 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6313);
4609 show_backtrace(1);
4610 }
4611 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ALeExpr> */
4612 if (var_n_expr == NULL) {
4613 fprintf(stderr, "Runtime error: %s", "Receiver is null");
4614 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6314);
4615 show_backtrace(1);
4616 } else {
4617 ((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>*/;
4618 }
4619 if (var_n_expr2 == NULL) {
4620 fprintf(stderr, "Runtime error: %s", "Cast failed");
4621 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6315);
4622 show_backtrace(1);
4623 }
4624 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ALeExpr> */
4625 if (var_n_expr2 == NULL) {
4626 fprintf(stderr, "Runtime error: %s", "Receiver is null");
4627 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6316);
4628 show_backtrace(1);
4629 } else {
4630 ((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>*/;
4631 }
4632 RET_LABEL:;
4633 }
4634 /* method parser_prod#ALeExpr#init_aleexpr for (self: Object, nullable AExpr, nullable AExpr) */
4635 void VIRTUAL_parser_prod__ALeExpr__init_aleexpr(val* self, val* p0, val* p1) {
4636 parser_prod__ALeExpr__init_aleexpr(self, p0, p1);
4637 RET_LABEL:;
4638 }
4639 /* method parser_prod#ALeExpr#replace_child for (self: ALeExpr, ANode, nullable ANode) */
4640 void parser_prod__ALeExpr__replace_child(val* self, val* p0, val* p1) {
4641 val* var_old_child /* var old_child: ANode */;
4642 val* var_new_child /* var new_child: nullable ANode */;
4643 val* var /* : AExpr */;
4644 short int var1 /* : Bool */;
4645 val* var2 /* : null */;
4646 short int var3 /* : Bool */;
4647 short int var4 /* : Bool */;
4648 int cltype;
4649 int idtype;
4650 val* var5 /* : AExpr */;
4651 short int var6 /* : Bool */;
4652 val* var7 /* : null */;
4653 short int var8 /* : Bool */;
4654 short int var9 /* : Bool */;
4655 int cltype10;
4656 int idtype11;
4657 var_old_child = p0;
4658 var_new_child = p1;
4659 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALeExpr> */
4660 if (var == NULL) {
4661 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
4662 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6321);
4663 show_backtrace(1);
4664 }
4665 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
4666 if (var1){
4667 var2 = NULL;
4668 if (var_new_child == NULL) {
4669 var3 = 0; /* is null */
4670 } else {
4671 var3 = 1; /* arg is null and recv is not */
4672 }
4673 if (var3){
4674 ((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)>*/;
4675 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4676 cltype = type_parser_nodes__AExpr.color;
4677 idtype = type_parser_nodes__AExpr.id;
4678 if(cltype >= var_new_child->type->table_size) {
4679 var4 = 0;
4680 } else {
4681 var4 = var_new_child->type->type_table[cltype] == idtype;
4682 }
4683 if (!var4) {
4684 fprintf(stderr, "Runtime error: %s", "Assert failed");
4685 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6324);
4686 show_backtrace(1);
4687 }
4688 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ALeExpr> */
4689 } else {
4690 fprintf(stderr, "Runtime error: %s", "Aborted");
4691 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6327);
4692 show_backtrace(1);
4693 }
4694 goto RET_LABEL;
4695 } else {
4696 }
4697 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALeExpr> */
4698 if (var5 == NULL) {
4699 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
4700 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6331);
4701 show_backtrace(1);
4702 }
4703 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
4704 if (var6){
4705 var7 = NULL;
4706 if (var_new_child == NULL) {
4707 var8 = 0; /* is null */
4708 } else {
4709 var8 = 1; /* arg is null and recv is not */
4710 }
4711 if (var8){
4712 ((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)>*/;
4713 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4714 cltype10 = type_parser_nodes__AExpr.color;
4715 idtype11 = type_parser_nodes__AExpr.id;
4716 if(cltype10 >= var_new_child->type->table_size) {
4717 var9 = 0;
4718 } else {
4719 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4720 }
4721 if (!var9) {
4722 fprintf(stderr, "Runtime error: %s", "Assert failed");
4723 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6334);
4724 show_backtrace(1);
4725 }
4726 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:ALeExpr> */
4727 } else {
4728 fprintf(stderr, "Runtime error: %s", "Aborted");
4729 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6337);
4730 show_backtrace(1);
4731 }
4732 goto RET_LABEL;
4733 } else {
4734 }
4735 RET_LABEL:;
4736 }
4737 /* method parser_prod#ALeExpr#replace_child for (self: Object, ANode, nullable ANode) */
4738 void VIRTUAL_parser_prod__ALeExpr__replace_child(val* self, val* p0, val* p1) {
4739 parser_prod__ALeExpr__replace_child(self, p0, p1);
4740 RET_LABEL:;
4741 }
4742 /* method parser_prod#ALeExpr#n_expr= for (self: ALeExpr, AExpr) */
4743 void parser_prod__ALeExpr__n_expr_61d(val* self, val* p0) {
4744 val* var_node /* var node: AExpr */;
4745 var_node = p0;
4746 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ALeExpr> */
4747 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4748 RET_LABEL:;
4749 }
4750 /* method parser_prod#ALeExpr#n_expr= for (self: Object, AExpr) */
4751 void VIRTUAL_parser_prod__ALeExpr__n_expr_61d(val* self, val* p0) {
4752 parser_prod__ALeExpr__n_expr_61d(self, p0);
4753 RET_LABEL:;
4754 }
4755 /* method parser_prod#ALeExpr#n_expr2= for (self: ALeExpr, AExpr) */
4756 void parser_prod__ALeExpr__n_expr2_61d(val* self, val* p0) {
4757 val* var_node /* var node: AExpr */;
4758 var_node = p0;
4759 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ALeExpr> */
4760 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4761 RET_LABEL:;
4762 }
4763 /* method parser_prod#ALeExpr#n_expr2= for (self: Object, AExpr) */
4764 void VIRTUAL_parser_prod__ALeExpr__n_expr2_61d(val* self, val* p0) {
4765 parser_prod__ALeExpr__n_expr2_61d(self, p0);
4766 RET_LABEL:;
4767 }
4768 /* method parser_prod#ALeExpr#visit_all for (self: ALeExpr, Visitor) */
4769 void parser_prod__ALeExpr__visit_all(val* self, val* p0) {
4770 val* var_v /* var v: Visitor */;
4771 val* var /* : AExpr */;
4772 val* var1 /* : AExpr */;
4773 var_v = p0;
4774 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALeExpr> */
4775 if (var == NULL) {
4776 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
4777 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6357);
4778 show_backtrace(1);
4779 }
4780 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4781 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALeExpr> */
4782 if (var1 == NULL) {
4783 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
4784 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6358);
4785 show_backtrace(1);
4786 }
4787 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
4788 RET_LABEL:;
4789 }
4790 /* method parser_prod#ALeExpr#visit_all for (self: Object, Visitor) */
4791 void VIRTUAL_parser_prod__ALeExpr__visit_all(val* self, val* p0) {
4792 parser_prod__ALeExpr__visit_all(self, p0);
4793 RET_LABEL:;
4794 }
4795 /* method parser_prod#ALlExpr#empty_init for (self: ALlExpr) */
4796 void parser_prod__ALlExpr__empty_init(val* self) {
4797 RET_LABEL:;
4798 }
4799 /* method parser_prod#ALlExpr#empty_init for (self: Object) */
4800 void VIRTUAL_parser_prod__ALlExpr__empty_init(val* self) {
4801 parser_prod__ALlExpr__empty_init(self);
4802 RET_LABEL:;
4803 }
4804 /* method parser_prod#ALlExpr#init_allexpr for (self: ALlExpr, nullable AExpr, nullable AExpr) */
4805 void parser_prod__ALlExpr__init_allexpr(val* self, val* p0, val* p1) {
4806 val* var_n_expr /* var n_expr: nullable AExpr */;
4807 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
4808 var_n_expr = p0;
4809 var_n_expr2 = p1;
4810 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ALlExpr__empty_init]))(self) /* empty_init on <self:ALlExpr>*/;
4811 if (var_n_expr == NULL) {
4812 fprintf(stderr, "Runtime error: %s", "Cast failed");
4813 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6370);
4814 show_backtrace(1);
4815 }
4816 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ALlExpr> */
4817 if (var_n_expr == NULL) {
4818 fprintf(stderr, "Runtime error: %s", "Receiver is null");
4819 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6371);
4820 show_backtrace(1);
4821 } else {
4822 ((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>*/;
4823 }
4824 if (var_n_expr2 == NULL) {
4825 fprintf(stderr, "Runtime error: %s", "Cast failed");
4826 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6372);
4827 show_backtrace(1);
4828 }
4829 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ALlExpr> */
4830 if (var_n_expr2 == NULL) {
4831 fprintf(stderr, "Runtime error: %s", "Receiver is null");
4832 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6373);
4833 show_backtrace(1);
4834 } else {
4835 ((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>*/;
4836 }
4837 RET_LABEL:;
4838 }
4839 /* method parser_prod#ALlExpr#init_allexpr for (self: Object, nullable AExpr, nullable AExpr) */
4840 void VIRTUAL_parser_prod__ALlExpr__init_allexpr(val* self, val* p0, val* p1) {
4841 parser_prod__ALlExpr__init_allexpr(self, p0, p1);
4842 RET_LABEL:;
4843 }
4844 /* method parser_prod#ALlExpr#replace_child for (self: ALlExpr, ANode, nullable ANode) */
4845 void parser_prod__ALlExpr__replace_child(val* self, val* p0, val* p1) {
4846 val* var_old_child /* var old_child: ANode */;
4847 val* var_new_child /* var new_child: nullable ANode */;
4848 val* var /* : AExpr */;
4849 short int var1 /* : Bool */;
4850 val* var2 /* : null */;
4851 short int var3 /* : Bool */;
4852 short int var4 /* : Bool */;
4853 int cltype;
4854 int idtype;
4855 val* var5 /* : AExpr */;
4856 short int var6 /* : Bool */;
4857 val* var7 /* : null */;
4858 short int var8 /* : Bool */;
4859 short int var9 /* : Bool */;
4860 int cltype10;
4861 int idtype11;
4862 var_old_child = p0;
4863 var_new_child = p1;
4864 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALlExpr> */
4865 if (var == NULL) {
4866 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
4867 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6378);
4868 show_backtrace(1);
4869 }
4870 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
4871 if (var1){
4872 var2 = NULL;
4873 if (var_new_child == NULL) {
4874 var3 = 0; /* is null */
4875 } else {
4876 var3 = 1; /* arg is null and recv is not */
4877 }
4878 if (var3){
4879 ((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)>*/;
4880 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4881 cltype = type_parser_nodes__AExpr.color;
4882 idtype = type_parser_nodes__AExpr.id;
4883 if(cltype >= var_new_child->type->table_size) {
4884 var4 = 0;
4885 } else {
4886 var4 = var_new_child->type->type_table[cltype] == idtype;
4887 }
4888 if (!var4) {
4889 fprintf(stderr, "Runtime error: %s", "Assert failed");
4890 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6381);
4891 show_backtrace(1);
4892 }
4893 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ALlExpr> */
4894 } else {
4895 fprintf(stderr, "Runtime error: %s", "Aborted");
4896 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6384);
4897 show_backtrace(1);
4898 }
4899 goto RET_LABEL;
4900 } else {
4901 }
4902 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALlExpr> */
4903 if (var5 == NULL) {
4904 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
4905 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6388);
4906 show_backtrace(1);
4907 }
4908 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
4909 if (var6){
4910 var7 = NULL;
4911 if (var_new_child == NULL) {
4912 var8 = 0; /* is null */
4913 } else {
4914 var8 = 1; /* arg is null and recv is not */
4915 }
4916 if (var8){
4917 ((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)>*/;
4918 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
4919 cltype10 = type_parser_nodes__AExpr.color;
4920 idtype11 = type_parser_nodes__AExpr.id;
4921 if(cltype10 >= var_new_child->type->table_size) {
4922 var9 = 0;
4923 } else {
4924 var9 = var_new_child->type->type_table[cltype10] == idtype11;
4925 }
4926 if (!var9) {
4927 fprintf(stderr, "Runtime error: %s", "Assert failed");
4928 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6391);
4929 show_backtrace(1);
4930 }
4931 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:ALlExpr> */
4932 } else {
4933 fprintf(stderr, "Runtime error: %s", "Aborted");
4934 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6394);
4935 show_backtrace(1);
4936 }
4937 goto RET_LABEL;
4938 } else {
4939 }
4940 RET_LABEL:;
4941 }
4942 /* method parser_prod#ALlExpr#replace_child for (self: Object, ANode, nullable ANode) */
4943 void VIRTUAL_parser_prod__ALlExpr__replace_child(val* self, val* p0, val* p1) {
4944 parser_prod__ALlExpr__replace_child(self, p0, p1);
4945 RET_LABEL:;
4946 }
4947 /* method parser_prod#ALlExpr#n_expr= for (self: ALlExpr, AExpr) */
4948 void parser_prod__ALlExpr__n_expr_61d(val* self, val* p0) {
4949 val* var_node /* var node: AExpr */;
4950 var_node = p0;
4951 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ALlExpr> */
4952 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4953 RET_LABEL:;
4954 }
4955 /* method parser_prod#ALlExpr#n_expr= for (self: Object, AExpr) */
4956 void VIRTUAL_parser_prod__ALlExpr__n_expr_61d(val* self, val* p0) {
4957 parser_prod__ALlExpr__n_expr_61d(self, p0);
4958 RET_LABEL:;
4959 }
4960 /* method parser_prod#ALlExpr#n_expr2= for (self: ALlExpr, AExpr) */
4961 void parser_prod__ALlExpr__n_expr2_61d(val* self, val* p0) {
4962 val* var_node /* var node: AExpr */;
4963 var_node = p0;
4964 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ALlExpr> */
4965 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
4966 RET_LABEL:;
4967 }
4968 /* method parser_prod#ALlExpr#n_expr2= for (self: Object, AExpr) */
4969 void VIRTUAL_parser_prod__ALlExpr__n_expr2_61d(val* self, val* p0) {
4970 parser_prod__ALlExpr__n_expr2_61d(self, p0);
4971 RET_LABEL:;
4972 }
4973 /* method parser_prod#ALlExpr#visit_all for (self: ALlExpr, Visitor) */
4974 void parser_prod__ALlExpr__visit_all(val* self, val* p0) {
4975 val* var_v /* var v: Visitor */;
4976 val* var /* : AExpr */;
4977 val* var1 /* : AExpr */;
4978 var_v = p0;
4979 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ALlExpr> */
4980 if (var == NULL) {
4981 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
4982 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6414);
4983 show_backtrace(1);
4984 }
4985 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
4986 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ALlExpr> */
4987 if (var1 == NULL) {
4988 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
4989 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6415);
4990 show_backtrace(1);
4991 }
4992 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
4993 RET_LABEL:;
4994 }
4995 /* method parser_prod#ALlExpr#visit_all for (self: Object, Visitor) */
4996 void VIRTUAL_parser_prod__ALlExpr__visit_all(val* self, val* p0) {
4997 parser_prod__ALlExpr__visit_all(self, p0);
4998 RET_LABEL:;
4999 }
5000 /* method parser_prod#AGtExpr#empty_init for (self: AGtExpr) */
5001 void parser_prod__AGtExpr__empty_init(val* self) {
5002 RET_LABEL:;
5003 }
5004 /* method parser_prod#AGtExpr#empty_init for (self: Object) */
5005 void VIRTUAL_parser_prod__AGtExpr__empty_init(val* self) {
5006 parser_prod__AGtExpr__empty_init(self);
5007 RET_LABEL:;
5008 }
5009 /* method parser_prod#AGtExpr#init_agtexpr for (self: AGtExpr, nullable AExpr, nullable AExpr) */
5010 void parser_prod__AGtExpr__init_agtexpr(val* self, val* p0, val* p1) {
5011 val* var_n_expr /* var n_expr: nullable AExpr */;
5012 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
5013 var_n_expr = p0;
5014 var_n_expr2 = p1;
5015 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AGtExpr__empty_init]))(self) /* empty_init on <self:AGtExpr>*/;
5016 if (var_n_expr == NULL) {
5017 fprintf(stderr, "Runtime error: %s", "Cast failed");
5018 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6427);
5019 show_backtrace(1);
5020 }
5021 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AGtExpr> */
5022 if (var_n_expr == NULL) {
5023 fprintf(stderr, "Runtime error: %s", "Receiver is null");
5024 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6428);
5025 show_backtrace(1);
5026 } else {
5027 ((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>*/;
5028 }
5029 if (var_n_expr2 == NULL) {
5030 fprintf(stderr, "Runtime error: %s", "Cast failed");
5031 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6429);
5032 show_backtrace(1);
5033 }
5034 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AGtExpr> */
5035 if (var_n_expr2 == NULL) {
5036 fprintf(stderr, "Runtime error: %s", "Receiver is null");
5037 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6430);
5038 show_backtrace(1);
5039 } else {
5040 ((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>*/;
5041 }
5042 RET_LABEL:;
5043 }
5044 /* method parser_prod#AGtExpr#init_agtexpr for (self: Object, nullable AExpr, nullable AExpr) */
5045 void VIRTUAL_parser_prod__AGtExpr__init_agtexpr(val* self, val* p0, val* p1) {
5046 parser_prod__AGtExpr__init_agtexpr(self, p0, p1);
5047 RET_LABEL:;
5048 }
5049 /* method parser_prod#AGtExpr#replace_child for (self: AGtExpr, ANode, nullable ANode) */
5050 void parser_prod__AGtExpr__replace_child(val* self, val* p0, val* p1) {
5051 val* var_old_child /* var old_child: ANode */;
5052 val* var_new_child /* var new_child: nullable ANode */;
5053 val* var /* : AExpr */;
5054 short int var1 /* : Bool */;
5055 val* var2 /* : null */;
5056 short int var3 /* : Bool */;
5057 short int var4 /* : Bool */;
5058 int cltype;
5059 int idtype;
5060 val* var5 /* : AExpr */;
5061 short int var6 /* : Bool */;
5062 val* var7 /* : null */;
5063 short int var8 /* : Bool */;
5064 short int var9 /* : Bool */;
5065 int cltype10;
5066 int idtype11;
5067 var_old_child = p0;
5068 var_new_child = p1;
5069 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGtExpr> */
5070 if (var == NULL) {
5071 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
5072 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6435);
5073 show_backtrace(1);
5074 }
5075 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
5076 if (var1){
5077 var2 = NULL;
5078 if (var_new_child == NULL) {
5079 var3 = 0; /* is null */
5080 } else {
5081 var3 = 1; /* arg is null and recv is not */
5082 }
5083 if (var3){
5084 ((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)>*/;
5085 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5086 cltype = type_parser_nodes__AExpr.color;
5087 idtype = type_parser_nodes__AExpr.id;
5088 if(cltype >= var_new_child->type->table_size) {
5089 var4 = 0;
5090 } else {
5091 var4 = var_new_child->type->type_table[cltype] == idtype;
5092 }
5093 if (!var4) {
5094 fprintf(stderr, "Runtime error: %s", "Assert failed");
5095 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6438);
5096 show_backtrace(1);
5097 }
5098 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:AGtExpr> */
5099 } else {
5100 fprintf(stderr, "Runtime error: %s", "Aborted");
5101 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6441);
5102 show_backtrace(1);
5103 }
5104 goto RET_LABEL;
5105 } else {
5106 }
5107 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGtExpr> */
5108 if (var5 == NULL) {
5109 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
5110 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6445);
5111 show_backtrace(1);
5112 }
5113 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
5114 if (var6){
5115 var7 = NULL;
5116 if (var_new_child == NULL) {
5117 var8 = 0; /* is null */
5118 } else {
5119 var8 = 1; /* arg is null and recv is not */
5120 }
5121 if (var8){
5122 ((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)>*/;
5123 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5124 cltype10 = type_parser_nodes__AExpr.color;
5125 idtype11 = type_parser_nodes__AExpr.id;
5126 if(cltype10 >= var_new_child->type->table_size) {
5127 var9 = 0;
5128 } else {
5129 var9 = var_new_child->type->type_table[cltype10] == idtype11;
5130 }
5131 if (!var9) {
5132 fprintf(stderr, "Runtime error: %s", "Assert failed");
5133 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6448);
5134 show_backtrace(1);
5135 }
5136 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AGtExpr> */
5137 } else {
5138 fprintf(stderr, "Runtime error: %s", "Aborted");
5139 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6451);
5140 show_backtrace(1);
5141 }
5142 goto RET_LABEL;
5143 } else {
5144 }
5145 RET_LABEL:;
5146 }
5147 /* method parser_prod#AGtExpr#replace_child for (self: Object, ANode, nullable ANode) */
5148 void VIRTUAL_parser_prod__AGtExpr__replace_child(val* self, val* p0, val* p1) {
5149 parser_prod__AGtExpr__replace_child(self, p0, p1);
5150 RET_LABEL:;
5151 }
5152 /* method parser_prod#AGtExpr#n_expr= for (self: AGtExpr, AExpr) */
5153 void parser_prod__AGtExpr__n_expr_61d(val* self, val* p0) {
5154 val* var_node /* var node: AExpr */;
5155 var_node = p0;
5156 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AGtExpr> */
5157 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
5158 RET_LABEL:;
5159 }
5160 /* method parser_prod#AGtExpr#n_expr= for (self: Object, AExpr) */
5161 void VIRTUAL_parser_prod__AGtExpr__n_expr_61d(val* self, val* p0) {
5162 parser_prod__AGtExpr__n_expr_61d(self, p0);
5163 RET_LABEL:;
5164 }
5165 /* method parser_prod#AGtExpr#n_expr2= for (self: AGtExpr, AExpr) */
5166 void parser_prod__AGtExpr__n_expr2_61d(val* self, val* p0) {
5167 val* var_node /* var node: AExpr */;
5168 var_node = p0;
5169 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AGtExpr> */
5170 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
5171 RET_LABEL:;
5172 }
5173 /* method parser_prod#AGtExpr#n_expr2= for (self: Object, AExpr) */
5174 void VIRTUAL_parser_prod__AGtExpr__n_expr2_61d(val* self, val* p0) {
5175 parser_prod__AGtExpr__n_expr2_61d(self, p0);
5176 RET_LABEL:;
5177 }
5178 /* method parser_prod#AGtExpr#visit_all for (self: AGtExpr, Visitor) */
5179 void parser_prod__AGtExpr__visit_all(val* self, val* p0) {
5180 val* var_v /* var v: Visitor */;
5181 val* var /* : AExpr */;
5182 val* var1 /* : AExpr */;
5183 var_v = p0;
5184 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGtExpr> */
5185 if (var == NULL) {
5186 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
5187 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6471);
5188 show_backtrace(1);
5189 }
5190 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5191 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGtExpr> */
5192 if (var1 == NULL) {
5193 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
5194 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6472);
5195 show_backtrace(1);
5196 }
5197 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
5198 RET_LABEL:;
5199 }
5200 /* method parser_prod#AGtExpr#visit_all for (self: Object, Visitor) */
5201 void VIRTUAL_parser_prod__AGtExpr__visit_all(val* self, val* p0) {
5202 parser_prod__AGtExpr__visit_all(self, p0);
5203 RET_LABEL:;
5204 }
5205 /* method parser_prod#AGeExpr#empty_init for (self: AGeExpr) */
5206 void parser_prod__AGeExpr__empty_init(val* self) {
5207 RET_LABEL:;
5208 }
5209 /* method parser_prod#AGeExpr#empty_init for (self: Object) */
5210 void VIRTUAL_parser_prod__AGeExpr__empty_init(val* self) {
5211 parser_prod__AGeExpr__empty_init(self);
5212 RET_LABEL:;
5213 }
5214 /* method parser_prod#AGeExpr#init_ageexpr for (self: AGeExpr, nullable AExpr, nullable AExpr) */
5215 void parser_prod__AGeExpr__init_ageexpr(val* self, val* p0, val* p1) {
5216 val* var_n_expr /* var n_expr: nullable AExpr */;
5217 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
5218 var_n_expr = p0;
5219 var_n_expr2 = p1;
5220 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AGeExpr__empty_init]))(self) /* empty_init on <self:AGeExpr>*/;
5221 if (var_n_expr == NULL) {
5222 fprintf(stderr, "Runtime error: %s", "Cast failed");
5223 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6484);
5224 show_backtrace(1);
5225 }
5226 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AGeExpr> */
5227 if (var_n_expr == NULL) {
5228 fprintf(stderr, "Runtime error: %s", "Receiver is null");
5229 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6485);
5230 show_backtrace(1);
5231 } else {
5232 ((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>*/;
5233 }
5234 if (var_n_expr2 == NULL) {
5235 fprintf(stderr, "Runtime error: %s", "Cast failed");
5236 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6486);
5237 show_backtrace(1);
5238 }
5239 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AGeExpr> */
5240 if (var_n_expr2 == NULL) {
5241 fprintf(stderr, "Runtime error: %s", "Receiver is null");
5242 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6487);
5243 show_backtrace(1);
5244 } else {
5245 ((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>*/;
5246 }
5247 RET_LABEL:;
5248 }
5249 /* method parser_prod#AGeExpr#init_ageexpr for (self: Object, nullable AExpr, nullable AExpr) */
5250 void VIRTUAL_parser_prod__AGeExpr__init_ageexpr(val* self, val* p0, val* p1) {
5251 parser_prod__AGeExpr__init_ageexpr(self, p0, p1);
5252 RET_LABEL:;
5253 }
5254 /* method parser_prod#AGeExpr#replace_child for (self: AGeExpr, ANode, nullable ANode) */
5255 void parser_prod__AGeExpr__replace_child(val* self, val* p0, val* p1) {
5256 val* var_old_child /* var old_child: ANode */;
5257 val* var_new_child /* var new_child: nullable ANode */;
5258 val* var /* : AExpr */;
5259 short int var1 /* : Bool */;
5260 val* var2 /* : null */;
5261 short int var3 /* : Bool */;
5262 short int var4 /* : Bool */;
5263 int cltype;
5264 int idtype;
5265 val* var5 /* : AExpr */;
5266 short int var6 /* : Bool */;
5267 val* var7 /* : null */;
5268 short int var8 /* : Bool */;
5269 short int var9 /* : Bool */;
5270 int cltype10;
5271 int idtype11;
5272 var_old_child = p0;
5273 var_new_child = p1;
5274 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGeExpr> */
5275 if (var == NULL) {
5276 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
5277 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6492);
5278 show_backtrace(1);
5279 }
5280 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
5281 if (var1){
5282 var2 = NULL;
5283 if (var_new_child == NULL) {
5284 var3 = 0; /* is null */
5285 } else {
5286 var3 = 1; /* arg is null and recv is not */
5287 }
5288 if (var3){
5289 ((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)>*/;
5290 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5291 cltype = type_parser_nodes__AExpr.color;
5292 idtype = type_parser_nodes__AExpr.id;
5293 if(cltype >= var_new_child->type->table_size) {
5294 var4 = 0;
5295 } else {
5296 var4 = var_new_child->type->type_table[cltype] == idtype;
5297 }
5298 if (!var4) {
5299 fprintf(stderr, "Runtime error: %s", "Assert failed");
5300 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6495);
5301 show_backtrace(1);
5302 }
5303 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:AGeExpr> */
5304 } else {
5305 fprintf(stderr, "Runtime error: %s", "Aborted");
5306 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6498);
5307 show_backtrace(1);
5308 }
5309 goto RET_LABEL;
5310 } else {
5311 }
5312 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGeExpr> */
5313 if (var5 == NULL) {
5314 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
5315 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6502);
5316 show_backtrace(1);
5317 }
5318 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
5319 if (var6){
5320 var7 = NULL;
5321 if (var_new_child == NULL) {
5322 var8 = 0; /* is null */
5323 } else {
5324 var8 = 1; /* arg is null and recv is not */
5325 }
5326 if (var8){
5327 ((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)>*/;
5328 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5329 cltype10 = type_parser_nodes__AExpr.color;
5330 idtype11 = type_parser_nodes__AExpr.id;
5331 if(cltype10 >= var_new_child->type->table_size) {
5332 var9 = 0;
5333 } else {
5334 var9 = var_new_child->type->type_table[cltype10] == idtype11;
5335 }
5336 if (!var9) {
5337 fprintf(stderr, "Runtime error: %s", "Assert failed");
5338 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6505);
5339 show_backtrace(1);
5340 }
5341 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AGeExpr> */
5342 } else {
5343 fprintf(stderr, "Runtime error: %s", "Aborted");
5344 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6508);
5345 show_backtrace(1);
5346 }
5347 goto RET_LABEL;
5348 } else {
5349 }
5350 RET_LABEL:;
5351 }
5352 /* method parser_prod#AGeExpr#replace_child for (self: Object, ANode, nullable ANode) */
5353 void VIRTUAL_parser_prod__AGeExpr__replace_child(val* self, val* p0, val* p1) {
5354 parser_prod__AGeExpr__replace_child(self, p0, p1);
5355 RET_LABEL:;
5356 }
5357 /* method parser_prod#AGeExpr#n_expr= for (self: AGeExpr, AExpr) */
5358 void parser_prod__AGeExpr__n_expr_61d(val* self, val* p0) {
5359 val* var_node /* var node: AExpr */;
5360 var_node = p0;
5361 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AGeExpr> */
5362 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
5363 RET_LABEL:;
5364 }
5365 /* method parser_prod#AGeExpr#n_expr= for (self: Object, AExpr) */
5366 void VIRTUAL_parser_prod__AGeExpr__n_expr_61d(val* self, val* p0) {
5367 parser_prod__AGeExpr__n_expr_61d(self, p0);
5368 RET_LABEL:;
5369 }
5370 /* method parser_prod#AGeExpr#n_expr2= for (self: AGeExpr, AExpr) */
5371 void parser_prod__AGeExpr__n_expr2_61d(val* self, val* p0) {
5372 val* var_node /* var node: AExpr */;
5373 var_node = p0;
5374 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AGeExpr> */
5375 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
5376 RET_LABEL:;
5377 }
5378 /* method parser_prod#AGeExpr#n_expr2= for (self: Object, AExpr) */
5379 void VIRTUAL_parser_prod__AGeExpr__n_expr2_61d(val* self, val* p0) {
5380 parser_prod__AGeExpr__n_expr2_61d(self, p0);
5381 RET_LABEL:;
5382 }
5383 /* method parser_prod#AGeExpr#visit_all for (self: AGeExpr, Visitor) */
5384 void parser_prod__AGeExpr__visit_all(val* self, val* p0) {
5385 val* var_v /* var v: Visitor */;
5386 val* var /* : AExpr */;
5387 val* var1 /* : AExpr */;
5388 var_v = p0;
5389 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGeExpr> */
5390 if (var == NULL) {
5391 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
5392 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6528);
5393 show_backtrace(1);
5394 }
5395 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5396 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGeExpr> */
5397 if (var1 == NULL) {
5398 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
5399 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6529);
5400 show_backtrace(1);
5401 }
5402 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
5403 RET_LABEL:;
5404 }
5405 /* method parser_prod#AGeExpr#visit_all for (self: Object, Visitor) */
5406 void VIRTUAL_parser_prod__AGeExpr__visit_all(val* self, val* p0) {
5407 parser_prod__AGeExpr__visit_all(self, p0);
5408 RET_LABEL:;
5409 }
5410 /* method parser_prod#AGgExpr#empty_init for (self: AGgExpr) */
5411 void parser_prod__AGgExpr__empty_init(val* self) {
5412 RET_LABEL:;
5413 }
5414 /* method parser_prod#AGgExpr#empty_init for (self: Object) */
5415 void VIRTUAL_parser_prod__AGgExpr__empty_init(val* self) {
5416 parser_prod__AGgExpr__empty_init(self);
5417 RET_LABEL:;
5418 }
5419 /* method parser_prod#AGgExpr#init_aggexpr for (self: AGgExpr, nullable AExpr, nullable AExpr) */
5420 void parser_prod__AGgExpr__init_aggexpr(val* self, val* p0, val* p1) {
5421 val* var_n_expr /* var n_expr: nullable AExpr */;
5422 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
5423 var_n_expr = p0;
5424 var_n_expr2 = p1;
5425 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AGgExpr__empty_init]))(self) /* empty_init on <self:AGgExpr>*/;
5426 if (var_n_expr == NULL) {
5427 fprintf(stderr, "Runtime error: %s", "Cast failed");
5428 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6541);
5429 show_backtrace(1);
5430 }
5431 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AGgExpr> */
5432 if (var_n_expr == NULL) {
5433 fprintf(stderr, "Runtime error: %s", "Receiver is null");
5434 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6542);
5435 show_backtrace(1);
5436 } else {
5437 ((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>*/;
5438 }
5439 if (var_n_expr2 == NULL) {
5440 fprintf(stderr, "Runtime error: %s", "Cast failed");
5441 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6543);
5442 show_backtrace(1);
5443 }
5444 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AGgExpr> */
5445 if (var_n_expr2 == NULL) {
5446 fprintf(stderr, "Runtime error: %s", "Receiver is null");
5447 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6544);
5448 show_backtrace(1);
5449 } else {
5450 ((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>*/;
5451 }
5452 RET_LABEL:;
5453 }
5454 /* method parser_prod#AGgExpr#init_aggexpr for (self: Object, nullable AExpr, nullable AExpr) */
5455 void VIRTUAL_parser_prod__AGgExpr__init_aggexpr(val* self, val* p0, val* p1) {
5456 parser_prod__AGgExpr__init_aggexpr(self, p0, p1);
5457 RET_LABEL:;
5458 }
5459 /* method parser_prod#AGgExpr#replace_child for (self: AGgExpr, ANode, nullable ANode) */
5460 void parser_prod__AGgExpr__replace_child(val* self, val* p0, val* p1) {
5461 val* var_old_child /* var old_child: ANode */;
5462 val* var_new_child /* var new_child: nullable ANode */;
5463 val* var /* : AExpr */;
5464 short int var1 /* : Bool */;
5465 val* var2 /* : null */;
5466 short int var3 /* : Bool */;
5467 short int var4 /* : Bool */;
5468 int cltype;
5469 int idtype;
5470 val* var5 /* : AExpr */;
5471 short int var6 /* : Bool */;
5472 val* var7 /* : null */;
5473 short int var8 /* : Bool */;
5474 short int var9 /* : Bool */;
5475 int cltype10;
5476 int idtype11;
5477 var_old_child = p0;
5478 var_new_child = p1;
5479 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGgExpr> */
5480 if (var == NULL) {
5481 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
5482 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6549);
5483 show_backtrace(1);
5484 }
5485 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
5486 if (var1){
5487 var2 = NULL;
5488 if (var_new_child == NULL) {
5489 var3 = 0; /* is null */
5490 } else {
5491 var3 = 1; /* arg is null and recv is not */
5492 }
5493 if (var3){
5494 ((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)>*/;
5495 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5496 cltype = type_parser_nodes__AExpr.color;
5497 idtype = type_parser_nodes__AExpr.id;
5498 if(cltype >= var_new_child->type->table_size) {
5499 var4 = 0;
5500 } else {
5501 var4 = var_new_child->type->type_table[cltype] == idtype;
5502 }
5503 if (!var4) {
5504 fprintf(stderr, "Runtime error: %s", "Assert failed");
5505 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6552);
5506 show_backtrace(1);
5507 }
5508 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:AGgExpr> */
5509 } else {
5510 fprintf(stderr, "Runtime error: %s", "Aborted");
5511 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6555);
5512 show_backtrace(1);
5513 }
5514 goto RET_LABEL;
5515 } else {
5516 }
5517 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGgExpr> */
5518 if (var5 == NULL) {
5519 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
5520 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6559);
5521 show_backtrace(1);
5522 }
5523 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
5524 if (var6){
5525 var7 = NULL;
5526 if (var_new_child == NULL) {
5527 var8 = 0; /* is null */
5528 } else {
5529 var8 = 1; /* arg is null and recv is not */
5530 }
5531 if (var8){
5532 ((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)>*/;
5533 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5534 cltype10 = type_parser_nodes__AExpr.color;
5535 idtype11 = type_parser_nodes__AExpr.id;
5536 if(cltype10 >= var_new_child->type->table_size) {
5537 var9 = 0;
5538 } else {
5539 var9 = var_new_child->type->type_table[cltype10] == idtype11;
5540 }
5541 if (!var9) {
5542 fprintf(stderr, "Runtime error: %s", "Assert failed");
5543 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6562);
5544 show_backtrace(1);
5545 }
5546 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AGgExpr> */
5547 } else {
5548 fprintf(stderr, "Runtime error: %s", "Aborted");
5549 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6565);
5550 show_backtrace(1);
5551 }
5552 goto RET_LABEL;
5553 } else {
5554 }
5555 RET_LABEL:;
5556 }
5557 /* method parser_prod#AGgExpr#replace_child for (self: Object, ANode, nullable ANode) */
5558 void VIRTUAL_parser_prod__AGgExpr__replace_child(val* self, val* p0, val* p1) {
5559 parser_prod__AGgExpr__replace_child(self, p0, p1);
5560 RET_LABEL:;
5561 }
5562 /* method parser_prod#AGgExpr#n_expr= for (self: AGgExpr, AExpr) */
5563 void parser_prod__AGgExpr__n_expr_61d(val* self, val* p0) {
5564 val* var_node /* var node: AExpr */;
5565 var_node = p0;
5566 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AGgExpr> */
5567 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
5568 RET_LABEL:;
5569 }
5570 /* method parser_prod#AGgExpr#n_expr= for (self: Object, AExpr) */
5571 void VIRTUAL_parser_prod__AGgExpr__n_expr_61d(val* self, val* p0) {
5572 parser_prod__AGgExpr__n_expr_61d(self, p0);
5573 RET_LABEL:;
5574 }
5575 /* method parser_prod#AGgExpr#n_expr2= for (self: AGgExpr, AExpr) */
5576 void parser_prod__AGgExpr__n_expr2_61d(val* self, val* p0) {
5577 val* var_node /* var node: AExpr */;
5578 var_node = p0;
5579 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AGgExpr> */
5580 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
5581 RET_LABEL:;
5582 }
5583 /* method parser_prod#AGgExpr#n_expr2= for (self: Object, AExpr) */
5584 void VIRTUAL_parser_prod__AGgExpr__n_expr2_61d(val* self, val* p0) {
5585 parser_prod__AGgExpr__n_expr2_61d(self, p0);
5586 RET_LABEL:;
5587 }
5588 /* method parser_prod#AGgExpr#visit_all for (self: AGgExpr, Visitor) */
5589 void parser_prod__AGgExpr__visit_all(val* self, val* p0) {
5590 val* var_v /* var v: Visitor */;
5591 val* var /* : AExpr */;
5592 val* var1 /* : AExpr */;
5593 var_v = p0;
5594 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AGgExpr> */
5595 if (var == NULL) {
5596 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
5597 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6585);
5598 show_backtrace(1);
5599 }
5600 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5601 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AGgExpr> */
5602 if (var1 == NULL) {
5603 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
5604 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6586);
5605 show_backtrace(1);
5606 }
5607 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
5608 RET_LABEL:;
5609 }
5610 /* method parser_prod#AGgExpr#visit_all for (self: Object, Visitor) */
5611 void VIRTUAL_parser_prod__AGgExpr__visit_all(val* self, val* p0) {
5612 parser_prod__AGgExpr__visit_all(self, p0);
5613 RET_LABEL:;
5614 }
5615 /* method parser_prod#AIsaExpr#empty_init for (self: AIsaExpr) */
5616 void parser_prod__AIsaExpr__empty_init(val* self) {
5617 RET_LABEL:;
5618 }
5619 /* method parser_prod#AIsaExpr#empty_init for (self: Object) */
5620 void VIRTUAL_parser_prod__AIsaExpr__empty_init(val* self) {
5621 parser_prod__AIsaExpr__empty_init(self);
5622 RET_LABEL:;
5623 }
5624 /* method parser_prod#AIsaExpr#init_aisaexpr for (self: AIsaExpr, nullable AExpr, nullable AType) */
5625 void parser_prod__AIsaExpr__init_aisaexpr(val* self, val* p0, val* p1) {
5626 val* var_n_expr /* var n_expr: nullable AExpr */;
5627 val* var_n_type /* var n_type: nullable AType */;
5628 var_n_expr = p0;
5629 var_n_type = p1;
5630 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AIsaExpr__empty_init]))(self) /* empty_init on <self:AIsaExpr>*/;
5631 if (var_n_expr == NULL) {
5632 fprintf(stderr, "Runtime error: %s", "Cast failed");
5633 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6598);
5634 show_backtrace(1);
5635 }
5636 self->attrs[COLOR_parser_nodes__AIsaExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AIsaExpr> */
5637 if (var_n_expr == NULL) {
5638 fprintf(stderr, "Runtime error: %s", "Receiver is null");
5639 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6599);
5640 show_backtrace(1);
5641 } else {
5642 ((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>*/;
5643 }
5644 if (var_n_type == NULL) {
5645 fprintf(stderr, "Runtime error: %s", "Cast failed");
5646 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6600);
5647 show_backtrace(1);
5648 }
5649 self->attrs[COLOR_parser_nodes__AIsaExpr___n_type].val = var_n_type; /* _n_type on <self:AIsaExpr> */
5650 if (var_n_type == NULL) {
5651 fprintf(stderr, "Runtime error: %s", "Receiver is null");
5652 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6601);
5653 show_backtrace(1);
5654 } else {
5655 ((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>*/;
5656 }
5657 RET_LABEL:;
5658 }
5659 /* method parser_prod#AIsaExpr#init_aisaexpr for (self: Object, nullable AExpr, nullable AType) */
5660 void VIRTUAL_parser_prod__AIsaExpr__init_aisaexpr(val* self, val* p0, val* p1) {
5661 parser_prod__AIsaExpr__init_aisaexpr(self, p0, p1);
5662 RET_LABEL:;
5663 }
5664 /* method parser_prod#AIsaExpr#replace_child for (self: AIsaExpr, ANode, nullable ANode) */
5665 void parser_prod__AIsaExpr__replace_child(val* self, val* p0, val* p1) {
5666 val* var_old_child /* var old_child: ANode */;
5667 val* var_new_child /* var new_child: nullable ANode */;
5668 val* var /* : AExpr */;
5669 short int var1 /* : Bool */;
5670 val* var2 /* : null */;
5671 short int var3 /* : Bool */;
5672 short int var4 /* : Bool */;
5673 int cltype;
5674 int idtype;
5675 val* var5 /* : AType */;
5676 short int var6 /* : Bool */;
5677 val* var7 /* : null */;
5678 short int var8 /* : Bool */;
5679 short int var9 /* : Bool */;
5680 int cltype10;
5681 int idtype11;
5682 var_old_child = p0;
5683 var_new_child = p1;
5684 var = self->attrs[COLOR_parser_nodes__AIsaExpr___n_expr].val; /* _n_expr on <self:AIsaExpr> */
5685 if (var == NULL) {
5686 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
5687 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6606);
5688 show_backtrace(1);
5689 }
5690 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
5691 if (var1){
5692 var2 = NULL;
5693 if (var_new_child == NULL) {
5694 var3 = 0; /* is null */
5695 } else {
5696 var3 = 1; /* arg is null and recv is not */
5697 }
5698 if (var3){
5699 ((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)>*/;
5700 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5701 cltype = type_parser_nodes__AExpr.color;
5702 idtype = type_parser_nodes__AExpr.id;
5703 if(cltype >= var_new_child->type->table_size) {
5704 var4 = 0;
5705 } else {
5706 var4 = var_new_child->type->type_table[cltype] == idtype;
5707 }
5708 if (!var4) {
5709 fprintf(stderr, "Runtime error: %s", "Assert failed");
5710 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6609);
5711 show_backtrace(1);
5712 }
5713 self->attrs[COLOR_parser_nodes__AIsaExpr___n_expr].val = var_new_child; /* _n_expr on <self:AIsaExpr> */
5714 } else {
5715 fprintf(stderr, "Runtime error: %s", "Aborted");
5716 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6612);
5717 show_backtrace(1);
5718 }
5719 goto RET_LABEL;
5720 } else {
5721 }
5722 var5 = self->attrs[COLOR_parser_nodes__AIsaExpr___n_type].val; /* _n_type on <self:AIsaExpr> */
5723 if (var5 == NULL) {
5724 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
5725 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6616);
5726 show_backtrace(1);
5727 }
5728 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AType>*/;
5729 if (var6){
5730 var7 = NULL;
5731 if (var_new_child == NULL) {
5732 var8 = 0; /* is null */
5733 } else {
5734 var8 = 1; /* arg is null and recv is not */
5735 }
5736 if (var8){
5737 ((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)>*/;
5738 /* <var_new_child:nullable ANode(ANode)> isa AType */
5739 cltype10 = type_parser_nodes__AType.color;
5740 idtype11 = type_parser_nodes__AType.id;
5741 if(cltype10 >= var_new_child->type->table_size) {
5742 var9 = 0;
5743 } else {
5744 var9 = var_new_child->type->type_table[cltype10] == idtype11;
5745 }
5746 if (!var9) {
5747 fprintf(stderr, "Runtime error: %s", "Assert failed");
5748 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6619);
5749 show_backtrace(1);
5750 }
5751 self->attrs[COLOR_parser_nodes__AIsaExpr___n_type].val = var_new_child; /* _n_type on <self:AIsaExpr> */
5752 } else {
5753 fprintf(stderr, "Runtime error: %s", "Aborted");
5754 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6622);
5755 show_backtrace(1);
5756 }
5757 goto RET_LABEL;
5758 } else {
5759 }
5760 RET_LABEL:;
5761 }
5762 /* method parser_prod#AIsaExpr#replace_child for (self: Object, ANode, nullable ANode) */
5763 void VIRTUAL_parser_prod__AIsaExpr__replace_child(val* self, val* p0, val* p1) {
5764 parser_prod__AIsaExpr__replace_child(self, p0, p1);
5765 RET_LABEL:;
5766 }
5767 /* method parser_prod#AIsaExpr#n_expr= for (self: AIsaExpr, AExpr) */
5768 void parser_prod__AIsaExpr__n_expr_61d(val* self, val* p0) {
5769 val* var_node /* var node: AExpr */;
5770 var_node = p0;
5771 self->attrs[COLOR_parser_nodes__AIsaExpr___n_expr].val = var_node; /* _n_expr on <self:AIsaExpr> */
5772 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
5773 RET_LABEL:;
5774 }
5775 /* method parser_prod#AIsaExpr#n_expr= for (self: Object, AExpr) */
5776 void VIRTUAL_parser_prod__AIsaExpr__n_expr_61d(val* self, val* p0) {
5777 parser_prod__AIsaExpr__n_expr_61d(self, p0);
5778 RET_LABEL:;
5779 }
5780 /* method parser_prod#AIsaExpr#n_type= for (self: AIsaExpr, AType) */
5781 void parser_prod__AIsaExpr__n_type_61d(val* self, val* p0) {
5782 val* var_node /* var node: AType */;
5783 var_node = p0;
5784 self->attrs[COLOR_parser_nodes__AIsaExpr___n_type].val = var_node; /* _n_type on <self:AIsaExpr> */
5785 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AType>*/;
5786 RET_LABEL:;
5787 }
5788 /* method parser_prod#AIsaExpr#n_type= for (self: Object, AType) */
5789 void VIRTUAL_parser_prod__AIsaExpr__n_type_61d(val* self, val* p0) {
5790 parser_prod__AIsaExpr__n_type_61d(self, p0);
5791 RET_LABEL:;
5792 }
5793 /* method parser_prod#AIsaExpr#visit_all for (self: AIsaExpr, Visitor) */
5794 void parser_prod__AIsaExpr__visit_all(val* self, val* p0) {
5795 val* var_v /* var v: Visitor */;
5796 val* var /* : AExpr */;
5797 val* var1 /* : AType */;
5798 var_v = p0;
5799 var = self->attrs[COLOR_parser_nodes__AIsaExpr___n_expr].val; /* _n_expr on <self:AIsaExpr> */
5800 if (var == NULL) {
5801 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
5802 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6642);
5803 show_backtrace(1);
5804 }
5805 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
5806 var1 = self->attrs[COLOR_parser_nodes__AIsaExpr___n_type].val; /* _n_type on <self:AIsaExpr> */
5807 if (var1 == NULL) {
5808 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
5809 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6643);
5810 show_backtrace(1);
5811 }
5812 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
5813 RET_LABEL:;
5814 }
5815 /* method parser_prod#AIsaExpr#visit_all for (self: Object, Visitor) */
5816 void VIRTUAL_parser_prod__AIsaExpr__visit_all(val* self, val* p0) {
5817 parser_prod__AIsaExpr__visit_all(self, p0);
5818 RET_LABEL:;
5819 }
5820 /* method parser_prod#APlusExpr#empty_init for (self: APlusExpr) */
5821 void parser_prod__APlusExpr__empty_init(val* self) {
5822 RET_LABEL:;
5823 }
5824 /* method parser_prod#APlusExpr#empty_init for (self: Object) */
5825 void VIRTUAL_parser_prod__APlusExpr__empty_init(val* self) {
5826 parser_prod__APlusExpr__empty_init(self);
5827 RET_LABEL:;
5828 }
5829 /* method parser_prod#APlusExpr#init_aplusexpr for (self: APlusExpr, nullable AExpr, nullable AExpr) */
5830 void parser_prod__APlusExpr__init_aplusexpr(val* self, val* p0, val* p1) {
5831 val* var_n_expr /* var n_expr: nullable AExpr */;
5832 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
5833 var_n_expr = p0;
5834 var_n_expr2 = p1;
5835 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__APlusExpr__empty_init]))(self) /* empty_init on <self:APlusExpr>*/;
5836 if (var_n_expr == NULL) {
5837 fprintf(stderr, "Runtime error: %s", "Cast failed");
5838 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6655);
5839 show_backtrace(1);
5840 }
5841 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:APlusExpr> */
5842 if (var_n_expr == NULL) {
5843 fprintf(stderr, "Runtime error: %s", "Receiver is null");
5844 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6656);
5845 show_backtrace(1);
5846 } else {
5847 ((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>*/;
5848 }
5849 if (var_n_expr2 == NULL) {
5850 fprintf(stderr, "Runtime error: %s", "Cast failed");
5851 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6657);
5852 show_backtrace(1);
5853 }
5854 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:APlusExpr> */
5855 if (var_n_expr2 == NULL) {
5856 fprintf(stderr, "Runtime error: %s", "Receiver is null");
5857 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6658);
5858 show_backtrace(1);
5859 } else {
5860 ((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>*/;
5861 }
5862 RET_LABEL:;
5863 }
5864 /* method parser_prod#APlusExpr#init_aplusexpr for (self: Object, nullable AExpr, nullable AExpr) */
5865 void VIRTUAL_parser_prod__APlusExpr__init_aplusexpr(val* self, val* p0, val* p1) {
5866 parser_prod__APlusExpr__init_aplusexpr(self, p0, p1);
5867 RET_LABEL:;
5868 }
5869 /* method parser_prod#APlusExpr#replace_child for (self: APlusExpr, ANode, nullable ANode) */
5870 void parser_prod__APlusExpr__replace_child(val* self, val* p0, val* p1) {
5871 val* var_old_child /* var old_child: ANode */;
5872 val* var_new_child /* var new_child: nullable ANode */;
5873 val* var /* : AExpr */;
5874 short int var1 /* : Bool */;
5875 val* var2 /* : null */;
5876 short int var3 /* : Bool */;
5877 short int var4 /* : Bool */;
5878 int cltype;
5879 int idtype;
5880 val* var5 /* : AExpr */;
5881 short int var6 /* : Bool */;
5882 val* var7 /* : null */;
5883 short int var8 /* : Bool */;
5884 short int var9 /* : Bool */;
5885 int cltype10;
5886 int idtype11;
5887 var_old_child = p0;
5888 var_new_child = p1;
5889 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:APlusExpr> */
5890 if (var == NULL) {
5891 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
5892 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6663);
5893 show_backtrace(1);
5894 }
5895 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
5896 if (var1){
5897 var2 = NULL;
5898 if (var_new_child == NULL) {
5899 var3 = 0; /* is null */
5900 } else {
5901 var3 = 1; /* arg is null and recv is not */
5902 }
5903 if (var3){
5904 ((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)>*/;
5905 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5906 cltype = type_parser_nodes__AExpr.color;
5907 idtype = type_parser_nodes__AExpr.id;
5908 if(cltype >= var_new_child->type->table_size) {
5909 var4 = 0;
5910 } else {
5911 var4 = var_new_child->type->type_table[cltype] == idtype;
5912 }
5913 if (!var4) {
5914 fprintf(stderr, "Runtime error: %s", "Assert failed");
5915 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6666);
5916 show_backtrace(1);
5917 }
5918 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:APlusExpr> */
5919 } else {
5920 fprintf(stderr, "Runtime error: %s", "Aborted");
5921 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6669);
5922 show_backtrace(1);
5923 }
5924 goto RET_LABEL;
5925 } else {
5926 }
5927 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:APlusExpr> */
5928 if (var5 == NULL) {
5929 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
5930 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6673);
5931 show_backtrace(1);
5932 }
5933 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
5934 if (var6){
5935 var7 = NULL;
5936 if (var_new_child == NULL) {
5937 var8 = 0; /* is null */
5938 } else {
5939 var8 = 1; /* arg is null and recv is not */
5940 }
5941 if (var8){
5942 ((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)>*/;
5943 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
5944 cltype10 = type_parser_nodes__AExpr.color;
5945 idtype11 = type_parser_nodes__AExpr.id;
5946 if(cltype10 >= var_new_child->type->table_size) {
5947 var9 = 0;
5948 } else {
5949 var9 = var_new_child->type->type_table[cltype10] == idtype11;
5950 }
5951 if (!var9) {
5952 fprintf(stderr, "Runtime error: %s", "Assert failed");
5953 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6676);
5954 show_backtrace(1);
5955 }
5956 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:APlusExpr> */
5957 } else {
5958 fprintf(stderr, "Runtime error: %s", "Aborted");
5959 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6679);
5960 show_backtrace(1);
5961 }
5962 goto RET_LABEL;
5963 } else {
5964 }
5965 RET_LABEL:;
5966 }
5967 /* method parser_prod#APlusExpr#replace_child for (self: Object, ANode, nullable ANode) */
5968 void VIRTUAL_parser_prod__APlusExpr__replace_child(val* self, val* p0, val* p1) {
5969 parser_prod__APlusExpr__replace_child(self, p0, p1);
5970 RET_LABEL:;
5971 }
5972 /* method parser_prod#APlusExpr#n_expr= for (self: APlusExpr, AExpr) */
5973 void parser_prod__APlusExpr__n_expr_61d(val* self, val* p0) {
5974 val* var_node /* var node: AExpr */;
5975 var_node = p0;
5976 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:APlusExpr> */
5977 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
5978 RET_LABEL:;
5979 }
5980 /* method parser_prod#APlusExpr#n_expr= for (self: Object, AExpr) */
5981 void VIRTUAL_parser_prod__APlusExpr__n_expr_61d(val* self, val* p0) {
5982 parser_prod__APlusExpr__n_expr_61d(self, p0);
5983 RET_LABEL:;
5984 }
5985 /* method parser_prod#APlusExpr#n_expr2= for (self: APlusExpr, AExpr) */
5986 void parser_prod__APlusExpr__n_expr2_61d(val* self, val* p0) {
5987 val* var_node /* var node: AExpr */;
5988 var_node = p0;
5989 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:APlusExpr> */
5990 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
5991 RET_LABEL:;
5992 }
5993 /* method parser_prod#APlusExpr#n_expr2= for (self: Object, AExpr) */
5994 void VIRTUAL_parser_prod__APlusExpr__n_expr2_61d(val* self, val* p0) {
5995 parser_prod__APlusExpr__n_expr2_61d(self, p0);
5996 RET_LABEL:;
5997 }
5998 /* method parser_prod#APlusExpr#visit_all for (self: APlusExpr, Visitor) */
5999 void parser_prod__APlusExpr__visit_all(val* self, val* p0) {
6000 val* var_v /* var v: Visitor */;
6001 val* var /* : AExpr */;
6002 val* var1 /* : AExpr */;
6003 var_v = p0;
6004 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:APlusExpr> */
6005 if (var == NULL) {
6006 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
6007 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6699);
6008 show_backtrace(1);
6009 }
6010 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
6011 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:APlusExpr> */
6012 if (var1 == NULL) {
6013 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
6014 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6700);
6015 show_backtrace(1);
6016 }
6017 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
6018 RET_LABEL:;
6019 }
6020 /* method parser_prod#APlusExpr#visit_all for (self: Object, Visitor) */
6021 void VIRTUAL_parser_prod__APlusExpr__visit_all(val* self, val* p0) {
6022 parser_prod__APlusExpr__visit_all(self, p0);
6023 RET_LABEL:;
6024 }
6025 /* method parser_prod#AMinusExpr#empty_init for (self: AMinusExpr) */
6026 void parser_prod__AMinusExpr__empty_init(val* self) {
6027 RET_LABEL:;
6028 }
6029 /* method parser_prod#AMinusExpr#empty_init for (self: Object) */
6030 void VIRTUAL_parser_prod__AMinusExpr__empty_init(val* self) {
6031 parser_prod__AMinusExpr__empty_init(self);
6032 RET_LABEL:;
6033 }
6034 /* method parser_prod#AMinusExpr#init_aminusexpr for (self: AMinusExpr, nullable AExpr, nullable AExpr) */
6035 void parser_prod__AMinusExpr__init_aminusexpr(val* self, val* p0, val* p1) {
6036 val* var_n_expr /* var n_expr: nullable AExpr */;
6037 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
6038 var_n_expr = p0;
6039 var_n_expr2 = p1;
6040 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AMinusExpr__empty_init]))(self) /* empty_init on <self:AMinusExpr>*/;
6041 if (var_n_expr == NULL) {
6042 fprintf(stderr, "Runtime error: %s", "Cast failed");
6043 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6712);
6044 show_backtrace(1);
6045 }
6046 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AMinusExpr> */
6047 if (var_n_expr == NULL) {
6048 fprintf(stderr, "Runtime error: %s", "Receiver is null");
6049 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6713);
6050 show_backtrace(1);
6051 } else {
6052 ((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>*/;
6053 }
6054 if (var_n_expr2 == NULL) {
6055 fprintf(stderr, "Runtime error: %s", "Cast failed");
6056 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6714);
6057 show_backtrace(1);
6058 }
6059 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AMinusExpr> */
6060 if (var_n_expr2 == NULL) {
6061 fprintf(stderr, "Runtime error: %s", "Receiver is null");
6062 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6715);
6063 show_backtrace(1);
6064 } else {
6065 ((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>*/;
6066 }
6067 RET_LABEL:;
6068 }
6069 /* method parser_prod#AMinusExpr#init_aminusexpr for (self: Object, nullable AExpr, nullable AExpr) */
6070 void VIRTUAL_parser_prod__AMinusExpr__init_aminusexpr(val* self, val* p0, val* p1) {
6071 parser_prod__AMinusExpr__init_aminusexpr(self, p0, p1);
6072 RET_LABEL:;
6073 }
6074 /* method parser_prod#AMinusExpr#replace_child for (self: AMinusExpr, ANode, nullable ANode) */
6075 void parser_prod__AMinusExpr__replace_child(val* self, val* p0, val* p1) {
6076 val* var_old_child /* var old_child: ANode */;
6077 val* var_new_child /* var new_child: nullable ANode */;
6078 val* var /* : AExpr */;
6079 short int var1 /* : Bool */;
6080 val* var2 /* : null */;
6081 short int var3 /* : Bool */;
6082 short int var4 /* : Bool */;
6083 int cltype;
6084 int idtype;
6085 val* var5 /* : AExpr */;
6086 short int var6 /* : Bool */;
6087 val* var7 /* : null */;
6088 short int var8 /* : Bool */;
6089 short int var9 /* : Bool */;
6090 int cltype10;
6091 int idtype11;
6092 var_old_child = p0;
6093 var_new_child = p1;
6094 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AMinusExpr> */
6095 if (var == NULL) {
6096 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
6097 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6720);
6098 show_backtrace(1);
6099 }
6100 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
6101 if (var1){
6102 var2 = NULL;
6103 if (var_new_child == NULL) {
6104 var3 = 0; /* is null */
6105 } else {
6106 var3 = 1; /* arg is null and recv is not */
6107 }
6108 if (var3){
6109 ((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)>*/;
6110 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6111 cltype = type_parser_nodes__AExpr.color;
6112 idtype = type_parser_nodes__AExpr.id;
6113 if(cltype >= var_new_child->type->table_size) {
6114 var4 = 0;
6115 } else {
6116 var4 = var_new_child->type->type_table[cltype] == idtype;
6117 }
6118 if (!var4) {
6119 fprintf(stderr, "Runtime error: %s", "Assert failed");
6120 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6723);
6121 show_backtrace(1);
6122 }
6123 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:AMinusExpr> */
6124 } else {
6125 fprintf(stderr, "Runtime error: %s", "Aborted");
6126 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6726);
6127 show_backtrace(1);
6128 }
6129 goto RET_LABEL;
6130 } else {
6131 }
6132 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AMinusExpr> */
6133 if (var5 == NULL) {
6134 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
6135 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6730);
6136 show_backtrace(1);
6137 }
6138 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
6139 if (var6){
6140 var7 = NULL;
6141 if (var_new_child == NULL) {
6142 var8 = 0; /* is null */
6143 } else {
6144 var8 = 1; /* arg is null and recv is not */
6145 }
6146 if (var8){
6147 ((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)>*/;
6148 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6149 cltype10 = type_parser_nodes__AExpr.color;
6150 idtype11 = type_parser_nodes__AExpr.id;
6151 if(cltype10 >= var_new_child->type->table_size) {
6152 var9 = 0;
6153 } else {
6154 var9 = var_new_child->type->type_table[cltype10] == idtype11;
6155 }
6156 if (!var9) {
6157 fprintf(stderr, "Runtime error: %s", "Assert failed");
6158 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6733);
6159 show_backtrace(1);
6160 }
6161 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AMinusExpr> */
6162 } else {
6163 fprintf(stderr, "Runtime error: %s", "Aborted");
6164 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6736);
6165 show_backtrace(1);
6166 }
6167 goto RET_LABEL;
6168 } else {
6169 }
6170 RET_LABEL:;
6171 }
6172 /* method parser_prod#AMinusExpr#replace_child for (self: Object, ANode, nullable ANode) */
6173 void VIRTUAL_parser_prod__AMinusExpr__replace_child(val* self, val* p0, val* p1) {
6174 parser_prod__AMinusExpr__replace_child(self, p0, p1);
6175 RET_LABEL:;
6176 }
6177 /* method parser_prod#AMinusExpr#n_expr= for (self: AMinusExpr, AExpr) */
6178 void parser_prod__AMinusExpr__n_expr_61d(val* self, val* p0) {
6179 val* var_node /* var node: AExpr */;
6180 var_node = p0;
6181 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AMinusExpr> */
6182 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6183 RET_LABEL:;
6184 }
6185 /* method parser_prod#AMinusExpr#n_expr= for (self: Object, AExpr) */
6186 void VIRTUAL_parser_prod__AMinusExpr__n_expr_61d(val* self, val* p0) {
6187 parser_prod__AMinusExpr__n_expr_61d(self, p0);
6188 RET_LABEL:;
6189 }
6190 /* method parser_prod#AMinusExpr#n_expr2= for (self: AMinusExpr, AExpr) */
6191 void parser_prod__AMinusExpr__n_expr2_61d(val* self, val* p0) {
6192 val* var_node /* var node: AExpr */;
6193 var_node = p0;
6194 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AMinusExpr> */
6195 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6196 RET_LABEL:;
6197 }
6198 /* method parser_prod#AMinusExpr#n_expr2= for (self: Object, AExpr) */
6199 void VIRTUAL_parser_prod__AMinusExpr__n_expr2_61d(val* self, val* p0) {
6200 parser_prod__AMinusExpr__n_expr2_61d(self, p0);
6201 RET_LABEL:;
6202 }
6203 /* method parser_prod#AMinusExpr#visit_all for (self: AMinusExpr, Visitor) */
6204 void parser_prod__AMinusExpr__visit_all(val* self, val* p0) {
6205 val* var_v /* var v: Visitor */;
6206 val* var /* : AExpr */;
6207 val* var1 /* : AExpr */;
6208 var_v = p0;
6209 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AMinusExpr> */
6210 if (var == NULL) {
6211 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
6212 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6756);
6213 show_backtrace(1);
6214 }
6215 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
6216 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AMinusExpr> */
6217 if (var1 == NULL) {
6218 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
6219 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6757);
6220 show_backtrace(1);
6221 }
6222 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
6223 RET_LABEL:;
6224 }
6225 /* method parser_prod#AMinusExpr#visit_all for (self: Object, Visitor) */
6226 void VIRTUAL_parser_prod__AMinusExpr__visit_all(val* self, val* p0) {
6227 parser_prod__AMinusExpr__visit_all(self, p0);
6228 RET_LABEL:;
6229 }
6230 /* method parser_prod#AStarshipExpr#empty_init for (self: AStarshipExpr) */
6231 void parser_prod__AStarshipExpr__empty_init(val* self) {
6232 RET_LABEL:;
6233 }
6234 /* method parser_prod#AStarshipExpr#empty_init for (self: Object) */
6235 void VIRTUAL_parser_prod__AStarshipExpr__empty_init(val* self) {
6236 parser_prod__AStarshipExpr__empty_init(self);
6237 RET_LABEL:;
6238 }
6239 /* method parser_prod#AStarshipExpr#init_astarshipexpr for (self: AStarshipExpr, nullable AExpr, nullable AExpr) */
6240 void parser_prod__AStarshipExpr__init_astarshipexpr(val* self, val* p0, val* p1) {
6241 val* var_n_expr /* var n_expr: nullable AExpr */;
6242 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
6243 var_n_expr = p0;
6244 var_n_expr2 = p1;
6245 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AStarshipExpr__empty_init]))(self) /* empty_init on <self:AStarshipExpr>*/;
6246 if (var_n_expr == NULL) {
6247 fprintf(stderr, "Runtime error: %s", "Cast failed");
6248 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6769);
6249 show_backtrace(1);
6250 }
6251 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AStarshipExpr> */
6252 if (var_n_expr == NULL) {
6253 fprintf(stderr, "Runtime error: %s", "Receiver is null");
6254 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6770);
6255 show_backtrace(1);
6256 } else {
6257 ((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>*/;
6258 }
6259 if (var_n_expr2 == NULL) {
6260 fprintf(stderr, "Runtime error: %s", "Cast failed");
6261 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6771);
6262 show_backtrace(1);
6263 }
6264 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AStarshipExpr> */
6265 if (var_n_expr2 == NULL) {
6266 fprintf(stderr, "Runtime error: %s", "Receiver is null");
6267 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6772);
6268 show_backtrace(1);
6269 } else {
6270 ((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>*/;
6271 }
6272 RET_LABEL:;
6273 }
6274 /* method parser_prod#AStarshipExpr#init_astarshipexpr for (self: Object, nullable AExpr, nullable AExpr) */
6275 void VIRTUAL_parser_prod__AStarshipExpr__init_astarshipexpr(val* self, val* p0, val* p1) {
6276 parser_prod__AStarshipExpr__init_astarshipexpr(self, p0, p1);
6277 RET_LABEL:;
6278 }
6279 /* method parser_prod#AStarshipExpr#replace_child for (self: AStarshipExpr, ANode, nullable ANode) */
6280 void parser_prod__AStarshipExpr__replace_child(val* self, val* p0, val* p1) {
6281 val* var_old_child /* var old_child: ANode */;
6282 val* var_new_child /* var new_child: nullable ANode */;
6283 val* var /* : AExpr */;
6284 short int var1 /* : Bool */;
6285 val* var2 /* : null */;
6286 short int var3 /* : Bool */;
6287 short int var4 /* : Bool */;
6288 int cltype;
6289 int idtype;
6290 val* var5 /* : AExpr */;
6291 short int var6 /* : Bool */;
6292 val* var7 /* : null */;
6293 short int var8 /* : Bool */;
6294 short int var9 /* : Bool */;
6295 int cltype10;
6296 int idtype11;
6297 var_old_child = p0;
6298 var_new_child = p1;
6299 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarshipExpr> */
6300 if (var == NULL) {
6301 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
6302 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6777);
6303 show_backtrace(1);
6304 }
6305 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
6306 if (var1){
6307 var2 = NULL;
6308 if (var_new_child == NULL) {
6309 var3 = 0; /* is null */
6310 } else {
6311 var3 = 1; /* arg is null and recv is not */
6312 }
6313 if (var3){
6314 ((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)>*/;
6315 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6316 cltype = type_parser_nodes__AExpr.color;
6317 idtype = type_parser_nodes__AExpr.id;
6318 if(cltype >= var_new_child->type->table_size) {
6319 var4 = 0;
6320 } else {
6321 var4 = var_new_child->type->type_table[cltype] == idtype;
6322 }
6323 if (!var4) {
6324 fprintf(stderr, "Runtime error: %s", "Assert failed");
6325 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6780);
6326 show_backtrace(1);
6327 }
6328 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:AStarshipExpr> */
6329 } else {
6330 fprintf(stderr, "Runtime error: %s", "Aborted");
6331 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6783);
6332 show_backtrace(1);
6333 }
6334 goto RET_LABEL;
6335 } else {
6336 }
6337 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarshipExpr> */
6338 if (var5 == NULL) {
6339 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
6340 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6787);
6341 show_backtrace(1);
6342 }
6343 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
6344 if (var6){
6345 var7 = NULL;
6346 if (var_new_child == NULL) {
6347 var8 = 0; /* is null */
6348 } else {
6349 var8 = 1; /* arg is null and recv is not */
6350 }
6351 if (var8){
6352 ((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)>*/;
6353 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6354 cltype10 = type_parser_nodes__AExpr.color;
6355 idtype11 = type_parser_nodes__AExpr.id;
6356 if(cltype10 >= var_new_child->type->table_size) {
6357 var9 = 0;
6358 } else {
6359 var9 = var_new_child->type->type_table[cltype10] == idtype11;
6360 }
6361 if (!var9) {
6362 fprintf(stderr, "Runtime error: %s", "Assert failed");
6363 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6790);
6364 show_backtrace(1);
6365 }
6366 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AStarshipExpr> */
6367 } else {
6368 fprintf(stderr, "Runtime error: %s", "Aborted");
6369 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6793);
6370 show_backtrace(1);
6371 }
6372 goto RET_LABEL;
6373 } else {
6374 }
6375 RET_LABEL:;
6376 }
6377 /* method parser_prod#AStarshipExpr#replace_child for (self: Object, ANode, nullable ANode) */
6378 void VIRTUAL_parser_prod__AStarshipExpr__replace_child(val* self, val* p0, val* p1) {
6379 parser_prod__AStarshipExpr__replace_child(self, p0, p1);
6380 RET_LABEL:;
6381 }
6382 /* method parser_prod#AStarshipExpr#n_expr= for (self: AStarshipExpr, AExpr) */
6383 void parser_prod__AStarshipExpr__n_expr_61d(val* self, val* p0) {
6384 val* var_node /* var node: AExpr */;
6385 var_node = p0;
6386 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AStarshipExpr> */
6387 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6388 RET_LABEL:;
6389 }
6390 /* method parser_prod#AStarshipExpr#n_expr= for (self: Object, AExpr) */
6391 void VIRTUAL_parser_prod__AStarshipExpr__n_expr_61d(val* self, val* p0) {
6392 parser_prod__AStarshipExpr__n_expr_61d(self, p0);
6393 RET_LABEL:;
6394 }
6395 /* method parser_prod#AStarshipExpr#n_expr2= for (self: AStarshipExpr, AExpr) */
6396 void parser_prod__AStarshipExpr__n_expr2_61d(val* self, val* p0) {
6397 val* var_node /* var node: AExpr */;
6398 var_node = p0;
6399 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AStarshipExpr> */
6400 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6401 RET_LABEL:;
6402 }
6403 /* method parser_prod#AStarshipExpr#n_expr2= for (self: Object, AExpr) */
6404 void VIRTUAL_parser_prod__AStarshipExpr__n_expr2_61d(val* self, val* p0) {
6405 parser_prod__AStarshipExpr__n_expr2_61d(self, p0);
6406 RET_LABEL:;
6407 }
6408 /* method parser_prod#AStarshipExpr#visit_all for (self: AStarshipExpr, Visitor) */
6409 void parser_prod__AStarshipExpr__visit_all(val* self, val* p0) {
6410 val* var_v /* var v: Visitor */;
6411 val* var /* : AExpr */;
6412 val* var1 /* : AExpr */;
6413 var_v = p0;
6414 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarshipExpr> */
6415 if (var == NULL) {
6416 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
6417 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6813);
6418 show_backtrace(1);
6419 }
6420 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
6421 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarshipExpr> */
6422 if (var1 == NULL) {
6423 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
6424 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6814);
6425 show_backtrace(1);
6426 }
6427 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
6428 RET_LABEL:;
6429 }
6430 /* method parser_prod#AStarshipExpr#visit_all for (self: Object, Visitor) */
6431 void VIRTUAL_parser_prod__AStarshipExpr__visit_all(val* self, val* p0) {
6432 parser_prod__AStarshipExpr__visit_all(self, p0);
6433 RET_LABEL:;
6434 }
6435 /* method parser_prod#AStarExpr#empty_init for (self: AStarExpr) */
6436 void parser_prod__AStarExpr__empty_init(val* self) {
6437 RET_LABEL:;
6438 }
6439 /* method parser_prod#AStarExpr#empty_init for (self: Object) */
6440 void VIRTUAL_parser_prod__AStarExpr__empty_init(val* self) {
6441 parser_prod__AStarExpr__empty_init(self);
6442 RET_LABEL:;
6443 }
6444 /* method parser_prod#AStarExpr#init_astarexpr for (self: AStarExpr, nullable AExpr, nullable AExpr) */
6445 void parser_prod__AStarExpr__init_astarexpr(val* self, val* p0, val* p1) {
6446 val* var_n_expr /* var n_expr: nullable AExpr */;
6447 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
6448 var_n_expr = p0;
6449 var_n_expr2 = p1;
6450 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AStarExpr__empty_init]))(self) /* empty_init on <self:AStarExpr>*/;
6451 if (var_n_expr == NULL) {
6452 fprintf(stderr, "Runtime error: %s", "Cast failed");
6453 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6826);
6454 show_backtrace(1);
6455 }
6456 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AStarExpr> */
6457 if (var_n_expr == NULL) {
6458 fprintf(stderr, "Runtime error: %s", "Receiver is null");
6459 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6827);
6460 show_backtrace(1);
6461 } else {
6462 ((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>*/;
6463 }
6464 if (var_n_expr2 == NULL) {
6465 fprintf(stderr, "Runtime error: %s", "Cast failed");
6466 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6828);
6467 show_backtrace(1);
6468 }
6469 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:AStarExpr> */
6470 if (var_n_expr2 == NULL) {
6471 fprintf(stderr, "Runtime error: %s", "Receiver is null");
6472 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6829);
6473 show_backtrace(1);
6474 } else {
6475 ((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>*/;
6476 }
6477 RET_LABEL:;
6478 }
6479 /* method parser_prod#AStarExpr#init_astarexpr for (self: Object, nullable AExpr, nullable AExpr) */
6480 void VIRTUAL_parser_prod__AStarExpr__init_astarexpr(val* self, val* p0, val* p1) {
6481 parser_prod__AStarExpr__init_astarexpr(self, p0, p1);
6482 RET_LABEL:;
6483 }
6484 /* method parser_prod#AStarExpr#replace_child for (self: AStarExpr, ANode, nullable ANode) */
6485 void parser_prod__AStarExpr__replace_child(val* self, val* p0, val* p1) {
6486 val* var_old_child /* var old_child: ANode */;
6487 val* var_new_child /* var new_child: nullable ANode */;
6488 val* var /* : AExpr */;
6489 short int var1 /* : Bool */;
6490 val* var2 /* : null */;
6491 short int var3 /* : Bool */;
6492 short int var4 /* : Bool */;
6493 int cltype;
6494 int idtype;
6495 val* var5 /* : AExpr */;
6496 short int var6 /* : Bool */;
6497 val* var7 /* : null */;
6498 short int var8 /* : Bool */;
6499 short int var9 /* : Bool */;
6500 int cltype10;
6501 int idtype11;
6502 var_old_child = p0;
6503 var_new_child = p1;
6504 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarExpr> */
6505 if (var == NULL) {
6506 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
6507 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6834);
6508 show_backtrace(1);
6509 }
6510 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
6511 if (var1){
6512 var2 = NULL;
6513 if (var_new_child == NULL) {
6514 var3 = 0; /* is null */
6515 } else {
6516 var3 = 1; /* arg is null and recv is not */
6517 }
6518 if (var3){
6519 ((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)>*/;
6520 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6521 cltype = type_parser_nodes__AExpr.color;
6522 idtype = type_parser_nodes__AExpr.id;
6523 if(cltype >= var_new_child->type->table_size) {
6524 var4 = 0;
6525 } else {
6526 var4 = var_new_child->type->type_table[cltype] == idtype;
6527 }
6528 if (!var4) {
6529 fprintf(stderr, "Runtime error: %s", "Assert failed");
6530 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6837);
6531 show_backtrace(1);
6532 }
6533 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:AStarExpr> */
6534 } else {
6535 fprintf(stderr, "Runtime error: %s", "Aborted");
6536 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6840);
6537 show_backtrace(1);
6538 }
6539 goto RET_LABEL;
6540 } else {
6541 }
6542 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarExpr> */
6543 if (var5 == NULL) {
6544 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
6545 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6844);
6546 show_backtrace(1);
6547 }
6548 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
6549 if (var6){
6550 var7 = NULL;
6551 if (var_new_child == NULL) {
6552 var8 = 0; /* is null */
6553 } else {
6554 var8 = 1; /* arg is null and recv is not */
6555 }
6556 if (var8){
6557 ((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)>*/;
6558 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6559 cltype10 = type_parser_nodes__AExpr.color;
6560 idtype11 = type_parser_nodes__AExpr.id;
6561 if(cltype10 >= var_new_child->type->table_size) {
6562 var9 = 0;
6563 } else {
6564 var9 = var_new_child->type->type_table[cltype10] == idtype11;
6565 }
6566 if (!var9) {
6567 fprintf(stderr, "Runtime error: %s", "Assert failed");
6568 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6847);
6569 show_backtrace(1);
6570 }
6571 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:AStarExpr> */
6572 } else {
6573 fprintf(stderr, "Runtime error: %s", "Aborted");
6574 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6850);
6575 show_backtrace(1);
6576 }
6577 goto RET_LABEL;
6578 } else {
6579 }
6580 RET_LABEL:;
6581 }
6582 /* method parser_prod#AStarExpr#replace_child for (self: Object, ANode, nullable ANode) */
6583 void VIRTUAL_parser_prod__AStarExpr__replace_child(val* self, val* p0, val* p1) {
6584 parser_prod__AStarExpr__replace_child(self, p0, p1);
6585 RET_LABEL:;
6586 }
6587 /* method parser_prod#AStarExpr#n_expr= for (self: AStarExpr, AExpr) */
6588 void parser_prod__AStarExpr__n_expr_61d(val* self, val* p0) {
6589 val* var_node /* var node: AExpr */;
6590 var_node = p0;
6591 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AStarExpr> */
6592 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6593 RET_LABEL:;
6594 }
6595 /* method parser_prod#AStarExpr#n_expr= for (self: Object, AExpr) */
6596 void VIRTUAL_parser_prod__AStarExpr__n_expr_61d(val* self, val* p0) {
6597 parser_prod__AStarExpr__n_expr_61d(self, p0);
6598 RET_LABEL:;
6599 }
6600 /* method parser_prod#AStarExpr#n_expr2= for (self: AStarExpr, AExpr) */
6601 void parser_prod__AStarExpr__n_expr2_61d(val* self, val* p0) {
6602 val* var_node /* var node: AExpr */;
6603 var_node = p0;
6604 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:AStarExpr> */
6605 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6606 RET_LABEL:;
6607 }
6608 /* method parser_prod#AStarExpr#n_expr2= for (self: Object, AExpr) */
6609 void VIRTUAL_parser_prod__AStarExpr__n_expr2_61d(val* self, val* p0) {
6610 parser_prod__AStarExpr__n_expr2_61d(self, p0);
6611 RET_LABEL:;
6612 }
6613 /* method parser_prod#AStarExpr#visit_all for (self: AStarExpr, Visitor) */
6614 void parser_prod__AStarExpr__visit_all(val* self, val* p0) {
6615 val* var_v /* var v: Visitor */;
6616 val* var /* : AExpr */;
6617 val* var1 /* : AExpr */;
6618 var_v = p0;
6619 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AStarExpr> */
6620 if (var == NULL) {
6621 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
6622 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6870);
6623 show_backtrace(1);
6624 }
6625 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
6626 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:AStarExpr> */
6627 if (var1 == NULL) {
6628 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
6629 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6871);
6630 show_backtrace(1);
6631 }
6632 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
6633 RET_LABEL:;
6634 }
6635 /* method parser_prod#AStarExpr#visit_all for (self: Object, Visitor) */
6636 void VIRTUAL_parser_prod__AStarExpr__visit_all(val* self, val* p0) {
6637 parser_prod__AStarExpr__visit_all(self, p0);
6638 RET_LABEL:;
6639 }
6640 /* method parser_prod#ASlashExpr#empty_init for (self: ASlashExpr) */
6641 void parser_prod__ASlashExpr__empty_init(val* self) {
6642 RET_LABEL:;
6643 }
6644 /* method parser_prod#ASlashExpr#empty_init for (self: Object) */
6645 void VIRTUAL_parser_prod__ASlashExpr__empty_init(val* self) {
6646 parser_prod__ASlashExpr__empty_init(self);
6647 RET_LABEL:;
6648 }
6649 /* method parser_prod#ASlashExpr#init_aslashexpr for (self: ASlashExpr, nullable AExpr, nullable AExpr) */
6650 void parser_prod__ASlashExpr__init_aslashexpr(val* self, val* p0, val* p1) {
6651 val* var_n_expr /* var n_expr: nullable AExpr */;
6652 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
6653 var_n_expr = p0;
6654 var_n_expr2 = p1;
6655 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ASlashExpr__empty_init]))(self) /* empty_init on <self:ASlashExpr>*/;
6656 if (var_n_expr == NULL) {
6657 fprintf(stderr, "Runtime error: %s", "Cast failed");
6658 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6883);
6659 show_backtrace(1);
6660 }
6661 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ASlashExpr> */
6662 if (var_n_expr == NULL) {
6663 fprintf(stderr, "Runtime error: %s", "Receiver is null");
6664 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6884);
6665 show_backtrace(1);
6666 } else {
6667 ((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>*/;
6668 }
6669 if (var_n_expr2 == NULL) {
6670 fprintf(stderr, "Runtime error: %s", "Cast failed");
6671 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6885);
6672 show_backtrace(1);
6673 }
6674 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:ASlashExpr> */
6675 if (var_n_expr2 == NULL) {
6676 fprintf(stderr, "Runtime error: %s", "Receiver is null");
6677 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6886);
6678 show_backtrace(1);
6679 } else {
6680 ((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>*/;
6681 }
6682 RET_LABEL:;
6683 }
6684 /* method parser_prod#ASlashExpr#init_aslashexpr for (self: Object, nullable AExpr, nullable AExpr) */
6685 void VIRTUAL_parser_prod__ASlashExpr__init_aslashexpr(val* self, val* p0, val* p1) {
6686 parser_prod__ASlashExpr__init_aslashexpr(self, p0, p1);
6687 RET_LABEL:;
6688 }
6689 /* method parser_prod#ASlashExpr#replace_child for (self: ASlashExpr, ANode, nullable ANode) */
6690 void parser_prod__ASlashExpr__replace_child(val* self, val* p0, val* p1) {
6691 val* var_old_child /* var old_child: ANode */;
6692 val* var_new_child /* var new_child: nullable ANode */;
6693 val* var /* : AExpr */;
6694 short int var1 /* : Bool */;
6695 val* var2 /* : null */;
6696 short int var3 /* : Bool */;
6697 short int var4 /* : Bool */;
6698 int cltype;
6699 int idtype;
6700 val* var5 /* : AExpr */;
6701 short int var6 /* : Bool */;
6702 val* var7 /* : null */;
6703 short int var8 /* : Bool */;
6704 short int var9 /* : Bool */;
6705 int cltype10;
6706 int idtype11;
6707 var_old_child = p0;
6708 var_new_child = p1;
6709 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ASlashExpr> */
6710 if (var == NULL) {
6711 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
6712 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6891);
6713 show_backtrace(1);
6714 }
6715 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
6716 if (var1){
6717 var2 = NULL;
6718 if (var_new_child == NULL) {
6719 var3 = 0; /* is null */
6720 } else {
6721 var3 = 1; /* arg is null and recv is not */
6722 }
6723 if (var3){
6724 ((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)>*/;
6725 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6726 cltype = type_parser_nodes__AExpr.color;
6727 idtype = type_parser_nodes__AExpr.id;
6728 if(cltype >= var_new_child->type->table_size) {
6729 var4 = 0;
6730 } else {
6731 var4 = var_new_child->type->type_table[cltype] == idtype;
6732 }
6733 if (!var4) {
6734 fprintf(stderr, "Runtime error: %s", "Assert failed");
6735 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6894);
6736 show_backtrace(1);
6737 }
6738 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ASlashExpr> */
6739 } else {
6740 fprintf(stderr, "Runtime error: %s", "Aborted");
6741 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6897);
6742 show_backtrace(1);
6743 }
6744 goto RET_LABEL;
6745 } else {
6746 }
6747 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ASlashExpr> */
6748 if (var5 == NULL) {
6749 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
6750 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6901);
6751 show_backtrace(1);
6752 }
6753 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
6754 if (var6){
6755 var7 = NULL;
6756 if (var_new_child == NULL) {
6757 var8 = 0; /* is null */
6758 } else {
6759 var8 = 1; /* arg is null and recv is not */
6760 }
6761 if (var8){
6762 ((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)>*/;
6763 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6764 cltype10 = type_parser_nodes__AExpr.color;
6765 idtype11 = type_parser_nodes__AExpr.id;
6766 if(cltype10 >= var_new_child->type->table_size) {
6767 var9 = 0;
6768 } else {
6769 var9 = var_new_child->type->type_table[cltype10] == idtype11;
6770 }
6771 if (!var9) {
6772 fprintf(stderr, "Runtime error: %s", "Assert failed");
6773 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6904);
6774 show_backtrace(1);
6775 }
6776 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:ASlashExpr> */
6777 } else {
6778 fprintf(stderr, "Runtime error: %s", "Aborted");
6779 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6907);
6780 show_backtrace(1);
6781 }
6782 goto RET_LABEL;
6783 } else {
6784 }
6785 RET_LABEL:;
6786 }
6787 /* method parser_prod#ASlashExpr#replace_child for (self: Object, ANode, nullable ANode) */
6788 void VIRTUAL_parser_prod__ASlashExpr__replace_child(val* self, val* p0, val* p1) {
6789 parser_prod__ASlashExpr__replace_child(self, p0, p1);
6790 RET_LABEL:;
6791 }
6792 /* method parser_prod#ASlashExpr#n_expr= for (self: ASlashExpr, AExpr) */
6793 void parser_prod__ASlashExpr__n_expr_61d(val* self, val* p0) {
6794 val* var_node /* var node: AExpr */;
6795 var_node = p0;
6796 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ASlashExpr> */
6797 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6798 RET_LABEL:;
6799 }
6800 /* method parser_prod#ASlashExpr#n_expr= for (self: Object, AExpr) */
6801 void VIRTUAL_parser_prod__ASlashExpr__n_expr_61d(val* self, val* p0) {
6802 parser_prod__ASlashExpr__n_expr_61d(self, p0);
6803 RET_LABEL:;
6804 }
6805 /* method parser_prod#ASlashExpr#n_expr2= for (self: ASlashExpr, AExpr) */
6806 void parser_prod__ASlashExpr__n_expr2_61d(val* self, val* p0) {
6807 val* var_node /* var node: AExpr */;
6808 var_node = p0;
6809 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:ASlashExpr> */
6810 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
6811 RET_LABEL:;
6812 }
6813 /* method parser_prod#ASlashExpr#n_expr2= for (self: Object, AExpr) */
6814 void VIRTUAL_parser_prod__ASlashExpr__n_expr2_61d(val* self, val* p0) {
6815 parser_prod__ASlashExpr__n_expr2_61d(self, p0);
6816 RET_LABEL:;
6817 }
6818 /* method parser_prod#ASlashExpr#visit_all for (self: ASlashExpr, Visitor) */
6819 void parser_prod__ASlashExpr__visit_all(val* self, val* p0) {
6820 val* var_v /* var v: Visitor */;
6821 val* var /* : AExpr */;
6822 val* var1 /* : AExpr */;
6823 var_v = p0;
6824 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ASlashExpr> */
6825 if (var == NULL) {
6826 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
6827 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6927);
6828 show_backtrace(1);
6829 }
6830 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
6831 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:ASlashExpr> */
6832 if (var1 == NULL) {
6833 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
6834 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6928);
6835 show_backtrace(1);
6836 }
6837 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
6838 RET_LABEL:;
6839 }
6840 /* method parser_prod#ASlashExpr#visit_all for (self: Object, Visitor) */
6841 void VIRTUAL_parser_prod__ASlashExpr__visit_all(val* self, val* p0) {
6842 parser_prod__ASlashExpr__visit_all(self, p0);
6843 RET_LABEL:;
6844 }
6845 /* method parser_prod#APercentExpr#empty_init for (self: APercentExpr) */
6846 void parser_prod__APercentExpr__empty_init(val* self) {
6847 RET_LABEL:;
6848 }
6849 /* method parser_prod#APercentExpr#empty_init for (self: Object) */
6850 void VIRTUAL_parser_prod__APercentExpr__empty_init(val* self) {
6851 parser_prod__APercentExpr__empty_init(self);
6852 RET_LABEL:;
6853 }
6854 /* method parser_prod#APercentExpr#init_apercentexpr for (self: APercentExpr, nullable AExpr, nullable AExpr) */
6855 void parser_prod__APercentExpr__init_apercentexpr(val* self, val* p0, val* p1) {
6856 val* var_n_expr /* var n_expr: nullable AExpr */;
6857 val* var_n_expr2 /* var n_expr2: nullable AExpr */;
6858 var_n_expr = p0;
6859 var_n_expr2 = p1;
6860 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__APercentExpr__empty_init]))(self) /* empty_init on <self:APercentExpr>*/;
6861 if (var_n_expr == NULL) {
6862 fprintf(stderr, "Runtime error: %s", "Cast failed");
6863 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6940);
6864 show_backtrace(1);
6865 }
6866 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:APercentExpr> */
6867 if (var_n_expr == NULL) {
6868 fprintf(stderr, "Runtime error: %s", "Receiver is null");
6869 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6941);
6870 show_backtrace(1);
6871 } else {
6872 ((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>*/;
6873 }
6874 if (var_n_expr2 == NULL) {
6875 fprintf(stderr, "Runtime error: %s", "Cast failed");
6876 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6942);
6877 show_backtrace(1);
6878 }
6879 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_n_expr2; /* _n_expr2 on <self:APercentExpr> */
6880 if (var_n_expr2 == NULL) {
6881 fprintf(stderr, "Runtime error: %s", "Receiver is null");
6882 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6943);
6883 show_backtrace(1);
6884 } else {
6885 ((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>*/;
6886 }
6887 RET_LABEL:;
6888 }
6889 /* method parser_prod#APercentExpr#init_apercentexpr for (self: Object, nullable AExpr, nullable AExpr) */
6890 void VIRTUAL_parser_prod__APercentExpr__init_apercentexpr(val* self, val* p0, val* p1) {
6891 parser_prod__APercentExpr__init_apercentexpr(self, p0, p1);
6892 RET_LABEL:;
6893 }
6894 /* method parser_prod#APercentExpr#replace_child for (self: APercentExpr, ANode, nullable ANode) */
6895 void parser_prod__APercentExpr__replace_child(val* self, val* p0, val* p1) {
6896 val* var_old_child /* var old_child: ANode */;
6897 val* var_new_child /* var new_child: nullable ANode */;
6898 val* var /* : AExpr */;
6899 short int var1 /* : Bool */;
6900 val* var2 /* : null */;
6901 short int var3 /* : Bool */;
6902 short int var4 /* : Bool */;
6903 int cltype;
6904 int idtype;
6905 val* var5 /* : AExpr */;
6906 short int var6 /* : Bool */;
6907 val* var7 /* : null */;
6908 short int var8 /* : Bool */;
6909 short int var9 /* : Bool */;
6910 int cltype10;
6911 int idtype11;
6912 var_old_child = p0;
6913 var_new_child = p1;
6914 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:APercentExpr> */
6915 if (var == NULL) {
6916 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
6917 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6948);
6918 show_backtrace(1);
6919 }
6920 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
6921 if (var1){
6922 var2 = NULL;
6923 if (var_new_child == NULL) {
6924 var3 = 0; /* is null */
6925 } else {
6926 var3 = 1; /* arg is null and recv is not */
6927 }
6928 if (var3){
6929 ((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)>*/;
6930 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6931 cltype = type_parser_nodes__AExpr.color;
6932 idtype = type_parser_nodes__AExpr.id;
6933 if(cltype >= var_new_child->type->table_size) {
6934 var4 = 0;
6935 } else {
6936 var4 = var_new_child->type->type_table[cltype] == idtype;
6937 }
6938 if (!var4) {
6939 fprintf(stderr, "Runtime error: %s", "Assert failed");
6940 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6951);
6941 show_backtrace(1);
6942 }
6943 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:APercentExpr> */
6944 } else {
6945 fprintf(stderr, "Runtime error: %s", "Aborted");
6946 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6954);
6947 show_backtrace(1);
6948 }
6949 goto RET_LABEL;
6950 } else {
6951 }
6952 var5 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:APercentExpr> */
6953 if (var5 == NULL) {
6954 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
6955 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6958);
6956 show_backtrace(1);
6957 }
6958 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
6959 if (var6){
6960 var7 = NULL;
6961 if (var_new_child == NULL) {
6962 var8 = 0; /* is null */
6963 } else {
6964 var8 = 1; /* arg is null and recv is not */
6965 }
6966 if (var8){
6967 ((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)>*/;
6968 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
6969 cltype10 = type_parser_nodes__AExpr.color;
6970 idtype11 = type_parser_nodes__AExpr.id;
6971 if(cltype10 >= var_new_child->type->table_size) {
6972 var9 = 0;
6973 } else {
6974 var9 = var_new_child->type->type_table[cltype10] == idtype11;
6975 }
6976 if (!var9) {
6977 fprintf(stderr, "Runtime error: %s", "Assert failed");
6978 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6961);
6979 show_backtrace(1);
6980 }
6981 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_new_child; /* _n_expr2 on <self:APercentExpr> */
6982 } else {
6983 fprintf(stderr, "Runtime error: %s", "Aborted");
6984 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6964);
6985 show_backtrace(1);
6986 }
6987 goto RET_LABEL;
6988 } else {
6989 }
6990 RET_LABEL:;
6991 }
6992 /* method parser_prod#APercentExpr#replace_child for (self: Object, ANode, nullable ANode) */
6993 void VIRTUAL_parser_prod__APercentExpr__replace_child(val* self, val* p0, val* p1) {
6994 parser_prod__APercentExpr__replace_child(self, p0, p1);
6995 RET_LABEL:;
6996 }
6997 /* method parser_prod#APercentExpr#n_expr= for (self: APercentExpr, AExpr) */
6998 void parser_prod__APercentExpr__n_expr_61d(val* self, val* p0) {
6999 val* var_node /* var node: AExpr */;
7000 var_node = p0;
7001 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:APercentExpr> */
7002 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
7003 RET_LABEL:;
7004 }
7005 /* method parser_prod#APercentExpr#n_expr= for (self: Object, AExpr) */
7006 void VIRTUAL_parser_prod__APercentExpr__n_expr_61d(val* self, val* p0) {
7007 parser_prod__APercentExpr__n_expr_61d(self, p0);
7008 RET_LABEL:;
7009 }
7010 /* method parser_prod#APercentExpr#n_expr2= for (self: APercentExpr, AExpr) */
7011 void parser_prod__APercentExpr__n_expr2_61d(val* self, val* p0) {
7012 val* var_node /* var node: AExpr */;
7013 var_node = p0;
7014 self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val = var_node; /* _n_expr2 on <self:APercentExpr> */
7015 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
7016 RET_LABEL:;
7017 }
7018 /* method parser_prod#APercentExpr#n_expr2= for (self: Object, AExpr) */
7019 void VIRTUAL_parser_prod__APercentExpr__n_expr2_61d(val* self, val* p0) {
7020 parser_prod__APercentExpr__n_expr2_61d(self, p0);
7021 RET_LABEL:;
7022 }
7023 /* method parser_prod#APercentExpr#visit_all for (self: APercentExpr, Visitor) */
7024 void parser_prod__APercentExpr__visit_all(val* self, val* p0) {
7025 val* var_v /* var v: Visitor */;
7026 val* var /* : AExpr */;
7027 val* var1 /* : AExpr */;
7028 var_v = p0;
7029 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:APercentExpr> */
7030 if (var == NULL) {
7031 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
7032 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6984);
7033 show_backtrace(1);
7034 }
7035 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
7036 var1 = self->attrs[COLOR_parser_nodes__ABinopExpr___n_expr2].val; /* _n_expr2 on <self:APercentExpr> */
7037 if (var1 == NULL) {
7038 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr2");
7039 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6985);
7040 show_backtrace(1);
7041 }
7042 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
7043 RET_LABEL:;
7044 }
7045 /* method parser_prod#APercentExpr#visit_all for (self: Object, Visitor) */
7046 void VIRTUAL_parser_prod__APercentExpr__visit_all(val* self, val* p0) {
7047 parser_prod__APercentExpr__visit_all(self, p0);
7048 RET_LABEL:;
7049 }
7050 /* method parser_prod#AUminusExpr#empty_init for (self: AUminusExpr) */
7051 void parser_prod__AUminusExpr__empty_init(val* self) {
7052 RET_LABEL:;
7053 }
7054 /* method parser_prod#AUminusExpr#empty_init for (self: Object) */
7055 void VIRTUAL_parser_prod__AUminusExpr__empty_init(val* self) {
7056 parser_prod__AUminusExpr__empty_init(self);
7057 RET_LABEL:;
7058 }
7059 /* method parser_prod#AUminusExpr#init_auminusexpr for (self: AUminusExpr, nullable TMinus, nullable AExpr) */
7060 void parser_prod__AUminusExpr__init_auminusexpr(val* self, val* p0, val* p1) {
7061 val* var_n_minus /* var n_minus: nullable TMinus */;
7062 val* var_n_expr /* var n_expr: nullable AExpr */;
7063 var_n_minus = p0;
7064 var_n_expr = p1;
7065 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AUminusExpr__empty_init]))(self) /* empty_init on <self:AUminusExpr>*/;
7066 if (var_n_minus == NULL) {
7067 fprintf(stderr, "Runtime error: %s", "Cast failed");
7068 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6997);
7069 show_backtrace(1);
7070 }
7071 self->attrs[COLOR_parser_nodes__AUminusExpr___n_minus].val = var_n_minus; /* _n_minus on <self:AUminusExpr> */
7072 if (var_n_minus == NULL) {
7073 fprintf(stderr, "Runtime error: %s", "Receiver is null");
7074 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6998);
7075 show_backtrace(1);
7076 } else {
7077 ((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>*/;
7078 }
7079 if (var_n_expr == NULL) {
7080 fprintf(stderr, "Runtime error: %s", "Cast failed");
7081 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 6999);
7082 show_backtrace(1);
7083 }
7084 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AUminusExpr> */
7085 if (var_n_expr == NULL) {
7086 fprintf(stderr, "Runtime error: %s", "Receiver is null");
7087 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7000);
7088 show_backtrace(1);
7089 } else {
7090 ((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>*/;
7091 }
7092 RET_LABEL:;
7093 }
7094 /* method parser_prod#AUminusExpr#init_auminusexpr for (self: Object, nullable TMinus, nullable AExpr) */
7095 void VIRTUAL_parser_prod__AUminusExpr__init_auminusexpr(val* self, val* p0, val* p1) {
7096 parser_prod__AUminusExpr__init_auminusexpr(self, p0, p1);
7097 RET_LABEL:;
7098 }
7099 /* method parser_prod#AUminusExpr#replace_child for (self: AUminusExpr, ANode, nullable ANode) */
7100 void parser_prod__AUminusExpr__replace_child(val* self, val* p0, val* p1) {
7101 val* var_old_child /* var old_child: ANode */;
7102 val* var_new_child /* var new_child: nullable ANode */;
7103 val* var /* : TMinus */;
7104 short int var1 /* : Bool */;
7105 val* var2 /* : null */;
7106 short int var3 /* : Bool */;
7107 short int var4 /* : Bool */;
7108 int cltype;
7109 int idtype;
7110 val* var5 /* : AExpr */;
7111 short int var6 /* : Bool */;
7112 val* var7 /* : null */;
7113 short int var8 /* : Bool */;
7114 short int var9 /* : Bool */;
7115 int cltype10;
7116 int idtype11;
7117 var_old_child = p0;
7118 var_new_child = p1;
7119 var = self->attrs[COLOR_parser_nodes__AUminusExpr___n_minus].val; /* _n_minus on <self:AUminusExpr> */
7120 if (var == NULL) {
7121 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_minus");
7122 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7005);
7123 show_backtrace(1);
7124 }
7125 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TMinus>*/;
7126 if (var1){
7127 var2 = NULL;
7128 if (var_new_child == NULL) {
7129 var3 = 0; /* is null */
7130 } else {
7131 var3 = 1; /* arg is null and recv is not */
7132 }
7133 if (var3){
7134 ((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)>*/;
7135 /* <var_new_child:nullable ANode(ANode)> isa TMinus */
7136 cltype = type_parser_nodes__TMinus.color;
7137 idtype = type_parser_nodes__TMinus.id;
7138 if(cltype >= var_new_child->type->table_size) {
7139 var4 = 0;
7140 } else {
7141 var4 = var_new_child->type->type_table[cltype] == idtype;
7142 }
7143 if (!var4) {
7144 fprintf(stderr, "Runtime error: %s", "Assert failed");
7145 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7008);
7146 show_backtrace(1);
7147 }
7148 self->attrs[COLOR_parser_nodes__AUminusExpr___n_minus].val = var_new_child; /* _n_minus on <self:AUminusExpr> */
7149 } else {
7150 fprintf(stderr, "Runtime error: %s", "Aborted");
7151 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7011);
7152 show_backtrace(1);
7153 }
7154 goto RET_LABEL;
7155 } else {
7156 }
7157 var5 = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AUminusExpr> */
7158 if (var5 == NULL) {
7159 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
7160 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7015);
7161 show_backtrace(1);
7162 }
7163 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AExpr>*/;
7164 if (var6){
7165 var7 = NULL;
7166 if (var_new_child == NULL) {
7167 var8 = 0; /* is null */
7168 } else {
7169 var8 = 1; /* arg is null and recv is not */
7170 }
7171 if (var8){
7172 ((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)>*/;
7173 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
7174 cltype10 = type_parser_nodes__AExpr.color;
7175 idtype11 = type_parser_nodes__AExpr.id;
7176 if(cltype10 >= var_new_child->type->table_size) {
7177 var9 = 0;
7178 } else {
7179 var9 = var_new_child->type->type_table[cltype10] == idtype11;
7180 }
7181 if (!var9) {
7182 fprintf(stderr, "Runtime error: %s", "Assert failed");
7183 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7018);
7184 show_backtrace(1);
7185 }
7186 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:AUminusExpr> */
7187 } else {
7188 fprintf(stderr, "Runtime error: %s", "Aborted");
7189 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7021);
7190 show_backtrace(1);
7191 }
7192 goto RET_LABEL;
7193 } else {
7194 }
7195 RET_LABEL:;
7196 }
7197 /* method parser_prod#AUminusExpr#replace_child for (self: Object, ANode, nullable ANode) */
7198 void VIRTUAL_parser_prod__AUminusExpr__replace_child(val* self, val* p0, val* p1) {
7199 parser_prod__AUminusExpr__replace_child(self, p0, p1);
7200 RET_LABEL:;
7201 }
7202 /* method parser_prod#AUminusExpr#n_minus= for (self: AUminusExpr, TMinus) */
7203 void parser_prod__AUminusExpr__n_minus_61d(val* self, val* p0) {
7204 val* var_node /* var node: TMinus */;
7205 var_node = p0;
7206 self->attrs[COLOR_parser_nodes__AUminusExpr___n_minus].val = var_node; /* _n_minus on <self:AUminusExpr> */
7207 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TMinus>*/;
7208 RET_LABEL:;
7209 }
7210 /* method parser_prod#AUminusExpr#n_minus= for (self: Object, TMinus) */
7211 void VIRTUAL_parser_prod__AUminusExpr__n_minus_61d(val* self, val* p0) {
7212 parser_prod__AUminusExpr__n_minus_61d(self, p0);
7213 RET_LABEL:;
7214 }
7215 /* method parser_prod#AUminusExpr#n_expr= for (self: AUminusExpr, AExpr) */
7216 void parser_prod__AUminusExpr__n_expr_61d(val* self, val* p0) {
7217 val* var_node /* var node: AExpr */;
7218 var_node = p0;
7219 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:AUminusExpr> */
7220 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
7221 RET_LABEL:;
7222 }
7223 /* method parser_prod#AUminusExpr#n_expr= for (self: Object, AExpr) */
7224 void VIRTUAL_parser_prod__AUminusExpr__n_expr_61d(val* self, val* p0) {
7225 parser_prod__AUminusExpr__n_expr_61d(self, p0);
7226 RET_LABEL:;
7227 }
7228 /* method parser_prod#AUminusExpr#visit_all for (self: AUminusExpr, Visitor) */
7229 void parser_prod__AUminusExpr__visit_all(val* self, val* p0) {
7230 val* var_v /* var v: Visitor */;
7231 val* var /* : TMinus */;
7232 val* var1 /* : AExpr */;
7233 var_v = p0;
7234 var = self->attrs[COLOR_parser_nodes__AUminusExpr___n_minus].val; /* _n_minus on <self:AUminusExpr> */
7235 if (var == NULL) {
7236 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_minus");
7237 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7041);
7238 show_backtrace(1);
7239 }
7240 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
7241 var1 = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:AUminusExpr> */
7242 if (var1 == NULL) {
7243 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
7244 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7042);
7245 show_backtrace(1);
7246 }
7247 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
7248 RET_LABEL:;
7249 }
7250 /* method parser_prod#AUminusExpr#visit_all for (self: Object, Visitor) */
7251 void VIRTUAL_parser_prod__AUminusExpr__visit_all(val* self, val* p0) {
7252 parser_prod__AUminusExpr__visit_all(self, p0);
7253 RET_LABEL:;
7254 }
7255 /* method parser_prod#ANewExpr#empty_init for (self: ANewExpr) */
7256 void parser_prod__ANewExpr__empty_init(val* self) {
7257 RET_LABEL:;
7258 }
7259 /* method parser_prod#ANewExpr#empty_init for (self: Object) */
7260 void VIRTUAL_parser_prod__ANewExpr__empty_init(val* self) {
7261 parser_prod__ANewExpr__empty_init(self);
7262 RET_LABEL:;
7263 }
7264 /* method parser_prod#ANewExpr#init_anewexpr for (self: ANewExpr, nullable TKwnew, nullable AType, nullable TId, nullable AExprs) */
7265 void parser_prod__ANewExpr__init_anewexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
7266 val* var_n_kwnew /* var n_kwnew: nullable TKwnew */;
7267 val* var_n_type /* var n_type: nullable AType */;
7268 val* var_n_id /* var n_id: nullable TId */;
7269 val* var_n_args /* var n_args: nullable AExprs */;
7270 val* var /* : null */;
7271 short int var1 /* : Bool */;
7272 var_n_kwnew = p0;
7273 var_n_type = p1;
7274 var_n_id = p2;
7275 var_n_args = p3;
7276 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ANewExpr__empty_init]))(self) /* empty_init on <self:ANewExpr>*/;
7277 if (var_n_kwnew == NULL) {
7278 fprintf(stderr, "Runtime error: %s", "Cast failed");
7279 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7056);
7280 show_backtrace(1);
7281 }
7282 self->attrs[COLOR_parser_nodes__ANewExpr___n_kwnew].val = var_n_kwnew; /* _n_kwnew on <self:ANewExpr> */
7283 if (var_n_kwnew == NULL) {
7284 fprintf(stderr, "Runtime error: %s", "Receiver is null");
7285 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7057);
7286 show_backtrace(1);
7287 } else {
7288 ((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>*/;
7289 }
7290 if (var_n_type == NULL) {
7291 fprintf(stderr, "Runtime error: %s", "Cast failed");
7292 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7058);
7293 show_backtrace(1);
7294 }
7295 self->attrs[COLOR_parser_nodes__ANewExpr___n_type].val = var_n_type; /* _n_type on <self:ANewExpr> */
7296 if (var_n_type == NULL) {
7297 fprintf(stderr, "Runtime error: %s", "Receiver is null");
7298 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7059);
7299 show_backtrace(1);
7300 } else {
7301 ((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>*/;
7302 }
7303 self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val = var_n_id; /* _n_id on <self:ANewExpr> */
7304 var = NULL;
7305 if (var_n_id == NULL) {
7306 var1 = 0; /* is null */
7307 } else {
7308 var1 = 1; /* arg is null and recv is not */
7309 }
7310 if (var1){
7311 ((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)>*/;
7312 } else {
7313 }
7314 if (var_n_args == NULL) {
7315 fprintf(stderr, "Runtime error: %s", "Cast failed");
7316 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7064);
7317 show_backtrace(1);
7318 }
7319 self->attrs[COLOR_parser_nodes__ANewExpr___n_args].val = var_n_args; /* _n_args on <self:ANewExpr> */
7320 if (var_n_args == NULL) {
7321 fprintf(stderr, "Runtime error: %s", "Receiver is null");
7322 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7065);
7323 show_backtrace(1);
7324 } else {
7325 ((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>*/;
7326 }
7327 RET_LABEL:;
7328 }
7329 /* method parser_prod#ANewExpr#init_anewexpr for (self: Object, nullable TKwnew, nullable AType, nullable TId, nullable AExprs) */
7330 void VIRTUAL_parser_prod__ANewExpr__init_anewexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
7331 parser_prod__ANewExpr__init_anewexpr(self, p0, p1, p2, p3);
7332 RET_LABEL:;
7333 }
7334 /* method parser_prod#ANewExpr#replace_child for (self: ANewExpr, ANode, nullable ANode) */
7335 void parser_prod__ANewExpr__replace_child(val* self, val* p0, val* p1) {
7336 val* var_old_child /* var old_child: ANode */;
7337 val* var_new_child /* var new_child: nullable ANode */;
7338 val* var /* : TKwnew */;
7339 short int var1 /* : Bool */;
7340 val* var2 /* : null */;
7341 short int var3 /* : Bool */;
7342 short int var4 /* : Bool */;
7343 int cltype;
7344 int idtype;
7345 val* var5 /* : AType */;
7346 short int var6 /* : Bool */;
7347 val* var7 /* : null */;
7348 short int var8 /* : Bool */;
7349 short int var9 /* : Bool */;
7350 int cltype10;
7351 int idtype11;
7352 val* var12 /* : nullable TId */;
7353 short int var13 /* : Bool */;
7354 val* var14 /* : null */;
7355 short int var15 /* : Bool */;
7356 short int var16 /* : Bool */;
7357 int cltype17;
7358 int idtype18;
7359 val* var19 /* : null */;
7360 val* var20 /* : AExprs */;
7361 short int var21 /* : Bool */;
7362 val* var22 /* : null */;
7363 short int var23 /* : Bool */;
7364 short int var24 /* : Bool */;
7365 int cltype25;
7366 int idtype26;
7367 var_old_child = p0;
7368 var_new_child = p1;
7369 var = self->attrs[COLOR_parser_nodes__ANewExpr___n_kwnew].val; /* _n_kwnew on <self:ANewExpr> */
7370 if (var == NULL) {
7371 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwnew");
7372 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7070);
7373 show_backtrace(1);
7374 }
7375 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:TKwnew>*/;
7376 if (var1){
7377 var2 = NULL;
7378 if (var_new_child == NULL) {
7379 var3 = 0; /* is null */
7380 } else {
7381 var3 = 1; /* arg is null and recv is not */
7382 }
7383 if (var3){
7384 ((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)>*/;
7385 /* <var_new_child:nullable ANode(ANode)> isa TKwnew */
7386 cltype = type_parser_nodes__TKwnew.color;
7387 idtype = type_parser_nodes__TKwnew.id;
7388 if(cltype >= var_new_child->type->table_size) {
7389 var4 = 0;
7390 } else {
7391 var4 = var_new_child->type->type_table[cltype] == idtype;
7392 }
7393 if (!var4) {
7394 fprintf(stderr, "Runtime error: %s", "Assert failed");
7395 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7073);
7396 show_backtrace(1);
7397 }
7398 self->attrs[COLOR_parser_nodes__ANewExpr___n_kwnew].val = var_new_child; /* _n_kwnew on <self:ANewExpr> */
7399 } else {
7400 fprintf(stderr, "Runtime error: %s", "Aborted");
7401 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7076);
7402 show_backtrace(1);
7403 }
7404 goto RET_LABEL;
7405 } else {
7406 }
7407 var5 = self->attrs[COLOR_parser_nodes__ANewExpr___n_type].val; /* _n_type on <self:ANewExpr> */
7408 if (var5 == NULL) {
7409 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
7410 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7080);
7411 show_backtrace(1);
7412 }
7413 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:AType>*/;
7414 if (var6){
7415 var7 = NULL;
7416 if (var_new_child == NULL) {
7417 var8 = 0; /* is null */
7418 } else {
7419 var8 = 1; /* arg is null and recv is not */
7420 }
7421 if (var8){
7422 ((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)>*/;
7423 /* <var_new_child:nullable ANode(ANode)> isa AType */
7424 cltype10 = type_parser_nodes__AType.color;
7425 idtype11 = type_parser_nodes__AType.id;
7426 if(cltype10 >= var_new_child->type->table_size) {
7427 var9 = 0;
7428 } else {
7429 var9 = var_new_child->type->type_table[cltype10] == idtype11;
7430 }
7431 if (!var9) {
7432 fprintf(stderr, "Runtime error: %s", "Assert failed");
7433 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7083);
7434 show_backtrace(1);
7435 }
7436 self->attrs[COLOR_parser_nodes__ANewExpr___n_type].val = var_new_child; /* _n_type on <self:ANewExpr> */
7437 } else {
7438 fprintf(stderr, "Runtime error: %s", "Aborted");
7439 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7086);
7440 show_backtrace(1);
7441 }
7442 goto RET_LABEL;
7443 } else {
7444 }
7445 var12 = self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val; /* _n_id on <self:ANewExpr> */
7446 if (var12 == NULL) {
7447 var13 = 0; /* <var_old_child:ANode> cannot be null */
7448 } else {
7449 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:nullable TId>*/;
7450 }
7451 if (var13){
7452 var14 = NULL;
7453 if (var_new_child == NULL) {
7454 var15 = 0; /* is null */
7455 } else {
7456 var15 = 1; /* arg is null and recv is not */
7457 }
7458 if (var15){
7459 ((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)>*/;
7460 /* <var_new_child:nullable ANode(ANode)> isa TId */
7461 cltype17 = type_parser_nodes__TId.color;
7462 idtype18 = type_parser_nodes__TId.id;
7463 if(cltype17 >= var_new_child->type->table_size) {
7464 var16 = 0;
7465 } else {
7466 var16 = var_new_child->type->type_table[cltype17] == idtype18;
7467 }
7468 if (!var16) {
7469 fprintf(stderr, "Runtime error: %s", "Assert failed");
7470 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7093);
7471 show_backtrace(1);
7472 }
7473 self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val = var_new_child; /* _n_id on <self:ANewExpr> */
7474 } else {
7475 var19 = NULL;
7476 self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val = var19; /* _n_id on <self:ANewExpr> */
7477 }
7478 goto RET_LABEL;
7479 } else {
7480 }
7481 var20 = self->attrs[COLOR_parser_nodes__ANewExpr___n_args].val; /* _n_args on <self:ANewExpr> */
7482 if (var20 == NULL) {
7483 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
7484 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7100);
7485 show_backtrace(1);
7486 }
7487 var21 = ((short int (*)(val*, val*))(var20->class->vft[COLOR_kernel__Object___61d_61d]))(var20, var_old_child) /* == on <var20:AExprs>*/;
7488 if (var21){
7489 var22 = NULL;
7490 if (var_new_child == NULL) {
7491 var23 = 0; /* is null */
7492 } else {
7493 var23 = 1; /* arg is null and recv is not */
7494 }
7495 if (var23){
7496 ((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)>*/;
7497 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
7498 cltype25 = type_parser_nodes__AExprs.color;
7499 idtype26 = type_parser_nodes__AExprs.id;
7500 if(cltype25 >= var_new_child->type->table_size) {
7501 var24 = 0;
7502 } else {
7503 var24 = var_new_child->type->type_table[cltype25] == idtype26;
7504 }
7505 if (!var24) {
7506 fprintf(stderr, "Runtime error: %s", "Assert failed");
7507 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7103);
7508 show_backtrace(1);
7509 }
7510 self->attrs[COLOR_parser_nodes__ANewExpr___n_args].val = var_new_child; /* _n_args on <self:ANewExpr> */
7511 } else {
7512 fprintf(stderr, "Runtime error: %s", "Aborted");
7513 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7106);
7514 show_backtrace(1);
7515 }
7516 goto RET_LABEL;
7517 } else {
7518 }
7519 RET_LABEL:;
7520 }
7521 /* method parser_prod#ANewExpr#replace_child for (self: Object, ANode, nullable ANode) */
7522 void VIRTUAL_parser_prod__ANewExpr__replace_child(val* self, val* p0, val* p1) {
7523 parser_prod__ANewExpr__replace_child(self, p0, p1);
7524 RET_LABEL:;
7525 }
7526 /* method parser_prod#ANewExpr#n_kwnew= for (self: ANewExpr, TKwnew) */
7527 void parser_prod__ANewExpr__n_kwnew_61d(val* self, val* p0) {
7528 val* var_node /* var node: TKwnew */;
7529 var_node = p0;
7530 self->attrs[COLOR_parser_nodes__ANewExpr___n_kwnew].val = var_node; /* _n_kwnew on <self:ANewExpr> */
7531 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TKwnew>*/;
7532 RET_LABEL:;
7533 }
7534 /* method parser_prod#ANewExpr#n_kwnew= for (self: Object, TKwnew) */
7535 void VIRTUAL_parser_prod__ANewExpr__n_kwnew_61d(val* self, val* p0) {
7536 parser_prod__ANewExpr__n_kwnew_61d(self, p0);
7537 RET_LABEL:;
7538 }
7539 /* method parser_prod#ANewExpr#n_type= for (self: ANewExpr, AType) */
7540 void parser_prod__ANewExpr__n_type_61d(val* self, val* p0) {
7541 val* var_node /* var node: AType */;
7542 var_node = p0;
7543 self->attrs[COLOR_parser_nodes__ANewExpr___n_type].val = var_node; /* _n_type on <self:ANewExpr> */
7544 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AType>*/;
7545 RET_LABEL:;
7546 }
7547 /* method parser_prod#ANewExpr#n_type= for (self: Object, AType) */
7548 void VIRTUAL_parser_prod__ANewExpr__n_type_61d(val* self, val* p0) {
7549 parser_prod__ANewExpr__n_type_61d(self, p0);
7550 RET_LABEL:;
7551 }
7552 /* method parser_prod#ANewExpr#n_id= for (self: ANewExpr, nullable TId) */
7553 void parser_prod__ANewExpr__n_id_61d(val* self, val* p0) {
7554 val* var_node /* var node: nullable TId */;
7555 val* var /* : null */;
7556 short int var1 /* : Bool */;
7557 var_node = p0;
7558 self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val = var_node; /* _n_id on <self:ANewExpr> */
7559 var = NULL;
7560 if (var_node == NULL) {
7561 var1 = 0; /* is null */
7562 } else {
7563 var1 = 1; /* arg is null and recv is not */
7564 }
7565 if (var1){
7566 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable TId(TId)>*/;
7567 } else {
7568 }
7569 RET_LABEL:;
7570 }
7571 /* method parser_prod#ANewExpr#n_id= for (self: Object, nullable TId) */
7572 void VIRTUAL_parser_prod__ANewExpr__n_id_61d(val* self, val* p0) {
7573 parser_prod__ANewExpr__n_id_61d(self, p0);
7574 RET_LABEL:;
7575 }
7576 /* method parser_prod#ANewExpr#n_args= for (self: ANewExpr, AExprs) */
7577 void parser_prod__ANewExpr__n_args_61d(val* self, val* p0) {
7578 val* var_node /* var node: AExprs */;
7579 var_node = p0;
7580 self->attrs[COLOR_parser_nodes__ANewExpr___n_args].val = var_node; /* _n_args on <self:ANewExpr> */
7581 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
7582 RET_LABEL:;
7583 }
7584 /* method parser_prod#ANewExpr#n_args= for (self: Object, AExprs) */
7585 void VIRTUAL_parser_prod__ANewExpr__n_args_61d(val* self, val* p0) {
7586 parser_prod__ANewExpr__n_args_61d(self, p0);
7587 RET_LABEL:;
7588 }
7589 /* method parser_prod#ANewExpr#visit_all for (self: ANewExpr, Visitor) */
7590 void parser_prod__ANewExpr__visit_all(val* self, val* p0) {
7591 val* var_v /* var v: Visitor */;
7592 val* var /* : TKwnew */;
7593 val* var1 /* : AType */;
7594 val* var2 /* : nullable TId */;
7595 val* var3 /* : null */;
7596 short int var4 /* : Bool */;
7597 val* var5 /* : nullable TId */;
7598 val* var6 /* : AExprs */;
7599 var_v = p0;
7600 var = self->attrs[COLOR_parser_nodes__ANewExpr___n_kwnew].val; /* _n_kwnew on <self:ANewExpr> */
7601 if (var == NULL) {
7602 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwnew");
7603 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7138);
7604 show_backtrace(1);
7605 }
7606 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
7607 var1 = self->attrs[COLOR_parser_nodes__ANewExpr___n_type].val; /* _n_type on <self:ANewExpr> */
7608 if (var1 == NULL) {
7609 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_type");
7610 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7139);
7611 show_backtrace(1);
7612 }
7613 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
7614 var2 = self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val; /* _n_id on <self:ANewExpr> */
7615 var3 = NULL;
7616 if (var2 == NULL) {
7617 var4 = 0; /* is null */
7618 } else {
7619 var4 = 1; /* arg is null and recv is not */
7620 }
7621 if (var4){
7622 var5 = self->attrs[COLOR_parser_nodes__ANewExpr___n_id].val; /* _n_id on <self:ANewExpr> */
7623 if (var5 == NULL) {
7624 fprintf(stderr, "Runtime error: %s", "Cast failed");
7625 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7141);
7626 show_backtrace(1);
7627 }
7628 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var5) /* enter_visit on <var_v:Visitor>*/;
7629 } else {
7630 }
7631 var6 = self->attrs[COLOR_parser_nodes__ANewExpr___n_args].val; /* _n_args on <self:ANewExpr> */
7632 if (var6 == NULL) {
7633 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
7634 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7143);
7635 show_backtrace(1);
7636 }
7637 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var6) /* enter_visit on <var_v:Visitor>*/;
7638 RET_LABEL:;
7639 }
7640 /* method parser_prod#ANewExpr#visit_all for (self: Object, Visitor) */
7641 void VIRTUAL_parser_prod__ANewExpr__visit_all(val* self, val* p0) {
7642 parser_prod__ANewExpr__visit_all(self, p0);
7643 RET_LABEL:;
7644 }
7645 /* method parser_prod#AAttrExpr#empty_init for (self: AAttrExpr) */
7646 void parser_prod__AAttrExpr__empty_init(val* self) {
7647 RET_LABEL:;
7648 }
7649 /* method parser_prod#AAttrExpr#empty_init for (self: Object) */
7650 void VIRTUAL_parser_prod__AAttrExpr__empty_init(val* self) {
7651 parser_prod__AAttrExpr__empty_init(self);
7652 RET_LABEL:;
7653 }
7654 /* method parser_prod#AAttrExpr#init_aattrexpr for (self: AAttrExpr, nullable AExpr, nullable TAttrid) */
7655 void parser_prod__AAttrExpr__init_aattrexpr(val* self, val* p0, val* p1) {
7656 val* var_n_expr /* var n_expr: nullable AExpr */;
7657 val* var_n_id /* var n_id: nullable TAttrid */;
7658 var_n_expr = p0;
7659 var_n_id = p1;
7660 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAttrExpr__empty_init]))(self) /* empty_init on <self:AAttrExpr>*/;
7661 if (var_n_expr == NULL) {
7662 fprintf(stderr, "Runtime error: %s", "Cast failed");
7663 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7155);
7664 show_backtrace(1);
7665 }
7666 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAttrExpr> */
7667 if (var_n_expr == NULL) {
7668 fprintf(stderr, "Runtime error: %s", "Receiver is null");
7669 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7156);
7670 show_backtrace(1);
7671 } else {
7672 ((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>*/;
7673 }
7674 if (var_n_id == NULL) {
7675 fprintf(stderr, "Runtime error: %s", "Cast failed");
7676 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7157);
7677 show_backtrace(1);
7678 }
7679 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_n_id; /* _n_id on <self:AAttrExpr> */
7680 if (var_n_id == NULL) {
7681 fprintf(stderr, "Runtime error: %s", "Receiver is null");
7682 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7158);
7683 show_backtrace(1);
7684 } else {
7685 ((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>*/;
7686 }
7687 RET_LABEL:;
7688 }
7689 /* method parser_prod#AAttrExpr#init_aattrexpr for (self: Object, nullable AExpr, nullable TAttrid) */
7690 void VIRTUAL_parser_prod__AAttrExpr__init_aattrexpr(val* self, val* p0, val* p1) {
7691 parser_prod__AAttrExpr__init_aattrexpr(self, p0, p1);
7692 RET_LABEL:;
7693 }
7694 /* method parser_prod#AAttrExpr#replace_child for (self: AAttrExpr, ANode, nullable ANode) */
7695 void parser_prod__AAttrExpr__replace_child(val* self, val* p0, val* p1) {
7696 val* var_old_child /* var old_child: ANode */;
7697 val* var_new_child /* var new_child: nullable ANode */;
7698 val* var /* : AExpr */;
7699 short int var1 /* : Bool */;
7700 val* var2 /* : null */;
7701 short int var3 /* : Bool */;
7702 short int var4 /* : Bool */;
7703 int cltype;
7704 int idtype;
7705 val* var5 /* : TAttrid */;
7706 short int var6 /* : Bool */;
7707 val* var7 /* : null */;
7708 short int var8 /* : Bool */;
7709 short int var9 /* : Bool */;
7710 int cltype10;
7711 int idtype11;
7712 var_old_child = p0;
7713 var_new_child = p1;
7714 var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrExpr> */
7715 if (var == NULL) {
7716 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
7717 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7163);
7718 show_backtrace(1);
7719 }
7720 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
7721 if (var1){
7722 var2 = NULL;
7723 if (var_new_child == NULL) {
7724 var3 = 0; /* is null */
7725 } else {
7726 var3 = 1; /* arg is null and recv is not */
7727 }
7728 if (var3){
7729 ((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)>*/;
7730 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
7731 cltype = type_parser_nodes__AExpr.color;
7732 idtype = type_parser_nodes__AExpr.id;
7733 if(cltype >= var_new_child->type->table_size) {
7734 var4 = 0;
7735 } else {
7736 var4 = var_new_child->type->type_table[cltype] == idtype;
7737 }
7738 if (!var4) {
7739 fprintf(stderr, "Runtime error: %s", "Assert failed");
7740 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7166);
7741 show_backtrace(1);
7742 }
7743 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_new_child; /* _n_expr on <self:AAttrExpr> */
7744 } else {
7745 fprintf(stderr, "Runtime error: %s", "Aborted");
7746 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7169);
7747 show_backtrace(1);
7748 }
7749 goto RET_LABEL;
7750 } else {
7751 }
7752 var5 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrExpr> */
7753 if (var5 == NULL) {
7754 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
7755 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7173);
7756 show_backtrace(1);
7757 }
7758 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TAttrid>*/;
7759 if (var6){
7760 var7 = NULL;
7761 if (var_new_child == NULL) {
7762 var8 = 0; /* is null */
7763 } else {
7764 var8 = 1; /* arg is null and recv is not */
7765 }
7766 if (var8){
7767 ((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)>*/;
7768 /* <var_new_child:nullable ANode(ANode)> isa TAttrid */
7769 cltype10 = type_parser_nodes__TAttrid.color;
7770 idtype11 = type_parser_nodes__TAttrid.id;
7771 if(cltype10 >= var_new_child->type->table_size) {
7772 var9 = 0;
7773 } else {
7774 var9 = var_new_child->type->type_table[cltype10] == idtype11;
7775 }
7776 if (!var9) {
7777 fprintf(stderr, "Runtime error: %s", "Assert failed");
7778 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7176);
7779 show_backtrace(1);
7780 }
7781 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_new_child; /* _n_id on <self:AAttrExpr> */
7782 } else {
7783 fprintf(stderr, "Runtime error: %s", "Aborted");
7784 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7179);
7785 show_backtrace(1);
7786 }
7787 goto RET_LABEL;
7788 } else {
7789 }
7790 RET_LABEL:;
7791 }
7792 /* method parser_prod#AAttrExpr#replace_child for (self: Object, ANode, nullable ANode) */
7793 void VIRTUAL_parser_prod__AAttrExpr__replace_child(val* self, val* p0, val* p1) {
7794 parser_prod__AAttrExpr__replace_child(self, p0, p1);
7795 RET_LABEL:;
7796 }
7797 /* method parser_prod#AAttrExpr#n_expr= for (self: AAttrExpr, AExpr) */
7798 void parser_prod__AAttrExpr__n_expr_61d(val* self, val* p0) {
7799 val* var_node /* var node: AExpr */;
7800 var_node = p0;
7801 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_node; /* _n_expr on <self:AAttrExpr> */
7802 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
7803 RET_LABEL:;
7804 }
7805 /* method parser_prod#AAttrExpr#n_expr= for (self: Object, AExpr) */
7806 void VIRTUAL_parser_prod__AAttrExpr__n_expr_61d(val* self, val* p0) {
7807 parser_prod__AAttrExpr__n_expr_61d(self, p0);
7808 RET_LABEL:;
7809 }
7810 /* method parser_prod#AAttrExpr#n_id= for (self: AAttrExpr, TAttrid) */
7811 void parser_prod__AAttrExpr__n_id_61d(val* self, val* p0) {
7812 val* var_node /* var node: TAttrid */;
7813 var_node = p0;
7814 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_node; /* _n_id on <self:AAttrExpr> */
7815 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TAttrid>*/;
7816 RET_LABEL:;
7817 }
7818 /* method parser_prod#AAttrExpr#n_id= for (self: Object, TAttrid) */
7819 void VIRTUAL_parser_prod__AAttrExpr__n_id_61d(val* self, val* p0) {
7820 parser_prod__AAttrExpr__n_id_61d(self, p0);
7821 RET_LABEL:;
7822 }
7823 /* method parser_prod#AAttrExpr#visit_all for (self: AAttrExpr, Visitor) */
7824 void parser_prod__AAttrExpr__visit_all(val* self, val* p0) {
7825 val* var_v /* var v: Visitor */;
7826 val* var /* : AExpr */;
7827 val* var1 /* : TAttrid */;
7828 var_v = p0;
7829 var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrExpr> */
7830 if (var == NULL) {
7831 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
7832 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7199);
7833 show_backtrace(1);
7834 }
7835 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
7836 var1 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrExpr> */
7837 if (var1 == NULL) {
7838 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
7839 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7200);
7840 show_backtrace(1);
7841 }
7842 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
7843 RET_LABEL:;
7844 }
7845 /* method parser_prod#AAttrExpr#visit_all for (self: Object, Visitor) */
7846 void VIRTUAL_parser_prod__AAttrExpr__visit_all(val* self, val* p0) {
7847 parser_prod__AAttrExpr__visit_all(self, p0);
7848 RET_LABEL:;
7849 }
7850 /* method parser_prod#AAttrAssignExpr#empty_init for (self: AAttrAssignExpr) */
7851 void parser_prod__AAttrAssignExpr__empty_init(val* self) {
7852 RET_LABEL:;
7853 }
7854 /* method parser_prod#AAttrAssignExpr#empty_init for (self: Object) */
7855 void VIRTUAL_parser_prod__AAttrAssignExpr__empty_init(val* self) {
7856 parser_prod__AAttrAssignExpr__empty_init(self);
7857 RET_LABEL:;
7858 }
7859 /* method parser_prod#AAttrAssignExpr#init_aattrassignexpr for (self: AAttrAssignExpr, nullable AExpr, nullable TAttrid, nullable TAssign, nullable AExpr) */
7860 void parser_prod__AAttrAssignExpr__init_aattrassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
7861 val* var_n_expr /* var n_expr: nullable AExpr */;
7862 val* var_n_id /* var n_id: nullable TAttrid */;
7863 val* var_n_assign /* var n_assign: nullable TAssign */;
7864 val* var_n_value /* var n_value: nullable AExpr */;
7865 var_n_expr = p0;
7866 var_n_id = p1;
7867 var_n_assign = p2;
7868 var_n_value = p3;
7869 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAttrAssignExpr__empty_init]))(self) /* empty_init on <self:AAttrAssignExpr>*/;
7870 if (var_n_expr == NULL) {
7871 fprintf(stderr, "Runtime error: %s", "Cast failed");
7872 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7214);
7873 show_backtrace(1);
7874 }
7875 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAttrAssignExpr> */
7876 if (var_n_expr == NULL) {
7877 fprintf(stderr, "Runtime error: %s", "Receiver is null");
7878 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7215);
7879 show_backtrace(1);
7880 } else {
7881 ((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>*/;
7882 }
7883 if (var_n_id == NULL) {
7884 fprintf(stderr, "Runtime error: %s", "Cast failed");
7885 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7216);
7886 show_backtrace(1);
7887 }
7888 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_n_id; /* _n_id on <self:AAttrAssignExpr> */
7889 if (var_n_id == NULL) {
7890 fprintf(stderr, "Runtime error: %s", "Receiver is null");
7891 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7217);
7892 show_backtrace(1);
7893 } else {
7894 ((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>*/;
7895 }
7896 if (var_n_assign == NULL) {
7897 fprintf(stderr, "Runtime error: %s", "Cast failed");
7898 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7218);
7899 show_backtrace(1);
7900 }
7901 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_n_assign; /* _n_assign on <self:AAttrAssignExpr> */
7902 if (var_n_assign == NULL) {
7903 fprintf(stderr, "Runtime error: %s", "Receiver is null");
7904 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7219);
7905 show_backtrace(1);
7906 } else {
7907 ((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>*/;
7908 }
7909 if (var_n_value == NULL) {
7910 fprintf(stderr, "Runtime error: %s", "Cast failed");
7911 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7220);
7912 show_backtrace(1);
7913 }
7914 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_n_value; /* _n_value on <self:AAttrAssignExpr> */
7915 if (var_n_value == NULL) {
7916 fprintf(stderr, "Runtime error: %s", "Receiver is null");
7917 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7221);
7918 show_backtrace(1);
7919 } else {
7920 ((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>*/;
7921 }
7922 RET_LABEL:;
7923 }
7924 /* method parser_prod#AAttrAssignExpr#init_aattrassignexpr for (self: Object, nullable AExpr, nullable TAttrid, nullable TAssign, nullable AExpr) */
7925 void VIRTUAL_parser_prod__AAttrAssignExpr__init_aattrassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
7926 parser_prod__AAttrAssignExpr__init_aattrassignexpr(self, p0, p1, p2, p3);
7927 RET_LABEL:;
7928 }
7929 /* method parser_prod#AAttrAssignExpr#replace_child for (self: AAttrAssignExpr, ANode, nullable ANode) */
7930 void parser_prod__AAttrAssignExpr__replace_child(val* self, val* p0, val* p1) {
7931 val* var_old_child /* var old_child: ANode */;
7932 val* var_new_child /* var new_child: nullable ANode */;
7933 val* var /* : AExpr */;
7934 short int var1 /* : Bool */;
7935 val* var2 /* : null */;
7936 short int var3 /* : Bool */;
7937 short int var4 /* : Bool */;
7938 int cltype;
7939 int idtype;
7940 val* var5 /* : TAttrid */;
7941 short int var6 /* : Bool */;
7942 val* var7 /* : null */;
7943 short int var8 /* : Bool */;
7944 short int var9 /* : Bool */;
7945 int cltype10;
7946 int idtype11;
7947 val* var12 /* : TAssign */;
7948 short int var13 /* : Bool */;
7949 val* var14 /* : null */;
7950 short int var15 /* : Bool */;
7951 short int var16 /* : Bool */;
7952 int cltype17;
7953 int idtype18;
7954 val* var19 /* : AExpr */;
7955 short int var20 /* : Bool */;
7956 val* var21 /* : null */;
7957 short int var22 /* : Bool */;
7958 short int var23 /* : Bool */;
7959 int cltype24;
7960 int idtype25;
7961 var_old_child = p0;
7962 var_new_child = p1;
7963 var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrAssignExpr> */
7964 if (var == NULL) {
7965 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
7966 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7226);
7967 show_backtrace(1);
7968 }
7969 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
7970 if (var1){
7971 var2 = NULL;
7972 if (var_new_child == NULL) {
7973 var3 = 0; /* is null */
7974 } else {
7975 var3 = 1; /* arg is null and recv is not */
7976 }
7977 if (var3){
7978 ((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)>*/;
7979 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
7980 cltype = type_parser_nodes__AExpr.color;
7981 idtype = type_parser_nodes__AExpr.id;
7982 if(cltype >= var_new_child->type->table_size) {
7983 var4 = 0;
7984 } else {
7985 var4 = var_new_child->type->type_table[cltype] == idtype;
7986 }
7987 if (!var4) {
7988 fprintf(stderr, "Runtime error: %s", "Assert failed");
7989 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7229);
7990 show_backtrace(1);
7991 }
7992 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_new_child; /* _n_expr on <self:AAttrAssignExpr> */
7993 } else {
7994 fprintf(stderr, "Runtime error: %s", "Aborted");
7995 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7232);
7996 show_backtrace(1);
7997 }
7998 goto RET_LABEL;
7999 } else {
8000 }
8001 var5 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrAssignExpr> */
8002 if (var5 == NULL) {
8003 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
8004 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7236);
8005 show_backtrace(1);
8006 }
8007 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TAttrid>*/;
8008 if (var6){
8009 var7 = NULL;
8010 if (var_new_child == NULL) {
8011 var8 = 0; /* is null */
8012 } else {
8013 var8 = 1; /* arg is null and recv is not */
8014 }
8015 if (var8){
8016 ((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)>*/;
8017 /* <var_new_child:nullable ANode(ANode)> isa TAttrid */
8018 cltype10 = type_parser_nodes__TAttrid.color;
8019 idtype11 = type_parser_nodes__TAttrid.id;
8020 if(cltype10 >= var_new_child->type->table_size) {
8021 var9 = 0;
8022 } else {
8023 var9 = var_new_child->type->type_table[cltype10] == idtype11;
8024 }
8025 if (!var9) {
8026 fprintf(stderr, "Runtime error: %s", "Assert failed");
8027 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7239);
8028 show_backtrace(1);
8029 }
8030 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_new_child; /* _n_id on <self:AAttrAssignExpr> */
8031 } else {
8032 fprintf(stderr, "Runtime error: %s", "Aborted");
8033 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7242);
8034 show_backtrace(1);
8035 }
8036 goto RET_LABEL;
8037 } else {
8038 }
8039 var12 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:AAttrAssignExpr> */
8040 if (var12 == NULL) {
8041 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign");
8042 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7246);
8043 show_backtrace(1);
8044 }
8045 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:TAssign>*/;
8046 if (var13){
8047 var14 = NULL;
8048 if (var_new_child == NULL) {
8049 var15 = 0; /* is null */
8050 } else {
8051 var15 = 1; /* arg is null and recv is not */
8052 }
8053 if (var15){
8054 ((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)>*/;
8055 /* <var_new_child:nullable ANode(ANode)> isa TAssign */
8056 cltype17 = type_parser_nodes__TAssign.color;
8057 idtype18 = type_parser_nodes__TAssign.id;
8058 if(cltype17 >= var_new_child->type->table_size) {
8059 var16 = 0;
8060 } else {
8061 var16 = var_new_child->type->type_table[cltype17] == idtype18;
8062 }
8063 if (!var16) {
8064 fprintf(stderr, "Runtime error: %s", "Assert failed");
8065 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7249);
8066 show_backtrace(1);
8067 }
8068 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_new_child; /* _n_assign on <self:AAttrAssignExpr> */
8069 } else {
8070 fprintf(stderr, "Runtime error: %s", "Aborted");
8071 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7252);
8072 show_backtrace(1);
8073 }
8074 goto RET_LABEL;
8075 } else {
8076 }
8077 var19 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:AAttrAssignExpr> */
8078 if (var19 == NULL) {
8079 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
8080 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7256);
8081 show_backtrace(1);
8082 }
8083 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:AExpr>*/;
8084 if (var20){
8085 var21 = NULL;
8086 if (var_new_child == NULL) {
8087 var22 = 0; /* is null */
8088 } else {
8089 var22 = 1; /* arg is null and recv is not */
8090 }
8091 if (var22){
8092 ((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)>*/;
8093 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
8094 cltype24 = type_parser_nodes__AExpr.color;
8095 idtype25 = type_parser_nodes__AExpr.id;
8096 if(cltype24 >= var_new_child->type->table_size) {
8097 var23 = 0;
8098 } else {
8099 var23 = var_new_child->type->type_table[cltype24] == idtype25;
8100 }
8101 if (!var23) {
8102 fprintf(stderr, "Runtime error: %s", "Assert failed");
8103 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7259);
8104 show_backtrace(1);
8105 }
8106 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_new_child; /* _n_value on <self:AAttrAssignExpr> */
8107 } else {
8108 fprintf(stderr, "Runtime error: %s", "Aborted");
8109 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7262);
8110 show_backtrace(1);
8111 }
8112 goto RET_LABEL;
8113 } else {
8114 }
8115 RET_LABEL:;
8116 }
8117 /* method parser_prod#AAttrAssignExpr#replace_child for (self: Object, ANode, nullable ANode) */
8118 void VIRTUAL_parser_prod__AAttrAssignExpr__replace_child(val* self, val* p0, val* p1) {
8119 parser_prod__AAttrAssignExpr__replace_child(self, p0, p1);
8120 RET_LABEL:;
8121 }
8122 /* method parser_prod#AAttrAssignExpr#n_expr= for (self: AAttrAssignExpr, AExpr) */
8123 void parser_prod__AAttrAssignExpr__n_expr_61d(val* self, val* p0) {
8124 val* var_node /* var node: AExpr */;
8125 var_node = p0;
8126 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_node; /* _n_expr on <self:AAttrAssignExpr> */
8127 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
8128 RET_LABEL:;
8129 }
8130 /* method parser_prod#AAttrAssignExpr#n_expr= for (self: Object, AExpr) */
8131 void VIRTUAL_parser_prod__AAttrAssignExpr__n_expr_61d(val* self, val* p0) {
8132 parser_prod__AAttrAssignExpr__n_expr_61d(self, p0);
8133 RET_LABEL:;
8134 }
8135 /* method parser_prod#AAttrAssignExpr#n_id= for (self: AAttrAssignExpr, TAttrid) */
8136 void parser_prod__AAttrAssignExpr__n_id_61d(val* self, val* p0) {
8137 val* var_node /* var node: TAttrid */;
8138 var_node = p0;
8139 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_node; /* _n_id on <self:AAttrAssignExpr> */
8140 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TAttrid>*/;
8141 RET_LABEL:;
8142 }
8143 /* method parser_prod#AAttrAssignExpr#n_id= for (self: Object, TAttrid) */
8144 void VIRTUAL_parser_prod__AAttrAssignExpr__n_id_61d(val* self, val* p0) {
8145 parser_prod__AAttrAssignExpr__n_id_61d(self, p0);
8146 RET_LABEL:;
8147 }
8148 /* method parser_prod#AAttrAssignExpr#n_assign= for (self: AAttrAssignExpr, TAssign) */
8149 void parser_prod__AAttrAssignExpr__n_assign_61d(val* self, val* p0) {
8150 val* var_node /* var node: TAssign */;
8151 var_node = p0;
8152 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_node; /* _n_assign on <self:AAttrAssignExpr> */
8153 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TAssign>*/;
8154 RET_LABEL:;
8155 }
8156 /* method parser_prod#AAttrAssignExpr#n_assign= for (self: Object, TAssign) */
8157 void VIRTUAL_parser_prod__AAttrAssignExpr__n_assign_61d(val* self, val* p0) {
8158 parser_prod__AAttrAssignExpr__n_assign_61d(self, p0);
8159 RET_LABEL:;
8160 }
8161 /* method parser_prod#AAttrAssignExpr#n_value= for (self: AAttrAssignExpr, AExpr) */
8162 void parser_prod__AAttrAssignExpr__n_value_61d(val* self, val* p0) {
8163 val* var_node /* var node: AExpr */;
8164 var_node = p0;
8165 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_node; /* _n_value on <self:AAttrAssignExpr> */
8166 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
8167 RET_LABEL:;
8168 }
8169 /* method parser_prod#AAttrAssignExpr#n_value= for (self: Object, AExpr) */
8170 void VIRTUAL_parser_prod__AAttrAssignExpr__n_value_61d(val* self, val* p0) {
8171 parser_prod__AAttrAssignExpr__n_value_61d(self, p0);
8172 RET_LABEL:;
8173 }
8174 /* method parser_prod#AAttrAssignExpr#visit_all for (self: AAttrAssignExpr, Visitor) */
8175 void parser_prod__AAttrAssignExpr__visit_all(val* self, val* p0) {
8176 val* var_v /* var v: Visitor */;
8177 val* var /* : AExpr */;
8178 val* var1 /* : TAttrid */;
8179 val* var2 /* : TAssign */;
8180 val* var3 /* : AExpr */;
8181 var_v = p0;
8182 var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrAssignExpr> */
8183 if (var == NULL) {
8184 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
8185 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7292);
8186 show_backtrace(1);
8187 }
8188 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
8189 var1 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrAssignExpr> */
8190 if (var1 == NULL) {
8191 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
8192 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7293);
8193 show_backtrace(1);
8194 }
8195 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
8196 var2 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:AAttrAssignExpr> */
8197 if (var2 == NULL) {
8198 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign");
8199 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7294);
8200 show_backtrace(1);
8201 }
8202 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
8203 var3 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:AAttrAssignExpr> */
8204 if (var3 == NULL) {
8205 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
8206 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7295);
8207 show_backtrace(1);
8208 }
8209 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
8210 RET_LABEL:;
8211 }
8212 /* method parser_prod#AAttrAssignExpr#visit_all for (self: Object, Visitor) */
8213 void VIRTUAL_parser_prod__AAttrAssignExpr__visit_all(val* self, val* p0) {
8214 parser_prod__AAttrAssignExpr__visit_all(self, p0);
8215 RET_LABEL:;
8216 }
8217 /* method parser_prod#AAttrReassignExpr#empty_init for (self: AAttrReassignExpr) */
8218 void parser_prod__AAttrReassignExpr__empty_init(val* self) {
8219 RET_LABEL:;
8220 }
8221 /* method parser_prod#AAttrReassignExpr#empty_init for (self: Object) */
8222 void VIRTUAL_parser_prod__AAttrReassignExpr__empty_init(val* self) {
8223 parser_prod__AAttrReassignExpr__empty_init(self);
8224 RET_LABEL:;
8225 }
8226 /* method parser_prod#AAttrReassignExpr#init_aattrreassignexpr for (self: AAttrReassignExpr, nullable AExpr, nullable TAttrid, nullable AAssignOp, nullable AExpr) */
8227 void parser_prod__AAttrReassignExpr__init_aattrreassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
8228 val* var_n_expr /* var n_expr: nullable AExpr */;
8229 val* var_n_id /* var n_id: nullable TAttrid */;
8230 val* var_n_assign_op /* var n_assign_op: nullable AAssignOp */;
8231 val* var_n_value /* var n_value: nullable AExpr */;
8232 var_n_expr = p0;
8233 var_n_id = p1;
8234 var_n_assign_op = p2;
8235 var_n_value = p3;
8236 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__AAttrReassignExpr__empty_init]))(self) /* empty_init on <self:AAttrReassignExpr>*/;
8237 if (var_n_expr == NULL) {
8238 fprintf(stderr, "Runtime error: %s", "Cast failed");
8239 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7309);
8240 show_backtrace(1);
8241 }
8242 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_n_expr; /* _n_expr on <self:AAttrReassignExpr> */
8243 if (var_n_expr == NULL) {
8244 fprintf(stderr, "Runtime error: %s", "Receiver is null");
8245 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7310);
8246 show_backtrace(1);
8247 } else {
8248 ((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>*/;
8249 }
8250 if (var_n_id == NULL) {
8251 fprintf(stderr, "Runtime error: %s", "Cast failed");
8252 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7311);
8253 show_backtrace(1);
8254 }
8255 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_n_id; /* _n_id on <self:AAttrReassignExpr> */
8256 if (var_n_id == NULL) {
8257 fprintf(stderr, "Runtime error: %s", "Receiver is null");
8258 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7312);
8259 show_backtrace(1);
8260 } else {
8261 ((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>*/;
8262 }
8263 if (var_n_assign_op == NULL) {
8264 fprintf(stderr, "Runtime error: %s", "Cast failed");
8265 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7313);
8266 show_backtrace(1);
8267 }
8268 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_n_assign_op; /* _n_assign_op on <self:AAttrReassignExpr> */
8269 if (var_n_assign_op == NULL) {
8270 fprintf(stderr, "Runtime error: %s", "Receiver is null");
8271 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7314);
8272 show_backtrace(1);
8273 } else {
8274 ((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>*/;
8275 }
8276 if (var_n_value == NULL) {
8277 fprintf(stderr, "Runtime error: %s", "Cast failed");
8278 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7315);
8279 show_backtrace(1);
8280 }
8281 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_n_value; /* _n_value on <self:AAttrReassignExpr> */
8282 if (var_n_value == NULL) {
8283 fprintf(stderr, "Runtime error: %s", "Receiver is null");
8284 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7316);
8285 show_backtrace(1);
8286 } else {
8287 ((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>*/;
8288 }
8289 RET_LABEL:;
8290 }
8291 /* method parser_prod#AAttrReassignExpr#init_aattrreassignexpr for (self: Object, nullable AExpr, nullable TAttrid, nullable AAssignOp, nullable AExpr) */
8292 void VIRTUAL_parser_prod__AAttrReassignExpr__init_aattrreassignexpr(val* self, val* p0, val* p1, val* p2, val* p3) {
8293 parser_prod__AAttrReassignExpr__init_aattrreassignexpr(self, p0, p1, p2, p3);
8294 RET_LABEL:;
8295 }
8296 /* method parser_prod#AAttrReassignExpr#replace_child for (self: AAttrReassignExpr, ANode, nullable ANode) */
8297 void parser_prod__AAttrReassignExpr__replace_child(val* self, val* p0, val* p1) {
8298 val* var_old_child /* var old_child: ANode */;
8299 val* var_new_child /* var new_child: nullable ANode */;
8300 val* var /* : AExpr */;
8301 short int var1 /* : Bool */;
8302 val* var2 /* : null */;
8303 short int var3 /* : Bool */;
8304 short int var4 /* : Bool */;
8305 int cltype;
8306 int idtype;
8307 val* var5 /* : TAttrid */;
8308 short int var6 /* : Bool */;
8309 val* var7 /* : null */;
8310 short int var8 /* : Bool */;
8311 short int var9 /* : Bool */;
8312 int cltype10;
8313 int idtype11;
8314 val* var12 /* : AAssignOp */;
8315 short int var13 /* : Bool */;
8316 val* var14 /* : null */;
8317 short int var15 /* : Bool */;
8318 short int var16 /* : Bool */;
8319 int cltype17;
8320 int idtype18;
8321 val* var19 /* : AExpr */;
8322 short int var20 /* : Bool */;
8323 val* var21 /* : null */;
8324 short int var22 /* : Bool */;
8325 short int var23 /* : Bool */;
8326 int cltype24;
8327 int idtype25;
8328 var_old_child = p0;
8329 var_new_child = p1;
8330 var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrReassignExpr> */
8331 if (var == NULL) {
8332 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
8333 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7321);
8334 show_backtrace(1);
8335 }
8336 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
8337 if (var1){
8338 var2 = NULL;
8339 if (var_new_child == NULL) {
8340 var3 = 0; /* is null */
8341 } else {
8342 var3 = 1; /* arg is null and recv is not */
8343 }
8344 if (var3){
8345 ((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)>*/;
8346 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
8347 cltype = type_parser_nodes__AExpr.color;
8348 idtype = type_parser_nodes__AExpr.id;
8349 if(cltype >= var_new_child->type->table_size) {
8350 var4 = 0;
8351 } else {
8352 var4 = var_new_child->type->type_table[cltype] == idtype;
8353 }
8354 if (!var4) {
8355 fprintf(stderr, "Runtime error: %s", "Assert failed");
8356 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7324);
8357 show_backtrace(1);
8358 }
8359 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_new_child; /* _n_expr on <self:AAttrReassignExpr> */
8360 } else {
8361 fprintf(stderr, "Runtime error: %s", "Aborted");
8362 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7327);
8363 show_backtrace(1);
8364 }
8365 goto RET_LABEL;
8366 } else {
8367 }
8368 var5 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrReassignExpr> */
8369 if (var5 == NULL) {
8370 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
8371 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7331);
8372 show_backtrace(1);
8373 }
8374 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TAttrid>*/;
8375 if (var6){
8376 var7 = NULL;
8377 if (var_new_child == NULL) {
8378 var8 = 0; /* is null */
8379 } else {
8380 var8 = 1; /* arg is null and recv is not */
8381 }
8382 if (var8){
8383 ((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)>*/;
8384 /* <var_new_child:nullable ANode(ANode)> isa TAttrid */
8385 cltype10 = type_parser_nodes__TAttrid.color;
8386 idtype11 = type_parser_nodes__TAttrid.id;
8387 if(cltype10 >= var_new_child->type->table_size) {
8388 var9 = 0;
8389 } else {
8390 var9 = var_new_child->type->type_table[cltype10] == idtype11;
8391 }
8392 if (!var9) {
8393 fprintf(stderr, "Runtime error: %s", "Assert failed");
8394 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7334);
8395 show_backtrace(1);
8396 }
8397 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_new_child; /* _n_id on <self:AAttrReassignExpr> */
8398 } else {
8399 fprintf(stderr, "Runtime error: %s", "Aborted");
8400 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7337);
8401 show_backtrace(1);
8402 }
8403 goto RET_LABEL;
8404 } else {
8405 }
8406 var12 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:AAttrReassignExpr> */
8407 if (var12 == NULL) {
8408 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign_op");
8409 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7341);
8410 show_backtrace(1);
8411 }
8412 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AAssignOp>*/;
8413 if (var13){
8414 var14 = NULL;
8415 if (var_new_child == NULL) {
8416 var15 = 0; /* is null */
8417 } else {
8418 var15 = 1; /* arg is null and recv is not */
8419 }
8420 if (var15){
8421 ((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)>*/;
8422 /* <var_new_child:nullable ANode(ANode)> isa AAssignOp */
8423 cltype17 = type_parser_nodes__AAssignOp.color;
8424 idtype18 = type_parser_nodes__AAssignOp.id;
8425 if(cltype17 >= var_new_child->type->table_size) {
8426 var16 = 0;
8427 } else {
8428 var16 = var_new_child->type->type_table[cltype17] == idtype18;
8429 }
8430 if (!var16) {
8431 fprintf(stderr, "Runtime error: %s", "Assert failed");
8432 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7344);
8433 show_backtrace(1);
8434 }
8435 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_new_child; /* _n_assign_op on <self:AAttrReassignExpr> */
8436 } else {
8437 fprintf(stderr, "Runtime error: %s", "Aborted");
8438 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7347);
8439 show_backtrace(1);
8440 }
8441 goto RET_LABEL;
8442 } else {
8443 }
8444 var19 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:AAttrReassignExpr> */
8445 if (var19 == NULL) {
8446 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
8447 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7351);
8448 show_backtrace(1);
8449 }
8450 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:AExpr>*/;
8451 if (var20){
8452 var21 = NULL;
8453 if (var_new_child == NULL) {
8454 var22 = 0; /* is null */
8455 } else {
8456 var22 = 1; /* arg is null and recv is not */
8457 }
8458 if (var22){
8459 ((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)>*/;
8460 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
8461 cltype24 = type_parser_nodes__AExpr.color;
8462 idtype25 = type_parser_nodes__AExpr.id;
8463 if(cltype24 >= var_new_child->type->table_size) {
8464 var23 = 0;
8465 } else {
8466 var23 = var_new_child->type->type_table[cltype24] == idtype25;
8467 }
8468 if (!var23) {
8469 fprintf(stderr, "Runtime error: %s", "Assert failed");
8470 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7354);
8471 show_backtrace(1);
8472 }
8473 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_new_child; /* _n_value on <self:AAttrReassignExpr> */
8474 } else {
8475 fprintf(stderr, "Runtime error: %s", "Aborted");
8476 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7357);
8477 show_backtrace(1);
8478 }
8479 goto RET_LABEL;
8480 } else {
8481 }
8482 RET_LABEL:;
8483 }
8484 /* method parser_prod#AAttrReassignExpr#replace_child for (self: Object, ANode, nullable ANode) */
8485 void VIRTUAL_parser_prod__AAttrReassignExpr__replace_child(val* self, val* p0, val* p1) {
8486 parser_prod__AAttrReassignExpr__replace_child(self, p0, p1);
8487 RET_LABEL:;
8488 }
8489 /* method parser_prod#AAttrReassignExpr#n_expr= for (self: AAttrReassignExpr, AExpr) */
8490 void parser_prod__AAttrReassignExpr__n_expr_61d(val* self, val* p0) {
8491 val* var_node /* var node: AExpr */;
8492 var_node = p0;
8493 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val = var_node; /* _n_expr on <self:AAttrReassignExpr> */
8494 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
8495 RET_LABEL:;
8496 }
8497 /* method parser_prod#AAttrReassignExpr#n_expr= for (self: Object, AExpr) */
8498 void VIRTUAL_parser_prod__AAttrReassignExpr__n_expr_61d(val* self, val* p0) {
8499 parser_prod__AAttrReassignExpr__n_expr_61d(self, p0);
8500 RET_LABEL:;
8501 }
8502 /* method parser_prod#AAttrReassignExpr#n_id= for (self: AAttrReassignExpr, TAttrid) */
8503 void parser_prod__AAttrReassignExpr__n_id_61d(val* self, val* p0) {
8504 val* var_node /* var node: TAttrid */;
8505 var_node = p0;
8506 self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val = var_node; /* _n_id on <self:AAttrReassignExpr> */
8507 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TAttrid>*/;
8508 RET_LABEL:;
8509 }
8510 /* method parser_prod#AAttrReassignExpr#n_id= for (self: Object, TAttrid) */
8511 void VIRTUAL_parser_prod__AAttrReassignExpr__n_id_61d(val* self, val* p0) {
8512 parser_prod__AAttrReassignExpr__n_id_61d(self, p0);
8513 RET_LABEL:;
8514 }
8515 /* method parser_prod#AAttrReassignExpr#n_assign_op= for (self: AAttrReassignExpr, AAssignOp) */
8516 void parser_prod__AAttrReassignExpr__n_assign_op_61d(val* self, val* p0) {
8517 val* var_node /* var node: AAssignOp */;
8518 var_node = p0;
8519 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_node; /* _n_assign_op on <self:AAttrReassignExpr> */
8520 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AAssignOp>*/;
8521 RET_LABEL:;
8522 }
8523 /* method parser_prod#AAttrReassignExpr#n_assign_op= for (self: Object, AAssignOp) */
8524 void VIRTUAL_parser_prod__AAttrReassignExpr__n_assign_op_61d(val* self, val* p0) {
8525 parser_prod__AAttrReassignExpr__n_assign_op_61d(self, p0);
8526 RET_LABEL:;
8527 }
8528 /* method parser_prod#AAttrReassignExpr#n_value= for (self: AAttrReassignExpr, AExpr) */
8529 void parser_prod__AAttrReassignExpr__n_value_61d(val* self, val* p0) {
8530 val* var_node /* var node: AExpr */;
8531 var_node = p0;
8532 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_node; /* _n_value on <self:AAttrReassignExpr> */
8533 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
8534 RET_LABEL:;
8535 }
8536 /* method parser_prod#AAttrReassignExpr#n_value= for (self: Object, AExpr) */
8537 void VIRTUAL_parser_prod__AAttrReassignExpr__n_value_61d(val* self, val* p0) {
8538 parser_prod__AAttrReassignExpr__n_value_61d(self, p0);
8539 RET_LABEL:;
8540 }
8541 /* method parser_prod#AAttrReassignExpr#visit_all for (self: AAttrReassignExpr, Visitor) */
8542 void parser_prod__AAttrReassignExpr__visit_all(val* self, val* p0) {
8543 val* var_v /* var v: Visitor */;
8544 val* var /* : AExpr */;
8545 val* var1 /* : TAttrid */;
8546 val* var2 /* : AAssignOp */;
8547 val* var3 /* : AExpr */;
8548 var_v = p0;
8549 var = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_expr].val; /* _n_expr on <self:AAttrReassignExpr> */
8550 if (var == NULL) {
8551 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
8552 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7387);
8553 show_backtrace(1);
8554 }
8555 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
8556 var1 = self->attrs[COLOR_parser_nodes__AAttrFormExpr___n_id].val; /* _n_id on <self:AAttrReassignExpr> */
8557 if (var1 == NULL) {
8558 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
8559 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7388);
8560 show_backtrace(1);
8561 }
8562 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
8563 var2 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:AAttrReassignExpr> */
8564 if (var2 == NULL) {
8565 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign_op");
8566 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7389);
8567 show_backtrace(1);
8568 }
8569 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
8570 var3 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:AAttrReassignExpr> */
8571 if (var3 == NULL) {
8572 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
8573 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7390);
8574 show_backtrace(1);
8575 }
8576 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
8577 RET_LABEL:;
8578 }
8579 /* method parser_prod#AAttrReassignExpr#visit_all for (self: Object, Visitor) */
8580 void VIRTUAL_parser_prod__AAttrReassignExpr__visit_all(val* self, val* p0) {
8581 parser_prod__AAttrReassignExpr__visit_all(self, p0);
8582 RET_LABEL:;
8583 }
8584 /* method parser_prod#ACallExpr#empty_init for (self: ACallExpr) */
8585 void parser_prod__ACallExpr__empty_init(val* self) {
8586 RET_LABEL:;
8587 }
8588 /* method parser_prod#ACallExpr#empty_init for (self: Object) */
8589 void VIRTUAL_parser_prod__ACallExpr__empty_init(val* self) {
8590 parser_prod__ACallExpr__empty_init(self);
8591 RET_LABEL:;
8592 }
8593 /* method parser_prod#ACallExpr#init_acallexpr for (self: ACallExpr, nullable AExpr, nullable TId, nullable AExprs) */
8594 void parser_prod__ACallExpr__init_acallexpr(val* self, val* p0, val* p1, val* p2) {
8595 val* var_n_expr /* var n_expr: nullable AExpr */;
8596 val* var_n_id /* var n_id: nullable TId */;
8597 val* var_n_args /* var n_args: nullable AExprs */;
8598 var_n_expr = p0;
8599 var_n_id = p1;
8600 var_n_args = p2;
8601 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ACallExpr__empty_init]))(self) /* empty_init on <self:ACallExpr>*/;
8602 if (var_n_expr == NULL) {
8603 fprintf(stderr, "Runtime error: %s", "Cast failed");
8604 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7403);
8605 show_backtrace(1);
8606 }
8607 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ACallExpr> */
8608 if (var_n_expr == NULL) {
8609 fprintf(stderr, "Runtime error: %s", "Receiver is null");
8610 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7404);
8611 show_backtrace(1);
8612 } else {
8613 ((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>*/;
8614 }
8615 if (var_n_id == NULL) {
8616 fprintf(stderr, "Runtime error: %s", "Cast failed");
8617 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7405);
8618 show_backtrace(1);
8619 }
8620 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_n_id; /* _n_id on <self:ACallExpr> */
8621 if (var_n_id == NULL) {
8622 fprintf(stderr, "Runtime error: %s", "Receiver is null");
8623 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7406);
8624 show_backtrace(1);
8625 } else {
8626 ((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>*/;
8627 }
8628 if (var_n_args == NULL) {
8629 fprintf(stderr, "Runtime error: %s", "Cast failed");
8630 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7407);
8631 show_backtrace(1);
8632 }
8633 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_n_args; /* _n_args on <self:ACallExpr> */
8634 if (var_n_args == NULL) {
8635 fprintf(stderr, "Runtime error: %s", "Receiver is null");
8636 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7408);
8637 show_backtrace(1);
8638 } else {
8639 ((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>*/;
8640 }
8641 RET_LABEL:;
8642 }
8643 /* method parser_prod#ACallExpr#init_acallexpr for (self: Object, nullable AExpr, nullable TId, nullable AExprs) */
8644 void VIRTUAL_parser_prod__ACallExpr__init_acallexpr(val* self, val* p0, val* p1, val* p2) {
8645 parser_prod__ACallExpr__init_acallexpr(self, p0, p1, p2);
8646 RET_LABEL:;
8647 }
8648 /* method parser_prod#ACallExpr#replace_child for (self: ACallExpr, ANode, nullable ANode) */
8649 void parser_prod__ACallExpr__replace_child(val* self, val* p0, val* p1) {
8650 val* var_old_child /* var old_child: ANode */;
8651 val* var_new_child /* var new_child: nullable ANode */;
8652 val* var /* : AExpr */;
8653 short int var1 /* : Bool */;
8654 val* var2 /* : null */;
8655 short int var3 /* : Bool */;
8656 short int var4 /* : Bool */;
8657 int cltype;
8658 int idtype;
8659 val* var5 /* : TId */;
8660 short int var6 /* : Bool */;
8661 val* var7 /* : null */;
8662 short int var8 /* : Bool */;
8663 short int var9 /* : Bool */;
8664 int cltype10;
8665 int idtype11;
8666 val* var12 /* : AExprs */;
8667 short int var13 /* : Bool */;
8668 val* var14 /* : null */;
8669 short int var15 /* : Bool */;
8670 short int var16 /* : Bool */;
8671 int cltype17;
8672 int idtype18;
8673 var_old_child = p0;
8674 var_new_child = p1;
8675 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ACallExpr> */
8676 if (var == NULL) {
8677 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
8678 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7413);
8679 show_backtrace(1);
8680 }
8681 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
8682 if (var1){
8683 var2 = NULL;
8684 if (var_new_child == NULL) {
8685 var3 = 0; /* is null */
8686 } else {
8687 var3 = 1; /* arg is null and recv is not */
8688 }
8689 if (var3){
8690 ((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)>*/;
8691 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
8692 cltype = type_parser_nodes__AExpr.color;
8693 idtype = type_parser_nodes__AExpr.id;
8694 if(cltype >= var_new_child->type->table_size) {
8695 var4 = 0;
8696 } else {
8697 var4 = var_new_child->type->type_table[cltype] == idtype;
8698 }
8699 if (!var4) {
8700 fprintf(stderr, "Runtime error: %s", "Assert failed");
8701 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7416);
8702 show_backtrace(1);
8703 }
8704 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ACallExpr> */
8705 } else {
8706 fprintf(stderr, "Runtime error: %s", "Aborted");
8707 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7419);
8708 show_backtrace(1);
8709 }
8710 goto RET_LABEL;
8711 } else {
8712 }
8713 var5 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:ACallExpr> */
8714 if (var5 == NULL) {
8715 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
8716 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7423);
8717 show_backtrace(1);
8718 }
8719 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TId>*/;
8720 if (var6){
8721 var7 = NULL;
8722 if (var_new_child == NULL) {
8723 var8 = 0; /* is null */
8724 } else {
8725 var8 = 1; /* arg is null and recv is not */
8726 }
8727 if (var8){
8728 ((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)>*/;
8729 /* <var_new_child:nullable ANode(ANode)> isa TId */
8730 cltype10 = type_parser_nodes__TId.color;
8731 idtype11 = type_parser_nodes__TId.id;
8732 if(cltype10 >= var_new_child->type->table_size) {
8733 var9 = 0;
8734 } else {
8735 var9 = var_new_child->type->type_table[cltype10] == idtype11;
8736 }
8737 if (!var9) {
8738 fprintf(stderr, "Runtime error: %s", "Assert failed");
8739 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7426);
8740 show_backtrace(1);
8741 }
8742 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_new_child; /* _n_id on <self:ACallExpr> */
8743 } else {
8744 fprintf(stderr, "Runtime error: %s", "Aborted");
8745 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7429);
8746 show_backtrace(1);
8747 }
8748 goto RET_LABEL;
8749 } else {
8750 }
8751 var12 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallExpr> */
8752 if (var12 == NULL) {
8753 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
8754 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7433);
8755 show_backtrace(1);
8756 }
8757 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AExprs>*/;
8758 if (var13){
8759 var14 = NULL;
8760 if (var_new_child == NULL) {
8761 var15 = 0; /* is null */
8762 } else {
8763 var15 = 1; /* arg is null and recv is not */
8764 }
8765 if (var15){
8766 ((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)>*/;
8767 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
8768 cltype17 = type_parser_nodes__AExprs.color;
8769 idtype18 = type_parser_nodes__AExprs.id;
8770 if(cltype17 >= var_new_child->type->table_size) {
8771 var16 = 0;
8772 } else {
8773 var16 = var_new_child->type->type_table[cltype17] == idtype18;
8774 }
8775 if (!var16) {
8776 fprintf(stderr, "Runtime error: %s", "Assert failed");
8777 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7436);
8778 show_backtrace(1);
8779 }
8780 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_new_child; /* _n_args on <self:ACallExpr> */
8781 } else {
8782 fprintf(stderr, "Runtime error: %s", "Aborted");
8783 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7439);
8784 show_backtrace(1);
8785 }
8786 goto RET_LABEL;
8787 } else {
8788 }
8789 RET_LABEL:;
8790 }
8791 /* method parser_prod#ACallExpr#replace_child for (self: Object, ANode, nullable ANode) */
8792 void VIRTUAL_parser_prod__ACallExpr__replace_child(val* self, val* p0, val* p1) {
8793 parser_prod__ACallExpr__replace_child(self, p0, p1);
8794 RET_LABEL:;
8795 }
8796 /* method parser_prod#ACallExpr#n_expr= for (self: ACallExpr, AExpr) */
8797 void parser_prod__ACallExpr__n_expr_61d(val* self, val* p0) {
8798 val* var_node /* var node: AExpr */;
8799 var_node = p0;
8800 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ACallExpr> */
8801 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
8802 RET_LABEL:;
8803 }
8804 /* method parser_prod#ACallExpr#n_expr= for (self: Object, AExpr) */
8805 void VIRTUAL_parser_prod__ACallExpr__n_expr_61d(val* self, val* p0) {
8806 parser_prod__ACallExpr__n_expr_61d(self, p0);
8807 RET_LABEL:;
8808 }
8809 /* method parser_prod#ACallExpr#n_id= for (self: ACallExpr, TId) */
8810 void parser_prod__ACallExpr__n_id_61d(val* self, val* p0) {
8811 val* var_node /* var node: TId */;
8812 var_node = p0;
8813 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_node; /* _n_id on <self:ACallExpr> */
8814 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TId>*/;
8815 RET_LABEL:;
8816 }
8817 /* method parser_prod#ACallExpr#n_id= for (self: Object, TId) */
8818 void VIRTUAL_parser_prod__ACallExpr__n_id_61d(val* self, val* p0) {
8819 parser_prod__ACallExpr__n_id_61d(self, p0);
8820 RET_LABEL:;
8821 }
8822 /* method parser_prod#ACallExpr#n_args= for (self: ACallExpr, AExprs) */
8823 void parser_prod__ACallExpr__n_args_61d(val* self, val* p0) {
8824 val* var_node /* var node: AExprs */;
8825 var_node = p0;
8826 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_node; /* _n_args on <self:ACallExpr> */
8827 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
8828 RET_LABEL:;
8829 }
8830 /* method parser_prod#ACallExpr#n_args= for (self: Object, AExprs) */
8831 void VIRTUAL_parser_prod__ACallExpr__n_args_61d(val* self, val* p0) {
8832 parser_prod__ACallExpr__n_args_61d(self, p0);
8833 RET_LABEL:;
8834 }
8835 /* method parser_prod#ACallExpr#visit_all for (self: ACallExpr, Visitor) */
8836 void parser_prod__ACallExpr__visit_all(val* self, val* p0) {
8837 val* var_v /* var v: Visitor */;
8838 val* var /* : AExpr */;
8839 val* var1 /* : TId */;
8840 val* var2 /* : AExprs */;
8841 var_v = p0;
8842 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ACallExpr> */
8843 if (var == NULL) {
8844 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
8845 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7464);
8846 show_backtrace(1);
8847 }
8848 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
8849 var1 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:ACallExpr> */
8850 if (var1 == NULL) {
8851 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
8852 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7465);
8853 show_backtrace(1);
8854 }
8855 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
8856 var2 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallExpr> */
8857 if (var2 == NULL) {
8858 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
8859 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7466);
8860 show_backtrace(1);
8861 }
8862 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
8863 RET_LABEL:;
8864 }
8865 /* method parser_prod#ACallExpr#visit_all for (self: Object, Visitor) */
8866 void VIRTUAL_parser_prod__ACallExpr__visit_all(val* self, val* p0) {
8867 parser_prod__ACallExpr__visit_all(self, p0);
8868 RET_LABEL:;
8869 }
8870 /* method parser_prod#ACallAssignExpr#empty_init for (self: ACallAssignExpr) */
8871 void parser_prod__ACallAssignExpr__empty_init(val* self) {
8872 RET_LABEL:;
8873 }
8874 /* method parser_prod#ACallAssignExpr#empty_init for (self: Object) */
8875 void VIRTUAL_parser_prod__ACallAssignExpr__empty_init(val* self) {
8876 parser_prod__ACallAssignExpr__empty_init(self);
8877 RET_LABEL:;
8878 }
8879 /* method parser_prod#ACallAssignExpr#init_acallassignexpr for (self: ACallAssignExpr, nullable AExpr, nullable TId, nullable AExprs, nullable TAssign, nullable AExpr) */
8880 void parser_prod__ACallAssignExpr__init_acallassignexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
8881 val* var_n_expr /* var n_expr: nullable AExpr */;
8882 val* var_n_id /* var n_id: nullable TId */;
8883 val* var_n_args /* var n_args: nullable AExprs */;
8884 val* var_n_assign /* var n_assign: nullable TAssign */;
8885 val* var_n_value /* var n_value: nullable AExpr */;
8886 var_n_expr = p0;
8887 var_n_id = p1;
8888 var_n_args = p2;
8889 var_n_assign = p3;
8890 var_n_value = p4;
8891 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ACallAssignExpr__empty_init]))(self) /* empty_init on <self:ACallAssignExpr>*/;
8892 if (var_n_expr == NULL) {
8893 fprintf(stderr, "Runtime error: %s", "Cast failed");
8894 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7481);
8895 show_backtrace(1);
8896 }
8897 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ACallAssignExpr> */
8898 if (var_n_expr == NULL) {
8899 fprintf(stderr, "Runtime error: %s", "Receiver is null");
8900 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7482);
8901 show_backtrace(1);
8902 } else {
8903 ((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>*/;
8904 }
8905 if (var_n_id == NULL) {
8906 fprintf(stderr, "Runtime error: %s", "Cast failed");
8907 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7483);
8908 show_backtrace(1);
8909 }
8910 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_n_id; /* _n_id on <self:ACallAssignExpr> */
8911 if (var_n_id == NULL) {
8912 fprintf(stderr, "Runtime error: %s", "Receiver is null");
8913 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7484);
8914 show_backtrace(1);
8915 } else {
8916 ((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>*/;
8917 }
8918 if (var_n_args == NULL) {
8919 fprintf(stderr, "Runtime error: %s", "Cast failed");
8920 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7485);
8921 show_backtrace(1);
8922 }
8923 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_n_args; /* _n_args on <self:ACallAssignExpr> */
8924 if (var_n_args == NULL) {
8925 fprintf(stderr, "Runtime error: %s", "Receiver is null");
8926 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7486);
8927 show_backtrace(1);
8928 } else {
8929 ((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>*/;
8930 }
8931 if (var_n_assign == NULL) {
8932 fprintf(stderr, "Runtime error: %s", "Cast failed");
8933 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7487);
8934 show_backtrace(1);
8935 }
8936 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_n_assign; /* _n_assign on <self:ACallAssignExpr> */
8937 if (var_n_assign == NULL) {
8938 fprintf(stderr, "Runtime error: %s", "Receiver is null");
8939 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7488);
8940 show_backtrace(1);
8941 } else {
8942 ((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>*/;
8943 }
8944 if (var_n_value == NULL) {
8945 fprintf(stderr, "Runtime error: %s", "Cast failed");
8946 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7489);
8947 show_backtrace(1);
8948 }
8949 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_n_value; /* _n_value on <self:ACallAssignExpr> */
8950 if (var_n_value == NULL) {
8951 fprintf(stderr, "Runtime error: %s", "Receiver is null");
8952 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7490);
8953 show_backtrace(1);
8954 } else {
8955 ((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>*/;
8956 }
8957 RET_LABEL:;
8958 }
8959 /* method parser_prod#ACallAssignExpr#init_acallassignexpr for (self: Object, nullable AExpr, nullable TId, nullable AExprs, nullable TAssign, nullable AExpr) */
8960 void VIRTUAL_parser_prod__ACallAssignExpr__init_acallassignexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
8961 parser_prod__ACallAssignExpr__init_acallassignexpr(self, p0, p1, p2, p3, p4);
8962 RET_LABEL:;
8963 }
8964 /* method parser_prod#ACallAssignExpr#replace_child for (self: ACallAssignExpr, ANode, nullable ANode) */
8965 void parser_prod__ACallAssignExpr__replace_child(val* self, val* p0, val* p1) {
8966 val* var_old_child /* var old_child: ANode */;
8967 val* var_new_child /* var new_child: nullable ANode */;
8968 val* var /* : AExpr */;
8969 short int var1 /* : Bool */;
8970 val* var2 /* : null */;
8971 short int var3 /* : Bool */;
8972 short int var4 /* : Bool */;
8973 int cltype;
8974 int idtype;
8975 val* var5 /* : TId */;
8976 short int var6 /* : Bool */;
8977 val* var7 /* : null */;
8978 short int var8 /* : Bool */;
8979 short int var9 /* : Bool */;
8980 int cltype10;
8981 int idtype11;
8982 val* var12 /* : AExprs */;
8983 short int var13 /* : Bool */;
8984 val* var14 /* : null */;
8985 short int var15 /* : Bool */;
8986 short int var16 /* : Bool */;
8987 int cltype17;
8988 int idtype18;
8989 val* var19 /* : TAssign */;
8990 short int var20 /* : Bool */;
8991 val* var21 /* : null */;
8992 short int var22 /* : Bool */;
8993 short int var23 /* : Bool */;
8994 int cltype24;
8995 int idtype25;
8996 val* var26 /* : AExpr */;
8997 short int var27 /* : Bool */;
8998 val* var28 /* : null */;
8999 short int var29 /* : Bool */;
9000 short int var30 /* : Bool */;
9001 int cltype31;
9002 int idtype32;
9003 var_old_child = p0;
9004 var_new_child = p1;
9005 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ACallAssignExpr> */
9006 if (var == NULL) {
9007 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
9008 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7495);
9009 show_backtrace(1);
9010 }
9011 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
9012 if (var1){
9013 var2 = NULL;
9014 if (var_new_child == NULL) {
9015 var3 = 0; /* is null */
9016 } else {
9017 var3 = 1; /* arg is null and recv is not */
9018 }
9019 if (var3){
9020 ((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)>*/;
9021 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
9022 cltype = type_parser_nodes__AExpr.color;
9023 idtype = type_parser_nodes__AExpr.id;
9024 if(cltype >= var_new_child->type->table_size) {
9025 var4 = 0;
9026 } else {
9027 var4 = var_new_child->type->type_table[cltype] == idtype;
9028 }
9029 if (!var4) {
9030 fprintf(stderr, "Runtime error: %s", "Assert failed");
9031 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7498);
9032 show_backtrace(1);
9033 }
9034 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ACallAssignExpr> */
9035 } else {
9036 fprintf(stderr, "Runtime error: %s", "Aborted");
9037 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7501);
9038 show_backtrace(1);
9039 }
9040 goto RET_LABEL;
9041 } else {
9042 }
9043 var5 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:ACallAssignExpr> */
9044 if (var5 == NULL) {
9045 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
9046 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7505);
9047 show_backtrace(1);
9048 }
9049 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TId>*/;
9050 if (var6){
9051 var7 = NULL;
9052 if (var_new_child == NULL) {
9053 var8 = 0; /* is null */
9054 } else {
9055 var8 = 1; /* arg is null and recv is not */
9056 }
9057 if (var8){
9058 ((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)>*/;
9059 /* <var_new_child:nullable ANode(ANode)> isa TId */
9060 cltype10 = type_parser_nodes__TId.color;
9061 idtype11 = type_parser_nodes__TId.id;
9062 if(cltype10 >= var_new_child->type->table_size) {
9063 var9 = 0;
9064 } else {
9065 var9 = var_new_child->type->type_table[cltype10] == idtype11;
9066 }
9067 if (!var9) {
9068 fprintf(stderr, "Runtime error: %s", "Assert failed");
9069 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7508);
9070 show_backtrace(1);
9071 }
9072 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_new_child; /* _n_id on <self:ACallAssignExpr> */
9073 } else {
9074 fprintf(stderr, "Runtime error: %s", "Aborted");
9075 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7511);
9076 show_backtrace(1);
9077 }
9078 goto RET_LABEL;
9079 } else {
9080 }
9081 var12 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallAssignExpr> */
9082 if (var12 == NULL) {
9083 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
9084 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7515);
9085 show_backtrace(1);
9086 }
9087 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AExprs>*/;
9088 if (var13){
9089 var14 = NULL;
9090 if (var_new_child == NULL) {
9091 var15 = 0; /* is null */
9092 } else {
9093 var15 = 1; /* arg is null and recv is not */
9094 }
9095 if (var15){
9096 ((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)>*/;
9097 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
9098 cltype17 = type_parser_nodes__AExprs.color;
9099 idtype18 = type_parser_nodes__AExprs.id;
9100 if(cltype17 >= var_new_child->type->table_size) {
9101 var16 = 0;
9102 } else {
9103 var16 = var_new_child->type->type_table[cltype17] == idtype18;
9104 }
9105 if (!var16) {
9106 fprintf(stderr, "Runtime error: %s", "Assert failed");
9107 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7518);
9108 show_backtrace(1);
9109 }
9110 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_new_child; /* _n_args on <self:ACallAssignExpr> */
9111 } else {
9112 fprintf(stderr, "Runtime error: %s", "Aborted");
9113 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7521);
9114 show_backtrace(1);
9115 }
9116 goto RET_LABEL;
9117 } else {
9118 }
9119 var19 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:ACallAssignExpr> */
9120 if (var19 == NULL) {
9121 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign");
9122 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7525);
9123 show_backtrace(1);
9124 }
9125 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:TAssign>*/;
9126 if (var20){
9127 var21 = NULL;
9128 if (var_new_child == NULL) {
9129 var22 = 0; /* is null */
9130 } else {
9131 var22 = 1; /* arg is null and recv is not */
9132 }
9133 if (var22){
9134 ((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)>*/;
9135 /* <var_new_child:nullable ANode(ANode)> isa TAssign */
9136 cltype24 = type_parser_nodes__TAssign.color;
9137 idtype25 = type_parser_nodes__TAssign.id;
9138 if(cltype24 >= var_new_child->type->table_size) {
9139 var23 = 0;
9140 } else {
9141 var23 = var_new_child->type->type_table[cltype24] == idtype25;
9142 }
9143 if (!var23) {
9144 fprintf(stderr, "Runtime error: %s", "Assert failed");
9145 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7528);
9146 show_backtrace(1);
9147 }
9148 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_new_child; /* _n_assign on <self:ACallAssignExpr> */
9149 } else {
9150 fprintf(stderr, "Runtime error: %s", "Aborted");
9151 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7531);
9152 show_backtrace(1);
9153 }
9154 goto RET_LABEL;
9155 } else {
9156 }
9157 var26 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:ACallAssignExpr> */
9158 if (var26 == NULL) {
9159 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
9160 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7535);
9161 show_backtrace(1);
9162 }
9163 var27 = ((short int (*)(val*, val*))(var26->class->vft[COLOR_kernel__Object___61d_61d]))(var26, var_old_child) /* == on <var26:AExpr>*/;
9164 if (var27){
9165 var28 = NULL;
9166 if (var_new_child == NULL) {
9167 var29 = 0; /* is null */
9168 } else {
9169 var29 = 1; /* arg is null and recv is not */
9170 }
9171 if (var29){
9172 ((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)>*/;
9173 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
9174 cltype31 = type_parser_nodes__AExpr.color;
9175 idtype32 = type_parser_nodes__AExpr.id;
9176 if(cltype31 >= var_new_child->type->table_size) {
9177 var30 = 0;
9178 } else {
9179 var30 = var_new_child->type->type_table[cltype31] == idtype32;
9180 }
9181 if (!var30) {
9182 fprintf(stderr, "Runtime error: %s", "Assert failed");
9183 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7538);
9184 show_backtrace(1);
9185 }
9186 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_new_child; /* _n_value on <self:ACallAssignExpr> */
9187 } else {
9188 fprintf(stderr, "Runtime error: %s", "Aborted");
9189 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7541);
9190 show_backtrace(1);
9191 }
9192 goto RET_LABEL;
9193 } else {
9194 }
9195 RET_LABEL:;
9196 }
9197 /* method parser_prod#ACallAssignExpr#replace_child for (self: Object, ANode, nullable ANode) */
9198 void VIRTUAL_parser_prod__ACallAssignExpr__replace_child(val* self, val* p0, val* p1) {
9199 parser_prod__ACallAssignExpr__replace_child(self, p0, p1);
9200 RET_LABEL:;
9201 }
9202 /* method parser_prod#ACallAssignExpr#n_expr= for (self: ACallAssignExpr, AExpr) */
9203 void parser_prod__ACallAssignExpr__n_expr_61d(val* self, val* p0) {
9204 val* var_node /* var node: AExpr */;
9205 var_node = p0;
9206 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ACallAssignExpr> */
9207 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
9208 RET_LABEL:;
9209 }
9210 /* method parser_prod#ACallAssignExpr#n_expr= for (self: Object, AExpr) */
9211 void VIRTUAL_parser_prod__ACallAssignExpr__n_expr_61d(val* self, val* p0) {
9212 parser_prod__ACallAssignExpr__n_expr_61d(self, p0);
9213 RET_LABEL:;
9214 }
9215 /* method parser_prod#ACallAssignExpr#n_id= for (self: ACallAssignExpr, TId) */
9216 void parser_prod__ACallAssignExpr__n_id_61d(val* self, val* p0) {
9217 val* var_node /* var node: TId */;
9218 var_node = p0;
9219 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_node; /* _n_id on <self:ACallAssignExpr> */
9220 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TId>*/;
9221 RET_LABEL:;
9222 }
9223 /* method parser_prod#ACallAssignExpr#n_id= for (self: Object, TId) */
9224 void VIRTUAL_parser_prod__ACallAssignExpr__n_id_61d(val* self, val* p0) {
9225 parser_prod__ACallAssignExpr__n_id_61d(self, p0);
9226 RET_LABEL:;
9227 }
9228 /* method parser_prod#ACallAssignExpr#n_args= for (self: ACallAssignExpr, AExprs) */
9229 void parser_prod__ACallAssignExpr__n_args_61d(val* self, val* p0) {
9230 val* var_node /* var node: AExprs */;
9231 var_node = p0;
9232 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_node; /* _n_args on <self:ACallAssignExpr> */
9233 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
9234 RET_LABEL:;
9235 }
9236 /* method parser_prod#ACallAssignExpr#n_args= for (self: Object, AExprs) */
9237 void VIRTUAL_parser_prod__ACallAssignExpr__n_args_61d(val* self, val* p0) {
9238 parser_prod__ACallAssignExpr__n_args_61d(self, p0);
9239 RET_LABEL:;
9240 }
9241 /* method parser_prod#ACallAssignExpr#n_assign= for (self: ACallAssignExpr, TAssign) */
9242 void parser_prod__ACallAssignExpr__n_assign_61d(val* self, val* p0) {
9243 val* var_node /* var node: TAssign */;
9244 var_node = p0;
9245 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val = var_node; /* _n_assign on <self:ACallAssignExpr> */
9246 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TAssign>*/;
9247 RET_LABEL:;
9248 }
9249 /* method parser_prod#ACallAssignExpr#n_assign= for (self: Object, TAssign) */
9250 void VIRTUAL_parser_prod__ACallAssignExpr__n_assign_61d(val* self, val* p0) {
9251 parser_prod__ACallAssignExpr__n_assign_61d(self, p0);
9252 RET_LABEL:;
9253 }
9254 /* method parser_prod#ACallAssignExpr#n_value= for (self: ACallAssignExpr, AExpr) */
9255 void parser_prod__ACallAssignExpr__n_value_61d(val* self, val* p0) {
9256 val* var_node /* var node: AExpr */;
9257 var_node = p0;
9258 self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val = var_node; /* _n_value on <self:ACallAssignExpr> */
9259 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
9260 RET_LABEL:;
9261 }
9262 /* method parser_prod#ACallAssignExpr#n_value= for (self: Object, AExpr) */
9263 void VIRTUAL_parser_prod__ACallAssignExpr__n_value_61d(val* self, val* p0) {
9264 parser_prod__ACallAssignExpr__n_value_61d(self, p0);
9265 RET_LABEL:;
9266 }
9267 /* method parser_prod#ACallAssignExpr#visit_all for (self: ACallAssignExpr, Visitor) */
9268 void parser_prod__ACallAssignExpr__visit_all(val* self, val* p0) {
9269 val* var_v /* var v: Visitor */;
9270 val* var /* : AExpr */;
9271 val* var1 /* : TId */;
9272 val* var2 /* : AExprs */;
9273 val* var3 /* : TAssign */;
9274 val* var4 /* : AExpr */;
9275 var_v = p0;
9276 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ACallAssignExpr> */
9277 if (var == NULL) {
9278 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
9279 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7576);
9280 show_backtrace(1);
9281 }
9282 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
9283 var1 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:ACallAssignExpr> */
9284 if (var1 == NULL) {
9285 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
9286 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7577);
9287 show_backtrace(1);
9288 }
9289 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
9290 var2 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallAssignExpr> */
9291 if (var2 == NULL) {
9292 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
9293 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7578);
9294 show_backtrace(1);
9295 }
9296 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
9297 var3 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_assign].val; /* _n_assign on <self:ACallAssignExpr> */
9298 if (var3 == NULL) {
9299 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign");
9300 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7579);
9301 show_backtrace(1);
9302 }
9303 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
9304 var4 = self->attrs[COLOR_parser_nodes__AAssignFormExpr___n_value].val; /* _n_value on <self:ACallAssignExpr> */
9305 if (var4 == NULL) {
9306 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
9307 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7580);
9308 show_backtrace(1);
9309 }
9310 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
9311 RET_LABEL:;
9312 }
9313 /* method parser_prod#ACallAssignExpr#visit_all for (self: Object, Visitor) */
9314 void VIRTUAL_parser_prod__ACallAssignExpr__visit_all(val* self, val* p0) {
9315 parser_prod__ACallAssignExpr__visit_all(self, p0);
9316 RET_LABEL:;
9317 }
9318 /* method parser_prod#ACallReassignExpr#empty_init for (self: ACallReassignExpr) */
9319 void parser_prod__ACallReassignExpr__empty_init(val* self) {
9320 RET_LABEL:;
9321 }
9322 /* method parser_prod#ACallReassignExpr#empty_init for (self: Object) */
9323 void VIRTUAL_parser_prod__ACallReassignExpr__empty_init(val* self) {
9324 parser_prod__ACallReassignExpr__empty_init(self);
9325 RET_LABEL:;
9326 }
9327 /* method parser_prod#ACallReassignExpr#init_acallreassignexpr for (self: ACallReassignExpr, nullable AExpr, nullable TId, nullable AExprs, nullable AAssignOp, nullable AExpr) */
9328 void parser_prod__ACallReassignExpr__init_acallreassignexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
9329 val* var_n_expr /* var n_expr: nullable AExpr */;
9330 val* var_n_id /* var n_id: nullable TId */;
9331 val* var_n_args /* var n_args: nullable AExprs */;
9332 val* var_n_assign_op /* var n_assign_op: nullable AAssignOp */;
9333 val* var_n_value /* var n_value: nullable AExpr */;
9334 var_n_expr = p0;
9335 var_n_id = p1;
9336 var_n_args = p2;
9337 var_n_assign_op = p3;
9338 var_n_value = p4;
9339 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ACallReassignExpr__empty_init]))(self) /* empty_init on <self:ACallReassignExpr>*/;
9340 if (var_n_expr == NULL) {
9341 fprintf(stderr, "Runtime error: %s", "Cast failed");
9342 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7595);
9343 show_backtrace(1);
9344 }
9345 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_n_expr; /* _n_expr on <self:ACallReassignExpr> */
9346 if (var_n_expr == NULL) {
9347 fprintf(stderr, "Runtime error: %s", "Receiver is null");
9348 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7596);
9349 show_backtrace(1);
9350 } else {
9351 ((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>*/;
9352 }
9353 if (var_n_id == NULL) {
9354 fprintf(stderr, "Runtime error: %s", "Cast failed");
9355 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7597);
9356 show_backtrace(1);
9357 }
9358 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_n_id; /* _n_id on <self:ACallReassignExpr> */
9359 if (var_n_id == NULL) {
9360 fprintf(stderr, "Runtime error: %s", "Receiver is null");
9361 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7598);
9362 show_backtrace(1);
9363 } else {
9364 ((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>*/;
9365 }
9366 if (var_n_args == NULL) {
9367 fprintf(stderr, "Runtime error: %s", "Cast failed");
9368 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7599);
9369 show_backtrace(1);
9370 }
9371 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_n_args; /* _n_args on <self:ACallReassignExpr> */
9372 if (var_n_args == NULL) {
9373 fprintf(stderr, "Runtime error: %s", "Receiver is null");
9374 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7600);
9375 show_backtrace(1);
9376 } else {
9377 ((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>*/;
9378 }
9379 if (var_n_assign_op == NULL) {
9380 fprintf(stderr, "Runtime error: %s", "Cast failed");
9381 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7601);
9382 show_backtrace(1);
9383 }
9384 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_n_assign_op; /* _n_assign_op on <self:ACallReassignExpr> */
9385 if (var_n_assign_op == NULL) {
9386 fprintf(stderr, "Runtime error: %s", "Receiver is null");
9387 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7602);
9388 show_backtrace(1);
9389 } else {
9390 ((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>*/;
9391 }
9392 if (var_n_value == NULL) {
9393 fprintf(stderr, "Runtime error: %s", "Cast failed");
9394 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7603);
9395 show_backtrace(1);
9396 }
9397 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_n_value; /* _n_value on <self:ACallReassignExpr> */
9398 if (var_n_value == NULL) {
9399 fprintf(stderr, "Runtime error: %s", "Receiver is null");
9400 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7604);
9401 show_backtrace(1);
9402 } else {
9403 ((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>*/;
9404 }
9405 RET_LABEL:;
9406 }
9407 /* method parser_prod#ACallReassignExpr#init_acallreassignexpr for (self: Object, nullable AExpr, nullable TId, nullable AExprs, nullable AAssignOp, nullable AExpr) */
9408 void VIRTUAL_parser_prod__ACallReassignExpr__init_acallreassignexpr(val* self, val* p0, val* p1, val* p2, val* p3, val* p4) {
9409 parser_prod__ACallReassignExpr__init_acallreassignexpr(self, p0, p1, p2, p3, p4);
9410 RET_LABEL:;
9411 }
9412 /* method parser_prod#ACallReassignExpr#replace_child for (self: ACallReassignExpr, ANode, nullable ANode) */
9413 void parser_prod__ACallReassignExpr__replace_child(val* self, val* p0, val* p1) {
9414 val* var_old_child /* var old_child: ANode */;
9415 val* var_new_child /* var new_child: nullable ANode */;
9416 val* var /* : AExpr */;
9417 short int var1 /* : Bool */;
9418 val* var2 /* : null */;
9419 short int var3 /* : Bool */;
9420 short int var4 /* : Bool */;
9421 int cltype;
9422 int idtype;
9423 val* var5 /* : TId */;
9424 short int var6 /* : Bool */;
9425 val* var7 /* : null */;
9426 short int var8 /* : Bool */;
9427 short int var9 /* : Bool */;
9428 int cltype10;
9429 int idtype11;
9430 val* var12 /* : AExprs */;
9431 short int var13 /* : Bool */;
9432 val* var14 /* : null */;
9433 short int var15 /* : Bool */;
9434 short int var16 /* : Bool */;
9435 int cltype17;
9436 int idtype18;
9437 val* var19 /* : AAssignOp */;
9438 short int var20 /* : Bool */;
9439 val* var21 /* : null */;
9440 short int var22 /* : Bool */;
9441 short int var23 /* : Bool */;
9442 int cltype24;
9443 int idtype25;
9444 val* var26 /* : AExpr */;
9445 short int var27 /* : Bool */;
9446 val* var28 /* : null */;
9447 short int var29 /* : Bool */;
9448 short int var30 /* : Bool */;
9449 int cltype31;
9450 int idtype32;
9451 var_old_child = p0;
9452 var_new_child = p1;
9453 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ACallReassignExpr> */
9454 if (var == NULL) {
9455 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
9456 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7609);
9457 show_backtrace(1);
9458 }
9459 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:AExpr>*/;
9460 if (var1){
9461 var2 = NULL;
9462 if (var_new_child == NULL) {
9463 var3 = 0; /* is null */
9464 } else {
9465 var3 = 1; /* arg is null and recv is not */
9466 }
9467 if (var3){
9468 ((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)>*/;
9469 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
9470 cltype = type_parser_nodes__AExpr.color;
9471 idtype = type_parser_nodes__AExpr.id;
9472 if(cltype >= var_new_child->type->table_size) {
9473 var4 = 0;
9474 } else {
9475 var4 = var_new_child->type->type_table[cltype] == idtype;
9476 }
9477 if (!var4) {
9478 fprintf(stderr, "Runtime error: %s", "Assert failed");
9479 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7612);
9480 show_backtrace(1);
9481 }
9482 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_new_child; /* _n_expr on <self:ACallReassignExpr> */
9483 } else {
9484 fprintf(stderr, "Runtime error: %s", "Aborted");
9485 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7615);
9486 show_backtrace(1);
9487 }
9488 goto RET_LABEL;
9489 } else {
9490 }
9491 var5 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:ACallReassignExpr> */
9492 if (var5 == NULL) {
9493 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
9494 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7619);
9495 show_backtrace(1);
9496 }
9497 var6 = ((short int (*)(val*, val*))(var5->class->vft[COLOR_kernel__Object___61d_61d]))(var5, var_old_child) /* == on <var5:TId>*/;
9498 if (var6){
9499 var7 = NULL;
9500 if (var_new_child == NULL) {
9501 var8 = 0; /* is null */
9502 } else {
9503 var8 = 1; /* arg is null and recv is not */
9504 }
9505 if (var8){
9506 ((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)>*/;
9507 /* <var_new_child:nullable ANode(ANode)> isa TId */
9508 cltype10 = type_parser_nodes__TId.color;
9509 idtype11 = type_parser_nodes__TId.id;
9510 if(cltype10 >= var_new_child->type->table_size) {
9511 var9 = 0;
9512 } else {
9513 var9 = var_new_child->type->type_table[cltype10] == idtype11;
9514 }
9515 if (!var9) {
9516 fprintf(stderr, "Runtime error: %s", "Assert failed");
9517 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7622);
9518 show_backtrace(1);
9519 }
9520 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_new_child; /* _n_id on <self:ACallReassignExpr> */
9521 } else {
9522 fprintf(stderr, "Runtime error: %s", "Aborted");
9523 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7625);
9524 show_backtrace(1);
9525 }
9526 goto RET_LABEL;
9527 } else {
9528 }
9529 var12 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallReassignExpr> */
9530 if (var12 == NULL) {
9531 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
9532 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7629);
9533 show_backtrace(1);
9534 }
9535 var13 = ((short int (*)(val*, val*))(var12->class->vft[COLOR_kernel__Object___61d_61d]))(var12, var_old_child) /* == on <var12:AExprs>*/;
9536 if (var13){
9537 var14 = NULL;
9538 if (var_new_child == NULL) {
9539 var15 = 0; /* is null */
9540 } else {
9541 var15 = 1; /* arg is null and recv is not */
9542 }
9543 if (var15){
9544 ((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)>*/;
9545 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
9546 cltype17 = type_parser_nodes__AExprs.color;
9547 idtype18 = type_parser_nodes__AExprs.id;
9548 if(cltype17 >= var_new_child->type->table_size) {
9549 var16 = 0;
9550 } else {
9551 var16 = var_new_child->type->type_table[cltype17] == idtype18;
9552 }
9553 if (!var16) {
9554 fprintf(stderr, "Runtime error: %s", "Assert failed");
9555 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7632);
9556 show_backtrace(1);
9557 }
9558 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_new_child; /* _n_args on <self:ACallReassignExpr> */
9559 } else {
9560 fprintf(stderr, "Runtime error: %s", "Aborted");
9561 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7635);
9562 show_backtrace(1);
9563 }
9564 goto RET_LABEL;
9565 } else {
9566 }
9567 var19 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:ACallReassignExpr> */
9568 if (var19 == NULL) {
9569 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign_op");
9570 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7639);
9571 show_backtrace(1);
9572 }
9573 var20 = ((short int (*)(val*, val*))(var19->class->vft[COLOR_kernel__Object___61d_61d]))(var19, var_old_child) /* == on <var19:AAssignOp>*/;
9574 if (var20){
9575 var21 = NULL;
9576 if (var_new_child == NULL) {
9577 var22 = 0; /* is null */
9578 } else {
9579 var22 = 1; /* arg is null and recv is not */
9580 }
9581 if (var22){
9582 ((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)>*/;
9583 /* <var_new_child:nullable ANode(ANode)> isa AAssignOp */
9584 cltype24 = type_parser_nodes__AAssignOp.color;
9585 idtype25 = type_parser_nodes__AAssignOp.id;
9586 if(cltype24 >= var_new_child->type->table_size) {
9587 var23 = 0;
9588 } else {
9589 var23 = var_new_child->type->type_table[cltype24] == idtype25;
9590 }
9591 if (!var23) {
9592 fprintf(stderr, "Runtime error: %s", "Assert failed");
9593 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7642);
9594 show_backtrace(1);
9595 }
9596 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_new_child; /* _n_assign_op on <self:ACallReassignExpr> */
9597 } else {
9598 fprintf(stderr, "Runtime error: %s", "Aborted");
9599 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7645);
9600 show_backtrace(1);
9601 }
9602 goto RET_LABEL;
9603 } else {
9604 }
9605 var26 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:ACallReassignExpr> */
9606 if (var26 == NULL) {
9607 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
9608 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7649);
9609 show_backtrace(1);
9610 }
9611 var27 = ((short int (*)(val*, val*))(var26->class->vft[COLOR_kernel__Object___61d_61d]))(var26, var_old_child) /* == on <var26:AExpr>*/;
9612 if (var27){
9613 var28 = NULL;
9614 if (var_new_child == NULL) {
9615 var29 = 0; /* is null */
9616 } else {
9617 var29 = 1; /* arg is null and recv is not */
9618 }
9619 if (var29){
9620 ((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)>*/;
9621 /* <var_new_child:nullable ANode(ANode)> isa AExpr */
9622 cltype31 = type_parser_nodes__AExpr.color;
9623 idtype32 = type_parser_nodes__AExpr.id;
9624 if(cltype31 >= var_new_child->type->table_size) {
9625 var30 = 0;
9626 } else {
9627 var30 = var_new_child->type->type_table[cltype31] == idtype32;
9628 }
9629 if (!var30) {
9630 fprintf(stderr, "Runtime error: %s", "Assert failed");
9631 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7652);
9632 show_backtrace(1);
9633 }
9634 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_new_child; /* _n_value on <self:ACallReassignExpr> */
9635 } else {
9636 fprintf(stderr, "Runtime error: %s", "Aborted");
9637 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7655);
9638 show_backtrace(1);
9639 }
9640 goto RET_LABEL;
9641 } else {
9642 }
9643 RET_LABEL:;
9644 }
9645 /* method parser_prod#ACallReassignExpr#replace_child for (self: Object, ANode, nullable ANode) */
9646 void VIRTUAL_parser_prod__ACallReassignExpr__replace_child(val* self, val* p0, val* p1) {
9647 parser_prod__ACallReassignExpr__replace_child(self, p0, p1);
9648 RET_LABEL:;
9649 }
9650 /* method parser_prod#ACallReassignExpr#n_expr= for (self: ACallReassignExpr, AExpr) */
9651 void parser_prod__ACallReassignExpr__n_expr_61d(val* self, val* p0) {
9652 val* var_node /* var node: AExpr */;
9653 var_node = p0;
9654 self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val = var_node; /* _n_expr on <self:ACallReassignExpr> */
9655 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
9656 RET_LABEL:;
9657 }
9658 /* method parser_prod#ACallReassignExpr#n_expr= for (self: Object, AExpr) */
9659 void VIRTUAL_parser_prod__ACallReassignExpr__n_expr_61d(val* self, val* p0) {
9660 parser_prod__ACallReassignExpr__n_expr_61d(self, p0);
9661 RET_LABEL:;
9662 }
9663 /* method parser_prod#ACallReassignExpr#n_id= for (self: ACallReassignExpr, TId) */
9664 void parser_prod__ACallReassignExpr__n_id_61d(val* self, val* p0) {
9665 val* var_node /* var node: TId */;
9666 var_node = p0;
9667 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val = var_node; /* _n_id on <self:ACallReassignExpr> */
9668 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:TId>*/;
9669 RET_LABEL:;
9670 }
9671 /* method parser_prod#ACallReassignExpr#n_id= for (self: Object, TId) */
9672 void VIRTUAL_parser_prod__ACallReassignExpr__n_id_61d(val* self, val* p0) {
9673 parser_prod__ACallReassignExpr__n_id_61d(self, p0);
9674 RET_LABEL:;
9675 }
9676 /* method parser_prod#ACallReassignExpr#n_args= for (self: ACallReassignExpr, AExprs) */
9677 void parser_prod__ACallReassignExpr__n_args_61d(val* self, val* p0) {
9678 val* var_node /* var node: AExprs */;
9679 var_node = p0;
9680 self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val = var_node; /* _n_args on <self:ACallReassignExpr> */
9681 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExprs>*/;
9682 RET_LABEL:;
9683 }
9684 /* method parser_prod#ACallReassignExpr#n_args= for (self: Object, AExprs) */
9685 void VIRTUAL_parser_prod__ACallReassignExpr__n_args_61d(val* self, val* p0) {
9686 parser_prod__ACallReassignExpr__n_args_61d(self, p0);
9687 RET_LABEL:;
9688 }
9689 /* method parser_prod#ACallReassignExpr#n_assign_op= for (self: ACallReassignExpr, AAssignOp) */
9690 void parser_prod__ACallReassignExpr__n_assign_op_61d(val* self, val* p0) {
9691 val* var_node /* var node: AAssignOp */;
9692 var_node = p0;
9693 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val = var_node; /* _n_assign_op on <self:ACallReassignExpr> */
9694 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AAssignOp>*/;
9695 RET_LABEL:;
9696 }
9697 /* method parser_prod#ACallReassignExpr#n_assign_op= for (self: Object, AAssignOp) */
9698 void VIRTUAL_parser_prod__ACallReassignExpr__n_assign_op_61d(val* self, val* p0) {
9699 parser_prod__ACallReassignExpr__n_assign_op_61d(self, p0);
9700 RET_LABEL:;
9701 }
9702 /* method parser_prod#ACallReassignExpr#n_value= for (self: ACallReassignExpr, AExpr) */
9703 void parser_prod__ACallReassignExpr__n_value_61d(val* self, val* p0) {
9704 val* var_node /* var node: AExpr */;
9705 var_node = p0;
9706 self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val = var_node; /* _n_value on <self:ACallReassignExpr> */
9707 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:AExpr>*/;
9708 RET_LABEL:;
9709 }
9710 /* method parser_prod#ACallReassignExpr#n_value= for (self: Object, AExpr) */
9711 void VIRTUAL_parser_prod__ACallReassignExpr__n_value_61d(val* self, val* p0) {
9712 parser_prod__ACallReassignExpr__n_value_61d(self, p0);
9713 RET_LABEL:;
9714 }
9715 /* method parser_prod#ACallReassignExpr#visit_all for (self: ACallReassignExpr, Visitor) */
9716 void parser_prod__ACallReassignExpr__visit_all(val* self, val* p0) {
9717 val* var_v /* var v: Visitor */;
9718 val* var /* : AExpr */;
9719 val* var1 /* : TId */;
9720 val* var2 /* : AExprs */;
9721 val* var3 /* : AAssignOp */;
9722 val* var4 /* : AExpr */;
9723 var_v = p0;
9724 var = self->attrs[COLOR_parser_nodes__ASendExpr___n_expr].val; /* _n_expr on <self:ACallReassignExpr> */
9725 if (var == NULL) {
9726 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_expr");
9727 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7690);
9728 show_backtrace(1);
9729 }
9730 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var) /* enter_visit on <var_v:Visitor>*/;
9731 var1 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_id].val; /* _n_id on <self:ACallReassignExpr> */
9732 if (var1 == NULL) {
9733 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_id");
9734 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7691);
9735 show_backtrace(1);
9736 }
9737 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var1) /* enter_visit on <var_v:Visitor>*/;
9738 var2 = self->attrs[COLOR_parser_nodes__ACallFormExpr___n_args].val; /* _n_args on <self:ACallReassignExpr> */
9739 if (var2 == NULL) {
9740 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
9741 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7692);
9742 show_backtrace(1);
9743 }
9744 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var2) /* enter_visit on <var_v:Visitor>*/;
9745 var3 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_assign_op].val; /* _n_assign_op on <self:ACallReassignExpr> */
9746 if (var3 == NULL) {
9747 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_assign_op");
9748 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7693);
9749 show_backtrace(1);
9750 }
9751 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var3) /* enter_visit on <var_v:Visitor>*/;
9752 var4 = self->attrs[COLOR_parser_nodes__AReassignFormExpr___n_value].val; /* _n_value on <self:ACallReassignExpr> */
9753 if (var4 == NULL) {
9754 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_value");
9755 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7694);
9756 show_backtrace(1);
9757 }
9758 ((void (*)(val*, val*))(var_v->class->vft[COLOR_parser_nodes__Visitor__enter_visit]))(var_v, var4) /* enter_visit on <var_v:Visitor>*/;
9759 RET_LABEL:;
9760 }
9761 /* method parser_prod#ACallReassignExpr#visit_all for (self: Object, Visitor) */
9762 void VIRTUAL_parser_prod__ACallReassignExpr__visit_all(val* self, val* p0) {
9763 parser_prod__ACallReassignExpr__visit_all(self, p0);
9764 RET_LABEL:;
9765 }
9766 /* method parser_prod#ASuperExpr#empty_init for (self: ASuperExpr) */
9767 void parser_prod__ASuperExpr__empty_init(val* self) {
9768 RET_LABEL:;
9769 }
9770 /* method parser_prod#ASuperExpr#empty_init for (self: Object) */
9771 void VIRTUAL_parser_prod__ASuperExpr__empty_init(val* self) {
9772 parser_prod__ASuperExpr__empty_init(self);
9773 RET_LABEL:;
9774 }
9775 /* method parser_prod#ASuperExpr#init_asuperexpr for (self: ASuperExpr, nullable AQualified, nullable TKwsuper, nullable AExprs) */
9776 void parser_prod__ASuperExpr__init_asuperexpr(val* self, val* p0, val* p1, val* p2) {
9777 val* var_n_qualified /* var n_qualified: nullable AQualified */;
9778 val* var_n_kwsuper /* var n_kwsuper: nullable TKwsuper */;
9779 val* var_n_args /* var n_args: nullable AExprs */;
9780 val* var /* : null */;
9781 short int var1 /* : Bool */;
9782 var_n_qualified = p0;
9783 var_n_kwsuper = p1;
9784 var_n_args = p2;
9785 ((void (*)(val*))(self->class->vft[COLOR_parser_prod__ASuperExpr__empty_init]))(self) /* empty_init on <self:ASuperExpr>*/;
9786 self->attrs[COLOR_parser_nodes__ASuperExpr___n_qualified].val = var_n_qualified; /* _n_qualified on <self:ASuperExpr> */
9787 var = NULL;
9788 if (var_n_qualified == NULL) {
9789 var1 = 0; /* is null */
9790 } else {
9791 var1 = 1; /* arg is null and recv is not */
9792 }
9793 if (var1){
9794 ((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)>*/;
9795 } else {
9796 }
9797 if (var_n_kwsuper == NULL) {
9798 fprintf(stderr, "Runtime error: %s", "Cast failed");
9799 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7711);
9800 show_backtrace(1);
9801 }
9802 self->attrs[COLOR_parser_nodes__ASuperExpr___n_kwsuper].val = var_n_kwsuper; /* _n_kwsuper on <self:ASuperExpr> */
9803 if (var_n_kwsuper == NULL) {
9804 fprintf(stderr, "Runtime error: %s", "Receiver is null");
9805 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7712);
9806 show_backtrace(1);
9807 } else {
9808 ((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>*/;
9809 }
9810 if (var_n_args == NULL) {
9811 fprintf(stderr, "Runtime error: %s", "Cast failed");
9812 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7713);
9813 show_backtrace(1);
9814 }
9815 self->attrs[COLOR_parser_nodes__ASuperExpr___n_args].val = var_n_args; /* _n_args on <self:ASuperExpr> */
9816 if (var_n_args == NULL) {
9817 fprintf(stderr, "Runtime error: %s", "Receiver is null");
9818 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7714);
9819 show_backtrace(1);
9820 } else {
9821 ((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>*/;
9822 }
9823 RET_LABEL:;
9824 }
9825 /* method parser_prod#ASuperExpr#init_asuperexpr for (self: Object, nullable AQualified, nullable TKwsuper, nullable AExprs) */
9826 void VIRTUAL_parser_prod__ASuperExpr__init_asuperexpr(val* self, val* p0, val* p1, val* p2) {
9827 parser_prod__ASuperExpr__init_asuperexpr(self, p0, p1, p2);
9828 RET_LABEL:;
9829 }
9830 /* method parser_prod#ASuperExpr#replace_child for (self: ASuperExpr, ANode, nullable ANode) */
9831 void parser_prod__ASuperExpr__replace_child(val* self, val* p0, val* p1) {
9832 val* var_old_child /* var old_child: ANode */;
9833 val* var_new_child /* var new_child: nullable ANode */;
9834 val* var /* : nullable AQualified */;
9835 short int var1 /* : Bool */;
9836 val* var2 /* : null */;
9837 short int var3 /* : Bool */;
9838 short int var4 /* : Bool */;
9839 int cltype;
9840 int idtype;
9841 val* var5 /* : null */;
9842 val* var6 /* : TKwsuper */;
9843 short int var7 /* : Bool */;
9844 val* var8 /* : null */;
9845 short int var9 /* : Bool */;
9846 short int var10 /* : Bool */;
9847 int cltype11;
9848 int idtype12;
9849 val* var13 /* : AExprs */;
9850 short int var14 /* : Bool */;
9851 val* var15 /* : null */;
9852 short int var16 /* : Bool */;
9853 short int var17 /* : Bool */;
9854 int cltype18;
9855 int idtype19;
9856 var_old_child = p0;
9857 var_new_child = p1;
9858 var = self->attrs[COLOR_parser_nodes__ASuperExpr___n_qualified].val; /* _n_qualified on <self:ASuperExpr> */
9859 if (var == NULL) {
9860 var1 = 0; /* <var_old_child:ANode> cannot be null */
9861 } else {
9862 var1 = ((short int (*)(val*, val*))(var->class->vft[COLOR_kernel__Object___61d_61d]))(var, var_old_child) /* == on <var:nullable AQualified>*/;
9863 }
9864 if (var1){
9865 var2 = NULL;
9866 if (var_new_child == NULL) {
9867 var3 = 0; /* is null */
9868 } else {
9869 var3 = 1; /* arg is null and recv is not */
9870 }
9871 if (var3){
9872 ((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)>*/;
9873 /* <var_new_child:nullable ANode(ANode)> isa AQualified */
9874 cltype = type_parser_nodes__AQualified.color;
9875 idtype = type_parser_nodes__AQualified.id;
9876 if(cltype >= var_new_child->type->table_size) {
9877 var4 = 0;
9878 } else {
9879 var4 = var_new_child->type->type_table[cltype] == idtype;
9880 }
9881 if (!var4) {
9882 fprintf(stderr, "Runtime error: %s", "Assert failed");
9883 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7722);
9884 show_backtrace(1);
9885 }
9886 self->attrs[COLOR_parser_nodes__ASuperExpr___n_qualified].val = var_new_child; /* _n_qualified on <self:ASuperExpr> */
9887 } else {
9888 var5 = NULL;
9889 self->attrs[COLOR_parser_nodes__ASuperExpr___n_qualified].val = var5; /* _n_qualified on <self:ASuperExpr> */
9890 }
9891 goto RET_LABEL;
9892 } else {
9893 }
9894 var6 = self->attrs[COLOR_parser_nodes__ASuperExpr___n_kwsuper].val; /* _n_kwsuper on <self:ASuperExpr> */
9895 if (var6 == NULL) {
9896 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_kwsuper");
9897 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7729);
9898 show_backtrace(1);
9899 }
9900 var7 = ((short int (*)(val*, val*))(var6->class->vft[COLOR_kernel__Object___61d_61d]))(var6, var_old_child) /* == on <var6:TKwsuper>*/;
9901 if (var7){
9902 var8 = NULL;
9903 if (var_new_child == NULL) {
9904 var9 = 0; /* is null */
9905 } else {
9906 var9 = 1; /* arg is null and recv is not */
9907 }
9908 if (var9){
9909 ((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)>*/;
9910 /* <var_new_child:nullable ANode(ANode)> isa TKwsuper */
9911 cltype11 = type_parser_nodes__TKwsuper.color;
9912 idtype12 = type_parser_nodes__TKwsuper.id;
9913 if(cltype11 >= var_new_child->type->table_size) {
9914 var10 = 0;
9915 } else {
9916 var10 = var_new_child->type->type_table[cltype11] == idtype12;
9917 }
9918 if (!var10) {
9919 fprintf(stderr, "Runtime error: %s", "Assert failed");
9920 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7732);
9921 show_backtrace(1);
9922 }
9923 self->attrs[COLOR_parser_nodes__ASuperExpr___n_kwsuper].val = var_new_child; /* _n_kwsuper on <self:ASuperExpr> */
9924 } else {
9925 fprintf(stderr, "Runtime error: %s", "Aborted");
9926 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7735);
9927 show_backtrace(1);
9928 }
9929 goto RET_LABEL;
9930 } else {
9931 }
9932 var13 = self->attrs[COLOR_parser_nodes__ASuperExpr___n_args].val; /* _n_args on <self:ASuperExpr> */
9933 if (var13 == NULL) {
9934 fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _n_args");
9935 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7739);
9936 show_backtrace(1);
9937 }
9938 var14 = ((short int (*)(val*, val*))(var13->class->vft[COLOR_kernel__Object___61d_61d]))(var13, var_old_child) /* == on <var13:AExprs>*/;
9939 if (var14){
9940 var15 = NULL;
9941 if (var_new_child == NULL) {
9942 var16 = 0; /* is null */
9943 } else {
9944 var16 = 1; /* arg is null and recv is not */
9945 }
9946 if (var16){
9947 ((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)>*/;
9948 /* <var_new_child:nullable ANode(ANode)> isa AExprs */
9949 cltype18 = type_parser_nodes__AExprs.color;
9950 idtype19 = type_parser_nodes__AExprs.id;
9951 if(cltype18 >= var_new_child->type->table_size) {
9952 var17 = 0;
9953 } else {
9954 var17 = var_new_child->type->type_table[cltype18] == idtype19;
9955 }
9956 if (!var17) {
9957 fprintf(stderr, "Runtime error: %s", "Assert failed");
9958 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7742);
9959 show_backtrace(1);
9960 }
9961 self->attrs[COLOR_parser_nodes__ASuperExpr___n_args].val = var_new_child; /* _n_args on <self:ASuperExpr> */
9962 } else {
9963 fprintf(stderr, "Runtime error: %s", "Aborted");
9964 fprintf(stderr, " (%s:%d)\n", "src/parser/parser_prod.nit", 7745);
9965 show_backtrace(1);
9966 }
9967 goto RET_LABEL;
9968 } else {
9969 }
9970 RET_LABEL:;
9971 }
9972 /* method parser_prod#ASuperExpr#replace_child for (self: Object, ANode, nullable ANode) */
9973 void VIRTUAL_parser_prod__ASuperExpr__replace_child(val* self, val* p0, val* p1) {
9974 parser_prod__ASuperExpr__replace_child(self, p0, p1);
9975 RET_LABEL:;
9976 }
9977 /* method parser_prod#ASuperExpr#n_qualified= for (self: ASuperExpr, nullable AQualified) */
9978 void parser_prod__ASuperExpr__n_qualified_61d(val* self, val* p0) {
9979 val* var_node /* var node: nullable AQualified */;
9980 val* var /* : null */;
9981 short int var1 /* : Bool */;
9982 var_node = p0;
9983 self->attrs[COLOR_parser_nodes__ASuperExpr___n_qualified].val = var_node; /* _n_qualified on <self:ASuperExpr> */
9984 var = NULL;
9985 if (var_node == NULL) {
9986 var1 = 0; /* is null */
9987 } else {
9988 var1 = 1; /* arg is null and recv is not */
9989 }
9990 if (var1){
9991 ((void (*)(val*, val*))(var_node->class->vft[COLOR_parser_nodes__ANode__parent_61d]))(var_node, self) /* parent= on <var_node:nullable AQualified(AQualified)>*/;
9992 } else {
9993 }
9994 RET_LABEL:;
9995 }
9996 /* method parser_prod#ASuperExpr#n_qualified= for (self: Object, nullable AQualified) */
9997 void VIRTUAL_parser_prod__ASuperExpr__n_qualified_61d(val* self, val* p0) {
9998 parser_prod__ASuperExpr__n_qualified_61d(self, p0);
9999 RET_LABEL:;
10000 }